@schukai/monster 1.31.0 → 2.0.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 (365) hide show
  1. package/CHANGELOG +11 -0
  2. package/README.md +55 -58
  3. package/example/constraints/andoperator.mjs +17 -0
  4. package/example/constraints/invalid.mjs +6 -0
  5. package/example/constraints/isarray.mjs +11 -0
  6. package/example/constraints/isobject.mjs +12 -0
  7. package/example/constraints/oroperator.mjs +15 -0
  8. package/example/constraints/valid.mjs +6 -0
  9. package/example/data/buildmap.mjs +67 -0
  10. package/example/data/datasource.mjs +7 -0
  11. package/example/data/diff.mjs +39 -0
  12. package/example/data/pathfinder-1.mjs +23 -0
  13. package/example/data/pathfinder-2.mjs +19 -0
  14. package/example/data/pipe.mjs +14 -0
  15. package/example/data/storage/restapi.mjs +11 -0
  16. package/example/data/transformer.mjs +9 -0
  17. package/example/dom/customelement.mjs +13 -0
  18. package/example/dom/theme.mjs +5 -0
  19. package/example/dom/updater.mjs +23 -0
  20. package/example/i18n/formatter.mjs +10 -0
  21. package/example/i18n/providers/fetch.mjs +5 -0
  22. package/example/i18n/translations.mjs +20 -0
  23. package/example/types/basewithoptions.mjs +10 -0
  24. package/example/types/is-1.mjs +5 -0
  25. package/example/types/is-10.mjs +6 -0
  26. package/example/types/is-2.mjs +4 -0
  27. package/example/types/is-3.mjs +4 -0
  28. package/example/types/is-4.mjs +5 -0
  29. package/example/types/is-5.mjs +4 -0
  30. package/example/types/is-6.mjs +4 -0
  31. package/example/types/is-7.mjs +4 -0
  32. package/example/types/is-8.mjs +4 -0
  33. package/example/types/is-9.mjs +6 -0
  34. package/example/types/noderecursiveiterator.mjs +32 -0
  35. package/example/types/observer.mjs +9 -0
  36. package/example/types/proxyobserver.mjs +25 -0
  37. package/example/types/queue.mjs +20 -0
  38. package/example/types/tokenlist-1.mjs +4 -0
  39. package/example/types/tokenlist-2.mjs +7 -0
  40. package/example/types/tokenlist-3.mjs +5 -0
  41. package/example/types/tokenlist-4.mjs +5 -0
  42. package/example/types/tokenlist-5.mjs +5 -0
  43. package/example/types/typeof.mjs +9 -0
  44. package/example/types/version-1.mjs +6 -0
  45. package/example/types/version-2.mjs +3 -0
  46. package/example/util/comparator.mjs +10 -0
  47. package/example/util/deadmansswitch.mjs +9 -0
  48. package/example/util/processing.mjs +17 -0
  49. package/package.json +5 -59
  50. package/source/{constants.js → constants.mjs} +7 -10
  51. package/source/constraints/{abstract.js → abstract.mjs} +8 -9
  52. package/source/constraints/{abstractoperator.js → abstractoperator.mjs} +11 -8
  53. package/source/constraints/andoperator.mjs +38 -0
  54. package/source/constraints/invalid.mjs +38 -0
  55. package/source/constraints/isarray.mjs +41 -0
  56. package/source/constraints/isobject.mjs +41 -0
  57. package/source/constraints/{namespace.js → namespace.mjs} +3 -8
  58. package/source/constraints/{oroperator.js → oroperator.mjs} +10 -42
  59. package/source/constraints/valid.mjs +38 -0
  60. package/source/data/{buildmap.js → buildmap.mjs} +18 -104
  61. package/source/data/{buildtree.js → buildtree.mjs} +11 -31
  62. package/source/data/datasource/{namespace.js → namespace.mjs} +1 -9
  63. package/source/data/datasource/restapi/namespace.mjs +8 -0
  64. package/source/data/datasource/restapi/{writeerror.js → writeerror.mjs} +8 -9
  65. package/source/data/datasource/{restapi.js → restapi.mjs} +15 -45
  66. package/source/data/datasource/storage/localstorage.mjs +45 -0
  67. package/source/data/datasource/storage/{namespace.js → namespace.mjs} +1 -9
  68. package/source/data/datasource/storage/sessionstorage.mjs +45 -0
  69. package/source/data/datasource/{storage.js → storage.mjs} +12 -35
  70. package/source/data/{datasource.js → datasource.mjs} +17 -45
  71. package/source/data/{diff.js → diff.mjs} +10 -69
  72. package/source/data/{extend.js → extend.mjs} +10 -28
  73. package/source/data/{namespace.js → namespace.mjs} +2 -8
  74. package/source/data/{pathfinder.js → pathfinder.mjs} +18 -77
  75. package/source/data/{pipe.js → pipe.mjs} +14 -46
  76. package/source/data/{transformer.js → transformer.mjs} +18 -43
  77. package/source/dom/{assembler.js → assembler.mjs} +12 -28
  78. package/source/dom/{attributes.js → attributes.mjs} +42 -253
  79. package/source/dom/{constants.js → constants.mjs} +110 -61
  80. package/source/dom/{customcontrol.js → customcontrol.mjs} +10 -17
  81. package/source/dom/{customelement.js → customelement.mjs} +28 -52
  82. package/source/dom/{events.js → events.mjs} +15 -64
  83. package/source/dom/{focusmanager.js → focusmanager.mjs} +13 -34
  84. package/source/dom/{locale.js → locale.mjs} +11 -26
  85. package/source/dom/{namespace.js → namespace.mjs} +1 -8
  86. package/source/dom/{ready.js → ready.mjs} +12 -30
  87. package/source/dom/resource/{data.js → data.mjs} +11 -31
  88. package/source/dom/resource/link/namespace.mjs +10 -0
  89. package/source/dom/resource/link/stylesheet.mjs +35 -0
  90. package/source/dom/resource/{link.js → link.mjs} +9 -29
  91. package/source/dom/resource/namespace.mjs +8 -0
  92. package/source/dom/resource/{script.js → script.mjs} +9 -29
  93. package/source/dom/{resource.js → resource.mjs} +19 -39
  94. package/source/dom/{resourcemanager.js → resourcemanager.mjs} +17 -35
  95. package/source/dom/{template.js → template.mjs} +18 -43
  96. package/source/dom/{theme.js → theme.mjs} +14 -36
  97. package/source/dom/{updater.js → updater.mjs} +34 -68
  98. package/source/dom/{util.js → util.mjs} +17 -66
  99. package/source/dom/worker/{factory.js → factory.mjs} +13 -34
  100. package/source/dom/worker/namespace.mjs +8 -0
  101. package/source/i18n/{formatter.js → formatter.mjs} +14 -45
  102. package/source/i18n/{locale.js → locale.mjs} +15 -30
  103. package/source/i18n/{namespace.js → namespace.mjs} +1 -9
  104. package/source/i18n/provider.mjs +40 -0
  105. package/source/i18n/providers/{fetch.js → fetch.mjs} +18 -43
  106. package/source/i18n/providers/namespace.mjs +8 -0
  107. package/source/i18n/{translations.js → translations.mjs} +12 -52
  108. package/source/logging/handler/console.mjs +50 -0
  109. package/source/logging/handler/namespace.mjs +6 -0
  110. package/source/logging/{handler.js → handler.mjs} +13 -30
  111. package/source/logging/logentry.mjs +51 -0
  112. package/source/logging/{logger.js → logger.mjs} +12 -28
  113. package/source/logging/{namespace.js → namespace.mjs} +1 -9
  114. package/source/math/{namespace.js → namespace.mjs} +1 -9
  115. package/source/math/{random.js → random.mjs} +8 -34
  116. package/source/monster.mjs +114 -0
  117. package/source/text/{formatter.js → formatter.mjs} +17 -33
  118. package/source/text/{namespace.js → namespace.mjs} +1 -9
  119. package/source/types/base.mjs +31 -0
  120. package/source/types/{basewithoptions.js → basewithoptions.mjs} +17 -46
  121. package/source/types/{binary.js → binary.mjs} +10 -42
  122. package/source/types/{dataurl.js → dataurl.mjs} +12 -46
  123. package/source/types/{global.js → global.mjs} +20 -12
  124. package/source/types/{id.js → id.mjs} +10 -27
  125. package/source/types/is.mjs +225 -0
  126. package/source/types/{mediatype.js → mediatype.mjs} +13 -29
  127. package/source/types/{namespace.js → namespace.mjs} +1 -8
  128. package/source/types/{node.js → node.mjs} +11 -28
  129. package/source/types/{nodelist.js → nodelist.mjs} +17 -32
  130. package/source/types/{noderecursiveiterator.js → noderecursiveiterator.mjs} +14 -65
  131. package/source/types/{observer.js → observer.mjs} +15 -42
  132. package/source/types/{observerlist.js → observerlist.mjs} +12 -29
  133. package/source/types/{proxyobserver.js → proxyobserver.mjs} +19 -62
  134. package/source/types/{queue.js → queue.mjs} +10 -47
  135. package/source/types/randomid.mjs +45 -0
  136. package/source/types/regex.mjs +27 -0
  137. package/source/types/{stack.js → stack.mjs} +8 -24
  138. package/source/types/{tokenlist.js → tokenlist.mjs} +20 -64
  139. package/source/types/typeof.mjs +37 -0
  140. package/source/types/{uniquequeue.js → uniquequeue.mjs} +11 -27
  141. package/source/types/{uuid.js → uuid.mjs} +15 -33
  142. package/source/types/{validate.js → validate.mjs} +38 -155
  143. package/source/types/{version.js → version.mjs} +19 -62
  144. package/source/util/{clone.js → clone.mjs} +10 -28
  145. package/source/util/{comparator.js → comparator.mjs} +13 -43
  146. package/source/util/{deadmansswitch.js → deadmansswitch.mjs} +15 -40
  147. package/source/util/freeze.mjs +39 -0
  148. package/source/util/{namespace.js → namespace.mjs} +1 -9
  149. package/source/util/{processing.js → processing.mjs} +13 -51
  150. package/source/util/{trimspaces.js → trimspaces.mjs} +14 -21
  151. package/test/cases/constraint/{andoperator.js → andoperator.mjs} +3 -3
  152. package/test/cases/constraint/{invalid.js → invalid.mjs} +1 -1
  153. package/test/cases/constraint/{isarray.js → isarray.mjs} +1 -1
  154. package/test/cases/constraint/{isobject.js → isobject.mjs} +1 -1
  155. package/test/cases/constraint/{oroperator.js → oroperator.mjs} +3 -3
  156. package/test/cases/constraint/{valid.js → valid.mjs} +1 -1
  157. package/test/cases/data/{buildmap.js → buildmap.mjs} +1 -1
  158. package/test/cases/data/{buildtree.js → buildtree.mjs} +2 -2
  159. package/test/cases/data/datasource/{restapi.js → restapi.mjs} +5 -5
  160. package/test/cases/data/datasource/storage/{localstorage.js → localstorage.mjs} +5 -5
  161. package/test/cases/data/datasource/storage/{sessionstorage.js → sessionstorage.mjs} +5 -5
  162. package/test/cases/data/{datasource.js → datasource.mjs} +1 -1
  163. package/test/cases/data/{diff.js → diff.mjs} +2 -2
  164. package/test/cases/data/{extend.js → extend.mjs} +1 -1
  165. package/test/cases/data/{pathfinder.js → pathfinder.mjs} +1 -1
  166. package/test/cases/data/{pipe.js → pipe.mjs} +19 -5
  167. package/test/cases/data/{transformer.js → transformer.mjs} +14 -10
  168. package/test/cases/dom/{assembler.js → assembler.mjs} +2 -2
  169. package/test/cases/dom/{attributes.js → attributes.mjs} +2 -2
  170. package/test/cases/dom/{customcontrol.js → customcontrol.mjs} +6 -6
  171. package/test/cases/dom/{customelement.js → customelement.mjs} +6 -6
  172. package/test/cases/dom/{events.js → events.mjs} +2 -2
  173. package/test/cases/dom/{focusmanager.js → focusmanager.mjs} +3 -3
  174. package/test/cases/dom/{locale.js → locale.mjs} +2 -2
  175. package/test/cases/dom/{ready.js → ready.mjs} +2 -2
  176. package/test/cases/dom/resource/{data.js → data.mjs} +9 -9
  177. package/test/cases/dom/resource/link/{stylesheet.js → stylesheet.mjs} +6 -6
  178. package/test/cases/dom/resource/{link.js → link.mjs} +6 -6
  179. package/test/cases/dom/resource/{script.js → script.mjs} +6 -6
  180. package/test/cases/dom/{resourcemanager.js → resourcemanager.mjs} +6 -6
  181. package/test/cases/dom/{template.js → template.mjs} +3 -3
  182. package/test/cases/dom/{theme.js → theme.mjs} +3 -3
  183. package/test/cases/dom/{updater.js → updater.mjs} +6 -6
  184. package/test/cases/dom/{util.js → util.mjs} +2 -2
  185. package/test/cases/dom/worker/{factory.js → factory.mjs} +4 -4
  186. package/test/cases/i18n/{formatter.js → formatter.mjs} +2 -2
  187. package/test/cases/i18n/{locale.js → locale.mjs} +1 -1
  188. package/test/cases/i18n/{provider.js → provider.mjs} +1 -1
  189. package/test/cases/i18n/providers/{fetch.js → fetch.mjs} +3 -3
  190. package/test/cases/i18n/{translations.js → translations.mjs} +2 -2
  191. package/test/cases/logging/handler/{console.js → console.mjs} +3 -3
  192. package/test/cases/logging/{handler.js → handler.mjs} +3 -3
  193. package/test/cases/logging/{logentry.js → logentry.mjs} +1 -1
  194. package/test/cases/logging/{logger.js → logger.mjs} +1 -1
  195. package/test/cases/math/random.mjs +101 -0
  196. package/test/cases/monster.mjs +20 -0
  197. package/test/cases/text/{formatter.js → formatter.mjs} +1 -1
  198. package/test/cases/types/{base.js → base.mjs} +1 -1
  199. package/test/cases/types/{basewithoptions.js → basewithoptions.mjs} +1 -1
  200. package/test/cases/types/{binary.js → binary.mjs} +1 -1
  201. package/test/cases/types/{dataurl.js → dataurl.mjs} +1 -1
  202. package/test/cases/types/{global.js → global.mjs} +1 -1
  203. package/test/cases/types/{id.js → id.mjs} +17 -6
  204. package/test/cases/types/{is.js → is.mjs} +20 -8
  205. package/test/cases/types/{mediatype.js → mediatype.mjs} +1 -1
  206. package/test/cases/types/{node.js → node.mjs} +3 -3
  207. package/test/cases/types/{nodelist.js → nodelist.mjs} +2 -2
  208. package/test/cases/types/{noderecursiveiterator.js → noderecursiveiterator.mjs} +3 -3
  209. package/test/cases/types/{observer.js → observer.mjs} +1 -1
  210. package/test/cases/types/{observerlist.js → observerlist.mjs} +2 -2
  211. package/test/cases/types/{proxyobserver.js → proxyobserver.mjs} +4 -4
  212. package/test/cases/types/{queue.js → queue.mjs} +1 -1
  213. package/test/cases/types/randomid.mjs +39 -0
  214. package/test/cases/types/regex.mjs +46 -0
  215. package/test/cases/types/{stack.js → stack.mjs} +1 -1
  216. package/test/cases/types/{tokenlist.js → tokenlist.mjs} +1 -1
  217. package/test/cases/types/{typeof.js → typeof.mjs} +3 -4
  218. package/test/cases/types/{uniquequeue.js → uniquequeue.mjs} +1 -1
  219. package/test/cases/types/{uuid.js → uuid.mjs} +30 -10
  220. package/test/cases/types/{validate.js → validate.mjs} +3 -4
  221. package/test/cases/types/{version.js → version.mjs} +1 -2
  222. package/test/cases/util/{clone.js → clone.mjs} +1 -1
  223. package/test/cases/util/{comparator.js → comparator.mjs} +1 -1
  224. package/test/cases/util/{deadmansswitch.js → deadmansswitch.mjs} +1 -1
  225. package/test/cases/util/{freeze.js → freeze.mjs} +1 -1
  226. package/test/cases/util/{processing.js → processing.mjs} +1 -1
  227. package/test/cases/util/{trimspaces.js → trimspaces.mjs} +1 -1
  228. package/test/util/{chai-dom.js → chai-dom.mjs} +0 -0
  229. package/test/util/{cleanupdom.js → cleanupdom.mjs} +0 -0
  230. package/test/util/{jsdom.js → jsdom.mjs} +2 -2
  231. package/test/util/{localstorage.js → localstorage.mjs} +0 -0
  232. package/test/web/import.js +77 -78
  233. package/test/web/prepare.js +0 -8
  234. package/test/web/test.html +5 -4
  235. package/test/web/tests.js +25731 -587
  236. package/dist/modules/constants.js +0 -2
  237. package/dist/modules/constraints/abstract.js +0 -2
  238. package/dist/modules/constraints/abstractoperator.js +0 -2
  239. package/dist/modules/constraints/andoperator.js +0 -2
  240. package/dist/modules/constraints/invalid.js +0 -2
  241. package/dist/modules/constraints/isarray.js +0 -2
  242. package/dist/modules/constraints/isobject.js +0 -2
  243. package/dist/modules/constraints/namespace.js +0 -2
  244. package/dist/modules/constraints/oroperator.js +0 -2
  245. package/dist/modules/constraints/valid.js +0 -2
  246. package/dist/modules/data/buildmap.js +0 -2
  247. package/dist/modules/data/buildtree.js +0 -2
  248. package/dist/modules/data/datasource/namespace.js +0 -2
  249. package/dist/modules/data/datasource/restapi/writeerror.js +0 -2
  250. package/dist/modules/data/datasource/restapi.js +0 -2
  251. package/dist/modules/data/datasource/storage/localstorage.js +0 -2
  252. package/dist/modules/data/datasource/storage/namespace.js +0 -2
  253. package/dist/modules/data/datasource/storage/sessionstorage.js +0 -2
  254. package/dist/modules/data/datasource/storage.js +0 -2
  255. package/dist/modules/data/datasource.js +0 -2
  256. package/dist/modules/data/diff.js +0 -2
  257. package/dist/modules/data/extend.js +0 -2
  258. package/dist/modules/data/namespace.js +0 -2
  259. package/dist/modules/data/pathfinder.js +0 -2
  260. package/dist/modules/data/pipe.js +0 -2
  261. package/dist/modules/data/transformer.js +0 -2
  262. package/dist/modules/dom/assembler.js +0 -2
  263. package/dist/modules/dom/attributes.js +0 -2
  264. package/dist/modules/dom/constants.js +0 -2
  265. package/dist/modules/dom/customcontrol.js +0 -2
  266. package/dist/modules/dom/customelement.js +0 -2
  267. package/dist/modules/dom/events.js +0 -2
  268. package/dist/modules/dom/focusmanager.js +0 -2
  269. package/dist/modules/dom/locale.js +0 -2
  270. package/dist/modules/dom/namespace.js +0 -2
  271. package/dist/modules/dom/ready.js +0 -2
  272. package/dist/modules/dom/resource/data.js +0 -2
  273. package/dist/modules/dom/resource/link/stylesheet.js +0 -2
  274. package/dist/modules/dom/resource/link.js +0 -2
  275. package/dist/modules/dom/resource/script.js +0 -2
  276. package/dist/modules/dom/resource.js +0 -2
  277. package/dist/modules/dom/resourcemanager.js +0 -2
  278. package/dist/modules/dom/template.js +0 -2
  279. package/dist/modules/dom/theme.js +0 -2
  280. package/dist/modules/dom/updater.js +0 -2
  281. package/dist/modules/dom/util.js +0 -2
  282. package/dist/modules/dom/worker/factory.js +0 -2
  283. package/dist/modules/i18n/formatter.js +0 -2
  284. package/dist/modules/i18n/locale.js +0 -2
  285. package/dist/modules/i18n/namespace.js +0 -2
  286. package/dist/modules/i18n/provider.js +0 -2
  287. package/dist/modules/i18n/providers/fetch.js +0 -2
  288. package/dist/modules/i18n/providers/namespace.js +0 -2
  289. package/dist/modules/i18n/translations.js +0 -2
  290. package/dist/modules/logging/handler/console.js +0 -2
  291. package/dist/modules/logging/handler/namespace.js +0 -2
  292. package/dist/modules/logging/handler.js +0 -2
  293. package/dist/modules/logging/logentry.js +0 -2
  294. package/dist/modules/logging/logger.js +0 -2
  295. package/dist/modules/logging/namespace.js +0 -2
  296. package/dist/modules/math/namespace.js +0 -2
  297. package/dist/modules/math/random.js +0 -2
  298. package/dist/modules/monster.js +0 -2
  299. package/dist/modules/namespace.js +0 -2
  300. package/dist/modules/text/formatter.js +0 -2
  301. package/dist/modules/text/namespace.js +0 -2
  302. package/dist/modules/types/base.js +0 -2
  303. package/dist/modules/types/basewithoptions.js +0 -2
  304. package/dist/modules/types/binary.js +0 -2
  305. package/dist/modules/types/dataurl.js +0 -2
  306. package/dist/modules/types/global.js +0 -2
  307. package/dist/modules/types/id.js +0 -2
  308. package/dist/modules/types/is.js +0 -2
  309. package/dist/modules/types/mediatype.js +0 -2
  310. package/dist/modules/types/namespace.js +0 -2
  311. package/dist/modules/types/node.js +0 -2
  312. package/dist/modules/types/nodelist.js +0 -2
  313. package/dist/modules/types/noderecursiveiterator.js +0 -2
  314. package/dist/modules/types/observer.js +0 -2
  315. package/dist/modules/types/observerlist.js +0 -2
  316. package/dist/modules/types/proxyobserver.js +0 -2
  317. package/dist/modules/types/queue.js +0 -2
  318. package/dist/modules/types/randomid.js +0 -2
  319. package/dist/modules/types/regex.js +0 -2
  320. package/dist/modules/types/stack.js +0 -2
  321. package/dist/modules/types/tokenlist.js +0 -2
  322. package/dist/modules/types/typeof.js +0 -2
  323. package/dist/modules/types/uniquequeue.js +0 -2
  324. package/dist/modules/types/uuid.js +0 -2
  325. package/dist/modules/types/validate.js +0 -2
  326. package/dist/modules/types/version.js +0 -2
  327. package/dist/modules/util/clone.js +0 -2
  328. package/dist/modules/util/comparator.js +0 -2
  329. package/dist/modules/util/deadmansswitch.js +0 -2
  330. package/dist/modules/util/freeze.js +0 -2
  331. package/dist/modules/util/namespace.js +0 -2
  332. package/dist/modules/util/processing.js +0 -2
  333. package/dist/modules/util/trimspaces.js +0 -2
  334. package/dist/monster.dev.js +0 -15490
  335. package/dist/monster.dev.js.map +0 -1
  336. package/dist/monster.js +0 -2
  337. package/source/constraints/andoperator.js +0 -71
  338. package/source/constraints/invalid.js +0 -63
  339. package/source/constraints/isarray.js +0 -71
  340. package/source/constraints/isobject.js +0 -72
  341. package/source/constraints/valid.js +0 -63
  342. package/source/data/datasource/storage/localstorage.js +0 -64
  343. package/source/data/datasource/storage/sessionstorage.js +0 -61
  344. package/source/dom/resource/link/stylesheet.js +0 -54
  345. package/source/i18n/provider.js +0 -58
  346. package/source/i18n/providers/namespace.js +0 -16
  347. package/source/logging/handler/console.js +0 -66
  348. package/source/logging/handler/namespace.js +0 -14
  349. package/source/logging/logentry.js +0 -68
  350. package/source/monster.js +0 -80
  351. package/source/namespace.js +0 -171
  352. package/source/types/base.js +0 -50
  353. package/source/types/is.js +0 -429
  354. package/source/types/package.d.ts +0 -1
  355. package/source/types/randomid.js +0 -60
  356. package/source/types/regex.js +0 -49
  357. package/source/types/typeof.js +0 -63
  358. package/source/util/freeze.js +0 -57
  359. package/test/cases/math/random.js +0 -82
  360. package/test/cases/monster.js +0 -23
  361. package/test/cases/namespace.js +0 -93
  362. package/test/cases/types/randomid.js +0 -24
  363. package/test/cases/types/regex.js +0 -32
  364. package/test/web/monster-dev.html +0 -22
  365. package/test/web/monster.html +0 -21
@@ -1,71 +0,0 @@
1
- 'use strict';
2
-
3
- /**
4
- * @author schukai GmbH
5
- */
6
-
7
- import {assignToNamespace, Monster} from '../namespace.js';
8
- import {AbstractOperator} from "./abstractoperator.js";
9
-
10
- /**
11
- * Constraints are used to define conditions that must be met by the value of a variable.
12
- *
13
- * The uniform API of the constraints allows chains to be formed.
14
- *
15
- * The AndOperator is used to link several contraints. The constraint is fulfilled if all constraints of the operators are fulfilled.
16
- *
17
- * ```
18
- * <script type="module">
19
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/monster.js';
20
- * new Monster.Constraint.AndOperator();
21
- * </script>
22
- * ```
23
- *
24
- * Alternatively, you can also integrate this function individually.
25
- *
26
- * ```
27
- * <script type="module">
28
- * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/constraints/andoperator.js';
29
- * new AndOperator();
30
- * </script>
31
- * ```
32
- *
33
- * @example
34
- *
35
- * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/constraints/valid.js';
36
- * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/constraints/invalid.js';
37
- * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/constraints/andoperator.js';
38
- *
39
- * new AndOperator(
40
- * new Valid(), new Valid()).isValid()
41
- * .then(()=>console.log(true))
42
- * .catch(()=>console.log(false));
43
- * // ↦ true
44
- *
45
- * new AndOperator(
46
- * new Invalid(), new Valid()).isValid()
47
- * .then(()=>console.log(true))
48
- * .catch(()=>console.log(false));
49
- * // ↦ false
50
- *
51
- * @since 1.3.0
52
- * @copyright schukai GmbH
53
- * @memberOf Monster.Constraints
54
- * @summary A and operator constraint
55
- */
56
- class AndOperator extends AbstractOperator {
57
-
58
- /**
59
- * this method return a promise containing the result of the check.
60
- *
61
- * @param {*} value
62
- * @returns {Promise}
63
- */
64
- isValid(value) {
65
- return Promise.all([this.operantA.isValid(value), this.operantB.isValid(value)]);
66
- }
67
-
68
- }
69
-
70
- assignToNamespace('Monster.Constraints', AndOperator);
71
- export {Monster, AndOperator}
@@ -1,63 +0,0 @@
1
- 'use strict';
2
-
3
- /**
4
- * @author schukai GmbH
5
- */
6
- import {assignToNamespace, Monster} from '../namespace.js';
7
- import {AbstractConstraint} from "./abstract.js";
8
-
9
- /**
10
- * Constraints are used to define conditions that must be met by the value of a variable.
11
- *
12
- * The uniform API of the constraints allows chains to be formed.
13
- *
14
- * The invalid constraint allows an always invalid query to be performed. this constraint is mainly intended for testing.
15
- *
16
- * You can call the method via the monster namespace `new Monster.Constraint.Invalid()`.
17
- *
18
- * ```
19
- * <script type="module">
20
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/monster.js';
21
- * new Monster.Constraint.Invalid();
22
- * </script>
23
- * ```
24
- *
25
- * Alternatively, you can also integrate this function individually.
26
- *
27
- * ```
28
- * <script type="module">
29
- * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/constraints/invalid.js';
30
- * new Invalid();
31
- * </script>
32
- * ```
33
- *
34
- * @example
35
- *
36
- * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/constraints/invalid.js';
37
- *
38
- * new Invalid().isValid()
39
- * .then(()=>console.log(true))
40
- * .catch(()=>console.log(false));
41
- * // ↦ false
42
- *
43
- * @since 1.3.0
44
- * @copyright schukai GmbH
45
- * @memberOf Monster.Constraints
46
- * @summary A constraint that always invalid
47
- */
48
- class Invalid extends AbstractConstraint {
49
-
50
- /**
51
- * this method return a rejected promise
52
- *
53
- * @param {*} value
54
- * @returns {Promise}
55
- */
56
- isValid(value) {
57
- return Promise.reject(value);
58
- }
59
-
60
- }
61
-
62
- assignToNamespace('Monster.Constraints', Invalid);
63
- export {Monster, Invalid}
@@ -1,71 +0,0 @@
1
- 'use strict';
2
-
3
- /**
4
- * @author schukai GmbH
5
- */
6
- import {assignToNamespace, Monster} from '../namespace.js';
7
- import {isArray} from "../types/is.js";
8
- import {AbstractConstraint} from "./abstract.js";
9
-
10
- /**
11
- * Constraints are used to define conditions that must be met by the value of a variable.
12
- *
13
- * The uniform API of the constraints allows chains to be formed.
14
- *
15
- * You can call the method via the monster namespace `new Monster.Constraint.IsObject()`.
16
- *
17
- * ```
18
- * <script type="module">
19
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/monster.js';
20
- * new Monster.Constraint.IsArray()
21
- * </script>
22
- * ```
23
- *
24
- * Alternatively, you can also integrate this function individually.
25
- *
26
- * ```
27
- * <script type="module">
28
- * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/constraints/isarray.js';
29
- * console.log(new IsArray())
30
- * </script>
31
- * ```
32
- *
33
- * @example
34
- *
35
- * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/constraints/isarray.js';
36
- *
37
- * new IsArray()
38
- * .isValid([])
39
- * .then(()=>console.log(true));
40
- * // ↦ true
41
- *
42
- * new IsArray()
43
- * .isValid(99)
44
- * .catch(e=>console.log(e));
45
- * // ↦ 99
46
- *
47
- * @since 1.3.0
48
- * @copyright schukai GmbH
49
- * @memberOf Monster.Constraints
50
- * @summary A constraint to check if a value is an array
51
- */
52
- class IsArray extends AbstractConstraint {
53
-
54
- /**
55
- * this method return a promise containing the result of the check.
56
- *
57
- * @param {*} value
58
- * @returns {Promise}
59
- */
60
- isValid(value) {
61
- if (isArray(value)) {
62
- return Promise.resolve(value);
63
- }
64
-
65
- return Promise.reject(value);
66
- }
67
-
68
- }
69
-
70
- assignToNamespace('Monster.Constraints', IsArray);
71
- export {Monster, IsArray}
@@ -1,72 +0,0 @@
1
- 'use strict';
2
-
3
- /**
4
- * @author schukai GmbH
5
- */
6
- import {assignToNamespace, Monster} from '../namespace.js';
7
- import {isObject} from "../types/is.js";
8
- import {AbstractConstraint} from "./abstract.js";
9
-
10
- /**
11
- * Constraints are used to define conditions that must be met by the value of a variable.
12
- *
13
- * The uniform API of the constraints allows chains to be formed.
14
- *
15
- * You can call the method via the monster namespace `new Monster.Constraint.IsObject()`.
16
- *
17
- * ```
18
- * <script type="module">
19
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/monster.js';
20
- * console.log(new Monster.Constraint.IsObject())
21
- * </script>
22
- * ```
23
- *
24
- * Alternatively, you can also integrate this function individually.
25
- *
26
- * ```
27
- * <script type="module">
28
- * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/constraints/isobject.js';
29
- * console.log(new IsObject())
30
- * </script>
31
- * ```
32
- *
33
- * @example
34
- *
35
- * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/constraints/isobject.js';
36
- *
37
- * new IsObject()
38
- * .isValid({})
39
- * .then(()=>console.log(true));
40
- * // ↦ true
41
- *
42
- *
43
- * new IsObject()
44
- * .isValid(99)
45
- * .catch(e=>console.log(e));
46
- * // ↦ 99
47
- *
48
- * @since 1.3.0
49
- * @copyright schukai GmbH
50
- * @memberOf Monster.Constraints
51
- * @summary A constraint to check if a value is an object
52
- */
53
- class IsObject extends AbstractConstraint {
54
-
55
- /**
56
- * this method return a promise containing the result of the check.
57
- *
58
- * @param {*} value
59
- * @returns {Promise}
60
- */
61
- isValid(value) {
62
- if (isObject(value)) {
63
- return Promise.resolve(value);
64
- }
65
-
66
- return Promise.reject(value);
67
- }
68
-
69
- }
70
-
71
- assignToNamespace('Monster.Constraints', IsObject);
72
- export {Monster, IsObject}
@@ -1,63 +0,0 @@
1
- 'use strict';
2
-
3
- /**
4
- * @author schukai GmbH
5
- */
6
- import {assignToNamespace, Monster} from '../namespace.js';
7
- import {AbstractConstraint} from "./abstract.js";
8
-
9
- /**
10
- * Constraints are used to define conditions that must be met by the value of a variable.
11
- *
12
- * The uniform API of the constraints allows chains to be formed.
13
- *
14
- * The valid constraint allows an always valid query to be performed. this constraint is mainly intended for testing.
15
- *
16
- * You can call the method via the monster namespace `new Monster.Constraint.Valid()`.
17
- *
18
- * ```
19
- * <script type="module">
20
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/monster.js';
21
- * new Monster.Constraint.Valid();
22
- * </script>
23
- * ```
24
- *
25
- * Alternatively, you can also integrate this function individually.
26
- *
27
- * ```
28
- * <script type="module">
29
- * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/constraints/valid.js';
30
- * new Valid();
31
- * </script>
32
- * ```
33
- *
34
- * @example
35
- *
36
- * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/constraints/valid.js';
37
- *
38
- * new Valid().isValid()
39
- * .then(()=>console.log(true))
40
- * .catch(()=>console.log(false));
41
- * // ↦ true
42
- *
43
- * @since 1.3.0
44
- * @copyright schukai GmbH
45
- * @memberOf Monster.Constraints
46
- * @summary A constraint that always valid
47
- */
48
- class Valid extends AbstractConstraint {
49
-
50
- /**
51
- * this method return a promise containing the result of the check.
52
- *
53
- * @param {*} value
54
- * @returns {Promise}
55
- */
56
- isValid(value) {
57
- return Promise.resolve(value);
58
- }
59
-
60
- }
61
-
62
- assignToNamespace('Monster.Constraints', Valid);
63
- export {Monster, Valid}
@@ -1,64 +0,0 @@
1
- 'use strict';
2
-
3
- /**
4
- * @author schukai GmbH
5
- */
6
-
7
- import {internalSymbol} from "../../../constants.js";
8
- import {assignToNamespace, Monster} from '../../../namespace.js';
9
- import {getGlobalObject} from "../../../types/global.js";
10
- import {Datasource} from "../../datasource.js";
11
- import {Storage, storageObjectSymbol} from "../storage.js";
12
-
13
-
14
- /**
15
- *
16
- *
17
- * You can create an object of this class using the monster namespace `Monster.Data.Datasource.Storage.LocalStorage()`.
18
- *
19
- * ```
20
- * <script type="module">
21
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/monster.js';
22
- * Monster.Data.Datasource.Storage.LocalStorage()
23
- * </script>
24
- * ```
25
- *
26
- * Alternatively you can import the class directly
27
- *
28
- * ```
29
- * <script type="module">
30
- * import {LocalStorage} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/data/datasource/storage/localstorage.js';
31
- * new LocalStorage()
32
- * </script>
33
- * ```
34
- *
35
- * @since 1.22.0
36
- * @copyright schukai GmbH
37
- * @memberOf Monster.Data.Datasource.Storage
38
- * @summary The LocalStorage class encapsulates the access to data objects.
39
- */
40
- class LocalStorage extends Storage {
41
-
42
- /**
43
- * @throws {Error} this method must be implemented by derived classes.
44
- * @return {external:localStorage}
45
- * @private
46
- */
47
- [storageObjectSymbol]() {
48
- return getGlobalObject('localStorage');
49
- }
50
-
51
- /**
52
- * Create clone
53
- * @return {LocalStorage}
54
- */
55
- getClone() {
56
- const self = this;
57
- return new LocalStorage(self[internalSymbol].getRealSubject()['options'].key);
58
- }
59
-
60
-
61
- }
62
-
63
- assignToNamespace('Monster.Data.Datasource.Storage', LocalStorage);
64
- export {Monster, LocalStorage}
@@ -1,61 +0,0 @@
1
- 'use strict';
2
-
3
- /**
4
- * @author schukai GmbH
5
- */
6
-
7
- import {internalSymbol} from "../../../constants.js";
8
- import {assignToNamespace, Monster} from '../../../namespace.js';
9
- import {getGlobalObject} from "../../../types/global.js";
10
- import {Datasource} from "../../datasource.js";
11
- import {Storage, storageObjectSymbol} from "../storage.js";
12
-
13
- /**
14
- * You can create an object of this class using the monster namespace `Monster.Data.Datasource.Storage.SessionStorage()`.
15
- *
16
- * ```
17
- * <script type="module">
18
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/monster.js';
19
- * Monster.Data.Datasource.Storage.SessionStorage()
20
- * </script>
21
- * ```
22
- *
23
- * Alternatively you can import the class directly
24
- *
25
- * ```
26
- * <script type="module">
27
- * import {SessionStorage} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/data/datasource/storage/sessionstorage.js';
28
- * new SessionStorage()
29
- * </script>
30
- * ```
31
- *
32
- * @since 1.22.0
33
- * @copyright schukai GmbH
34
- * @memberOf Monster.Data.Datasource.Storage
35
- * @summary The LocalStorage class encapsulates the access to data objects.
36
- */
37
- class SessionStorage extends Storage {
38
-
39
- /**
40
- * @throws {Error} this method must be implemented by derived classes.
41
- * @return {external:sessionStorage}
42
- * @private
43
- */
44
- [storageObjectSymbol]() {
45
- return getGlobalObject('sessionStorage');
46
- }
47
-
48
- /**
49
- * Create Clone
50
- *
51
- * @return {SessionStorage}
52
- */
53
- getClone() {
54
- const self = this;
55
- return new SessionStorage(self[internalSymbol].getRealSubject()['options'].key);
56
- }
57
-
58
- }
59
-
60
- assignToNamespace('Monster.Data.Datasource.Storage', SessionStorage);
61
- export {Monster, SessionStorage}
@@ -1,54 +0,0 @@
1
- 'use strict';
2
-
3
- /**
4
- * @author schukai GmbH
5
- */
6
-
7
- import {extend} from "../../../data/extend.js";
8
- import {assignToNamespace, Monster} from "../../../namespace.js";
9
- import {Link} from "../link.js";
10
-
11
-
12
- /**
13
- * This class is used by the resource manager to embed external resources.
14
- *
15
- * You can call the method via the monster namespace `new Monster.DOM.Resource.Link.Stylesheet()`.
16
- *
17
- * ```
18
- * <script type="module">
19
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/monster.js';
20
- * new Monster.DOM.Resource.Link.Stylesheet()
21
- * </script>
22
- * ```
23
- *
24
- * Alternatively, you can also integrate this function individually.
25
- *
26
- * ```
27
- * <script type="module">
28
- * import {Style} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/dom/resource/link/stylesheet.js';
29
- * new Stylesheet()
30
- * </script>
31
- * ```
32
- *
33
- * @since 1.25.0
34
- * @copyright schukai GmbH
35
- * @memberOf Monster.DOM.Resource
36
- * @summary A Resource class
37
- * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link
38
- */
39
- class Stylesheet extends Link {
40
-
41
- /**
42
- * @property {string} rel {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link#attr-rel}
43
- */
44
- get defaults() {
45
- return extend({}, super.defaults, {
46
- rel: 'stylesheet'
47
- })
48
- }
49
-
50
- }
51
-
52
-
53
- assignToNamespace('Monster.DOM.Resource.Link', Stylesheet);
54
- export {Monster, Stylesheet}
@@ -1,58 +0,0 @@
1
- 'use strict';
2
-
3
- /**
4
- * @author schukai GmbH
5
- */
6
- import {assignToNamespace, Monster} from '../namespace.js';
7
- import {BaseWithOptions} from "../types/basewithoptions.js";
8
- import {Locale} from "./locale.js"
9
- import {Translations} from "./translations.js"
10
-
11
- /**
12
- * A provider makes a translation object available.
13
- *
14
- * You can call the method via the monster namespace `new Monster.I18n.Provider()`.
15
- *
16
- * ```
17
- * <script type="module">
18
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/monster.js';
19
- * new Monster.I18n.Provider()
20
- * </script>
21
- * ```
22
- *
23
- * Alternatively, you can also integrate this function individually.
24
- *
25
- * ```
26
- * <script type="module">
27
- * import {Provider} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/i18n/provider.js';
28
- * new Provider()
29
- * </script>
30
- * ```
31
- *
32
- * @since 1.13.0
33
- * @copyright schukai GmbH
34
- * @memberOf Monster.I18n
35
- * @see {@link https://datatracker.ietf.org/doc/html/rfc3066}
36
- */
37
- class Provider extends BaseWithOptions {
38
-
39
- /**
40
- * @param {Locale|string} locale
41
- * @return {Promise}
42
- */
43
- getTranslations(locale) {
44
- return new Promise((resolve, reject) => {
45
- try {
46
- resolve(new Translations(locale));
47
- } catch (e) {
48
- reject(e);
49
- }
50
-
51
- });
52
- }
53
-
54
- }
55
-
56
-
57
- assignToNamespace('Monster.I18n', Provider);
58
- export {Monster, Provider}
@@ -1,16 +0,0 @@
1
- 'use strict';
2
-
3
- /**
4
- * Namespace for different translation providers.
5
- *
6
- * @namespace Monster.I18n.Providers
7
- * @memberOf Monster.I18n
8
- * @author schukai GmbH
9
- */
10
-
11
-
12
- /**
13
- * @private
14
- * @type {string}
15
- */
16
- export const namespace = "Monster.I18n.Providers";
@@ -1,66 +0,0 @@
1
- 'use strict';
2
-
3
- /**
4
- * @author schukai GmbH
5
- */
6
-
7
- import {assignToNamespace, Monster} from '../../namespace.js';
8
- import {Base} from '../../types/base.js';
9
- import {getGlobalObject} from "../../types/global.js";
10
- import {Handler} from '../handler.js';
11
- import {LogEntry} from "../logentry.js";
12
-
13
- /**
14
- * You can create an object of the class simply by using the namespace `new Monster.Logging.Handler.ConsoleHandler()`.
15
- *
16
- * ```
17
- * <script type="module">
18
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/monster.js';
19
- * console.log(new Monster.Logging.Handler.ConsoleHandler())
20
- * </script>
21
- * ```
22
- *
23
- * Alternatively, you can also integrate this class individually.
24
- *
25
- * ```
26
- * <script type="module">
27
- * import {ConsoleHandler} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/logging/handler/console.js';
28
- * console.log(new ConsoleHandler())
29
- * </script>
30
- * ```
31
- *
32
- * @since 1.5.0
33
- * @copyright schukai GmbH
34
- * @memberOf Monster.Logging.Handler
35
- */
36
- class ConsoleHandler extends Handler {
37
- constructor() {
38
- super();
39
- }
40
-
41
-
42
- /**
43
- * This is the central log function. this method must be
44
- * overwritten by derived handlers with their own logic.
45
- *
46
- * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF (ALL = 0xff;OFF = 0x00;
47
- *
48
- * @param {LogEntry} entry
49
- * @returns {boolean}
50
- */
51
- log(entry) {
52
- if (super.log(entry)) {
53
- let console = getGlobalObject('console');
54
- if (!console) return false;
55
- console.log(entry.toString());
56
- return true;
57
- }
58
-
59
- return false;
60
- }
61
-
62
- }
63
-
64
-
65
- assignToNamespace('Monster.Logging.Handler', ConsoleHandler);
66
- export {Monster, ConsoleHandler};
@@ -1,14 +0,0 @@
1
- 'use strict';
2
-
3
- /**
4
- * @namespace Monster.Logging.Handler
5
- * @memberOf Monster.Logging
6
- * @author schukai GmbH
7
- */
8
-
9
-
10
- /**
11
- * @private
12
- * @type {string}
13
- */
14
- export const namespace = "Monster.Logging.Handler";