Package not found. Please check the package name and try again.

@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
@@ -0,0 +1,9 @@
1
+ import {Observer} from '@schukai/monster/source/types/observer.mjs';
2
+
3
+ const observer = new Observer(function (a, b, c) {
4
+ console.log(this, a, b, c); // ↦ "a", 2, true
5
+ }, "a", 2, true);
6
+
7
+ observer.update({value: true}).then(() => {
8
+ });
9
+ // ↦ {value: true} "a" 2 true
@@ -0,0 +1,25 @@
1
+ import {ProxyObserver} from '@schukai/monster/source/types/proxyobserver.mjs';
2
+ import {Observer} from '@schukai/monster/source/types/observer.mjs';
3
+ import {isObject} from '@schukai/monster/source/types/is.mjs';
4
+
5
+ const o = new Observer(function () {
6
+ if (isObject(this) && this instanceof ProxyObserver) {
7
+ // do something (this ist ProxyObserver)
8
+ const subject = this.getSubject();
9
+ console.log(subject);
10
+ }
11
+ });
12
+
13
+ let realSubject = {
14
+ a: {
15
+ b: {
16
+ c: true
17
+ },
18
+ d: 9
19
+ }
20
+ }
21
+
22
+ const p = new ProxyObserver(realSubject);
23
+ p.attachObserver(o);
24
+ const s = p.getSubject();
25
+ s.a.b.c = false;
@@ -0,0 +1,20 @@
1
+ import {Queue} from '@schukai/monster/source/types/queue.mjs';
2
+
3
+ const queue = new Queue;
4
+
5
+ queue.add(2);
6
+ queue.add(true);
7
+ queue.add("Hello");
8
+ queue.add(4.5);
9
+
10
+ console.log(queue.poll());
11
+ // ↦ 2
12
+ console.log(queue.poll());
13
+ // ↦ true
14
+ console.log(queue.poll());
15
+ // ↦ "Hello"
16
+ console.log(queue.poll());
17
+ // ↦ 4.5
18
+ console.log(queue.poll());
19
+ // ↦ undefined
20
+
@@ -0,0 +1,4 @@
1
+ import {TokenList} from '@schukai/monster/source/types/tokenlist.mjs';
2
+
3
+ typeof new TokenList("myclass row")[Symbol.iterator];
4
+ // ↦ "function"
@@ -0,0 +1,7 @@
1
+ import {TokenList} from '@schukai/monster/source/types/tokenlist.mjs';
2
+
3
+ new TokenList("start middle end").contains('start'); // ↦ true
4
+ new TokenList("start middle end").contains('end'); // ↦ true
5
+ new TokenList("start middle end").contains('xyz'); // ↦ false
6
+ new TokenList("start middle end").contains(['end','start','middle']); // ↦ true
7
+ new TokenList("start middle end").contains(['end','start','xyz']); // ↦ false
@@ -0,0 +1,5 @@
1
+ import {TokenList} from '@schukai/monster/source/types/tokenlist.mjs';
2
+
3
+ new TokenList().add("abc xyz").toString(); // ↦ "abc xyz"
4
+ new TokenList().add(["abc", "xyz"]).toString(); // ↦ "abc xyz"
5
+ new TokenList().add(undefined); // ↦ add nothing
@@ -0,0 +1,5 @@
1
+ import {TokenList} from '@schukai/monster/source/types/tokenlist.mjs';
2
+
3
+ new TokenList("abc xyz").remove("xyz").toString(); // ↦ "abc"
4
+ new TokenList("abc xyz").remove(["xyz"]).toString(); // ↦ "abc"
5
+ new TokenList("abc xyz").remove(undefined); // ↦ remove nothing
@@ -0,0 +1,5 @@
1
+ import {TokenList} from '@schukai/monster/source/types/tokenlist.mjs';
2
+
3
+ new TokenList("abc def ghi").toggle("def xyz").toString(); // ↦ "abc ghi xyz"
4
+ new TokenList("abc def ghi").toggle(["abc", "xyz"]).toString(); // ↦ "def ghi xyz"
5
+ new TokenList().toggle(undefined); // ↦ nothing
@@ -0,0 +1,9 @@
1
+ import {typeOf} from '@schukai/monster/source/types/typeof.mjs';
2
+
3
+ typeOf(undefined); // ↦ undefined
4
+ typeOf(""); // ↦ string
5
+ typeOf(5); // ↦ number
6
+ typeOf({}); // ↦ object
7
+ typeOf([]); // ↦ array
8
+ typeOf(new Map); // ↦ map
9
+ typeOf(true); // ↦ boolean
@@ -0,0 +1,6 @@
1
+ import {Version} from '@schukai/monster/source/types/version.mjs';
2
+
3
+ new Version('1.0.0') // ↦ 1.0.0
4
+ new Version(1) // ↦ 1.0.0
5
+ new Version(1, 0, 0) // ↦ 1.0.0
6
+ new Version('1.2.3', 4, 5) // ↦ 1.4.5
@@ -0,0 +1,3 @@
1
+ import {getMonsterVersion} from '@schukai/monster/source/types/version.mjs';
2
+
3
+ getMonsterVersion();
@@ -0,0 +1,10 @@
1
+ import {Comparator} from '@schukai/monster/source/util/comparator.mjs';
2
+
3
+ console.log(new Comparator().lessThanOrEqual(2, 5))
4
+ // ↦ true
5
+ console.log(new Comparator().greaterThan(4, 2))
6
+ // ↦ true
7
+ console.log(new Comparator().equal(4, 4))
8
+ // ↦ true
9
+ console.log(new Comparator().equal(4, 5))
10
+ // ↦ false
@@ -0,0 +1,9 @@
1
+ import {DeadMansSwitch} from '@schukai/monster/source/util/deadmansswitch.mjs';
2
+
3
+ const deadmansswitch = new DeadMansSwitch(100, () => {
4
+ console.log('yeah!')
5
+ // ↦ "yeah!"
6
+ })
7
+
8
+ deadmansswitch.touch(); // from here wait again 100 ms
9
+ deadmansswitch.touch(200); // from here wait 200 ms
@@ -0,0 +1,17 @@
1
+ import {Processing} from '@schukai/monster/source/util/processing.mjs';
2
+
3
+ let startTime = +new Date();
4
+
5
+ new Processing((url) => {
6
+ return fetch(url)
7
+ }, (response) => {
8
+ // do something with the response
9
+ console.log(response.status, +new Date() - startTime)
10
+ }, 200, () => {
11
+ // this function is called 200 seconds after fetch is received.
12
+ console.log('finished', +new Date() - startTime)
13
+ return 'done'
14
+ }).run('https://monsterjs.org/assets/world.json').then(r => {
15
+ console.log(r)
16
+ // ↦ "done"
17
+ })
package/package.json CHANGED
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "name": "@schukai/monster",
3
- "version": "1.31.0",
4
- "types": "./source/types/package.d.ts",
3
+ "version": "2.0.0",
5
4
  "description": "Monster is a simple library for creating fast, robust and lightweight websites.",
6
5
  "keywords": [
7
6
  "framework",
@@ -30,67 +29,14 @@
30
29
  "log",
31
30
  "theme"
32
31
  ],
32
+ "main": "source/monster.js",
33
+ "module": "source/monster.js",
33
34
  "type": "module",
34
35
  "homepage": "https://monsterjs.org",
35
36
  "repository": {
36
37
  "type": "git",
37
38
  "url": "https://gitlab.schukai.com/oss/libraries/javascript/monster.git"
38
39
  },
39
- "main": "dist/monster.js",
40
- "module": "dist/modules/monster.js",
41
40
  "author": "schukai GmbH",
42
- "license": "AGPL 3.0",
43
- "browserslist": [
44
- "last 10 version",
45
- "> 1%",
46
- "IE 10"
47
- ],
48
- "browserify": {
49
- "transform": [
50
- [
51
- "babelify",
52
- {
53
- "presets": [
54
- [
55
- "@babel/preset-env",
56
- {
57
- "useBuiltIns": "usage",
58
- "corejs": 3,
59
- "targets": {
60
- "browsers": [
61
- "last 2 versions",
62
- "safari >= 7",
63
- "ie >= 11"
64
- ]
65
- }
66
- }
67
- ]
68
- ],
69
- "plugins": [
70
- [
71
- "@babel/plugin-transform-regenerator",
72
- {
73
- "asyncGenerators": false,
74
- "generators": false,
75
- "async": false
76
- }
77
- ],
78
- [
79
- "@babel/plugin-transform-runtime",
80
- {
81
- "absoluteRuntime": false,
82
- "corejs": false,
83
- "helpers": true,
84
- "regenerator": true,
85
- "version": "7.0.0-beta.0"
86
- }
87
- ],
88
- [
89
- "@babel/plugin-transform-classes"
90
- ]
91
- ]
92
- }
93
- ]
94
- ]
95
- }
96
- }
41
+ "license": "AGPL 3.0"
42
+ }
@@ -1,15 +1,18 @@
1
- 'use strict';
2
-
3
- import {Monster} from './namespace.js';
4
1
  /**
5
2
  * Property-Keys
6
3
  * @author schukai GmbH
7
4
  */
8
5
 
6
+ export {
7
+ internalSymbol,
8
+ internalStateSymbol
9
+ }
10
+
9
11
  /**
10
12
  * @private
11
13
  * @type {symbol}
12
14
  * @memberOf Monster
15
+ * @license AGPLv3
13
16
  * @since 1.24.0
14
17
  */
15
18
  const internalSymbol = Symbol('internalData');
@@ -18,14 +21,8 @@ const internalSymbol = Symbol('internalData');
18
21
  * @private
19
22
  * @type {symbol}
20
23
  * @memberOf Monster
24
+ * @license AGPLv3
21
25
  * @since 1.25.0
22
26
  */
23
27
  const internalStateSymbol = Symbol('state');
24
28
 
25
-
26
- export {
27
- Monster,
28
- internalSymbol,
29
- internalStateSymbol
30
- }
31
-
@@ -1,12 +1,13 @@
1
- 'use strict';
2
-
3
1
  /**
4
- * @author schukai GmbH
2
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
3
+ * Node module: @schukai/monster
4
+ * This file is licensed under the AGPLv3 License.
5
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
5
6
  */
6
7
 
7
- import {assignToNamespace, Monster} from '../namespace.js';
8
- import {Base} from '../types/base.js';
8
+ import {Base} from '../types/base.mjs';
9
9
 
10
+ export {AbstractConstraint}
10
11
 
11
12
  /**
12
13
  * Constraints are used to define conditions that must be met by the value of a variable.
@@ -15,8 +16,9 @@ import {Base} from '../types/base.js';
15
16
  *
16
17
  * The abstract constraint defines the api for all constraints. mainly the method isValid() is defined.
17
18
  *
18
- * derived classes must implement the method isValid().
19
+ * Derived classes must implement the method isValid().
19
20
  *
21
+ * @license AGPLv3
20
22
  * @since 1.3.0
21
23
  * @copyright schukai GmbH
22
24
  * @memberOf Monster.Constraints
@@ -41,6 +43,3 @@ class AbstractConstraint extends Base {
41
43
  return Promise.reject(value);
42
44
  }
43
45
  }
44
-
45
- assignToNamespace('Monster.Constraints', AbstractConstraint);
46
- export {Monster, AbstractConstraint}
@@ -1,18 +1,23 @@
1
- 'use strict';
2
-
3
1
  /**
4
- * @author schukai GmbH
2
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
3
+ * Node module: @schukai/monster
4
+ * This file is licensed under the AGPLv3 License.
5
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
5
6
  */
6
- import {assignToNamespace, Monster} from '../namespace.js';
7
- import {AbstractConstraint} from "./abstract.js";
7
+
8
+ import {AbstractConstraint} from "./abstract.mjs";
9
+
10
+ export {AbstractOperator}
8
11
 
9
12
  /**
10
13
  * Constraints are used to define conditions that must be met by the value of a variable.
11
14
  *
12
15
  * The uniform API of the constraints allows chains to be formed.
13
16
  *
14
- * Operators allow you to link constraints together. for example, you can check whether a value is an object or an array. each operator has two operands that are linked together.
17
+ * Operators allow you to link constraints together. for example, you can check whether a value is
18
+ * an object or an array. each operator has two operands that are linked together.
15
19
  *
20
+ * @license AGPLv3
16
21
  * @since 1.3.0
17
22
  * @copyright schukai GmbH
18
23
  * @memberOf Monster.Constraints
@@ -41,5 +46,3 @@ class AbstractOperator extends AbstractConstraint {
41
46
 
42
47
  }
43
48
 
44
- assignToNamespace('Monster.Constraints', AbstractOperator);
45
- export {Monster, AbstractOperator}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
3
+ * Node module: @schukai/monster
4
+ * This file is licensed under the AGPLv3 License.
5
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
6
+ */
7
+
8
+ import {AbstractOperator} from "./abstractoperator.mjs";
9
+
10
+ export {AndOperator}
11
+
12
+ /**
13
+ * Constraints are used to define conditions that must be met by the value of a variable.
14
+ *
15
+ * The uniform API of the constraints allows chains to be formed.
16
+ *
17
+ * The AndOperator is used to link several constraints. The constraint is fulfilled if all constraints of the operators are fulfilled.
18
+ *
19
+ * @externalExample ../../example/constraints/andoperator.mjs
20
+ * @license AGPLv3
21
+ * @since 1.3.0
22
+ * @copyright schukai GmbH
23
+ * @memberOf Monster.Constraints
24
+ * @summary A and operator constraint
25
+ */
26
+ class AndOperator extends AbstractOperator {
27
+
28
+ /**
29
+ * this method return a promise containing the result of the check.
30
+ *
31
+ * @param {*} value
32
+ * @returns {Promise}
33
+ */
34
+ isValid(value) {
35
+ return Promise.all([this.operantA.isValid(value), this.operantB.isValid(value)]);
36
+ }
37
+
38
+ }
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
3
+ * Node module: @schukai/monster
4
+ * This file is licensed under the AGPLv3 License.
5
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
6
+ */
7
+
8
+ import {AbstractConstraint} from "./abstract.mjs";
9
+
10
+ export {Invalid}
11
+
12
+ /**
13
+ * Constraints are used to define conditions that must be met by the value of a variable.
14
+ *
15
+ * The uniform API of the constraints allows chains to be formed.
16
+ *
17
+ * The invalid constraint allows an always invalid query to be performed. this constraint is mainly intended for testing.
18
+ *
19
+ * @externalExample ../../example/constraints/invalid.mjs
20
+ * @license AGPLv3
21
+ * @since 1.3.0
22
+ * @copyright schukai GmbH
23
+ * @memberOf Monster.Constraints
24
+ * @summary A constraint that always invalid
25
+ */
26
+ class Invalid extends AbstractConstraint {
27
+
28
+ /**
29
+ * this method return a rejected promise
30
+ *
31
+ * @param {*} value
32
+ * @returns {Promise}
33
+ */
34
+ isValid(value) {
35
+ return Promise.reject(value);
36
+ }
37
+
38
+ }
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
3
+ * Node module: @schukai/monster
4
+ * This file is licensed under the AGPLv3 License.
5
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
6
+ */
7
+
8
+ import {isArray} from "../types/is.mjs";
9
+ import {AbstractConstraint} from "./abstract.mjs";
10
+
11
+ export {IsArray}
12
+
13
+ /**
14
+ * Constraints are used to define conditions that must be met by the value of a variable.
15
+ *
16
+ * The uniform API of the constraints allows chains to be formed.
17
+ *
18
+ * @externalExample ../../example/constraints/isarray.mjs
19
+ * @license AGPLv3
20
+ * @since 1.3.0
21
+ * @copyright schukai GmbH
22
+ * @memberOf Monster.Constraints
23
+ * @summary A constraint to check if a value is an array
24
+ */
25
+ class IsArray extends AbstractConstraint {
26
+
27
+ /**
28
+ * this method return a promise containing the result of the check.
29
+ *
30
+ * @param {*} value
31
+ * @returns {Promise}
32
+ */
33
+ isValid(value) {
34
+ if (isArray(value)) {
35
+ return Promise.resolve(value);
36
+ }
37
+
38
+ return Promise.reject(value);
39
+ }
40
+
41
+ }
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
3
+ * Node module: @schukai/monster
4
+ * This file is licensed under the AGPLv3 License.
5
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
6
+ */
7
+
8
+ import {isObject} from "../types/is.mjs";
9
+ import {AbstractConstraint} from "./abstract.mjs";
10
+
11
+ export {IsObject}
12
+
13
+ /**
14
+ * Constraints are used to define conditions that must be met by the value of a variable.
15
+ *
16
+ * The uniform API of the constraints allows chains to be formed.
17
+ *
18
+ * @externalExample ../../example/constraints/isobject.mjs
19
+ * @license AGPLv3
20
+ * @since 1.3.0
21
+ * @copyright schukai GmbH
22
+ * @memberOf Monster.Constraints
23
+ * @summary A constraint to check if a value is an object
24
+ */
25
+ class IsObject extends AbstractConstraint {
26
+
27
+ /**
28
+ * this method return a promise containing the result of the check.
29
+ *
30
+ * @param {*} value
31
+ * @returns {Promise}
32
+ */
33
+ isValid(value) {
34
+ if (isObject(value)) {
35
+ return Promise.resolve(value);
36
+ }
37
+
38
+ return Promise.reject(value);
39
+ }
40
+
41
+ }
@@ -1,15 +1,10 @@
1
- 'use strict';
1
+
2
2
 
3
3
  /**
4
4
  * Constraints are used to define conditions that must be met by the value of a variable so that the value can be transferred to the system.
5
5
  *
6
- * @namespace Constraints
6
+ * @namespace Monster.Constraints
7
7
  * @memberOf Monster
8
8
  * @author schukai GmbH
9
9
  */
10
-
11
- /**
12
- * @private
13
- * @type {string}
14
- */
15
- export const namespace = "Monster.Constraints";
10
+ const ns = {};
@@ -1,10 +1,13 @@
1
- 'use strict';
2
-
3
1
  /**
4
- * @author schukai GmbH
2
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
3
+ * Node module: @schukai/monster
4
+ * This file is licensed under the AGPLv3 License.
5
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
5
6
  */
6
- import {assignToNamespace, Monster} from '../namespace.js';
7
- import {AbstractOperator} from "./abstractoperator.js";
7
+
8
+ import {AbstractOperator} from "./abstractoperator.mjs";
9
+
10
+ export {OrOperator}
8
11
 
9
12
  /**
10
13
  * Constraints are used to define conditions that must be met by the value of a variable.
@@ -13,40 +16,8 @@ import {AbstractOperator} from "./abstractoperator.js";
13
16
  *
14
17
  * The OrOperator is used to link several constraints. The constraint is fulfilled if one of the constraints is fulfilled.
15
18
  *
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.Constraint.OrOperator();
20
- * </script>
21
- * ```
22
- *
23
- * Alternatively, you can also integrate this function individually.
24
- *
25
- * ```
26
- * <script type="module">
27
- * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/constraint/oroperator.js';
28
- * new OrOperator();
29
- * </script>
30
- * ```
31
- *
32
- * @example
33
- *
34
- * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/constraints/valid.js';
35
- * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/constraints/invalid.js';
36
- * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/constraints/oroperator.js';
37
- *
38
- * new OrOperator(
39
- * new Valid(), new Invalid()).isValid()
40
- * .then(()=>console.log(true))
41
- * .catch(()=>console.log(false));
42
- * // ↦ true
43
- *
44
- * new OrOperator(
45
- * new Invalid(), new Invalid()).isValid()
46
- * .then(()=>console.log(true))
47
- * .catch(()=>console.log(false));
48
- * // ↦ false
49
- *
19
+ * @externalExample ../../example/constraints/oroperator.mjs
20
+ * @license AGPLv3
50
21
  * @since 1.3.0
51
22
  * @copyright schukai GmbH
52
23
  * @memberOf Monster.Constraints
@@ -92,6 +63,3 @@ class OrOperator extends AbstractOperator {
92
63
 
93
64
 
94
65
  }
95
-
96
- assignToNamespace('Monster.Constraints', OrOperator);
97
- export {Monster, OrOperator}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
3
+ * Node module: @schukai/monster
4
+ * This file is licensed under the AGPLv3 License.
5
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
6
+ */
7
+
8
+ import {AbstractConstraint} from "./abstract.mjs";
9
+
10
+ export {Valid}
11
+
12
+ /**
13
+ * Constraints are used to define conditions that must be met by the value of a variable.
14
+ *
15
+ * The uniform API of the constraints allows chains to be formed.
16
+ *
17
+ * The valid constraint allows an always valid query to be performed. this constraint is mainly intended for testing.
18
+ *
19
+ * @externalExample ../../example/constraints/valid.mjs
20
+ * @license AGPLv3
21
+ * @since 1.3.0
22
+ * @copyright schukai GmbH
23
+ * @memberOf Monster.Constraints
24
+ * @summary A constraint that always valid
25
+ */
26
+ class Valid extends AbstractConstraint {
27
+
28
+ /**
29
+ * this method return a promise containing the result of the check.
30
+ *
31
+ * @param {*} value
32
+ * @returns {Promise}
33
+ */
34
+ isValid(value) {
35
+ return Promise.resolve(value);
36
+ }
37
+
38
+ }