@schukai/monster 1.31.0 → 2.0.2

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 (365) hide show
  1. package/CHANGELOG +11 -0
  2. package/README.md +55 -58
  3. package/example/constraints/andoperator.mjs +17 -0
  4. package/example/constraints/invalid.mjs +6 -0
  5. package/example/constraints/isarray.mjs +11 -0
  6. package/example/constraints/isobject.mjs +12 -0
  7. package/example/constraints/oroperator.mjs +15 -0
  8. package/example/constraints/valid.mjs +6 -0
  9. package/example/data/buildmap.mjs +67 -0
  10. package/example/data/datasource.mjs +7 -0
  11. package/example/data/diff.mjs +39 -0
  12. package/example/data/pathfinder-1.mjs +23 -0
  13. package/example/data/pathfinder-2.mjs +19 -0
  14. package/example/data/pipe.mjs +14 -0
  15. package/example/data/storage/restapi.mjs +11 -0
  16. package/example/data/transformer.mjs +9 -0
  17. package/example/dom/customelement.mjs +13 -0
  18. package/example/dom/theme.mjs +5 -0
  19. package/example/dom/updater.mjs +23 -0
  20. package/example/i18n/formatter.mjs +10 -0
  21. package/example/i18n/providers/fetch.mjs +5 -0
  22. package/example/i18n/translations.mjs +20 -0
  23. package/example/types/basewithoptions.mjs +10 -0
  24. package/example/types/is-1.mjs +5 -0
  25. package/example/types/is-10.mjs +6 -0
  26. package/example/types/is-2.mjs +4 -0
  27. package/example/types/is-3.mjs +4 -0
  28. package/example/types/is-4.mjs +5 -0
  29. package/example/types/is-5.mjs +4 -0
  30. package/example/types/is-6.mjs +4 -0
  31. package/example/types/is-7.mjs +4 -0
  32. package/example/types/is-8.mjs +4 -0
  33. package/example/types/is-9.mjs +6 -0
  34. package/example/types/noderecursiveiterator.mjs +32 -0
  35. package/example/types/observer.mjs +9 -0
  36. package/example/types/proxyobserver.mjs +25 -0
  37. package/example/types/queue.mjs +20 -0
  38. package/example/types/tokenlist-1.mjs +4 -0
  39. package/example/types/tokenlist-2.mjs +7 -0
  40. package/example/types/tokenlist-3.mjs +5 -0
  41. package/example/types/tokenlist-4.mjs +5 -0
  42. package/example/types/tokenlist-5.mjs +5 -0
  43. package/example/types/typeof.mjs +9 -0
  44. package/example/types/version-1.mjs +6 -0
  45. package/example/types/version-2.mjs +3 -0
  46. package/example/util/comparator.mjs +10 -0
  47. package/example/util/deadmansswitch.mjs +9 -0
  48. package/example/util/processing.mjs +17 -0
  49. package/package.json +6 -60
  50. package/source/{constants.js → constants.mjs} +7 -10
  51. package/source/constraints/{abstract.js → abstract.mjs} +8 -9
  52. package/source/constraints/{abstractoperator.js → abstractoperator.mjs} +11 -8
  53. package/source/constraints/andoperator.mjs +38 -0
  54. package/source/constraints/invalid.mjs +38 -0
  55. package/source/constraints/isarray.mjs +41 -0
  56. package/source/constraints/isobject.mjs +41 -0
  57. package/source/constraints/{namespace.js → namespace.mjs} +3 -8
  58. package/source/constraints/{oroperator.js → oroperator.mjs} +10 -42
  59. package/source/constraints/valid.mjs +38 -0
  60. package/source/data/{buildmap.js → buildmap.mjs} +18 -104
  61. package/source/data/{buildtree.js → buildtree.mjs} +11 -31
  62. package/source/data/datasource/{namespace.js → namespace.mjs} +1 -9
  63. package/source/data/datasource/restapi/namespace.mjs +8 -0
  64. package/source/data/datasource/restapi/{writeerror.js → writeerror.mjs} +8 -9
  65. package/source/data/datasource/{restapi.js → restapi.mjs} +15 -45
  66. package/source/data/datasource/storage/localstorage.mjs +45 -0
  67. package/source/data/datasource/storage/{namespace.js → namespace.mjs} +1 -9
  68. package/source/data/datasource/storage/sessionstorage.mjs +45 -0
  69. package/source/data/datasource/{storage.js → storage.mjs} +12 -35
  70. package/source/data/{datasource.js → datasource.mjs} +17 -45
  71. package/source/data/{diff.js → diff.mjs} +10 -69
  72. package/source/data/{extend.js → extend.mjs} +10 -28
  73. package/source/data/{namespace.js → namespace.mjs} +2 -8
  74. package/source/data/{pathfinder.js → pathfinder.mjs} +18 -77
  75. package/source/data/{pipe.js → pipe.mjs} +14 -46
  76. package/source/data/{transformer.js → transformer.mjs} +18 -43
  77. package/source/dom/{assembler.js → assembler.mjs} +12 -28
  78. package/source/dom/{attributes.js → attributes.mjs} +42 -253
  79. package/source/dom/{constants.js → constants.mjs} +110 -61
  80. package/source/dom/{customcontrol.js → customcontrol.mjs} +10 -17
  81. package/source/dom/{customelement.js → customelement.mjs} +28 -52
  82. package/source/dom/{events.js → events.mjs} +15 -64
  83. package/source/dom/{focusmanager.js → focusmanager.mjs} +13 -34
  84. package/source/dom/{locale.js → locale.mjs} +11 -26
  85. package/source/dom/{namespace.js → namespace.mjs} +1 -8
  86. package/source/dom/{ready.js → ready.mjs} +12 -30
  87. package/source/dom/resource/{data.js → data.mjs} +11 -31
  88. package/source/dom/resource/link/namespace.mjs +10 -0
  89. package/source/dom/resource/link/stylesheet.mjs +35 -0
  90. package/source/dom/resource/{link.js → link.mjs} +9 -29
  91. package/source/dom/resource/namespace.mjs +8 -0
  92. package/source/dom/resource/{script.js → script.mjs} +9 -29
  93. package/source/dom/{resource.js → resource.mjs} +19 -39
  94. package/source/dom/{resourcemanager.js → resourcemanager.mjs} +17 -35
  95. package/source/dom/{template.js → template.mjs} +18 -43
  96. package/source/dom/{theme.js → theme.mjs} +14 -36
  97. package/source/dom/{updater.js → updater.mjs} +34 -68
  98. package/source/dom/{util.js → util.mjs} +17 -66
  99. package/source/dom/worker/{factory.js → factory.mjs} +13 -34
  100. package/source/dom/worker/namespace.mjs +8 -0
  101. package/source/i18n/{formatter.js → formatter.mjs} +14 -45
  102. package/source/i18n/{locale.js → locale.mjs} +15 -30
  103. package/source/i18n/{namespace.js → namespace.mjs} +1 -9
  104. package/source/i18n/provider.mjs +40 -0
  105. package/source/i18n/providers/{fetch.js → fetch.mjs} +18 -43
  106. package/source/i18n/providers/namespace.mjs +8 -0
  107. package/source/i18n/{translations.js → translations.mjs} +12 -52
  108. package/source/logging/handler/console.mjs +50 -0
  109. package/source/logging/handler/namespace.mjs +6 -0
  110. package/source/logging/{handler.js → handler.mjs} +13 -30
  111. package/source/logging/logentry.mjs +51 -0
  112. package/source/logging/{logger.js → logger.mjs} +12 -28
  113. package/source/logging/{namespace.js → namespace.mjs} +1 -9
  114. package/source/math/{namespace.js → namespace.mjs} +1 -9
  115. package/source/math/{random.js → random.mjs} +8 -34
  116. package/source/monster.mjs +114 -0
  117. package/source/text/{formatter.js → formatter.mjs} +17 -33
  118. package/source/text/{namespace.js → namespace.mjs} +1 -9
  119. package/source/types/base.mjs +31 -0
  120. package/source/types/{basewithoptions.js → basewithoptions.mjs} +17 -46
  121. package/source/types/{binary.js → binary.mjs} +10 -42
  122. package/source/types/{dataurl.js → dataurl.mjs} +12 -46
  123. package/source/types/{global.js → global.mjs} +20 -12
  124. package/source/types/{id.js → id.mjs} +10 -27
  125. package/source/types/is.mjs +225 -0
  126. package/source/types/{mediatype.js → mediatype.mjs} +13 -29
  127. package/source/types/{namespace.js → namespace.mjs} +1 -8
  128. package/source/types/{node.js → node.mjs} +11 -28
  129. package/source/types/{nodelist.js → nodelist.mjs} +17 -32
  130. package/source/types/{noderecursiveiterator.js → noderecursiveiterator.mjs} +14 -65
  131. package/source/types/{observer.js → observer.mjs} +15 -42
  132. package/source/types/{observerlist.js → observerlist.mjs} +12 -29
  133. package/source/types/{proxyobserver.js → proxyobserver.mjs} +19 -62
  134. package/source/types/{queue.js → queue.mjs} +10 -47
  135. package/source/types/randomid.mjs +45 -0
  136. package/source/types/regex.mjs +27 -0
  137. package/source/types/{stack.js → stack.mjs} +8 -24
  138. package/source/types/{tokenlist.js → tokenlist.mjs} +20 -64
  139. package/source/types/typeof.mjs +37 -0
  140. package/source/types/{uniquequeue.js → uniquequeue.mjs} +11 -27
  141. package/source/types/{uuid.js → uuid.mjs} +15 -33
  142. package/source/types/{validate.js → validate.mjs} +38 -155
  143. package/source/types/{version.js → version.mjs} +19 -62
  144. package/source/util/{clone.js → clone.mjs} +10 -28
  145. package/source/util/{comparator.js → comparator.mjs} +13 -43
  146. package/source/util/{deadmansswitch.js → deadmansswitch.mjs} +15 -40
  147. package/source/util/freeze.mjs +39 -0
  148. package/source/util/{namespace.js → namespace.mjs} +1 -9
  149. package/source/util/{processing.js → processing.mjs} +13 -51
  150. package/source/util/{trimspaces.js → trimspaces.mjs} +14 -21
  151. package/test/cases/constraint/{andoperator.js → andoperator.mjs} +3 -3
  152. package/test/cases/constraint/{invalid.js → invalid.mjs} +1 -1
  153. package/test/cases/constraint/{isarray.js → isarray.mjs} +1 -1
  154. package/test/cases/constraint/{isobject.js → isobject.mjs} +1 -1
  155. package/test/cases/constraint/{oroperator.js → oroperator.mjs} +3 -3
  156. package/test/cases/constraint/{valid.js → valid.mjs} +1 -1
  157. package/test/cases/data/{buildmap.js → buildmap.mjs} +1 -1
  158. package/test/cases/data/{buildtree.js → buildtree.mjs} +2 -2
  159. package/test/cases/data/datasource/{restapi.js → restapi.mjs} +5 -5
  160. package/test/cases/data/datasource/storage/{localstorage.js → localstorage.mjs} +5 -5
  161. package/test/cases/data/datasource/storage/{sessionstorage.js → sessionstorage.mjs} +5 -5
  162. package/test/cases/data/{datasource.js → datasource.mjs} +1 -1
  163. package/test/cases/data/{diff.js → diff.mjs} +2 -2
  164. package/test/cases/data/{extend.js → extend.mjs} +1 -1
  165. package/test/cases/data/{pathfinder.js → pathfinder.mjs} +1 -1
  166. package/test/cases/data/{pipe.js → pipe.mjs} +19 -5
  167. package/test/cases/data/{transformer.js → transformer.mjs} +14 -10
  168. package/test/cases/dom/{assembler.js → assembler.mjs} +2 -2
  169. package/test/cases/dom/{attributes.js → attributes.mjs} +2 -2
  170. package/test/cases/dom/{customcontrol.js → customcontrol.mjs} +6 -6
  171. package/test/cases/dom/{customelement.js → customelement.mjs} +6 -6
  172. package/test/cases/dom/{events.js → events.mjs} +2 -2
  173. package/test/cases/dom/{focusmanager.js → focusmanager.mjs} +3 -3
  174. package/test/cases/dom/{locale.js → locale.mjs} +2 -2
  175. package/test/cases/dom/{ready.js → ready.mjs} +2 -2
  176. package/test/cases/dom/resource/{data.js → data.mjs} +9 -9
  177. package/test/cases/dom/resource/link/{stylesheet.js → stylesheet.mjs} +6 -6
  178. package/test/cases/dom/resource/{link.js → link.mjs} +6 -6
  179. package/test/cases/dom/resource/{script.js → script.mjs} +6 -6
  180. package/test/cases/dom/{resourcemanager.js → resourcemanager.mjs} +6 -6
  181. package/test/cases/dom/{template.js → template.mjs} +3 -3
  182. package/test/cases/dom/{theme.js → theme.mjs} +3 -3
  183. package/test/cases/dom/{updater.js → updater.mjs} +6 -6
  184. package/test/cases/dom/{util.js → util.mjs} +2 -2
  185. package/test/cases/dom/worker/{factory.js → factory.mjs} +4 -4
  186. package/test/cases/i18n/{formatter.js → formatter.mjs} +2 -2
  187. package/test/cases/i18n/{locale.js → locale.mjs} +1 -1
  188. package/test/cases/i18n/{provider.js → provider.mjs} +1 -1
  189. package/test/cases/i18n/providers/{fetch.js → fetch.mjs} +3 -3
  190. package/test/cases/i18n/{translations.js → translations.mjs} +2 -2
  191. package/test/cases/logging/handler/{console.js → console.mjs} +3 -3
  192. package/test/cases/logging/{handler.js → handler.mjs} +3 -3
  193. package/test/cases/logging/{logentry.js → logentry.mjs} +1 -1
  194. package/test/cases/logging/{logger.js → logger.mjs} +1 -1
  195. package/test/cases/math/random.mjs +101 -0
  196. package/test/cases/monster.mjs +20 -0
  197. package/test/cases/text/{formatter.js → formatter.mjs} +1 -1
  198. package/test/cases/types/{base.js → base.mjs} +1 -1
  199. package/test/cases/types/{basewithoptions.js → basewithoptions.mjs} +1 -1
  200. package/test/cases/types/{binary.js → binary.mjs} +1 -1
  201. package/test/cases/types/{dataurl.js → dataurl.mjs} +1 -1
  202. package/test/cases/types/{global.js → global.mjs} +1 -1
  203. package/test/cases/types/{id.js → id.mjs} +17 -6
  204. package/test/cases/types/{is.js → is.mjs} +20 -8
  205. package/test/cases/types/{mediatype.js → mediatype.mjs} +1 -1
  206. package/test/cases/types/{node.js → node.mjs} +3 -3
  207. package/test/cases/types/{nodelist.js → nodelist.mjs} +2 -2
  208. package/test/cases/types/{noderecursiveiterator.js → noderecursiveiterator.mjs} +3 -3
  209. package/test/cases/types/{observer.js → observer.mjs} +1 -1
  210. package/test/cases/types/{observerlist.js → observerlist.mjs} +2 -2
  211. package/test/cases/types/{proxyobserver.js → proxyobserver.mjs} +4 -4
  212. package/test/cases/types/{queue.js → queue.mjs} +1 -1
  213. package/test/cases/types/randomid.mjs +39 -0
  214. package/test/cases/types/regex.mjs +46 -0
  215. package/test/cases/types/{stack.js → stack.mjs} +1 -1
  216. package/test/cases/types/{tokenlist.js → tokenlist.mjs} +1 -1
  217. package/test/cases/types/{typeof.js → typeof.mjs} +3 -4
  218. package/test/cases/types/{uniquequeue.js → uniquequeue.mjs} +1 -1
  219. package/test/cases/types/{uuid.js → uuid.mjs} +30 -10
  220. package/test/cases/types/{validate.js → validate.mjs} +3 -4
  221. package/test/cases/types/{version.js → version.mjs} +1 -2
  222. package/test/cases/util/{clone.js → clone.mjs} +1 -1
  223. package/test/cases/util/{comparator.js → comparator.mjs} +1 -1
  224. package/test/cases/util/{deadmansswitch.js → deadmansswitch.mjs} +1 -1
  225. package/test/cases/util/{freeze.js → freeze.mjs} +1 -1
  226. package/test/cases/util/{processing.js → processing.mjs} +1 -1
  227. package/test/cases/util/{trimspaces.js → trimspaces.mjs} +1 -1
  228. package/test/util/{chai-dom.js → chai-dom.mjs} +0 -0
  229. package/test/util/{cleanupdom.js → cleanupdom.mjs} +0 -0
  230. package/test/util/{jsdom.js → jsdom.mjs} +2 -2
  231. package/test/util/{localstorage.js → localstorage.mjs} +0 -0
  232. package/test/web/import.js +77 -78
  233. package/test/web/prepare.js +0 -8
  234. package/test/web/test.html +5 -4
  235. package/test/web/tests.js +25731 -587
  236. package/dist/modules/constants.js +0 -2
  237. package/dist/modules/constraints/abstract.js +0 -2
  238. package/dist/modules/constraints/abstractoperator.js +0 -2
  239. package/dist/modules/constraints/andoperator.js +0 -2
  240. package/dist/modules/constraints/invalid.js +0 -2
  241. package/dist/modules/constraints/isarray.js +0 -2
  242. package/dist/modules/constraints/isobject.js +0 -2
  243. package/dist/modules/constraints/namespace.js +0 -2
  244. package/dist/modules/constraints/oroperator.js +0 -2
  245. package/dist/modules/constraints/valid.js +0 -2
  246. package/dist/modules/data/buildmap.js +0 -2
  247. package/dist/modules/data/buildtree.js +0 -2
  248. package/dist/modules/data/datasource/namespace.js +0 -2
  249. package/dist/modules/data/datasource/restapi/writeerror.js +0 -2
  250. package/dist/modules/data/datasource/restapi.js +0 -2
  251. package/dist/modules/data/datasource/storage/localstorage.js +0 -2
  252. package/dist/modules/data/datasource/storage/namespace.js +0 -2
  253. package/dist/modules/data/datasource/storage/sessionstorage.js +0 -2
  254. package/dist/modules/data/datasource/storage.js +0 -2
  255. package/dist/modules/data/datasource.js +0 -2
  256. package/dist/modules/data/diff.js +0 -2
  257. package/dist/modules/data/extend.js +0 -2
  258. package/dist/modules/data/namespace.js +0 -2
  259. package/dist/modules/data/pathfinder.js +0 -2
  260. package/dist/modules/data/pipe.js +0 -2
  261. package/dist/modules/data/transformer.js +0 -2
  262. package/dist/modules/dom/assembler.js +0 -2
  263. package/dist/modules/dom/attributes.js +0 -2
  264. package/dist/modules/dom/constants.js +0 -2
  265. package/dist/modules/dom/customcontrol.js +0 -2
  266. package/dist/modules/dom/customelement.js +0 -2
  267. package/dist/modules/dom/events.js +0 -2
  268. package/dist/modules/dom/focusmanager.js +0 -2
  269. package/dist/modules/dom/locale.js +0 -2
  270. package/dist/modules/dom/namespace.js +0 -2
  271. package/dist/modules/dom/ready.js +0 -2
  272. package/dist/modules/dom/resource/data.js +0 -2
  273. package/dist/modules/dom/resource/link/stylesheet.js +0 -2
  274. package/dist/modules/dom/resource/link.js +0 -2
  275. package/dist/modules/dom/resource/script.js +0 -2
  276. package/dist/modules/dom/resource.js +0 -2
  277. package/dist/modules/dom/resourcemanager.js +0 -2
  278. package/dist/modules/dom/template.js +0 -2
  279. package/dist/modules/dom/theme.js +0 -2
  280. package/dist/modules/dom/updater.js +0 -2
  281. package/dist/modules/dom/util.js +0 -2
  282. package/dist/modules/dom/worker/factory.js +0 -2
  283. package/dist/modules/i18n/formatter.js +0 -2
  284. package/dist/modules/i18n/locale.js +0 -2
  285. package/dist/modules/i18n/namespace.js +0 -2
  286. package/dist/modules/i18n/provider.js +0 -2
  287. package/dist/modules/i18n/providers/fetch.js +0 -2
  288. package/dist/modules/i18n/providers/namespace.js +0 -2
  289. package/dist/modules/i18n/translations.js +0 -2
  290. package/dist/modules/logging/handler/console.js +0 -2
  291. package/dist/modules/logging/handler/namespace.js +0 -2
  292. package/dist/modules/logging/handler.js +0 -2
  293. package/dist/modules/logging/logentry.js +0 -2
  294. package/dist/modules/logging/logger.js +0 -2
  295. package/dist/modules/logging/namespace.js +0 -2
  296. package/dist/modules/math/namespace.js +0 -2
  297. package/dist/modules/math/random.js +0 -2
  298. package/dist/modules/monster.js +0 -2
  299. package/dist/modules/namespace.js +0 -2
  300. package/dist/modules/text/formatter.js +0 -2
  301. package/dist/modules/text/namespace.js +0 -2
  302. package/dist/modules/types/base.js +0 -2
  303. package/dist/modules/types/basewithoptions.js +0 -2
  304. package/dist/modules/types/binary.js +0 -2
  305. package/dist/modules/types/dataurl.js +0 -2
  306. package/dist/modules/types/global.js +0 -2
  307. package/dist/modules/types/id.js +0 -2
  308. package/dist/modules/types/is.js +0 -2
  309. package/dist/modules/types/mediatype.js +0 -2
  310. package/dist/modules/types/namespace.js +0 -2
  311. package/dist/modules/types/node.js +0 -2
  312. package/dist/modules/types/nodelist.js +0 -2
  313. package/dist/modules/types/noderecursiveiterator.js +0 -2
  314. package/dist/modules/types/observer.js +0 -2
  315. package/dist/modules/types/observerlist.js +0 -2
  316. package/dist/modules/types/proxyobserver.js +0 -2
  317. package/dist/modules/types/queue.js +0 -2
  318. package/dist/modules/types/randomid.js +0 -2
  319. package/dist/modules/types/regex.js +0 -2
  320. package/dist/modules/types/stack.js +0 -2
  321. package/dist/modules/types/tokenlist.js +0 -2
  322. package/dist/modules/types/typeof.js +0 -2
  323. package/dist/modules/types/uniquequeue.js +0 -2
  324. package/dist/modules/types/uuid.js +0 -2
  325. package/dist/modules/types/validate.js +0 -2
  326. package/dist/modules/types/version.js +0 -2
  327. package/dist/modules/util/clone.js +0 -2
  328. package/dist/modules/util/comparator.js +0 -2
  329. package/dist/modules/util/deadmansswitch.js +0 -2
  330. package/dist/modules/util/freeze.js +0 -2
  331. package/dist/modules/util/namespace.js +0 -2
  332. package/dist/modules/util/processing.js +0 -2
  333. package/dist/modules/util/trimspaces.js +0 -2
  334. package/dist/monster.dev.js +0 -15490
  335. package/dist/monster.dev.js.map +0 -1
  336. package/dist/monster.js +0 -2
  337. package/source/constraints/andoperator.js +0 -71
  338. package/source/constraints/invalid.js +0 -63
  339. package/source/constraints/isarray.js +0 -71
  340. package/source/constraints/isobject.js +0 -72
  341. package/source/constraints/valid.js +0 -63
  342. package/source/data/datasource/storage/localstorage.js +0 -64
  343. package/source/data/datasource/storage/sessionstorage.js +0 -61
  344. package/source/dom/resource/link/stylesheet.js +0 -54
  345. package/source/i18n/provider.js +0 -58
  346. package/source/i18n/providers/namespace.js +0 -16
  347. package/source/logging/handler/console.js +0 -66
  348. package/source/logging/handler/namespace.js +0 -14
  349. package/source/logging/logentry.js +0 -68
  350. package/source/monster.js +0 -80
  351. package/source/namespace.js +0 -171
  352. package/source/types/base.js +0 -50
  353. package/source/types/is.js +0 -429
  354. package/source/types/package.d.ts +0 -1
  355. package/source/types/randomid.js +0 -60
  356. package/source/types/regex.js +0 -49
  357. package/source/types/typeof.js +0 -63
  358. package/source/util/freeze.js +0 -57
  359. package/test/cases/math/random.js +0 -82
  360. package/test/cases/monster.js +0 -23
  361. package/test/cases/namespace.js +0 -93
  362. package/test/cases/types/randomid.js +0 -24
  363. package/test/cases/types/regex.js +0 -32
  364. package/test/web/monster-dev.html +0 -22
  365. package/test/web/monster.html +0 -21
@@ -1,36 +1,24 @@
1
- 'use strict';
2
-
3
1
  /**
4
- * @author schukai GmbH
2
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
3
+ * Node module: @schukai/monster
4
+ * This file is licensed under the AGPLv3 License.
5
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
5
6
  */
6
7
 
7
- import {assignToNamespace, Monster} from '../namespace.js';
8
- import {Base} from './base.js';
9
- import {isObject} from './is.js';
10
- import {TokenList} from './tokenlist.js';
11
- import {UniqueQueue} from './uniquequeue.js';
8
+ import {Base} from './base.mjs';
9
+ import {isObject} from './is.mjs';
10
+ import {TokenList} from './tokenlist.mjs';
11
+ import {UniqueQueue} from './uniquequeue.mjs';
12
+
13
+ export {Observer}
12
14
 
13
15
  /**
14
16
  * An observer manages a callback function
15
17
  *
16
- * You can call the method via the monster namespace `new Monster.Types.Observer()`.
17
- *
18
- * ```
19
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/monster.js';
20
- * new Monster.Types.Observer()
21
- * ```
22
- *
23
- * Alternatively, you can also integrate this function individually.
24
- *
25
- * ```
26
- * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/types/observer.js';
27
- * new Observer()
28
- * ```
29
- *
30
18
  * The update method is called with the subject object as this pointer. For this reason the callback should not
31
- * be an arrow function, because it gets the this pointer of its own context.
19
+ * be an arrow function, because it gets this pointer of its own context.
32
20
  *
33
- * ```
21
+ * ```js
34
22
  * new Observer(()=>{
35
23
  * // this is not subject
36
24
  * })
@@ -42,7 +30,7 @@ import {UniqueQueue} from './uniquequeue.js';
42
30
  *
43
31
  * Additional arguments can be passed to the callback. To do this, simply specify them.
44
32
  *
45
- * ```
33
+ * ```js
46
34
  * Observer(function(a, b, c) {
47
35
  * console.log(a, b, c); // ↦ "a", 2, true
48
36
  * }, "a", 2, true)
@@ -50,17 +38,8 @@ import {UniqueQueue} from './uniquequeue.js';
50
38
  *
51
39
  * The callback function must have as many parameters as arguments are given.
52
40
  *
53
- * @example
54
- *
55
- * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/types/observer.js';
56
- *
57
- * const observer = new Observer(function(a, b, c) {
58
- * console.log(this, a, b, c); // ↦ "a", 2, true
59
- * }, "a", 2, true);
60
- *
61
- * observer.update({value:true}).then(()=>{});
62
- * // ↦ {value: true} "a" 2 true
63
- *
41
+ * @externalExample ../../example/types/observer.mjs
42
+ * @license AGPLv3
64
43
  * @since 1.0.0
65
44
  * @copyright schukai GmbH
66
45
  * @memberOf Monster.Types
@@ -168,9 +147,3 @@ class Observer extends Base {
168
147
  };
169
148
 
170
149
  }
171
-
172
- assignToNamespace('Monster.Types', Observer);
173
- export {Monster, Observer}
174
-
175
-
176
-
@@ -1,37 +1,23 @@
1
- 'use strict';
1
+
2
2
 
3
3
  /**
4
- * @author schukai GmbH
4
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
5
+ * Node module: @schukai/monster
6
+ * This file is licensed under the AGPLv3 License.
7
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
5
8
  */
6
9
 
7
- import {assignToNamespace, Monster} from '../namespace.js';
8
- import {Base} from './base.js';
9
- import {Observer} from "./observer.js";
10
- import {validateInstance} from "./validate.js";
10
+
11
+ import {Base} from './base.mjs';
12
+ import {Observer} from "./observer.mjs";
13
+ import {validateInstance} from "./validate.mjs";
14
+
15
+ export {ObserverList}
11
16
 
12
17
  /**
13
18
  * With the help of the ObserverList class, observer can be managed.
14
19
  *
15
- * You can call the method via the monster namespace `new Monster.Types.ObserverList()`.
16
- *
17
- * ```
18
- * <script type="module">
19
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/monster.js';
20
- * console.log(new Monster.Types.ObserverList())
21
- * console.log(new Monster.Types.ObserverList())
22
- * </script>
23
- * ```
24
- *
25
- * Alternatively, you can also integrate this function individually.
26
- *
27
- * ```
28
- * <script type="module">
29
- * import {ObserverList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/types/observerlist.js';
30
- * console.log(ObserverList())
31
- * console.log(ObserverList())
32
- * </script>
33
- * ```
34
- *
20
+ * @license AGPLv3
35
21
  * @since 1.0.0
36
22
  * @copyright schukai GmbH
37
23
  * @memberOf Monster.Types
@@ -113,6 +99,3 @@ class ObserverList extends Base {
113
99
  };
114
100
 
115
101
  }
116
-
117
- assignToNamespace('Monster.Types', ObserverList);
118
- export {Monster, ObserverList}
@@ -1,74 +1,34 @@
1
- 'use strict';
2
-
3
1
  /**
4
- * @author schukai GmbH
2
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
3
+ * Node module: @schukai/monster
4
+ * This file is licensed under the AGPLv3 License.
5
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
5
6
  */
6
- import {assignToNamespace, Monster} from '../namespace.js';
7
- import {Base} from './base.js';
8
- import {isArray, isObject, isPrimitive} from "./is.js";
9
- import {Observer} from "./observer.js";
10
- import {ObserverList} from "./observerlist.js";
11
- import {validateObject} from "./validate.js";
12
- import {extend} from "../data/extend.js";
7
+
8
+ import {Base} from './base.mjs';
9
+ import {isArray, isObject, isPrimitive} from "./is.mjs";
10
+ import {Observer} from "./observer.mjs";
11
+ import {ObserverList} from "./observerlist.mjs";
12
+ import {validateObject} from "./validate.mjs";
13
+ import {extend} from "../data/extend.mjs";
14
+
15
+ export {ProxyObserver}
13
16
 
14
17
  /**
15
18
  * An observer manages a callback function
16
19
  *
17
- * You can call create the class via the monster namespace `new Monster.Types.ProxyObserver()`.
18
- *
19
- * ```
20
- * <script type="module">
21
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/monster.js';
22
- * new Monster.Types.ProxyObserver()
23
- * </script>
24
- * ```
25
- *
26
- * Alternatively, you can also integrate this class individually.
27
- *
28
- * ```
29
- * <script type="module">
30
- * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/types/proxyobserver.js';
31
- * new ProxyObserver()
32
- * </script>
33
- * ```
34
- *
35
- * with the ProxyObserver you can attach observer for observation. with each change at the object to be observed an update takes place.
20
+ * With the ProxyObserver you can attach observer for observation.
21
+ * With each change at the object to be observed an update takes place.
36
22
  *
37
- * this also applies to nested objects.
38
- *
39
- * @example
40
- *
41
- * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/types/proxyobserver.js';
42
- * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/types/observer.js';
43
- * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/types/is.js';
44
- *
45
- * const o = new Observer(function () {
46
- * if (isObject(this) && this instanceof ProxyObserver) {
47
- * // do something (this ist ProxyObserver)
48
- * const subject = this.getSubject();
49
- * console.log(subject);
50
- * }
51
- * });
52
- *
53
- * let realSubject = {
54
- * a: {
55
- * b: {
56
- * c: true
57
- * },
58
- * d: 9
59
- * }
60
- * }
61
- *
62
- * const p = new ProxyObserver(realSubject);
63
- * p.attachObserver(o);
64
- * const s = p.getSubject();
65
- * s.a.b.c = false;
23
+ * This also applies to nested objects.
66
24
  *
25
+ * @externalExample ../../example/types/proxyobserver.mjs
26
+ * @license AGPLv3
67
27
  * @since 1.0.0
68
28
  * @copyright schukai GmbH
69
29
  * @memberOf Monster.Types
70
30
  */
71
- class ProxyObserver extends Base {
31
+ class ProxyObserver extends Base {
72
32
 
73
33
  /**
74
34
  *
@@ -167,9 +127,6 @@ class ProxyObserver extends Base {
167
127
 
168
128
  }
169
129
 
170
- assignToNamespace('Monster.Types', ProxyObserver);
171
- export {Monster, ProxyObserver}
172
-
173
130
  /**
174
131
  *
175
132
  * @returns {{defineProperty: (function(*=, *=, *=): *), setPrototypeOf: (function(*, *=): boolean), set: (function(*, *, *, *): boolean), get: ((function(*=, *=, *=): (undefined))|*), deleteProperty: ((function(*, *): (boolean))|*)}}
@@ -1,53 +1,19 @@
1
- 'use strict';
2
-
3
1
  /**
4
- * @author schukai GmbH
2
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
3
+ * Node module: @schukai/monster
4
+ * This file is licensed under the AGPLv3 License.
5
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
5
6
  */
6
- import {assignToNamespace, Monster} from '../namespace.js';
7
- import {Base} from './base.js';
7
+
8
+ import {Base} from './base.mjs';
9
+
10
+ export {Queue}
8
11
 
9
12
  /**
10
13
  * You can create the instance via the monster namespace `new Monster.Types.Queue()`.
11
14
  *
12
- * ```
13
- * <script type="module">
14
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/monster.js';
15
- * new Monster.Types.Queue()
16
- * </script>
17
- * ```
18
- *
19
- * Alternatively, you can also integrate this function individually.
20
- *
21
- * ```
22
- * <script type="module">
23
- * import {Queue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/types/queue.js';
24
- * new Queue()
25
- * </script>
26
- * ```
27
- *
28
- * @example
29
- *
30
- * import {Queue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/types/queue.js';
31
- *
32
- * const queue = new Queue;
33
- *
34
- * queue.add(2);
35
- * queue.add(true);
36
- * queue.add("Hello");
37
- * queue.add(4.5);
38
- *
39
- * console.log(queue.poll());
40
- * // ↦ 2
41
- * console.log(queue.poll());
42
- * // ↦ true
43
- * console.log(queue.poll());
44
- * // ↦ "Hello"
45
- * console.log(queue.poll());
46
- * // ↦ 4.5
47
- * console.log(queue.poll());
48
- * // ↦ undefined
49
- *
50
- *
15
+ * @externalExample ../../example/types/queue.mjs
16
+ * @license AGPLv3
51
17
  * @since 1.4.0
52
18
  * @copyright schukai GmbH
53
19
  * @memberOf Monster.Types
@@ -120,6 +86,3 @@ class Queue extends Base {
120
86
 
121
87
 
122
88
  }
123
-
124
- assignToNamespace('Monster.Types', Queue);
125
- export {Monster, Queue}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
3
+ * Node module: @schukai/monster
4
+ * This file is licensed under the AGPLv3 License.
5
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
6
+ */
7
+
8
+ import {random} from "../math/random.mjs";
9
+ import {getGlobal} from "./global.mjs";
10
+ import {ID} from "./id.mjs";
11
+
12
+ export {RandomID}
13
+
14
+ /**
15
+ * @private
16
+ * @type {number}
17
+ */
18
+ let internalCounter = 0;
19
+
20
+ /**
21
+ * The `RandomID` class provides a unique ID for an item.
22
+ *
23
+ * @license AGPLv3
24
+ * @since 1.6.0
25
+ * @copyright schukai GmbH
26
+ * @memberOf Monster.Types
27
+ * @summary class to generate random numbers
28
+ */
29
+ class RandomID extends ID {
30
+
31
+ /**
32
+ * create new object
33
+ */
34
+ constructor() {
35
+ super();
36
+
37
+ internalCounter += 1;
38
+
39
+ this.id = getGlobal().btoa(random(1, 10000))
40
+ .replace(/=/g, '')
41
+ /** No numbers at the beginning of the ID, because of possible problems with DOM */
42
+ .replace(/^[0-9]+/, 'X') + internalCounter;
43
+ }
44
+
45
+ }
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
3
+ * Node module: @schukai/monster
4
+ * This file is licensed under the AGPLv3 License.
5
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
6
+ */
7
+
8
+ import {validateString} from "./validate.mjs";
9
+
10
+ export {escapeString}
11
+
12
+ /**
13
+ * This function prefixes all special characters that may appear in a regex with a slash.
14
+ *
15
+ * @param {string} value
16
+ * @return {string}
17
+ * @license AGPLv3
18
+ * @since 1.26.0
19
+ * @copyright schukai GmbH
20
+ * @memberOf Monster.Types
21
+ * @throws {TypeError} value is not a string
22
+ */
23
+ function escapeString(value) {
24
+ return validateString(value)
25
+ .replace(/[|\\{}()[\]^$+*?.]/g, '\\$&')
26
+ .replace(/-/g, '\\x2d');
27
+ }
@@ -1,31 +1,18 @@
1
- 'use strict';
2
-
3
1
  /**
4
- * @author schukai GmbH
2
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
3
+ * Node module: @schukai/monster
4
+ * This file is licensed under the AGPLv3 License.
5
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
5
6
  */
6
7
 
7
- import {assignToNamespace, Monster} from '../namespace.js';
8
- import {Base} from './base.js';
8
+ import {Base} from './base.mjs';
9
+
10
+ export {Stack}
9
11
 
10
12
  /**
11
13
  * You can call the method via the monster namespace `new Monster.Types.Queue()`.
12
14
  *
13
- * ```
14
- * <script type="module">
15
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/monster.js';
16
- * console.log(new Monster.Types.Stack())
17
- * </script>
18
- * ```
19
- *
20
- * Alternatively, you can also integrate this function individually.
21
- *
22
- * ```
23
- * <script type="module">
24
- * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/types/stack.js';
25
- * console.log(new Stack())
26
- * </script>
27
- * ```
28
- *
15
+ * @license AGPLv3
29
16
  * @since 1.4.0
30
17
  * @copyright schukai GmbH
31
18
  * @memberOf Monster.Types
@@ -98,6 +85,3 @@ class Stack extends Base {
98
85
 
99
86
 
100
87
  }
101
-
102
- assignToNamespace('Monster.Types', Stack);
103
- export {Monster, Stack}
@@ -1,44 +1,25 @@
1
- 'use strict';
2
-
3
1
  /**
4
- * @author schukai GmbH
2
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
3
+ * Node module: @schukai/monster
4
+ * This file is licensed under the AGPLv3 License.
5
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
5
6
  */
6
7
 
7
- import {assignToNamespace, Monster} from '../namespace.js';
8
- import {isIterable, isString} from '../types/is.js';
9
- import {validateFunction, validateString} from '../types/validate.js';
10
- import {Base} from './base.js';
8
+ import {isIterable, isString} from '../types/is.mjs';
9
+ import {validateFunction, validateString} from '../types/validate.mjs';
10
+ import {Base} from './base.mjs';
11
+
12
+ export {TokenList}
11
13
 
12
14
  /**
13
- * A tokenlist allows you to manage tokens (individual character strings such as css classes in an attribute string).
14
- *
15
- * The tokenlist offers various functions to manipulate values. For example, you can add, remove or replace a class in a CSS list.
16
- *
17
- * You can call the method via the monster namespace `new Monster.Types.TokenList()`.
18
- *
19
- * ```
20
- * <script type="module">
21
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/monster.js';
22
- * new Monster.Types.TokenList("myclass row")
23
- * </script>
24
- * ```
25
- *
26
- * Alternatively, you can also integrate this function individually.
15
+ * A `TokenList` allows you to manage tokens (individual character strings such as css classes in an attribute string).
27
16
  *
28
- * ```
29
- * <script type="module">
30
- * import {TokenList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/types/tokenlist.js';
31
- * new TokenList("myclass row")
32
- * </script>
33
- * ```
17
+ * The `TokenList` offers various functions to manipulate values. For example, you can add, remove or replace a class in a CSS list.
34
18
  *
35
19
  * This class implements the [iteration protocol](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols).
36
20
  *
37
- * ```
38
- * typeof new TokenList("myclass row")[Symbol.iterator];
39
- * // ↦ "function"
40
- * ```
41
- *
21
+ * @externalExample ../../example/types/tokenlist-1.mjs
22
+ * @license AGPLv3
42
23
  * @since 1.2.0
43
24
  * @copyright schukai GmbH
44
25
  * @memberOf Monster.Types
@@ -94,14 +75,7 @@ class TokenList extends Base {
94
75
  /**
95
76
  * Returns true if it contains token, otherwise false
96
77
  *
97
- * ```
98
- * new TokenList("start middle end").contains('start')); // ↦ true
99
- * new TokenList("start middle end").contains('end')); // ↦ true
100
- * new TokenList("start middle end").contains('xyz')); // ↦ false
101
- * new TokenList("start middle end").contains(['end','start','middle'])); // ↦ true
102
- * new TokenList("start middle end").contains(['end','start','xyz'])); // ↦ false
103
- * ```
104
- *
78
+ * @externalExample ../../example/types/tokenlist-2.mjs
105
79
  * @param {array|string|iteratable} value
106
80
  * @returns {boolean}
107
81
  */
@@ -130,14 +104,9 @@ class TokenList extends Base {
130
104
  }
131
105
 
132
106
  /**
133
- * add tokens
134
- *
135
- * ```
136
- * new TokenList().add("abc xyz").toString(); // ↦ "abc xyz"
137
- * new TokenList().add(["abc","xyz"]).toString(); // ↦ "abc xyz"
138
- * new TokenList().add(undefined); // ↦ add nothing
139
- * ```
107
+ * Add tokens
140
108
  *
109
+ * @externalExample ../../example/types/tokenlist-3.mjs
141
110
  * @param {array|string|iteratable} value
142
111
  * @returns {TokenList}
143
112
  * @throws {TypeError} unsupported value
@@ -172,12 +141,7 @@ class TokenList extends Base {
172
141
  /**
173
142
  * Removes token
174
143
  *
175
- * ```
176
- * new TokenList("abc xyz").remove("xyz").toString(); // ↦ "abc"
177
- * new TokenList("abc xyz").remove(["xyz"]).toString(); // ↦ "abc"
178
- * new TokenList("abc xyz").remove(undefined); // ↦ remove nothing
179
- * ```
180
- *
144
+ * @externalExample ../../example/types/tokenlist-4.mjs
181
145
  * @param {array|string|iteratable} value
182
146
  * @returns {TokenList}
183
147
  * @throws {TypeError} unsupported value
@@ -193,7 +157,7 @@ class TokenList extends Base {
193
157
  this.tokens.delete(token.trim());
194
158
  }
195
159
  } else if (typeof value !== "undefined") {
196
- throw new TypeError("unsupported value", "types/tokenlist.js");
160
+ throw new TypeError("unsupported value", "types/tokenlist.mjs");
197
161
  }
198
162
 
199
163
  return this;
@@ -232,12 +196,7 @@ class TokenList extends Base {
232
196
  /**
233
197
  * Removes token from string. If token doesn't exist it's added.
234
198
  *
235
- * ```
236
- * new TokenList("abc def ghi").toggle("def xyz").toString(); // ↦ "abc ghi xyz"
237
- * new TokenList("abc def ghi").toggle(["abc","xyz"]).toString(); // ↦ "def ghi xyz"
238
- * new TokenList().toggle(undefined); // ↦ nothing
239
- * ```
240
- *
199
+ * @externalExample ../../example/types/tokenlist-5.mjs
241
200
  * @param {array|string|iteratable} value
242
201
  * @returns {boolean}
243
202
  * @throws {TypeError} unsupported value
@@ -253,7 +212,7 @@ class TokenList extends Base {
253
212
  toggleValue.call(this, token);
254
213
  }
255
214
  } else if (typeof value !== "undefined") {
256
- throw new TypeError("unsupported value", "types/tokenlist.js");
215
+ throw new TypeError("unsupported value", "types/tokenlist.mjs");
257
216
  }
258
217
 
259
218
  return this;
@@ -309,6 +268,3 @@ function toggleValue(token) {
309
268
  this.add(token);
310
269
  return this;
311
270
  }
312
-
313
- assignToNamespace('Monster.Types', TokenList);
314
- export {Monster, TokenList}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
3
+ * Node module: @schukai/monster
4
+ * This file is licensed under the AGPLv3 License.
5
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
6
+ */
7
+
8
+ export {typeOf}
9
+
10
+ /**
11
+ * The built-in typeof method is known to have some historical weaknesses. This function tries to provide a better and more accurate result.
12
+ *
13
+ * @externalExample ../../example/types/typeof.mjs
14
+ * @param {*} value
15
+ * @return {string}
16
+ * @license AGPLv3
17
+ * @since 1.7.0
18
+ * @copyright schukai GmbH
19
+ * @memberOf Monster.Types
20
+ * @throws {TypeError} value is not a primitive
21
+ */
22
+ function typeOf(value) {
23
+ let type = ({}).toString.call(value).match(/\s([a-zA-Z]+)/)[1];
24
+ if ('Object' === type) {
25
+
26
+ const name = value.constructor.name;
27
+ if (name) {
28
+ return name.toLowerCase();
29
+ }
30
+
31
+ const results = (/^(class|function)\s+(\w+)/).exec(value.constructor.toString());
32
+ type = (results && results.length > 2) ? results[2] : '';
33
+ }
34
+
35
+ return type.toLowerCase();
36
+ }
37
+
@@ -1,38 +1,25 @@
1
- 'use strict';
2
-
3
1
  /**
4
- * @author schukai GmbH
2
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
3
+ * Node module: @schukai/monster
4
+ * This file is licensed under the AGPLv3 License.
5
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
5
6
  */
6
7
 
7
- import {assignToNamespace, Monster} from '../namespace.js';
8
- import {Queue} from "./queue.js";
9
- import {validateObject} from "./validate.js";
8
+ import {Queue} from "./queue.mjs";
9
+ import {validateObject} from "./validate.mjs";
10
+
11
+ export {UniqueQueue}
10
12
 
11
13
  /**
12
- * You can call the method via the monster namespace `new Monster.Types.Queue()`.
13
- *
14
- * ```
15
- * <script type="module">
16
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/monster.js';
17
- * new Monster.Types.UniqueQueue()
18
- * </script>
19
- * ```
20
- *
21
- * Alternatively, you can also integrate this function individually.
22
- *
23
- * ```
24
- * <script type="module">
25
- * import {UniqueQueue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/types/uniquequeue.js';
26
- * new UniqueQueue()
27
- * </script>
28
- * ```
14
+ * A UniqueQueue is a queue that contains items only once.
29
15
  *
16
+ * @license AGPLv3
30
17
  * @since 1.4.0
31
18
  * @copyright schukai GmbH
32
19
  * @memberOf Monster.Types
33
20
  * @summary A queue for unique values
34
21
  */
35
- class UniqueQueue extends Queue {
22
+ class UniqueQueue extends Queue {
36
23
 
37
24
  /**
38
25
  *
@@ -90,6 +77,3 @@ class UniqueQueue extends Queue {
90
77
 
91
78
 
92
79
  }
93
-
94
- assignToNamespace('Monster.Types', UniqueQueue);
95
- export {Monster, UniqueQueue}