@schukai/monster 3.51.5 → 3.52.1

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 (361) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +15 -12
  3. package/example/components/form/button.mjs +10 -0
  4. package/example/components/form/select.mjs +25 -0
  5. package/example/components/form/tree-select.mjs +27 -0
  6. package/example/components/host/host.mjs +0 -0
  7. package/example/components/notify/message.mjs +4 -0
  8. package/example/components/notify/notify.mjs +4 -0
  9. package/example/components/state/log.mjs +0 -0
  10. package/example/components/state/state.mjs +0 -0
  11. package/example/data/datasource/server/restapi.mjs +7 -1
  12. package/package.json +6 -2
  13. package/source/components/constants.mjs +132 -0
  14. package/source/components/datatable/columnbar.mjs +310 -0
  15. package/source/components/datatable/constants.mjs +121 -0
  16. package/source/components/datatable/dataset.mjs +219 -0
  17. package/source/components/datatable/datasource/dom.mjs +186 -0
  18. package/source/components/datatable/datasource/namespace.mjs +13 -0
  19. package/source/components/datatable/datasource/rest.mjs +400 -0
  20. package/source/components/datatable/datasource.mjs +102 -0
  21. package/source/components/datatable/datatable/header.mjs +268 -0
  22. package/source/components/datatable/datatable/namespace.mjs +13 -0
  23. package/source/components/datatable/datatable.mjs +789 -0
  24. package/source/components/datatable/embedded-pagination.mjs +113 -0
  25. package/source/components/datatable/filter/abstract-base.mjs +31 -0
  26. package/source/components/datatable/filter/date-range.mjs +1041 -0
  27. package/source/components/datatable/filter/input.mjs +175 -0
  28. package/source/components/datatable/filter/namespace.mjs +13 -0
  29. package/source/components/datatable/filter/range.mjs +671 -0
  30. package/source/components/datatable/filter/select.mjs +65 -0
  31. package/source/components/datatable/filter/settings.mjs +116 -0
  32. package/source/components/datatable/filter-button.mjs +98 -0
  33. package/source/components/datatable/filter.mjs +929 -0
  34. package/source/components/datatable/namespace.mjs +11 -0
  35. package/source/components/datatable/pagination.mjs +456 -0
  36. package/source/components/datatable/style/column-bar.pcss +123 -0
  37. package/source/components/datatable/style/dataset.pcss +13 -0
  38. package/source/components/datatable/style/datasource.pcss +16 -0
  39. package/source/components/datatable/style/datatable.pcss +239 -0
  40. package/source/components/datatable/style/embedded-pagination.pcss +101 -0
  41. package/source/components/datatable/style/filter-button.pcss +22 -0
  42. package/source/components/datatable/style/filter-controls-defaults.pcss +46 -0
  43. package/source/components/datatable/style/filter-date-range.pcss +9 -0
  44. package/source/components/datatable/style/filter-range.pcss +5 -0
  45. package/source/components/datatable/style/filter.pcss +156 -0
  46. package/source/components/datatable/style/pagination.pcss +59 -0
  47. package/source/components/datatable/style/select-filter.pcss +27 -0
  48. package/source/components/datatable/stylesheet/column-bar.mjs +27 -0
  49. package/source/components/datatable/stylesheet/dataset.mjs +27 -0
  50. package/source/components/datatable/stylesheet/datasource.mjs +27 -0
  51. package/source/components/datatable/stylesheet/datatable.mjs +27 -0
  52. package/source/components/datatable/stylesheet/embedded-pagination.mjs +27 -0
  53. package/source/components/datatable/stylesheet/filter-button.mjs +27 -0
  54. package/source/components/datatable/stylesheet/filter-controls-defaults.mjs +27 -0
  55. package/source/components/datatable/stylesheet/filter-date-range.mjs +27 -0
  56. package/source/components/datatable/stylesheet/filter-range.mjs +27 -0
  57. package/source/components/datatable/stylesheet/filter.mjs +27 -0
  58. package/source/components/datatable/stylesheet/namespace.mjs +13 -0
  59. package/source/components/datatable/stylesheet/pagination.mjs +27 -0
  60. package/source/components/datatable/stylesheet/select-filter.mjs +27 -0
  61. package/source/components/datatable/util.mjs +60 -0
  62. package/source/components/form/action-button.mjs +262 -0
  63. package/source/components/form/api-button.mjs +515 -0
  64. package/source/components/form/button-bar.mjs +739 -0
  65. package/source/components/form/button.mjs +350 -0
  66. package/source/components/form/confirm-button.mjs +330 -0
  67. package/source/components/form/constants.mjs +111 -0
  68. package/source/components/form/context-help.mjs +123 -0
  69. package/source/components/form/events.mjs +84 -0
  70. package/source/components/form/form.mjs +601 -0
  71. package/source/components/form/message-state-button.mjs +396 -0
  72. package/source/components/form/namespace.mjs +13 -0
  73. package/source/components/form/popper-button.mjs +435 -0
  74. package/source/components/form/popper.mjs +487 -0
  75. package/source/components/form/reload.mjs +360 -0
  76. package/source/components/form/select.mjs +2314 -0
  77. package/source/components/form/shadow-reload.mjs +137 -0
  78. package/source/components/form/state-button.mjs +182 -0
  79. package/source/components/form/style/action-button.pcss +41 -0
  80. package/source/components/form/style/api-button.pcss +0 -0
  81. package/source/components/form/style/button-bar.pcss +51 -0
  82. package/source/components/form/style/button.pcss +8 -0
  83. package/source/components/form/style/confirm-button.pcss +17 -0
  84. package/source/components/form/style/context-help.pcss +16 -0
  85. package/source/components/form/style/form.pcss +10 -0
  86. package/source/components/form/style/message-state-button.pcss +10 -0
  87. package/source/components/form/style/popper-button.pcss +16 -0
  88. package/source/components/form/style/popper.pcss +8 -0
  89. package/source/components/form/style/select.pcss +265 -0
  90. package/source/components/form/style/state-button.pcss +116 -0
  91. package/source/components/form/style/tabs.pcss +173 -0
  92. package/source/components/form/style/tree-select.pcss +81 -0
  93. package/source/components/form/stylesheet/action-button.mjs +27 -0
  94. package/source/components/form/stylesheet/api-button.mjs +27 -0
  95. package/source/components/form/stylesheet/button-bar.mjs +27 -0
  96. package/source/components/form/stylesheet/button.mjs +27 -0
  97. package/source/components/form/stylesheet/confirm-button.mjs +27 -0
  98. package/source/components/form/stylesheet/context-help.mjs +27 -0
  99. package/source/components/form/stylesheet/form.mjs +27 -0
  100. package/source/components/form/stylesheet/message-state-button.mjs +27 -0
  101. package/source/components/form/stylesheet/namespace.mjs +13 -0
  102. package/source/components/form/stylesheet/popper-button.mjs +27 -0
  103. package/source/components/form/stylesheet/popper.mjs +27 -0
  104. package/source/components/form/stylesheet/select.mjs +27 -0
  105. package/source/components/form/stylesheet/state-button.mjs +27 -0
  106. package/source/components/form/stylesheet/tabs.mjs +27 -0
  107. package/source/components/form/stylesheet/tree-select.mjs +27 -0
  108. package/source/components/form/tabs.mjs +1029 -0
  109. package/source/components/form/template.mjs +373 -0
  110. package/source/components/form/tree-select.mjs +527 -0
  111. package/source/components/form/types/namespace.mjs +13 -0
  112. package/source/components/form/types/state.mjs +93 -0
  113. package/source/components/form/util/fetch.mjs +133 -0
  114. package/source/components/form/util/floating-ui.mjs +245 -0
  115. package/source/components/form/util/namespace.mjs +13 -0
  116. package/source/components/form/util/popper.mjs +49 -0
  117. package/source/components/host/call-button.mjs +236 -0
  118. package/source/components/host/collapse.mjs +526 -0
  119. package/source/components/host/config-manager.mjs +304 -0
  120. package/source/components/host/constants.mjs +18 -0
  121. package/source/components/host/details.mjs +268 -0
  122. package/source/components/host/events.mjs +131 -0
  123. package/source/components/host/host.mjs +420 -0
  124. package/source/components/host/namespace.mjs +13 -0
  125. package/source/components/host/overlay.mjs +339 -0
  126. package/source/components/host/style/call-button.pcss +36 -0
  127. package/source/components/host/style/collapse.pcss +67 -0
  128. package/source/components/host/style/config-manager.pcss +5 -0
  129. package/source/components/host/style/details.pcss +68 -0
  130. package/source/components/host/style/host.pcss +43 -0
  131. package/source/components/host/style/overlay.pcss +73 -0
  132. package/source/components/host/style/toggle-button.pcss +36 -0
  133. package/source/components/host/style/viewer.pcss +13 -0
  134. package/source/components/host/stylesheet/call-button.mjs +27 -0
  135. package/source/components/host/stylesheet/collapse.mjs +27 -0
  136. package/source/components/host/stylesheet/config-manager.mjs +27 -0
  137. package/source/components/host/stylesheet/details.mjs +27 -0
  138. package/source/components/host/stylesheet/host.mjs +27 -0
  139. package/source/components/host/stylesheet/namespace.mjs +13 -0
  140. package/source/components/host/stylesheet/overlay.mjs +27 -0
  141. package/source/components/host/stylesheet/toggle-button.mjs +27 -0
  142. package/source/components/host/stylesheet/viewer.mjs +27 -0
  143. package/source/components/host/toggle-button.mjs +88 -0
  144. package/source/components/host/util.mjs +23 -0
  145. package/source/components/host/viewer.mjs +309 -0
  146. package/source/components/namespace.mjs +14 -0
  147. package/source/components/notify/constants.mjs +15 -0
  148. package/source/components/notify/events.mjs +15 -0
  149. package/source/components/notify/message.mjs +374 -0
  150. package/source/components/notify/namespace.mjs +15 -0
  151. package/source/components/notify/notify.mjs +236 -0
  152. package/source/components/notify/style/message.pcss +57 -0
  153. package/source/components/notify/style/notify.pcss +118 -0
  154. package/source/components/notify/stylesheet/message.mjs +27 -0
  155. package/source/components/notify/stylesheet/namespace.mjs +15 -0
  156. package/source/components/notify/stylesheet/notify.mjs +27 -0
  157. package/source/components/state/log/entry.mjs +126 -0
  158. package/source/components/state/log/namespace.mjs +13 -0
  159. package/source/components/state/log.mjs +275 -0
  160. package/source/components/state/namespace.mjs +13 -0
  161. package/source/components/state/state.mjs +131 -0
  162. package/source/components/state/style/log.pcss +111 -0
  163. package/source/components/state/style/state.pcss +113 -0
  164. package/source/components/state/stylesheet/log.mjs +27 -0
  165. package/source/components/state/stylesheet/state.mjs +27 -0
  166. package/source/components/style/badge.pcss +92 -0
  167. package/source/components/style/border.pcss +77 -0
  168. package/source/components/style/button.pcss +105 -0
  169. package/source/components/style/card.pcss +108 -0
  170. package/source/components/style/color.pcss +257 -0
  171. package/source/components/style/common.pcss +105 -0
  172. package/source/components/style/control.pcss +11 -0
  173. package/source/components/style/data-grid.pcss +43 -0
  174. package/source/components/style/display.pcss +42 -0
  175. package/source/components/style/floating-ui.pcss +33 -0
  176. package/source/components/style/form.pcss +5 -0
  177. package/source/components/style/host.pcss +15 -0
  178. package/source/components/style/link.pcss +63 -0
  179. package/source/components/style/mixin/badge.pcss +18 -0
  180. package/source/components/style/mixin/button.pcss +52 -0
  181. package/source/components/style/mixin/form.pcss +247 -0
  182. package/source/components/style/mixin/hover.pcss +8 -0
  183. package/source/components/style/mixin/media.pcss +107 -0
  184. package/source/components/style/mixin/property.pcss +292 -0
  185. package/source/components/style/mixin/skeleton.pcss +26 -0
  186. package/source/components/style/mixin/spinner.pcss +24 -0
  187. package/source/components/style/mixin/typography.pcss +52 -0
  188. package/source/components/style/normalize.pcss +14 -0
  189. package/source/components/style/popper.pcss +78 -0
  190. package/source/components/style/property.pcss +17 -0
  191. package/source/components/style/ripple.pcss +14 -0
  192. package/source/components/style/skeleton.pcss +28 -0
  193. package/source/components/style/space.pcss +47 -0
  194. package/source/components/style/spinner.pcss +6 -0
  195. package/source/components/style/table.pcss +46 -0
  196. package/source/components/style/theme.pcss +119 -0
  197. package/source/components/style/typography.pcss +131 -0
  198. package/source/components/stylesheet/badge.mjs +27 -0
  199. package/source/components/stylesheet/border.mjs +27 -0
  200. package/source/components/stylesheet/button.mjs +27 -0
  201. package/source/components/stylesheet/card.mjs +27 -0
  202. package/source/components/stylesheet/color.mjs +27 -0
  203. package/source/components/stylesheet/common.mjs +27 -0
  204. package/source/components/stylesheet/control.mjs +27 -0
  205. package/source/components/stylesheet/data-grid.mjs +27 -0
  206. package/source/components/stylesheet/display.mjs +27 -0
  207. package/source/components/stylesheet/floating-ui.mjs +27 -0
  208. package/source/components/stylesheet/form.mjs +27 -0
  209. package/source/components/stylesheet/host.mjs +27 -0
  210. package/source/components/stylesheet/link.mjs +27 -0
  211. package/source/components/stylesheet/namespace.mjs +13 -0
  212. package/source/components/stylesheet/normalize.mjs +27 -0
  213. package/source/components/stylesheet/popper.mjs +27 -0
  214. package/source/components/stylesheet/property.mjs +27 -0
  215. package/source/components/stylesheet/ripple.mjs +27 -0
  216. package/source/components/stylesheet/skeleton.mjs +27 -0
  217. package/source/components/stylesheet/space.mjs +27 -0
  218. package/source/components/stylesheet/spinner.mjs +27 -0
  219. package/source/components/stylesheet/table.mjs +27 -0
  220. package/source/components/stylesheet/theme.mjs +27 -0
  221. package/source/components/stylesheet/tree-menu.mjs +33 -0
  222. package/source/components/stylesheet/typography.mjs +27 -0
  223. package/source/components/tree-menu/namespace.mjs +13 -0
  224. package/source/components/tree-menu/style/tree-menu.pcss +107 -0
  225. package/source/components/tree-menu/stylesheet/namespace.mjs +13 -0
  226. package/source/components/tree-menu/stylesheet/tree-menu.mjs +27 -0
  227. package/source/components/tree-menu/tree-menu.mjs +660 -0
  228. package/source/constraints/abstract.mjs +17 -24
  229. package/source/constraints/abstractoperator.mjs +27 -22
  230. package/source/constraints/andoperator.mjs +20 -17
  231. package/source/constraints/invalid.mjs +17 -17
  232. package/source/constraints/isarray.mjs +20 -20
  233. package/source/constraints/isobject.mjs +20 -20
  234. package/source/constraints/oroperator.mjs +45 -45
  235. package/source/constraints/valid.mjs +17 -17
  236. package/source/data/buildmap.mjs +108 -103
  237. package/source/data/buildtree.mjs +59 -57
  238. package/source/data/datasource/dom.mjs +80 -84
  239. package/source/data/datasource/namespace.mjs +1 -1
  240. package/source/data/datasource/server/restapi/data-fetch-error.mjs +27 -25
  241. package/source/data/datasource/server/restapi/writeerror.mjs +35 -32
  242. package/source/data/datasource/server/restapi.mjs +176 -177
  243. package/source/data/datasource/server/webconnect.mjs +150 -156
  244. package/source/data/datasource/server.mjs +62 -63
  245. package/source/data/datasource/storage/localstorage.mjs +25 -24
  246. package/source/data/datasource/storage/sessionstorage.mjs +28 -25
  247. package/source/data/datasource/storage.mjs +74 -73
  248. package/source/data/datasource.mjs +177 -168
  249. package/source/data/diff.mjs +98 -97
  250. package/source/data/extend.mjs +42 -42
  251. package/source/data/pathfinder.mjs +301 -288
  252. package/source/data/pipe.mjs +36 -36
  253. package/source/data/transformer.mjs +742 -726
  254. package/source/dom/assembler.mjs +44 -44
  255. package/source/dom/attributes.mjs +142 -122
  256. package/source/dom/constants.mjs +62 -58
  257. package/source/dom/customcontrol.mjs +299 -299
  258. package/source/dom/customelement.mjs +843 -806
  259. package/source/dom/dimension.mjs +56 -46
  260. package/source/dom/events.mjs +74 -69
  261. package/source/dom/focusmanager.mjs +175 -175
  262. package/source/dom/locale.mjs +28 -28
  263. package/source/dom/ready.mjs +13 -13
  264. package/source/dom/resource/data.mjs +117 -111
  265. package/source/dom/resource/link/stylesheet.mjs +16 -16
  266. package/source/dom/resource/link.mjs +94 -96
  267. package/source/dom/resource/script.mjs +72 -74
  268. package/source/dom/resource.mjs +174 -172
  269. package/source/dom/resourcemanager.mjs +152 -156
  270. package/source/dom/slotted.mjs +78 -80
  271. package/source/dom/template.mjs +126 -112
  272. package/source/dom/theme.mjs +35 -35
  273. package/source/dom/updater.mjs +673 -651
  274. package/source/dom/util/extract-keys.mjs +34 -22
  275. package/source/dom/util/init-options-from-attributes.mjs +46 -38
  276. package/source/dom/util/namespace.mjs +13 -0
  277. package/source/dom/util/set-option-from-attribute.mjs +35 -29
  278. package/source/dom/util.mjs +112 -81
  279. package/source/dom/worker/factory.mjs +83 -83
  280. package/source/i18n/formatter.mjs +75 -73
  281. package/source/i18n/locale.mjs +146 -144
  282. package/source/i18n/provider.mjs +70 -64
  283. package/source/i18n/providers/embed.mjs +136 -127
  284. package/source/i18n/providers/fetch.mjs +84 -76
  285. package/source/i18n/translations.mjs +205 -195
  286. package/source/logging/handler/console.mjs +36 -36
  287. package/source/logging/handler.mjs +140 -140
  288. package/source/logging/logentry.mjs +25 -25
  289. package/source/logging/logger.mjs +177 -175
  290. package/source/math/random.mjs +63 -59
  291. package/source/monster.mjs +223 -103
  292. package/source/net/webconnect/message.mjs +31 -31
  293. package/source/net/webconnect.mjs +278 -271
  294. package/source/text/bracketed-key-value-hash.mjs +182 -179
  295. package/source/text/formatter.mjs +235 -210
  296. package/source/text/generate-range-comparison-expression.mjs +56 -34
  297. package/source/text/namespace.mjs +1 -1
  298. package/source/types/base.mjs +69 -61
  299. package/source/types/basewithoptions.mjs +46 -46
  300. package/source/types/binary.mjs +20 -20
  301. package/source/types/dataurl.mjs +96 -90
  302. package/source/types/global.mjs +45 -39
  303. package/source/types/id.mjs +25 -25
  304. package/source/types/internal.mjs +115 -114
  305. package/source/types/is.mjs +56 -40
  306. package/source/types/mediatype.mjs +119 -119
  307. package/source/types/namespace.mjs +1 -1
  308. package/source/types/node.mjs +160 -150
  309. package/source/types/nodelist.mjs +94 -96
  310. package/source/types/noderecursiveiterator.mjs +50 -50
  311. package/source/types/observablequeue.mjs +73 -73
  312. package/source/types/observer.mjs +114 -106
  313. package/source/types/observerlist.mjs +66 -66
  314. package/source/types/proxyobserver.mjs +210 -210
  315. package/source/types/queue.mjs +63 -63
  316. package/source/types/randomid.mjs +13 -13
  317. package/source/types/regex.mjs +3 -1
  318. package/source/types/stack.mjs +64 -64
  319. package/source/types/tokenlist.mjs +206 -205
  320. package/source/types/typeof.mjs +12 -10
  321. package/source/types/uniquequeue.mjs +48 -48
  322. package/source/types/uuid.mjs +32 -32
  323. package/source/types/validate.mjs +67 -67
  324. package/source/types/version.mjs +115 -105
  325. package/source/util/clone.mjs +103 -91
  326. package/source/util/comparator.mjs +97 -97
  327. package/source/util/deadmansswitch.mjs +40 -44
  328. package/source/util/freeze.mjs +10 -9
  329. package/source/util/namespace.mjs +1 -1
  330. package/source/util/processing.mjs +104 -105
  331. package/source/util/runtime.mjs +56 -44
  332. package/source/util/trimspaces.mjs +24 -24
  333. package/test/cases/components/form/button.mjs +122 -0
  334. package/test/cases/components/form/confirm-button.mjs +127 -0
  335. package/test/cases/components/form/form.mjs +317 -0
  336. package/test/cases/components/form/reload.mjs +188 -0
  337. package/test/cases/components/form/select.mjs +229 -0
  338. package/test/cases/components/form/state-button.mjs +130 -0
  339. package/test/cases/components/form/tabs.mjs +98 -0
  340. package/test/cases/components/form/template.mjs +189 -0
  341. package/test/cases/components/form/tree-select.mjs +216 -0
  342. package/test/cases/components/host/details.mjs +68 -0
  343. package/test/cases/components/host/host.mjs +70 -0
  344. package/test/cases/components/host/overlay.mjs +60 -0
  345. package/test/cases/components/host/util.mjs +79 -0
  346. package/test/cases/components/notify/message.mjs +39 -0
  347. package/test/cases/components/notify/notify.mjs +89 -0
  348. package/test/cases/dom/customcontrol.mjs +5 -4
  349. package/test/cases/math/random.mjs +0 -1
  350. package/test/cases/monster.mjs +1 -1
  351. package/test/cases/net/webconnect/message.mjs +0 -1
  352. package/test/cases/types/node.mjs +1 -1
  353. package/test/util/chai-dom.mjs +2 -2
  354. package/test/util/intersection-mock.mjs +69 -0
  355. package/test/util/jsdom.mjs +41 -25
  356. package/test/util/localstorage.mjs +1 -0
  357. package/test/util/resize-observer.mjs +29 -0
  358. package/test/util/websocket.mjs +4 -1
  359. package/test/web/import.js +16 -1
  360. package/test/web/test.html +28 -5
  361. package/test/web/tests.js +30398 -17879
@@ -21,57 +21,57 @@ export { UniqueQueue };
21
21
  * @summary A queue for unique values
22
22
  */
23
23
  class UniqueQueue extends Queue {
24
- /**
25
- *
26
- */
27
- constructor() {
28
- super();
29
- this[internalSymbol] = {
30
- unique: new WeakSet(),
31
- };
32
- }
24
+ /**
25
+ *
26
+ */
27
+ constructor() {
28
+ super();
29
+ this[internalSymbol] = {
30
+ unique: new WeakSet(),
31
+ };
32
+ }
33
33
 
34
- /**
35
- * Add a new element to the end of the queue.
36
- *
37
- * @param {object} value
38
- * @returns {Queue}
39
- * @throws {TypeError} value is not a object
40
- */
41
- add(value) {
42
- validateObject(value);
34
+ /**
35
+ * Add a new element to the end of the queue.
36
+ *
37
+ * @param {object} value
38
+ * @returns {Queue}
39
+ * @throws {TypeError} value is not a object
40
+ */
41
+ add(value) {
42
+ validateObject(value);
43
43
 
44
- if (!this[internalSymbol].unique.has(value)) {
45
- this[internalSymbol].unique.add(value);
46
- super.add(value);
47
- }
44
+ if (!this[internalSymbol].unique.has(value)) {
45
+ this[internalSymbol].unique.add(value);
46
+ super.add(value);
47
+ }
48
48
 
49
- return this;
50
- }
49
+ return this;
50
+ }
51
51
 
52
- /**
53
- * remove all entries
54
- *
55
- * @returns {Queue}
56
- */
57
- clear() {
58
- super.clear();
59
- this[internalSymbol].unique = new WeakSet();
60
- return this;
61
- }
52
+ /**
53
+ * remove all entries
54
+ *
55
+ * @returns {Queue}
56
+ */
57
+ clear() {
58
+ super.clear();
59
+ this[internalSymbol].unique = new WeakSet();
60
+ return this;
61
+ }
62
62
 
63
- /**
64
- * Remove the element at the front of the queue
65
- * If the queue is empty, return undefined.
66
- *
67
- * @return {object}
68
- */
69
- poll() {
70
- if (this.isEmpty()) {
71
- return undefined;
72
- }
73
- let value = this.data.shift();
74
- this[internalSymbol].unique.delete(value);
75
- return value;
76
- }
63
+ /**
64
+ * Remove the element at the front of the queue
65
+ * If the queue is empty, return undefined.
66
+ *
67
+ * @return {object}
68
+ */
69
+ poll() {
70
+ if (this.isEmpty()) {
71
+ return undefined;
72
+ }
73
+ const value = this.data.shift();
74
+ this[internalSymbol].unique.delete(value);
75
+ return value;
76
+ }
77
77
  }
@@ -23,34 +23,34 @@ export { UUID };
23
23
  * @throws {Error} unsupported
24
24
  */
25
25
  class UUID extends Base {
26
- /**
27
- *
28
- */
29
- constructor() {
30
- super();
26
+ /**
27
+ *
28
+ */
29
+ constructor() {
30
+ super();
31
31
 
32
- let uuid = createWithCrypto();
32
+ let uuid = createWithCrypto();
33
33
 
34
- if (uuid === undefined) {
35
- uuid = createWithRandom();
36
- }
34
+ if (uuid === undefined) {
35
+ uuid = createWithRandom();
36
+ }
37
37
 
38
- if (uuid === undefined) {
39
- throw new Error("unsupported");
40
- }
38
+ if (uuid === undefined) {
39
+ throw new Error("unsupported");
40
+ }
41
41
 
42
- this[internalSymbol] = {
43
- value: uuid,
44
- };
45
- }
42
+ this[internalSymbol] = {
43
+ value: uuid,
44
+ };
45
+ }
46
46
 
47
- /**
48
- *
49
- * @return {string}
50
- */
51
- toString() {
52
- return this[internalSymbol]["value"];
53
- }
47
+ /**
48
+ *
49
+ * @return {string}
50
+ */
51
+ toString() {
52
+ return this[internalSymbol]["value"];
53
+ }
54
54
  }
55
55
 
56
56
  /**
@@ -58,11 +58,11 @@ class UUID extends Base {
58
58
  * @return {string|undefined}
59
59
  */
60
60
  function createWithRandom() {
61
- return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (c) {
62
- const r = (random(0, 65000) * 16) | 0;
63
- const v = c === "x" ? r : (r & 0x3) | 0x8;
64
- return v.toString(16)[0];
65
- });
61
+ return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (c) {
62
+ const r = (random(0, 65000) * 16) | 0;
63
+ const v = c === "x" ? r : (r & 0x3) | 0x8;
64
+ return v.toString(16)[0];
65
+ });
66
66
  }
67
67
 
68
68
  /**
@@ -70,8 +70,8 @@ function createWithRandom() {
70
70
  * @return {string|undefined}
71
71
  */
72
72
  function createWithCrypto() {
73
- const crypt = getGlobalObject("crypto");
74
- if (!isObject(crypt)) return;
75
- if (typeof crypt?.["randomUUID"]) return;
76
- return crypt.randomUUID();
73
+ const crypt = getGlobalObject("crypto");
74
+ if (!isObject(crypt)) return;
75
+ if (typeof crypt?.["randomUUID"]) return;
76
+ return crypt.randomUUID();
77
77
  }
@@ -6,29 +6,29 @@
6
6
  */
7
7
 
8
8
  import {
9
- isArray,
10
- isBoolean,
11
- isFunction,
12
- isInstance,
13
- isInteger,
14
- isIterable,
15
- isObject,
16
- isPrimitive,
17
- isString,
18
- isSymbol,
9
+ isArray,
10
+ isBoolean,
11
+ isFunction,
12
+ isInstance,
13
+ isInteger,
14
+ isIterable,
15
+ isObject,
16
+ isPrimitive,
17
+ isString,
18
+ isSymbol,
19
19
  } from "./is.mjs";
20
20
 
21
21
  export {
22
- validateIterable,
23
- validatePrimitive,
24
- validateBoolean,
25
- validateString,
26
- validateObject,
27
- validateInstance,
28
- validateArray,
29
- validateSymbol,
30
- validateFunction,
31
- validateInteger,
22
+ validateIterable,
23
+ validatePrimitive,
24
+ validateBoolean,
25
+ validateString,
26
+ validateObject,
27
+ validateInstance,
28
+ validateArray,
29
+ validateSymbol,
30
+ validateFunction,
31
+ validateInteger,
32
32
  };
33
33
 
34
34
  /**
@@ -54,10 +54,10 @@ export {
54
54
  * @see {@link Monster.Types#isPrimitive}
55
55
  */
56
56
  function validateIterable(value) {
57
- if (!isIterable(value)) {
58
- throw new TypeError("value is not iterable");
59
- }
60
- return value;
57
+ if (!isIterable(value)) {
58
+ throw new TypeError("value is not iterable");
59
+ }
60
+ return value;
61
61
  }
62
62
 
63
63
  /**
@@ -83,10 +83,10 @@ function validateIterable(value) {
83
83
  * @see {@link Monster.Types#isPrimitive}
84
84
  */
85
85
  function validatePrimitive(value) {
86
- if (!isPrimitive(value)) {
87
- throw new TypeError("value is not a primitive");
88
- }
89
- return value;
86
+ if (!isPrimitive(value)) {
87
+ throw new TypeError("value is not a primitive");
88
+ }
89
+ return value;
90
90
  }
91
91
 
92
92
  /**
@@ -111,10 +111,10 @@ function validatePrimitive(value) {
111
111
  * @throws {TypeError} value is not primitive
112
112
  */
113
113
  function validateBoolean(value) {
114
- if (!isBoolean(value)) {
115
- throw new TypeError("value is not a boolean");
116
- }
117
- return value;
114
+ if (!isBoolean(value)) {
115
+ throw new TypeError("value is not a boolean");
116
+ }
117
+ return value;
118
118
  }
119
119
 
120
120
  /**
@@ -137,10 +137,10 @@ function validateBoolean(value) {
137
137
  * @throws {TypeError} value is not a string
138
138
  */
139
139
  function validateString(value) {
140
- if (!isString(value)) {
141
- throw new TypeError("value is not a string");
142
- }
143
- return value;
140
+ if (!isString(value)) {
141
+ throw new TypeError("value is not a string");
142
+ }
143
+ return value;
144
144
  }
145
145
 
146
146
  /**
@@ -164,10 +164,10 @@ function validateString(value) {
164
164
  * @throws {TypeError} value is not a object
165
165
  */
166
166
  function validateObject(value) {
167
- if (!isObject(value)) {
168
- throw new TypeError("value is not a object");
169
- }
170
- return value;
167
+ if (!isObject(value)) {
168
+ throw new TypeError("value is not a object");
169
+ }
170
+ return value;
171
171
  }
172
172
 
173
173
  /**
@@ -191,19 +191,19 @@ function validateObject(value) {
191
191
  * @throws {TypeError} value is not an instance of
192
192
  */
193
193
  function validateInstance(value, instance) {
194
- if (!isInstance(value, instance)) {
195
- let n = "";
196
- if (isObject(instance) || isFunction(instance)) {
197
- n = instance?.["name"];
198
- }
194
+ if (!isInstance(value, instance)) {
195
+ let n = "";
196
+ if (isObject(instance) || isFunction(instance)) {
197
+ n = instance?.["name"];
198
+ }
199
199
 
200
- if (n) {
201
- n = ` ${n}`;
202
- }
200
+ if (n) {
201
+ n = ` ${n}`;
202
+ }
203
203
 
204
- throw new TypeError(`value is not an instance of${n}`);
205
- }
206
- return value;
204
+ throw new TypeError(`value is not an instance of${n}`);
205
+ }
206
+ return value;
207
207
  }
208
208
 
209
209
  /**
@@ -226,10 +226,10 @@ function validateInstance(value, instance) {
226
226
  * @throws {TypeError} value is not an array
227
227
  */
228
228
  function validateArray(value) {
229
- if (!isArray(value)) {
230
- throw new TypeError("value is not an array");
231
- }
232
- return value;
229
+ if (!isArray(value)) {
230
+ throw new TypeError("value is not an array");
231
+ }
232
+ return value;
233
233
  }
234
234
 
235
235
  /**
@@ -252,10 +252,10 @@ function validateArray(value) {
252
252
  * @throws {TypeError} value is not an symbol
253
253
  */
254
254
  function validateSymbol(value) {
255
- if (!isSymbol(value)) {
256
- throw new TypeError("value is not an symbol");
257
- }
258
- return value;
255
+ if (!isSymbol(value)) {
256
+ throw new TypeError("value is not an symbol");
257
+ }
258
+ return value;
259
259
  }
260
260
 
261
261
  /**
@@ -279,10 +279,10 @@ function validateSymbol(value) {
279
279
  * @throws {TypeError} value is not a function
280
280
  */
281
281
  function validateFunction(value) {
282
- if (!isFunction(value)) {
283
- throw new TypeError("value is not a function");
284
- }
285
- return value;
282
+ if (!isFunction(value)) {
283
+ throw new TypeError("value is not a function");
284
+ }
285
+ return value;
286
286
  }
287
287
 
288
288
  /**
@@ -306,8 +306,8 @@ function validateFunction(value) {
306
306
  * @throws {TypeError} value is not an integer
307
307
  */
308
308
  function validateInteger(value) {
309
- if (!isInteger(value)) {
310
- throw new TypeError("value is not an integer");
311
- }
312
- return value;
309
+ if (!isInteger(value)) {
310
+ throw new TypeError("value is not an integer");
311
+ }
312
+ return value;
313
313
  }
@@ -22,105 +22,115 @@ export { Version, getMonsterVersion };
22
22
  * @summary The version object contains a sematic version number
23
23
  */
24
24
  class Version extends Base {
25
- /**
26
- *
27
- * @param major
28
- * @param minor
29
- * @param patch
30
- * @throws {Error} major is not a number
31
- * @throws {Error} minor is not a number
32
- * @throws {Error} patch is not a number
33
- */
34
- constructor(major, minor, patch) {
35
- super();
36
-
37
- if (typeof major === "string" && minor === undefined && patch === undefined) {
38
- let parts = major.toString().split(".");
39
- major = parseInt(parts[0] || 0);
40
- minor = parseInt(parts[1] || 0);
41
- patch = parseInt(parts[2] || 0);
42
- }
43
-
44
- if (major === undefined) {
45
- throw new Error("major version is undefined");
46
- }
47
-
48
- if (minor === undefined) {
49
- minor = 0;
50
- }
51
-
52
- if (patch === undefined) {
53
- patch = 0;
54
- }
55
-
56
- this.major = parseInt(major);
57
- this.minor = parseInt(minor);
58
- this.patch = parseInt(patch);
59
-
60
- if (isNaN(this.major)) {
61
- throw new Error("major is not a number");
62
- }
63
-
64
- if (isNaN(this.minor)) {
65
- throw new Error("minor is not a number");
66
- }
67
-
68
- if (isNaN(this.patch)) {
69
- throw new Error("patch is not a number");
70
- }
71
- }
72
-
73
- /**
74
- * This method is called by the `instanceof` operator.
75
- * @returns {symbol}
76
- * @since 2.1.0
77
- */
78
- static get [instanceSymbol]() {
79
- return Symbol.for("@schukai/monster/types/version");
80
- }
81
-
82
- /**
83
- *
84
- * @returns {string}
85
- */
86
- toString() {
87
- return `${this.major}.${this.minor}.${this.patch}`;
88
- }
89
-
90
- /**
91
- * returns 0 if equal, -1 if the object version is less and 1 if greater
92
- * than the compared version
93
- *
94
- * @param {string|Version} version Version to compare
95
- * @returns {number}
96
- */
97
- compareTo(version) {
98
- if (version instanceof Version) {
99
- version = version.toString();
100
- }
101
-
102
- if (typeof version !== "string") {
103
- throw new Error("type exception");
104
- }
105
-
106
- if (version === this.toString()) {
107
- return 0;
108
- }
109
-
110
- let a = [this.major, this.minor, this.patch];
111
- let b = version.split(".");
112
- let len = Math.max(a.length, b.length);
113
-
114
- for (let i = 0; i < len; i += 1) {
115
- if ((a[i] && !b[i] && parseInt(a[i]) > 0) || parseInt(a[i]) > parseInt(b[i])) {
116
- return 1;
117
- } else if ((b[i] && !a[i] && parseInt(b[i]) > 0) || parseInt(a[i]) < parseInt(b[i])) {
118
- return -1;
119
- }
120
- }
121
-
122
- return 0;
123
- }
25
+ /**
26
+ *
27
+ * @param major
28
+ * @param minor
29
+ * @param patch
30
+ * @throws {Error} major is not a number
31
+ * @throws {Error} minor is not a number
32
+ * @throws {Error} patch is not a number
33
+ */
34
+ constructor(major, minor, patch) {
35
+ super();
36
+
37
+ if (
38
+ typeof major === "string" &&
39
+ minor === undefined &&
40
+ patch === undefined
41
+ ) {
42
+ const parts = major.toString().split(".");
43
+ major = parseInt(parts[0] || 0);
44
+ minor = parseInt(parts[1] || 0);
45
+ patch = parseInt(parts[2] || 0);
46
+ }
47
+
48
+ if (major === undefined) {
49
+ throw new Error("major version is undefined");
50
+ }
51
+
52
+ if (minor === undefined) {
53
+ minor = 0;
54
+ }
55
+
56
+ if (patch === undefined) {
57
+ patch = 0;
58
+ }
59
+
60
+ this.major = parseInt(major);
61
+ this.minor = parseInt(minor);
62
+ this.patch = parseInt(patch);
63
+
64
+ if (isNaN(this.major)) {
65
+ throw new Error("major is not a number");
66
+ }
67
+
68
+ if (isNaN(this.minor)) {
69
+ throw new Error("minor is not a number");
70
+ }
71
+
72
+ if (isNaN(this.patch)) {
73
+ throw new Error("patch is not a number");
74
+ }
75
+ }
76
+
77
+ /**
78
+ * This method is called by the `instanceof` operator.
79
+ * @returns {symbol}
80
+ * @since 2.1.0
81
+ */
82
+ static get [instanceSymbol]() {
83
+ return Symbol.for("@schukai/monster/types/version");
84
+ }
85
+
86
+ /**
87
+ *
88
+ * @returns {string}
89
+ */
90
+ toString() {
91
+ return `${this.major}.${this.minor}.${this.patch}`;
92
+ }
93
+
94
+ /**
95
+ * returns 0 if equal, -1 if the object version is less and 1 if greater
96
+ * than the compared version
97
+ *
98
+ * @param {string|Version} version Version to compare
99
+ * @returns {number}
100
+ */
101
+ compareTo(version) {
102
+ if (version instanceof Version) {
103
+ version = version.toString();
104
+ }
105
+
106
+ if (typeof version !== "string") {
107
+ throw new Error("type exception");
108
+ }
109
+
110
+ if (version === this.toString()) {
111
+ return 0;
112
+ }
113
+
114
+ const a = [this.major, this.minor, this.patch];
115
+ const b = version.split(".");
116
+ const len = Math.max(a.length, b.length);
117
+
118
+ for (let i = 0; i < len; i += 1) {
119
+ if (
120
+ (a[i] && !b[i] && parseInt(a[i]) > 0) ||
121
+ parseInt(a[i]) > parseInt(b[i])
122
+ ) {
123
+ return 1;
124
+ } else if (
125
+ (b[i] && !a[i] && parseInt(b[i]) > 0) ||
126
+ parseInt(a[i]) < parseInt(b[i])
127
+ ) {
128
+ return -1;
129
+ }
130
+ }
131
+
132
+ return 0;
133
+ }
124
134
  }
125
135
 
126
136
  let monsterVersion;
@@ -137,12 +147,12 @@ let monsterVersion;
137
147
  * @memberOf Monster
138
148
  */
139
149
  function getMonsterVersion() {
140
- if (monsterVersion instanceof Version) {
141
- return monsterVersion;
142
- }
150
+ if (monsterVersion instanceof Version) {
151
+ return monsterVersion;
152
+ }
143
153
 
144
- /** don't touch, replaced by make with package.json version */
145
- monsterVersion = new Version("3.51.5");
154
+ /** don't touch, replaced by make with package.json version */
155
+ monsterVersion = new Version("3.52.1");
146
156
 
147
- return monsterVersion;
157
+ return monsterVersion;
148
158
  }