@schukai/monster 3.51.4 → 3.52.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (451) hide show
  1. package/CHANGELOG.md +706 -0
  2. package/README.md +16 -13
  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/package.json +6 -2
  12. package/source/components/constants.mjs +132 -0
  13. package/source/components/datatable/columnbar.mjs +310 -0
  14. package/source/components/datatable/constants.mjs +121 -0
  15. package/source/components/datatable/dataset.mjs +219 -0
  16. package/source/components/datatable/datasource/dom.mjs +186 -0
  17. package/source/components/datatable/datasource/namespace.mjs +13 -0
  18. package/source/components/datatable/datasource/rest.mjs +400 -0
  19. package/source/components/datatable/datasource.mjs +102 -0
  20. package/source/components/datatable/datatable/header.mjs +268 -0
  21. package/source/components/datatable/datatable/namespace.mjs +13 -0
  22. package/source/components/datatable/datatable.mjs +789 -0
  23. package/source/components/datatable/embedded-pagination.mjs +113 -0
  24. package/source/components/datatable/filter/abstract-base.mjs +31 -0
  25. package/source/components/datatable/filter/date-range.mjs +1041 -0
  26. package/source/components/datatable/filter/input.mjs +175 -0
  27. package/source/components/datatable/filter/namespace.mjs +13 -0
  28. package/source/components/datatable/filter/range.mjs +671 -0
  29. package/source/components/datatable/filter/select.mjs +65 -0
  30. package/source/components/datatable/filter/settings.mjs +116 -0
  31. package/source/components/datatable/filter-button.mjs +98 -0
  32. package/source/components/datatable/filter.mjs +929 -0
  33. package/source/components/datatable/namespace.mjs +11 -0
  34. package/source/components/datatable/pagination.mjs +456 -0
  35. package/source/components/datatable/style/column-bar.pcss +123 -0
  36. package/source/components/datatable/style/dataset.pcss +13 -0
  37. package/source/components/datatable/style/datasource.pcss +16 -0
  38. package/source/components/datatable/style/datatable.pcss +239 -0
  39. package/source/components/datatable/style/embedded-pagination.pcss +101 -0
  40. package/source/components/datatable/style/filter-button.pcss +22 -0
  41. package/source/components/datatable/style/filter-controls-defaults.pcss +46 -0
  42. package/source/components/datatable/style/filter-date-range.pcss +9 -0
  43. package/source/components/datatable/style/filter-range.pcss +5 -0
  44. package/source/components/datatable/style/filter.pcss +156 -0
  45. package/source/components/datatable/style/pagination.pcss +59 -0
  46. package/source/components/datatable/style/select-filter.pcss +27 -0
  47. package/source/components/datatable/stylesheet/column-bar.mjs +33 -0
  48. package/source/components/datatable/stylesheet/dataset.mjs +33 -0
  49. package/source/components/datatable/stylesheet/datasource.mjs +33 -0
  50. package/source/components/datatable/stylesheet/datatable.mjs +33 -0
  51. package/source/components/datatable/stylesheet/embedded-pagination.mjs +33 -0
  52. package/source/components/datatable/stylesheet/filter-button.mjs +33 -0
  53. package/source/components/datatable/stylesheet/filter-controls-defaults.mjs +33 -0
  54. package/source/components/datatable/stylesheet/filter-date-range.mjs +33 -0
  55. package/source/components/datatable/stylesheet/filter-range.mjs +33 -0
  56. package/source/components/datatable/stylesheet/filter.mjs +33 -0
  57. package/source/components/datatable/stylesheet/namespace.mjs +13 -0
  58. package/source/components/datatable/stylesheet/pagination.mjs +33 -0
  59. package/source/components/datatable/stylesheet/select-filter.mjs +33 -0
  60. package/source/components/datatable/util.mjs +60 -0
  61. package/source/components/form/action-button.mjs +262 -0
  62. package/source/components/form/api-button.mjs +515 -0
  63. package/source/components/form/button-bar.mjs +739 -0
  64. package/source/components/form/button.mjs +350 -0
  65. package/source/components/form/confirm-button.mjs +330 -0
  66. package/source/components/form/constants.mjs +111 -0
  67. package/source/components/form/context-help.mjs +123 -0
  68. package/source/components/form/events.mjs +84 -0
  69. package/source/components/form/form.mjs +601 -0
  70. package/source/components/form/message-state-button.mjs +396 -0
  71. package/source/components/form/namespace.mjs +13 -0
  72. package/source/components/form/popper-button.mjs +435 -0
  73. package/source/components/form/popper.mjs +487 -0
  74. package/source/components/form/reload.mjs +360 -0
  75. package/source/components/form/select.mjs +2314 -0
  76. package/source/components/form/shadow-reload.mjs +137 -0
  77. package/source/components/form/state-button.mjs +182 -0
  78. package/source/components/form/style/action-button.pcss +41 -0
  79. package/source/components/form/style/api-button.pcss +0 -0
  80. package/source/components/form/style/button-bar.pcss +51 -0
  81. package/source/components/form/style/button.pcss +8 -0
  82. package/source/components/form/style/confirm-button.pcss +17 -0
  83. package/source/components/form/style/context-help.pcss +16 -0
  84. package/source/components/form/style/form.pcss +10 -0
  85. package/source/components/form/style/message-state-button.pcss +10 -0
  86. package/source/components/form/style/popper-button.pcss +16 -0
  87. package/source/components/form/style/popper.pcss +8 -0
  88. package/source/components/form/style/select.pcss +265 -0
  89. package/source/components/form/style/state-button.pcss +116 -0
  90. package/source/components/form/style/tabs.pcss +170 -0
  91. package/source/components/form/style/tree-select.pcss +81 -0
  92. package/source/components/form/stylesheet/action-button.mjs +33 -0
  93. package/source/components/form/stylesheet/api-button.mjs +33 -0
  94. package/source/components/form/stylesheet/button-bar.mjs +33 -0
  95. package/source/components/form/stylesheet/button.mjs +33 -0
  96. package/source/components/form/stylesheet/confirm-button.mjs +33 -0
  97. package/source/components/form/stylesheet/context-help.mjs +33 -0
  98. package/source/components/form/stylesheet/form.mjs +33 -0
  99. package/source/components/form/stylesheet/message-state-button.mjs +33 -0
  100. package/source/components/form/stylesheet/namespace.mjs +13 -0
  101. package/source/components/form/stylesheet/popper-button.mjs +33 -0
  102. package/source/components/form/stylesheet/popper.mjs +33 -0
  103. package/source/components/form/stylesheet/select.mjs +33 -0
  104. package/source/components/form/stylesheet/state-button.mjs +33 -0
  105. package/source/components/form/stylesheet/tabs.mjs +33 -0
  106. package/source/components/form/stylesheet/tree-select.mjs +33 -0
  107. package/source/components/form/tabs.mjs +1011 -0
  108. package/source/components/form/template.mjs +373 -0
  109. package/source/components/form/tree-select.mjs +527 -0
  110. package/source/components/form/types/namespace.mjs +13 -0
  111. package/source/components/form/types/state.mjs +93 -0
  112. package/source/components/form/util/fetch.mjs +133 -0
  113. package/source/components/form/util/floating-ui.mjs +245 -0
  114. package/source/components/form/util/namespace.mjs +13 -0
  115. package/source/components/form/util/popper.mjs +49 -0
  116. package/source/components/host/call-button.mjs +236 -0
  117. package/source/components/host/collapse.mjs +526 -0
  118. package/source/components/host/config-manager.mjs +304 -0
  119. package/source/components/host/constants.mjs +18 -0
  120. package/source/components/host/details.mjs +268 -0
  121. package/source/components/host/events.mjs +131 -0
  122. package/source/components/host/host.mjs +420 -0
  123. package/source/components/host/namespace.mjs +13 -0
  124. package/source/components/host/overlay.mjs +339 -0
  125. package/source/components/host/style/call-button.pcss +36 -0
  126. package/source/components/host/style/collapse.pcss +67 -0
  127. package/source/components/host/style/config-manager.pcss +5 -0
  128. package/source/components/host/style/details.pcss +68 -0
  129. package/source/components/host/style/host.pcss +43 -0
  130. package/source/components/host/style/overlay.pcss +73 -0
  131. package/source/components/host/style/toggle-button.pcss +36 -0
  132. package/source/components/host/style/viewer.pcss +13 -0
  133. package/source/components/host/stylesheet/call-button.mjs +33 -0
  134. package/source/components/host/stylesheet/collapse.mjs +33 -0
  135. package/source/components/host/stylesheet/config-manager.mjs +33 -0
  136. package/source/components/host/stylesheet/details.mjs +33 -0
  137. package/source/components/host/stylesheet/host.mjs +33 -0
  138. package/source/components/host/stylesheet/namespace.mjs +13 -0
  139. package/source/components/host/stylesheet/overlay.mjs +33 -0
  140. package/source/components/host/stylesheet/toggle-button.mjs +33 -0
  141. package/source/components/host/stylesheet/viewer.mjs +33 -0
  142. package/source/components/host/toggle-button.mjs +88 -0
  143. package/source/components/host/util.mjs +23 -0
  144. package/source/components/host/viewer.mjs +309 -0
  145. package/source/components/namespace.mjs +14 -0
  146. package/source/components/notify/constants.mjs +15 -0
  147. package/source/components/notify/events.mjs +15 -0
  148. package/source/components/notify/message.mjs +374 -0
  149. package/source/components/notify/namespace.mjs +15 -0
  150. package/source/components/notify/notify.mjs +236 -0
  151. package/source/components/notify/style/message.pcss +57 -0
  152. package/source/components/notify/style/notify.pcss +118 -0
  153. package/source/components/notify/stylesheet/message.mjs +33 -0
  154. package/source/components/notify/stylesheet/namespace.mjs +15 -0
  155. package/source/components/notify/stylesheet/notify.mjs +33 -0
  156. package/source/components/state/log/entry.mjs +126 -0
  157. package/source/components/state/log/namespace.mjs +13 -0
  158. package/source/components/state/log.mjs +275 -0
  159. package/source/components/state/namespace.mjs +13 -0
  160. package/source/components/state/state.mjs +131 -0
  161. package/source/components/state/style/log.pcss +111 -0
  162. package/source/components/state/style/state.pcss +113 -0
  163. package/source/components/state/stylesheet/log.mjs +33 -0
  164. package/source/components/state/stylesheet/state.mjs +33 -0
  165. package/source/components/style/badge.pcss +92 -0
  166. package/source/components/style/border.pcss +77 -0
  167. package/source/components/style/button.pcss +105 -0
  168. package/source/components/style/card.pcss +108 -0
  169. package/source/components/style/color.pcss +257 -0
  170. package/source/components/style/common.pcss +103 -0
  171. package/source/components/style/control.pcss +11 -0
  172. package/source/components/style/data-grid.pcss +43 -0
  173. package/source/components/style/display.pcss +42 -0
  174. package/source/components/style/floating-ui.pcss +33 -0
  175. package/source/components/style/form.pcss +5 -0
  176. package/source/components/style/host.pcss +15 -0
  177. package/source/components/style/link.pcss +63 -0
  178. package/source/components/style/mixin/badge.pcss +18 -0
  179. package/source/components/style/mixin/button.pcss +54 -0
  180. package/source/components/style/mixin/form.pcss +247 -0
  181. package/source/components/style/mixin/hover.pcss +8 -0
  182. package/source/components/style/mixin/media.pcss +107 -0
  183. package/source/components/style/mixin/property.pcss +288 -0
  184. package/source/components/style/mixin/skeleton.pcss +26 -0
  185. package/source/components/style/mixin/spinner.pcss +24 -0
  186. package/source/components/style/mixin/typography.pcss +52 -0
  187. package/source/components/style/normalize.pcss +14 -0
  188. package/source/components/style/popper.pcss +78 -0
  189. package/source/components/style/property.pcss +17 -0
  190. package/source/components/style/ripple.pcss +14 -0
  191. package/source/components/style/skeleton.pcss +28 -0
  192. package/source/components/style/space.pcss +47 -0
  193. package/source/components/style/spinner.pcss +6 -0
  194. package/source/components/style/table.pcss +46 -0
  195. package/source/components/style/theme.pcss +119 -0
  196. package/source/components/style/typography.pcss +131 -0
  197. package/source/components/stylesheet/badge.mjs +33 -0
  198. package/source/components/stylesheet/border.mjs +33 -0
  199. package/source/components/stylesheet/button.mjs +33 -0
  200. package/source/components/stylesheet/card.mjs +33 -0
  201. package/source/components/stylesheet/color.mjs +33 -0
  202. package/source/components/stylesheet/common.mjs +33 -0
  203. package/source/components/stylesheet/control.mjs +33 -0
  204. package/source/components/stylesheet/data-grid.mjs +33 -0
  205. package/source/components/stylesheet/display.mjs +33 -0
  206. package/source/components/stylesheet/floating-ui.mjs +33 -0
  207. package/source/components/stylesheet/form.mjs +33 -0
  208. package/source/components/stylesheet/host.mjs +33 -0
  209. package/source/components/stylesheet/link.mjs +33 -0
  210. package/source/components/stylesheet/namespace.mjs +13 -0
  211. package/source/components/stylesheet/normalize.mjs +33 -0
  212. package/source/components/stylesheet/popper.mjs +33 -0
  213. package/source/components/stylesheet/property.mjs +33 -0
  214. package/source/components/stylesheet/ripple.mjs +33 -0
  215. package/source/components/stylesheet/skeleton.mjs +33 -0
  216. package/source/components/stylesheet/space.mjs +33 -0
  217. package/source/components/stylesheet/spinner.mjs +33 -0
  218. package/source/components/stylesheet/table.mjs +33 -0
  219. package/source/components/stylesheet/theme.mjs +33 -0
  220. package/source/components/stylesheet/tree-menu.mjs +33 -0
  221. package/source/components/stylesheet/typography.mjs +33 -0
  222. package/source/components/tree-menu/namespace.mjs +13 -0
  223. package/source/components/tree-menu/style/tree-menu.pcss +107 -0
  224. package/source/components/tree-menu/stylesheet/namespace.mjs +13 -0
  225. package/source/components/tree-menu/stylesheet/tree-menu.mjs +33 -0
  226. package/source/components/tree-menu/tree-menu.mjs +660 -0
  227. package/source/constraints/abstract.mjs +17 -24
  228. package/source/constraints/abstractoperator.mjs +27 -22
  229. package/source/constraints/andoperator.mjs +20 -17
  230. package/source/constraints/invalid.mjs +17 -17
  231. package/source/constraints/isarray.mjs +20 -20
  232. package/source/constraints/isobject.mjs +20 -20
  233. package/source/constraints/oroperator.mjs +45 -45
  234. package/source/constraints/valid.mjs +17 -17
  235. package/source/data/buildmap.mjs +108 -103
  236. package/source/data/buildtree.mjs +59 -57
  237. package/source/data/datasource/dom.mjs +80 -84
  238. package/source/data/datasource/namespace.mjs +1 -1
  239. package/source/data/datasource/server/restapi/data-fetch-error.mjs +27 -25
  240. package/source/data/datasource/server/restapi/writeerror.mjs +34 -32
  241. package/source/data/datasource/server/restapi.mjs +176 -177
  242. package/source/data/datasource/server/webconnect.mjs +150 -156
  243. package/source/data/datasource/server.mjs +58 -59
  244. package/source/data/datasource/storage/localstorage.mjs +25 -24
  245. package/source/data/datasource/storage/sessionstorage.mjs +28 -25
  246. package/source/data/datasource/storage.mjs +74 -73
  247. package/source/data/datasource.mjs +176 -167
  248. package/source/data/diff.mjs +98 -97
  249. package/source/data/extend.mjs +42 -42
  250. package/source/data/pathfinder.mjs +301 -288
  251. package/source/data/pipe.mjs +36 -36
  252. package/source/data/transformer.mjs +742 -726
  253. package/source/dom/assembler.mjs +44 -44
  254. package/source/dom/attributes.mjs +142 -122
  255. package/source/dom/constants.mjs +62 -58
  256. package/source/dom/customcontrol.mjs +299 -299
  257. package/source/dom/customelement.mjs +843 -806
  258. package/source/dom/dimension.mjs +56 -46
  259. package/source/dom/events.mjs +74 -69
  260. package/source/dom/focusmanager.mjs +175 -175
  261. package/source/dom/locale.mjs +28 -28
  262. package/source/dom/ready.mjs +13 -13
  263. package/source/dom/resource/data.mjs +117 -111
  264. package/source/dom/resource/link/stylesheet.mjs +16 -16
  265. package/source/dom/resource/link.mjs +94 -96
  266. package/source/dom/resource/script.mjs +72 -74
  267. package/source/dom/resource.mjs +174 -172
  268. package/source/dom/resourcemanager.mjs +152 -156
  269. package/source/dom/slotted.mjs +78 -80
  270. package/source/dom/template.mjs +126 -112
  271. package/source/dom/theme.mjs +35 -35
  272. package/source/dom/updater.mjs +673 -651
  273. package/source/dom/util/extract-keys.mjs +34 -22
  274. package/source/dom/util/init-options-from-attributes.mjs +46 -38
  275. package/source/dom/util/namespace.mjs +13 -0
  276. package/source/dom/util/set-option-from-attribute.mjs +35 -29
  277. package/source/dom/util.mjs +112 -81
  278. package/source/dom/worker/factory.mjs +83 -83
  279. package/source/i18n/formatter.mjs +75 -73
  280. package/source/i18n/locale.mjs +146 -144
  281. package/source/i18n/provider.mjs +70 -64
  282. package/source/i18n/providers/embed.mjs +136 -127
  283. package/source/i18n/providers/fetch.mjs +84 -76
  284. package/source/i18n/translations.mjs +205 -195
  285. package/source/logging/handler/console.mjs +36 -36
  286. package/source/logging/handler.mjs +140 -140
  287. package/source/logging/logentry.mjs +25 -25
  288. package/source/logging/logger.mjs +177 -175
  289. package/source/math/random.mjs +63 -59
  290. package/source/monster.mjs +226 -217
  291. package/source/net/webconnect/message.mjs +31 -31
  292. package/source/net/webconnect.mjs +278 -271
  293. package/source/text/bracketed-key-value-hash.mjs +182 -179
  294. package/source/text/formatter.mjs +235 -210
  295. package/source/text/generate-range-comparison-expression.mjs +56 -34
  296. package/source/text/namespace.mjs +1 -1
  297. package/source/types/base.mjs +69 -61
  298. package/source/types/basewithoptions.mjs +46 -46
  299. package/source/types/binary.mjs +20 -20
  300. package/source/types/dataurl.mjs +96 -90
  301. package/source/types/global.mjs +45 -39
  302. package/source/types/id.mjs +25 -25
  303. package/source/types/internal.mjs +115 -114
  304. package/source/types/is.mjs +56 -40
  305. package/source/types/mediatype.mjs +119 -119
  306. package/source/types/namespace.mjs +1 -1
  307. package/source/types/node.mjs +160 -150
  308. package/source/types/nodelist.mjs +94 -96
  309. package/source/types/noderecursiveiterator.mjs +50 -50
  310. package/source/types/observablequeue.mjs +73 -73
  311. package/source/types/observer.mjs +104 -104
  312. package/source/types/observerlist.mjs +66 -66
  313. package/source/types/proxyobserver.mjs +210 -210
  314. package/source/types/queue.mjs +63 -63
  315. package/source/types/randomid.mjs +13 -13
  316. package/source/types/regex.mjs +3 -1
  317. package/source/types/stack.mjs +64 -64
  318. package/source/types/tokenlist.mjs +206 -205
  319. package/source/types/typeof.mjs +12 -10
  320. package/source/types/uniquequeue.mjs +48 -48
  321. package/source/types/uuid.mjs +32 -32
  322. package/source/types/validate.mjs +67 -67
  323. package/source/types/version.mjs +115 -105
  324. package/source/util/clone.mjs +103 -91
  325. package/source/util/comparator.mjs +97 -97
  326. package/source/util/deadmansswitch.mjs +40 -44
  327. package/source/util/freeze.mjs +10 -9
  328. package/source/util/namespace.mjs +1 -1
  329. package/source/util/processing.mjs +104 -105
  330. package/source/util/runtime.mjs +56 -44
  331. package/source/util/trimspaces.mjs +24 -24
  332. package/test/cases/components/form/button.mjs +122 -0
  333. package/test/cases/components/form/confirm-button.mjs +127 -0
  334. package/test/cases/components/form/form.mjs +317 -0
  335. package/test/cases/components/form/reload.mjs +188 -0
  336. package/test/cases/components/form/select.mjs +229 -0
  337. package/test/cases/components/form/state-button.mjs +130 -0
  338. package/test/cases/components/form/tabs.mjs +98 -0
  339. package/test/cases/components/form/template.mjs +189 -0
  340. package/test/cases/components/form/tree-select.mjs +216 -0
  341. package/test/cases/components/host/details.mjs +68 -0
  342. package/test/cases/components/host/host.mjs +70 -0
  343. package/test/cases/components/host/overlay.mjs +60 -0
  344. package/test/cases/components/host/util.mjs +79 -0
  345. package/test/cases/components/notify/message.mjs +39 -0
  346. package/test/cases/components/notify/notify.mjs +89 -0
  347. package/test/cases/constraint/abstractoperator.mjs +2 -2
  348. package/test/cases/constraint/andoperator.mjs +3 -3
  349. package/test/cases/constraint/invalid.mjs +1 -1
  350. package/test/cases/constraint/isarray.mjs +1 -1
  351. package/test/cases/constraint/isobject.mjs +1 -1
  352. package/test/cases/constraint/oroperator.mjs +3 -3
  353. package/test/cases/constraint/valid.mjs +1 -1
  354. package/test/cases/data/buildmap.mjs +1 -1
  355. package/test/cases/data/buildtree.mjs +2 -2
  356. package/test/cases/data/datasource/dom.mjs +1 -1
  357. package/test/cases/data/datasource/server/restapi.mjs +2 -2
  358. package/test/cases/data/datasource/server/websocket.mjs +1 -1
  359. package/test/cases/data/datasource/server.mjs +1 -1
  360. package/test/cases/data/datasource/storage/localstorage.mjs +1 -1
  361. package/test/cases/data/datasource/storage/sessionstorage.mjs +1 -1
  362. package/test/cases/data/datasource.mjs +1 -1
  363. package/test/cases/data/diff.mjs +2 -2
  364. package/test/cases/data/extend.mjs +1 -1
  365. package/test/cases/data/pathfinder.mjs +1 -1
  366. package/test/cases/data/pipe.mjs +2 -2
  367. package/test/cases/data/transformer.mjs +3 -4
  368. package/test/cases/dom/assembler.mjs +1 -1
  369. package/test/cases/dom/attributes.mjs +1 -1
  370. package/test/cases/dom/customcontrol.mjs +8 -7
  371. package/test/cases/dom/customelement-initfromscripthost.mjs +6 -6
  372. package/test/cases/dom/customelement.mjs +7 -7
  373. package/test/cases/dom/dimension.mjs +4 -4
  374. package/test/cases/dom/events.mjs +1 -1
  375. package/test/cases/dom/find.mjs +1 -1
  376. package/test/cases/dom/focusmanager.mjs +1 -1
  377. package/test/cases/dom/locale.mjs +2 -2
  378. package/test/cases/dom/ready.mjs +1 -1
  379. package/test/cases/dom/resource/data.mjs +3 -3
  380. package/test/cases/dom/resource/link/stylesheet.mjs +3 -3
  381. package/test/cases/dom/resource/link.mjs +3 -3
  382. package/test/cases/dom/resource/script.mjs +3 -3
  383. package/test/cases/dom/resource.mjs +1 -1
  384. package/test/cases/dom/resourcemanager.mjs +1 -1
  385. package/test/cases/dom/slotted-nodes.mjs +1 -1
  386. package/test/cases/dom/template.mjs +2 -2
  387. package/test/cases/dom/theme.mjs +2 -2
  388. package/test/cases/dom/updater.mjs +4 -4
  389. package/test/cases/dom/util/extract-keys.mjs +1 -1
  390. package/test/cases/dom/util/init-options-from-attributes.mjs +1 -1
  391. package/test/cases/dom/util.mjs +2 -2
  392. package/test/cases/dom/worker/factory.mjs +2 -2
  393. package/test/cases/i18n/formatter.mjs +2 -2
  394. package/test/cases/i18n/locale.mjs +1 -1
  395. package/test/cases/i18n/provider.mjs +4 -4
  396. package/test/cases/i18n/providers/embed.mjs +3 -3
  397. package/test/cases/i18n/providers/fetch.mjs +3 -3
  398. package/test/cases/i18n/translations.mjs +3 -3
  399. package/test/cases/logging/handler/console.mjs +3 -3
  400. package/test/cases/logging/handler.mjs +3 -3
  401. package/test/cases/logging/logentry.mjs +1 -1
  402. package/test/cases/logging/logger.mjs +1 -1
  403. package/test/cases/math/random.mjs +1 -2
  404. package/test/cases/monster.mjs +2 -2
  405. package/test/cases/net/webconnect/message.mjs +1 -2
  406. package/test/cases/net/webconnect.mjs +3 -3
  407. package/test/cases/text/bracketed-key-value-hash.mjs +1 -1
  408. package/test/cases/text/formatter.mjs +1 -1
  409. package/test/cases/text/util.mjs +1 -1
  410. package/test/cases/types/base.mjs +2 -2
  411. package/test/cases/types/basewithoptions.mjs +1 -1
  412. package/test/cases/types/binary.mjs +1 -1
  413. package/test/cases/types/dataurl.mjs +1 -1
  414. package/test/cases/types/global.mjs +1 -1
  415. package/test/cases/types/id.mjs +1 -1
  416. package/test/cases/types/internal.mjs +2 -2
  417. package/test/cases/types/is.mjs +2 -2
  418. package/test/cases/types/mediatype.mjs +1 -1
  419. package/test/cases/types/node.mjs +4 -4
  420. package/test/cases/types/nodelist.mjs +2 -2
  421. package/test/cases/types/noderecursiveiterator.mjs +3 -3
  422. package/test/cases/types/observablequeue.mjs +2 -2
  423. package/test/cases/types/observer.mjs +1 -1
  424. package/test/cases/types/observerlist.mjs +2 -2
  425. package/test/cases/types/proxyobserver.mjs +4 -4
  426. package/test/cases/types/queue.mjs +1 -1
  427. package/test/cases/types/randomid.mjs +1 -1
  428. package/test/cases/types/regex.mjs +1 -1
  429. package/test/cases/types/stack.mjs +1 -1
  430. package/test/cases/types/tokenlist.mjs +1 -1
  431. package/test/cases/types/typeof.mjs +2 -2
  432. package/test/cases/types/uniquequeue.mjs +1 -1
  433. package/test/cases/types/uuid.mjs +1 -1
  434. package/test/cases/types/validate.mjs +3 -3
  435. package/test/cases/types/version.mjs +1 -1
  436. package/test/cases/util/clone.mjs +1 -1
  437. package/test/cases/util/comparator.mjs +1 -1
  438. package/test/cases/util/deadmansswitch.mjs +1 -1
  439. package/test/cases/util/freeze.mjs +1 -1
  440. package/test/cases/util/processing.mjs +1 -1
  441. package/test/cases/util/trimspaces.mjs +1 -1
  442. package/test/util/chai-dom.mjs +2 -2
  443. package/test/util/intersection-mock.mjs +69 -0
  444. package/test/util/jsdom.mjs +43 -27
  445. package/test/util/localstorage.mjs +1 -0
  446. package/test/util/resize-observer.mjs +29 -0
  447. package/test/util/websocket.mjs +5 -2
  448. package/test/web/import.js +92 -73
  449. package/test/web/test.html +28 -5
  450. package/test/web/tests.js +29430 -15209
  451. package/CHANGELOG +0 -438
@@ -6,9 +6,19 @@
6
6
  */
7
7
 
8
8
  import { Base } from "../types/base.mjs";
9
- import { isArray, isInteger, isObject, isPrimitive, isString } from "../types/is.mjs";
9
+ import {
10
+ isArray,
11
+ isInteger,
12
+ isObject,
13
+ isPrimitive,
14
+ isString,
15
+ } from "../types/is.mjs";
10
16
  import { Stack } from "../types/stack.mjs";
11
- import { validateInteger, validateBoolean, validateString } from "../types/validate.mjs";
17
+ import {
18
+ validateInteger,
19
+ validateBoolean,
20
+ validateString,
21
+ } from "../types/validate.mjs";
12
22
 
13
23
  export { Pathfinder, DELIMITER, WILDCARD };
14
24
 
@@ -72,99 +82,99 @@ const WILDCARD = "*";
72
82
  * @memberOf Monster.Data
73
83
  */
74
84
  class Pathfinder extends Base {
75
- /**
76
- * @param {array|object|Map|Set} value
77
- * @since 1.4.0
78
- * @throws {Error} the parameter must not be a simple type
79
- **/
80
- constructor(object) {
81
- super();
82
-
83
- if (isPrimitive(object)) {
84
- throw new Error("the parameter must not be a simple type");
85
- }
86
-
87
- this.object = object;
88
- this.wildCard = WILDCARD;
89
- }
90
-
91
- /**
92
- * set wildcard
93
- *
94
- * @param {string} wildcard
95
- * @return {Pathfinder}
96
- * @since 1.7.0
97
- */
98
- setWildCard(wildcard) {
99
- validateString(wildcard);
100
- this.wildCard = wildcard;
101
- return this;
102
- }
103
-
104
- /**
105
- *
106
- * @param {string|array} path
107
- * @since 1.4.0
108
- * @returns {*}
109
- * @throws {TypeError} unsupported type
110
- * @throws {Error} the journey is not at its end
111
- * @throws {TypeError} value is not a string
112
- * @throws {TypeError} value is not an integer
113
- * @throws {Error} unsupported action for this data type
114
- */
115
- getVia(path) {
116
- return getValueViaPath.call(this, this.object, path);
117
- }
118
-
119
- /**
120
- *
121
- * @param {string|array} path
122
- * @param {*} value
123
- * @returns {Pathfinder}
124
- * @since 1.4.0
125
- * @throws {TypeError} unsupported type
126
- * @throws {TypeError} value is not a string
127
- * @throws {TypeError} value is not an integer
128
- * @throws {Error} unsupported action for this data type
129
- */
130
- setVia(path, value) {
131
- setValueViaPath.call(this, this.object, path, value);
132
- return this;
133
- }
134
-
135
- /**
136
- * Delete Via Path
137
- *
138
- * @param {string|array} path
139
- * @returns {Pathfinder}
140
- * @since 1.6.0
141
- * @throws {TypeError} unsupported type
142
- * @throws {TypeError} value is not a string
143
- * @throws {TypeError} value is not an integer
144
- * @throws {Error} unsupported action for this data type
145
- */
146
- deleteVia(path) {
147
- deleteValueViaPath.call(this, this.object, path);
148
- return this;
149
- }
150
-
151
- /**
152
- *
153
- * @param {string|array} path
154
- * @return {bool}
155
- * @throws {TypeError} unsupported type
156
- * @throws {TypeError} value is not a string
157
- * @throws {TypeError} value is not an integer
158
- * @since 1.4.0
159
- */
160
- exists(path) {
161
- try {
162
- getValueViaPath.call(this, this.object, path, true);
163
- return true;
164
- } catch (e) {}
165
-
166
- return false;
167
- }
85
+ /**
86
+ * @param {array|object|Map|Set} value
87
+ * @since 1.4.0
88
+ * @throws {Error} the parameter must not be a simple type
89
+ **/
90
+ constructor(object) {
91
+ super();
92
+
93
+ if (isPrimitive(object)) {
94
+ throw new Error("the parameter must not be a simple type");
95
+ }
96
+
97
+ this.object = object;
98
+ this.wildCard = WILDCARD;
99
+ }
100
+
101
+ /**
102
+ * set wildcard
103
+ *
104
+ * @param {string} wildcard
105
+ * @return {Pathfinder}
106
+ * @since 1.7.0
107
+ */
108
+ setWildCard(wildcard) {
109
+ validateString(wildcard);
110
+ this.wildCard = wildcard;
111
+ return this;
112
+ }
113
+
114
+ /**
115
+ *
116
+ * @param {string|array} path
117
+ * @since 1.4.0
118
+ * @returns {*}
119
+ * @throws {TypeError} unsupported type
120
+ * @throws {Error} the journey is not at its end
121
+ * @throws {TypeError} value is not a string
122
+ * @throws {TypeError} value is not an integer
123
+ * @throws {Error} unsupported action for this data type
124
+ */
125
+ getVia(path) {
126
+ return getValueViaPath.call(this, this.object, path);
127
+ }
128
+
129
+ /**
130
+ *
131
+ * @param {string|array} path
132
+ * @param {*} value
133
+ * @returns {Pathfinder}
134
+ * @since 1.4.0
135
+ * @throws {TypeError} unsupported type
136
+ * @throws {TypeError} value is not a string
137
+ * @throws {TypeError} value is not an integer
138
+ * @throws {Error} unsupported action for this data type
139
+ */
140
+ setVia(path, value) {
141
+ setValueViaPath.call(this, this.object, path, value);
142
+ return this;
143
+ }
144
+
145
+ /**
146
+ * Delete Via Path
147
+ *
148
+ * @param {string|array} path
149
+ * @returns {Pathfinder}
150
+ * @since 1.6.0
151
+ * @throws {TypeError} unsupported type
152
+ * @throws {TypeError} value is not a string
153
+ * @throws {TypeError} value is not an integer
154
+ * @throws {Error} unsupported action for this data type
155
+ */
156
+ deleteVia(path) {
157
+ deleteValueViaPath.call(this, this.object, path);
158
+ return this;
159
+ }
160
+
161
+ /**
162
+ *
163
+ * @param {string|array} path
164
+ * @return {bool}
165
+ * @throws {TypeError} unsupported type
166
+ * @throws {TypeError} value is not a string
167
+ * @throws {TypeError} value is not an integer
168
+ * @since 1.4.0
169
+ */
170
+ exists(path) {
171
+ try {
172
+ getValueViaPath.call(this, this.object, path, true);
173
+ return true;
174
+ } catch (e) {}
175
+
176
+ return false;
177
+ }
168
178
  }
169
179
 
170
180
  /**
@@ -179,27 +189,27 @@ class Pathfinder extends Base {
179
189
  * @private
180
190
  */
181
191
  function iterate(subject, path, check) {
182
- if (check === undefined) {
183
- check = false;
184
- }
185
- validateBoolean(check);
186
-
187
- const result = new Map();
188
-
189
- if (isArray(path)) {
190
- path = path.join(DELIMITER);
191
- }
192
-
193
- if (isObject(subject) || isArray(subject)) {
194
- for (const [key, value] of Object.entries(subject)) {
195
- result.set(key, getValueViaPath.call(this, value, path, check));
196
- }
197
- } else {
198
- let key = path.split(DELIMITER).shift();
199
- result.set(key, getValueViaPath.call(this, subject, path, check));
200
- }
201
-
202
- return result;
192
+ if (check === undefined) {
193
+ check = false;
194
+ }
195
+ validateBoolean(check);
196
+
197
+ const result = new Map();
198
+
199
+ if (isArray(path)) {
200
+ path = path.join(DELIMITER);
201
+ }
202
+
203
+ if (isObject(subject) || isArray(subject)) {
204
+ for (const [key, value] of Object.entries(subject)) {
205
+ result.set(key, getValueViaPath.call(this, value, path, check));
206
+ }
207
+ } else {
208
+ const key = path.split(DELIMITER).shift();
209
+ result.set(key, getValueViaPath.call(this, subject, path, check));
210
+ }
211
+
212
+ return result;
203
213
  }
204
214
 
205
215
  /**
@@ -214,68 +224,71 @@ function iterate(subject, path, check) {
214
224
  * @private
215
225
  */
216
226
  function getValueViaPath(subject, path, check) {
217
- if (check === undefined) {
218
- check = false;
219
- }
220
- validateBoolean(check);
221
-
222
- if (!(isArray(path) || isString(path))) {
223
- throw new Error("type error: path must be a string or an array");
224
- }
225
-
226
- let parts;
227
- if (isString(path)) {
228
- if (path === "") {
229
- return subject;
230
- }
231
-
232
- parts = path.split(DELIMITER);
233
- }
234
-
235
- let current = parts.shift();
236
-
237
- if (current === this.wildCard) {
238
- return iterate.call(this, subject, parts.join(DELIMITER), check);
239
- }
240
-
241
- if (isObject(subject) || isArray(subject)) {
242
- let anchor;
243
- if (subject instanceof Map || subject instanceof WeakMap) {
244
- anchor = subject.get(current);
245
- } else if (subject instanceof Set || subject instanceof WeakSet) {
246
- current = parseInt(current);
247
- validateInteger(current);
248
- anchor = [...subject]?.[current];
249
- } else if (typeof WeakRef === "function" && subject instanceof WeakRef) {
250
- throw Error("unsupported action for this data type");
251
- } else if (isArray(subject)) {
252
- current = parseInt(current);
253
- validateInteger(current);
254
- anchor = subject?.[current];
255
- } else {
256
- anchor = subject?.[current];
257
- }
258
-
259
- if (isObject(anchor) || isArray(anchor)) {
260
- return getValueViaPath.call(this, anchor, parts.join(DELIMITER), check);
261
- }
262
-
263
- if (parts.length > 0) {
264
- throw Error(`the journey is not at its end (${parts.join(DELIMITER)})`);
265
- }
266
-
267
- if (check === true) {
268
- const descriptor = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(subject), current);
269
-
270
- if (!subject.hasOwnProperty(current) && descriptor === undefined) {
271
- throw Error("unknown value");
272
- }
273
- }
274
-
275
- return anchor;
276
- }
277
-
278
- throw TypeError(`unsupported type ${typeof subject}`);
227
+ if (check === undefined) {
228
+ check = false;
229
+ }
230
+ validateBoolean(check);
231
+
232
+ if (!(isArray(path) || isString(path))) {
233
+ throw new Error("type error: path must be a string or an array");
234
+ }
235
+
236
+ let parts;
237
+ if (isString(path)) {
238
+ if (path === "") {
239
+ return subject;
240
+ }
241
+
242
+ parts = path.split(DELIMITER);
243
+ }
244
+
245
+ let current = parts.shift();
246
+
247
+ if (current === this.wildCard) {
248
+ return iterate.call(this, subject, parts.join(DELIMITER), check);
249
+ }
250
+
251
+ if (isObject(subject) || isArray(subject)) {
252
+ let anchor;
253
+ if (subject instanceof Map || subject instanceof WeakMap) {
254
+ anchor = subject.get(current);
255
+ } else if (subject instanceof Set || subject instanceof WeakSet) {
256
+ current = parseInt(current);
257
+ validateInteger(current);
258
+ anchor = [...subject]?.[current];
259
+ } else if (typeof WeakRef === "function" && subject instanceof WeakRef) {
260
+ throw Error("unsupported action for this data type");
261
+ } else if (isArray(subject)) {
262
+ current = parseInt(current);
263
+ validateInteger(current);
264
+ anchor = subject?.[current];
265
+ } else {
266
+ anchor = subject?.[current];
267
+ }
268
+
269
+ if (isObject(anchor) || isArray(anchor)) {
270
+ return getValueViaPath.call(this, anchor, parts.join(DELIMITER), check);
271
+ }
272
+
273
+ if (parts.length > 0) {
274
+ throw Error(`the journey is not at its end (${parts.join(DELIMITER)})`);
275
+ }
276
+
277
+ if (check === true) {
278
+ const descriptor = Object.getOwnPropertyDescriptor(
279
+ Object.getPrototypeOf(subject),
280
+ current,
281
+ );
282
+
283
+ if (!subject.hasOwnProperty(current) && descriptor === undefined) {
284
+ throw Error("unknown value");
285
+ }
286
+ }
287
+
288
+ return anchor;
289
+ }
290
+
291
+ throw TypeError(`unsupported type ${typeof subject}`);
279
292
  }
280
293
 
281
294
  /**
@@ -291,72 +304,72 @@ function getValueViaPath(subject, path, check) {
291
304
  * @private
292
305
  */
293
306
  function setValueViaPath(subject, path, value) {
294
- if (!(isArray(path) || isString(path))) {
295
- throw new Error("type error: path must be a string or an array");
296
- }
297
-
298
- let parts;
299
- if (isArray(path)) {
300
- if (path.length === 0) {
301
- return subject;
302
- }
303
-
304
- parts = path;
305
- } else {
306
- parts = path.split(DELIMITER);
307
- }
308
-
309
- let last = parts.pop();
310
- let subpath = parts.join(DELIMITER);
311
-
312
- let stack = new Stack();
313
- let current = subpath;
314
- while (true) {
315
- try {
316
- getValueViaPath.call(this, subject, current, true);
317
- break;
318
- } catch (e) {}
319
-
320
- stack.push(current);
321
- parts.pop();
322
- current = parts.join(DELIMITER);
323
-
324
- if (current === "") break;
325
- }
326
-
327
- while (!stack.isEmpty()) {
328
- current = stack.pop();
329
- let obj = {};
330
-
331
- if (!stack.isEmpty()) {
332
- let n = stack.peek().split(DELIMITER).pop();
333
- if (isInteger(parseInt(n))) {
334
- obj = [];
335
- }
336
- }
337
-
338
- setValueViaPath.call(this, subject, current, obj);
339
- }
340
-
341
- let anchor = getValueViaPath.call(this, subject, subpath);
342
-
343
- if (!(isObject(subject) || isArray(subject))) {
344
- throw TypeError(`unsupported type: ${typeof subject}`);
345
- }
346
-
347
- if (anchor instanceof Map || anchor instanceof WeakMap) {
348
- anchor.set(last, value);
349
- } else if (anchor instanceof Set || anchor instanceof WeakSet) {
350
- anchor.append(value);
351
- } else if (typeof WeakRef === "function" && anchor instanceof WeakRef) {
352
- throw Error("unsupported action for this data type");
353
- } else if (isArray(anchor)) {
354
- last = parseInt(last);
355
- validateInteger(last);
356
- assignProperty(anchor, last, value);
357
- } else {
358
- assignProperty(anchor, last, value);
359
- }
307
+ if (!(isArray(path) || isString(path))) {
308
+ throw new Error("type error: path must be a string or an array");
309
+ }
310
+
311
+ let parts;
312
+ if (isArray(path)) {
313
+ if (path.length === 0) {
314
+ return subject;
315
+ }
316
+
317
+ parts = path;
318
+ } else {
319
+ parts = path.split(DELIMITER);
320
+ }
321
+
322
+ let last = parts.pop();
323
+ const subpath = parts.join(DELIMITER);
324
+
325
+ const stack = new Stack();
326
+ let current = subpath;
327
+ while (true) {
328
+ try {
329
+ getValueViaPath.call(this, subject, current, true);
330
+ break;
331
+ } catch (e) {}
332
+
333
+ stack.push(current);
334
+ parts.pop();
335
+ current = parts.join(DELIMITER);
336
+
337
+ if (current === "") break;
338
+ }
339
+
340
+ while (!stack.isEmpty()) {
341
+ current = stack.pop();
342
+ let obj = {};
343
+
344
+ if (!stack.isEmpty()) {
345
+ const n = stack.peek().split(DELIMITER).pop();
346
+ if (isInteger(parseInt(n))) {
347
+ obj = [];
348
+ }
349
+ }
350
+
351
+ setValueViaPath.call(this, subject, current, obj);
352
+ }
353
+
354
+ const anchor = getValueViaPath.call(this, subject, subpath);
355
+
356
+ if (!(isObject(subject) || isArray(subject))) {
357
+ throw TypeError(`unsupported type: ${typeof subject}`);
358
+ }
359
+
360
+ if (anchor instanceof Map || anchor instanceof WeakMap) {
361
+ anchor.set(last, value);
362
+ } else if (anchor instanceof Set || anchor instanceof WeakSet) {
363
+ anchor.append(value);
364
+ } else if (typeof WeakRef === "function" && anchor instanceof WeakRef) {
365
+ throw Error("unsupported action for this data type");
366
+ } else if (isArray(anchor)) {
367
+ last = parseInt(last);
368
+ validateInteger(last);
369
+ assignProperty(anchor, last, value);
370
+ } else {
371
+ assignProperty(anchor, last, value);
372
+ }
360
373
  }
361
374
 
362
375
  /**
@@ -366,16 +379,16 @@ function setValueViaPath(subject, path, value) {
366
379
  * @param {*} value
367
380
  */
368
381
  function assignProperty(object, key, value) {
369
- if (!object.hasOwnProperty(key)) {
370
- object[key] = value;
371
- return;
372
- }
382
+ if (!object.hasOwnProperty(key)) {
383
+ object[key] = value;
384
+ return;
385
+ }
373
386
 
374
- if (value === undefined) {
375
- delete object[key];
376
- }
387
+ if (value === undefined) {
388
+ delete object[key];
389
+ }
377
390
 
378
- object[key] = value;
391
+ object[key] = value;
379
392
  }
380
393
 
381
394
  /**
@@ -392,40 +405,40 @@ function assignProperty(object, key, value) {
392
405
  * @private
393
406
  */
394
407
  function deleteValueViaPath(subject, path) {
395
- if (!(isArray(path) || isString(path))) {
396
- throw new Error("type error: path must be a string or an array");
397
- }
398
-
399
- let parts;
400
- if (isArray(path)) {
401
- if (path.length === 0) {
402
- return subject;
403
- }
404
-
405
- parts = path;
406
- } else {
407
- parts = path.split(DELIMITER);
408
- }
409
-
410
- let last = parts.pop();
411
- const subpath = parts.join(DELIMITER);
412
-
413
- const anchor = getValueViaPath.call(this, subject, subpath);
414
-
415
- if (anchor instanceof Map) {
416
- anchor.delete(last);
417
- } else if (
418
- anchor instanceof Set ||
419
- anchor instanceof WeakMap ||
420
- anchor instanceof WeakSet ||
421
- (typeof WeakRef === "function" && anchor instanceof WeakRef)
422
- ) {
423
- throw Error("unsupported action for this data type");
424
- } else if (isArray(anchor)) {
425
- last = parseInt(last);
426
- validateInteger(last);
427
- delete anchor[last];
428
- } else {
429
- delete anchor[last];
430
- }
408
+ if (!(isArray(path) || isString(path))) {
409
+ throw new Error("type error: path must be a string or an array");
410
+ }
411
+
412
+ let parts;
413
+ if (isArray(path)) {
414
+ if (path.length === 0) {
415
+ return subject;
416
+ }
417
+
418
+ parts = path;
419
+ } else {
420
+ parts = path.split(DELIMITER);
421
+ }
422
+
423
+ let last = parts.pop();
424
+ const subpath = parts.join(DELIMITER);
425
+
426
+ const anchor = getValueViaPath.call(this, subject, subpath);
427
+
428
+ if (anchor instanceof Map) {
429
+ anchor.delete(last);
430
+ } else if (
431
+ anchor instanceof Set ||
432
+ anchor instanceof WeakMap ||
433
+ anchor instanceof WeakSet ||
434
+ (typeof WeakRef === "function" && anchor instanceof WeakRef)
435
+ ) {
436
+ throw Error("unsupported action for this data type");
437
+ } else if (isArray(anchor)) {
438
+ last = parseInt(last);
439
+ validateInteger(last);
440
+ delete anchor[last];
441
+ } else {
442
+ delete anchor[last];
443
+ }
431
444
  }