functionalscript 0.13.1 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (357) hide show
  1. package/{types → fs}/asn.1/module.f.d.ts +1 -1
  2. package/{types → fs}/asn.1/module.f.js +3 -3
  3. package/{types → fs}/asn.1/test.f.js +2 -2
  4. package/{types → fs}/base128/module.f.d.ts +1 -1
  5. package/{types → fs}/base128/module.f.js +1 -1
  6. package/{types → fs}/base128/test.f.js +2 -2
  7. package/{bnf → fs/bnf}/data/module.f.d.ts +1 -1
  8. package/{cas → fs/cas}/module.f.d.ts +4 -4
  9. package/{cas → fs/cas}/module.f.js +1 -1
  10. package/{types → fs}/cbase32/module.f.d.ts +2 -2
  11. package/{types → fs}/cbase32/module.f.js +1 -1
  12. package/{types → fs}/cbase32/test.f.js +1 -1
  13. package/fs/ci/bun/module.f.d.ts +2 -0
  14. package/fs/ci/bun/module.f.js +20 -0
  15. package/fs/ci/common/module.f.d.ts +43 -0
  16. package/fs/ci/common/module.f.js +32 -0
  17. package/fs/ci/config/module.f.d.ts +25 -0
  18. package/fs/ci/config/module.f.js +34 -0
  19. package/fs/ci/deno/module.f.d.ts +2 -0
  20. package/fs/ci/deno/module.f.js +13 -0
  21. package/fs/ci/module.f.js +40 -0
  22. package/fs/ci/node/module.f.d.ts +6 -0
  23. package/fs/ci/node/module.f.js +36 -0
  24. package/fs/ci/playwright/module.f.d.ts +2 -0
  25. package/fs/ci/playwright/module.f.js +23 -0
  26. package/fs/ci/rust/module.f.d.ts +2 -0
  27. package/fs/ci/rust/module.f.js +49 -0
  28. package/{crypto → fs/crypto}/secp/module.f.d.ts +1 -2
  29. package/{dev → fs/dev}/module.f.d.ts +2 -0
  30. package/{dev → fs/dev}/module.f.js +5 -0
  31. package/{dev → fs/dev}/tf/all.test.js +7 -5
  32. package/{dev → fs/dev}/tf/module.f.d.ts +1 -1
  33. package/{dev → fs/dev}/tf/module.f.js +12 -9
  34. package/fs/dev/tf/test.f.d.ts +16 -0
  35. package/fs/dev/tf/test.f.js +22 -0
  36. package/fs/dev/version/module.f.d.ts +3 -0
  37. package/{djs → fs/djs}/tokenizer/module.f.js +3 -3
  38. package/{djs/parser-new → fs/djs/tokenizer-new}/test.f.d.ts +2 -1
  39. package/fs/djs/tokenizer-new/test.f.js +894 -0
  40. package/{js → fs/js}/tokenizer/module.f.js +34 -34
  41. package/{json → fs/json}/tokenizer/module.f.js +1 -1
  42. package/{path → fs/path}/module.f.d.ts +1 -1
  43. package/fs/sul/id/module.f.d.ts +33 -0
  44. package/fs/sul/id/module.f.js +94 -0
  45. package/fs/sul/id/test.f.d.ts +21 -0
  46. package/fs/sul/id/test.f.js +75 -0
  47. package/fs/sul/level/hash/module.f.d.ts +38 -0
  48. package/fs/sul/level/hash/module.f.js +43 -0
  49. package/fs/sul/level/hash/test.f.d.ts +14 -0
  50. package/fs/sul/level/hash/test.f.js +112 -0
  51. package/fs/sul/level/literal/module.f.d.ts +64 -0
  52. package/fs/sul/level/literal/module.f.js +88 -0
  53. package/fs/sul/level/literal/test.f.d.ts +12 -0
  54. package/fs/sul/level/literal/test.f.js +722 -0
  55. package/fs/sul/module.f.d.ts +23 -0
  56. package/fs/sul/module.f.js +46 -0
  57. package/fs/sul/test.f.d.ts +10 -0
  58. package/fs/sul/test.f.js +47 -0
  59. package/{text → fs/text}/module.f.d.ts +1 -1
  60. package/{text → fs/text}/utf16/module.f.js +8 -8
  61. package/{text → fs/text}/utf8/module.f.js +2 -2
  62. package/{types → fs/types}/bit_vec/module.f.d.ts +13 -1
  63. package/{types → fs/types}/bit_vec/module.f.js +33 -15
  64. package/{types → fs/types}/effects/module.f.d.ts +1 -0
  65. package/{types → fs/types}/effects/node/virtual/module.f.d.ts +3 -3
  66. package/{types → fs/types}/function/operator/module.f.d.ts +1 -1
  67. package/{types → fs/types}/function/operator/module.f.js +1 -1
  68. package/{types → fs/types}/list/module.f.js +1 -1
  69. package/fs/types/patricia_trie/module.f.d.ts +25 -0
  70. package/fs/types/patricia_trie/module.f.js +35 -0
  71. package/fs/types/patricia_trie/test.f.d.ts +8 -0
  72. package/fs/types/patricia_trie/test.f.js +121 -0
  73. package/fs/types/rtti/parse/module.f.d.ts +32 -0
  74. package/fs/types/rtti/parse/module.f.js +113 -0
  75. package/fs/types/rtti/parse/test.f.d.ts +104 -0
  76. package/fs/types/rtti/parse/test.f.js +316 -0
  77. package/fs/types/rtti/validate/module.f.d.ts +74 -0
  78. package/{types → fs/types}/rtti/validate/module.f.js +26 -24
  79. package/{types → fs/types}/rtti/validate/test.f.d.ts +11 -0
  80. package/{types → fs/types}/rtti/validate/test.f.js +38 -0
  81. package/{types → fs/types}/uint8array/module.f.d.ts +2 -2
  82. package/package.json +8 -8
  83. package/ci/module.f.js +0 -183
  84. package/dev/tf/test.f.d.ts +0 -4
  85. package/dev/tf/test.f.js +0 -5
  86. package/dev/version/module.f.d.ts +0 -3
  87. package/djs/parser-new/test.f.js +0 -202
  88. package/types/rtti/validate/module.f.d.ts +0 -50
  89. /package/{types → fs}/asn.1/test.f.d.ts +0 -0
  90. /package/{cas → fs/base128}/test.f.d.ts +0 -0
  91. /package/{bnf → fs/bnf}/data/module.f.js +0 -0
  92. /package/{bnf → fs/bnf}/data/test.f.d.ts +0 -0
  93. /package/{bnf → fs/bnf}/data/test.f.js +0 -0
  94. /package/{bnf → fs/bnf}/module.f.d.ts +0 -0
  95. /package/{bnf → fs/bnf}/module.f.js +0 -0
  96. /package/{bnf → fs/bnf}/test.f.d.ts +0 -0
  97. /package/{bnf → fs/bnf}/test.f.js +0 -0
  98. /package/{bnf → fs/bnf}/testlib.f.d.ts +0 -0
  99. /package/{bnf → fs/bnf}/testlib.f.js +0 -0
  100. /package/{types/base128 → fs/cas}/test.f.d.ts +0 -0
  101. /package/{cas → fs/cas}/test.f.js +0 -0
  102. /package/{types → fs}/cbase32/test.f.d.ts +0 -0
  103. /package/{ci → fs/ci}/module.f.d.ts +0 -0
  104. /package/{crypto → fs/crypto}/hmac/module.f.d.ts +0 -0
  105. /package/{crypto → fs/crypto}/hmac/module.f.js +0 -0
  106. /package/{crypto → fs/crypto}/hmac/test.f.d.ts +0 -0
  107. /package/{crypto → fs/crypto}/hmac/test.f.js +0 -0
  108. /package/{crypto → fs/crypto}/secp/module.f.js +0 -0
  109. /package/{crypto → fs/crypto}/secp/test.f.d.ts +0 -0
  110. /package/{crypto → fs/crypto}/secp/test.f.js +0 -0
  111. /package/{crypto → fs/crypto}/sha2/module.f.d.ts +0 -0
  112. /package/{crypto → fs/crypto}/sha2/module.f.js +0 -0
  113. /package/{crypto → fs/crypto}/sha2/test.f.d.ts +0 -0
  114. /package/{crypto → fs/crypto}/sha2/test.f.js +0 -0
  115. /package/{crypto → fs/crypto}/sign/module.f.d.ts +0 -0
  116. /package/{crypto → fs/crypto}/sign/module.f.js +0 -0
  117. /package/{crypto → fs/crypto}/sign/test.f.d.ts +0 -0
  118. /package/{crypto → fs/crypto}/sign/test.f.js +0 -0
  119. /package/{dev → fs/dev}/index/module.f.d.ts +0 -0
  120. /package/{dev → fs/dev}/index/module.f.js +0 -0
  121. /package/{dev → fs/dev}/test.f.d.ts +0 -0
  122. /package/{dev → fs/dev}/test.f.js +0 -0
  123. /package/{dev → fs/dev}/tf/all.test.d.ts +0 -0
  124. /package/{dev → fs/dev}/version/module.f.js +0 -0
  125. /package/{dev → fs/dev}/version/test.f.d.ts +0 -0
  126. /package/{dev → fs/dev}/version/test.f.js +0 -0
  127. /package/{djs → fs/djs}/ast/module.f.d.ts +0 -0
  128. /package/{djs → fs/djs}/ast/module.f.js +0 -0
  129. /package/{djs → fs/djs}/ast/test.f.d.ts +0 -0
  130. /package/{djs → fs/djs}/ast/test.f.js +0 -0
  131. /package/{djs → fs/djs}/examples/input.f.d.ts +0 -0
  132. /package/{djs → fs/djs}/examples/input.f.js +0 -0
  133. /package/{djs → fs/djs}/examples/m.f.d.ts +0 -0
  134. /package/{djs → fs/djs}/examples/m.f.js +0 -0
  135. /package/{djs → fs/djs}/module.f.d.ts +0 -0
  136. /package/{djs → fs/djs}/module.f.js +0 -0
  137. /package/{djs → fs/djs}/parser/module.f.d.ts +0 -0
  138. /package/{djs → fs/djs}/parser/module.f.js +0 -0
  139. /package/{djs → fs/djs}/parser/test.f.d.ts +0 -0
  140. /package/{djs → fs/djs}/parser/test.f.js +0 -0
  141. /package/{djs → fs/djs}/serializer/module.f.d.ts +0 -0
  142. /package/{djs → fs/djs}/serializer/module.f.js +0 -0
  143. /package/{djs → fs/djs}/serializer/test.f.d.ts +0 -0
  144. /package/{djs → fs/djs}/serializer/test.f.js +0 -0
  145. /package/{djs → fs/djs}/tokenizer/module.f.d.ts +0 -0
  146. /package/{djs → fs/djs}/tokenizer/test.f.d.ts +0 -0
  147. /package/{djs → fs/djs}/tokenizer/test.f.js +0 -0
  148. /package/{djs/parser-new → fs/djs/tokenizer-new}/module.f.d.ts +0 -0
  149. /package/{djs/parser-new → fs/djs/tokenizer-new}/module.f.js +0 -0
  150. /package/{djs → fs/djs}/transpiler/module.f.d.ts +0 -0
  151. /package/{djs → fs/djs}/transpiler/module.f.js +0 -0
  152. /package/{djs → fs/djs}/transpiler/test.f.d.ts +0 -0
  153. /package/{djs → fs/djs}/transpiler/test.f.js +0 -0
  154. /package/{fjs → fs/fjs}/module.d.ts +0 -0
  155. /package/{fjs → fs/fjs}/module.f.d.ts +0 -0
  156. /package/{fjs → fs/fjs}/module.f.js +0 -0
  157. /package/{fjs → fs/fjs}/module.js +0 -0
  158. /package/{fsc → fs/fsc}/bnf.f.d.ts +0 -0
  159. /package/{fsc → fs/fsc}/bnf.f.js +0 -0
  160. /package/{fsc → fs/fsc}/json.f.d.ts +0 -0
  161. /package/{fsc → fs/fsc}/json.f.js +0 -0
  162. /package/{fsc → fs/fsc}/module.f.d.ts +0 -0
  163. /package/{fsc → fs/fsc}/module.f.js +0 -0
  164. /package/{fsc → fs/fsc}/test.f.d.ts +0 -0
  165. /package/{fsc → fs/fsc}/test.f.js +0 -0
  166. /package/{fsm → fs/fsm}/module.f.d.ts +0 -0
  167. /package/{fsm → fs/fsm}/module.f.js +0 -0
  168. /package/{fsm → fs/fsm}/test.f.d.ts +0 -0
  169. /package/{fsm → fs/fsm}/test.f.js +0 -0
  170. /package/{html → fs/html}/module.f.d.ts +0 -0
  171. /package/{html → fs/html}/module.f.js +0 -0
  172. /package/{html → fs/html}/test.f.d.ts +0 -0
  173. /package/{html → fs/html}/test.f.js +0 -0
  174. /package/{io → fs/io}/module.d.ts +0 -0
  175. /package/{io → fs/io}/module.f.d.ts +0 -0
  176. /package/{io → fs/io}/module.f.js +0 -0
  177. /package/{io → fs/io}/module.js +0 -0
  178. /package/{io → fs/io}/virtual/module.f.d.ts +0 -0
  179. /package/{io → fs/io}/virtual/module.f.js +0 -0
  180. /package/{js → fs/js}/tokenizer/module.f.d.ts +0 -0
  181. /package/{js → fs/js}/tokenizer/test.f.d.ts +0 -0
  182. /package/{js → fs/js}/tokenizer/test.f.js +0 -0
  183. /package/{json → fs/json}/module.f.d.ts +0 -0
  184. /package/{json → fs/json}/module.f.js +0 -0
  185. /package/{json → fs/json}/parser/module.f.d.ts +0 -0
  186. /package/{json → fs/json}/parser/module.f.js +0 -0
  187. /package/{json → fs/json}/parser/test.f.d.ts +0 -0
  188. /package/{json → fs/json}/parser/test.f.js +0 -0
  189. /package/{json → fs/json}/serializer/module.f.d.ts +0 -0
  190. /package/{json → fs/json}/serializer/module.f.js +0 -0
  191. /package/{json → fs/json}/serializer/test.f.d.ts +0 -0
  192. /package/{json → fs/json}/serializer/test.f.js +0 -0
  193. /package/{json → fs/json}/test.f.d.ts +0 -0
  194. /package/{json → fs/json}/test.f.js +0 -0
  195. /package/{json → fs/json}/tokenizer/module.f.d.ts +0 -0
  196. /package/{json → fs/json}/tokenizer/test.f.d.ts +0 -0
  197. /package/{json → fs/json}/tokenizer/test.f.js +0 -0
  198. /package/{path → fs/path}/module.f.js +0 -0
  199. /package/{path → fs/path}/test.f.d.ts +0 -0
  200. /package/{path → fs/path}/test.f.js +0 -0
  201. /package/{text → fs/text}/ascii/module.f.d.ts +0 -0
  202. /package/{text → fs/text}/ascii/module.f.js +0 -0
  203. /package/{text → fs/text}/ascii/test.f.d.ts +0 -0
  204. /package/{text → fs/text}/ascii/test.f.js +0 -0
  205. /package/{text → fs/text}/module.f.js +0 -0
  206. /package/{text → fs/text}/sgr/module.f.d.ts +0 -0
  207. /package/{text → fs/text}/sgr/module.f.js +0 -0
  208. /package/{text → fs/text}/sgr/test.f.d.ts +0 -0
  209. /package/{text → fs/text}/sgr/test.f.js +0 -0
  210. /package/{text → fs/text}/test.f.d.ts +0 -0
  211. /package/{text → fs/text}/test.f.js +0 -0
  212. /package/{text → fs/text}/utf16/module.f.d.ts +0 -0
  213. /package/{text → fs/text}/utf16/test.f.d.ts +0 -0
  214. /package/{text → fs/text}/utf16/test.f.js +0 -0
  215. /package/{text → fs/text}/utf8/module.f.d.ts +0 -0
  216. /package/{text → fs/text}/utf8/test.f.d.ts +0 -0
  217. /package/{text → fs/text}/utf8/test.f.js +0 -0
  218. /package/{types → fs/types}/array/module.f.d.ts +0 -0
  219. /package/{types → fs/types}/array/module.f.js +0 -0
  220. /package/{types → fs/types}/array/test.f.d.ts +0 -0
  221. /package/{types → fs/types}/array/test.f.js +0 -0
  222. /package/{types → fs/types}/bigfloat/module.f.d.ts +0 -0
  223. /package/{types → fs/types}/bigfloat/module.f.js +0 -0
  224. /package/{types → fs/types}/bigfloat/test.f.d.ts +0 -0
  225. /package/{types → fs/types}/bigfloat/test.f.js +0 -0
  226. /package/{types → fs/types}/bigint/module.f.d.ts +0 -0
  227. /package/{types → fs/types}/bigint/module.f.js +0 -0
  228. /package/{types → fs/types}/bigint/test.f.d.ts +0 -0
  229. /package/{types → fs/types}/bigint/test.f.js +0 -0
  230. /package/{types → fs/types}/bit_vec/test.f.d.ts +0 -0
  231. /package/{types → fs/types}/bit_vec/test.f.js +0 -0
  232. /package/{types → fs/types}/btree/find/module.f.d.ts +0 -0
  233. /package/{types → fs/types}/btree/find/module.f.js +0 -0
  234. /package/{types → fs/types}/btree/find/test.f.d.ts +0 -0
  235. /package/{types → fs/types}/btree/find/test.f.js +0 -0
  236. /package/{types → fs/types}/btree/module.f.d.ts +0 -0
  237. /package/{types → fs/types}/btree/module.f.js +0 -0
  238. /package/{types → fs/types}/btree/remove/module.f.d.ts +0 -0
  239. /package/{types → fs/types}/btree/remove/module.f.js +0 -0
  240. /package/{types → fs/types}/btree/remove/test.f.d.ts +0 -0
  241. /package/{types → fs/types}/btree/remove/test.f.js +0 -0
  242. /package/{types → fs/types}/btree/set/module.f.d.ts +0 -0
  243. /package/{types → fs/types}/btree/set/module.f.js +0 -0
  244. /package/{types → fs/types}/btree/set/test.f.d.ts +0 -0
  245. /package/{types → fs/types}/btree/set/test.f.js +0 -0
  246. /package/{types → fs/types}/btree/test.f.d.ts +0 -0
  247. /package/{types → fs/types}/btree/test.f.js +0 -0
  248. /package/{types → fs/types}/btree/types/module.f.d.ts +0 -0
  249. /package/{types → fs/types}/btree/types/module.f.js +0 -0
  250. /package/{types → fs/types}/byte_set/module.f.d.ts +0 -0
  251. /package/{types → fs/types}/byte_set/module.f.js +0 -0
  252. /package/{types → fs/types}/byte_set/test.f.d.ts +0 -0
  253. /package/{types → fs/types}/byte_set/test.f.js +0 -0
  254. /package/{types → fs/types}/effects/mock/module.f.d.ts +0 -0
  255. /package/{types → fs/types}/effects/mock/module.f.js +0 -0
  256. /package/{types → fs/types}/effects/module.d.ts +0 -0
  257. /package/{types → fs/types}/effects/module.f.js +0 -0
  258. /package/{types → fs/types}/effects/module.js +0 -0
  259. /package/{types → fs/types}/effects/node/module.f.d.ts +0 -0
  260. /package/{types → fs/types}/effects/node/module.f.js +0 -0
  261. /package/{types → fs/types}/effects/node/test.f.d.ts +0 -0
  262. /package/{types → fs/types}/effects/node/test.f.js +0 -0
  263. /package/{types → fs/types}/effects/node/virtual/module.f.js +0 -0
  264. /package/{types → fs/types}/function/compare/module.f.d.ts +0 -0
  265. /package/{types → fs/types}/function/compare/module.f.js +0 -0
  266. /package/{types → fs/types}/function/compare/test.f.d.ts +0 -0
  267. /package/{types → fs/types}/function/compare/test.f.js +0 -0
  268. /package/{types → fs/types}/function/module.f.d.ts +0 -0
  269. /package/{types → fs/types}/function/module.f.js +0 -0
  270. /package/{types → fs/types}/function/test.f.d.ts +0 -0
  271. /package/{types → fs/types}/function/test.f.js +0 -0
  272. /package/{types → fs/types}/list/module.f.d.ts +0 -0
  273. /package/{types → fs/types}/list/test.f.d.ts +0 -0
  274. /package/{types → fs/types}/list/test.f.js +0 -0
  275. /package/{types → fs/types}/map/module.f.d.ts +0 -0
  276. /package/{types → fs/types}/map/module.f.js +0 -0
  277. /package/{types → fs/types}/map/test.f.d.ts +0 -0
  278. /package/{types → fs/types}/map/test.f.js +0 -0
  279. /package/{types → fs/types}/monoid/module.f.d.ts +0 -0
  280. /package/{types → fs/types}/monoid/module.f.js +0 -0
  281. /package/{types → fs/types}/monoid/test.f.d.ts +0 -0
  282. /package/{types → fs/types}/monoid/test.f.js +0 -0
  283. /package/{types → fs/types}/nibble_set/module.f.d.ts +0 -0
  284. /package/{types → fs/types}/nibble_set/module.f.js +0 -0
  285. /package/{types → fs/types}/nibble_set/test.f.d.ts +0 -0
  286. /package/{types → fs/types}/nibble_set/test.f.js +0 -0
  287. /package/{types → fs/types}/nominal/module.f.d.ts +0 -0
  288. /package/{types → fs/types}/nominal/module.f.js +0 -0
  289. /package/{types → fs/types}/nominal/test.f.d.ts +0 -0
  290. /package/{types → fs/types}/nominal/test.f.js +0 -0
  291. /package/{types → fs/types}/nullable/module.f.d.ts +0 -0
  292. /package/{types → fs/types}/nullable/module.f.js +0 -0
  293. /package/{types → fs/types}/nullable/test.f.d.ts +0 -0
  294. /package/{types → fs/types}/nullable/test.f.js +0 -0
  295. /package/{types → fs/types}/number/module.f.d.ts +0 -0
  296. /package/{types → fs/types}/number/module.f.js +0 -0
  297. /package/{types → fs/types}/number/test.f.d.ts +0 -0
  298. /package/{types → fs/types}/number/test.f.js +0 -0
  299. /package/{types → fs/types}/object/module.f.d.ts +0 -0
  300. /package/{types → fs/types}/object/module.f.js +0 -0
  301. /package/{types → fs/types}/object/test.f.d.ts +0 -0
  302. /package/{types → fs/types}/object/test.f.js +0 -0
  303. /package/{types → fs/types}/option/module.f.d.ts +0 -0
  304. /package/{types → fs/types}/option/module.f.js +0 -0
  305. /package/{types → fs/types}/ordered_map/module.f.d.ts +0 -0
  306. /package/{types → fs/types}/ordered_map/module.f.js +0 -0
  307. /package/{types → fs/types}/ordered_map/test.f.d.ts +0 -0
  308. /package/{types → fs/types}/ordered_map/test.f.js +0 -0
  309. /package/{types → fs/types}/prime_field/module.f.d.ts +0 -0
  310. /package/{types → fs/types}/prime_field/module.f.js +0 -0
  311. /package/{types → fs/types}/prime_field/test.f.d.ts +0 -0
  312. /package/{types → fs/types}/prime_field/test.f.js +0 -0
  313. /package/{types → fs/types}/range/module.f.d.ts +0 -0
  314. /package/{types → fs/types}/range/module.f.js +0 -0
  315. /package/{types → fs/types}/range/test.f.d.ts +0 -0
  316. /package/{types → fs/types}/range/test.f.js +0 -0
  317. /package/{types → fs/types}/range_map/module.f.d.ts +0 -0
  318. /package/{types → fs/types}/range_map/module.f.js +0 -0
  319. /package/{types → fs/types}/range_map/test.f.d.ts +0 -0
  320. /package/{types → fs/types}/range_map/test.f.js +0 -0
  321. /package/{types → fs/types}/result/module.d.ts +0 -0
  322. /package/{types → fs/types}/result/module.f.d.ts +0 -0
  323. /package/{types → fs/types}/result/module.f.js +0 -0
  324. /package/{types → fs/types}/result/module.js +0 -0
  325. /package/{types → fs/types}/result/test.f.d.ts +0 -0
  326. /package/{types → fs/types}/result/test.f.js +0 -0
  327. /package/{types → fs/types}/rtti/module.f.d.ts +0 -0
  328. /package/{types → fs/types}/rtti/module.f.js +0 -0
  329. /package/{types → fs/types}/rtti/test.f.d.ts +0 -0
  330. /package/{types → fs/types}/rtti/test.f.js +0 -0
  331. /package/{types → fs/types}/rtti/ts/module.f.d.ts +0 -0
  332. /package/{types → fs/types}/rtti/ts/module.f.js +0 -0
  333. /package/{types → fs/types}/rtti/ts/test.f.d.ts +0 -0
  334. /package/{types → fs/types}/rtti/ts/test.f.js +0 -0
  335. /package/{types → fs/types}/sorted_list/module.f.d.ts +0 -0
  336. /package/{types → fs/types}/sorted_list/module.f.js +0 -0
  337. /package/{types → fs/types}/sorted_list/test.f.d.ts +0 -0
  338. /package/{types → fs/types}/sorted_list/test.f.js +0 -0
  339. /package/{types → fs/types}/sorted_set/module.f.d.ts +0 -0
  340. /package/{types → fs/types}/sorted_set/module.f.js +0 -0
  341. /package/{types → fs/types}/sorted_set/test.f.d.ts +0 -0
  342. /package/{types → fs/types}/sorted_set/test.f.js +0 -0
  343. /package/{types → fs/types}/string/module.f.d.ts +0 -0
  344. /package/{types → fs/types}/string/module.f.js +0 -0
  345. /package/{types → fs/types}/string/test.f.d.ts +0 -0
  346. /package/{types → fs/types}/string/test.f.js +0 -0
  347. /package/{types → fs/types}/string_set/module.f.d.ts +0 -0
  348. /package/{types → fs/types}/string_set/module.f.js +0 -0
  349. /package/{types → fs/types}/string_set/test.f.d.ts +0 -0
  350. /package/{types → fs/types}/string_set/test.f.js +0 -0
  351. /package/{types → fs/types}/ts/module.f.d.ts +0 -0
  352. /package/{types → fs/types}/ts/module.f.js +0 -0
  353. /package/{types → fs/types}/uint8array/module.f.js +0 -0
  354. /package/{types → fs/types}/uint8array/test.f.d.ts +0 -0
  355. /package/{types → fs/types}/uint8array/test.f.js +0 -0
  356. /package/{website → fs/website}/module.f.d.ts +0 -0
  357. /package/{website → fs/website}/module.f.js +0 -0
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Bijective encoding between words of level-k symbols and single symbols of level k+1,
3
+ * for the first three literal SUL levels.
4
+ *
5
+ * @module
6
+ */
7
+ import { type Vec } from '../../../types/bit_vec/module.f.ts';
8
+ import type { Func } from '../../../types/function/module.f.ts';
9
+ import { type Equal, type StateScan } from '../../../types/function/operator/module.f.ts';
10
+ import { type List } from '../../../types/list/module.f.ts';
11
+ export declare const symbolToString: (s: bigint) => string;
12
+ export type Word = readonly bigint[];
13
+ export declare const wordToString: (word: List<bigint>) => string;
14
+ export declare const wordEqual: Equal<List<bigint>>;
15
+ /**
16
+ * Streaming encoder state: `[last, part]`.
17
+ * - `last` — the most recently consumed input symbol, or `undefined` before any symbol is seen.
18
+ * - `part` — accumulated index offset from the decreasing prefix consumed so far.
19
+ */
20
+ export type EncodeState = readonly [bigint | undefined, bigint];
21
+ /** Initial encoder state: no symbols seen, zero offset. */
22
+ export declare const emptyEncodeState: EncodeState;
23
+ /**
24
+ * A literal SUL level with finite alphabet `[0, n)`.
25
+ */
26
+ export type Level = {
27
+ /** Number of valid words whose first symbol is ≤ `i`. */
28
+ readonly sum: (i: bigint) => bigint;
29
+ /** Inverse of {@link Level.encode}: restores the complete word from a symbol. */
30
+ readonly decode: (i: bigint) => List<bigint>;
31
+ /** Streaming encoder: processes one input symbol at a time, emitting an output symbol only
32
+ * when the terminating symbol `t >= last` arrives. */
33
+ readonly encode: StateScan<bigint, EncodeState, bigint | undefined>;
34
+ };
35
+ /**
36
+ * Creates a {@link Level} for alphabet size `n = 2^e + 1`.
37
+ *
38
+ * The first three levels for a tree starting from a binary alphabet:
39
+ *
40
+ * | `e` | `n` |
41
+ * |------|--------|
42
+ * | `0` | `2` |
43
+ * | `2` | `5` |
44
+ * | `7` | `0x81` |
45
+ *
46
+ * @param e `log2(n - 1)`
47
+ */
48
+ export declare const level: (e: bigint) => Level;
49
+ /** Combined encoder state for the three-level literal pipeline (L1 → L2 → L3). */
50
+ export type PipelineState = readonly [EncodeState, EncodeState, EncodeState];
51
+ /** Initial state for the three-level literal pipeline. */
52
+ export declare const emptyPipelineState: PipelineState;
53
+ /**
54
+ * Advances the three-level literal pipeline by one bit.
55
+ * Returns a level-3 symbol whenever the pipeline emits, otherwise `undefined`.
56
+ */
57
+ export declare const pipelineStep: StateScan<bigint, PipelineState, bigint | undefined>;
58
+ export type LiteralToVec = Func<bigint, Vec>;
59
+ /** Decodes a level-1 symbol to its canonical MSB bit vector. */
60
+ export declare const literal1ToVec: LiteralToVec;
61
+ /** Decodes a level-2 symbol to its canonical MSB bit vector (via level-1 decoding). */
62
+ export declare const literal2ToVec: LiteralToVec;
63
+ /** Decodes a level-3 symbol to its canonical MSB bit vector (via level-2 and level-1 decoding). */
64
+ export declare const literal3ToVec: LiteralToVec;
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Bijective encoding between words of level-k symbols and single symbols of level k+1,
3
+ * for the first three literal SUL levels.
4
+ *
5
+ * @module
6
+ */
7
+ import { log2 } from "../../../types/bigint/module.f.js";
8
+ import { listToVec, msb, vec } from "../../../types/bit_vec/module.f.js";
9
+ import { strictEqual } from "../../../types/function/operator/module.f.js";
10
+ import { equal, map } from "../../../types/list/module.f.js";
11
+ import { join } from "../../../types/string/module.f.js";
12
+ export const symbolToString = (s) => s.toString(16);
13
+ export const wordToString = (word) => join(',')(map(symbolToString)(word));
14
+ export const wordEqual = equal(strictEqual);
15
+ /** Initial encoder state: no symbols seen, zero offset. */
16
+ export const emptyEncodeState = [undefined, 0n];
17
+ /**
18
+ * Creates a {@link Level} for alphabet size `n = 2^e + 1`.
19
+ *
20
+ * The first three levels for a tree starting from a binary alphabet:
21
+ *
22
+ * | `e` | `n` |
23
+ * |------|--------|
24
+ * | `0` | `2` |
25
+ * | `2` | `5` |
26
+ * | `7` | `0x81` |
27
+ *
28
+ * @param e `log2(n - 1)`
29
+ */
30
+ export const level = (e) => {
31
+ // m = n - 1
32
+ const m = 1n << e;
33
+ const n = m + 1n;
34
+ // k = n - 2
35
+ const k = m - 1n;
36
+ // m2 = 2 * m
37
+ const m2 = m << 1n;
38
+ const e1 = e + 1n;
39
+ const sum = (i) => (m2 << i) + i - k;
40
+ const decode = (i) => () => {
41
+ const r = log2((i + k) >> e1);
42
+ const s0 = sum(r) > i ? r : r + 1n;
43
+ const s1 = i - sum(s0) + n;
44
+ return s1 >= s0 ? [s0, s1] : {
45
+ first: s0,
46
+ tail: decode(i - sum(s0 - 1n))
47
+ };
48
+ };
49
+ return {
50
+ sum,
51
+ decode,
52
+ encode: (i, [last, part]) => last === undefined ? [undefined, [i, 0n]] :
53
+ last > i ? [undefined, [i, part + sum(last - 1n)]] :
54
+ [part + sum(last) + i - n, emptyEncodeState]
55
+ };
56
+ };
57
+ const l1 = level(0n);
58
+ const l2 = level(2n);
59
+ const l3 = level(7n);
60
+ /** Initial state for the three-level literal pipeline. */
61
+ export const emptyPipelineState = [emptyEncodeState, emptyEncodeState, emptyEncodeState];
62
+ /**
63
+ * Advances the three-level literal pipeline by one bit.
64
+ * Returns a level-3 symbol whenever the pipeline emits, otherwise `undefined`.
65
+ */
66
+ export const pipelineStep = (bit, [l1s, l2s, l3s]) => {
67
+ const [l1Out, newL1s] = l1.encode(bit, l1s);
68
+ if (l1Out === undefined)
69
+ return [undefined, [newL1s, l2s, l3s]];
70
+ const [l2Out, newL2s] = l2.encode(l1Out, l2s);
71
+ if (l2Out === undefined)
72
+ return [undefined, [newL1s, newL2s, l3s]];
73
+ const [l3Out, newL3s] = l3.encode(l2Out, l3s);
74
+ return [l3Out, [newL1s, newL2s, newL3s]];
75
+ };
76
+ const concat = listToVec(msb);
77
+ const vec1 = vec(1n);
78
+ const literalToVec = (prior, e) => {
79
+ const m = map(prior);
80
+ const { decode } = level(e);
81
+ return literal => concat(m(decode(literal)));
82
+ };
83
+ /** Decodes a level-1 symbol to its canonical MSB bit vector. */
84
+ export const literal1ToVec = literalToVec(vec1, 0n);
85
+ /** Decodes a level-2 symbol to its canonical MSB bit vector (via level-1 decoding). */
86
+ export const literal2ToVec = literalToVec(literal1ToVec, 2n);
87
+ /** Decodes a level-3 symbol to its canonical MSB bit vector (via level-2 and level-1 decoding). */
88
+ export const literal3ToVec = literalToVec(literal2ToVec, 7n);
@@ -0,0 +1,12 @@
1
+ declare const _default: {
2
+ x2: () => void;
3
+ x5: () => void;
4
+ x81: () => void;
5
+ toVec: {
6
+ level1: () => void;
7
+ level2: () => void;
8
+ level3: () => void;
9
+ };
10
+ pipeline: () => void;
11
+ };
12
+ export default _default;