@adviser/cement 0.4.6 → 0.4.8

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 (505) hide show
  1. package/base-basic-sys-abstraction.test.d.ts +2 -0
  2. package/base-basic-sys-abstraction.test.d.ts.map +1 -0
  3. package/base-basic-sys-abstraction.test.js +88 -0
  4. package/base-basic-sys-abstraction.test.js.map +1 -0
  5. package/{base-sys-abstraction-h0dB3nZ5.d.ts → base-sys-abstraction.d.ts} +23 -22
  6. package/base-sys-abstraction.d.ts.map +1 -0
  7. package/base-sys-abstraction.js +193 -0
  8. package/base-sys-abstraction.js.map +1 -0
  9. package/bin2text.d.ts +3 -0
  10. package/bin2text.d.ts.map +1 -0
  11. package/bin2text.js +43 -0
  12. package/bin2text.js.map +1 -0
  13. package/bin2text.test.d.ts +2 -0
  14. package/bin2text.test.d.ts.map +1 -0
  15. package/bin2text.test.js +51 -0
  16. package/bin2text.test.js.map +1 -0
  17. package/cf/cf-basic-sys-abstraction.d.ts +14 -0
  18. package/cf/cf-basic-sys-abstraction.d.ts.map +1 -0
  19. package/cf/cf-basic-sys-abstraction.js +67 -0
  20. package/cf/cf-basic-sys-abstraction.js.map +1 -0
  21. package/cf/cf-env-actions.d.ts +16 -0
  22. package/cf/cf-env-actions.d.ts.map +1 -0
  23. package/cf/cf-env-actions.js +53 -0
  24. package/cf/cf-env-actions.js.map +1 -0
  25. package/cf/index.d.ts +3 -30
  26. package/cf/index.d.ts.map +1 -0
  27. package/cf/index.js +2 -11
  28. package/cf/index.js.map +1 -1
  29. package/cf-test-main.d.ts +5 -0
  30. package/cf-test-main.d.ts.map +1 -0
  31. package/cf-test-main.js +12 -0
  32. package/cf-test-main.js.map +1 -0
  33. package/coerce-binary.d.ts +6 -0
  34. package/coerce-binary.d.ts.map +1 -0
  35. package/coerce-binary.js +32 -0
  36. package/coerce-binary.js.map +1 -0
  37. package/coerce-binary.test.d.ts +2 -0
  38. package/coerce-binary.test.d.ts.map +1 -0
  39. package/coerce-binary.test.js +39 -0
  40. package/coerce-binary.test.js.map +1 -0
  41. package/crypto.d.ts +76 -0
  42. package/crypto.d.ts.map +1 -0
  43. package/crypto.js +22 -0
  44. package/crypto.js.map +1 -0
  45. package/crypto.test.d.ts +2 -0
  46. package/crypto.test.d.ts.map +1 -0
  47. package/crypto.test.js +21 -0
  48. package/crypto.test.js.map +1 -0
  49. package/deno/deno-basic-sys-abstraction.d.ts +14 -0
  50. package/deno/deno-basic-sys-abstraction.d.ts.map +1 -0
  51. package/deno/deno-basic-sys-abstraction.js +35 -0
  52. package/deno/deno-basic-sys-abstraction.js.map +1 -0
  53. package/deno/deno-env-actions.d.ts +23 -0
  54. package/deno/deno-env-actions.d.ts.map +1 -0
  55. package/deno/deno-env-actions.js +40 -0
  56. package/deno/deno-env-actions.js.map +1 -0
  57. package/deno/deno-file-service.d.ts +17 -0
  58. package/deno/deno-file-service.d.ts.map +1 -0
  59. package/deno/deno-file-service.js +67 -0
  60. package/deno/deno-file-service.js.map +1 -0
  61. package/deno/deno-sys-abstraction.d.ts +19 -0
  62. package/deno/deno-sys-abstraction.d.ts.map +1 -0
  63. package/deno/deno-sys-abstraction.js +96 -0
  64. package/deno/deno-sys-abstraction.js.map +1 -0
  65. package/deno/index.d.ts +3 -37
  66. package/deno/index.d.ts.map +1 -0
  67. package/deno/index.js +2 -179
  68. package/deno/index.js.map +1 -1
  69. package/file-service.d.ts +17 -0
  70. package/file-service.d.ts.map +1 -0
  71. package/file-service.js +2 -0
  72. package/file-service.js.map +1 -0
  73. package/future.d.ts +8 -0
  74. package/future.d.ts.map +1 -0
  75. package/future.js +25 -0
  76. package/future.js.map +1 -0
  77. package/future.test.d.ts +2 -0
  78. package/future.test.d.ts.map +1 -0
  79. package/future.test.js +32 -0
  80. package/future.test.js.map +1 -0
  81. package/http_header.d.ts +29 -0
  82. package/http_header.d.ts.map +1 -0
  83. package/http_header.js +157 -0
  84. package/http_header.js.map +1 -0
  85. package/http_header.test.d.ts +2 -0
  86. package/http_header.test.d.ts.map +1 -0
  87. package/http_header.test.js +96 -0
  88. package/http_header.test.js.map +1 -0
  89. package/index.d.ts +29 -396
  90. package/index.d.ts.map +1 -0
  91. package/index.js +28 -609
  92. package/index.js.map +1 -1
  93. package/is-promise.d.ts +4 -0
  94. package/is-promise.d.ts.map +1 -0
  95. package/is-promise.js +10 -0
  96. package/is-promise.js.map +1 -0
  97. package/is-promise.test.d.ts +2 -0
  98. package/is-promise.test.d.ts.map +1 -0
  99. package/is-promise.test.js +48 -0
  100. package/is-promise.test.js.map +1 -0
  101. package/json-en-decoder.d.ts +12 -0
  102. package/json-en-decoder.d.ts.map +1 -0
  103. package/json-en-decoder.js +42 -0
  104. package/json-en-decoder.js.map +1 -0
  105. package/json-en-decoder.test.d.ts +2 -0
  106. package/json-en-decoder.test.d.ts.map +1 -0
  107. package/json-en-decoder.test.js +18 -0
  108. package/json-en-decoder.test.js.map +1 -0
  109. package/log-level-impl.d.ts +17 -0
  110. package/log-level-impl.d.ts.map +1 -0
  111. package/log-level-impl.js +75 -0
  112. package/log-level-impl.js.map +1 -0
  113. package/log-writer-impl.d.ts +11 -0
  114. package/log-writer-impl.d.ts.map +1 -0
  115. package/log-writer-impl.js +52 -0
  116. package/log-writer-impl.js.map +1 -0
  117. package/logger-impl.d.ts +75 -0
  118. package/logger-impl.d.ts.map +1 -0
  119. package/logger-impl.js +505 -0
  120. package/logger-impl.js.map +1 -0
  121. package/logger.d.ts +97 -0
  122. package/logger.d.ts.map +1 -0
  123. package/logger.js +150 -0
  124. package/logger.js.map +1 -0
  125. package/logger.test.d.ts +2 -0
  126. package/logger.test.d.ts.map +1 -0
  127. package/logger.test.js +1577 -0
  128. package/logger.test.js.map +1 -0
  129. package/lru-map-set.d.ts +33 -0
  130. package/lru-map-set.d.ts.map +1 -0
  131. package/lru-map-set.js +116 -0
  132. package/lru-map-set.js.map +1 -0
  133. package/lru-map-set.test.d.ts +2 -0
  134. package/lru-map-set.test.d.ts.map +1 -0
  135. package/lru-map-set.test.js +81 -0
  136. package/lru-map-set.test.js.map +1 -0
  137. package/node/index.d.ts +4 -45
  138. package/node/index.d.ts.map +1 -0
  139. package/node/index.js +3 -222
  140. package/node/index.js.map +1 -1
  141. package/node/mock-file-service.d.ts +11 -0
  142. package/node/mock-file-service.d.ts.map +1 -0
  143. package/node/mock-file-service.js +31 -0
  144. package/node/mock-file-service.js.map +1 -0
  145. package/node/mock-file-service.test.d.ts +2 -0
  146. package/node/mock-file-service.test.d.ts.map +1 -0
  147. package/node/mock-file-service.test.js +31 -0
  148. package/node/mock-file-service.test.js.map +1 -0
  149. package/node/node-basic-sys-abstraction.d.ts +25 -0
  150. package/node/node-basic-sys-abstraction.d.ts.map +1 -0
  151. package/node/node-basic-sys-abstraction.js +45 -0
  152. package/node/node-basic-sys-abstraction.js.map +1 -0
  153. package/node/node-env-actions.d.ts +15 -0
  154. package/node/node-env-actions.d.ts.map +1 -0
  155. package/node/node-env-actions.js +38 -0
  156. package/node/node-env-actions.js.map +1 -0
  157. package/node/node-file-service.d.ts +16 -0
  158. package/node/node-file-service.d.ts.map +1 -0
  159. package/node/node-file-service.js +72 -0
  160. package/node/node-file-service.js.map +1 -0
  161. package/node/node-sys-abstraction.d.ts +19 -0
  162. package/node/node-sys-abstraction.d.ts.map +1 -0
  163. package/node/node-sys-abstraction.js +95 -0
  164. package/node/node-sys-abstraction.js.map +1 -0
  165. package/node/node-sys-abstraction.test.d.ts +2 -0
  166. package/node/node-sys-abstraction.test.d.ts.map +1 -0
  167. package/node/node-sys-abstraction.test.js +83 -0
  168. package/node/node-sys-abstraction.test.js.map +1 -0
  169. package/option.d.ts +26 -0
  170. package/option.d.ts.map +1 -0
  171. package/option.js +54 -0
  172. package/option.js.map +1 -0
  173. package/package.json +4 -10
  174. package/path-ops.d.ts +7 -0
  175. package/path-ops.d.ts.map +1 -0
  176. package/path-ops.js +35 -0
  177. package/path-ops.js.map +1 -0
  178. package/path-ops.test.d.ts +2 -0
  179. package/path-ops.test.d.ts.map +1 -0
  180. package/path-ops.test.js +39 -0
  181. package/path-ops.test.js.map +1 -0
  182. package/resolve-once.d.ts +59 -0
  183. package/resolve-once.d.ts.map +1 -0
  184. package/resolve-once.js +212 -0
  185. package/resolve-once.js.map +1 -0
  186. package/resolve-once.test.d.ts +2 -0
  187. package/resolve-once.test.d.ts.map +1 -0
  188. package/resolve-once.test.js +392 -0
  189. package/resolve-once.test.js.map +1 -0
  190. package/result.d.ts +34 -0
  191. package/result.d.ts.map +1 -0
  192. package/result.js +94 -0
  193. package/result.js.map +1 -0
  194. package/result.test.d.ts +2 -0
  195. package/result.test.d.ts.map +1 -0
  196. package/result.test.js +83 -0
  197. package/result.test.js.map +1 -0
  198. package/runtime.d.ts +9 -0
  199. package/runtime.d.ts.map +1 -0
  200. package/runtime.js +33 -0
  201. package/runtime.js.map +1 -0
  202. package/src/jsr.json +1 -1
  203. package/src/uri.ts +66 -37
  204. package/sys-abstraction.d.ts +43 -0
  205. package/sys-abstraction.d.ts.map +1 -0
  206. package/sys-abstraction.js +28 -0
  207. package/sys-abstraction.js.map +1 -0
  208. package/sys-env.d.ts +46 -0
  209. package/sys-env.d.ts.map +1 -0
  210. package/sys-env.js +161 -0
  211. package/sys-env.js.map +1 -0
  212. package/sys-env.test.d.ts +2 -0
  213. package/sys-env.test.d.ts.map +1 -0
  214. package/sys-env.test.js +170 -0
  215. package/sys-env.test.js.map +1 -0
  216. package/test/index.d.ts +3 -4
  217. package/test/index.d.ts.map +1 -0
  218. package/test/index.js +2 -13
  219. package/test/index.js.map +1 -1
  220. package/test/log-write-stream.d.ts +27 -0
  221. package/test/log-write-stream.d.ts.map +1 -0
  222. package/test/log-write-stream.js +78 -0
  223. package/test/log-write-stream.js.map +1 -0
  224. package/test/mock-logger.d.ts +14 -0
  225. package/test/mock-logger.d.ts.map +1 -0
  226. package/test/mock-logger.js +29 -0
  227. package/test/mock-logger.js.map +1 -0
  228. package/test/mock-logger.test.d.ts +2 -0
  229. package/test/mock-logger.test.d.ts.map +1 -0
  230. package/test/mock-logger.test.js +63 -0
  231. package/test/mock-logger.test.js.map +1 -0
  232. package/test/test-exit-handler.d.ts +2 -0
  233. package/test/test-exit-handler.d.ts.map +1 -0
  234. package/test/test-exit-handler.js +61 -0
  235. package/test/test-exit-handler.js.map +1 -0
  236. package/time.d.ts +14 -0
  237. package/time.d.ts.map +1 -0
  238. package/time.js +13 -0
  239. package/time.js.map +1 -0
  240. package/tracer.d.ts +59 -0
  241. package/tracer.d.ts.map +1 -0
  242. package/tracer.js +174 -0
  243. package/tracer.js.map +1 -0
  244. package/tracer.test.d.ts +2 -0
  245. package/tracer.test.d.ts.map +1 -0
  246. package/tracer.test.js +304 -0
  247. package/tracer.test.js.map +1 -0
  248. package/ts/smoke/smoke.js +1 -1
  249. package/ts/smoke/smoke.js.map +1 -1
  250. package/ts/src/base-sys-abstraction.js +20 -8
  251. package/ts/src/base-sys-abstraction.js.map +1 -1
  252. package/ts/src/cf/cf-basic-sys-abstraction.js +3 -3
  253. package/ts/src/cf/cf-basic-sys-abstraction.js.map +1 -1
  254. package/ts/src/cf/cf-env-actions.js +3 -1
  255. package/ts/src/cf/cf-env-actions.js.map +1 -1
  256. package/ts/src/coerce-binary.js +1 -1
  257. package/ts/src/coerce-binary.js.map +1 -1
  258. package/ts/src/deno/deno-basic-sys-abstraction.js +3 -3
  259. package/ts/src/deno/deno-basic-sys-abstraction.js.map +1 -1
  260. package/ts/src/deno/deno-env-actions.js +3 -9
  261. package/ts/src/deno/deno-env-actions.js.map +1 -1
  262. package/ts/src/deno/deno-file-service.js +2 -0
  263. package/ts/src/deno/deno-file-service.js.map +1 -1
  264. package/ts/src/deno/deno-sys-abstraction.js +21 -21
  265. package/ts/src/deno/deno-sys-abstraction.js.map +1 -1
  266. package/ts/src/future.js +13 -26
  267. package/ts/src/future.js.map +1 -1
  268. package/ts/src/http_header.js +2 -3
  269. package/ts/src/http_header.js.map +1 -1
  270. package/ts/src/json-en-decoder.js +3 -2
  271. package/ts/src/json-en-decoder.js.map +1 -1
  272. package/ts/src/log-level-impl.js +4 -6
  273. package/ts/src/log-level-impl.js.map +1 -1
  274. package/ts/src/log-writer-impl.js +9 -5
  275. package/ts/src/log-writer-impl.js.map +1 -1
  276. package/ts/src/logger-impl.js +15 -5
  277. package/ts/src/logger-impl.js.map +1 -1
  278. package/ts/src/logger.js +3 -3
  279. package/ts/src/logger.js.map +1 -1
  280. package/ts/src/logger.test.js +7 -19
  281. package/ts/src/logger.test.js.map +1 -1
  282. package/ts/src/lru-map-set.js +3 -1
  283. package/ts/src/lru-map-set.js.map +1 -1
  284. package/ts/src/node/mock-file-service.js +1 -4
  285. package/ts/src/node/mock-file-service.js.map +1 -1
  286. package/ts/src/node/node-basic-sys-abstraction.js +4 -3
  287. package/ts/src/node/node-basic-sys-abstraction.js.map +1 -1
  288. package/ts/src/node/node-env-actions.js +3 -9
  289. package/ts/src/node/node-env-actions.js.map +1 -1
  290. package/ts/src/node/node-file-service.js +1 -0
  291. package/ts/src/node/node-file-service.js.map +1 -1
  292. package/ts/src/node/node-sys-abstraction.js +21 -21
  293. package/ts/src/node/node-sys-abstraction.js.map +1 -1
  294. package/ts/src/option.js +1 -0
  295. package/ts/src/option.js.map +1 -1
  296. package/ts/src/path-ops.js +21 -30
  297. package/ts/src/path-ops.js.map +1 -1
  298. package/ts/src/resolve-once.js +17 -13
  299. package/ts/src/resolve-once.js.map +1 -1
  300. package/ts/src/result.js +2 -0
  301. package/ts/src/result.js.map +1 -1
  302. package/ts/src/sys-abstraction.js +1 -1
  303. package/ts/src/sys-abstraction.js.map +1 -1
  304. package/ts/src/sys-env.js +2 -1
  305. package/ts/src/sys-env.js.map +1 -1
  306. package/ts/src/sys-env.test.js +6 -19
  307. package/ts/src/sys-env.test.js.map +1 -1
  308. package/ts/src/test/log-write-stream.js +10 -6
  309. package/ts/src/test/log-write-stream.js.map +1 -1
  310. package/ts/src/test/mock-logger.js +6 -6
  311. package/ts/src/test/mock-logger.js.map +1 -1
  312. package/ts/src/test/test-exit-handler.js +1 -2
  313. package/ts/src/test/test-exit-handler.js.map +1 -1
  314. package/ts/src/tracer.js +10 -3
  315. package/ts/src/tracer.js.map +1 -1
  316. package/ts/src/tracer.test.js +5 -9
  317. package/ts/src/tracer.test.js.map +1 -1
  318. package/ts/src/txt-en-decoder.js +2 -4
  319. package/ts/src/txt-en-decoder.js.map +1 -1
  320. package/ts/src/types.js +2 -6
  321. package/ts/src/types.js.map +1 -1
  322. package/ts/src/uri.d.ts +5 -0
  323. package/ts/src/uri.d.ts.map +1 -1
  324. package/ts/src/uri.js +57 -34
  325. package/ts/src/uri.js.map +1 -1
  326. package/ts/src/uri.test.js +47 -0
  327. package/ts/src/uri.test.js.map +1 -1
  328. package/ts/src/utils/console-write-stream.js +8 -5
  329. package/ts/src/utils/console-write-stream.js.map +1 -1
  330. package/ts/src/utils/fanout-write-stream.js +4 -1
  331. package/ts/src/utils/fanout-write-stream.js.map +1 -1
  332. package/ts/src/utils/rebuffer.test.js +1 -1
  333. package/ts/src/utils/rebuffer.test.js.map +1 -1
  334. package/ts/src/utils/relative-path.js +1 -0
  335. package/ts/src/utils/relative-path.js.map +1 -1
  336. package/ts/src/utils/stream-map.test.js +1 -1
  337. package/ts/src/utils/stream-map.test.js.map +1 -1
  338. package/ts/src/web/web-basic-sys-abstraction.js +3 -3
  339. package/ts/src/web/web-basic-sys-abstraction.js.map +1 -1
  340. package/ts/src/web/web-env-actions.js +2 -1
  341. package/ts/src/web/web-env-actions.js.map +1 -1
  342. package/txt-en-decoder.d.ts +11 -0
  343. package/txt-en-decoder.d.ts.map +1 -0
  344. package/txt-en-decoder.js +37 -0
  345. package/txt-en-decoder.js.map +1 -0
  346. package/txt-en-decoder.test.d.ts +2 -0
  347. package/txt-en-decoder.test.d.ts.map +1 -0
  348. package/txt-en-decoder.test.js +48 -0
  349. package/txt-en-decoder.test.js.map +1 -0
  350. package/types.d.ts +16 -0
  351. package/types.d.ts.map +1 -0
  352. package/types.js +11 -0
  353. package/types.js.map +1 -0
  354. package/uri.d.ts +137 -0
  355. package/uri.d.ts.map +1 -0
  356. package/uri.js +567 -0
  357. package/uri.js.map +1 -0
  358. package/uri.test.d.ts +2 -0
  359. package/uri.test.d.ts.map +1 -0
  360. package/uri.test.js +633 -0
  361. package/uri.test.js.map +1 -0
  362. package/utils/coerce-uint8.d.ts +8 -0
  363. package/utils/coerce-uint8.d.ts.map +1 -0
  364. package/utils/coerce-uint8.js +34 -0
  365. package/utils/coerce-uint8.js.map +1 -0
  366. package/utils/console-write-stream.d.ts +21 -0
  367. package/utils/console-write-stream.d.ts.map +1 -0
  368. package/utils/console-write-stream.js +66 -0
  369. package/utils/console-write-stream.js.map +1 -0
  370. package/utils/fanout-write-stream.d.ts +12 -0
  371. package/utils/fanout-write-stream.d.ts.map +1 -0
  372. package/utils/fanout-write-stream.js +27 -0
  373. package/utils/fanout-write-stream.js.map +1 -0
  374. package/utils/get-params-result.d.ts +8 -0
  375. package/utils/get-params-result.d.ts.map +1 -0
  376. package/utils/get-params-result.js +45 -0
  377. package/utils/get-params-result.js.map +1 -0
  378. package/utils/index.d.ts +12 -3
  379. package/utils/index.d.ts.map +1 -0
  380. package/utils/index.js +11 -50
  381. package/utils/index.js.map +1 -1
  382. package/utils/rebuffer.d.ts +3 -0
  383. package/utils/rebuffer.d.ts.map +1 -0
  384. package/utils/rebuffer.js +66 -0
  385. package/utils/rebuffer.js.map +1 -0
  386. package/utils/rebuffer.test.d.ts +2 -0
  387. package/utils/rebuffer.test.d.ts.map +1 -0
  388. package/utils/rebuffer.test.js +77 -0
  389. package/utils/rebuffer.test.js.map +1 -0
  390. package/utils/relative-path.d.ts +18 -0
  391. package/utils/relative-path.d.ts.map +1 -0
  392. package/utils/relative-path.js +148 -0
  393. package/utils/relative-path.js.map +1 -0
  394. package/utils/relative-path.test.d.ts +2 -0
  395. package/utils/relative-path.test.d.ts.map +1 -0
  396. package/utils/relative-path.test.js +187 -0
  397. package/utils/relative-path.test.js.map +1 -0
  398. package/utils/sorted-objec.test.d.ts +2 -0
  399. package/utils/sorted-objec.test.d.ts.map +1 -0
  400. package/utils/sorted-objec.test.js +20 -0
  401. package/utils/sorted-objec.test.js.map +1 -0
  402. package/utils/sorted-object.d.ts +4 -0
  403. package/utils/sorted-object.d.ts.map +1 -0
  404. package/utils/sorted-object.js +16 -0
  405. package/utils/sorted-object.js.map +1 -0
  406. package/utils/stream-map.d.ts +9 -0
  407. package/utils/stream-map.d.ts.map +1 -0
  408. package/utils/stream-map.js +63 -0
  409. package/utils/stream-map.js.map +1 -0
  410. package/utils/stream-map.test.d.ts +2 -0
  411. package/utils/stream-map.test.d.ts.map +1 -0
  412. package/utils/stream-map.test.js +87 -0
  413. package/utils/stream-map.test.js.map +1 -0
  414. package/utils/stream-test-helper.d.ts +17 -0
  415. package/utils/stream-test-helper.d.ts.map +1 -0
  416. package/utils/stream-test-helper.js +45 -0
  417. package/utils/stream-test-helper.js.map +1 -0
  418. package/utils/stream2string.d.ts +3 -0
  419. package/utils/stream2string.d.ts.map +1 -0
  420. package/utils/stream2string.js +48 -0
  421. package/utils/stream2string.js.map +1 -0
  422. package/utils/stream2string.test.d.ts +2 -0
  423. package/utils/stream2string.test.d.ts.map +1 -0
  424. package/utils/stream2string.test.js +29 -0
  425. package/utils/stream2string.test.js.map +1 -0
  426. package/utils/string2stream.d.ts +4 -0
  427. package/utils/string2stream.d.ts.map +1 -0
  428. package/utils/string2stream.js +13 -0
  429. package/utils/string2stream.js.map +1 -0
  430. package/utils/string2stream.test.d.ts +2 -0
  431. package/utils/string2stream.test.d.ts.map +1 -0
  432. package/utils/string2stream.test.js +6 -0
  433. package/utils/string2stream.test.js.map +1 -0
  434. package/utils/stripper.d.ts +3 -0
  435. package/utils/stripper.d.ts.map +1 -0
  436. package/utils/stripper.js +59 -0
  437. package/utils/stripper.js.map +1 -0
  438. package/utils/stripper.test.d.ts +2 -0
  439. package/utils/stripper.test.d.ts.map +1 -0
  440. package/utils/stripper.test.js +128 -0
  441. package/utils/stripper.test.js.map +1 -0
  442. package/utils/uint8array-equal.d.ts +2 -0
  443. package/utils/uint8array-equal.d.ts.map +1 -0
  444. package/utils/uint8array-equal.js +12 -0
  445. package/utils/uint8array-equal.js.map +1 -0
  446. package/version.d.ts +2 -0
  447. package/version.d.ts.map +1 -0
  448. package/version.js +4 -0
  449. package/version.js.map +1 -0
  450. package/web/index.d.ts +2 -7
  451. package/web/index.d.ts.map +1 -0
  452. package/web/index.js +1 -7
  453. package/web/index.js.map +1 -1
  454. package/web/web-basic-sys-abstraction.d.ts +4 -0
  455. package/web/web-basic-sys-abstraction.d.ts.map +1 -0
  456. package/web/web-basic-sys-abstraction.js +45 -0
  457. package/web/web-basic-sys-abstraction.js.map +1 -0
  458. package/web/web-env-actions.d.ts +14 -0
  459. package/web/web-env-actions.d.ts.map +1 -0
  460. package/web/web-env-actions.js +36 -0
  461. package/web/web-env-actions.js.map +1 -0
  462. package/base-sys-abstraction-DgTynXGV.d.cts +0 -95
  463. package/cf/index.cjs +0 -1110
  464. package/cf/index.cjs.map +0 -1
  465. package/cf/index.d.cts +0 -30
  466. package/chunk-FOALXQST.js +0 -89
  467. package/chunk-FOALXQST.js.map +0 -1
  468. package/chunk-FURW5CDL.js +0 -792
  469. package/chunk-FURW5CDL.js.map +0 -1
  470. package/chunk-NJMNJYN2.js +0 -270
  471. package/chunk-NJMNJYN2.js.map +0 -1
  472. package/chunk-NTOGMD33.js +0 -684
  473. package/chunk-NTOGMD33.js.map +0 -1
  474. package/chunk-O3CWMM7E.js +0 -1678
  475. package/chunk-O3CWMM7E.js.map +0 -1
  476. package/deno/index.cjs +0 -1280
  477. package/deno/index.cjs.map +0 -1
  478. package/deno/index.d.cts +0 -37
  479. package/get-params-result-4xHM5s4_.d.cts +0 -71
  480. package/get-params-result-4xHM5s4_.d.ts +0 -71
  481. package/index-CMLb7JSe.d.ts +0 -97
  482. package/index-DL2hPDP5.d.cts +0 -296
  483. package/index-DTF3tq6t.d.ts +0 -296
  484. package/index-LQOsS7gM.d.cts +0 -97
  485. package/index.cjs +0 -4006
  486. package/index.cjs.map +0 -1
  487. package/index.d.cts +0 -396
  488. package/metafile-cjs.json +0 -1
  489. package/metafile-esm.json +0 -1
  490. package/node/index.cjs +0 -1335
  491. package/node/index.cjs.map +0 -1
  492. package/node/index.d.cts +0 -45
  493. package/stripper-BpBUUZ9p.d.cts +0 -4
  494. package/stripper-BpBUUZ9p.d.ts +0 -4
  495. package/sys-abstraction-CeAxxg9H.d.ts +0 -117
  496. package/sys-abstraction-DDAwGTnk.d.cts +0 -117
  497. package/test/index.cjs +0 -2991
  498. package/test/index.cjs.map +0 -1
  499. package/test/index.d.cts +0 -4
  500. package/utils/index.cjs +0 -778
  501. package/utils/index.cjs.map +0 -1
  502. package/utils/index.d.cts +0 -3
  503. package/web/index.cjs +0 -1153
  504. package/web/index.cjs.map +0 -1
  505. package/web/index.d.cts +0 -7
package/uri.test.js ADDED
@@ -0,0 +1,633 @@
1
+ import { BuildURI, MutableURL, URI, isCoerceURI, param } from "@adviser/cement";
2
+ describe("BuildURI", () => {
3
+ let uri;
4
+ beforeEach(() => {
5
+ uri = BuildURI.from(new MutableURL("http://example.com"));
6
+ uri.hostname("example");
7
+ uri.setParam("key", "value");
8
+ });
9
+ it("toString", () => {
10
+ expect(uri.toString()).toBe("http://example/?key=value");
11
+ });
12
+ it("build", () => {
13
+ expect(uri.URI().toString()).toBe("http://example/?key=value");
14
+ });
15
+ it("defParam", () => {
16
+ uri.defParam("key", "value2");
17
+ uri.defParam("key2", "value2");
18
+ expect(uri.toString()).toBe("http://example/?key=value&key2=value2");
19
+ });
20
+ it("searchParams sorted in toString", () => {
21
+ uri.setParam("z", "value");
22
+ uri.setParam("a", "value");
23
+ uri.setParam("m", "value");
24
+ expect(uri.toString()).toBe("http://example/?a=value&key=value&m=value&z=value");
25
+ });
26
+ });
27
+ describe("URI", () => {
28
+ it("from str with default", () => {
29
+ const uri = URI.from("/example/wurst");
30
+ expect(uri.toString()).toBe("file:///example/wurst");
31
+ });
32
+ it("from URL str", () => {
33
+ expect(URI.from("bla://example/com?key=value").toString()).toBe("bla://example/com?key=value");
34
+ });
35
+ it("from URL", () => {
36
+ expect(URI.from(new MutableURL("blix://example.com?key=value")).toString()).toBe("blix://example.com?key=value");
37
+ });
38
+ it("from URI", () => {
39
+ expect(URI.from(URI.from("blix://example.com?key=value")).toString()).toBe("blix://example.com?key=value");
40
+ });
41
+ it("from undef", () => {
42
+ expect(URI.from(null).toString()).toBe("file:///");
43
+ });
44
+ it("build", () => {
45
+ expect(URI.from("blix://example.com?key=value").build().toString()).toBe("blix://example.com?key=value");
46
+ });
47
+ it("clone", () => {
48
+ expect(URI.from("blix://example.com?key=value").clone().toString()).toBe("blix://example.com?key=value");
49
+ });
50
+ it("asURL", () => {
51
+ expect(URI.from("blix://example.com?key=value").asURL().toString()).toBe("blix://example.com?key=value");
52
+ });
53
+ it("toString", () => {
54
+ expect(URI.from("blix://example.com?key=value").toString()).toBe("blix://example.com?key=value");
55
+ });
56
+ it("searchParams sorted in toString", () => {
57
+ expect(URI.from("blix://example.com?z=value&a=value&m=value").toString()).toBe("blix://example.com?a=value&m=value&z=value");
58
+ });
59
+ it("searchParams sorted in asURL", () => {
60
+ expect(URI.from("blix://example.com?z=value&a=value&m=value").asURL().toString()).toBe("blix://example.com?a=value&m=value&z=value");
61
+ });
62
+ it("merge", () => {
63
+ expect(URI.merge("blix://example.com?key=value&into=4", "murk://bla/com?key=from&z=value").toString()).toBe("murk://bla/com?into=4&key=from&z=value");
64
+ });
65
+ it("merge empty", () => {
66
+ expect(URI.merge("blix://example/com?key=value&into=4", "murk://?key=from&z=value").toString()).toBe("murk://example/com?into=4&key=from&z=value");
67
+ });
68
+ it("firefox file relative into", () => {
69
+ expect(URI.from("file://./dist/tests/key.bag").toString()).toBe("file://./dist/tests/key.bag");
70
+ });
71
+ it("from empty", () => {
72
+ expect(URI.merge(`file://./dist/tests/key.bag`, "").toString()).toBe("file://./dist/tests/key.bag");
73
+ });
74
+ it("merge thing about", () => {
75
+ const result = URI.merge("./dist/what?byKey=4444", "murk://bla.com?key=from&z=value");
76
+ expect(result.toString()).toBe("murk://bla.com?byKey=4444&key=from&z=value");
77
+ });
78
+ it("isURI real", () => {
79
+ expect(URI.is(URI.from())).toBe(true);
80
+ });
81
+ it("isURI fake", () => {
82
+ expect(URI.is({
83
+ asURL: () => new URL("http://example.com"),
84
+ hasParam: () => false,
85
+ getParam: () => "",
86
+ })).toBe(true);
87
+ });
88
+ it("safari has a different pathname behavior", () => {
89
+ const uri = URI.from("indexdb://fp/?name=test&store=meta");
90
+ expect(uri.pathname).toBe("fp/");
91
+ });
92
+ it("passing URL to fetch", async () => {
93
+ const uri = URI.from("https://jsonplaceholder.typicode.com/todos/1");
94
+ const res = await fetch(uri.asURL());
95
+ expect(res.status).toBeGreaterThan(199);
96
+ });
97
+ it("MutableURL is instance of URL", () => {
98
+ expect(new MutableURL("http://example.com") instanceof URL).toBe(true);
99
+ });
100
+ it("file url", () => {
101
+ const uri = URI.from("file://fp?storagekey=zTvTPEPQRWij8rfb3FrFqBm");
102
+ expect(uri.pathname).toBe("fp");
103
+ });
104
+ it("unregistered protocol with hostPart", () => {
105
+ const withoutHostpart = URI.from("indexdb://fp:bla/test/?name=test&store=meta");
106
+ expect(() => withoutHostpart.hostname).toThrowError('you can use hostname only if protocol is ["http","https","ws","wss"]');
107
+ });
108
+ it("register protocol with hostPart", () => {
109
+ const unreg = URI.protocolHasHostpart("indexdb:");
110
+ const withHostpart = URI.from("indexdb://fp1:88/test/wurst?name=test&store=meta");
111
+ expect(withHostpart.host).toBe("fp1:88");
112
+ expect(withHostpart.pathname).toBe("/test/wurst");
113
+ const withHostpartNoPath = URI.from("indexdb://fp2:88?name=test&store=meta");
114
+ expect(withHostpartNoPath.host).toBe("fp2:88");
115
+ expect(withHostpartNoPath.pathname).toBe("/");
116
+ unreg();
117
+ });
118
+ it("host uri as json with omit", () => {
119
+ const uri = URI.from("http://example.com:8000/bla/blub?name=test&store=meta&key=%40bla");
120
+ expect(uri.asObj()).toEqual({
121
+ style: "host",
122
+ protocol: "http:",
123
+ hostname: "example.com",
124
+ port: "8000",
125
+ pathname: "/bla/blub",
126
+ searchParams: {
127
+ store: "meta",
128
+ name: "test",
129
+ key: "@bla",
130
+ },
131
+ });
132
+ });
133
+ it("path uri as json with omit", () => {
134
+ const uri = URI.from("blix://bla/blub?name=test&store=meta&key=%40bla");
135
+ expect(uri.asObj()).toEqual({
136
+ style: "path",
137
+ protocol: "blix:",
138
+ pathname: "bla/blub",
139
+ searchParams: {
140
+ store: "meta",
141
+ name: "test",
142
+ key: "@bla",
143
+ },
144
+ });
145
+ });
146
+ it("URI getParamResult", () => {
147
+ const uri = URI.from("blix://bla/blub?name=test&store=meta&key=%40bla");
148
+ expect(uri.getParamResult("key").Ok()).toBe("@bla");
149
+ expect(uri.getParamResult("key2", (k) => `${k} not found`).Err().message).toBe("key2 not found");
150
+ expect(uri.getParamResult("key2").Err().message).toBe("missing parameter: key2");
151
+ });
152
+ it("BuildURI getParamResult", () => {
153
+ const uri = BuildURI.from("blix://bla/blub?name=test&store=meta&key=%40bla");
154
+ expect(uri.getParamResult("key").Ok()).toBe("@bla");
155
+ expect(uri.getParamResult("key2", (k) => `${k} not found`).Err().message).toBe("key2 not found");
156
+ expect(uri.getParamResult("key2").Err().message).toBe("missing parameter: key2");
157
+ });
158
+ it("URI append Params Path", () => {
159
+ const uri = BuildURI.from("blix://bla/blub?name=test&store=meta&key=%40bla").appendRelative("/murks/blub?name=append&work=hard");
160
+ expect(uri.asObj()).toEqual({
161
+ pathname: "bla/blub/murks/blub",
162
+ protocol: "blix:",
163
+ searchParams: {
164
+ key: "@bla",
165
+ name: "append",
166
+ store: "meta",
167
+ work: "hard",
168
+ },
169
+ style: "path",
170
+ });
171
+ });
172
+ it("URI append Params Host", () => {
173
+ const uri = BuildURI.from("http://host/bla/blub?name=test&store=meta&key=%40bla").appendRelative("/murks/blub?name=append&work=hard");
174
+ expect(uri.asObj()).toEqual({
175
+ pathname: "/bla/blub/murks/blub",
176
+ hostname: "host",
177
+ port: "",
178
+ protocol: "http:",
179
+ searchParams: {
180
+ key: "@bla",
181
+ name: "append",
182
+ store: "meta",
183
+ work: "hard",
184
+ },
185
+ style: "host",
186
+ });
187
+ });
188
+ it("URI append Params Host Flat", () => {
189
+ const uri = BuildURI.from("https://fp1-uploads-201698179963.s3.us-east-2.amazonaws.com/").appendRelative(`/data/name/key.car`);
190
+ expect(uri.asObj()).toEqual({
191
+ pathname: "/data/name/key.car",
192
+ hostname: "fp1-uploads-201698179963.s3.us-east-2.amazonaws.com",
193
+ port: "",
194
+ protocol: "https:",
195
+ searchParams: {},
196
+ style: "host",
197
+ });
198
+ });
199
+ it("URI getParamsResult ok", () => {
200
+ const rParams = BuildURI.from("http://host/bla/blub?name=test&store=meta&key=%40bla").getParamsResult("key", "name", "store");
201
+ expect(rParams.Ok()).toEqual({
202
+ key: "@bla",
203
+ name: "test",
204
+ store: "meta",
205
+ });
206
+ });
207
+ it("BuildURI getParamsResult fail", () => {
208
+ const url = BuildURI.from("http://host/bla/blub?name=test&store=meta&key=%40bla");
209
+ const rParams = url.getParamsResult("key", "name", "store", "key2", "name2");
210
+ expect(rParams.Err().message).toEqual(`missing parameters: key2,name2`);
211
+ const rParams2 = url.getParamsResult("key", "name", "store", "key2", "name2", (...keys) => `keys not found: ${keys.join(",")}`);
212
+ expect(rParams2.Err().message).toEqual(`keys not found: key2,name2`);
213
+ });
214
+ describe("URI appendRelative", () => {
215
+ const cases = [
216
+ ["", "", "", "/"],
217
+ ["/", "", "", "/"],
218
+ ["", "/", "/"],
219
+ ["/", "/", "/"],
220
+ ["ab", "", "ab", "/ab"],
221
+ ["ab", "/", "/ab"],
222
+ ["cd", "/ab", "/ab/cd"],
223
+ ["cd", "/ab", "/ab/cd"],
224
+ ["/cd", "/ab", "/ab/cd"],
225
+ ["/cd", "/ab", "/ab/cd"],
226
+ ["/cd", "/ab/", "/ab/cd"],
227
+ ["/cd/", "/ab/", "/ab/cd/"],
228
+ ];
229
+ for (const [relative, path, result, httpResult] of cases) {
230
+ it(`[${path}] [${relative}] -> ${result}`, () => {
231
+ const noHost = BuildURI.from(`file://${path}`).appendRelative(relative).URI();
232
+ expect(noHost.pathname).toBe(result);
233
+ const host = BuildURI.from(`https://wurst`).pathname(path).appendRelative(relative).URI();
234
+ expect(host.pathname).toBe(httpResult || result);
235
+ });
236
+ }
237
+ });
238
+ it("URI getParamsResult fail", () => {
239
+ const url = URI.from("http://host/bla/blub?name=test&store=meta&key=%40bla");
240
+ const rParams = url.getParamsResult("key", "name", "store", "key2", {
241
+ name2: undefined,
242
+ });
243
+ expect(rParams.Err().message).toEqual(`missing parameters: key2,name2`);
244
+ const rParams2 = url.getParamsResult("key", "name", "store", "key2", "name2", (...keys) => `keys not found: ${keys.join(",")}`);
245
+ expect(rParams2.Err().message).toEqual(`keys not found: key2,name2`);
246
+ });
247
+ for (const url of [
248
+ URI.from("http://host/bla/blub?name=test&store=meta&key=%40bla"),
249
+ BuildURI.from("http://host/bla/blub?name=test&store=meta&key=%40bla"),
250
+ ]) {
251
+ it(`getParam default ${url.constructor.name}`, () => {
252
+ const rstring = url.getParam("key2", "default");
253
+ expectTypeOf(rstring).toEqualTypeOf();
254
+ const xstring = url.getParam("key2");
255
+ expectTypeOf(xstring).toEqualTypeOf();
256
+ expect(url.getParam("key2", "default")).toBe("default");
257
+ expect(url.getParam("key2")).toBeFalsy();
258
+ expect(url.getParam("key")).toBe("@bla");
259
+ expect(url.getParam("key", "default")).toBe("@bla");
260
+ expect(url.getParam({ key: "default" })).toBe("@bla");
261
+ expect(url.getParam({ key2: "default" })).toBe("default");
262
+ expect(() => url.getParam({})).toThrowError("Invalid key: {}");
263
+ expect(() => url.getParam({ key: "x", key2: "y" })).toThrowError('Invalid key: {"key":"x","key2":"y"}');
264
+ });
265
+ }
266
+ it("dashed getParamsResult", () => {
267
+ const url = URI.from("http://host/bla/blub?name=test&email=a@b.de&clock-id=123&server-id=456");
268
+ const res = url.getParamsResult("name", "email", "clock-id", {
269
+ "server-id": "defServer",
270
+ bla: "defBla",
271
+ });
272
+ expect(res.isOk()).toBe(true);
273
+ expect(res.Ok()).toEqual({
274
+ bla: "defBla",
275
+ name: "test",
276
+ email: "a@b.de",
277
+ "clock-id": "123",
278
+ "server-id": "456",
279
+ });
280
+ });
281
+ it("recorded getParamsResult", () => {
282
+ const url = URI.from("http://host/bla/blub?name=test&email=a@b.de&clock-id=123&server-id=456");
283
+ const res = url.getParamsResult({
284
+ name: "defName",
285
+ email: "defEmail",
286
+ "clock-id": "defClock-id",
287
+ "server-id": "defServer",
288
+ bla: "defBla",
289
+ });
290
+ expect(res.isOk()).toBe(true);
291
+ expect(res.Ok()).toEqual({
292
+ name: "test",
293
+ email: "a@b.de",
294
+ "clock-id": "123",
295
+ "server-id": "456",
296
+ bla: "defBla",
297
+ });
298
+ });
299
+ it("recorded getParamsResult with default", () => {
300
+ const url = URI.from("http://host/bla/blub?name=test&email=a@b.de&clock-id=123&server-id=456");
301
+ const res = url.getParamsResult({
302
+ name: "defName",
303
+ email: param.REQUIRED,
304
+ "clock-id": false,
305
+ "server-id": undefined,
306
+ bla: "defBla",
307
+ });
308
+ expect(res.isOk()).toBe(true);
309
+ expect(res.Ok()).toEqual({
310
+ name: "test",
311
+ email: "a@b.de",
312
+ "clock-id": "123",
313
+ "server-id": "456",
314
+ bla: "defBla",
315
+ });
316
+ });
317
+ it("recorded getParamsResult with default to empty string", () => {
318
+ const url = URI.from("http://host/bla/blub?name=test&email=a@b.de&clock-id=123&server-id=456");
319
+ const res = url.getParamsResult({
320
+ name: "defName",
321
+ email: param.REQUIRED,
322
+ "clock-id": false,
323
+ "server-id": undefined,
324
+ bla: "",
325
+ });
326
+ expect(res.isOk()).toBe(true);
327
+ expect(res.Ok()).toEqual({
328
+ name: "test",
329
+ email: "a@b.de",
330
+ "clock-id": "123",
331
+ "server-id": "456",
332
+ bla: "",
333
+ });
334
+ });
335
+ it("recorded getParamsResult with required default", () => {
336
+ const url = URI.from("http://host/bla/blub?name=test&email=a@b.de&clock-id=123&server-id=456");
337
+ const res = url.getParamsResult({
338
+ name: "defName",
339
+ email: true,
340
+ "clock-id": false,
341
+ "server-id": undefined,
342
+ bla: param.REQUIRED,
343
+ });
344
+ expect(res.isErr()).toBe(true);
345
+ });
346
+ it("recorded getParamsResult optional", () => {
347
+ const url = URI.from("http://host/bla/blub?name=test&email=a@b.de&clock-id=123&server-id=456");
348
+ const res = url.getParamsResult({
349
+ name: "defName",
350
+ huhu: "defHuhu",
351
+ "clock-id": param.REQUIRED,
352
+ email: param.OPTIONAL,
353
+ maler: param.OPTIONAL,
354
+ });
355
+ expect(res.isOk()).toBeTruthy();
356
+ expect(res.Ok()).toEqual({
357
+ "clock-id": "123",
358
+ name: "test",
359
+ huhu: "defHuhu",
360
+ email: "a@b.de",
361
+ });
362
+ });
363
+ it("cleanParams", () => {
364
+ const url = BuildURI.from("http://host/bla/blub?name=test&email=a@b.de&clock-id=123&server-id=456");
365
+ expect(url.cleanParams().toString()).toBe("http://host/bla/blub");
366
+ });
367
+ it("illegal url relative", () => {
368
+ expect(URI.from("bla").toString()).equal("file://bla");
369
+ });
370
+ it("illegal url absolute", () => {
371
+ expect(URI.from("/bla").toString()).equal("file:///bla");
372
+ });
373
+ describe("applyBase", () => {
374
+ let base;
375
+ let ref;
376
+ beforeEach(() => {
377
+ base = BuildURI.from("http://example.com/blabla?sock=4");
378
+ ref = base.clone();
379
+ });
380
+ it("toResolv empty -> base", () => {
381
+ expect(base.resolve("").toString()).toBe(base.toString());
382
+ });
383
+ it("toResolv absolute -> absolute", () => {
384
+ expect(base.resolve("http://murks.com/huhu?sock=4").toString()).toBe("http://murks.com/huhu?sock=4");
385
+ });
386
+ it("toResolv relative with out leading / -> base + relative", () => {
387
+ expect(base.resolve("/meno/huhu").toString()).toBe(ref.pathname("/meno/huhu").toString());
388
+ });
389
+ it("toResolv relative without leading / -> base - path + relative", () => {
390
+ expect(base.resolve("meno/huhu").toString()).toBe(ref.appendRelative("/meno/huhu").toString());
391
+ });
392
+ it("toResolv relative with leading ./ -> base - path + relative", () => {
393
+ expect(base.resolve("./meno/huhu").toString()).toBe(ref.appendRelative("/meno/huhu").toString());
394
+ });
395
+ });
396
+ it("CoerceURI.is", () => {
397
+ expect(isCoerceURI(0)).toBe(false);
398
+ expect(isCoerceURI(null)).toBe(false);
399
+ expect(isCoerceURI(undefined)).toBe(false);
400
+ expect(isCoerceURI(new URL("http://example.com"))).toBe(true);
401
+ expect(isCoerceURI(new MutableURL("http://example.com"))).toBe(true);
402
+ expect(isCoerceURI(URI.from("http://example.com"))).toBe(true);
403
+ expect(isCoerceURI(BuildURI.from("http://example.com"))).toBe(true);
404
+ expect(isCoerceURI("http://example.com")).toBe(true);
405
+ });
406
+ it("matchScore total", () => {
407
+ const ref = URI.from("http://example.com/blabla?sock=4");
408
+ expect(ref.match("http://example.com/blabla?sock=4").score).toBe(4);
409
+ });
410
+ it("matchScore nothing", () => {
411
+ const ref = URI.from("xttp://xample.com/labla?ock=4");
412
+ expect(ref.match("http://example.com/blabla?sock=4").score).toBe(0);
413
+ });
414
+ it("matchScore protocol", () => {
415
+ const ref = URI.from("http://a.com");
416
+ expect(ref.match("http://b.com").score).toBe(1);
417
+ });
418
+ it("host", () => {
419
+ const ref = URI.from("https://a.com");
420
+ expect(ref.match("http://a.com").score).toBe(1);
421
+ });
422
+ it("host-port", () => {
423
+ const ref = URI.from("https://a.com:4711");
424
+ expect(ref.match("http://b.com:4711").score).toBe(1);
425
+ });
426
+ it("no host-port", () => {
427
+ const ref = URI.from("yttp://a.com/4711");
428
+ expect(ref.match("xttp://a.com/4711").score).toBe(2);
429
+ });
430
+ it("mix host-port", () => {
431
+ const ref = URI.from("http://a.com/bla/qq/kk");
432
+ expect(ref.match("xttp://bla/oo/kk").score).toBe(2);
433
+ });
434
+ it("mix path", () => {
435
+ const ref = URI.from("xttp://ab/cd/ed");
436
+ expect(ref.match("yttp://ab/cd/ed").score).toBe(3);
437
+ });
438
+ it("mix path", () => {
439
+ const ref = URI.from("xttp://ab/Xd/ed");
440
+ expect(ref.match("yttp://ab/cd/ed").score).toBe(2);
441
+ });
442
+ it("not-params", () => {
443
+ const ref = URI.from("yttp://ed?x=3");
444
+ expect(ref.match("xttp://ab/cd?x=4").score).toBe(0);
445
+ });
446
+ it("one-params", () => {
447
+ const ref = URI.from("yttp://ed?x=3&y=4");
448
+ expect(ref.match("xttp://ab/cd?x=4&y=4").score).toBe(1);
449
+ });
450
+ it("one-params", () => {
451
+ const ref = URI.from("yttp://ed?x=3&y=4&o=4");
452
+ expect(ref.match("xttp://ab/cd?x=4&y=4&o=4").score).toBe(2);
453
+ });
454
+ it("cleanParams all", () => {
455
+ const uri = BuildURI.from("http://key.bag?a=1&b=2&c=3").cleanParams();
456
+ expect(Array.from(uri.getParams)).toEqual([]);
457
+ });
458
+ it("cleanParams not matching", () => {
459
+ const uri = BuildURI.from("http://key.bag?a=1&b=2&c=3").cleanParams(["A"], "B");
460
+ expect(Array.from(uri.getParams)).toEqual([
461
+ ["a", "1"],
462
+ ["b", "2"],
463
+ ["c", "3"],
464
+ ]);
465
+ });
466
+ it("cleanParams not matching", () => {
467
+ const uri = BuildURI.from("http://key.bag?a=1&b=2&c=3").cleanParams(["A"], "B", "a", "a", "b");
468
+ expect(Array.from(uri.getParams)).toEqual([["c", "3"]]);
469
+ });
470
+ it("cleanParams not matching", () => {
471
+ const uri = BuildURI.from("http://key.bag?a=1&b=2&c=3").cleanParams(["c", "b", "a"]);
472
+ expect(Array.from(uri.getParams)).toEqual([]);
473
+ });
474
+ it("common hash", () => {
475
+ const uri = URI.from("http://key.bag?a=1&b=2&c=3#hash");
476
+ expect(uri.hash).toBe("#hash");
477
+ const buri = BuildURI.from("http://key.bag?a=1&b=2&c=3").hash("hash").URI();
478
+ expect(buri.hash).toBe("#hash");
479
+ const hashuri = BuildURI.from("http://key.bag?a=1&b=2&c=3").hash("#hash").URI();
480
+ expect(hashuri.hash).toBe("#hash");
481
+ });
482
+ it("get hashParams", () => {
483
+ const uri = BuildURI.from("http://key.bag?a=1&b=2&c=3")
484
+ .hashParams({
485
+ c: true,
486
+ a: 1,
487
+ b: "5",
488
+ d: new Date("2021-01-01T00:00:00.000Z"),
489
+ })
490
+ .URI();
491
+ expect(uri.hash).toBe("#a=1&b=5&c=true&d=2021-01-01T00%3A00%3A00.000Z");
492
+ const mergeUri = BuildURI.from("http://key.bag?a=1&b=2&c=3#c=true&a=4&d=9")
493
+ .hashParams({
494
+ a: 1,
495
+ b: "5",
496
+ d: new Date("2021-01-01T00:00:00.000Z"),
497
+ }, "merge")
498
+ .URI();
499
+ expect(mergeUri.hash).toBe("#a=1&b=5&c=true&d=2021-01-01T00%3A00%3A00.000Z");
500
+ });
501
+ it("get hashParams", () => {
502
+ const buri = BuildURI.from("http://key.bag?a=1&b=2&c=3").hashParams({
503
+ c: true,
504
+ a: 1,
505
+ b: "5",
506
+ d: new Date("2021-01-01T00:00:00.000Z"),
507
+ });
508
+ expect(buri.toString()).toBe("http://key.bag/?a=1&b=2&c=3#a=1&b=5&c=true&d=2021-01-01T00%3A00%3A00.000Z");
509
+ const rbParam = buri.getHashParams({
510
+ d: param.REQUIRED,
511
+ e: "default",
512
+ f: param.OPTIONAL,
513
+ });
514
+ expect(rbParam.Ok()).toEqual({
515
+ d: "2021-01-01T00:00:00.000Z",
516
+ e: "default",
517
+ });
518
+ const rParam = buri.URI().getHashParams({
519
+ d: param.REQUIRED,
520
+ e: "default",
521
+ f: param.OPTIONAL,
522
+ });
523
+ expect(rParam.Ok()).toEqual({
524
+ d: "2021-01-01T00:00:00.000Z",
525
+ e: "default",
526
+ });
527
+ });
528
+ it("error hashParams", () => {
529
+ const buri = BuildURI.from("http://key.bag?a=1&b=2&c=3").hashParams({
530
+ c: true,
531
+ a: 1,
532
+ b: "5",
533
+ d: new Date("2021-01-01T00:00:00.000Z"),
534
+ });
535
+ const rerrParam = buri.getHashParams({
536
+ a: param.REQUIRED,
537
+ e: "default",
538
+ f: param.OPTIONAL,
539
+ g: param.REQUIRED,
540
+ });
541
+ expect(rerrParam.Err().message).toBe("missing parameters: g");
542
+ });
543
+ it("local", () => {
544
+ const fUri = URI.from("file:///ed/bla?x=3&y=4#doof");
545
+ expect(fUri.withoutHostAndSchema).toBe("/ed/bla?x=3&y=4#doof");
546
+ const hUri = URI.from("http://bla.com:44/ed/bla?x=3&y=4#doof");
547
+ expect(hUri.withoutHostAndSchema).toBe("/ed/bla?x=3&y=4#doof");
548
+ });
549
+ it("without hash local", () => {
550
+ const fUri = URI.from("file:///ed/bla?x=3&y=4");
551
+ expect(fUri.withoutHostAndSchema).toBe("/ed/bla?x=3&y=4");
552
+ const hUri = URI.from("http://bla.com:44/ed/bla?x=3&y=4");
553
+ expect(hUri.withoutHostAndSchema).toBe("/ed/bla?x=3&y=4");
554
+ });
555
+ it("without search local", () => {
556
+ const fUri = URI.from("file:///ed/bla");
557
+ expect(fUri.withoutHostAndSchema).toBe("/ed/bla");
558
+ const hUri = URI.from("http://bla.com:44/ed/bla");
559
+ expect(hUri.withoutHostAndSchema).toBe("/ed/bla");
560
+ });
561
+ it("without search but hash local", () => {
562
+ const fUri = URI.from("file:///ed/bla#doof");
563
+ expect(fUri.withoutHostAndSchema).toBe("/ed/bla#doof");
564
+ const hUri = URI.from("http://bla.com:44/ed/bla#doof");
565
+ expect(hUri.withoutHostAndSchema).toBe("/ed/bla#doof");
566
+ });
567
+ it("pathname + search + hash", () => {
568
+ const refUnk = URI.from("yttp://ed/bla?y=4&x=3");
569
+ expect(refUnk.withoutHostAndSchema).toBe("ed/bla?x=3&y=4");
570
+ const refHttp = URI.from("http://host/ed/bla?x=3&y=4");
571
+ expect(refHttp.withoutHostAndSchema).toBe("/ed/bla?x=3&y=4");
572
+ const refFile = URI.from("file:///ed/bla?x=3&y=4");
573
+ expect(refFile.withoutHostAndSchema).toBe("/ed/bla?x=3&y=4");
574
+ });
575
+ it("onlyHostAndSchema", () => {
576
+ const fUri = URI.from("file:///ed/bla#doof");
577
+ expect(fUri.onlyHostAndSchema).toBe("file://");
578
+ const hUri = URI.from("http://bla.com:44/ed/bla#doof");
579
+ expect(hUri.onlyHostAndSchema).toBe("http://bla.com:44/");
580
+ const hplainUri = URI.from("http://bla.com:44");
581
+ expect(hplainUri.onlyHostAndSchema).toBe("http://bla.com:44/");
582
+ const fplainUri = URI.from("file:///bla.com");
583
+ expect(fplainUri.onlyHostAndSchema).toBe("file://");
584
+ });
585
+ it("getParams", () => {
586
+ const uri = URI.from("http://key.bag?a=1&b=2&c=3");
587
+ expect(Array.from(uri.getParams)).toEqual([
588
+ ["a", "1"],
589
+ ["b", "2"],
590
+ ["c", "3"],
591
+ ]);
592
+ });
593
+ it("getHashes", () => {
594
+ const euri = URI.from("http://key.bag#");
595
+ expect(Array.from(euri.getHashes)).toEqual([]);
596
+ const nouri = URI.from("http://key.bag#kddkdkd");
597
+ expect(Array.from(nouri.getHashes)).toEqual([["kddkdkd", ""]]);
598
+ const uri = URI.from("http://key.bag#a=1&b=2&c=3");
599
+ expect(Array.from(uri.getHashes)).toEqual([
600
+ ["a", "1"],
601
+ ["b", "2"],
602
+ ["c", "3"],
603
+ ]);
604
+ });
605
+ it("never geencoding", () => {
606
+ const uri = URI.from("http://localhost:3002/fp/cloud/api/token#back_url=http%3A%2F%2Flocalhost%3A3001%2F");
607
+ expect(Array.from(uri.getHashes)).toEqual([["back_url", "http://localhost:3001/"]]);
608
+ const xuri = URI.from("http://localhost:3002/fp/cloud/api/token");
609
+ expect(Array.from(xuri.getHashes)).toEqual([]);
610
+ });
611
+ it("search ", () => {
612
+ const uri = URI.from("http://key.bag?a=1&b=2&c=3");
613
+ expect(uri.search).toEqual("?a=1&b=2&c=3");
614
+ const buri = BuildURI.from("http://key.bag").setParam("a", "1").setParam("c", "3").setParam("b", "2").URI();
615
+ expect(buri.search).toEqual("?a=1&b=2&c=3");
616
+ });
617
+ it("searchParams", () => {
618
+ const uri = BuildURI.from("http://key.bag")
619
+ .searchParams({
620
+ a: 1,
621
+ b: "2",
622
+ c: "3",
623
+ })
624
+ .hashParams({
625
+ a: 1,
626
+ b: "2",
627
+ c: "3",
628
+ });
629
+ expect(uri.URI().search).toEqual("?a=1&b=2&c=3");
630
+ expect(uri.URI().hash).toEqual("#a=1&b=2&c=3");
631
+ });
632
+ });
633
+ //# sourceMappingURL=uri.test.js.map