@schukai/monster 1.30.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 (364) hide show
  1. package/CHANGELOG +17 -1
  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} +55 -59
  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.mjs +63 -0
  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.mjs +42 -0
  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 -77
  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/resource/data.js +0 -2
  272. package/dist/modules/dom/resource/link/stylesheet.js +0 -2
  273. package/dist/modules/dom/resource/link.js +0 -2
  274. package/dist/modules/dom/resource/script.js +0 -2
  275. package/dist/modules/dom/resource.js +0 -2
  276. package/dist/modules/dom/resourcemanager.js +0 -2
  277. package/dist/modules/dom/template.js +0 -2
  278. package/dist/modules/dom/theme.js +0 -2
  279. package/dist/modules/dom/updater.js +0 -2
  280. package/dist/modules/dom/util.js +0 -2
  281. package/dist/modules/dom/worker/factory.js +0 -2
  282. package/dist/modules/i18n/formatter.js +0 -2
  283. package/dist/modules/i18n/locale.js +0 -2
  284. package/dist/modules/i18n/namespace.js +0 -2
  285. package/dist/modules/i18n/provider.js +0 -2
  286. package/dist/modules/i18n/providers/fetch.js +0 -2
  287. package/dist/modules/i18n/providers/namespace.js +0 -2
  288. package/dist/modules/i18n/translations.js +0 -2
  289. package/dist/modules/logging/handler/console.js +0 -2
  290. package/dist/modules/logging/handler/namespace.js +0 -2
  291. package/dist/modules/logging/handler.js +0 -2
  292. package/dist/modules/logging/logentry.js +0 -2
  293. package/dist/modules/logging/logger.js +0 -2
  294. package/dist/modules/logging/namespace.js +0 -2
  295. package/dist/modules/math/namespace.js +0 -2
  296. package/dist/modules/math/random.js +0 -2
  297. package/dist/modules/monster.js +0 -2
  298. package/dist/modules/namespace.js +0 -2
  299. package/dist/modules/text/formatter.js +0 -2
  300. package/dist/modules/text/namespace.js +0 -2
  301. package/dist/modules/types/base.js +0 -2
  302. package/dist/modules/types/basewithoptions.js +0 -2
  303. package/dist/modules/types/binary.js +0 -2
  304. package/dist/modules/types/dataurl.js +0 -2
  305. package/dist/modules/types/global.js +0 -2
  306. package/dist/modules/types/id.js +0 -2
  307. package/dist/modules/types/is.js +0 -2
  308. package/dist/modules/types/mediatype.js +0 -2
  309. package/dist/modules/types/namespace.js +0 -2
  310. package/dist/modules/types/node.js +0 -2
  311. package/dist/modules/types/nodelist.js +0 -2
  312. package/dist/modules/types/noderecursiveiterator.js +0 -2
  313. package/dist/modules/types/observer.js +0 -2
  314. package/dist/modules/types/observerlist.js +0 -2
  315. package/dist/modules/types/proxyobserver.js +0 -2
  316. package/dist/modules/types/queue.js +0 -2
  317. package/dist/modules/types/randomid.js +0 -2
  318. package/dist/modules/types/regex.js +0 -2
  319. package/dist/modules/types/stack.js +0 -2
  320. package/dist/modules/types/tokenlist.js +0 -2
  321. package/dist/modules/types/typeof.js +0 -2
  322. package/dist/modules/types/uniquequeue.js +0 -2
  323. package/dist/modules/types/uuid.js +0 -2
  324. package/dist/modules/types/validate.js +0 -2
  325. package/dist/modules/types/version.js +0 -2
  326. package/dist/modules/util/clone.js +0 -2
  327. package/dist/modules/util/comparator.js +0 -2
  328. package/dist/modules/util/deadmansswitch.js +0 -2
  329. package/dist/modules/util/freeze.js +0 -2
  330. package/dist/modules/util/namespace.js +0 -2
  331. package/dist/modules/util/processing.js +0 -2
  332. package/dist/modules/util/trimspaces.js +0 -2
  333. package/dist/monster.dev.js +0 -15469
  334. package/dist/monster.dev.js.map +0 -1
  335. package/dist/monster.js +0 -2
  336. package/source/constraints/andoperator.js +0 -71
  337. package/source/constraints/invalid.js +0 -63
  338. package/source/constraints/isarray.js +0 -71
  339. package/source/constraints/isobject.js +0 -72
  340. package/source/constraints/valid.js +0 -63
  341. package/source/data/datasource/storage/localstorage.js +0 -64
  342. package/source/data/datasource/storage/sessionstorage.js +0 -61
  343. package/source/dom/resource/link/stylesheet.js +0 -54
  344. package/source/i18n/provider.js +0 -58
  345. package/source/i18n/providers/namespace.js +0 -16
  346. package/source/logging/handler/console.js +0 -66
  347. package/source/logging/handler/namespace.js +0 -14
  348. package/source/logging/logentry.js +0 -68
  349. package/source/monster.js +0 -80
  350. package/source/namespace.js +0 -170
  351. package/source/types/base.js +0 -50
  352. package/source/types/is.js +0 -429
  353. package/source/types/package.d.ts +0 -1
  354. package/source/types/randomid.js +0 -60
  355. package/source/types/regex.js +0 -49
  356. package/source/types/typeof.js +0 -63
  357. package/source/util/freeze.js +0 -57
  358. package/test/cases/math/random.js +0 -82
  359. package/test/cases/monster.js +0 -23
  360. package/test/cases/namespace.js +0 -93
  361. package/test/cases/types/randomid.js +0 -24
  362. package/test/cases/types/regex.js +0 -32
  363. package/test/web/monster-dev.html +0 -22
  364. package/test/web/monster.html +0 -21
@@ -1,33 +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
- import {assignToNamespace, Monster} from '../namespace.js';
7
- import {getGlobal} from "../types/global.js";
8
- import {validateString} from "../types/validate.js";
9
7
 
8
+ import {getGlobal} from "../types/global.mjs";
9
+ import {validateString} from "../types/validate.mjs";
10
+
11
+ export {getDocument, getWindow, getDocumentFragmentFromString}
10
12
 
11
13
  /**
12
- * this method fetches the document object
13
- *
14
- * ```
15
- * <script type="module">
16
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.30.0/dist/monster.js';
17
- * console.log(Monster.DOM.getDocument())
18
- * </script>
19
- * ```
20
- *
21
- * Alternatively, you can also integrate this function individually.
22
- *
23
- * ```
24
- * <script type="module">
25
- * import {getDocument} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.30.0/dist/modules/dom/util.js';
26
- * console.log(getDocument())
27
- * </script>
28
- * ```
14
+ * This method fetches the document object
29
15
  *
30
- * in nodejs this functionality can be performed with [jsdom](https://www.npmjs.com/package/jsdom).
16
+ * In nodejs this functionality can be performed with [jsdom](https://www.npmjs.com/package/jsdom).
31
17
  *
32
18
  * ```
33
19
  * import {JSDOM} from "jsdom"
@@ -55,6 +41,7 @@ import {validateString} from "../types/validate.js";
55
41
  * ```
56
42
  *
57
43
  * @returns {object}
44
+ * @license AGPLv3
58
45
  * @since 1.6.0
59
46
  * @copyright schukai GmbH
60
47
  * @memberOf Monster.DOM
@@ -70,25 +57,9 @@ function getDocument() {
70
57
  }
71
58
 
72
59
  /**
73
- * this method fetches the window object
60
+ * This method fetches the window object
74
61
  *
75
- * ```
76
- * <script type="module">
77
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.30.0/dist/monster.js';
78
- * console.log(Monster.DOM.getWindow())
79
- * </script>
80
- * ```
81
- *
82
- * Alternatively, you can also integrate this function individually.
83
- *
84
- * ```
85
- * <script type="module">
86
- * import {getWindow} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.30.0/dist/modules/dom/util.js';
87
- * console.log(getWindow(null))
88
- * </script>
89
- * ```
90
- *
91
- * in nodejs this functionality can be performed with [jsdom](https://www.npmjs.com/package/jsdom).
62
+ * In nodejs this functionality can be performed with [jsdom](https://www.npmjs.com/package/jsdom).
92
63
  *
93
64
  * ```
94
65
  * import {JSDOM} from "jsdom"
@@ -118,6 +89,7 @@ function getDocument() {
118
89
  * ```
119
90
  *
120
91
  * @returns {object}
92
+ * @license AGPLv3
121
93
  * @since 1.6.0
122
94
  * @copyright schukai GmbH
123
95
  * @memberOf Monster.DOM
@@ -134,27 +106,9 @@ function getWindow() {
134
106
 
135
107
 
136
108
  /**
109
+ * This method fetches the document object
137
110
  *
138
- *
139
- * this method fetches the document object
140
- *
141
- * ```
142
- * <script type="module">
143
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.30.0/dist/monster.js';
144
- * console.log(Monster.DOM.getDocumentFragmentFromString())
145
- * </script>
146
- * ```
147
- *
148
- * Alternatively, you can also integrate this function individually.
149
- *
150
- * ```
151
- * <script type="module">
152
- * import {getDocumentFragmentFromString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.30.0/dist/modules/dom/util.js';
153
- * console.log(getDocumentFragmentFromString('<div></div>'))
154
- * </script>
155
- * ```
156
- *
157
- * in nodejs this functionality can be performed with [jsdom](https://www.npmjs.com/package/jsdom).
111
+ * In nodejs this functionality can be performed with [jsdom](https://www.npmjs.com/package/jsdom).
158
112
  *
159
113
  * ```
160
114
  * import {JSDOM} from "jsdom"
@@ -182,6 +136,7 @@ function getWindow() {
182
136
  * ```
183
137
  *
184
138
  * @returns {DocumentFragment}
139
+ * @license AGPLv3
185
140
  * @since 1.6.0
186
141
  * @copyright schukai GmbH
187
142
  * @memberOf Monster.DOM
@@ -197,7 +152,3 @@ function getDocumentFragmentFromString(html) {
197
152
 
198
153
  return template.content;
199
154
  }
200
-
201
-
202
- assignToNamespace('Monster.DOM', getWindow, getDocument, getDocumentFragmentFromString);
203
- export {Monster, getWindow, getDocument, getDocumentFragmentFromString}
@@ -1,39 +1,22 @@
1
- 'use strict';
2
-
3
-
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
7
 
8
+ import {internalSymbol} from "../../constants.mjs";
9
+ import {Base} from "../../types/base.mjs";
10
+ import {getGlobal, getGlobalFunction} from "../../types/global.mjs";
11
+ import {isFunction} from "../../types/is.mjs";
12
+ import {validateInstance, validateString} from "../../types/validate.mjs";
8
13
 
9
- import {internalSymbol} from "../../constants.js";
10
- import {assignToNamespace, Monster} from "../../namespace.js";
11
- import {Base} from "../../types/base.js";
12
- import {getGlobal, getGlobalFunction} from "../../types/global.js";
13
- import {isFunction} from "../../types/is.js";
14
- import {validateInstance, validateString} from "../../types/validate.js";
15
-
16
-
14
+ export {Factory}
17
15
 
18
16
  /**
19
- * You can call the function via the monster namespace `new Monster.DOM.Worker.getLocaleOfDocument()`.
20
- *
21
- * ```
22
- * <script type="module">
23
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.30.0/dist/monster.js';
24
- * console.log(new Monster.DOM.Worker.Factory())
25
- * </script>
26
- * ```
27
- *
28
- * Alternatively, you can also integrate this function individually.
29
- *
30
- * ```
31
- * <script type="module">
32
- * import {Factory} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.30.0/dist/modules/dom/worker/factory.js';
33
- * console.log(new Factory())
34
- * </script>
35
- * ```
36
- *
17
+ * A factory for creating worker instances.
18
+ *
19
+ * @license AGPLv3
37
20
  * @since 1.25.0
38
21
  * @copyright schukai GmbH
39
22
  * @memberOf Monster.DOM.Worker
@@ -41,7 +24,6 @@ import {validateInstance, validateString} from "../../types/validate.js";
41
24
  */
42
25
  class Factory extends Base {
43
26
 
44
-
45
27
  /**
46
28
  *
47
29
  */
@@ -129,6 +111,3 @@ class Factory extends Base {
129
111
 
130
112
 
131
113
  }
132
-
133
- assignToNamespace('Monster.DOM.Worker', Factory);
134
- export {Monster, Factory}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * In this namespace you will find classes and methods for handling the DOM.
3
+ *
4
+ * @namespace Monster.DOM.Worker
5
+ * @memberOf Monster
6
+ * @author schukai GmbH
7
+ */
8
+ const ns = {};
@@ -1,16 +1,18 @@
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";
9
+ import {extend} from "../data/extend.mjs";
10
+
11
+ import {Formatter as TextFormatter} from "../text/formatter.mjs";
12
+ import {validateInstance, validateString} from "../types/validate.mjs";
13
+ import {Translations} from "./translations.mjs";
7
14
 
8
- import {internalSymbol} from "../constants.js";
9
- import {extend} from "../data/extend.js";
10
- import {assignToNamespace, Monster} from '../namespace.js';
11
- import {Formatter as TextFormatter} from "../text/formatter.js";
12
- import {validateInstance, validateString} from "../types/validate.js";
13
- import {Translations} from "./translations.js";
15
+ export {Formatter}
14
16
 
15
17
  /**
16
18
  * @private
@@ -21,37 +23,8 @@ const internalTranslationSymbol = Symbol('internalTranslation')
21
23
  /**
22
24
  * The Formatter extends the Text.Formatter with the possibility to replace the key by a translation.
23
25
  *
24
- * You can create an instance via the monster namespace `new Monster.I18n.Formatter()`.
25
- *
26
- * ```
27
- * <script type="module">
28
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.30.0/dist/monster.js';
29
- * new Monster.I18n.Formatter()
30
- * </script>
31
- * ```
32
- *
33
- * Alternatively, you can also integrate this function individually.
34
- *
35
- * ```
36
- * <script type="module">
37
- * import {Formatter} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.30.0/dist/modules/i18n/formatter.js';
38
- * new Formatter()
39
- * </script>
40
- * ```
41
- *
42
- * @example
43
- *
44
- * import {Formatter} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.30.0/dist/modules/i18n/formatter.js';
45
- * import {Translations} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.30.0/dist/modules/i18n/translations.js';
46
- *
47
- * const translations = new Translations('en')
48
- * .assignTranslations({
49
- * thekey: "${animal} has eaten the ${food}!"
50
- * });
51
- *
52
- * new Formatter({}, translations).format("thekey:animal=dog::food=cake")
53
- * // ↦ dog has eaten the cake!
54
- *
26
+ * @externalExample ../../example/i18n/formatter.mjs
27
+ * @license AGPLv3
55
28
  * @since 1.26.0
56
29
  * @copyright schukai GmbH
57
30
  * @memberOf Monster.I18n
@@ -118,8 +91,7 @@ class Formatter extends TextFormatter {
118
91
  throw new Error("the closing marker is missing")
119
92
  }
120
93
  }
121
-
122
-
94
+
123
95
  const parts = validateString(text).split('::')
124
96
  const translationKey = parts.shift().trim(); // key value delimiter
125
97
  const parameter = parts.join('::').trim();
@@ -135,6 +107,3 @@ class Formatter extends TextFormatter {
135
107
 
136
108
 
137
109
  }
138
-
139
- assignToNamespace('Monster.I18n', Formatter);
140
- export {Monster, Formatter}
@@ -1,12 +1,15 @@
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 {validateString} from "../types/validate.js";
9
- import {clone} from "../util/clone.js";
7
+
8
+ import {Base} from "../types/base.mjs";
9
+ import {validateString} from "../types/validate.mjs";
10
+ import {clone} from "../util/clone.mjs";
11
+
12
+ export {Locale, parseLocale}
10
13
 
11
14
  /**
12
15
  * @memberOf Monster.I18n
@@ -21,23 +24,7 @@ const propertiesSymbol = Symbol('properties');
21
24
  const localeStringSymbol = Symbol('localeString');
22
25
 
23
26
  /**
24
- * You can create an instance via the monster namespace `new Monster.I18n.Locale()`.
25
- *
26
- * ```
27
- * <script type="module">
28
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.30.0/dist/monster.js';
29
- * new Monster.I18n.Locale()
30
- * </script>
31
- * ```
32
- *
33
- * Alternatively, you can also integrate this class individually.
34
- *
35
- * ```
36
- * <script type="module">
37
- * import {Locale} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.30.0/dist/modules/i18n/locale.js';
38
- * new Locale()
39
- * </script>
40
- * ```
27
+ * The Locale class is a base class for the language classes.
41
28
  *
42
29
  * RFC
43
30
  *
@@ -70,6 +57,7 @@ const localeStringSymbol = Symbol('localeString');
70
57
  * in the middle)
71
58
  * ```
72
59
  *
60
+ * @license AGPLv3
73
61
  * @since 1.13.0
74
62
  * @copyright schukai GmbH
75
63
  * @memberOf Monster.I18n
@@ -203,7 +191,7 @@ class Locale extends Base {
203
191
  *
204
192
  * ```
205
193
  * <script type="module">
206
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.30.0/dist/monster.js';
194
+ * import {Monster} from '@schukai/monster/source//monster.mjs';
207
195
  * new Monster.I18n.createLocale()
208
196
  * </script>
209
197
  * ```
@@ -212,7 +200,7 @@ class Locale extends Base {
212
200
  *
213
201
  * ```
214
202
  * <script type="module">
215
- * import {createLocale} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.30.0/dist/modules/i18n/locale.js';
203
+ * import {createLocale} from '@schukai/monster/source/i18n/locale.mjs';
216
204
  * createLocale()
217
205
  * </script>
218
206
  * ```
@@ -267,6 +255,7 @@ class Locale extends Base {
267
255
  *
268
256
  * @param {string} locale
269
257
  * @returns {Locale}
258
+ * @license AGPLv3
270
259
  * @since 1.14.0
271
260
  * @copyright schukai GmbH
272
261
  * @memberOf Monster.I18n
@@ -330,7 +319,3 @@ function parseLocale(locale) {
330
319
  return new Locale(language, region, script, variants, extlang);
331
320
 
332
321
  }
333
-
334
-
335
- assignToNamespace('Monster.I18n', Locale, parseLocale);
336
- export {Monster, Locale, parseLocale}
@@ -1,5 +1,3 @@
1
- 'use strict';
2
-
3
1
  /**
4
2
  * In this namespace you will find classes and methods for handling locale and localized texts.
5
3
  *
@@ -7,10 +5,4 @@
7
5
  * @memberOf Monster
8
6
  * @author schukai GmbH
9
7
  */
10
-
11
-
12
- /**
13
- * @private
14
- * @type {string}
15
- */
16
- export const namespace = "Monster.I18n";
8
+ const ns = {};
@@ -0,0 +1,40 @@
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 {BaseWithOptions} from "../types/basewithoptions.mjs";
9
+ import {Locale} from "./locale.mjs"
10
+ import {Translations} from "./translations.mjs"
11
+
12
+ export {Provider}
13
+
14
+ /**
15
+ * A provider makes a translation object available.
16
+ *
17
+ * @license AGPLv3
18
+ * @since 1.13.0
19
+ * @copyright schukai GmbH
20
+ * @memberOf Monster.I18n
21
+ * @see {@link https://datatracker.ietf.org/doc/html/rfc3066}
22
+ */
23
+ class Provider extends BaseWithOptions {
24
+
25
+ /**
26
+ * @param {Locale|string} locale
27
+ * @return {Promise}
28
+ */
29
+ getTranslations(locale) {
30
+ return new Promise((resolve, reject) => {
31
+ try {
32
+ resolve(new Translations(locale));
33
+ } catch (e) {
34
+ reject(e);
35
+ }
36
+
37
+ });
38
+ }
39
+
40
+ }
@@ -1,56 +1,34 @@
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 {internalSymbol} from "../../constants.js";
8
- import {extend} from "../../data/extend.js";
9
- import {assignToNamespace, Monster} from '../../namespace.js';
10
- import {Formatter} from "../../text/formatter.js";
11
- import {getGlobalFunction} from "../../types/global.js";
12
- import {isInstance, isString} from "../../types/is.js";
13
- import {validateObject, validateString} from "../../types/validate.js";
14
- import {parseLocale} from "../locale.js";
15
- import {Provider} from "../provider.js";
16
- import {Translations} from "../translations.js";
8
+ import {internalSymbol} from "../../constants.mjs";
9
+ import {extend} from "../../data/extend.mjs";
10
+ import {Formatter} from "../../text/formatter.mjs";
11
+ import {getGlobalFunction} from "../../types/global.mjs";
12
+ import {isInstance, isString} from "../../types/is.mjs";
13
+ import {validateObject, validateString} from "../../types/validate.mjs";
14
+ import {parseLocale} from "../locale.mjs";
15
+ import {Provider} from "../provider.mjs";
16
+ import {Translations} from "../translations.mjs";
17
+
18
+ export {Fetch}
17
19
 
18
20
  /**
19
21
  * The fetch provider retrieves a JSON file from the given URL and returns a translation object.
20
- *
21
- * You can create the object via the monster namespace `new Monster.I18n.Provider.Fetch()`.
22
- *
23
- * ```
24
- * <script type="module">
25
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.30.0/dist/monster.js';
26
- * new Monster.I18n.Providers.Fetch()
27
- * </script>
28
- * ```
29
- *
30
- * Alternatively, you can also integrate this function individually.
31
- *
32
- * ```
33
- * <script type="module">
34
- * import {Fetch} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.30.0/dist/modules/i18n/providers/fetch.js';
35
- * new Fetch()
36
- * </script>
37
- * ```
38
- *
39
- * @example <caption>das ist ein test</caption>
40
22
  *
41
- * import {Fetch} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.30.0/dist/modules/i18n/providers/fetch.js';
42
- *
43
- * // fetch from API
44
- * const translation = new Fetch('https://example.com/${language}.json').getTranslation('en-GB');
45
- * // ↦ https://example.com/en.json
46
- *
23
+ * @externalExample ../../../example/i18n/providers/fetch.mjs
24
+ * @license AGPLv3
47
25
  * @since 1.13.0
48
26
  * @copyright schukai GmbH
49
27
  * @memberOf Monster.I18n.Providers
50
28
  * @see {@link https://datatracker.ietf.org/doc/html/rfc3066}
51
29
  * @tutorial i18n-locale-and-formatter
52
30
  */
53
- class Fetch extends Provider {
31
+ class Fetch extends Provider {
54
32
 
55
33
  /**
56
34
  * As options the key `fetch` can be passed. This config object is passed to the fetch method as init.
@@ -142,6 +120,3 @@ class Fetch extends Provider {
142
120
 
143
121
  }
144
122
 
145
-
146
- assignToNamespace('Monster.I18n.Providers', Fetch);
147
- export {Monster, Fetch}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * In this namespace you will find classes and methods for handling locale and localized texts.
3
+ *
4
+ * @namespace Monster.I18n.Providers
5
+ * @memberOf Monster
6
+ * @author schukai GmbH
7
+ */
8
+ const ns = {};
@@ -1,59 +1,22 @@
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 {isObject, isString} from "../types/is.js";
9
- import {validateInstance, validateInteger, validateObject, validateString} from "../types/validate.js";
10
- import {Locale, parseLocale} from "./locale.js";
11
7
 
8
+ import {Base} from "../types/base.mjs";
9
+ import {isObject, isString} from "../types/is.mjs";
10
+ import {validateInstance, validateInteger, validateObject, validateString} from "../types/validate.mjs";
11
+ import {Locale, parseLocale} from "./locale.mjs";
12
+
13
+ export {Translations}
12
14
 
13
15
  /**
14
16
  * With this class you can manage translations and access the keys.
15
17
  *
16
- * You can call the method via the monster namespace `new Monster.I18n.Translations()`.
17
- *
18
- * ```
19
- * <script type="module">
20
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.30.0/dist/monster.js';
21
- * new Monster.I18n.Translations()
22
- * </script>
23
- * ```
24
- *
25
- * Alternatively, you can also integrate this function individually.
26
- *
27
- * ```
28
- * <script type="module">
29
- * import {Translations} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.30.0/dist/modules/i18n/translations.js';
30
- * new Translations()
31
- * </script>
32
- * ```
33
- *
34
- * @example
35
- *
36
- * import {Translations} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.30.0/dist/modules/i18n/translations.js';
37
- * import {parseLocale} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.30.0/dist/modules/i18n/locale.js';
38
- *
39
- * const translation = new Translations(parseLocale('en-GB'));
40
- *
41
- * translation.assignTranslations({
42
- * text1: "click",
43
- * text2: {
44
- * 'one': 'click once',
45
- * 'other': 'click n times'
46
- * }
47
- * });
48
- *
49
- * console.log(translation.getText('text1'));
50
- * // ↦ click
51
- *
52
- * console.log(translation.getPluralRuleText('text2',1));
53
- * // -> click once
54
- * console.log(translation.getPluralRuleText('text2',2));
55
- * // -> click n times
56
- *
18
+ * @externalExample ../../example/i18n/translations.mjs
19
+ * @license AGPLv3
57
20
  * @since 1.13.0
58
21
  * @copyright schukai GmbH
59
22
  * @memberOf Monster.I18n
@@ -214,6 +177,3 @@ class Translations extends Base {
214
177
  }
215
178
 
216
179
  }
217
-
218
- assignToNamespace('Monster.I18n', Translations);
219
- export {Monster, Translations}
@@ -0,0 +1,50 @@
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 {Base} from '../../types/base.mjs';
9
+ import {getGlobalObject} from "../../types/global.mjs";
10
+ import {Handler} from '../handler.mjs';
11
+ import {LogEntry} from "../logentry.mjs";
12
+
13
+ export {ConsoleHandler}
14
+
15
+ /**
16
+ * You can create an object of the class simply by using the namespace `new Monster.Logging.Handler.ConsoleHandler()`.
17
+ *
18
+ * @license AGPLv3
19
+ * @since 1.5.0
20
+ * @copyright schukai GmbH
21
+ * @memberOf Monster.Logging.Handler
22
+ */
23
+ class ConsoleHandler extends Handler {
24
+ constructor() {
25
+ super();
26
+ }
27
+
28
+ /**
29
+ * This is the central log function. this method must be
30
+ * overwritten by derived handlers with their own logic.
31
+ *
32
+ * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF (ALL = 0xff;OFF = 0x00;
33
+ *
34
+ * @param {LogEntry} entry
35
+ * @returns {boolean}
36
+ */
37
+ log(entry) {
38
+ if (super.log(entry)) {
39
+ let console = getGlobalObject('console');
40
+ if (!console) return false;
41
+ console.log(entry.toString());
42
+ return true;
43
+ }
44
+
45
+ return false;
46
+ }
47
+
48
+ }
49
+
50
+
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @namespace Monster.Logging.Handler
3
+ * @memberOf Monster.Logging
4
+ * @author schukai GmbH
5
+ */
6
+ const ns = {};