@suveren/gateway 0.18.0 → 0.18.1

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 (763) hide show
  1. package/bin/suveren-gateway.js +26 -1
  2. package/content/guides/3-mandates.md +1 -0
  3. package/dist/control-plane/index.mjs +132 -12
  4. package/dist/mcp-server/chunk-JUFH4SKS.mjs +639 -0
  5. package/dist/mcp-server/http.mjs +1592 -190
  6. package/dist/mcp-server/report-verify-cli.mjs +171 -0
  7. package/dist/ui/assets/index-78vuGrVE.js +111 -0
  8. package/dist/ui/assets/{index-y1OFeYnS.css → index-Dfh38n-b.css} +1 -1
  9. package/dist/ui/index.html +2 -2
  10. package/node_modules/dayjs/.editorconfig +7 -0
  11. package/node_modules/dayjs/CHANGELOG.md +1022 -0
  12. package/node_modules/dayjs/LICENSE +21 -0
  13. package/node_modules/dayjs/README.md +186 -0
  14. package/node_modules/dayjs/dayjs.min.js +1 -0
  15. package/node_modules/dayjs/esm/constant.js +25 -0
  16. package/node_modules/dayjs/esm/index.d.ts +429 -0
  17. package/node_modules/dayjs/esm/index.js +541 -0
  18. package/node_modules/dayjs/esm/locale/af.js +39 -0
  19. package/node_modules/dayjs/esm/locale/am.js +40 -0
  20. package/node_modules/dayjs/esm/locale/ar-dz.js +41 -0
  21. package/node_modules/dayjs/esm/locale/ar-iq.js +42 -0
  22. package/node_modules/dayjs/esm/locale/ar-kw.js +41 -0
  23. package/node_modules/dayjs/esm/locale/ar-ly.js +27 -0
  24. package/node_modules/dayjs/esm/locale/ar-ma.js +42 -0
  25. package/node_modules/dayjs/esm/locale/ar-sa.js +41 -0
  26. package/node_modules/dayjs/esm/locale/ar-tn.js +42 -0
  27. package/node_modules/dayjs/esm/locale/ar.js +81 -0
  28. package/node_modules/dayjs/esm/locale/az.js +39 -0
  29. package/node_modules/dayjs/esm/locale/be.js +102 -0
  30. package/node_modules/dayjs/esm/locale/bg.js +55 -0
  31. package/node_modules/dayjs/esm/locale/bi.js +39 -0
  32. package/node_modules/dayjs/esm/locale/bm.js +39 -0
  33. package/node_modules/dayjs/esm/locale/bn-bd.js +81 -0
  34. package/node_modules/dayjs/esm/locale/bn.js +72 -0
  35. package/node_modules/dayjs/esm/locale/bo.js +38 -0
  36. package/node_modules/dayjs/esm/locale/br.js +93 -0
  37. package/node_modules/dayjs/esm/locale/bs.js +24 -0
  38. package/node_modules/dayjs/esm/locale/ca.js +44 -0
  39. package/node_modules/dayjs/esm/locale/cs.js +120 -0
  40. package/node_modules/dayjs/esm/locale/cv.js +24 -0
  41. package/node_modules/dayjs/esm/locale/cy.js +39 -0
  42. package/node_modules/dayjs/esm/locale/da.js +40 -0
  43. package/node_modules/dayjs/esm/locale/de-at.js +63 -0
  44. package/node_modules/dayjs/esm/locale/de-ch.js +63 -0
  45. package/node_modules/dayjs/esm/locale/de.js +64 -0
  46. package/node_modules/dayjs/esm/locale/dv.js +39 -0
  47. package/node_modules/dayjs/esm/locale/el.js +39 -0
  48. package/node_modules/dayjs/esm/locale/en-au.js +41 -0
  49. package/node_modules/dayjs/esm/locale/en-ca.js +38 -0
  50. package/node_modules/dayjs/esm/locale/en-gb.js +42 -0
  51. package/node_modules/dayjs/esm/locale/en-ie.js +39 -0
  52. package/node_modules/dayjs/esm/locale/en-il.js +38 -0
  53. package/node_modules/dayjs/esm/locale/en-in.js +42 -0
  54. package/node_modules/dayjs/esm/locale/en-nz.js +41 -0
  55. package/node_modules/dayjs/esm/locale/en-sg.js +39 -0
  56. package/node_modules/dayjs/esm/locale/en-tt.js +42 -0
  57. package/node_modules/dayjs/esm/locale/en.js +12 -0
  58. package/node_modules/dayjs/esm/locale/eo.js +39 -0
  59. package/node_modules/dayjs/esm/locale/es-do.js +39 -0
  60. package/node_modules/dayjs/esm/locale/es-mx.js +38 -0
  61. package/node_modules/dayjs/esm/locale/es-pr.js +39 -0
  62. package/node_modules/dayjs/esm/locale/es-us.js +38 -0
  63. package/node_modules/dayjs/esm/locale/es.js +39 -0
  64. package/node_modules/dayjs/esm/locale/et.js +65 -0
  65. package/node_modules/dayjs/esm/locale/eu.js +43 -0
  66. package/node_modules/dayjs/esm/locale/fa.js +39 -0
  67. package/node_modules/dayjs/esm/locale/fi.js +88 -0
  68. package/node_modules/dayjs/esm/locale/fo.js +39 -0
  69. package/node_modules/dayjs/esm/locale/fr-ca.js +38 -0
  70. package/node_modules/dayjs/esm/locale/fr-ch.js +39 -0
  71. package/node_modules/dayjs/esm/locale/fr.js +41 -0
  72. package/node_modules/dayjs/esm/locale/fy.js +39 -0
  73. package/node_modules/dayjs/esm/locale/ga.js +39 -0
  74. package/node_modules/dayjs/esm/locale/gd.js +39 -0
  75. package/node_modules/dayjs/esm/locale/gl.js +39 -0
  76. package/node_modules/dayjs/esm/locale/gom-latn.js +25 -0
  77. package/node_modules/dayjs/esm/locale/gu.js +38 -0
  78. package/node_modules/dayjs/esm/locale/he.js +78 -0
  79. package/node_modules/dayjs/esm/locale/hi.js +38 -0
  80. package/node_modules/dayjs/esm/locale/hr.js +53 -0
  81. package/node_modules/dayjs/esm/locale/ht.js +38 -0
  82. package/node_modules/dayjs/esm/locale/hu.js +61 -0
  83. package/node_modules/dayjs/esm/locale/hy-am.js +39 -0
  84. package/node_modules/dayjs/esm/locale/id.js +39 -0
  85. package/node_modules/dayjs/esm/locale/index.d.ts +11 -0
  86. package/node_modules/dayjs/esm/locale/is.js +68 -0
  87. package/node_modules/dayjs/esm/locale/it-ch.js +39 -0
  88. package/node_modules/dayjs/esm/locale/it.js +39 -0
  89. package/node_modules/dayjs/esm/locale/ja.js +45 -0
  90. package/node_modules/dayjs/esm/locale/jv.js +39 -0
  91. package/node_modules/dayjs/esm/locale/ka.js +39 -0
  92. package/node_modules/dayjs/esm/locale/kk.js +39 -0
  93. package/node_modules/dayjs/esm/locale/km.js +42 -0
  94. package/node_modules/dayjs/esm/locale/kn.js +38 -0
  95. package/node_modules/dayjs/esm/locale/ko.js +45 -0
  96. package/node_modules/dayjs/esm/locale/ku.js +77 -0
  97. package/node_modules/dayjs/esm/locale/ky.js +39 -0
  98. package/node_modules/dayjs/esm/locale/lb.js +24 -0
  99. package/node_modules/dayjs/esm/locale/lo.js +38 -0
  100. package/node_modules/dayjs/esm/locale/lt.js +70 -0
  101. package/node_modules/dayjs/esm/locale/lv.js +39 -0
  102. package/node_modules/dayjs/esm/locale/me.js +24 -0
  103. package/node_modules/dayjs/esm/locale/mi.js +39 -0
  104. package/node_modules/dayjs/esm/locale/mk.js +39 -0
  105. package/node_modules/dayjs/esm/locale/ml.js +38 -0
  106. package/node_modules/dayjs/esm/locale/mn.js +38 -0
  107. package/node_modules/dayjs/esm/locale/mr.js +23 -0
  108. package/node_modules/dayjs/esm/locale/ms-my.js +39 -0
  109. package/node_modules/dayjs/esm/locale/ms.js +39 -0
  110. package/node_modules/dayjs/esm/locale/mt.js +39 -0
  111. package/node_modules/dayjs/esm/locale/my.js +39 -0
  112. package/node_modules/dayjs/esm/locale/nb.js +40 -0
  113. package/node_modules/dayjs/esm/locale/ne.js +40 -0
  114. package/node_modules/dayjs/esm/locale/nl-be.js +39 -0
  115. package/node_modules/dayjs/esm/locale/nl.js +40 -0
  116. package/node_modules/dayjs/esm/locale/nn.js +39 -0
  117. package/node_modules/dayjs/esm/locale/oc-lnc.js +39 -0
  118. package/node_modules/dayjs/esm/locale/pa-in.js +38 -0
  119. package/node_modules/dayjs/esm/locale/pl.js +87 -0
  120. package/node_modules/dayjs/esm/locale/pt-br.js +38 -0
  121. package/node_modules/dayjs/esm/locale/pt.js +40 -0
  122. package/node_modules/dayjs/esm/locale/rn.js +39 -0
  123. package/node_modules/dayjs/esm/locale/ro.js +39 -0
  124. package/node_modules/dayjs/esm/locale/ru.js +99 -0
  125. package/node_modules/dayjs/esm/locale/rw.js +35 -0
  126. package/node_modules/dayjs/esm/locale/sd.js +39 -0
  127. package/node_modules/dayjs/esm/locale/se.js +39 -0
  128. package/node_modules/dayjs/esm/locale/si.js +38 -0
  129. package/node_modules/dayjs/esm/locale/sk.js +121 -0
  130. package/node_modules/dayjs/esm/locale/sl.js +141 -0
  131. package/node_modules/dayjs/esm/locale/sq.js +39 -0
  132. package/node_modules/dayjs/esm/locale/sr-cyrl.js +74 -0
  133. package/node_modules/dayjs/esm/locale/sr.js +74 -0
  134. package/node_modules/dayjs/esm/locale/ss.js +39 -0
  135. package/node_modules/dayjs/esm/locale/sv-fi.js +46 -0
  136. package/node_modules/dayjs/esm/locale/sv.js +44 -0
  137. package/node_modules/dayjs/esm/locale/sw.js +39 -0
  138. package/node_modules/dayjs/esm/locale/ta.js +38 -0
  139. package/node_modules/dayjs/esm/locale/te.js +38 -0
  140. package/node_modules/dayjs/esm/locale/tet.js +39 -0
  141. package/node_modules/dayjs/esm/locale/tg.js +39 -0
  142. package/node_modules/dayjs/esm/locale/th.js +38 -0
  143. package/node_modules/dayjs/esm/locale/tk.js +39 -0
  144. package/node_modules/dayjs/esm/locale/tl-ph.js +39 -0
  145. package/node_modules/dayjs/esm/locale/tlh.js +24 -0
  146. package/node_modules/dayjs/esm/locale/tr.js +39 -0
  147. package/node_modules/dayjs/esm/locale/types.d.ts +33 -0
  148. package/node_modules/dayjs/esm/locale/tzl.js +24 -0
  149. package/node_modules/dayjs/esm/locale/tzm-latn.js +39 -0
  150. package/node_modules/dayjs/esm/locale/tzm.js +39 -0
  151. package/node_modules/dayjs/esm/locale/ug-cn.js +39 -0
  152. package/node_modules/dayjs/esm/locale/uk.js +77 -0
  153. package/node_modules/dayjs/esm/locale/ur.js +39 -0
  154. package/node_modules/dayjs/esm/locale/uz-latn.js +39 -0
  155. package/node_modules/dayjs/esm/locale/uz.js +39 -0
  156. package/node_modules/dayjs/esm/locale/vi.js +43 -0
  157. package/node_modules/dayjs/esm/locale/x-pseudo.js +39 -0
  158. package/node_modules/dayjs/esm/locale/yo.js +39 -0
  159. package/node_modules/dayjs/esm/locale/zh-cn.js +67 -0
  160. package/node_modules/dayjs/esm/locale/zh-hk.js +65 -0
  161. package/node_modules/dayjs/esm/locale/zh-tw.js +65 -0
  162. package/node_modules/dayjs/esm/locale/zh.js +67 -0
  163. package/node_modules/dayjs/esm/plugin/advancedFormat/index.d.ts +4 -0
  164. package/node_modules/dayjs/esm/plugin/advancedFormat/index.js +66 -0
  165. package/node_modules/dayjs/esm/plugin/arraySupport/index.d.ts +10 -0
  166. package/node_modules/dayjs/esm/plugin/arraySupport/index.js +33 -0
  167. package/node_modules/dayjs/esm/plugin/badMutable/index.d.ts +4 -0
  168. package/node_modules/dayjs/esm/plugin/badMutable/index.js +61 -0
  169. package/node_modules/dayjs/esm/plugin/bigIntSupport/index.d.ts +11 -0
  170. package/node_modules/dayjs/esm/plugin/bigIntSupport/index.js +32 -0
  171. package/node_modules/dayjs/esm/plugin/buddhistEra/index.d.ts +4 -0
  172. package/node_modules/dayjs/esm/plugin/buddhistEra/index.js +21 -0
  173. package/node_modules/dayjs/esm/plugin/calendar/index.d.ts +10 -0
  174. package/node_modules/dayjs/esm/plugin/calendar/index.js +32 -0
  175. package/node_modules/dayjs/esm/plugin/customParseFormat/index.d.ts +8 -0
  176. package/node_modules/dayjs/esm/plugin/customParseFormat/index.js +333 -0
  177. package/node_modules/dayjs/esm/plugin/dayOfYear/index.d.ts +11 -0
  178. package/node_modules/dayjs/esm/plugin/dayOfYear/index.js +9 -0
  179. package/node_modules/dayjs/esm/plugin/devHelper/index.d.ts +4 -0
  180. package/node_modules/dayjs/esm/plugin/devHelper/index.js +50 -0
  181. package/node_modules/dayjs/esm/plugin/duration/index.d.ts +88 -0
  182. package/node_modules/dayjs/esm/plugin/duration/index.js +357 -0
  183. package/node_modules/dayjs/esm/plugin/isBetween/index.d.ts +10 -0
  184. package/node_modules/dayjs/esm/plugin/isBetween/index.js +10 -0
  185. package/node_modules/dayjs/esm/plugin/isLeapYear/index.d.ts +10 -0
  186. package/node_modules/dayjs/esm/plugin/isLeapYear/index.js +7 -0
  187. package/node_modules/dayjs/esm/plugin/isMoment/index.d.ts +10 -0
  188. package/node_modules/dayjs/esm/plugin/isMoment/index.js +5 -0
  189. package/node_modules/dayjs/esm/plugin/isSameOrAfter/index.d.ts +10 -0
  190. package/node_modules/dayjs/esm/plugin/isSameOrAfter/index.js +5 -0
  191. package/node_modules/dayjs/esm/plugin/isSameOrBefore/index.d.ts +10 -0
  192. package/node_modules/dayjs/esm/plugin/isSameOrBefore/index.js +5 -0
  193. package/node_modules/dayjs/esm/plugin/isToday/index.d.ts +10 -0
  194. package/node_modules/dayjs/esm/plugin/isToday/index.js +9 -0
  195. package/node_modules/dayjs/esm/plugin/isTomorrow/index.d.ts +10 -0
  196. package/node_modules/dayjs/esm/plugin/isTomorrow/index.js +9 -0
  197. package/node_modules/dayjs/esm/plugin/isYesterday/index.d.ts +10 -0
  198. package/node_modules/dayjs/esm/plugin/isYesterday/index.js +9 -0
  199. package/node_modules/dayjs/esm/plugin/isoWeek/index.d.ts +27 -0
  200. package/node_modules/dayjs/esm/plugin/isoWeek/index.js +57 -0
  201. package/node_modules/dayjs/esm/plugin/isoWeeksInYear/index.d.ts +10 -0
  202. package/node_modules/dayjs/esm/plugin/isoWeeksInYear/index.js +15 -0
  203. package/node_modules/dayjs/esm/plugin/localeData/index.d.ts +44 -0
  204. package/node_modules/dayjs/esm/plugin/localeData/index.js +114 -0
  205. package/node_modules/dayjs/esm/plugin/localizedFormat/index.d.ts +4 -0
  206. package/node_modules/dayjs/esm/plugin/localizedFormat/index.js +20 -0
  207. package/node_modules/dayjs/esm/plugin/localizedFormat/utils.js +20 -0
  208. package/node_modules/dayjs/esm/plugin/minMax/index.d.ts +22 -0
  209. package/node_modules/dayjs/esm/plugin/minMax/index.js +39 -0
  210. package/node_modules/dayjs/esm/plugin/negativeYear/index.d.ts +4 -0
  211. package/node_modules/dayjs/esm/plugin/negativeYear/index.js +36 -0
  212. package/node_modules/dayjs/esm/plugin/objectSupport/index.d.ts +48 -0
  213. package/node_modules/dayjs/esm/plugin/objectSupport/index.js +97 -0
  214. package/node_modules/dayjs/esm/plugin/pluralGetSet/index.d.ts +44 -0
  215. package/node_modules/dayjs/esm/plugin/pluralGetSet/index.js +7 -0
  216. package/node_modules/dayjs/esm/plugin/preParsePostFormat/index.d.ts +4 -0
  217. package/node_modules/dayjs/esm/plugin/preParsePostFormat/index.js +40 -0
  218. package/node_modules/dayjs/esm/plugin/quarterOfYear/index.d.ts +26 -0
  219. package/node_modules/dayjs/esm/plugin/quarterOfYear/index.js +41 -0
  220. package/node_modules/dayjs/esm/plugin/relativeTime/index.d.ts +24 -0
  221. package/node_modules/dayjs/esm/plugin/relativeTime/index.js +130 -0
  222. package/node_modules/dayjs/esm/plugin/timezone/index.d.ts +20 -0
  223. package/node_modules/dayjs/esm/plugin/timezone/index.js +205 -0
  224. package/node_modules/dayjs/esm/plugin/toArray/index.d.ts +10 -0
  225. package/node_modules/dayjs/esm/plugin/toArray/index.js +7 -0
  226. package/node_modules/dayjs/esm/plugin/toObject/index.d.ts +20 -0
  227. package/node_modules/dayjs/esm/plugin/toObject/index.js +15 -0
  228. package/node_modules/dayjs/esm/plugin/updateLocale/index.d.ts +8 -0
  229. package/node_modules/dayjs/esm/plugin/updateLocale/index.js +18 -0
  230. package/node_modules/dayjs/esm/plugin/utc/index.d.ts +19 -0
  231. package/node_modules/dayjs/esm/plugin/utc/index.js +188 -0
  232. package/node_modules/dayjs/esm/plugin/weekOfYear/index.d.ts +12 -0
  233. package/node_modules/dayjs/esm/plugin/weekOfYear/index.js +44 -0
  234. package/node_modules/dayjs/esm/plugin/weekYear/index.d.ts +10 -0
  235. package/node_modules/dayjs/esm/plugin/weekYear/index.js +19 -0
  236. package/node_modules/dayjs/esm/plugin/weekday/index.d.ts +12 -0
  237. package/node_modules/dayjs/esm/plugin/weekday/index.js +15 -0
  238. package/node_modules/dayjs/esm/utils.js +58 -0
  239. package/node_modules/dayjs/index.d.ts +429 -0
  240. package/node_modules/dayjs/locale/af.js +1 -0
  241. package/node_modules/dayjs/locale/am.js +1 -0
  242. package/node_modules/dayjs/locale/ar-dz.js +1 -0
  243. package/node_modules/dayjs/locale/ar-iq.js +1 -0
  244. package/node_modules/dayjs/locale/ar-kw.js +1 -0
  245. package/node_modules/dayjs/locale/ar-ly.js +1 -0
  246. package/node_modules/dayjs/locale/ar-ma.js +1 -0
  247. package/node_modules/dayjs/locale/ar-sa.js +1 -0
  248. package/node_modules/dayjs/locale/ar-tn.js +1 -0
  249. package/node_modules/dayjs/locale/ar.js +1 -0
  250. package/node_modules/dayjs/locale/az.js +1 -0
  251. package/node_modules/dayjs/locale/be.js +1 -0
  252. package/node_modules/dayjs/locale/bg.js +1 -0
  253. package/node_modules/dayjs/locale/bi.js +1 -0
  254. package/node_modules/dayjs/locale/bm.js +1 -0
  255. package/node_modules/dayjs/locale/bn-bd.js +1 -0
  256. package/node_modules/dayjs/locale/bn.js +1 -0
  257. package/node_modules/dayjs/locale/bo.js +1 -0
  258. package/node_modules/dayjs/locale/br.js +1 -0
  259. package/node_modules/dayjs/locale/bs.js +1 -0
  260. package/node_modules/dayjs/locale/ca.js +1 -0
  261. package/node_modules/dayjs/locale/cs.js +1 -0
  262. package/node_modules/dayjs/locale/cv.js +1 -0
  263. package/node_modules/dayjs/locale/cy.js +1 -0
  264. package/node_modules/dayjs/locale/da.js +1 -0
  265. package/node_modules/dayjs/locale/de-at.js +1 -0
  266. package/node_modules/dayjs/locale/de-ch.js +1 -0
  267. package/node_modules/dayjs/locale/de.js +1 -0
  268. package/node_modules/dayjs/locale/dv.js +1 -0
  269. package/node_modules/dayjs/locale/el.js +1 -0
  270. package/node_modules/dayjs/locale/en-au.js +1 -0
  271. package/node_modules/dayjs/locale/en-ca.js +1 -0
  272. package/node_modules/dayjs/locale/en-gb.js +1 -0
  273. package/node_modules/dayjs/locale/en-ie.js +1 -0
  274. package/node_modules/dayjs/locale/en-il.js +1 -0
  275. package/node_modules/dayjs/locale/en-in.js +1 -0
  276. package/node_modules/dayjs/locale/en-nz.js +1 -0
  277. package/node_modules/dayjs/locale/en-sg.js +1 -0
  278. package/node_modules/dayjs/locale/en-tt.js +1 -0
  279. package/node_modules/dayjs/locale/en.js +1 -0
  280. package/node_modules/dayjs/locale/eo.js +1 -0
  281. package/node_modules/dayjs/locale/es-do.js +1 -0
  282. package/node_modules/dayjs/locale/es-mx.js +1 -0
  283. package/node_modules/dayjs/locale/es-pr.js +1 -0
  284. package/node_modules/dayjs/locale/es-us.js +1 -0
  285. package/node_modules/dayjs/locale/es.js +1 -0
  286. package/node_modules/dayjs/locale/et.js +1 -0
  287. package/node_modules/dayjs/locale/eu.js +1 -0
  288. package/node_modules/dayjs/locale/fa.js +1 -0
  289. package/node_modules/dayjs/locale/fi.js +1 -0
  290. package/node_modules/dayjs/locale/fo.js +1 -0
  291. package/node_modules/dayjs/locale/fr-ca.js +1 -0
  292. package/node_modules/dayjs/locale/fr-ch.js +1 -0
  293. package/node_modules/dayjs/locale/fr.js +1 -0
  294. package/node_modules/dayjs/locale/fy.js +1 -0
  295. package/node_modules/dayjs/locale/ga.js +1 -0
  296. package/node_modules/dayjs/locale/gd.js +1 -0
  297. package/node_modules/dayjs/locale/gl.js +1 -0
  298. package/node_modules/dayjs/locale/gom-latn.js +1 -0
  299. package/node_modules/dayjs/locale/gu.js +1 -0
  300. package/node_modules/dayjs/locale/he.js +1 -0
  301. package/node_modules/dayjs/locale/hi.js +1 -0
  302. package/node_modules/dayjs/locale/hr.js +1 -0
  303. package/node_modules/dayjs/locale/ht.js +1 -0
  304. package/node_modules/dayjs/locale/hu.js +1 -0
  305. package/node_modules/dayjs/locale/hy-am.js +1 -0
  306. package/node_modules/dayjs/locale/id.js +1 -0
  307. package/node_modules/dayjs/locale/index.d.ts +11 -0
  308. package/node_modules/dayjs/locale/is.js +1 -0
  309. package/node_modules/dayjs/locale/it-ch.js +1 -0
  310. package/node_modules/dayjs/locale/it.js +1 -0
  311. package/node_modules/dayjs/locale/ja.js +1 -0
  312. package/node_modules/dayjs/locale/jv.js +1 -0
  313. package/node_modules/dayjs/locale/ka.js +1 -0
  314. package/node_modules/dayjs/locale/kk.js +1 -0
  315. package/node_modules/dayjs/locale/km.js +1 -0
  316. package/node_modules/dayjs/locale/kn.js +1 -0
  317. package/node_modules/dayjs/locale/ko.js +1 -0
  318. package/node_modules/dayjs/locale/ku.js +1 -0
  319. package/node_modules/dayjs/locale/ky.js +1 -0
  320. package/node_modules/dayjs/locale/lb.js +1 -0
  321. package/node_modules/dayjs/locale/lo.js +1 -0
  322. package/node_modules/dayjs/locale/lt.js +1 -0
  323. package/node_modules/dayjs/locale/lv.js +1 -0
  324. package/node_modules/dayjs/locale/me.js +1 -0
  325. package/node_modules/dayjs/locale/mi.js +1 -0
  326. package/node_modules/dayjs/locale/mk.js +1 -0
  327. package/node_modules/dayjs/locale/ml.js +1 -0
  328. package/node_modules/dayjs/locale/mn.js +1 -0
  329. package/node_modules/dayjs/locale/mr.js +1 -0
  330. package/node_modules/dayjs/locale/ms-my.js +1 -0
  331. package/node_modules/dayjs/locale/ms.js +1 -0
  332. package/node_modules/dayjs/locale/mt.js +1 -0
  333. package/node_modules/dayjs/locale/my.js +1 -0
  334. package/node_modules/dayjs/locale/nb.js +1 -0
  335. package/node_modules/dayjs/locale/ne.js +1 -0
  336. package/node_modules/dayjs/locale/nl-be.js +1 -0
  337. package/node_modules/dayjs/locale/nl.js +1 -0
  338. package/node_modules/dayjs/locale/nn.js +1 -0
  339. package/node_modules/dayjs/locale/oc-lnc.js +1 -0
  340. package/node_modules/dayjs/locale/pa-in.js +1 -0
  341. package/node_modules/dayjs/locale/pl.js +1 -0
  342. package/node_modules/dayjs/locale/pt-br.js +1 -0
  343. package/node_modules/dayjs/locale/pt.js +1 -0
  344. package/node_modules/dayjs/locale/rn.js +1 -0
  345. package/node_modules/dayjs/locale/ro.js +1 -0
  346. package/node_modules/dayjs/locale/ru.js +1 -0
  347. package/node_modules/dayjs/locale/rw.js +1 -0
  348. package/node_modules/dayjs/locale/sd.js +1 -0
  349. package/node_modules/dayjs/locale/se.js +1 -0
  350. package/node_modules/dayjs/locale/si.js +1 -0
  351. package/node_modules/dayjs/locale/sk.js +1 -0
  352. package/node_modules/dayjs/locale/sl.js +1 -0
  353. package/node_modules/dayjs/locale/sq.js +1 -0
  354. package/node_modules/dayjs/locale/sr-cyrl.js +1 -0
  355. package/node_modules/dayjs/locale/sr.js +1 -0
  356. package/node_modules/dayjs/locale/ss.js +1 -0
  357. package/node_modules/dayjs/locale/sv-fi.js +1 -0
  358. package/node_modules/dayjs/locale/sv.js +1 -0
  359. package/node_modules/dayjs/locale/sw.js +1 -0
  360. package/node_modules/dayjs/locale/ta.js +1 -0
  361. package/node_modules/dayjs/locale/te.js +1 -0
  362. package/node_modules/dayjs/locale/tet.js +1 -0
  363. package/node_modules/dayjs/locale/tg.js +1 -0
  364. package/node_modules/dayjs/locale/th.js +1 -0
  365. package/node_modules/dayjs/locale/tk.js +1 -0
  366. package/node_modules/dayjs/locale/tl-ph.js +1 -0
  367. package/node_modules/dayjs/locale/tlh.js +1 -0
  368. package/node_modules/dayjs/locale/tr.js +1 -0
  369. package/node_modules/dayjs/locale/types.d.ts +33 -0
  370. package/node_modules/dayjs/locale/tzl.js +1 -0
  371. package/node_modules/dayjs/locale/tzm-latn.js +1 -0
  372. package/node_modules/dayjs/locale/tzm.js +1 -0
  373. package/node_modules/dayjs/locale/ug-cn.js +1 -0
  374. package/node_modules/dayjs/locale/uk.js +1 -0
  375. package/node_modules/dayjs/locale/ur.js +1 -0
  376. package/node_modules/dayjs/locale/uz-latn.js +1 -0
  377. package/node_modules/dayjs/locale/uz.js +1 -0
  378. package/node_modules/dayjs/locale/vi.js +1 -0
  379. package/node_modules/dayjs/locale/x-pseudo.js +1 -0
  380. package/node_modules/dayjs/locale/yo.js +1 -0
  381. package/node_modules/dayjs/locale/zh-cn.js +1 -0
  382. package/node_modules/dayjs/locale/zh-hk.js +1 -0
  383. package/node_modules/dayjs/locale/zh-tw.js +1 -0
  384. package/node_modules/dayjs/locale/zh.js +1 -0
  385. package/node_modules/dayjs/locale.json +1 -0
  386. package/node_modules/dayjs/package.json +86 -0
  387. package/node_modules/dayjs/plugin/advancedFormat.d.ts +4 -0
  388. package/node_modules/dayjs/plugin/advancedFormat.js +1 -0
  389. package/node_modules/dayjs/plugin/arraySupport.d.ts +10 -0
  390. package/node_modules/dayjs/plugin/arraySupport.js +1 -0
  391. package/node_modules/dayjs/plugin/badMutable.d.ts +4 -0
  392. package/node_modules/dayjs/plugin/badMutable.js +1 -0
  393. package/node_modules/dayjs/plugin/bigIntSupport.d.ts +11 -0
  394. package/node_modules/dayjs/plugin/bigIntSupport.js +1 -0
  395. package/node_modules/dayjs/plugin/buddhistEra.d.ts +4 -0
  396. package/node_modules/dayjs/plugin/buddhistEra.js +1 -0
  397. package/node_modules/dayjs/plugin/calendar.d.ts +10 -0
  398. package/node_modules/dayjs/plugin/calendar.js +1 -0
  399. package/node_modules/dayjs/plugin/customParseFormat.d.ts +8 -0
  400. package/node_modules/dayjs/plugin/customParseFormat.js +1 -0
  401. package/node_modules/dayjs/plugin/dayOfYear.d.ts +11 -0
  402. package/node_modules/dayjs/plugin/dayOfYear.js +1 -0
  403. package/node_modules/dayjs/plugin/devHelper.d.ts +4 -0
  404. package/node_modules/dayjs/plugin/devHelper.js +1 -0
  405. package/node_modules/dayjs/plugin/duration.d.ts +88 -0
  406. package/node_modules/dayjs/plugin/duration.js +1 -0
  407. package/node_modules/dayjs/plugin/isBetween.d.ts +10 -0
  408. package/node_modules/dayjs/plugin/isBetween.js +1 -0
  409. package/node_modules/dayjs/plugin/isLeapYear.d.ts +10 -0
  410. package/node_modules/dayjs/plugin/isLeapYear.js +1 -0
  411. package/node_modules/dayjs/plugin/isMoment.d.ts +10 -0
  412. package/node_modules/dayjs/plugin/isMoment.js +1 -0
  413. package/node_modules/dayjs/plugin/isSameOrAfter.d.ts +10 -0
  414. package/node_modules/dayjs/plugin/isSameOrAfter.js +1 -0
  415. package/node_modules/dayjs/plugin/isSameOrBefore.d.ts +10 -0
  416. package/node_modules/dayjs/plugin/isSameOrBefore.js +1 -0
  417. package/node_modules/dayjs/plugin/isToday.d.ts +10 -0
  418. package/node_modules/dayjs/plugin/isToday.js +1 -0
  419. package/node_modules/dayjs/plugin/isTomorrow.d.ts +10 -0
  420. package/node_modules/dayjs/plugin/isTomorrow.js +1 -0
  421. package/node_modules/dayjs/plugin/isYesterday.d.ts +10 -0
  422. package/node_modules/dayjs/plugin/isYesterday.js +1 -0
  423. package/node_modules/dayjs/plugin/isoWeek.d.ts +27 -0
  424. package/node_modules/dayjs/plugin/isoWeek.js +1 -0
  425. package/node_modules/dayjs/plugin/isoWeeksInYear.d.ts +10 -0
  426. package/node_modules/dayjs/plugin/isoWeeksInYear.js +1 -0
  427. package/node_modules/dayjs/plugin/localeData.d.ts +44 -0
  428. package/node_modules/dayjs/plugin/localeData.js +1 -0
  429. package/node_modules/dayjs/plugin/localizedFormat.d.ts +4 -0
  430. package/node_modules/dayjs/plugin/localizedFormat.js +1 -0
  431. package/node_modules/dayjs/plugin/minMax.d.ts +22 -0
  432. package/node_modules/dayjs/plugin/minMax.js +1 -0
  433. package/node_modules/dayjs/plugin/negativeYear.d.ts +4 -0
  434. package/node_modules/dayjs/plugin/negativeYear.js +1 -0
  435. package/node_modules/dayjs/plugin/objectSupport.d.ts +48 -0
  436. package/node_modules/dayjs/plugin/objectSupport.js +1 -0
  437. package/node_modules/dayjs/plugin/pluralGetSet.d.ts +44 -0
  438. package/node_modules/dayjs/plugin/pluralGetSet.js +1 -0
  439. package/node_modules/dayjs/plugin/preParsePostFormat.d.ts +4 -0
  440. package/node_modules/dayjs/plugin/preParsePostFormat.js +1 -0
  441. package/node_modules/dayjs/plugin/quarterOfYear.d.ts +26 -0
  442. package/node_modules/dayjs/plugin/quarterOfYear.js +1 -0
  443. package/node_modules/dayjs/plugin/relativeTime.d.ts +24 -0
  444. package/node_modules/dayjs/plugin/relativeTime.js +1 -0
  445. package/node_modules/dayjs/plugin/timezone.d.ts +20 -0
  446. package/node_modules/dayjs/plugin/timezone.js +1 -0
  447. package/node_modules/dayjs/plugin/toArray.d.ts +10 -0
  448. package/node_modules/dayjs/plugin/toArray.js +1 -0
  449. package/node_modules/dayjs/plugin/toObject.d.ts +20 -0
  450. package/node_modules/dayjs/plugin/toObject.js +1 -0
  451. package/node_modules/dayjs/plugin/updateLocale.d.ts +8 -0
  452. package/node_modules/dayjs/plugin/updateLocale.js +1 -0
  453. package/node_modules/dayjs/plugin/utc.d.ts +19 -0
  454. package/node_modules/dayjs/plugin/utc.js +1 -0
  455. package/node_modules/dayjs/plugin/weekOfYear.d.ts +12 -0
  456. package/node_modules/dayjs/plugin/weekOfYear.js +1 -0
  457. package/node_modules/dayjs/plugin/weekYear.d.ts +10 -0
  458. package/node_modules/dayjs/plugin/weekYear.js +1 -0
  459. package/node_modules/dayjs/plugin/weekday.d.ts +12 -0
  460. package/node_modules/dayjs/plugin/weekday.js +1 -0
  461. package/node_modules/deepmerge/.editorconfig +7 -0
  462. package/node_modules/deepmerge/.eslintcache +1 -0
  463. package/node_modules/deepmerge/changelog.md +167 -0
  464. package/node_modules/deepmerge/dist/cjs.js +133 -0
  465. package/node_modules/deepmerge/dist/umd.js +139 -0
  466. package/node_modules/deepmerge/index.d.ts +20 -0
  467. package/node_modules/deepmerge/index.js +106 -0
  468. package/node_modules/deepmerge/license.txt +21 -0
  469. package/node_modules/deepmerge/package.json +42 -0
  470. package/node_modules/deepmerge/readme.md +264 -0
  471. package/node_modules/deepmerge/rollup.config.js +22 -0
  472. package/node_modules/dom-serializer/LICENSE +7 -0
  473. package/node_modules/dom-serializer/README.md +115 -0
  474. package/node_modules/dom-serializer/dist/foreign-names.d.ts +11 -0
  475. package/node_modules/dom-serializer/dist/foreign-names.d.ts.map +1 -0
  476. package/node_modules/dom-serializer/dist/foreign-names.js +15 -0
  477. package/node_modules/dom-serializer/dist/foreign-names.js.map +1 -0
  478. package/node_modules/dom-serializer/dist/index.d.ts +72 -0
  479. package/node_modules/dom-serializer/dist/index.d.ts.map +1 -0
  480. package/node_modules/dom-serializer/dist/index.js +173 -0
  481. package/node_modules/dom-serializer/dist/index.js.map +1 -0
  482. package/node_modules/dom-serializer/package.json +69 -0
  483. package/node_modules/dom-serializer/src/foreign-names.ts +19 -0
  484. package/node_modules/dom-serializer/src/index.ts +315 -0
  485. package/node_modules/domelementtype/LICENSE +11 -0
  486. package/node_modules/domelementtype/dist/index.d.ts +48 -0
  487. package/node_modules/domelementtype/dist/index.d.ts.map +1 -0
  488. package/node_modules/domelementtype/dist/index.js +60 -0
  489. package/node_modules/domelementtype/package.json +59 -0
  490. package/node_modules/domelementtype/readme.md +1 -0
  491. package/node_modules/domhandler/LICENSE +11 -0
  492. package/node_modules/domhandler/dist/index.d.ts +79 -0
  493. package/node_modules/domhandler/dist/index.d.ts.map +1 -0
  494. package/node_modules/domhandler/dist/index.js +155 -0
  495. package/node_modules/domhandler/dist/node.d.ts +264 -0
  496. package/node_modules/domhandler/dist/node.d.ts.map +1 -0
  497. package/node_modules/domhandler/dist/node.js +359 -0
  498. package/node_modules/domhandler/package.json +65 -0
  499. package/node_modules/domhandler/readme.md +86 -0
  500. package/node_modules/domutils/LICENSE +11 -0
  501. package/node_modules/domutils/dist/feeds.d.ts +71 -0
  502. package/node_modules/domutils/dist/feeds.d.ts.map +1 -0
  503. package/node_modules/domutils/dist/feeds.js +180 -0
  504. package/node_modules/domutils/dist/feeds.js.map +1 -0
  505. package/node_modules/domutils/dist/helpers.d.ts +59 -0
  506. package/node_modules/domutils/dist/helpers.d.ts.map +1 -0
  507. package/node_modules/domutils/dist/helpers.js +136 -0
  508. package/node_modules/domutils/dist/helpers.js.map +1 -0
  509. package/node_modules/domutils/dist/index.d.ts +8 -0
  510. package/node_modules/domutils/dist/index.d.ts.map +1 -0
  511. package/node_modules/domutils/dist/index.js +8 -0
  512. package/node_modules/domutils/dist/index.js.map +1 -0
  513. package/node_modules/domutils/dist/legacy.d.ts +79 -0
  514. package/node_modules/domutils/dist/legacy.d.ts.map +1 -0
  515. package/node_modules/domutils/dist/legacy.js +152 -0
  516. package/node_modules/domutils/dist/legacy.js.map +1 -0
  517. package/node_modules/domutils/dist/manipulation.d.ts +49 -0
  518. package/node_modules/domutils/dist/manipulation.d.ts.map +1 -0
  519. package/node_modules/domutils/dist/manipulation.js +138 -0
  520. package/node_modules/domutils/dist/manipulation.js.map +1 -0
  521. package/node_modules/domutils/dist/querying.d.ts +54 -0
  522. package/node_modules/domutils/dist/querying.d.ts.map +1 -0
  523. package/node_modules/domutils/dist/querying.js +129 -0
  524. package/node_modules/domutils/dist/querying.js.map +1 -0
  525. package/node_modules/domutils/dist/stringify.d.ts +46 -0
  526. package/node_modules/domutils/dist/stringify.d.ts.map +1 -0
  527. package/node_modules/domutils/dist/stringify.js +81 -0
  528. package/node_modules/domutils/dist/stringify.js.map +1 -0
  529. package/node_modules/domutils/dist/traversal.d.ts +74 -0
  530. package/node_modules/domutils/dist/traversal.d.ts.map +1 -0
  531. package/node_modules/domutils/dist/traversal.js +105 -0
  532. package/node_modules/domutils/dist/traversal.js.map +1 -0
  533. package/node_modules/domutils/package.json +69 -0
  534. package/node_modules/domutils/readme.md +25 -0
  535. package/node_modules/domutils/src/__snapshots__/feeds.spec.ts.snap +103 -0
  536. package/node_modules/domutils/src/feeds.ts +301 -0
  537. package/node_modules/domutils/src/helpers.ts +154 -0
  538. package/node_modules/domutils/src/index.ts +7 -0
  539. package/node_modules/domutils/src/legacy.ts +224 -0
  540. package/node_modules/domutils/src/manipulation.ts +156 -0
  541. package/node_modules/domutils/src/querying.ts +172 -0
  542. package/node_modules/domutils/src/stringify.ts +90 -0
  543. package/node_modules/domutils/src/traversal.ts +132 -0
  544. package/node_modules/entities/LICENSE +11 -0
  545. package/node_modules/entities/dist/decode-codepoint.d.ts +28 -0
  546. package/node_modules/entities/dist/decode-codepoint.d.ts.map +1 -0
  547. package/node_modules/entities/dist/decode-codepoint.js +61 -0
  548. package/node_modules/entities/dist/decode-codepoint.js.map +1 -0
  549. package/node_modules/entities/dist/decode.d.ts +227 -0
  550. package/node_modules/entities/dist/decode.d.ts.map +1 -0
  551. package/node_modules/entities/dist/decode.js +1132 -0
  552. package/node_modules/entities/dist/decode.js.map +1 -0
  553. package/node_modules/entities/dist/encode.d.ts +26 -0
  554. package/node_modules/entities/dist/encode.d.ts.map +1 -0
  555. package/node_modules/entities/dist/encode.js +295 -0
  556. package/node_modules/entities/dist/encode.js.map +1 -0
  557. package/node_modules/entities/dist/escape.d.ts +60 -0
  558. package/node_modules/entities/dist/escape.d.ts.map +1 -0
  559. package/node_modules/entities/dist/escape.js +172 -0
  560. package/node_modules/entities/dist/escape.js.map +1 -0
  561. package/node_modules/entities/dist/generated/decode-data-html.d.ts +3 -0
  562. package/node_modules/entities/dist/generated/decode-data-html.d.ts.map +1 -0
  563. package/node_modules/entities/dist/generated/decode-data-html.js +5 -0
  564. package/node_modules/entities/dist/generated/decode-data-html.js.map +1 -0
  565. package/node_modules/entities/dist/generated/decode-data-xml.d.ts +3 -0
  566. package/node_modules/entities/dist/generated/decode-data-xml.d.ts.map +1 -0
  567. package/node_modules/entities/dist/generated/decode-data-xml.js +7 -0
  568. package/node_modules/entities/dist/generated/decode-data-xml.js.map +1 -0
  569. package/node_modules/entities/dist/generated/encode-html.d.ts +3 -0
  570. package/node_modules/entities/dist/generated/encode-html.d.ts.map +1 -0
  571. package/node_modules/entities/dist/generated/encode-html.js +3 -0
  572. package/node_modules/entities/dist/generated/encode-html.js.map +1 -0
  573. package/node_modules/entities/dist/index.d.ts +89 -0
  574. package/node_modules/entities/dist/index.d.ts.map +1 -0
  575. package/node_modules/entities/dist/index.js +87 -0
  576. package/node_modules/entities/dist/index.js.map +1 -0
  577. package/node_modules/entities/dist/internal/bin-trie-flags.d.ts +48 -0
  578. package/node_modules/entities/dist/internal/bin-trie-flags.d.ts.map +1 -0
  579. package/node_modules/entities/dist/internal/bin-trie-flags.js +49 -0
  580. package/node_modules/entities/dist/internal/bin-trie-flags.js.map +1 -0
  581. package/node_modules/entities/dist/internal/decode-shared.d.ts +38 -0
  582. package/node_modules/entities/dist/internal/decode-shared.d.ts.map +1 -0
  583. package/node_modules/entities/dist/internal/decode-shared.js +195 -0
  584. package/node_modules/entities/dist/internal/decode-shared.js.map +1 -0
  585. package/node_modules/entities/package.json +83 -0
  586. package/node_modules/entities/readme.md +131 -0
  587. package/node_modules/entities/src/decode-codepoint.ts +69 -0
  588. package/node_modules/entities/src/decode.ts +1368 -0
  589. package/node_modules/entities/src/encode.ts +337 -0
  590. package/node_modules/entities/src/escape.ts +187 -0
  591. package/node_modules/entities/src/generated/decode-data-html.ts +12 -0
  592. package/node_modules/entities/src/generated/decode-data-xml.ts +7 -0
  593. package/node_modules/entities/src/generated/encode-html.ts +3 -0
  594. package/node_modules/entities/src/index.ts +160 -0
  595. package/node_modules/entities/src/internal/bin-trie-flags.ts +47 -0
  596. package/node_modules/entities/src/internal/decode-shared.ts +209 -0
  597. package/node_modules/escape-string-regexp/index.d.ts +18 -0
  598. package/node_modules/escape-string-regexp/index.js +13 -0
  599. package/node_modules/escape-string-regexp/license +9 -0
  600. package/node_modules/escape-string-regexp/package.json +38 -0
  601. package/node_modules/escape-string-regexp/readme.md +34 -0
  602. package/node_modules/express-rate-limit/dist/index.cjs +9 -7
  603. package/node_modules/express-rate-limit/dist/index.mjs +9 -7
  604. package/node_modules/express-rate-limit/package.json +9 -9
  605. package/node_modules/htmlparser2/LICENSE +18 -0
  606. package/node_modules/htmlparser2/README.md +257 -0
  607. package/node_modules/htmlparser2/dist/Parser.d.ts +257 -0
  608. package/node_modules/htmlparser2/dist/Parser.d.ts.map +1 -0
  609. package/node_modules/htmlparser2/dist/Parser.js +644 -0
  610. package/node_modules/htmlparser2/dist/Parser.js.map +1 -0
  611. package/node_modules/htmlparser2/dist/Tokenizer.d.ts +194 -0
  612. package/node_modules/htmlparser2/dist/Tokenizer.d.ts.map +1 -0
  613. package/node_modules/htmlparser2/dist/Tokenizer.js +1056 -0
  614. package/node_modules/htmlparser2/dist/Tokenizer.js.map +1 -0
  615. package/node_modules/htmlparser2/dist/WebWritableStream.d.ts +24 -0
  616. package/node_modules/htmlparser2/dist/WebWritableStream.d.ts.map +1 -0
  617. package/node_modules/htmlparser2/dist/WebWritableStream.js +44 -0
  618. package/node_modules/htmlparser2/dist/WebWritableStream.js.map +1 -0
  619. package/node_modules/htmlparser2/dist/WritableStream.d.ts +14 -0
  620. package/node_modules/htmlparser2/dist/WritableStream.d.ts.map +1 -0
  621. package/node_modules/htmlparser2/dist/WritableStream.js +32 -0
  622. package/node_modules/htmlparser2/dist/WritableStream.js.map +1 -0
  623. package/node_modules/htmlparser2/dist/index.d.ts +34 -0
  624. package/node_modules/htmlparser2/dist/index.d.ts.map +1 -0
  625. package/node_modules/htmlparser2/dist/index.js +46 -0
  626. package/node_modules/htmlparser2/dist/index.js.map +1 -0
  627. package/node_modules/htmlparser2/package.json +86 -0
  628. package/node_modules/htmlparser2/src/Parser.ts +823 -0
  629. package/node_modules/htmlparser2/src/Tokenizer.ts +1150 -0
  630. package/node_modules/htmlparser2/src/WebWritableStream.ts +47 -0
  631. package/node_modules/htmlparser2/src/WritableStream.ts +42 -0
  632. package/node_modules/htmlparser2/src/index.ts +86 -0
  633. package/node_modules/launder/.travis.yml +4 -0
  634. package/node_modules/launder/CHANGELOG.md +80 -0
  635. package/node_modules/launder/LICENSE.md +7 -0
  636. package/node_modules/launder/README.md +177 -0
  637. package/node_modules/launder/eslint.config.js +6 -0
  638. package/node_modules/launder/index.js +538 -0
  639. package/node_modules/launder/logos/logo-box-madefor.png +0 -0
  640. package/node_modules/launder/package.json +38 -0
  641. package/node_modules/launder/test/test.js +775 -0
  642. package/node_modules/nanoid/LICENSE +20 -0
  643. package/node_modules/nanoid/README.md +39 -0
  644. package/node_modules/nanoid/async/index.browser.cjs +43 -0
  645. package/node_modules/nanoid/async/index.browser.js +43 -0
  646. package/node_modules/nanoid/async/index.cjs +47 -0
  647. package/node_modules/nanoid/async/index.d.cts +56 -0
  648. package/node_modules/nanoid/async/index.d.ts +56 -0
  649. package/node_modules/nanoid/async/index.js +47 -0
  650. package/node_modules/nanoid/async/index.native.js +38 -0
  651. package/node_modules/nanoid/async/package.json +12 -0
  652. package/node_modules/nanoid/bin/nanoid.cjs +55 -0
  653. package/node_modules/nanoid/index.browser.cjs +45 -0
  654. package/node_modules/nanoid/index.browser.js +45 -0
  655. package/node_modules/nanoid/index.cjs +63 -0
  656. package/node_modules/nanoid/index.d.cts +91 -0
  657. package/node_modules/nanoid/index.d.ts +91 -0
  658. package/node_modules/nanoid/index.js +63 -0
  659. package/node_modules/nanoid/nanoid.js +1 -0
  660. package/node_modules/nanoid/non-secure/index.cjs +24 -0
  661. package/node_modules/nanoid/non-secure/index.d.ts +33 -0
  662. package/node_modules/nanoid/non-secure/index.js +24 -0
  663. package/node_modules/nanoid/non-secure/package.json +6 -0
  664. package/node_modules/nanoid/package.json +89 -0
  665. package/node_modules/nanoid/url-alphabet/index.cjs +4 -0
  666. package/node_modules/nanoid/url-alphabet/index.js +4 -0
  667. package/node_modules/nanoid/url-alphabet/package.json +6 -0
  668. package/node_modules/parse-srcset/.jscs.json +83 -0
  669. package/node_modules/parse-srcset/.jshintrc +15 -0
  670. package/node_modules/parse-srcset/.npmignore +8 -0
  671. package/node_modules/parse-srcset/LICENSE +22 -0
  672. package/node_modules/parse-srcset/README.md +19 -0
  673. package/node_modules/parse-srcset/package.json +25 -0
  674. package/node_modules/parse-srcset/src/parse-srcset.js +330 -0
  675. package/node_modules/parse-srcset/tests/he.js +329 -0
  676. package/node_modules/parse-srcset/tests/intern.js +74 -0
  677. package/node_modules/parse-srcset/tests/unit/ps.js +345 -0
  678. package/node_modules/picocolors/LICENSE +15 -0
  679. package/node_modules/picocolors/README.md +21 -0
  680. package/node_modules/picocolors/package.json +25 -0
  681. package/node_modules/picocolors/picocolors.browser.js +4 -0
  682. package/node_modules/picocolors/picocolors.d.ts +5 -0
  683. package/node_modules/picocolors/picocolors.js +75 -0
  684. package/node_modules/picocolors/types.d.ts +51 -0
  685. package/node_modules/postcss/LICENSE +20 -0
  686. package/node_modules/postcss/README.md +27 -0
  687. package/node_modules/postcss/lib/at-rule.d.ts +139 -0
  688. package/node_modules/postcss/lib/at-rule.js +25 -0
  689. package/node_modules/postcss/lib/comment.d.ts +67 -0
  690. package/node_modules/postcss/lib/comment.js +13 -0
  691. package/node_modules/postcss/lib/container.d.ts +474 -0
  692. package/node_modules/postcss/lib/container.js +494 -0
  693. package/node_modules/postcss/lib/css-syntax-error.d.ts +247 -0
  694. package/node_modules/postcss/lib/css-syntax-error.js +133 -0
  695. package/node_modules/postcss/lib/declaration.d.ts +150 -0
  696. package/node_modules/postcss/lib/declaration.js +24 -0
  697. package/node_modules/postcss/lib/document.d.ts +68 -0
  698. package/node_modules/postcss/lib/document.js +33 -0
  699. package/node_modules/postcss/lib/fromJSON.d.ts +9 -0
  700. package/node_modules/postcss/lib/fromJSON.js +107 -0
  701. package/node_modules/postcss/lib/input.d.ts +226 -0
  702. package/node_modules/postcss/lib/input.js +282 -0
  703. package/node_modules/postcss/lib/lazy-result.d.ts +189 -0
  704. package/node_modules/postcss/lib/lazy-result.js +626 -0
  705. package/node_modules/postcss/lib/list.d.ts +60 -0
  706. package/node_modules/postcss/lib/list.js +79 -0
  707. package/node_modules/postcss/lib/map-generator.js +383 -0
  708. package/node_modules/postcss/lib/no-work-result.d.ts +45 -0
  709. package/node_modules/postcss/lib/no-work-result.js +137 -0
  710. package/node_modules/postcss/lib/node.d.ts +555 -0
  711. package/node_modules/postcss/lib/node.js +494 -0
  712. package/node_modules/postcss/lib/parse.d.ts +9 -0
  713. package/node_modules/postcss/lib/parse.js +42 -0
  714. package/node_modules/postcss/lib/parser.js +626 -0
  715. package/node_modules/postcss/lib/postcss.d.mts +66 -0
  716. package/node_modules/postcss/lib/postcss.d.ts +464 -0
  717. package/node_modules/postcss/lib/postcss.js +101 -0
  718. package/node_modules/postcss/lib/postcss.mjs +30 -0
  719. package/node_modules/postcss/lib/previous-map.d.ts +80 -0
  720. package/node_modules/postcss/lib/previous-map.js +176 -0
  721. package/node_modules/postcss/lib/processor.d.ts +114 -0
  722. package/node_modules/postcss/lib/processor.js +67 -0
  723. package/node_modules/postcss/lib/result.d.ts +204 -0
  724. package/node_modules/postcss/lib/result.js +42 -0
  725. package/node_modules/postcss/lib/root.d.ts +86 -0
  726. package/node_modules/postcss/lib/root.js +76 -0
  727. package/node_modules/postcss/lib/rule.d.ts +126 -0
  728. package/node_modules/postcss/lib/rule.js +27 -0
  729. package/node_modules/postcss/lib/stringifier.d.ts +45 -0
  730. package/node_modules/postcss/lib/stringifier.js +457 -0
  731. package/node_modules/postcss/lib/stringify.d.ts +9 -0
  732. package/node_modules/postcss/lib/stringify.js +69 -0
  733. package/node_modules/postcss/lib/symbols.js +5 -0
  734. package/node_modules/postcss/lib/terminal-highlight.js +70 -0
  735. package/node_modules/postcss/lib/tokenize.js +270 -0
  736. package/node_modules/postcss/lib/warn-once.js +13 -0
  737. package/node_modules/postcss/lib/warning.d.ts +146 -0
  738. package/node_modules/postcss/lib/warning.js +47 -0
  739. package/node_modules/postcss/package.json +88 -0
  740. package/node_modules/sanitize-html/LICENSE +7 -0
  741. package/node_modules/sanitize-html/README.md +877 -0
  742. package/node_modules/sanitize-html/index.js +1255 -0
  743. package/node_modules/sanitize-html/package.json +49 -0
  744. package/node_modules/source-map-js/LICENSE +28 -0
  745. package/node_modules/source-map-js/README.md +765 -0
  746. package/node_modules/source-map-js/lib/array-set.js +121 -0
  747. package/node_modules/source-map-js/lib/base64-vlq.js +140 -0
  748. package/node_modules/source-map-js/lib/base64.js +67 -0
  749. package/node_modules/source-map-js/lib/binary-search.js +111 -0
  750. package/node_modules/source-map-js/lib/mapping-list.js +79 -0
  751. package/node_modules/source-map-js/lib/quick-sort.js +141 -0
  752. package/node_modules/source-map-js/lib/source-map-consumer.d.ts +1 -0
  753. package/node_modules/source-map-js/lib/source-map-consumer.js +1236 -0
  754. package/node_modules/source-map-js/lib/source-map-generator.d.ts +1 -0
  755. package/node_modules/source-map-js/lib/source-map-generator.js +446 -0
  756. package/node_modules/source-map-js/lib/source-node.d.ts +1 -0
  757. package/node_modules/source-map-js/lib/source-node.js +420 -0
  758. package/node_modules/source-map-js/lib/util.js +594 -0
  759. package/node_modules/source-map-js/package.json +71 -0
  760. package/node_modules/source-map-js/source-map.d.ts +104 -0
  761. package/node_modules/source-map-js/source-map.js +8 -0
  762. package/package.json +5 -1
  763. package/dist/ui/assets/index-BKgX8_Zh.js +0 -111
@@ -0,0 +1,775 @@
1
+ const assert = require('assert');
2
+ const dayjs = require('dayjs');
3
+
4
+ describe('launder', function() {
5
+
6
+ const launder = require('../index.js')();
7
+
8
+ it('should exist', function() {
9
+ assert(launder);
10
+ });
11
+
12
+ describe('instantiation', function() {
13
+
14
+ it('should have default filterTag function', function() {
15
+ assert(typeof (launder.filterTag) === 'function');
16
+ assert(launder.filterTag(' HEllo ') === 'hello');
17
+ });
18
+
19
+ it('should take a new filterTag function', function() {
20
+ const launderWithFilterTag = require('../index.js')({
21
+ filterTag: function(tag) {
22
+ return 'punk';
23
+ }
24
+ });
25
+
26
+ assert(typeof (launderWithFilterTag.filterTag) === 'function');
27
+ assert(launderWithFilterTag.filterTag(' HEllo ') === 'punk');
28
+ });
29
+
30
+ });
31
+
32
+ describe('methods', function() {
33
+ it('should have a `string` method', function() {
34
+ assert(launder.string);
35
+ });
36
+
37
+ it('should have a `strings` method', function() {
38
+ assert(launder.strings);
39
+ });
40
+
41
+ it('should have a `integer` method', function() {
42
+ assert(launder.integer);
43
+ });
44
+
45
+ it('should have a `padInteger` method', function() {
46
+ assert(launder.padInteger);
47
+ });
48
+
49
+ it('should have a `float` method', function() {
50
+ assert(launder.float);
51
+ });
52
+
53
+ it('should have a `url` method', function() {
54
+ assert(launder.url);
55
+ });
56
+
57
+ it('should have a `select` method', function() {
58
+ assert(launder.select);
59
+ });
60
+
61
+ it('should have a `boolean` method', function() {
62
+ assert(launder.boolean);
63
+ });
64
+
65
+ it('should have a `addBooleanFilterToCriteria` method', function() {
66
+ assert(launder.addBooleanFilterToCriteria);
67
+ });
68
+
69
+ it('should have a `date` method', function() {
70
+ assert(launder.date);
71
+ });
72
+
73
+ it('should have a `formatDate` method', function() {
74
+ assert(launder.formatDate);
75
+ });
76
+
77
+ it('should have a `time` method', function() {
78
+ // just a flat circle
79
+ assert(launder.time);
80
+ });
81
+
82
+ it('should have a `formatTime` method', function() {
83
+ assert(launder.formatTime);
84
+ });
85
+
86
+ it('should have a `tags` method', function() {
87
+ assert(launder.tags);
88
+ });
89
+
90
+ it('should have a `id` method', function() {
91
+ assert(launder.id);
92
+ });
93
+
94
+ it('should have an `ids` method', function() {
95
+ assert(launder.ids);
96
+ });
97
+ });
98
+
99
+ describe('string', function() {
100
+ it('should do nothing to a good string', function() {
101
+ assert(launder.string('this is great') === 'this is great');
102
+ });
103
+
104
+ it('should trim a string', function() {
105
+ assert(launder.string(' remove whitespace ') === 'remove whitespace');
106
+ });
107
+
108
+ it('should convert a number to a string', function() {
109
+ assert(launder.string(1234) === '1234');
110
+ });
111
+
112
+ it('should convert a boolean to a string', function() {
113
+ assert(launder.string(true) === 'true');
114
+ assert(launder.string(false) === 'false');
115
+ });
116
+
117
+ it('should convert non-string/non-number to an empty string', function() {
118
+ assert(launder.string({ an: 'object' }) === '');
119
+ assert(launder.string(function() {
120
+ return 'still not a string';
121
+ }) === '');
122
+ });
123
+
124
+ it('should use a default for non-strings', function() {
125
+ assert(launder.string({ an: 'object' }, 'default') === 'default');
126
+ });
127
+ });
128
+
129
+ describe('strings', function() {
130
+ it('should do good stuff to an array of strings', function() {
131
+ const s = launder.strings([ ' testing ', 123 ]);
132
+ assert(s[0] === 'testing');
133
+ assert(s[1] === '123');
134
+ });
135
+
136
+ it('should return an empty array if we pass in something that is not an array', function() {
137
+ const s = launder.strings({
138
+ an: 'object',
139
+ is: 'not',
140
+ typeof: 'array'
141
+ });
142
+ assert(Array.isArray(s));
143
+ assert(s.length === 0);
144
+ });
145
+ });
146
+
147
+ describe('integer', function() {
148
+ it('should do nothing to a good integer', function() {
149
+ assert(launder.integer(123) === 123);
150
+ });
151
+ it('should convert a float to a rounded down integer', function() {
152
+ assert(launder.integer(42.42) === 42);
153
+ });
154
+ it('should convet a string of an integer to an integer', function() {
155
+ assert(launder.integer('123') === 123);
156
+ });
157
+ it('should convert a string of a float to a rounded down integer', function() {
158
+ assert(launder.integer('42.42') === 42);
159
+ });
160
+ it('should convert a non-number to 0 by default', function() {
161
+ assert(launder.integer('nah') === 0);
162
+ });
163
+ it('should convert a non-number to the passed in default', function() {
164
+ assert(launder.integer('nah', 5) === 5);
165
+ });
166
+ it('should set a value below min to min', function() {
167
+ assert(launder.integer(5, null, 10) === 10);
168
+ });
169
+ it('should set a value above max to max', function() {
170
+ assert(launder.integer(25, null, null, 20) === 20);
171
+ });
172
+ it('should set a non-number with no default to min', function() {
173
+ assert(launder.integer('nah', null, 10, 20) === 10);
174
+ });
175
+ });
176
+
177
+ describe('padInteger', function() {
178
+ it('should add 0s to to an integer shorter than the pad', function() {
179
+ assert(launder.padInteger(1234, 10) === '0000001234');
180
+ });
181
+ it('should not add 0s to an integer longer than the pad', function() {
182
+ assert(launder.padInteger(123456789, 5) === '123456789');
183
+ });
184
+ });
185
+
186
+ describe('float', function() {
187
+ it('should do nothing to a good float', function() {
188
+ assert(launder.float(42.42) === 42.42);
189
+ });
190
+ it('should convert a string of a float to a float', function() {
191
+ assert(launder.float('42.42') === 42.42);
192
+ });
193
+ it('should convert a non-number to 0 by default', function() {
194
+ assert(launder.float('nah') === 0);
195
+ });
196
+ it('should convert a non-number to the passed in default', function() {
197
+ assert(launder.float('nah', 5.5) === 5.5);
198
+ });
199
+ it('should set a value below min to min', function() {
200
+ assert(launder.float(5, null, 10.6) === 10.6);
201
+ });
202
+ it('should set a value above max to max', function() {
203
+ assert(launder.float(25, null, null, 20.2) === 20.2);
204
+ });
205
+ it('should set a non-number with no default to min', function() {
206
+ assert(launder.float('nah', null, 10.6, 20.2) === 10.6);
207
+ });
208
+ });
209
+
210
+ describe('url', function() {
211
+ it('should do nothing to a good url', function() {
212
+ assert(launder.url('http://www.apostrophenow.org') === 'http://www.apostrophenow.org');
213
+ });
214
+ it('should add http:// when missing', function() {
215
+ assert(launder.url('www.apostrophenow.org') === 'http://www.apostrophenow.org');
216
+ });
217
+ it('should remove spaces from a url', function() {
218
+ assert(launder.url('this is not a url') === 'thisisnotaurl');
219
+ });
220
+ it('should return the default if it is an empty string', function() {
221
+ assert(launder.url('', 'http://www.apostrophenow.org') === 'http://www.apostrophenow.org');
222
+ });
223
+ it('should return the default if it is null', function() {
224
+ assert(launder.url(null, 'http://www.apostrophenow.org') === 'http://www.apostrophenow.org');
225
+ });
226
+ it('should return the default if it is undefined', function() {
227
+ assert(launder.url(undefined, 'http://www.apostrophenow.org') === 'http://www.apostrophenow.org');
228
+ });
229
+ it('should return the default if it is malicious', function() {
230
+ assert(launder.url('javascript:alert(\'All your base are belong to us\');', 'http://www.apostrophenow.org') === 'http://www.apostrophenow.org');
231
+ });
232
+ it('should return an https url', function() {
233
+ assert(launder.url('https://www.apostrophenow.org') === 'https://www.apostrophenow.org');
234
+ });
235
+ it('should return an sms url', function() {
236
+ assert(launder.url('sms:123456') === 'sms:123456');
237
+ });
238
+ it('should return an tel url', function() {
239
+ assert(launder.url('tel:123456') === 'tel:123456');
240
+ });
241
+ it('should return an ftp url', function() {
242
+ assert(launder.url('ftp://123456') === 'ftp://123456');
243
+ });
244
+ it('should return an mailto url', function() {
245
+ assert(launder.url('mailto:123456') === 'mailto:123456');
246
+ });
247
+ it('should not match a random url', function() {
248
+ assert(launder.url('randomtag://123456', 'http://www.apostrophenow.org') === 'http://www.apostrophenow.org');
249
+ });
250
+ it('should add https:// when missing if httpsFix is true', function() {
251
+ assert(launder.url('www.apostrophenow.org', null, true) === 'https://www.apostrophenow.org');
252
+ });
253
+ it('should reject javascript: even when the URL contains a dot', function() {
254
+ // Without rejecting before fixUrl, the dot in `document.domain`
255
+ // causes fixUrl to prepend `https://`, masking the dangerous
256
+ // scheme rather than discarding it.
257
+ assert(launder.url('javascript:alert(document.domain)', 'http://www.apostrophenow.org') === 'http://www.apostrophenow.org');
258
+ });
259
+ it('should reject javascript: with mixed case', function() {
260
+ assert(launder.url('JaVaScRiPt:alert(1)', 'http://www.apostrophenow.org') === 'http://www.apostrophenow.org');
261
+ });
262
+ it('should reject javascript: smuggled past simple checks with control characters', function() {
263
+ assert(launder.url('java\tscript:alert(1)', 'http://www.apostrophenow.org') === 'http://www.apostrophenow.org');
264
+ });
265
+ it('should reject javascript: smuggled past simple checks with HTML comments', function() {
266
+ assert(launder.url('java<!---->script:alert(1)', 'http://www.apostrophenow.org') === 'http://www.apostrophenow.org');
267
+ });
268
+ it('should reject data: urls', function() {
269
+ assert(launder.url('data:text/html,<script>alert(1)</script>', 'http://www.apostrophenow.org') === 'http://www.apostrophenow.org');
270
+ });
271
+ it('should preserve relative urls beginning with /', function() {
272
+ assert(launder.url('/about') === '/about');
273
+ });
274
+ it('should preserve protocol-relative urls', function() {
275
+ assert(launder.url('//www.apostrophenow.org') === '//www.apostrophenow.org');
276
+ });
277
+ });
278
+
279
+ describe('naughtyHref', function() {
280
+ it('should report javascript: as naughty', function() {
281
+ assert(launder.naughtyHref('javascript:alert(1)') === true);
282
+ });
283
+ it('should report data: as naughty', function() {
284
+ assert(launder.naughtyHref('data:text/html,<script>alert(1)</script>') === true);
285
+ });
286
+ it('should report mixed-case javascript: as naughty', function() {
287
+ assert(launder.naughtyHref('JaVaScRiPt:alert(1)') === true);
288
+ });
289
+ it('should report control-character-smuggled javascript: as naughty', function() {
290
+ assert(launder.naughtyHref('java\tscript:alert(1)') === true);
291
+ });
292
+ it('should report HTML-comment-smuggled javascript: as naughty', function() {
293
+ assert(launder.naughtyHref('java<!---->script:alert(1)') === true);
294
+ });
295
+ it('should accept allowed schemes', function() {
296
+ assert(launder.naughtyHref('https://example.com') === false);
297
+ assert(launder.naughtyHref('http://example.com') === false);
298
+ assert(launder.naughtyHref('ftp://example.com') === false);
299
+ assert(launder.naughtyHref('mailto:foo@example.com') === false);
300
+ assert(launder.naughtyHref('tel:1234') === false);
301
+ assert(launder.naughtyHref('sms:1234') === false);
302
+ });
303
+ it('should accept relative URLs', function() {
304
+ assert(launder.naughtyHref('/about') === false);
305
+ assert(launder.naughtyHref('about') === false);
306
+ assert(launder.naughtyHref('#fragment') === false);
307
+ });
308
+ it('should accept protocol-relative URLs by default', function() {
309
+ assert(launder.naughtyHref('//example.com') === false);
310
+ });
311
+ it('should reject protocol-relative URLs when allowProtocolRelative is false', function() {
312
+ assert(launder.naughtyHref('//example.com', { allowProtocolRelative: false }) === true);
313
+ });
314
+ it('should respect a custom allowedSchemes list', function() {
315
+ assert(launder.naughtyHref('https://example.com', { allowedSchemes: [ 'http' ] }) === true);
316
+ assert(launder.naughtyHref('http://example.com', { allowedSchemes: [ 'http' ] }) === false);
317
+ });
318
+ it('should return false for non-string input', function() {
319
+ assert(launder.naughtyHref(undefined) === false);
320
+ assert(launder.naughtyHref(null) === false);
321
+ assert(launder.naughtyHref(42) === false);
322
+ });
323
+ });
324
+
325
+ describe('select', function() {
326
+ it('should do nothing to a good choice from an array', function() {
327
+ assert(launder.select('n', [ 'p', 'u', 'n', 'k' ]) === 'n');
328
+ });
329
+ it('should do nothing to a good choice from an object', function() {
330
+ const s = launder.select('n', [
331
+ {
332
+ name: 'Probably amazing',
333
+ value: 'p'
334
+ },
335
+ {
336
+ name: 'Utterly incredible',
337
+ value: 'u'
338
+ },
339
+ {
340
+ name: 'Never gonna give you up',
341
+ value: 'n'
342
+ },
343
+ {
344
+ name: 'Kind hearted',
345
+ value: 'k'
346
+ }
347
+ ]);
348
+ assert(s === 'n');
349
+ });
350
+ it('should return the default if choices is null', function() {
351
+ assert(launder.select('hi', null, 'bye') === 'bye');
352
+ });
353
+ it('should return the default if choices is empty', function() {
354
+ assert(launder.select('hi', [], 'bye') === 'bye');
355
+ });
356
+ it('should return the default if the choice is not found in an array', function() {
357
+ assert(launder.select('hi', [ 'not', 'in', 'here' ], 'bye') === 'bye');
358
+ });
359
+ it('should not crash if a null choice is present', function() {
360
+ assert(launder.select('yes', [ 'not', null, 'yes' ]) === 'yes');
361
+ });
362
+ it('should not crash if an undefined choice is present', function() {
363
+ assert(launder.select('yes', [ 'not', undefined, 'yes' ]) === 'yes');
364
+ });
365
+ it('should not crash if a null choice is present, with labels', function() {
366
+ assert(launder.select('yes', [ {
367
+ value: 'not',
368
+ label: 'Not'
369
+ }, {
370
+ value: null,
371
+ label: 'broken'
372
+ }, {
373
+ value: 'yes',
374
+ label: 'Yes'
375
+ } ]) === 'yes');
376
+ });
377
+ it('should not crash if an undefined choice is present, with labels', function() {
378
+ assert(launder.select('yes', [ {
379
+ value: 'not',
380
+ label: 'Not'
381
+ }, {
382
+ value: undefined,
383
+ label: 'broken'
384
+ }, {
385
+ value: 'yes',
386
+ label: 'Yes'
387
+ } ]) === 'yes');
388
+ });
389
+ it('should return the default if the choice is not found in an object', function() {
390
+ const s = launder.select('hi', [
391
+ {
392
+ name: 'Not something',
393
+ value: 'not'
394
+ },
395
+ {
396
+ name: 'Inside',
397
+ value: 'in'
398
+ },
399
+ {
400
+ name: 'Here anymore',
401
+ value: 'here'
402
+ }
403
+ ], 'bye');
404
+ assert(s === 'bye');
405
+ });
406
+ it('should return the default if the choice is not found in an array', function() {
407
+ assert(launder.select('hi', [ 'not', 'in', 'here' ], 'bye') === 'bye');
408
+ });
409
+ it('should match a string input matching the string representation of a choice that is a number, and return the number, not the string', function() {
410
+ assert(launder.select('5', [ 1, 3, 5 ], 1) === 5);
411
+ });
412
+ it('should match a number matching a choice that is a number, and return the number, not a stringification of it', function() {
413
+ assert(launder.select(5, [ 1, 3, 5 ], 1) === 5);
414
+ });
415
+ });
416
+
417
+ describe('boolean', function() {
418
+ it('should do nothing to a proper boolean', function() {
419
+ assert(launder.boolean(true) === true);
420
+ assert(launder.boolean(false) === false);
421
+ });
422
+ it('should convert a string to a proper boolean', function() {
423
+ assert(launder.boolean('true') === true);
424
+ assert(launder.boolean('false') === false);
425
+ });
426
+ it('should return true for string of `t`', function() {
427
+ assert(launder.boolean('t') === true);
428
+ });
429
+ it('should return true for string of `y`', function() {
430
+ assert(launder.boolean('y') === true);
431
+ });
432
+ it('should return true for string of `1`', function() {
433
+ assert(launder.boolean('1') === true);
434
+ });
435
+ it('should return true for integer of 1', function() {
436
+ assert(launder.boolean(1) === true);
437
+ });
438
+ it('should return false for an empty string', function() {
439
+ assert(launder.boolean('') === false);
440
+ });
441
+ it('should return the default if nothing is passed', function() {
442
+ assert(launder.boolean(null, 'yup') === 'yup');
443
+ });
444
+ it('should return false if nothing is passed and no default', function() {
445
+ assert(launder.boolean(null) === false);
446
+ });
447
+ });
448
+
449
+ describe('booleanOrNull', function() {
450
+ it('should do nothing to a proper boolean', function() {
451
+ assert(launder.booleanOrNull(true) === true);
452
+ assert(launder.booleanOrNull(false) === false);
453
+ });
454
+ it('should convert a string to a proper boolean', function() {
455
+ assert(launder.booleanOrNull('true') === true);
456
+ assert(launder.booleanOrNull('false') === false);
457
+ });
458
+ it('should return true for string of `t`', function() {
459
+ assert(launder.booleanOrNull('t') === true);
460
+ });
461
+ it('should return true for string of `y`', function() {
462
+ assert(launder.booleanOrNull('y') === true);
463
+ });
464
+ it('should return true for string of `1`', function() {
465
+ assert(launder.booleanOrNull('1') === true);
466
+ });
467
+ it('should return true for integer of 1', function() {
468
+ assert(launder.booleanOrNull(1) === true);
469
+ });
470
+ it('should return false for an empty string', function() {
471
+ assert(launder.booleanOrNull('') === false);
472
+ });
473
+ it('should return the default if the empty string is passed', function() {
474
+ assert(launder.booleanOrNull('', 'yup') === 'yup');
475
+ });
476
+ it('should return the default if undefined is passed', function() {
477
+ assert(launder.booleanOrNull(undefined, 'yup') === 'yup');
478
+ });
479
+ it('should return null if null is passed even if there is a default', function() {
480
+ assert(launder.booleanOrNull(null, 'yup') === null);
481
+ });
482
+ it('should return null if null is passed and no default', function() {
483
+ assert(launder.booleanOrNull(null) === null);
484
+ });
485
+ it('should return null if "any" is passed and there is a default', function() {
486
+ assert(launder.booleanOrNull('any', 'yup') === null);
487
+ });
488
+ it('should return null if "null" is passed and there is a default', function() {
489
+ assert(launder.booleanOrNull('null', 'yup') === null);
490
+ });
491
+ });
492
+
493
+ describe('addBooleanFilterToCriteria', function() {
494
+ const name = 'published';
495
+ const criteria = {};
496
+ const optionsTrue = { published: true };
497
+ const optionsFalse = { published: false };
498
+ const optionsEmpty = { published: '' };
499
+
500
+ it('should not change criteria if option is `any`', function() {
501
+ launder.addBooleanFilterToCriteria('any', name, criteria);
502
+ assert(criteria[name] === undefined);
503
+ });
504
+
505
+ it('should use a default of `any` if name is not found in options', function() {
506
+ launder.addBooleanFilterToCriteria({}, name, criteria);
507
+ assert(criteria[name] === undefined);
508
+ });
509
+ it('should use a default of `any` if options is null', function() {
510
+ launder.addBooleanFilterToCriteria(null, name, criteria);
511
+ assert(criteria[name] === undefined);
512
+ });
513
+ it('should use `name` property of `options` if `options` is an object', function() {
514
+ launder.addBooleanFilterToCriteria(optionsTrue, name, criteria);
515
+ assert(criteria[name] === true);
516
+ const criteria2 = {};
517
+ launder.addBooleanFilterToCriteria(optionsFalse, name, criteria2);
518
+ assert(criteria2[name].$ne === true);
519
+ });
520
+ it('should be able to use a boolean string `true` for options', function() {
521
+ const criteria = {};
522
+ launder.addBooleanFilterToCriteria('true', name, criteria);
523
+ assert(criteria[name] === true);
524
+ });
525
+ it('should be able to use a boolean string `y` for options', function() {
526
+ const criteria = {};
527
+ launder.addBooleanFilterToCriteria('y', name, criteria);
528
+ assert(criteria[name] === true);
529
+ });
530
+ it('should be able to use a real boolean for options', function() {
531
+ let criteria = {};
532
+ launder.addBooleanFilterToCriteria(true, name, criteria);
533
+ assert(criteria[name] === true);
534
+ criteria = {};
535
+ launder.addBooleanFilterToCriteria(false, name, criteria);
536
+ assert(criteria[name].$ne === true);
537
+ });
538
+ it('should treat empty string as false', function() {
539
+ const criteria = {};
540
+ launder.addBooleanFilterToCriteria('', name, criteria);
541
+ assert(criteria[name].$ne === true);
542
+ });
543
+ it('should treat empty string in an object as false', function() {
544
+ const criteria = {};
545
+ launder.addBooleanFilterToCriteria(optionsEmpty, name, criteria);
546
+ assert(criteria[name].$ne === true);
547
+ });
548
+ it('should take a default if `options` or `options[name]` is undefined', function() {
549
+ const criteria = {};
550
+ launder.addBooleanFilterToCriteria({}, name, criteria, false);
551
+ assert(criteria[name].$ne === true);
552
+ });
553
+ });
554
+
555
+ describe('date', function() {
556
+ it('should do nothing to a good date', function() {
557
+ assert(launder.date('2015-02-19') === '2015-02-19');
558
+ });
559
+ it('should convert dates in MM/DD/YYYY format', function() {
560
+ assert(launder.date('2/19/2015') === '2015-02-19');
561
+ });
562
+ it('should convert dates in MM/DD/YY format to the past century when that is closest', function() {
563
+ assert(launder.date('2/19/99', new Date(2015, 1, 1)) === '1999-02-19');
564
+ });
565
+ it('should convert dates in MM/DD/YY format to the current century when that is closest', function() {
566
+ assert(launder.date('2/19/15') === '2015-02-19');
567
+ });
568
+ it('should use the current year if in MM/DD format', function() {
569
+ const year = dayjs().format('YYYY');
570
+ assert(launder.date('2/19') === year + '-02-19');
571
+ });
572
+ it('should accept a date object', function() {
573
+ assert(launder.date(new Date(2015, 1, 19)) === '2015-02-19');
574
+ });
575
+ it('should return current date if the date is not parsable', function() {
576
+ assert(launder.date('waffles') === dayjs().format('YYYY-MM-DD'));
577
+ });
578
+ it('should return default if the date is not parsable', function() {
579
+ assert(launder.date('waffles', '1989-12-13') === '1989-12-13');
580
+ });
581
+ it('should return null if the input and default are both explicitly null', function() {
582
+ assert.strictEqual(launder.date(null, null), null);
583
+ });
584
+ it('should return null if the date is undefined and the default is null', function() {
585
+ assert(launder.date(undefined, null) === null);
586
+ });
587
+ it('should return today\'s date if the date is undefined and there is no default', function() {
588
+ const today = new Date().toISOString().slice(0, 10);
589
+ assert.strictEqual(launder.date(null), today);
590
+ });
591
+ });
592
+
593
+ describe('formatDate', function() {
594
+ it('should accept a date object', function() {
595
+ assert(launder.formatDate(new Date(2015, 1, 19, 11, 22, 33)) === '2015-02-19');
596
+ });
597
+ it('should default to current date', function() {
598
+ assert(launder.formatDate() === dayjs().format('YYYY-MM-DD'));
599
+ });
600
+ });
601
+
602
+ describe('time', function() {
603
+ it('should show me a good time', function() {
604
+ assert(launder.time('12:34:56') === '12:34:56');
605
+ });
606
+ it('should show me a good, quick time', function() {
607
+ assert(launder.time('12:34') === '12:34:00');
608
+ });
609
+ it('should show me a really quick good time', function() {
610
+ assert(launder.time('12') === '12:00:00');
611
+ });
612
+ it('should convert 12h to 24h', function() {
613
+ assert(launder.time('4:30pm') === '16:30:00');
614
+ });
615
+ it('should not require the m in pm', function() {
616
+ assert(launder.time('4:30p') === '16:30:00');
617
+ });
618
+ it('should handle lower or uppercase meridiems', function() {
619
+ assert(launder.time('4:30pm') === '16:30:00');
620
+ assert(launder.time('4:30PM') === '16:30:00');
621
+ });
622
+ it('should accept dot as time separator', function() {
623
+ assert(launder.time('4.30pm') === '16:30:00');
624
+ assert(launder.time('4.30PM') === '16:30:00');
625
+ });
626
+ it('should accept dot and colon mixed as time separator', function() {
627
+ assert(launder.time('3.52:05pm') === '15:52:05');
628
+ assert(launder.time('4:32.23a') === '04:32:23');
629
+ });
630
+ it('should accept not accept any time separator', function() {
631
+ assert(launder.time('3q52b05pm') !== '15:52:05');
632
+ assert(launder.time('4 32 23a') !== '04:32:23');
633
+ assert(launder.time('12Qpm') !== '12:00:00');
634
+ });
635
+ it('should handle no minutes', function() {
636
+ assert(launder.time('4 PM') === '16:00:00');
637
+ });
638
+ it('should default to the current time', function() {
639
+ assert(launder.time() === dayjs().format('HH:mm'));
640
+ });
641
+ it('should accept a default', function() {
642
+ assert(launder.time(null, '12:00:00') === '12:00:00');
643
+ });
644
+ });
645
+
646
+ describe('formatTime', function() {
647
+ it('should accept a date object', function() {
648
+ assert(launder.formatTime(new Date(2015, 1, 19, 11, 22, 33)) === '11:22:33');
649
+ });
650
+ it('should default to current time', function() {
651
+ assert(launder.formatTime() === dayjs().format('HH:mm:ss'));
652
+ });
653
+ });
654
+
655
+ describe('tags', function() {
656
+ const goodTags = [ 'one', 'two', 'three' ];
657
+ const spaceyTags = [ ' One', 'TWO', ' three ' ];
658
+ const numberTags = [ 12, 34 ];
659
+ const troubleTags = [ 'one', 2, { an: 'object' }, null, 'three' ];
660
+
661
+ it('should do nothing to a good array of tags', function() {
662
+ const t = launder.tags(goodTags);
663
+ assert(t.length === 3);
664
+ assert(t[0] === 'one');
665
+ assert(t[1] === 'two');
666
+ assert(t[2] === 'three');
667
+ });
668
+ it('should apply default filterTag function', function() {
669
+ const t = launder.tags(spaceyTags);
670
+ assert(t.length === 3);
671
+ assert(t[0] === 'one');
672
+ assert(t[1] === 'two');
673
+ assert(t[2] === 'three');
674
+ });
675
+ it('should return an empty array if you pass in something that is not an array', function() {
676
+ const t = launder.tags({
677
+ an: 'object',
678
+ is: 'not',
679
+ typeof: 'array'
680
+ });
681
+ assert(Array.isArray(t));
682
+ assert(t.length === 0);
683
+ });
684
+ it('should convert numbers to strings in tags', function() {
685
+ const t = launder.tags(numberTags);
686
+ assert(t.length === 2);
687
+ assert(t[0] === '12');
688
+ assert(t[1] === '34');
689
+ });
690
+ it('should remove things that are not strings or numbers', function() {
691
+ const t = launder.tags(troubleTags);
692
+ assert(t.length === 3);
693
+ assert(t[0] === 'one');
694
+ assert(t[1] === '2');
695
+ assert(t[2] === 'three');
696
+ });
697
+ it('should take a filter function', function() {
698
+ const t = launder.tags(numberTags, function(tag) {
699
+ return tag + '0';
700
+ });
701
+ assert(t.length === 2);
702
+ assert(t[0] === '120');
703
+ assert(t[1] === '340');
704
+ });
705
+ it('should allow a different filter function to be set during initiation', function() {
706
+ const launder = require('../index.js')({
707
+ filterTag: function(tag) {
708
+ return tag + '0';
709
+ }
710
+ });
711
+ const t = launder.tags(numberTags);
712
+ assert(t.length === 2);
713
+ assert(t[0] === '120');
714
+ assert(t[1] === '340');
715
+ });
716
+ it('should remove empty tags', function() {
717
+ const t = launder.tags([ '1', '2', '' ]);
718
+ assert(t.length === 2);
719
+ assert(t[0] === '1');
720
+ assert(t[1] === '2');
721
+ });
722
+ });
723
+
724
+ describe('id', function() {
725
+ it('should do nothing to a good id', function() {
726
+ assert(launder.id('aBcD_1234') === 'aBcD_1234');
727
+ });
728
+ it('should return undefined if not valid', function() {
729
+ assert(launder.id('@#%!#%') === undefined);
730
+ assert(launder.id('abc 123') === undefined);
731
+ });
732
+ it('should return default if not valid', function() {
733
+ assert(launder.id('@#%!#%', '1234') === '1234');
734
+ });
735
+ });
736
+
737
+ describe('ids', function() {
738
+ const goodIds = [ '1001', '1002', '1003' ];
739
+ const troubleIds = [ '1001', '1002', { an: 'object' }, null, '1003', '1004-en' ];
740
+ it('should do nothing with a good array of ids', function() {
741
+ const i = launder.ids(goodIds);
742
+ assert(i.length === 3);
743
+ assert(i[0] === '1001');
744
+ assert(i[1] === '1002');
745
+ assert(i[2] === '1003');
746
+ });
747
+ it('should return an empty array if you pass in something that is not an array', function() {
748
+ const i = launder.ids({
749
+ an: 'object',
750
+ is: 'not',
751
+ typeof: 'array'
752
+ });
753
+ assert(Array.isArray(i));
754
+ assert(i.length === 0);
755
+ });
756
+ it('should remove items that are not valid ids', function() {
757
+ const i = launder.ids(troubleIds);
758
+ assert(i.length === 3);
759
+ assert(i[0] === '1001');
760
+ assert(i[1] === '1002');
761
+ assert(i[2] === '1003');
762
+ });
763
+ it('should honor the idRegExp option', function() {
764
+ const launder = require('../index.js')({ idRegExp: /^[A-Za-z0-9_-]+$/ });
765
+ const testIds = [ '1001', '1002', { an: 'object' }, null, '1003', '1004-en' ];
766
+ const i = launder.ids(testIds);
767
+ assert.strictEqual(i.length, 4);
768
+ assert(i[0] === '1001');
769
+ assert(i[1] === '1002');
770
+ assert(i[2] === '1003');
771
+ assert(i[3] === '1004-en');
772
+ });
773
+ });
774
+
775
+ });