@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
@@ -30,85 +30,87 @@ const internalTranslationSymbol = Symbol("internalTranslation");
30
30
  * @memberOf Monster.I18n
31
31
  */
32
32
  class Formatter extends TextFormatter {
33
- /**
34
- * Default values for the markers are `${` and `}`
35
- *
36
- * @param {object} object
37
- * @throws {TypeError} value is not a object
38
- */
39
- constructor(object, translation, options) {
40
- super(object, options);
41
- this[internalTranslationSymbol] = validateInstance(translation, Translations);
42
- }
33
+ /**
34
+ * Default values for the markers are `${` and `}`
35
+ *
36
+ * @param {object} object
37
+ * @throws {TypeError} value is not a object
38
+ */
39
+ constructor(object, translation, options) {
40
+ super(object, options);
41
+ this[internalTranslationSymbol] = validateInstance(
42
+ translation,
43
+ Translations,
44
+ );
45
+ }
43
46
 
44
- /**
45
- * This method is called by the `instanceof` operator.
46
- * @returns {symbol}
47
- * @since 3.27.0
48
- */
49
- static get [instanceSymbol]() {
50
- return Symbol.for("@schukai/monster/i18n/formatter@@instance");
51
- }
47
+ /**
48
+ * This method is called by the `instanceof` operator.
49
+ * @returns {symbol}
50
+ * @since 3.27.0
51
+ */
52
+ static get [instanceSymbol]() {
53
+ return Symbol.for("@schukai/monster/i18n/formatter@@instance");
54
+ }
52
55
 
53
- /**
54
- * @property {object} marker
55
- * @property {array} marker.open=["i18n{","${"]
56
- * @property {array} marker.close=["${"]
57
- * @property {object} parameter
58
- * @property {string} parameter.delimiter="::"
59
- * @property {string} parameter.assignment="="
60
- * @property {object} callbacks
61
- * @property {function} callbacks.i18n=()=>{}
62
- */
63
- get defaults() {
64
- const self = this;
65
- return extend({}, super.defaults, {
66
- callbacks: {
67
- i18n: (value) => {
68
- return self[internalTranslationSymbol].getText(validateString(value));
69
- },
70
- },
71
- marker: {
72
- open: ["i18n{", "${"],
73
- close: ["}"],
74
- },
75
- });
76
- }
56
+ /**
57
+ * @property {object} marker
58
+ * @property {array} marker.open=["i18n{","${"]
59
+ * @property {array} marker.close=["${"]
60
+ * @property {object} parameter
61
+ * @property {string} parameter.delimiter="::"
62
+ * @property {string} parameter.assignment="="
63
+ * @property {object} callbacks
64
+ * @property {function} callbacks.i18n=()=>{}
65
+ */
66
+ get defaults() {
67
+ return extend({}, super.defaults, {
68
+ callbacks: {
69
+ i18n: (value) => {
70
+ return this[internalTranslationSymbol].getText(validateString(value));
71
+ },
72
+ },
73
+ marker: {
74
+ open: ["i18n{", "${"],
75
+ close: ["}"],
76
+ },
77
+ });
78
+ }
77
79
 
78
- /**
79
- *
80
- * @param {string} text
81
- * @return {string}
82
- * @throws {TypeError} value is not a string
83
- * @throws {Error} too deep nesting
84
- * @throws {Error} key not found
85
- * @throws {Error} the closing marker is missing
86
- */
87
- format(text) {
88
- validateString(text);
80
+ /**
81
+ *
82
+ * @param {string} text
83
+ * @return {string}
84
+ * @throws {TypeError} value is not a string
85
+ * @throws {Error} too deep nesting
86
+ * @throws {Error} key not found
87
+ * @throws {Error} the closing marker is missing
88
+ */
89
+ format(text) {
90
+ validateString(text);
89
91
 
90
- const openMarker = this[internalSymbol]["marker"]["open"]?.[0];
91
- const closeMarker = this[internalSymbol]["marker"]["close"]?.[0];
92
+ const openMarker = this[internalSymbol]["marker"]["open"]?.[0];
93
+ const closeMarker = this[internalSymbol]["marker"]["close"]?.[0];
92
94
 
93
- if (text.indexOf(openMarker) === 0) {
94
- text = text.substring(openMarker.length);
95
+ if (text.indexOf(openMarker) === 0) {
96
+ text = text.substring(openMarker.length);
95
97
 
96
- if (text.indexOf(closeMarker) === text.length - closeMarker.length) {
97
- text = text.substring(0, text.length - closeMarker.length);
98
- } else {
99
- throw new Error("the closing marker is missing");
100
- }
101
- }
98
+ if (text.indexOf(closeMarker) === text.length - closeMarker.length) {
99
+ text = text.substring(0, text.length - closeMarker.length);
100
+ } else {
101
+ throw new Error("the closing marker is missing");
102
+ }
103
+ }
102
104
 
103
- const parts = validateString(text).split("::");
104
- const translationKey = parts.shift().trim(); // key value delimiter
105
- const parameter = parts.join("::").trim();
105
+ const parts = validateString(text).split("::");
106
+ const translationKey = parts.shift().trim(); // key value delimiter
107
+ const parameter = parts.join("::").trim();
106
108
 
107
- let assembledText = `${openMarker}static:${translationKey} | call:i18n`;
108
- if (parameter.length > 0) {
109
- assembledText += `::${parameter}`;
110
- }
111
- assembledText += closeMarker;
112
- return super.format(assembledText);
113
- }
109
+ let assembledText = `${openMarker}static:${translationKey} | call:i18n`;
110
+ if (parameter.length > 0) {
111
+ assembledText += `::${parameter}`;
112
+ }
113
+ assembledText += closeMarker;
114
+ return super.format(assembledText);
115
+ }
114
116
  }
@@ -65,115 +65,116 @@ const localeStringSymbol = Symbol("localeString");
65
65
  * @see https://datatracker.ietf.org/doc/html/rfc3066
66
66
  */
67
67
  class Locale extends Base {
68
- /**
69
- * @param {string} language
70
- * @param {string} [region]
71
- * @param {string} [script]
72
- * @param {string} [variants]
73
- * @param {string} [extlang]
74
- * @param {string} [privateUse]
75
- * @throws {Error} unsupported locale
76
- */
77
- constructor(language, region, script, variants, extlang, privateUse) {
78
- super();
68
+ /**
69
+ * @param {string} language
70
+ * @param {string} [region]
71
+ * @param {string} [script]
72
+ * @param {string} [variants]
73
+ * @param {string} [extlang]
74
+ * @param {string} [privateUse]
75
+ * @throws {Error} unsupported locale
76
+ */
77
+ constructor(language, region, script, variants, extlang, privateUse) {
78
+ super();
79
79
 
80
- this[propertiesSymbol] = {
81
- language: language === undefined ? undefined : validateString(language),
82
- script: script === undefined ? undefined : validateString(script),
83
- region: region === undefined ? undefined : validateString(region),
84
- variants: variants === undefined ? undefined : validateString(variants),
85
- extlang: extlang === undefined ? undefined : validateString(extlang),
86
- privateUse: privateUse === undefined ? undefined : validateString(privateUse),
87
- };
80
+ this[propertiesSymbol] = {
81
+ language: language === undefined ? undefined : validateString(language),
82
+ script: script === undefined ? undefined : validateString(script),
83
+ region: region === undefined ? undefined : validateString(region),
84
+ variants: variants === undefined ? undefined : validateString(variants),
85
+ extlang: extlang === undefined ? undefined : validateString(extlang),
86
+ privateUse:
87
+ privateUse === undefined ? undefined : validateString(privateUse),
88
+ };
88
89
 
89
- let s = [];
90
- if (language !== undefined) s.push(language);
91
- if (script !== undefined) s.push(script);
92
- if (region !== undefined) s.push(region);
93
- if (variants !== undefined) s.push(variants);
94
- if (extlang !== undefined) s.push(extlang);
95
- if (privateUse !== undefined) s.push(privateUse);
90
+ const s = [];
91
+ if (language !== undefined) s.push(language);
92
+ if (script !== undefined) s.push(script);
93
+ if (region !== undefined) s.push(region);
94
+ if (variants !== undefined) s.push(variants);
95
+ if (extlang !== undefined) s.push(extlang);
96
+ if (privateUse !== undefined) s.push(privateUse);
96
97
 
97
- if (s.length === 0) {
98
- throw new Error("unsupported locale");
99
- }
98
+ if (s.length === 0) {
99
+ throw new Error("unsupported locale");
100
+ }
100
101
 
101
- this[localeStringSymbol] = s.join("-");
102
- }
102
+ this[localeStringSymbol] = s.join("-");
103
+ }
103
104
 
104
- /**
105
- * This method is called by the `instanceof` operator.
106
- * @returns {symbol}
107
- * @since 3.27.0
108
- */
109
- static get [instanceSymbol]() {
110
- return Symbol.for("@schukai/monster/i18n/locale@@instance");
111
- }
105
+ /**
106
+ * This method is called by the `instanceof` operator.
107
+ * @returns {symbol}
108
+ * @since 3.27.0
109
+ */
110
+ static get [instanceSymbol]() {
111
+ return Symbol.for("@schukai/monster/i18n/locale@@instance");
112
+ }
112
113
 
113
- /**
114
- * @return {string}
115
- */
116
- get localeString() {
117
- return this[localeStringSymbol];
118
- }
114
+ /**
115
+ * @return {string}
116
+ */
117
+ get localeString() {
118
+ return this[localeStringSymbol];
119
+ }
119
120
 
120
- /**
121
- * @return {string|undefined}
122
- */
123
- get language() {
124
- return this[propertiesSymbol].language;
125
- }
121
+ /**
122
+ * @return {string|undefined}
123
+ */
124
+ get language() {
125
+ return this[propertiesSymbol].language;
126
+ }
126
127
 
127
- /**
128
- * @return {string|undefined}
129
- */
130
- get region() {
131
- return this[propertiesSymbol].region;
132
- }
128
+ /**
129
+ * @return {string|undefined}
130
+ */
131
+ get region() {
132
+ return this[propertiesSymbol].region;
133
+ }
133
134
 
134
- /**
135
- * @return {string|undefined}
136
- */
137
- get script() {
138
- return this[propertiesSymbol].script;
139
- }
135
+ /**
136
+ * @return {string|undefined}
137
+ */
138
+ get script() {
139
+ return this[propertiesSymbol].script;
140
+ }
140
141
 
141
- /**
142
- * @return {string|undefined}
143
- */
144
- get variants() {
145
- return this[propertiesSymbol].variants;
146
- }
142
+ /**
143
+ * @return {string|undefined}
144
+ */
145
+ get variants() {
146
+ return this[propertiesSymbol].variants;
147
+ }
147
148
 
148
- /**
149
- * @return {string|undefined}
150
- */
151
- get extlang() {
152
- return this[propertiesSymbol].extlang;
153
- }
149
+ /**
150
+ * @return {string|undefined}
151
+ */
152
+ get extlang() {
153
+ return this[propertiesSymbol].extlang;
154
+ }
154
155
 
155
- /**
156
- * @return {string|undefined}
157
- */
158
- get privateUse() {
159
- return this[propertiesSymbol].privateValue;
160
- }
156
+ /**
157
+ * @return {string|undefined}
158
+ */
159
+ get privateUse() {
160
+ return this[propertiesSymbol].privateValue;
161
+ }
161
162
 
162
- /**
163
- * @return {string}
164
- */
165
- toString() {
166
- return `${this.localeString}`;
167
- }
163
+ /**
164
+ * @return {string}
165
+ */
166
+ toString() {
167
+ return `${this.localeString}`;
168
+ }
168
169
 
169
- /**
170
- * The structure has the following: language, script, region, variants, extlang, privateUse
171
- *
172
- * @return {Monster.I18n.LocaleMap}
173
- */
174
- getMap() {
175
- return clone(this[propertiesSymbol]);
176
- }
170
+ /**
171
+ * The structure has the following: language, script, region, variants, extlang, privateUse
172
+ *
173
+ * @return {Monster.I18n.LocaleMap}
174
+ */
175
+ getMap() {
176
+ return clone(this[propertiesSymbol]);
177
+ }
177
178
  }
178
179
 
179
180
  /**
@@ -257,62 +258,63 @@ class Locale extends Base {
257
258
  * @throws {Error} unsupported locale
258
259
  */
259
260
  function parseLocale(locale) {
260
- locale = validateString(locale).replace(/_/g, "-");
261
+ locale = validateString(locale).replace(/_/g, "-");
261
262
 
262
- let language;
263
- let region;
264
- let variants;
265
- let parts;
266
- let script;
267
- let extlang;
268
- let regexRegular = "(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)";
269
- let regexIrregular =
270
- "(en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)";
271
- let regexGrandfathered = `(${regexIrregular}|${regexRegular})`;
272
- let regexPrivateUse = "(x(-[A-Za-z0-9]{1,8})+)";
273
- let regexSingleton = "[0-9A-WY-Za-wy-z]";
274
- let regexExtension = `(${regexSingleton}(-[A-Za-z0-9]{2,8})+)`;
275
- let regexVariant = "([A-Za-z0-9]{5,8}|[0-9][A-Za-z0-9]{3})";
276
- let regexRegion = "([A-Za-z]{2}|[0-9]{3})";
277
- let regexScript = "([A-Za-z]{4})";
278
- let regexExtlang = "([A-Za-z]{3}(-[A-Za-z]{3}){0,2})";
279
- let regexLanguage = `(([A-Za-z]{2,3}(-${regexExtlang})?)|[A-Za-z]{4}|[A-Za-z]{5,8})`;
280
- let regexLangtag = `(${regexLanguage}(-${regexScript})?(-${regexRegion})?(-${regexVariant})*(-${regexExtension})*(-${regexPrivateUse})?)`;
281
- let regexLanguageTag = `^(${regexGrandfathered}|${regexLangtag}|${regexPrivateUse})$`;
282
- let regex = new RegExp(regexLanguageTag);
283
- let match;
263
+ let language;
264
+ let region;
265
+ let variants;
266
+ let parts;
267
+ let script;
268
+ let extlang;
269
+ const regexRegular =
270
+ "(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)";
271
+ const regexIrregular =
272
+ "(en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)";
273
+ const regexGrandfathered = `(${regexIrregular}|${regexRegular})`;
274
+ const regexPrivateUse = "(x(-[A-Za-z0-9]{1,8})+)";
275
+ const regexSingleton = "[0-9A-WY-Za-wy-z]";
276
+ const regexExtension = `(${regexSingleton}(-[A-Za-z0-9]{2,8})+)`;
277
+ const regexVariant = "([A-Za-z0-9]{5,8}|[0-9][A-Za-z0-9]{3})";
278
+ const regexRegion = "([A-Za-z]{2}|[0-9]{3})";
279
+ const regexScript = "([A-Za-z]{4})";
280
+ const regexExtlang = "([A-Za-z]{3}(-[A-Za-z]{3}){0,2})";
281
+ const regexLanguage = `(([A-Za-z]{2,3}(-${regexExtlang})?)|[A-Za-z]{4}|[A-Za-z]{5,8})`;
282
+ const regexLangtag = `(${regexLanguage}(-${regexScript})?(-${regexRegion})?(-${regexVariant})*(-${regexExtension})*(-${regexPrivateUse})?)`;
283
+ const regexLanguageTag = `^(${regexGrandfathered}|${regexLangtag}|${regexPrivateUse})$`;
284
+ const regex = new RegExp(regexLanguageTag);
285
+ let match;
284
286
 
285
- if ((match = regex.exec(locale)) !== null) {
286
- if (match.index === regex.lastIndex) {
287
- regex.lastIndex++;
288
- }
289
- }
287
+ if ((match = regex.exec(locale)) !== null) {
288
+ if (match.index === regex.lastIndex) {
289
+ regex.lastIndex++;
290
+ }
291
+ }
290
292
 
291
- if (match === undefined || match === null) {
292
- throw new Error("unsupported locale");
293
- }
293
+ if (match === undefined || match === null) {
294
+ throw new Error("unsupported locale");
295
+ }
294
296
 
295
- if (match[6] !== undefined) {
296
- language = match[6];
297
+ if (match[6] !== undefined) {
298
+ language = match[6];
297
299
 
298
- parts = language.split("-");
299
- if (parts.length > 1) {
300
- language = parts[0];
301
- extlang = parts[1];
302
- }
303
- }
300
+ parts = language.split("-");
301
+ if (parts.length > 1) {
302
+ language = parts[0];
303
+ extlang = parts[1];
304
+ }
305
+ }
304
306
 
305
- if (match[14] !== undefined) {
306
- region = match[14];
307
- }
307
+ if (match[14] !== undefined) {
308
+ region = match[14];
309
+ }
308
310
 
309
- if (match[12] !== undefined) {
310
- script = match[12];
311
- }
311
+ if (match[12] !== undefined) {
312
+ script = match[12];
313
+ }
312
314
 
313
- if (match[16] !== undefined) {
314
- variants = match[16];
315
- }
315
+ if (match[16] !== undefined) {
316
+ variants = match[16];
317
+ }
316
318
 
317
- return new Locale(language, region, script, variants, extlang);
319
+ return new Locale(language, region, script, variants, extlang);
318
320
  }
@@ -6,7 +6,11 @@
6
6
  */
7
7
 
8
8
  import { instanceSymbol } from "../constants.mjs";
9
- import { hasObjectLink, getLinkedObjects, addToObjectLink } from "../dom/attributes.mjs";
9
+ import {
10
+ hasObjectLink,
11
+ getLinkedObjects,
12
+ addToObjectLink,
13
+ } from "../dom/attributes.mjs";
10
14
  import { getLocaleOfDocument } from "../dom/locale.mjs";
11
15
  import { BaseWithOptions } from "../types/basewithoptions.mjs";
12
16
  import { Locale } from "./locale.mjs";
@@ -21,7 +25,9 @@ export { Provider, translationsLinkSymbol };
21
25
  * @since 3.9.0
22
26
  * @private
23
27
  */
24
- const translationsLinkSymbol = Symbol.for("@schukai/monster/i18n/translations@@link");
28
+ const translationsLinkSymbol = Symbol.for(
29
+ "@schukai/monster/i18n/translations@@link",
30
+ );
25
31
 
26
32
  /**
27
33
  * A provider makes a translation object available.
@@ -33,76 +39,76 @@ const translationsLinkSymbol = Symbol.for("@schukai/monster/i18n/translations@@l
33
39
  * @see {@link https://datatracker.ietf.org/doc/html/rfc3066}
34
40
  */
35
41
  class Provider extends BaseWithOptions {
36
- /**
37
- * This method is called by the `instanceof` operator.
38
- * @returns {symbol}
39
- * @since 3.27.0
40
- */
41
- static get [instanceSymbol]() {
42
- return Symbol.for("@schukai/monster/i18n/provider@@instance");
43
- }
42
+ /**
43
+ * This method is called by the `instanceof` operator.
44
+ * @returns {symbol}
45
+ * @since 3.27.0
46
+ */
47
+ static get [instanceSymbol]() {
48
+ return Symbol.for("@schukai/monster/i18n/provider@@instance");
49
+ }
44
50
 
45
- /**
46
- * @param {Locale|string} locale
47
- * @return {Promise}
48
- */
49
- getTranslations(locale) {
50
- if (locale === undefined) {
51
- locale = getLocaleOfDocument();
52
- }
51
+ /**
52
+ * @param {Locale|string} locale
53
+ * @return {Promise}
54
+ */
55
+ getTranslations(locale) {
56
+ if (locale === undefined) {
57
+ locale = getLocaleOfDocument();
58
+ }
53
59
 
54
- return new Promise((resolve, reject) => {
55
- try {
56
- resolve(new Translations(locale));
57
- } catch (e) {
58
- reject(e);
59
- }
60
- });
61
- }
60
+ return new Promise((resolve, reject) => {
61
+ try {
62
+ resolve(new Translations(locale));
63
+ } catch (e) {
64
+ reject(e);
65
+ }
66
+ });
67
+ }
62
68
 
63
- /**
64
- * @param {Locale|string} locale
65
- * @param {HTMLElement} element
66
- * @return {Provider}
67
- */
68
- assignToElement(locale, element) {
69
- if (locale === undefined) {
70
- locale = getLocaleOfDocument();
71
- }
69
+ /**
70
+ * @param {Locale|string} locale
71
+ * @param {HTMLElement} element
72
+ * @return {Provider}
73
+ */
74
+ assignToElement(locale, element) {
75
+ if (locale === undefined) {
76
+ locale = getLocaleOfDocument();
77
+ }
72
78
 
73
- if (!(locale instanceof Locale)) {
74
- throw new Error("Locale is not an instance of Locale");
75
- }
79
+ if (!(locale instanceof Locale)) {
80
+ throw new Error("Locale is not an instance of Locale");
81
+ }
76
82
 
77
- if (!(element instanceof HTMLElement)) {
78
- element = document.querySelector("body");
79
- }
83
+ if (!(element instanceof HTMLElement)) {
84
+ element = document.querySelector("body");
85
+ }
80
86
 
81
- if (!(element instanceof HTMLElement)) {
82
- throw new Error("Element is not an HTMLElement");
83
- }
87
+ if (!(element instanceof HTMLElement)) {
88
+ throw new Error("Element is not an HTMLElement");
89
+ }
84
90
 
85
- return this.getTranslations(locale).then((obj) => {
86
- let translations = null;
87
- if (hasObjectLink(element, translationsLinkSymbol)) {
88
- const objects = getLinkedObjects(element, translationsLinkSymbol);
89
- for (const o of objects) {
90
- if (o instanceof Translations) {
91
- translations = o;
92
- break;
93
- }
94
- }
91
+ return this.getTranslations(locale).then((obj) => {
92
+ let translations = null;
93
+ if (hasObjectLink(element, translationsLinkSymbol)) {
94
+ const objects = getLinkedObjects(element, translationsLinkSymbol);
95
+ for (const o of objects) {
96
+ if (o instanceof Translations) {
97
+ translations = o;
98
+ break;
99
+ }
100
+ }
95
101
 
96
- if (!(translations instanceof Translations)) {
97
- throw new Error("Object is not an instance of Translations");
98
- }
102
+ if (!(translations instanceof Translations)) {
103
+ throw new Error("Object is not an instance of Translations");
104
+ }
99
105
 
100
- translations.assignTranslations(obj);
101
- } else {
102
- addToObjectLink(element, translationsLinkSymbol, obj);
103
- }
106
+ translations.assignTranslations(obj);
107
+ } else {
108
+ addToObjectLink(element, translationsLinkSymbol, obj);
109
+ }
104
110
 
105
- return obj;
106
- });
107
- }
111
+ return obj;
112
+ });
113
+ }
108
114
  }