@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
@@ -18,75 +18,75 @@ export { Stack };
18
18
  * @memberOf Monster.Types
19
19
  */
20
20
  class Stack extends Base {
21
- /**
22
- *
23
- */
24
- constructor() {
25
- super();
26
- this.data = [];
27
- }
21
+ /**
22
+ *
23
+ */
24
+ constructor() {
25
+ super();
26
+ this.data = [];
27
+ }
28
28
 
29
- /**
30
- * This method is called by the `instanceof` operator.
31
- * @returns {symbol}
32
- * @since 2.1.0
33
- */
34
- static get [instanceSymbol]() {
35
- return Symbol.for("@schukai/monster/types/stack");
36
- }
29
+ /**
30
+ * This method is called by the `instanceof` operator.
31
+ * @returns {symbol}
32
+ * @since 2.1.0
33
+ */
34
+ static get [instanceSymbol]() {
35
+ return Symbol.for("@schukai/monster/types/stack");
36
+ }
37
37
 
38
- /**
39
- * @return {boolean}
40
- */
41
- isEmpty() {
42
- return this.data.length === 0;
43
- }
38
+ /**
39
+ * @return {boolean}
40
+ */
41
+ isEmpty() {
42
+ return this.data.length === 0;
43
+ }
44
44
 
45
- /**
46
- * looks at the object at the top of this stack without removing it from the stack.
47
- *
48
- * @return {*}
49
- */
50
- peek() {
51
- if (this.isEmpty()) {
52
- return undefined;
53
- }
45
+ /**
46
+ * looks at the object at the top of this stack without removing it from the stack.
47
+ *
48
+ * @return {*}
49
+ */
50
+ peek() {
51
+ if (this.isEmpty()) {
52
+ return undefined;
53
+ }
54
54
 
55
- return this.data?.[this.data.length - 1];
56
- }
55
+ return this.data?.[this.data.length - 1];
56
+ }
57
57
 
58
- /**
59
- * pushes an item onto the top of this stack.
60
- *
61
- * @param {*} value
62
- * @returns {Queue}
63
- */
64
- push(value) {
65
- this.data.push(value);
66
- return this;
67
- }
58
+ /**
59
+ * pushes an item onto the top of this stack.
60
+ *
61
+ * @param {*} value
62
+ * @returns {Queue}
63
+ */
64
+ push(value) {
65
+ this.data.push(value);
66
+ return this;
67
+ }
68
68
 
69
- /**
70
- * remove all entries
71
- *
72
- * @returns {Queue}
73
- */
74
- clear() {
75
- this.data = [];
76
- return this;
77
- }
69
+ /**
70
+ * remove all entries
71
+ *
72
+ * @returns {Queue}
73
+ */
74
+ clear() {
75
+ this.data = [];
76
+ return this;
77
+ }
78
78
 
79
- /**
80
- * removes the object at the top of this stack and returns
81
- * that object as the value of this function. is the stack empty
82
- * the return value is undefined.
83
- *
84
- * @return {*}
85
- */
86
- pop() {
87
- if (this.isEmpty()) {
88
- return undefined;
89
- }
90
- return this.data.pop();
91
- }
79
+ /**
80
+ * removes the object at the top of this stack and returns
81
+ * that object as the value of this function. is the stack empty
82
+ * the return value is undefined.
83
+ *
84
+ * @return {*}
85
+ */
86
+ pop() {
87
+ if (this.isEmpty()) {
88
+ return undefined;
89
+ }
90
+ return this.data.pop();
91
+ }
92
92
  }
@@ -25,223 +25,223 @@ export { TokenList };
25
25
  * @memberOf Monster.Types
26
26
  */
27
27
  class TokenList extends Base {
28
- /**
29
- *
30
- * @param {array|string|iteratable} init
31
- */
32
- constructor(init) {
33
- super();
34
- this.tokens = new Set();
28
+ /**
29
+ *
30
+ * @param {array|string|iteratable} init
31
+ */
32
+ constructor(init) {
33
+ super();
34
+ this.tokens = new Set();
35
35
 
36
- if (typeof init !== "undefined") {
37
- this.add(init);
38
- }
39
- }
36
+ if (typeof init !== "undefined") {
37
+ this.add(init);
38
+ }
39
+ }
40
40
 
41
- /**
42
- * Iterator protocol
43
- *
44
- * @returns {Symbol.iterator}
45
- */
46
- getIterator() {
47
- return this[Symbol.iterator]();
48
- }
41
+ /**
42
+ * Iterator protocol
43
+ *
44
+ * @returns {Symbol.iterator}
45
+ */
46
+ getIterator() {
47
+ return this[Symbol.iterator]();
48
+ }
49
49
 
50
- /**
51
- * Iterator
52
- *
53
- * @returns {{next: ((function(): ({value: *, done: boolean}))|*)}}
54
- */
55
- [Symbol.iterator]() {
56
- // Use a new index for each iterator. This makes multiple
57
- // iterations over the iterable safe for non-trivial cases,
58
- // such as use of break or nested looping over the same iterable.
59
- let index = 0;
60
- let entries = this.entries();
50
+ /**
51
+ * Iterator
52
+ *
53
+ * @returns {{next: ((function(): ({value: *, done: boolean}))|*)}}
54
+ */
55
+ [Symbol.iterator]() {
56
+ // Use a new index for each iterator. This makes multiple
57
+ // iterations over the iterable safe for non-trivial cases,
58
+ // such as use of break or nested looping over the same iterable.
59
+ let index = 0;
60
+ const entries = this.entries();
61
61
 
62
- return {
63
- next: () => {
64
- if (index < entries.length) {
65
- return { value: entries?.[index++], done: false };
66
- } else {
67
- return { done: true };
68
- }
69
- },
70
- };
71
- }
62
+ return {
63
+ next: () => {
64
+ if (index < entries.length) {
65
+ return { value: entries?.[index++], done: false };
66
+ } else {
67
+ return { done: true };
68
+ }
69
+ },
70
+ };
71
+ }
72
72
 
73
- /**
74
- * Returns true if it contains token, otherwise false
75
- *
76
- * @externalExample ../../example/types/tokenlist-2.mjs
77
- * @param {array|string|iteratable} value
78
- * @returns {boolean}
79
- */
80
- contains(value) {
81
- if (isString(value)) {
82
- value = value.trim();
83
- let counter = 0;
84
- value.split(" ").forEach((token) => {
85
- if (this.tokens.has(token.trim()) === false) return false;
86
- counter++;
87
- });
88
- return counter > 0 ? true : false;
89
- }
73
+ /**
74
+ * Returns true if it contains token, otherwise false
75
+ *
76
+ * @externalExample ../../example/types/tokenlist-2.mjs
77
+ * @param {array|string|iteratable} value
78
+ * @returns {boolean}
79
+ */
80
+ contains(value) {
81
+ if (isString(value)) {
82
+ value = value.trim();
83
+ let counter = 0;
84
+ value.split(" ").forEach((token) => {
85
+ if (this.tokens.has(token.trim()) === false) return false;
86
+ counter++;
87
+ });
88
+ return counter > 0 ? true : false;
89
+ }
90
90
 
91
- if (isIterable(value)) {
92
- let counter = 0;
93
- for (let token of value) {
94
- validateString(token);
95
- if (this.tokens.has(token.trim()) === false) return false;
96
- counter++;
97
- }
98
- return counter > 0 ? true : false;
99
- }
91
+ if (isIterable(value)) {
92
+ let counter = 0;
93
+ for (const token of value) {
94
+ validateString(token);
95
+ if (this.tokens.has(token.trim()) === false) return false;
96
+ counter++;
97
+ }
98
+ return counter > 0 ? true : false;
99
+ }
100
100
 
101
- return false;
102
- }
101
+ return false;
102
+ }
103
103
 
104
- /**
105
- * Add tokens
106
- *
107
- * @externalExample ../../example/types/tokenlist-3.mjs
108
- * @param {array|string|iteratable} value
109
- * @returns {TokenList}
110
- * @throws {TypeError} unsupported value
111
- */
112
- add(value) {
113
- if (isString(value)) {
114
- value.split(" ").forEach((token) => {
115
- this.tokens.add(token.trim());
116
- });
117
- } else if (isIterable(value)) {
118
- for (let token of value) {
119
- validateString(token);
120
- this.tokens.add(token.trim());
121
- }
122
- } else if (typeof value !== "undefined") {
123
- throw new TypeError("unsupported value");
124
- }
104
+ /**
105
+ * Add tokens
106
+ *
107
+ * @externalExample ../../example/types/tokenlist-3.mjs
108
+ * @param {array|string|iteratable} value
109
+ * @returns {TokenList}
110
+ * @throws {TypeError} unsupported value
111
+ */
112
+ add(value) {
113
+ if (isString(value)) {
114
+ value.split(" ").forEach((token) => {
115
+ this.tokens.add(token.trim());
116
+ });
117
+ } else if (isIterable(value)) {
118
+ for (const token of value) {
119
+ validateString(token);
120
+ this.tokens.add(token.trim());
121
+ }
122
+ } else if (typeof value !== "undefined") {
123
+ throw new TypeError("unsupported value");
124
+ }
125
125
 
126
- return this;
127
- }
126
+ return this;
127
+ }
128
128
 
129
- /**
130
- * remove all tokens
131
- *
132
- * @returns {TokenList}
133
- */
134
- clear() {
135
- this.tokens.clear();
136
- return this;
137
- }
129
+ /**
130
+ * remove all tokens
131
+ *
132
+ * @returns {TokenList}
133
+ */
134
+ clear() {
135
+ this.tokens.clear();
136
+ return this;
137
+ }
138
138
 
139
- /**
140
- * Removes token
141
- *
142
- * @externalExample ../../example/types/tokenlist-4.mjs
143
- * @param {array|string|iteratable} value
144
- * @returns {TokenList}
145
- * @throws {TypeError} unsupported value
146
- */
147
- remove(value) {
148
- if (isString(value)) {
149
- value.split(" ").forEach((token) => {
150
- this.tokens.delete(token.trim());
151
- });
152
- } else if (isIterable(value)) {
153
- for (let token of value) {
154
- validateString(token);
155
- this.tokens.delete(token.trim());
156
- }
157
- } else if (typeof value !== "undefined") {
158
- throw new TypeError("unsupported value", "types/tokenlist.mjs");
159
- }
139
+ /**
140
+ * Removes token
141
+ *
142
+ * @externalExample ../../example/types/tokenlist-4.mjs
143
+ * @param {array|string|iteratable} value
144
+ * @returns {TokenList}
145
+ * @throws {TypeError} unsupported value
146
+ */
147
+ remove(value) {
148
+ if (isString(value)) {
149
+ value.split(" ").forEach((token) => {
150
+ this.tokens.delete(token.trim());
151
+ });
152
+ } else if (isIterable(value)) {
153
+ for (const token of value) {
154
+ validateString(token);
155
+ this.tokens.delete(token.trim());
156
+ }
157
+ } else if (typeof value !== "undefined") {
158
+ throw new TypeError("unsupported value", "types/tokenlist.mjs");
159
+ }
160
160
 
161
- return this;
162
- }
161
+ return this;
162
+ }
163
163
 
164
- /**
165
- * this method replaces a token with a new token.
166
- *
167
- * if the passed token exists, it is replaced with newToken and TokenList is returned.
168
- * if the token does not exist, newToken is not set and TokenList is returned.
169
- *
170
- * @param {string} token
171
- * @param {string} newToken
172
- * @returns {TokenList}
173
- */
174
- replace(token, newToken) {
175
- validateString(token);
176
- validateString(newToken);
177
- if (!this.contains(token)) {
178
- return this;
179
- }
164
+ /**
165
+ * this method replaces a token with a new token.
166
+ *
167
+ * if the passed token exists, it is replaced with newToken and TokenList is returned.
168
+ * if the token does not exist, newToken is not set and TokenList is returned.
169
+ *
170
+ * @param {string} token
171
+ * @param {string} newToken
172
+ * @returns {TokenList}
173
+ */
174
+ replace(token, newToken) {
175
+ validateString(token);
176
+ validateString(newToken);
177
+ if (!this.contains(token)) {
178
+ return this;
179
+ }
180
180
 
181
- let a = Array.from(this.tokens);
182
- let i = a.indexOf(token);
183
- if (i === -1) return this;
181
+ const a = Array.from(this.tokens);
182
+ const i = a.indexOf(token);
183
+ if (i === -1) return this;
184
184
 
185
- a.splice(i, 1, newToken);
186
- this.tokens = new Set();
187
- this.add(a);
185
+ a.splice(i, 1, newToken);
186
+ this.tokens = new Set();
187
+ this.add(a);
188
188
 
189
- return this;
190
- }
189
+ return this;
190
+ }
191
191
 
192
- /**
193
- * Removes token from string. If token doesn't exist it's added.
194
- *
195
- * @externalExample ../../example/types/tokenlist-5.mjs
196
- * @param {array|string|iteratable} value
197
- * @returns {boolean}
198
- * @throws {TypeError} unsupported value
199
- */
200
- toggle(value) {
201
- if (isString(value)) {
202
- value.split(" ").forEach((token) => {
203
- toggleValue.call(this, token);
204
- });
205
- } else if (isIterable(value)) {
206
- for (let token of value) {
207
- toggleValue.call(this, token);
208
- }
209
- } else if (typeof value !== "undefined") {
210
- throw new TypeError("unsupported value", "types/tokenlist.mjs");
211
- }
192
+ /**
193
+ * Removes token from string. If token doesn't exist it's added.
194
+ *
195
+ * @externalExample ../../example/types/tokenlist-5.mjs
196
+ * @param {array|string|iteratable} value
197
+ * @returns {boolean}
198
+ * @throws {TypeError} unsupported value
199
+ */
200
+ toggle(value) {
201
+ if (isString(value)) {
202
+ value.split(" ").forEach((token) => {
203
+ toggleValue.call(this, token);
204
+ });
205
+ } else if (isIterable(value)) {
206
+ for (const token of value) {
207
+ toggleValue.call(this, token);
208
+ }
209
+ } else if (typeof value !== "undefined") {
210
+ throw new TypeError("unsupported value", "types/tokenlist.mjs");
211
+ }
212
212
 
213
- return this;
214
- }
213
+ return this;
214
+ }
215
215
 
216
- /**
217
- * returns an array with all tokens
218
- *
219
- * @returns {array}
220
- */
221
- entries() {
222
- return Array.from(this.tokens);
223
- }
216
+ /**
217
+ * returns an array with all tokens
218
+ *
219
+ * @returns {array}
220
+ */
221
+ entries() {
222
+ return Array.from(this.tokens);
223
+ }
224
224
 
225
- /**
226
- * executes the provided function with each value of the set
227
- *
228
- * @param {function} callback
229
- * @returns {TokenList}
230
- */
231
- forEach(callback) {
232
- validateFunction(callback);
233
- this.tokens.forEach(callback);
234
- return this;
235
- }
225
+ /**
226
+ * executes the provided function with each value of the set
227
+ *
228
+ * @param {function} callback
229
+ * @returns {TokenList}
230
+ */
231
+ forEach(callback) {
232
+ validateFunction(callback);
233
+ this.tokens.forEach(callback);
234
+ return this;
235
+ }
236
236
 
237
- /**
238
- * returns the individual tokens separated by a blank character
239
- *
240
- * @returns {string}
241
- */
242
- toString() {
243
- return this.entries().join(" ");
244
- }
237
+ /**
238
+ * returns the individual tokens separated by a blank character
239
+ *
240
+ * @returns {string}
241
+ */
242
+ toString() {
243
+ return this.entries().join(" ");
244
+ }
245
245
  }
246
246
 
247
247
  /**
@@ -251,13 +251,14 @@ class TokenList extends Base {
251
251
  * @throws {Error} must be called with TokenList.call
252
252
  */
253
253
  function toggleValue(token) {
254
- if (!(this instanceof TokenList)) throw Error("must be called with TokenList.call");
255
- validateString(token);
256
- token = token.trim();
257
- if (this.contains(token)) {
258
- this.remove(token);
259
- return this;
260
- }
261
- this.add(token);
262
- return this;
254
+ if (!(this instanceof TokenList))
255
+ throw Error("must be called with TokenList.call");
256
+ validateString(token);
257
+ token = token.trim();
258
+ if (this.contains(token)) {
259
+ this.remove(token);
260
+ return this;
261
+ }
262
+ this.add(token);
263
+ return this;
263
264
  }
@@ -20,16 +20,18 @@ export { typeOf };
20
20
  * @throws {TypeError} value is not a primitive
21
21
  */
22
22
  function typeOf(value) {
23
- let type = {}.toString.call(value).match(/\s([a-zA-Z]+)/)[1];
24
- if ("Object" === type) {
25
- const name = value.constructor.name;
26
- if (name) {
27
- return name.toLowerCase();
28
- }
23
+ let type = {}.toString.call(value).match(/\s([a-zA-Z]+)/)[1];
24
+ if ("Object" === type) {
25
+ const name = value.constructor.name;
26
+ if (name) {
27
+ return name.toLowerCase();
28
+ }
29
29
 
30
- const results = /^(class|function)\s+(\w+)/.exec(value.constructor.toString());
31
- type = results && results.length > 2 ? results[2] : "";
32
- }
30
+ const results = /^(class|function)\s+(\w+)/.exec(
31
+ value.constructor.toString(),
32
+ );
33
+ type = results && results.length > 2 ? results[2] : "";
34
+ }
33
35
 
34
- return type.toLowerCase();
36
+ return type.toLowerCase();
35
37
  }