@schukai/monster 1.31.0 → 2.0.2

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 +6 -60
  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,11 +1,14 @@
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 './base.js';
8
- import {validateString} from "./validate.js";
7
+
8
+ import {Base} from './base.mjs';
9
+ import {validateString} from "./validate.mjs";
10
+
11
+ export {ID}
9
12
 
10
13
  /**
11
14
  * @private
@@ -20,26 +23,9 @@ let internalCounter = new Map;
20
23
  *
21
24
  * So the ids can also be used for navigation. you just have to take care that the order stays the same.
22
25
  *
23
- * You can call the method via the monster namespace `new Monster.Types.ID()`.
24
- *
25
- * ```
26
- * <script type="module">
27
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/monster.js';
28
- * console.log(new Monster.Types.ID())
29
- * </script>
30
- * ```
31
- *
32
- * Alternatively, you can also integrate this function individually.
33
- *
34
- * ```
35
- * <script type="module">
36
- * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/types/id.js';
37
- * console.log(new ID())
38
- * </script>
39
- * ```
40
- *
41
26
  * As of version 1.6.0 there is the new RandomID. this ID class is continuous from now on.
42
27
  *
28
+ * @license AGPLv3
43
29
  * @since 1.0.0
44
30
  * @copyright schukai GmbH
45
31
  * @memberOf Monster.Types
@@ -79,6 +65,3 @@ class ID extends Base {
79
65
  }
80
66
 
81
67
  }
82
-
83
- assignToNamespace('Monster.Types', ID);
84
- export {Monster, ID}
@@ -0,0 +1,225 @@
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
+ export {isIterable, isPrimitive, isSymbol, isBoolean, isString, isObject, isInstance, isArray, isFunction, isInteger}
9
+
10
+ /**
11
+ * With this function you can check if a value is iterable.
12
+ *
13
+ * This method is used in the library to have consistent names.
14
+ *
15
+ * You can call the method via the monster namespace `Monster.Types.isPrimitive()`.
16
+ *
17
+ * @externalExample ../../example/types/is-1.mjs
18
+ * @param {*} value
19
+ * @returns {boolean}
20
+ * @license AGPLv3
21
+ * @since 1.2.0
22
+ * @copyright schukai GmbH
23
+ * @memberOf Monster.Types
24
+ */
25
+ function isIterable(value) {
26
+ if (value === undefined) return false;
27
+ if (value === null) return false;
28
+ return typeof value?.[Symbol.iterator] === 'function';
29
+ }
30
+
31
+
32
+ /**
33
+ * Checks whether the value passed is a primitive (string, number, boolean, NaN, undefined, null or symbol)
34
+ *
35
+ * This method is used in the library to have consistent names.
36
+ *
37
+ * @externalExample ../../example/types/is-2.mjs
38
+ * @param {*} value
39
+ * @returns {boolean}
40
+ * @license AGPLv3
41
+ * @since 1.0.0
42
+ * @copyright schukai GmbH
43
+ * @memberOf Monster.Types
44
+ */
45
+ function isPrimitive(value) {
46
+ var type;
47
+
48
+ if (value === undefined || value === null) {
49
+ return true;
50
+ }
51
+
52
+ type = typeof value;
53
+
54
+ if (type === 'string' || type === 'number' || type === 'boolean' || type === 'symbol') {
55
+ return true;
56
+ }
57
+
58
+ return false;
59
+ }
60
+
61
+ /**
62
+ * Checks whether the value passed is a symbol
63
+ *
64
+ * This method is used in the library to have consistent names.
65
+ *
66
+ * @externalExample ../../example/types/is-3.mjs
67
+ * @param {*} value
68
+ * @returns {boolean}
69
+ * @license AGPLv3
70
+ * @since 1.9.0
71
+ * @copyright schukai GmbH
72
+ * @memberOf Monster.Types
73
+ */
74
+ function isSymbol(value) {
75
+ return ('symbol' === typeof value) ? true : false;
76
+ }
77
+
78
+ /**
79
+ * Checks whether the value passed is a boolean.
80
+ *
81
+ * This method is used in the library to have consistent names.
82
+ *
83
+ * @externalExample ../../example/types/is-4.mjs
84
+ * @param {*} value
85
+ * @returns {boolean}
86
+ * @license AGPLv3
87
+ * @since 1.0.0
88
+ * @copyright schukai GmbH
89
+ * @memberOf Monster.Types
90
+ */
91
+ function isBoolean(value) {
92
+
93
+ if (value === true || value === false) {
94
+ return true;
95
+ }
96
+
97
+ return false;
98
+ }
99
+
100
+ /**
101
+ * Checks whether the value passed is a string
102
+ *
103
+ * This method is used in the library to have consistent names.
104
+ *
105
+ * @externalExample ../../example/types/is-5.mjs
106
+ * @param {*} value
107
+ * @returns {boolean}
108
+ * @license AGPLv3
109
+ * @since 1.0.0
110
+ * @copyright schukai GmbH
111
+ * @memberOf Monster.Types
112
+ */
113
+ function isString(value) {
114
+ if (value === undefined || typeof value !== 'string') {
115
+ return false;
116
+ }
117
+ return true;
118
+ }
119
+
120
+ /**
121
+ * Checks whether the value passed is a object
122
+ *
123
+ * This method is used in the library to have consistent names.
124
+ *
125
+ * @externalExample ../../example/types/is-6.mjs
126
+ * @param {*} value
127
+ * @returns {boolean}
128
+ * @license AGPLv3
129
+ * @since 1.0.0
130
+ * @copyright schukai GmbH
131
+ * @memberOf Monster.Types
132
+ */
133
+ function isObject(value) {
134
+
135
+ if (isArray(value)) return false;
136
+ if (isPrimitive(value)) return false;
137
+
138
+ if (typeof value === 'object') {
139
+ return true;
140
+ }
141
+
142
+ return false;
143
+ }
144
+
145
+ /**
146
+ * Checks whether the value passed is a object and instance of instance.
147
+ *
148
+ * This method is used in the library to have consistent names.
149
+ *
150
+ * @externalExample ../../example/types/is-7.mjs
151
+ * @param {*} value
152
+ * @param {*} instance
153
+ * @returns {boolean}
154
+ * @license AGPLv3
155
+ * @since 1.5.0
156
+ * @copyright schukai GmbH
157
+ * @memberOf Monster.Types
158
+ */
159
+ function isInstance(value, instance) {
160
+ if (!isObject(value)) return false;
161
+ if (!isFunction(instance)) return false;
162
+ if (!instance.hasOwnProperty('prototype')) return false;
163
+ return (value instanceof instance) ? true : false;
164
+ }
165
+
166
+ /**
167
+ * Checks whether the value passed is a array
168
+ *
169
+ * This method is used in the library to have consistent names.
170
+ *
171
+ * @externalExample ../../example/types/is-8.mjs
172
+ * @param {*} value
173
+ * @returns {boolean}
174
+ * @license AGPLv3
175
+ * @since 1.0.0
176
+ * @copyright schukai GmbH
177
+ * @memberOf Monster.Types
178
+ * @see https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray
179
+ */
180
+ function isArray(value) {
181
+ return Array.isArray(value);
182
+ }
183
+
184
+ /**
185
+ * Checks whether the value passed is a function
186
+ *
187
+ * This method is used in the library to have consistent names.
188
+ *
189
+ * @externalExample ../../example/types/is-9.mjs
190
+ * @param {*} value
191
+ * @returns {boolean}
192
+ * @license AGPLv3
193
+ * @since 1.0.0
194
+ * @copyright schukai GmbH
195
+ * @memberOf Monster.Types
196
+ */
197
+ function isFunction(value) {
198
+ if (isArray(value)) return false;
199
+ if (isPrimitive(value)) return false;
200
+
201
+ if (typeof value === 'function') {
202
+ return true;
203
+ }
204
+
205
+ return false;
206
+
207
+ }
208
+
209
+ /**
210
+ * Checks whether the value passed is an integer.
211
+ *
212
+ * This method is used in the library to have consistent names.
213
+ *
214
+ * @externalExample ../../example/types/is-10.mjs
215
+ * @param {*} value
216
+ * @returns {boolean}
217
+ * @license AGPLv3
218
+ * @since 1.4.0
219
+ * @copyright schukai GmbH
220
+ * @memberOf Monster.Types
221
+ */
222
+ function isInteger(value) {
223
+ return Number.isInteger(value);
224
+ }
225
+
@@ -1,13 +1,15 @@
1
- 'use strict';
2
-
3
- import {assignToNamespace} from "../namespace.js";
4
1
  /**
5
- * @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
6
6
  */
7
- import {Base, Monster} from "./base.js";
8
- import {isString} from "./is.js";
9
- import {validateArray, validateString} from "./validate.js";
10
7
 
8
+ import {Base} from "./base.mjs";
9
+ import {isString} from "./is.mjs";
10
+ import {validateArray, validateString} from "./validate.mjs";
11
+
12
+ export {MediaType, parseMediaType}
11
13
 
12
14
  /**
13
15
  * @private
@@ -26,22 +28,7 @@ const internal = Symbol('internal');
26
28
  /**
27
29
  * You can create an object via the monster namespace `new Monster.Types.MediaType()`.
28
30
  *
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.Types.MediaType())
33
- * </script>
34
- * ```
35
- *
36
- * Alternatively, you can also integrate this function individually.
37
- *
38
- * ```
39
- * <script type="module">
40
- * import {MediaType} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/types/mediatype.js';
41
- * console.log(new MediaType())
42
- * </script>
43
- * ```
44
- *
31
+ * @license AGPLv3
45
32
  * @since 1.8.0
46
33
  * @copyright schukai GmbH
47
34
  * @memberOf Monster.Types
@@ -137,7 +124,7 @@ class MediaType extends Base {
137
124
  *
138
125
  * ```
139
126
  * <script type="module">
140
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/monster.js';
127
+ * import {Monster} from '@schukai/monster/source//monster.mjs';
141
128
  * console.log(Monster.Types.parseMediaType())
142
129
  * </script>
143
130
  * ```
@@ -146,7 +133,7 @@ class MediaType extends Base {
146
133
  *
147
134
  * ```
148
135
  * <script type="module">
149
- * import {parseMediaType} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/types/dataurl.js';
136
+ * import {parseMediaType} from '@schukai/monster/source/types/dataurl.mjs';
150
137
  * console.log(parseMediaType())
151
138
  * </script>
152
139
  * ```
@@ -193,6 +180,7 @@ function parseMediaType(mediatype) {
193
180
 
194
181
  /**
195
182
  * @private
183
+ * @license AGPLv3
196
184
  * @since 1.18.0
197
185
  * @param {String} parameter
198
186
  * @return {Monster.Types.Parameter[]|undefined}
@@ -230,7 +218,3 @@ function parseParameter(parameter) {
230
218
  return result;
231
219
 
232
220
  }
233
-
234
-
235
- assignToNamespace('Monster.Types', parseMediaType, MediaType);
236
- export {Monster, parseMediaType, MediaType};
@@ -1,5 +1,3 @@
1
- 'use strict';
2
-
3
1
  /**
4
2
  * Namespace for types.
5
3
  *
@@ -7,10 +5,5 @@
7
5
  * @memberOf Monster
8
6
  * @author schukai GmbH
9
7
  */
8
+ const ns = {};
10
9
 
11
-
12
- /**
13
- * @private
14
- * @type {string}
15
- */
16
- export const namespace = "Monster.Types";
@@ -1,15 +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
7
 
8
+ import {Base} from './base.mjs';
9
+ import {isPrimitive} from "./is.mjs";
10
+ import {NodeList} from './nodelist.mjs';
11
+ import {validateInstance} from './validate.mjs';
7
12
 
8
- import {assignToNamespace, Monster} from '../namespace.js';
9
- import {Base} from './base.js';
10
- import {isPrimitive} from "./is.js";
11
- import {NodeList} from './nodelist.js';
12
- import {validateInstance} from './validate.js';
13
+ export {Node}
13
14
 
14
15
  /**
15
16
  * @private
@@ -27,22 +28,7 @@ const treeStructureSymbol = Symbol('treeStructure');
27
28
  /**
28
29
  * You can create the instance via the monster namespace `new Monster.Types.Node()`.
29
30
  *
30
- * ```
31
- * <script type="module">
32
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/monster.js';
33
- * new Monster.Types.Node()
34
- * </script>
35
- * ```
36
- *
37
- * Alternatively, you can also integrate this function individually.
38
- *
39
- * ```
40
- * <script type="module">
41
- * import {Node} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/types/node.js';
42
- * new Node()
43
- * </script>
44
- * ```
45
- *
31
+ * @license AGPLv3
46
32
  * @since 1.26.0
47
33
  * @copyright schukai GmbH
48
34
  * @memberOf Monster.Types
@@ -164,7 +150,7 @@ class Node extends Base {
164
150
  let label = this[internalValueSymbol];
165
151
  if (!isPrimitive(label)) label = JSON.stringify(this[internalValueSymbol])
166
152
 
167
- parts.push( label);
153
+ parts.push(label);
168
154
  }
169
155
 
170
156
  if (!this.hasChildNodes()) {
@@ -205,6 +191,3 @@ function setChildLevelAndParent(node, operand) {
205
191
  });
206
192
  return this;
207
193
  }
208
-
209
- assignToNamespace('Monster.Types', Node);
210
- export {Monster, Node}
@@ -1,32 +1,20 @@
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, isInstance} from "./is.js";
8
- import {Node} from "./node.js";
9
- import {validateInstance} from "./validate.js";
7
+
8
+ import {isArray, isInstance} from "./is.mjs";
9
+ import {Node} from "./node.mjs";
10
+ import {validateInstance} from "./validate.mjs";
11
+
12
+ export {NodeList}
10
13
 
11
14
  /**
12
15
  * You can create the instance via the monster namespace `new Monster.Types.NodeList()`.
13
16
  *
14
- * ```
15
- * <script type="module">
16
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/monster.js';
17
- * new Monster.Types.NodeList()
18
- * </script>
19
- * ```
20
- *
21
- * Alternatively, you can also integrate this function individually.
22
- *
23
- * ```
24
- * <script type="module">
25
- * import {NodeList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/types/nodelist.js';
26
- * new NodeList()
27
- * </script>
28
- * ```
29
- *
17
+ * @license AGPLv3
30
18
  * @since 1.26.0
31
19
  * @copyright schukai GmbH
32
20
  * @memberOf Monster.Types
@@ -43,8 +31,8 @@ class NodeList extends Set {
43
31
 
44
32
  const self = this
45
33
 
46
- if(values===undefined) return;
47
-
34
+ if (values === undefined) return;
35
+
48
36
  if (isArray(values)) {
49
37
  values.forEach(value => self.add(value));
50
38
  } else if (isInstance(values, NodeList)) {
@@ -111,11 +99,11 @@ class NodeList extends Set {
111
99
  */
112
100
  toString() {
113
101
  let parts = [];
114
-
115
- for(const node of this.toArray()) {
116
- parts.push(node.toString())
102
+
103
+ for (const node of this.toArray()) {
104
+ parts.push(node.toString())
117
105
  }
118
-
106
+
119
107
  return parts.join("\n");
120
108
  }
121
109
 
@@ -124,6 +112,3 @@ class NodeList extends Set {
124
112
  }
125
113
  }
126
114
 
127
-
128
- assignToNamespace('Monster.Types', NodeList);
129
- export {Monster, NodeList}
@@ -1,18 +1,19 @@
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
 
8
+ import {internalSymbol} from "../constants.mjs";
7
9
 
8
- import {internalSymbol} from "../constants.js";
9
- import {assignToNamespace, Monster} from '../namespace.js';
10
- import {Base} from './base.js';
11
- import {isInstance} from "./is.js";
12
- import {Node} from "./node.js";
13
- import {NodeList} from "./nodelist.js";
14
- import {validateInstance} from "./validate.js";
10
+ import {Base} from './base.mjs';
11
+ import {isInstance} from "./is.mjs";
12
+ import {Node} from "./node.mjs";
13
+ import {NodeList} from "./nodelist.mjs";
14
+ import {validateInstance} from "./validate.mjs";
15
15
 
16
+ export {NodeRecursiveIterator}
16
17
 
17
18
  /**
18
19
  * @private
@@ -23,62 +24,14 @@ const isNodeListSymbol = Symbol('isNodeList');
23
24
  /**
24
25
  * You can create the instance via the monster namespace `new Monster.Types.NodeRecursiveIterator()`.
25
26
  *
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.Types.NodeRecursiveIterator()
30
- * </script>
31
- * ```
32
- *
33
- * Alternatively, you can also integrate this function individually.
34
- *
35
- * ```
36
- * <script type="module">
37
- * import {NodeRecursiveIterator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/types/noderecursiveiterator.js';
38
- * new NodeRecursiveIterator()
39
- * </script>
40
- * ```
41
- *
42
- * @example
43
- * import {Node} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/types/node.js';
44
- * import {NodeRecursiveIterator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/types/noderecursiveiterator.js';
45
- *
46
- * const node =new Node('1')
47
- *
48
- * // 1
49
- * // 2
50
- * // ├ 2.1
51
- * // ├ 2.2
52
- * // └ 2.3
53
- * // 3
54
- * // 4
55
- * // ├ 4.1
56
- * // └ 4.2
57
- * node.appendChild(
58
- * (new Node('2'))
59
- * .appendChild(new Node('2.1'))
60
- * .appendChild(new Node('2.2'))
61
- * .appendChild(new Node('2.3')))
62
- * .appendChild(new Node('3'))
63
- * .appendChild(new Node('4')
64
- * .appendChild(new Node('4.1'))
65
- * .appendChild(new Node('4.2')));
66
- *
67
- * const iterator = new NodeRecursiveIterator(node);
68
- *
69
- * const result = [];
70
- * for (const n of iterator) {
71
- * result.push(n.value);
72
- * }
73
- *
74
- * // ↦ ['1', '2', '2.1', '2.2', '2.3', '3', '4', '4.1', '4.2']
75
- *
27
+ * @externalExample ../../example/types/noderecursiveiterator.mjs
28
+ * @license AGPLv3
76
29
  * @since 1.26.0
77
30
  * @copyright schukai GmbH
78
31
  * @memberOf Monster.Types
79
32
  * @summary An iterator to run recursively through a tree of nodes
80
33
  */
81
- class NodeRecursiveIterator extends Base {
34
+ class NodeRecursiveIterator extends Base {
82
35
 
83
36
  /**
84
37
  * @param {Node} [data]
@@ -142,7 +95,3 @@ class NodeRecursiveIterator extends Base {
142
95
  }
143
96
 
144
97
  }
145
-
146
-
147
- assignToNamespace('Monster.Types', NodeRecursiveIterator);
148
- export {Monster, NodeRecursiveIterator}