@schukai/monster 1.24.0 → 1.25.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 (190) hide show
  1. package/CHANGELOG +14 -0
  2. package/README.md +4 -4
  3. package/dist/modules/constants.js +2 -2
  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 +1 -1
  14. package/dist/modules/data/datasource/namespace.js +1 -1
  15. package/dist/modules/data/datasource/restapi/writeerror.js +1 -1
  16. package/dist/modules/data/datasource/restapi.js +1 -1
  17. package/dist/modules/data/datasource/storage/localstorage.js +1 -1
  18. package/dist/modules/data/datasource/storage/namespace.js +1 -1
  19. package/dist/modules/data/datasource/storage/sessionstorage.js +1 -1
  20. package/dist/modules/data/datasource/storage.js +1 -1
  21. package/dist/modules/data/datasource.js +1 -1
  22. package/dist/modules/data/diff.js +1 -1
  23. package/dist/modules/data/extend.js +1 -1
  24. package/dist/modules/data/namespace.js +1 -1
  25. package/dist/modules/data/pathfinder.js +1 -1
  26. package/dist/modules/data/pipe.js +1 -1
  27. package/dist/modules/data/transformer.js +2 -2
  28. package/dist/modules/dom/assembler.js +1 -1
  29. package/dist/modules/dom/attributes.js +1 -1
  30. package/dist/modules/dom/constants.js +2 -2
  31. package/dist/modules/dom/customcontrol.js +1 -1
  32. package/dist/modules/dom/customelement.js +1 -1
  33. package/dist/modules/dom/events.js +1 -1
  34. package/dist/modules/dom/focusmanager.js +2 -0
  35. package/dist/modules/dom/locale.js +1 -1
  36. package/dist/modules/dom/namespace.js +1 -1
  37. package/dist/modules/dom/resource/data.js +2 -0
  38. package/dist/modules/dom/resource/link/stylesheet.js +2 -0
  39. package/dist/modules/dom/resource/link.js +2 -0
  40. package/dist/modules/dom/resource/script.js +2 -0
  41. package/dist/modules/dom/resource.js +2 -0
  42. package/dist/modules/dom/resourcemanager.js +2 -0
  43. package/dist/modules/dom/template.js +1 -1
  44. package/dist/modules/dom/theme.js +1 -1
  45. package/dist/modules/dom/updater.js +1 -1
  46. package/dist/modules/dom/util.js +1 -1
  47. package/dist/modules/dom/worker/factory.js +2 -0
  48. package/dist/modules/i18n/locale.js +1 -1
  49. package/dist/modules/i18n/namespace.js +1 -1
  50. package/dist/modules/i18n/provider.js +1 -1
  51. package/dist/modules/i18n/providers/fetch.js +1 -1
  52. package/dist/modules/i18n/providers/namespace.js +1 -1
  53. package/dist/modules/i18n/translations.js +1 -1
  54. package/dist/modules/logging/handler/console.js +1 -1
  55. package/dist/modules/logging/handler/namespace.js +1 -1
  56. package/dist/modules/logging/handler.js +1 -1
  57. package/dist/modules/logging/logentry.js +1 -1
  58. package/dist/modules/logging/logger.js +1 -1
  59. package/dist/modules/logging/namespace.js +1 -1
  60. package/dist/modules/math/namespace.js +1 -1
  61. package/dist/modules/math/random.js +2 -2
  62. package/dist/modules/monster.js +1 -1
  63. package/dist/modules/namespace.js +1 -1
  64. package/dist/modules/text/formatter.js +1 -1
  65. package/dist/modules/text/namespace.js +1 -1
  66. package/dist/modules/types/base.js +1 -1
  67. package/dist/modules/types/basewithoptions.js +1 -1
  68. package/dist/modules/types/binary.js +1 -1
  69. package/dist/modules/types/dataurl.js +1 -1
  70. package/dist/modules/types/global.js +1 -1
  71. package/dist/modules/types/id.js +1 -1
  72. package/dist/modules/types/is.js +1 -1
  73. package/dist/modules/types/mediatype.js +1 -1
  74. package/dist/modules/types/namespace.js +1 -1
  75. package/dist/modules/types/observer.js +1 -1
  76. package/dist/modules/types/observerlist.js +1 -1
  77. package/dist/modules/types/proxyobserver.js +1 -1
  78. package/dist/modules/types/queue.js +1 -1
  79. package/dist/modules/types/randomid.js +1 -1
  80. package/dist/modules/types/stack.js +1 -1
  81. package/dist/modules/types/tokenlist.js +1 -1
  82. package/dist/modules/types/typeof.js +1 -1
  83. package/dist/modules/types/uniquequeue.js +1 -1
  84. package/dist/modules/types/uuid.js +2 -0
  85. package/dist/modules/types/validate.js +1 -1
  86. package/dist/modules/types/version.js +2 -2
  87. package/dist/modules/util/clone.js +1 -1
  88. package/dist/modules/util/comparator.js +1 -1
  89. package/dist/modules/util/freeze.js +1 -1
  90. package/dist/modules/util/namespace.js +1 -1
  91. package/dist/modules/util/processing.js +1 -1
  92. package/dist/modules/util/trimspaces.js +1 -1
  93. package/dist/monster.dev.js +549 -249
  94. package/dist/monster.dev.js.map +1 -1
  95. package/dist/monster.js +2 -2
  96. package/package.json +1 -1
  97. package/source/constants.js +11 -2
  98. package/source/constraints/andoperator.js +5 -5
  99. package/source/constraints/invalid.js +3 -3
  100. package/source/constraints/isarray.js +3 -3
  101. package/source/constraints/isobject.js +3 -3
  102. package/source/constraints/oroperator.js +5 -5
  103. package/source/constraints/valid.js +3 -3
  104. package/source/data/buildmap.js +4 -4
  105. package/source/data/datasource/restapi.js +3 -3
  106. package/source/data/datasource/storage/localstorage.js +2 -2
  107. package/source/data/datasource/storage/sessionstorage.js +2 -2
  108. package/source/data/datasource/storage.js +3 -3
  109. package/source/data/datasource.js +3 -3
  110. package/source/data/diff.js +3 -3
  111. package/source/data/extend.js +2 -2
  112. package/source/data/pathfinder.js +4 -4
  113. package/source/data/pipe.js +3 -3
  114. package/source/data/transformer.js +7 -5
  115. package/source/dom/assembler.js +2 -2
  116. package/source/dom/attributes.js +24 -24
  117. package/source/dom/constants.js +278 -9
  118. package/source/dom/customcontrol.js +1 -1
  119. package/source/dom/customelement.js +1 -1
  120. package/source/dom/events.js +4 -4
  121. package/source/dom/focusmanager.js +251 -0
  122. package/source/dom/locale.js +4 -3
  123. package/source/dom/resource/data.js +170 -0
  124. package/source/dom/resource/link/stylesheet.js +54 -0
  125. package/source/dom/resource/link.js +125 -0
  126. package/source/dom/resource/script.js +112 -0
  127. package/source/dom/resource.js +268 -0
  128. package/source/dom/resourcemanager.js +214 -0
  129. package/source/dom/template.js +40 -10
  130. package/source/dom/theme.js +3 -3
  131. package/source/dom/updater.js +7 -7
  132. package/source/dom/util.js +6 -6
  133. package/source/dom/worker/factory.js +134 -0
  134. package/source/i18n/locale.js +4 -4
  135. package/source/i18n/provider.js +2 -2
  136. package/source/i18n/providers/fetch.js +2 -2
  137. package/source/i18n/translations.js +3 -3
  138. package/source/logging/handler/console.js +2 -2
  139. package/source/logging/handler.js +2 -2
  140. package/source/logging/logentry.js +2 -2
  141. package/source/logging/logger.js +2 -2
  142. package/source/math/random.js +9 -5
  143. package/source/namespace.js +1 -1
  144. package/source/text/formatter.js +3 -3
  145. package/source/types/base.js +4 -4
  146. package/source/types/basewithoptions.js +2 -2
  147. package/source/types/binary.js +4 -4
  148. package/source/types/dataurl.js +4 -4
  149. package/source/types/global.js +4 -4
  150. package/source/types/id.js +2 -2
  151. package/source/types/is.js +23 -23
  152. package/source/types/mediatype.js +4 -4
  153. package/source/types/observer.js +3 -3
  154. package/source/types/observerlist.js +2 -2
  155. package/source/types/proxyobserver.js +5 -5
  156. package/source/types/queue.js +3 -3
  157. package/source/types/randomid.js +2 -2
  158. package/source/types/stack.js +2 -2
  159. package/source/types/tokenlist.js +2 -2
  160. package/source/types/typeof.js +3 -3
  161. package/source/types/uniquequeue.js +2 -2
  162. package/source/types/uuid.js +102 -0
  163. package/source/types/validate.js +20 -20
  164. package/source/types/version.js +6 -6
  165. package/source/util/clone.js +2 -2
  166. package/source/util/comparator.js +4 -4
  167. package/source/util/freeze.js +5 -5
  168. package/source/util/processing.js +3 -3
  169. package/source/util/trimspaces.js +3 -3
  170. package/test/cases/data/datasource/restapi.js +1 -1
  171. package/test/cases/data/transformer.js +2 -0
  172. package/test/cases/dom/customelement.js +0 -3
  173. package/test/cases/dom/focusmanager.js +111 -0
  174. package/test/cases/dom/locale.js +1 -4
  175. package/test/cases/dom/resource/data.js +129 -0
  176. package/test/cases/dom/resource/link/stylesheet.js +101 -0
  177. package/test/cases/dom/resource/link.js +101 -0
  178. package/test/cases/dom/resource/script.js +115 -0
  179. package/test/cases/dom/resourcemanager.js +118 -0
  180. package/test/cases/dom/worker/factory.js +63 -0
  181. package/test/cases/monster.js +1 -1
  182. package/test/cases/types/uuid.js +42 -0
  183. package/test/cases/util/freeze.js +30 -4
  184. package/test/util/cleanupdom.js +48 -0
  185. package/test/util/jsdom.js +23 -9
  186. package/test/web/import.js +8 -0
  187. package/test/web/monster-dev.html +3 -3
  188. package/test/web/monster.html +2 -2
  189. package/test/web/test.html +3 -3
  190. package/test/web/tests.js +7 -7
@@ -15,7 +15,7 @@ import {ATTRIBUTE_THEME_NAME, DEFAULT_THEME} from "./constants.js";
15
15
  *
16
16
  * ```
17
17
  * <script type="module">
18
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.24.0/dist/modules/dom/theme.js';
18
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/dom/theme.js';
19
19
  * console.log(new Monster.DOM.Theme())
20
20
  * </script>
21
21
  * ```
@@ -24,14 +24,14 @@ import {ATTRIBUTE_THEME_NAME, DEFAULT_THEME} from "./constants.js";
24
24
  *
25
25
  * ```
26
26
  * <script type="module">
27
- * import {Theme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.24.0/dist/modules/dom/theme.js';
27
+ * import {Theme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/dom/theme.js';
28
28
  * console.log(new Theme())
29
29
  * </script>
30
30
  * ```
31
31
  *
32
32
  * @example
33
33
  *
34
- * import {getDocumentTheme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.24.0/dist/modules/dom/theme.js';
34
+ * import {getDocumentTheme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/dom/theme.js';
35
35
  *
36
36
  * const theme = getDocumentTheme();
37
37
  * console.log(theme.getName());
@@ -38,7 +38,7 @@ import {getDocument} from "./util.js";
38
38
  *
39
39
  * ```
40
40
  * <script type="module">
41
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.24.0/dist/modules/dom/updater.js';
41
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/dom/updater.js';
42
42
  * new Monster.DOM.Updater()
43
43
  * </script>
44
44
  * ```
@@ -47,14 +47,14 @@ import {getDocument} from "./util.js";
47
47
  *
48
48
  * ```
49
49
  * <script type="module">
50
- * import {Updater} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.24.0/dist/modules/dom/updater.js';
50
+ * import {Updater} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/dom/updater.js';
51
51
  * new Updater()
52
52
  * </script>
53
53
  * ```
54
54
  *
55
55
  * @example
56
56
  *
57
- * import {Updater} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.24.0/dist/modules/dom/updater.js';
57
+ * import {Updater} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/dom/updater.js';
58
58
  *
59
59
  * // First we prepare the html document.
60
60
  * // This is done here via script, but can also be inserted into the document as pure html.
@@ -68,7 +68,7 @@ import {getDocument} from "./util.js";
68
68
  * let obj = {
69
69
  * headline: "Hello World",
70
70
  * };
71
- *
71
+ *
72
72
  * // Now comes the real magic. we pass the updater the parent HTMLElement
73
73
  * // and the desired data structure.
74
74
  * const updater = new Updater(body, obj);
@@ -212,13 +212,13 @@ class Updater extends Base {
212
212
  }
213
213
 
214
214
  /**
215
- * If you have passed a ProxyObserver in the constructor, you will get the same object here.
216
- * However, if you have passed a simple object, you will get the ProxyObserver here.
215
+ * If you have passed a ProxyObserver in the constructor, you will get the object that the ProxyObserver manages here.
216
+ * However, if you passed a simple object, here you will get a proxy for that object.
217
217
  *
218
218
  * For changes the ProxyObserver must be used.
219
219
  *
220
220
  * @since 1.8.0
221
- * @return {ProxyObserver}
221
+ * @return {Proxy}
222
222
  */
223
223
  getSubject() {
224
224
  return this.subject.getSubject();
@@ -13,7 +13,7 @@ import {validateString} from "../types/validate.js";
13
13
  *
14
14
  * ```
15
15
  * <script type="module">
16
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.24.0/dist/modules/dom/util.js';
16
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/dom/util.js';
17
17
  * console.log(Monster.DOM.getDocument())
18
18
  * </script>
19
19
  * ```
@@ -22,7 +22,7 @@ import {validateString} from "../types/validate.js";
22
22
  *
23
23
  * ```
24
24
  * <script type="module">
25
- * import {getDocument} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.24.0/dist/modules/dom/util.js';
25
+ * import {getDocument} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/dom/util.js';
26
26
  * console.log(getDocument())
27
27
  * </script>
28
28
  * ```
@@ -74,7 +74,7 @@ function getDocument() {
74
74
  *
75
75
  * ```
76
76
  * <script type="module">
77
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.24.0/dist/modules/dom/util.js';
77
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/dom/util.js';
78
78
  * console.log(Monster.DOM.getWindow())
79
79
  * </script>
80
80
  * ```
@@ -83,7 +83,7 @@ function getDocument() {
83
83
  *
84
84
  * ```
85
85
  * <script type="module">
86
- * import {getWindow} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.24.0/dist/modules/dom/util.js';
86
+ * import {getWindow} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/dom/util.js';
87
87
  * console.log(getWindow(null))
88
88
  * </script>
89
89
  * ```
@@ -140,7 +140,7 @@ function getWindow() {
140
140
  *
141
141
  * ```
142
142
  * <script type="module">
143
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.24.0/dist/modules/dom/util.js';
143
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/dom/util.js';
144
144
  * console.log(Monster.DOM.getDocumentFragmentFromString())
145
145
  * </script>
146
146
  * ```
@@ -149,7 +149,7 @@ function getWindow() {
149
149
  *
150
150
  * ```
151
151
  * <script type="module">
152
- * import {getDocumentFragmentFromString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.24.0/dist/modules/dom/util.js';
152
+ * import {getDocumentFragmentFromString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/dom/util.js';
153
153
  * console.log(getDocumentFragmentFromString('<div></div>'))
154
154
  * </script>
155
155
  * ```
@@ -0,0 +1,134 @@
1
+ 'use strict';
2
+
3
+
4
+ /**
5
+ * @author schukai GmbH
6
+ */
7
+
8
+
9
+ import {internalSymbol} from "../../constants.js";
10
+ import {assignToNamespace, Monster} from "../../namespace.js";
11
+ import {Base} from "../../types/base.js";
12
+ import {getGlobal, getGlobalFunction} from "../../types/global.js";
13
+ import {isFunction} from "../../types/is.js";
14
+ import {validateInstance, validateString} from "../../types/validate.js";
15
+
16
+
17
+
18
+ /**
19
+ * You can call the function via the monster namespace `new Monster.DOM.Worker.getLocaleOfDocument()`.
20
+ *
21
+ * ```
22
+ * <script type="module">
23
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/dom/worker/factory.js';
24
+ * console.log(new Monster.DOM.Worker.Factory())
25
+ * </script>
26
+ * ```
27
+ *
28
+ * Alternatively, you can also integrate this function individually.
29
+ *
30
+ * ```
31
+ * <script type="module">
32
+ * import {Factory} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/dom/worker/factory.js';
33
+ * console.log(new Factory())
34
+ * </script>
35
+ * ```
36
+ *
37
+ * @since 1.25.0
38
+ * @copyright schukai GmbH
39
+ * @memberOf Monster.DOM.Worker
40
+ * @summary A small factory to create worker
41
+ */
42
+ class Factory extends Base {
43
+
44
+
45
+ /**
46
+ *
47
+ */
48
+ constructor() {
49
+ super();
50
+ this[internalSymbol] = {
51
+ worker: new WeakMap
52
+ }
53
+ }
54
+
55
+ /**
56
+ * Creates a worker from a URL
57
+ *
58
+ * @param {string|URL} url
59
+ * @param {function} messageHandler
60
+ * @param {function} errorHandler
61
+ * @return {Worker}
62
+ */
63
+ createFromURL = function (url, messageHandler, errorHandler) {
64
+
65
+ if (url instanceof URL) {
66
+ url = url.toString();
67
+ }
68
+
69
+ const workerClass = getGlobalFunction('Worker');
70
+ var worker = new workerClass(validateString(url));
71
+
72
+ if (isFunction(messageHandler)) {
73
+ worker.onmessage = (event) => {
74
+ messageHandler.call(worker, event);
75
+ }
76
+ }
77
+
78
+ if (isFunction(errorHandler)) {
79
+ worker.onerror = (event) => {
80
+ errorHandler.call(worker, event);
81
+ }
82
+ }
83
+
84
+ return worker;
85
+ };
86
+
87
+ /**
88
+ * Creates a worker from a script
89
+ *
90
+ * @param {string} content
91
+ * @param {function} messageHandler
92
+ * @param {function} errorHandler
93
+ * @return {Worker}
94
+ * @see https://developer.mozilla.org/de/docs/Web/API/URL/createObjectURL
95
+ */
96
+ createFromScript = function (content, messageHandler, errorHandler) {
97
+ const blobFunction = new getGlobalFunction('Blob')
98
+ const blob = new blobFunction([validateString(content)], {type: 'script/javascript'});
99
+
100
+ const url = getGlobalFunction('URL').createObjectURL(blob);
101
+ const worker = this.createFromURL(url, messageHandler, errorHandler);
102
+
103
+ this[internalSymbol]['worker'].set(worker, url);
104
+
105
+ return worker;
106
+
107
+ };
108
+
109
+ /**
110
+ * Terminate the worker and call revokeObjectURL if necessary.
111
+ *
112
+ * @param worker
113
+ * @return {Monster.DOM.Worker.Factory}
114
+ */
115
+ terminate(worker) {
116
+
117
+ const workerClass = getGlobalFunction('Worker');
118
+ validateInstance(worker, workerClass);
119
+
120
+ worker.terminate();
121
+
122
+ if (this[internalSymbol]['worker'].has(worker)) {
123
+ const url = this[internalSymbol]['worker'].get(worker);
124
+ URL.revokeObjectURL(url);
125
+ }
126
+
127
+ return this;
128
+ }
129
+
130
+
131
+ }
132
+
133
+ assignToNamespace('Monster.DOM.Worker', Factory);
134
+ export {Monster, Factory}
@@ -25,7 +25,7 @@ const localeStringSymbol = Symbol('localeString');
25
25
  *
26
26
  * ```
27
27
  * <script type="module">
28
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.24.0/dist/modules/i18n/locale.js';
28
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/i18n/locale.js';
29
29
  * new Monster.I18n.Locale()
30
30
  * </script>
31
31
  * ```
@@ -34,7 +34,7 @@ const localeStringSymbol = Symbol('localeString');
34
34
  *
35
35
  * ```
36
36
  * <script type="module">
37
- * import {Locale} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.24.0/dist/modules/i18n/locale.js';
37
+ * import {Locale} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/i18n/locale.js';
38
38
  * new Locale()
39
39
  * </script>
40
40
  * ```
@@ -201,7 +201,7 @@ class Locale extends Base {
201
201
  *
202
202
  * ```
203
203
  * <script type="module">
204
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.24.0/dist/modules/i18n/locale.js';
204
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/i18n/locale.js';
205
205
  * new Monster.I18n.createLocale()
206
206
  * </script>
207
207
  * ```
@@ -210,7 +210,7 @@ class Locale extends Base {
210
210
  *
211
211
  * ```
212
212
  * <script type="module">
213
- * import {createLocale} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.24.0/dist/modules/i18n/locale.js';
213
+ * import {createLocale} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/i18n/locale.js';
214
214
  * createLocale()
215
215
  * </script>
216
216
  * ```
@@ -15,7 +15,7 @@ import {Translations} from "./translations.js"
15
15
  *
16
16
  * ```
17
17
  * <script type="module">
18
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.24.0/dist/modules/i18n/provider.js';
18
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/i18n/provider.js';
19
19
  * new Monster.I18n.Provider()
20
20
  * </script>
21
21
  * ```
@@ -24,7 +24,7 @@ import {Translations} from "./translations.js"
24
24
  *
25
25
  * ```
26
26
  * <script type="module">
27
- * import {Provider} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.24.0/dist/modules/i18n/provider.js';
27
+ * import {Provider} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/i18n/provider.js';
28
28
  * new Provider()
29
29
  * </script>
30
30
  * ```
@@ -22,7 +22,7 @@ import {Translations} from "../translations.js";
22
22
  *
23
23
  * ```
24
24
  * <script type="module">
25
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.24.0/dist/modules/i18n/providers/fetch.js';
25
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/i18n/providers/fetch.js';
26
26
  * new Monster.I18n.Providers.Fetch()
27
27
  * </script>
28
28
  * ```
@@ -31,7 +31,7 @@ import {Translations} from "../translations.js";
31
31
  *
32
32
  * ```
33
33
  * <script type="module">
34
- * import {Fetch} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.24.0/dist/modules/i18n/providers/fetch.js';
34
+ * import {Fetch} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/i18n/providers/fetch.js';
35
35
  * new Fetch()
36
36
  * </script>
37
37
  * ```
@@ -17,7 +17,7 @@ import {Locale, parseLocale} from "./locale.js";
17
17
  *
18
18
  * ```
19
19
  * <script type="module">
20
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.24.0/dist/modules/i18n/translations.js';
20
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/i18n/translations.js';
21
21
  * new Monster.I18n.Translations()
22
22
  * </script>
23
23
  * ```
@@ -26,14 +26,14 @@ import {Locale, parseLocale} from "./locale.js";
26
26
  *
27
27
  * ```
28
28
  * <script type="module">
29
- * import {Translations} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.24.0/dist/modules/i18n/translations.js';
29
+ * import {Translations} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/i18n/translations.js';
30
30
  * new Translations()
31
31
  * </script>
32
32
  * ```
33
33
  *
34
34
  * @example
35
35
  *
36
- * import {Translations} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.24.0/dist/modules/i18n/translations.js';
36
+ * import {Translations} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/i18n/translations.js';
37
37
  * const translation = new Translations(parseLocale('en-GB'));
38
38
  *
39
39
  * translation.assignTranslations({
@@ -15,7 +15,7 @@ import {LogEntry} from "../logentry.js";
15
15
  *
16
16
  * ```
17
17
  * <script type="module">
18
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.24.0/dist/modules/logging/handler/console.js';
18
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/logging/handler/console.js';
19
19
  * console.log(new Monster.Logging.Handler.ConsoleHandler())
20
20
  * </script>
21
21
  * ```
@@ -24,7 +24,7 @@ import {LogEntry} from "../logentry.js";
24
24
  *
25
25
  * ```
26
26
  * <script type="module">
27
- * import {ConsoleHandler} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.24.0/dist/modules/logging/handler/console.js';
27
+ * import {ConsoleHandler} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/logging/handler/console.js';
28
28
  * console.log(new ConsoleHandler())
29
29
  * </script>
30
30
  * ```
@@ -15,7 +15,7 @@ import {ALL, DEBUG, ERROR, FATAL, INFO, OFF, TRACE, WARN} from "./logger.js";
15
15
  *
16
16
  * ```
17
17
  * <script type="module">
18
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.24.0/dist/modules/logging/handler.js';
18
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/logging/handler.js';
19
19
  * console.log(new Monster.Logging.Handler())
20
20
  * </script>
21
21
  * ```
@@ -24,7 +24,7 @@ import {ALL, DEBUG, ERROR, FATAL, INFO, OFF, TRACE, WARN} from "./logger.js";
24
24
  *
25
25
  * ```
26
26
  * <script type="module">
27
- * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.24.0/dist/modules/logging/handler.js';
27
+ * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/logging/handler.js';
28
28
  * console.log(new Handler())
29
29
  * </script>
30
30
  * ```
@@ -14,7 +14,7 @@ import {validateInteger} 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.24.0/dist/modules/logging/logentry.js';
17
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/logging/logentry.js';
18
18
  * console.log(new Monster.Logging.LogEntry())
19
19
  * </script>
20
20
  * ```
@@ -23,7 +23,7 @@ import {validateInteger} from '../types/validate.js';
23
23
  *
24
24
  * ```
25
25
  * <script type="module">
26
- * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.24.0/dist/modules/logging/logentry.js';
26
+ * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/logging/logentry.js';
27
27
  * console.log(new LogEntry())
28
28
  * </script>
29
29
  * ```
@@ -65,7 +65,7 @@ const OFF = 0;
65
65
  *
66
66
  * ```
67
67
  * <script type="module">
68
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.24.0/dist/modules/logging/logger.js';
68
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/logging/logger.js';
69
69
  * new Monster.Logging.Logger()
70
70
  * </script>
71
71
  * ```
@@ -74,7 +74,7 @@ const OFF = 0;
74
74
  *
75
75
  * ```
76
76
  * <script type="module">
77
- * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.24.0/dist/modules/logging/logger.js';
77
+ * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/logging/logger.js';
78
78
  * new Logger()
79
79
  * </script>
80
80
  * ```
@@ -15,8 +15,8 @@ import {getGlobal} from '../types/global.js';
15
15
  *
16
16
  * ```
17
17
  * <script type="module">
18
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.24.0/dist/modules/math/random.js';
19
- * Monster.Math.random(1,10)
18
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/math/random.js';
19
+ * Monster.Math.random(1,10)
20
20
  * // ↦ 5
21
21
  * </script>
22
22
  * ```
@@ -25,8 +25,8 @@ import {getGlobal} from '../types/global.js';
25
25
  *
26
26
  * ```
27
27
  * <script type="module">
28
- * import {random} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.24.0/dist/modules/math/random.js';
29
- * random(1,10)
28
+ * import {random} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/math/random.js';
29
+ * random(1,10)
30
30
  * // ↦ 5
31
31
  * </script>
32
32
  * ```
@@ -118,7 +118,11 @@ function create(min, max) {
118
118
  return create(min, max);
119
119
  }
120
120
 
121
- return min + rval;
121
+ if (rval < min) {
122
+ rval += min;
123
+ }
124
+
125
+ return rval;
122
126
 
123
127
  }
124
128
 
@@ -65,7 +65,7 @@ export const Monster = new Namespace("Monster");
65
65
  *
66
66
  * ```
67
67
  * <script type="module">
68
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.24.0/dist/modules/namespace.js';
68
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/namespace.js';
69
69
  * function hello() {
70
70
  * console.log('Hello World!');
71
71
  * }
@@ -18,7 +18,7 @@ import {validateObject, validateString} from "../types/validate.js";
18
18
  *
19
19
  * ```
20
20
  * <script type="module">
21
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.24.0/dist/modules/text/formatter.js';
21
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/text/formatter.js';
22
22
  * new Monster.Text.Formatter()
23
23
  * </script>
24
24
  * ```
@@ -27,7 +27,7 @@ import {validateObject, validateString} from "../types/validate.js";
27
27
  *
28
28
  * ```
29
29
  * <script type="module">
30
- * import {Formatter} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.24.0/dist/modules/text/formatter.js';
30
+ * import {Formatter} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/text/formatter.js';
31
31
  * new Formatter()
32
32
  * </script>
33
33
  * ```
@@ -49,7 +49,7 @@ import {validateObject, validateString} from "../types/validate.js";
49
49
  *
50
50
  * @example
51
51
  *
52
- * import {Formatter} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.24.0/dist/modules/text/formatter.js';
52
+ * import {Formatter} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/text/formatter.js';
53
53
  *
54
54
  * new Formatter({
55
55
  * a: {
@@ -13,8 +13,8 @@ import {assignToNamespace, Monster} from '../namespace.js';
13
13
  *
14
14
  * ```
15
15
  * <script type="module">
16
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.24.0/dist/modules/types/base.js';
17
- * console.log(new Monster.Types.Base())
16
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/types/base.js';
17
+ * new Monster.Types.Base()
18
18
  * </script>
19
19
  * ```
20
20
  *
@@ -22,8 +22,8 @@ import {assignToNamespace, Monster} from '../namespace.js';
22
22
  *
23
23
  * ```
24
24
  * <script type="module">
25
- * import {Base} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.24.0/dist/modules/types/base.js';
26
- * console.log(new Base())
25
+ * import {Base} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/types/base.js';
26
+ * new Base()
27
27
  * </script>
28
28
  * ```
29
29
  *
@@ -18,7 +18,7 @@ import {validateObject} from "./validate.js";
18
18
  *
19
19
  * ```
20
20
  * <script type="module">
21
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.24.0/dist/modules/types/basewithoptions.js';
21
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/types/basewithoptions.js';
22
22
  * new Monster.Types.BaseWithOptions()
23
23
  * </script>
24
24
  * ```
@@ -27,7 +27,7 @@ import {validateObject} from "./validate.js";
27
27
  *
28
28
  * ```
29
29
  * <script type="module">
30
- * import {BaseWithOptions} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.24.0/dist/modules/types/basewithoptions.js';
30
+ * import {BaseWithOptions} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/types/basewithoptions.js';
31
31
  * new BaseWithOptions()
32
32
  * </script>
33
33
  * ```
@@ -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.24.0/dist/modules/types/binary.js';
16
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/types/binary.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.24.0/dist/modules/types/binary.js';
25
+ * import {toBinary} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/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.24.0/dist/modules/types/binary.js';
57
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/types/binary.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.24.0/dist/modules/types/binary.js';
66
+ * import {fromBinary} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/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.24.0/dist/modules/types/dataurl.js';
23
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/types/dataurl.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.24.0/dist/modules/types/dataurl.js';
32
+ * import {DataUrl} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/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.24.0/dist/modules/types/dataurl.js';
101
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/types/dataurl.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.24.0/dist/modules/types/dataurl.js';
110
+ * import {parseDataURL} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.25.0/dist/modules/types/dataurl.js';
111
111
  * console.log(parseDataURL())
112
112
  * </script>
113
113
  * ```