@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,81 +1,25 @@
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 {isArray, isObject} from "../types/is.js";
9
- import {typeOf} from "../types/typeof.js";
8
+ import {isArray, isObject} from "../types/is.mjs";
9
+ import {typeOf} from "../types/typeof.mjs";
10
+
11
+ export {diff}
10
12
 
11
13
  /**
12
14
  * With the diff function you can perform the change of one object to another. The result shows the changes of the second object to the first object.
13
15
  *
14
16
  * The operator `add` means that something has been added to the second object. `delete` means that something has been deleted from the second object compared to the first object.
15
17
  *
16
- * You can call the method via the monster namespace `Monster.Data.Diff()`.
17
- *
18
- * ```
19
- * <script type="module">
20
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/monster.js';
21
- * Monster.Data.Diff(a, b)
22
- * </script>
23
- * ```
24
- *
25
- * Alternatively, you can also integrate this function individually.
26
- *
27
- * ```
28
- * <script type="module">
29
- * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/data/diff.js';
30
- * Diff(a, b)
31
- * </script>
32
- * ```
33
- *
34
- * @example
35
- *
36
- * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/data/diff.js';
37
- *
38
- * // given are two objects x and y.
39
- *
40
- * let x = {
41
- * a: 1,
42
- * b: "Hello!"
43
- * }
44
- *
45
- * let y = {
46
- * a: 2,
47
- * c: true
48
- * }
49
- *
50
- * // These two objects can be compared with each other.
51
- *
52
- * console.log(Diff(x, y));
53
- *
54
- * // the result is then the following
55
- *
56
- * //
57
- * // [
58
- * // {
59
- * // operator: 'update',
60
- * // path: [ 'a' ],
61
- * // first: { value: 1, type: 'number' },
62
- * // second: { value: 2, type: 'number' }
63
- * // },
64
- * // {
65
- * // operator: 'delete',
66
- * // path: [ 'b' ],
67
- * // first: { value: 'Hello!', type: 'string' }
68
- * // },
69
- * // {
70
- * // operator: 'add',
71
- * // path: [ 'c' ],
72
- * // second: { value: true, type: 'boolean' }
73
- * // }
74
- * // ]
75
- *
18
+ * @externalExample ../../example/data/diff.mjs
76
19
  * @param {*} first
77
20
  * @param {*} second
78
21
  * @return {array}
22
+ * @license AGPLv3
79
23
  * @since 1.6.0
80
24
  * @copyright schukai GmbH
81
25
  * @memberOf Monster.Data
@@ -244,6 +188,3 @@ function getOperator(a, b) {
244
188
  return operator;
245
189
 
246
190
  }
247
-
248
- assignToNamespace('Monster.Data', diff);
249
- export {Monster, diff}
@@ -1,37 +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 {isArray, isObject} from "../types/is.js";
8
- import {typeOf} from "../types/typeof.js";
7
+
8
+ import {isArray, isObject} from "../types/is.mjs";
9
+ import {typeOf} from "../types/typeof.mjs";
10
+
11
+ export {extend}
9
12
 
10
13
  /**
11
14
  * Extend copies all enumerable own properties from one or
12
15
  * more source objects to a target object. It returns the modified target object.
13
16
  *
14
- * You can call the method via the monster namespace `Monster.Data.extend()`.
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.extend(a, b)
20
- * </script>
21
- * ```
22
- *
23
- * Alternatively, you can also integrate this function individually.
24
- *
25
- * ```
26
- * <script type="module">
27
- * import {extend} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/data/extend.js';
28
- * extend(a, b)
29
- * </script>
30
- * ```
31
- *
32
17
  * @param {object} target
33
18
  * @param {object}
34
19
  * @return {object}
20
+ * @license AGPLv3
35
21
  * @since 1.10.0
36
22
  * @copyright schukai GmbH
37
23
  * @memberOf Monster.Data
@@ -86,7 +72,3 @@ function extend() {
86
72
 
87
73
  return o;
88
74
  }
89
-
90
-
91
- assignToNamespace('Monster.Data', extend);
92
- export {Monster, extend}
@@ -1,4 +1,4 @@
1
- 'use strict';
1
+
2
2
 
3
3
  /**
4
4
  * In this namespace you will find classes and methods for handling data.
@@ -7,10 +7,4 @@
7
7
  * @memberOf Monster
8
8
  * @author schukai GmbH
9
9
  */
10
-
11
-
12
- /**
13
- * @private
14
- * @type {string}
15
- */
16
- export const namespace = "Monster.Data";
10
+ const ns = {};
@@ -1,13 +1,16 @@
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 {Base} from '../types/base.js';
8
- import {isArray, isInteger, isObject, isPrimitive} from '../types/is.js';
9
- import {Stack} from "../types/stack.js";
10
- import {validateInteger, validateString} from '../types/validate.js';
7
+
8
+ import {Base} from '../types/base.mjs';
9
+ import {isArray, isInteger, isObject, isPrimitive} from '../types/is.mjs';
10
+ import {Stack} from "../types/stack.mjs";
11
+ import {validateInteger, validateString} from '../types/validate.mjs';
12
+
13
+ export {Pathfinder, DELIMITER, WILDCARD}
11
14
 
12
15
  /**
13
16
  * path separator
@@ -15,32 +18,16 @@ import {validateInteger, validateString} from '../types/validate.js';
15
18
  * @private
16
19
  * @type {string}
17
20
  */
18
- export const DELIMITER = '.';
21
+ const DELIMITER = '.';
19
22
 
20
23
  /**
21
24
  * @private
22
25
  * @type {string}
23
26
  */
24
- export const WILDCARD = '*';
27
+ const WILDCARD = '*';
25
28
 
26
29
  /**
27
- * You can call the method via the monster namespace `new Monster.Data.Pathfinder()`.
28
- *
29
- * ```
30
- * <script type="module">
31
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/monster.js';
32
- * console.log(new Monster.Data.Pathfinder())
33
- * </script>
34
- * ```
35
- *
36
- * Alternatively, you can also integrate this function individually.
37
- *
38
- * ```
39
- * <script type="module">
40
- * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/data/pathfinder.js';
41
- * console.log(new Pathfinder())
42
- * </script>
43
- * ```
30
+ * Pathfinder is a class to find a path to an object.
44
31
  *
45
32
  * With the help of the pathfinder, values can be read and written from an object construct.
46
33
  *
@@ -77,54 +64,9 @@ export const WILDCARD = '*';
77
64
  * new Pathfinder(obj).setVia('a.b.0.c', true); // ↦ {a:{b:[{c:true}]}}
78
65
  * ```
79
66
  *
80
- * @example
81
- *
82
- * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/data/pathfinder.js';
83
- *
84
- * let value = new Pathfinder({
85
- * a: {
86
- * b: {
87
- * f: [
88
- * {
89
- * g: false,
90
- * }
91
- * ],
92
- * }
93
- * }
94
- * }).getVia("a.b.f.0.g");
95
- *
96
- * console.log(value);
97
- * // ↦ false
98
- *
99
- * try {
100
- * new Pathfinder({}).getVia("a.b.f.0.g");
101
- * } catch(e) {
102
- * console.log(e.toString());
103
- * // ↦ Error: the journey is not at its end (b.f.0.g)
104
- * }
105
- *
106
- * @example
107
- *
108
- * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/data/pathfinder.js';
109
- *
110
- * let p = new Pathfinder({
111
- * a: {
112
- * x: [
113
- * {c: 1}, {c: 2}
114
- * ],
115
- * y: true
116
- * },
117
- * b: {
118
- * x: [
119
- * {c: 1, d: false}, {c: 2}
120
- * ],
121
- * y: true
122
- * },
123
- * });
124
- *
125
- * let r = p.getVia("*.x.*.c");
126
- * console.log(r);
127
- *
67
+ * @externalExample ../../example/data/pathfinder-1.mjs
68
+ * @externalExample ../../example/data/pathfinder-2.mjs
69
+ * @license AGPLv3
128
70
  * @since 1.4.0
129
71
  * @copyright schukai GmbH
130
72
  * @memberOf Monster.Data
@@ -232,8 +174,6 @@ class Pathfinder extends Base {
232
174
 
233
175
  }
234
176
 
235
- assignToNamespace('Monster.Data', Pathfinder);
236
- export {Monster, Pathfinder}
237
177
 
238
178
  /**
239
179
  *
@@ -444,6 +384,7 @@ function assignProperty(object, key, value) {
444
384
  * @throws {TypeError} unsupported type
445
385
  * @throws {Error} the journey is not at its end
446
386
  * @throws {Error} unsupported action for this data type
387
+ * @license AGPLv3
447
388
  * @since 1.6.0
448
389
  * @private
449
390
  */
@@ -1,59 +1,32 @@
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';
9
- import {validateString} from '../types/validate.js';
10
- import {Transformer} from './transformer.js';
8
+ import {Base} from '../types/base.mjs';
9
+ import {validateString} from '../types/validate.mjs';
10
+ import {Transformer} from './transformer.mjs';
11
11
 
12
+ export {Pipe}
12
13
 
14
+ /**
15
+ * @private
16
+ * @type {string}
17
+ */
13
18
  const DELIMITER = '|';
14
19
 
15
20
  /**
16
21
  * The pipe class makes it possible to combine several processing steps.
17
22
  *
18
- * You can call the method via the monster namespace `new Monster.Data.Pipe()`.
19
- *
20
- * ```
21
- * <script type="module">
22
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/monster.js';
23
- * new Monster.Data.Pipe()
24
- * </script>
25
- * ```
26
- *
27
- * Alternatively, you can also integrate this function individually.
28
- *
29
- * ```
30
- * <script type="module">
31
- * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/data/pipe.js';
32
- * new Pipe()
33
- * </script>
34
- * ```
35
- *
36
23
  * A pipe consists of commands whose input and output are connected with the pipe symbol `|`.
37
24
  *
38
25
  * With the Pipe, processing steps can be combined. Here, the value of an object is accessed via the pathfinder (path command).
39
26
  * the word is then converted to uppercase letters and a prefix Hello is added. the two backslash safe the space char.
40
27
  *
41
- * @example
42
- * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/data/pipe.js';
43
- *
44
- * let obj = {
45
- * a: {
46
- * b: {
47
- * c: {
48
- * d: "world"
49
- * }
50
- * }
51
- * }
52
- * }
53
- *
54
- * console.log(new Pipe('path:a.b.c.d | toupper | prefix:Hello\\ ').run(obj));
55
- * // ↦ Hello WORLD
56
- *
28
+ * @externalExample ../../example/data/pipe.mjs
29
+ * @license AGPLv3
57
30
  * @since 1.5.0
58
31
  * @copyright schukai GmbH
59
32
  * @memberOf Monster.Data
@@ -61,7 +34,6 @@ const DELIMITER = '|';
61
34
  class Pipe extends Base {
62
35
 
63
36
  /**
64
- *
65
37
  * @param {string} pipe a pipe consists of commands whose input and output are connected with the pipe symbol `|`.
66
38
  * @throws {TypeError}
67
39
  */
@@ -77,7 +49,6 @@ class Pipe extends Base {
77
49
  }
78
50
 
79
51
  /**
80
- *
81
52
  * @param {string} name
82
53
  * @param {function} callback
83
54
  * @param {object} context
@@ -106,6 +77,3 @@ class Pipe extends Base {
106
77
  }, value);
107
78
  }
108
79
  }
109
-
110
- assignToNamespace('Monster.Data', Pipe);
111
- export {Monster, Pipe}
@@ -1,44 +1,32 @@
1
- 'use strict';
1
+
2
2
 
3
3
  /**
4
- * @author schukai GmbH
4
+ * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
5
+ * Node module: @schukai/monster
6
+ * This file is licensed under the AGPLv3 License.
7
+ * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
5
8
  */
6
- import {assignToNamespace, Monster} from '../namespace.js';
7
- import {Base} from '../types/base.js';
8
- import {getGlobal, getGlobalObject} from "../types/global.js";
9
- import {ID} from '../types/id.js';
10
- import {isArray, isObject, isString} from '../types/is.js';
9
+
10
+
11
+ import {Base} from '../types/base.mjs';
12
+ import {getGlobal, getGlobalObject} from "../types/global.mjs";
13
+ import {ID} from '../types/id.mjs';
14
+ import {isArray, isObject, isString} from '../types/is.mjs';
11
15
  import {
12
16
  validateFunction,
13
17
  validateInteger,
14
18
  validateObject,
15
19
  validatePrimitive,
16
20
  validateString
17
- } from '../types/validate.js';
18
- import {clone} from "../util/clone.js";
19
- import {Pathfinder} from "./pathfinder.js";
21
+ } from '../types/validate.mjs';
22
+ import {clone} from "../util/clone.mjs";
23
+ import {Pathfinder} from "./pathfinder.mjs";
24
+
25
+ export {Transformer}
20
26
 
21
27
  /**
22
28
  * The transformer class is a swiss army knife for manipulating values. especially in combination with the pipe, processing chains can be built up.
23
29
  *
24
- * You can call the method via the monster namespace `new Monster.Data.Transformer()`.
25
- *
26
- * ```
27
- * <script type="module">
28
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/monster.js';
29
- * new Monster.Data.Transformer()
30
- * </script>
31
- * ```
32
- *
33
- * Alternatively, you can also integrate this function individually.
34
- *
35
- * ```
36
- * <script type="module">
37
- * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/data/transformer.js';
38
- * new Transformer()
39
- * </script>
40
- * ```
41
- *
42
30
  * A simple example is the conversion of all characters to lowercase. for this purpose the command `tolower` must be used.
43
31
  *
44
32
  * ```
@@ -118,18 +106,8 @@ import {Pathfinder} from "./pathfinder.js";
118
106
  * global['crypto'] = new Crypto.Crypto();
119
107
  * ```
120
108
  *
121
- * @example
122
- *
123
- * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/data/transformer.js';
124
- *
125
- * const transformer = new Transformer("tolower")
126
- *
127
- * console.log(transformer.run("HELLO"))
128
- * // ↦ hello
129
- *
130
- * console.log(transformer.run("WORLD"))
131
- * // ↦ world
132
- *
109
+ * @externalExample ../../example/data/transformer.mjs
110
+ * @license AGPLv3
133
111
  * @since 1.5.0
134
112
  * @copyright schukai GmbH
135
113
  * @memberOf Monster.Data
@@ -185,9 +163,6 @@ class Transformer extends Base {
185
163
  }
186
164
  }
187
165
 
188
- assignToNamespace('Monster.Data', Transformer);
189
- export {Monster, Transformer}
190
-
191
166
  /**
192
167
  *
193
168
  * @param {string} command
@@ -1,14 +1,16 @@
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 {Base} from '../types/base.js';
8
- import {getGlobalFunction} from "../types/global.js";
9
- import {ProxyObserver} from "../types/proxyobserver.js";
10
- import {validateInstance, validateString} from "../types/validate.js";
11
7
 
8
+ import {Base} from '../types/base.mjs';
9
+ import {getGlobalFunction} from "../types/global.mjs";
10
+ import {ProxyObserver} from "../types/proxyobserver.mjs";
11
+ import {validateInstance, validateString} from "../types/validate.mjs";
12
+
13
+ export {ATTRIBUTEPREFIX,Assembler}
12
14
 
13
15
  /**
14
16
  * attribute prefix
@@ -19,24 +21,9 @@ import {validateInstance, validateString} from "../types/validate.js";
19
21
  const ATTRIBUTEPREFIX = "data-monster-";
20
22
 
21
23
  /**
22
- * you can call the method via the monster namespace `new Monster.DOM.Assembler()`.
23
- *
24
- * ```
25
- * <script type="module">
26
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/monster.js';
27
- * console.log(new Monster.DOM.Assembler())
28
- * </script>
29
- * ```
30
- *
31
- * Alternatively, you can also integrate this function individually.
32
- *
33
- * ```
34
- * <script type="module">
35
- * import {Assembler} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/dom/assembler.js';
36
- * console.log(new Assembler())
37
- * </script>
38
- * ```
24
+ * Assembler class
39
25
  *
26
+ * @license AGPLv3
40
27
  * @since 1.6.0
41
28
  * @copyright schukai GmbH
42
29
  * @memberOf Monster.DOM
@@ -95,6 +82,3 @@ class Assembler extends Base {
95
82
  }
96
83
 
97
84
  }
98
-
99
- assignToNamespace('Monster.DOM', Assembler);
100
- export {Monster, ATTRIBUTEPREFIX, Assembler}