functionalscript 0.2.6 → 0.3.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 (428) hide show
  1. package/.github/workflows/ci.yml +20 -4
  2. package/CHANGELOG.md +5 -0
  3. package/com/cpp/{module.f.mjs → module.f.ts} +65 -44
  4. package/com/cpp/{test.f.mjs → test.f.ts} +1 -1
  5. package/com/cpp/testlib.f.ts +8 -0
  6. package/com/cs/{module.f.mjs → module.f.ts} +47 -38
  7. package/com/cs/{test.f.mjs → test.f.ts} +2 -2
  8. package/com/cs/testlib.f.ts +8 -0
  9. package/com/rust/module.f.ts +287 -0
  10. package/com/rust/{test.f.mjs → test.f.ts} +1 -1
  11. package/com/rust/testlib.f.ts +8 -0
  12. package/com/test/{build.f.mjs → build.f.ts} +47 -45
  13. package/com/test/{build.mjs → build.ts} +7 -6
  14. package/com/types/module.f.ts +62 -0
  15. package/com/types/{testlib.f.mjs → testlib.f.ts} +2 -3
  16. package/commonjs/build/module.f.ts +100 -0
  17. package/commonjs/build/{test.f.mjs → test.f.ts} +21 -17
  18. package/commonjs/module/function/module.f.ts +13 -0
  19. package/commonjs/module/module.f.ts +41 -0
  20. package/commonjs/module.f.ts +7 -0
  21. package/commonjs/{module.mjs → module.ts} +12 -9
  22. package/commonjs/package/dependencies/module.f.ts +22 -0
  23. package/commonjs/package/dependencies/{test.f.mjs → test.f.ts} +1 -1
  24. package/commonjs/package/module.f.ts +31 -0
  25. package/commonjs/package/{test.f.mjs → test.f.ts} +1 -1
  26. package/commonjs/path/{module.f.mjs → module.f.ts} +72 -67
  27. package/commonjs/path/{test.f.mjs → test.f.ts} +25 -19
  28. package/commonjs/{test.mjs → test.ts} +5 -4
  29. package/crypto/prime_field/{module.f.mjs → module.f.ts} +40 -37
  30. package/crypto/prime_field/{test.f.mjs → test.f.ts} +7 -5
  31. package/crypto/secp/{module.f.mjs → module.f.ts} +44 -44
  32. package/crypto/secp/{test.f.mjs → test.f.ts} +16 -11
  33. package/crypto/sha2/{module.f.mjs → module.f.ts} +61 -46
  34. package/crypto/sha2/{test.f.mjs → test.f.ts} +12 -9
  35. package/deno.json +71 -0
  36. package/dev/README.md +8 -0
  37. package/dev/index.ts +3 -0
  38. package/dev/{module.f.mjs → module.f.ts} +0 -2
  39. package/dev/{module.mjs → module.ts} +66 -61
  40. package/dev/test/{module.f.mjs → module.f.ts} +57 -70
  41. package/dev/{test.f.mjs → test.f.ts} +7 -5
  42. package/dev/test.ts +53 -0
  43. package/djs/{module.f.mjs → module.f.ts} +31 -31
  44. package/djs/parser/{module.f.mjs → module.f.ts} +190 -182
  45. package/djs/parser/{test.f.mjs → test.f.ts} +173 -150
  46. package/djs/serializer/module.f.ts +90 -0
  47. package/djs/{test.f.mjs → test.f.ts} +4 -4
  48. package/djs/tokenizer/{module.f.mjs → module.f.ts} +35 -42
  49. package/djs/tokenizer/{test.f.mjs → test.f.ts} +9 -8
  50. package/fsc/{module.f.mjs → module.f.ts} +41 -44
  51. package/fsc/{test.f.mjs → test.f.ts} +8 -6
  52. package/fsm/module.f.ts +107 -0
  53. package/fsm/{test.f.mjs → test.f.ts} +10 -9
  54. package/html/module.f.ts +108 -0
  55. package/html/{test.f.mjs → test.f.ts} +10 -7
  56. package/issues/lang/3110-function.md +25 -1
  57. package/issues/{test.f.mjs → test.f.ts} +3 -2
  58. package/js/tokenizer/module.f.ts +882 -0
  59. package/js/tokenizer/{test.f.mjs → test.f.ts} +11 -10
  60. package/json/module.f.ts +94 -0
  61. package/json/parser/{module.f.mjs → module.f.ts} +113 -109
  62. package/json/parser/{test.f.mjs → test.f.ts} +10 -9
  63. package/json/serializer/module.f.ts +70 -0
  64. package/json/serializer/{test.f.mjs → test.f.ts} +3 -3
  65. package/json/{test.f.mjs → test.f.ts} +3 -3
  66. package/json/tokenizer/{module.f.mjs → module.f.ts} +29 -36
  67. package/json/tokenizer/{test.f.mjs → test.f.ts} +9 -8
  68. package/nanvm-lib/src/extension.rs +15 -4
  69. package/nanvm-lib/src/interface.rs +7 -10
  70. package/nanvm-lib/src/lib.rs +3 -3
  71. package/nanvm-lib/src/naive.rs +10 -3
  72. package/nanvm-lib/src/nanenum.rs +5 -1
  73. package/nanvm-lib/tests/{test.f.mjs → test.f.ts} +7 -6
  74. package/nodejs/version/{main.mjs → main.ts} +1 -1
  75. package/nodejs/version/module.f.ts +42 -0
  76. package/nodejs/version/{test.f.mjs → test.f.ts} +11 -12
  77. package/package.json +9 -9
  78. package/text/ascii/{module.f.mjs → module.f.ts} +10 -8
  79. package/text/ascii/{test.f.mjs → test.f.ts} +4 -4
  80. package/text/module.f.ts +30 -0
  81. package/text/sgr/{module.f.mjs → module.f.ts} +3 -5
  82. package/text/{test.f.mjs → test.f.ts} +5 -4
  83. package/text/utf16/module.f.ts +108 -0
  84. package/text/utf16/{test.f.mjs → test.f.ts} +7 -6
  85. package/text/utf8/{module.f.mjs → module.f.ts} +29 -23
  86. package/text/utf8/{test.f.mjs → test.f.ts} +4 -4
  87. package/tsconfig.json +4 -1
  88. package/types/array/module.f.ts +89 -0
  89. package/types/array/{test.f.mjs → test.f.ts} +3 -3
  90. package/types/bigfloat/{module.f.mjs → module.f.ts} +25 -20
  91. package/types/bigfloat/{test.f.mjs → test.f.ts} +1 -1
  92. package/types/bigint/{module.f.mjs → module.f.ts} +29 -28
  93. package/types/bigint/{test.f.mjs → test.f.ts} +2 -2
  94. package/types/bit_vec/{module.f.mjs → module.f.ts} +16 -37
  95. package/types/bit_vec/{test.f.mjs → test.f.ts} +1 -1
  96. package/types/btree/find/module.f.ts +92 -0
  97. package/types/btree/find/{test.f.mjs → test.f.ts} +20 -16
  98. package/types/btree/{module.f.mjs → module.f.ts} +9 -9
  99. package/types/btree/remove/{module.f.mjs → module.f.ts} +43 -53
  100. package/types/btree/remove/{test.f.mjs → test.f.ts} +19 -15
  101. package/types/btree/set/{module.f.mjs → module.f.ts} +17 -20
  102. package/types/btree/set/{test.f.mjs → test.f.ts} +96 -66
  103. package/types/btree/{test.f.mjs → test.f.ts} +34 -26
  104. package/types/btree/types/module.f.ts +27 -0
  105. package/types/byte_set/module.f.ts +70 -0
  106. package/types/byte_set/{test.f.mjs → test.f.ts} +8 -7
  107. package/types/function/compare/module.f.ts +26 -0
  108. package/types/function/compare/{test.f.mjs → test.f.ts} +1 -1
  109. package/types/function/module.f.ts +43 -0
  110. package/types/function/operator/module.f.ts +63 -0
  111. package/types/function/test.f.ts +20 -0
  112. package/types/list/module.f.ts +345 -0
  113. package/types/list/{test.f.mjs → test.f.ts} +30 -24
  114. package/types/map/module.f.ts +65 -0
  115. package/types/map/{test.f.mjs → test.f.ts} +6 -5
  116. package/types/nibble_set/module.f.ts +34 -0
  117. package/types/nibble_set/{test.f.mjs → test.f.ts} +3 -3
  118. package/types/nullable/module.f.ts +9 -0
  119. package/types/nullable/{test.f.mjs → test.f.ts} +2 -2
  120. package/types/number/module.f.ts +16 -0
  121. package/types/number/{test.f.mjs → test.f.ts} +7 -5
  122. package/types/object/module.f.ts +30 -0
  123. package/types/object/{test.f.mjs → test.f.ts} +2 -2
  124. package/types/range/module.f.ts +10 -0
  125. package/types/range/{test.f.mjs → test.f.ts} +1 -1
  126. package/types/range_map/module.f.ts +70 -0
  127. package/types/range_map/{test.f.mjs → test.f.ts} +82 -57
  128. package/types/result/module.f.ts +20 -0
  129. package/types/result/{module.mjs → module.ts} +4 -3
  130. package/types/sorted_list/module.f.ts +83 -0
  131. package/types/sorted_list/{test.f.mjs → test.f.ts} +14 -12
  132. package/types/sorted_set/module.f.ts +36 -0
  133. package/types/sorted_set/{test.f.mjs → test.f.ts} +14 -12
  134. package/types/string/module.f.ts +24 -0
  135. package/types/string/{test.f.mjs → test.f.ts} +2 -2
  136. package/types/string_set/module.f.ts +37 -0
  137. package/types/string_set/{test.f.mjs → test.f.ts} +2 -2
  138. package/com/cpp/testlib.f.mjs +0 -8
  139. package/com/cs/testlib.f.mjs +0 -8
  140. package/com/rust/module.f.mjs +0 -272
  141. package/com/rust/testlib.f.mjs +0 -8
  142. package/com/types/module.f.mjs +0 -67
  143. package/commonjs/build/module.f.mjs +0 -100
  144. package/commonjs/module/function/module.f.mjs +0 -21
  145. package/commonjs/module/module.f.mjs +0 -53
  146. package/commonjs/module.f.mjs +0 -11
  147. package/commonjs/package/dependencies/module.f.mjs +0 -22
  148. package/commonjs/package/module.f.mjs +0 -36
  149. package/dev/index.mjs +0 -3
  150. package/dev/test.mjs +0 -60
  151. package/fsm/module.f.mjs +0 -99
  152. package/html/module.f.mjs +0 -102
  153. package/js/tokenizer/module.f.mjs +0 -872
  154. package/json/module.f.mjs +0 -89
  155. package/json/serializer/module.f.mjs +0 -87
  156. package/jsr.json +0 -66
  157. package/nodejs/version/module.f.mjs +0 -47
  158. package/out/com/cpp/module.f.d.mts +0 -7
  159. package/out/com/cpp/module.f.mjs +0 -130
  160. package/out/com/cpp/test.f.d.mts +0 -2
  161. package/out/com/cpp/test.f.mjs +0 -40
  162. package/out/com/cpp/testlib.f.d.mts +0 -2
  163. package/out/com/cpp/testlib.f.mjs +0 -7
  164. package/out/com/cs/module.f.d.mts +0 -7
  165. package/out/com/cs/module.f.mjs +0 -104
  166. package/out/com/cs/test.f.d.mts +0 -2
  167. package/out/com/cs/test.f.mjs +0 -43
  168. package/out/com/cs/testlib.f.d.mts +0 -2
  169. package/out/com/cs/testlib.f.mjs +0 -7
  170. package/out/com/rust/module.f.d.mts +0 -23
  171. package/out/com/rust/module.f.mjs +0 -224
  172. package/out/com/rust/test.f.d.mts +0 -2
  173. package/out/com/rust/test.f.mjs +0 -123
  174. package/out/com/rust/testlib.f.d.mts +0 -2
  175. package/out/com/rust/testlib.f.mjs +0 -7
  176. package/out/com/test/build.d.mts +0 -1
  177. package/out/com/test/build.f.d.mts +0 -26
  178. package/out/com/test/build.f.mjs +0 -98
  179. package/out/com/test/build.mjs +0 -40
  180. package/out/com/types/module.f.d.mts +0 -23
  181. package/out/com/types/module.f.mjs +0 -51
  182. package/out/com/types/testlib.f.d.mts +0 -44
  183. package/out/com/types/testlib.f.mjs +0 -30
  184. package/out/commonjs/build/module.f.d.mts +0 -20
  185. package/out/commonjs/build/module.f.mjs +0 -107
  186. package/out/commonjs/build/test.f.d.mts +0 -3
  187. package/out/commonjs/build/test.f.mjs +0 -102
  188. package/out/commonjs/module/function/module.f.d.mts +0 -5
  189. package/out/commonjs/module/function/module.f.mjs +0 -15
  190. package/out/commonjs/module/module.f.d.mts +0 -52
  191. package/out/commonjs/module/module.f.mjs +0 -48
  192. package/out/commonjs/module.d.mts +0 -3
  193. package/out/commonjs/module.f.d.mts +0 -2
  194. package/out/commonjs/module.f.mjs +0 -10
  195. package/out/commonjs/module.mjs +0 -26
  196. package/out/commonjs/package/dependencies/module.f.d.mts +0 -6
  197. package/out/commonjs/package/dependencies/module.f.mjs +0 -21
  198. package/out/commonjs/package/dependencies/test.f.d.mts +0 -2
  199. package/out/commonjs/package/dependencies/test.f.mjs +0 -15
  200. package/out/commonjs/package/module.f.d.mts +0 -21
  201. package/out/commonjs/package/module.f.mjs +0 -40
  202. package/out/commonjs/package/test.f.d.mts +0 -2
  203. package/out/commonjs/package/test.f.mjs +0 -27
  204. package/out/commonjs/path/module.f.d.mts +0 -60
  205. package/out/commonjs/path/module.f.mjs +0 -171
  206. package/out/commonjs/path/test.f.d.mts +0 -25
  207. package/out/commonjs/path/test.f.mjs +0 -231
  208. package/out/commonjs/test.d.mts +0 -8
  209. package/out/commonjs/test.mjs +0 -87
  210. package/out/crypto/prime_field/module.f.d.mts +0 -67
  211. package/out/crypto/prime_field/module.f.mjs +0 -110
  212. package/out/crypto/prime_field/test.f.d.mts +0 -13
  213. package/out/crypto/prime_field/test.f.mjs +0 -152
  214. package/out/crypto/secp/module.f.d.mts +0 -110
  215. package/out/crypto/secp/module.f.mjs +0 -173
  216. package/out/crypto/secp/test.f.d.mts +0 -5
  217. package/out/crypto/secp/test.f.mjs +0 -78
  218. package/out/crypto/sha2/module.f.d.mts +0 -15
  219. package/out/crypto/sha2/module.f.mjs +0 -172
  220. package/out/crypto/sha2/test.f.d.mts +0 -10
  221. package/out/crypto/sha2/test.f.mjs +0 -86
  222. package/out/dev/index.d.mts +0 -1
  223. package/out/dev/index.mjs +0 -2
  224. package/out/dev/module.d.mts +0 -26
  225. package/out/dev/module.f.d.mts +0 -1
  226. package/out/dev/module.f.mjs +0 -2
  227. package/out/dev/module.mjs +0 -167
  228. package/out/dev/test/module.f.d.mts +0 -25
  229. package/out/dev/test/module.f.mjs +0 -134
  230. package/out/dev/test.d.mts +0 -3
  231. package/out/dev/test.f.d.mts +0 -9
  232. package/out/dev/test.f.mjs +0 -58
  233. package/out/dev/test.mjs +0 -52
  234. package/out/djs/module.f.d.mts +0 -20
  235. package/out/djs/module.f.mjs +0 -79
  236. package/out/djs/parser/module.f.d.mts +0 -56
  237. package/out/djs/parser/module.f.mjs +0 -448
  238. package/out/djs/parser/test.f.d.mts +0 -13
  239. package/out/djs/parser/test.f.mjs +0 -569
  240. package/out/djs/test.f.d.mts +0 -12
  241. package/out/djs/test.f.mjs +0 -84
  242. package/out/djs/tokenizer/module.f.d.mts +0 -13
  243. package/out/djs/tokenizer/module.f.mjs +0 -91
  244. package/out/djs/tokenizer/test.f.d.mts +0 -7
  245. package/out/djs/tokenizer/test.f.mjs +0 -530
  246. package/out/fsc/module.f.d.mts +0 -7
  247. package/out/fsc/module.f.mjs +0 -105
  248. package/out/fsc/test.f.d.mts +0 -4
  249. package/out/fsc/test.f.mjs +0 -19
  250. package/out/fsm/module.f.d.mts +0 -14
  251. package/out/fsm/module.f.mjs +0 -80
  252. package/out/fsm/test.f.d.mts +0 -5
  253. package/out/fsm/test.f.mjs +0 -138
  254. package/out/html/module.f.d.mts +0 -17
  255. package/out/html/module.f.mjs +0 -80
  256. package/out/html/test.f.d.mts +0 -10
  257. package/out/html/test.f.mjs +0 -45
  258. package/out/issues/test.f.d.mts +0 -16
  259. package/out/issues/test.f.mjs +0 -66
  260. package/out/js/tokenizer/module.f.d.mts +0 -163
  261. package/out/js/tokenizer/module.f.mjs +0 -729
  262. package/out/js/tokenizer/test.f.d.mts +0 -9
  263. package/out/js/tokenizer/test.f.mjs +0 -906
  264. package/out/json/module.f.d.mts +0 -33
  265. package/out/json/module.f.mjs +0 -89
  266. package/out/json/parser/module.f.d.mts +0 -32
  267. package/out/json/parser/module.f.mjs +0 -224
  268. package/out/json/parser/test.f.d.mts +0 -5
  269. package/out/json/parser/test.f.mjs +0 -329
  270. package/out/json/serializer/module.f.d.mts +0 -36
  271. package/out/json/serializer/module.f.mjs +0 -67
  272. package/out/json/serializer/test.f.d.mts +0 -8
  273. package/out/json/serializer/test.f.mjs +0 -87
  274. package/out/json/test.f.d.mts +0 -8
  275. package/out/json/test.f.mjs +0 -61
  276. package/out/json/tokenizer/module.f.d.mts +0 -13
  277. package/out/json/tokenizer/module.f.mjs +0 -78
  278. package/out/json/tokenizer/test.f.d.mts +0 -6
  279. package/out/json/tokenizer/test.f.mjs +0 -420
  280. package/out/nanvm-lib/tests/test.f.d.mts +0 -36
  281. package/out/nanvm-lib/tests/test.f.mjs +0 -87
  282. package/out/nodejs/version/main.d.mts +0 -1
  283. package/out/nodejs/version/main.mjs +0 -3
  284. package/out/nodejs/version/module.f.d.mts +0 -12
  285. package/out/nodejs/version/module.f.mjs +0 -34
  286. package/out/nodejs/version/test.f.d.mts +0 -2
  287. package/out/nodejs/version/test.f.mjs +0 -97
  288. package/out/text/ascii/module.f.d.mts +0 -70
  289. package/out/text/ascii/module.f.mjs +0 -154
  290. package/out/text/ascii/test.f.d.mts +0 -4
  291. package/out/text/ascii/test.f.mjs +0 -14
  292. package/out/text/module.f.d.mts +0 -13
  293. package/out/text/module.f.mjs +0 -19
  294. package/out/text/sgr/module.f.d.mts +0 -12
  295. package/out/text/sgr/module.f.mjs +0 -17
  296. package/out/text/test.f.d.mts +0 -2
  297. package/out/text/test.f.mjs +0 -19
  298. package/out/text/utf16/module.f.d.mts +0 -12
  299. package/out/text/utf16/module.f.mjs +0 -86
  300. package/out/text/utf16/test.f.d.mts +0 -6
  301. package/out/text/utf16/test.f.mjs +0 -145
  302. package/out/text/utf8/module.f.d.mts +0 -10
  303. package/out/text/utf8/module.f.mjs +0 -126
  304. package/out/text/utf8/test.f.d.mts +0 -6
  305. package/out/text/utf8/test.f.mjs +0 -175
  306. package/out/types/array/module.f.d.mts +0 -31
  307. package/out/types/array/module.f.mjs +0 -95
  308. package/out/types/array/test.f.d.mts +0 -10
  309. package/out/types/array/test.f.mjs +0 -116
  310. package/out/types/bigfloat/module.f.d.mts +0 -6
  311. package/out/types/bigfloat/module.f.mjs +0 -77
  312. package/out/types/bigfloat/test.f.d.mts +0 -6
  313. package/out/types/bigfloat/test.f.mjs +0 -349
  314. package/out/types/bigint/module.f.d.mts +0 -29
  315. package/out/types/bigint/module.f.mjs +0 -114
  316. package/out/types/bigint/test.f.d.mts +0 -16
  317. package/out/types/bigint/test.f.mjs +0 -199
  318. package/out/types/bit_vec/module.f.d.mts +0 -158
  319. package/out/types/bit_vec/module.f.mjs +0 -194
  320. package/out/types/bit_vec/test.f.d.mts +0 -23
  321. package/out/types/bit_vec/test.f.mjs +0 -210
  322. package/out/types/btree/find/module.f.d.mts +0 -36
  323. package/out/types/btree/find/module.f.mjs +0 -137
  324. package/out/types/btree/find/test.f.d.mts +0 -2
  325. package/out/types/btree/find/test.f.mjs +0 -156
  326. package/out/types/btree/module.f.d.mts +0 -5
  327. package/out/types/btree/module.f.mjs +0 -34
  328. package/out/types/btree/remove/module.f.d.mts +0 -14
  329. package/out/types/btree/remove/module.f.mjs +0 -209
  330. package/out/types/btree/remove/test.f.d.mts +0 -7
  331. package/out/types/btree/remove/test.f.mjs +0 -638
  332. package/out/types/btree/set/module.f.d.mts +0 -5
  333. package/out/types/btree/set/module.f.mjs +0 -114
  334. package/out/types/btree/set/test.f.d.mts +0 -2
  335. package/out/types/btree/set/test.f.mjs +0 -390
  336. package/out/types/btree/test.f.d.mts +0 -13
  337. package/out/types/btree/test.f.mjs +0 -83
  338. package/out/types/btree/types/module.f.d.mts +0 -14
  339. package/out/types/btree/types/module.f.mjs +0 -50
  340. package/out/types/byte_set/module.f.d.mts +0 -25
  341. package/out/types/byte_set/module.f.mjs +0 -42
  342. package/out/types/byte_set/test.f.d.mts +0 -13
  343. package/out/types/byte_set/test.f.mjs +0 -123
  344. package/out/types/function/compare/module.f.d.mts +0 -23
  345. package/out/types/function/compare/module.f.mjs +0 -22
  346. package/out/types/function/compare/test.f.d.mts +0 -2
  347. package/out/types/function/compare/test.f.mjs +0 -8
  348. package/out/types/function/module.f.d.mts +0 -51
  349. package/out/types/function/module.f.mjs +0 -44
  350. package/out/types/function/operator/module.f.d.mts +0 -60
  351. package/out/types/function/operator/module.f.mjs +0 -60
  352. package/out/types/function/test.f.d.mts +0 -2
  353. package/out/types/function/test.f.mjs +0 -15
  354. package/out/types/list/module.f.d.mts +0 -82
  355. package/out/types/list/module.f.mjs +0 -269
  356. package/out/types/list/test.f.d.mts +0 -38
  357. package/out/types/list/test.f.mjs +0 -401
  358. package/out/types/map/module.f.d.mts +0 -21
  359. package/out/types/map/module.f.mjs +0 -54
  360. package/out/types/map/test.f.d.mts +0 -5
  361. package/out/types/map/test.f.mjs +0 -115
  362. package/out/types/nibble_set/module.f.d.mts +0 -16
  363. package/out/types/nibble_set/module.f.mjs +0 -19
  364. package/out/types/nibble_set/test.f.d.mts +0 -13
  365. package/out/types/nibble_set/test.f.mjs +0 -90
  366. package/out/types/nullable/module.f.d.mts +0 -9
  367. package/out/types/nullable/module.f.mjs +0 -9
  368. package/out/types/nullable/test.f.d.mts +0 -2
  369. package/out/types/nullable/test.f.mjs +0 -12
  370. package/out/types/number/module.f.d.mts +0 -7
  371. package/out/types/number/module.f.mjs +0 -12
  372. package/out/types/number/test.f.d.mts +0 -11
  373. package/out/types/number/test.f.mjs +0 -126
  374. package/out/types/object/module.f.d.mts +0 -22
  375. package/out/types/object/module.f.mjs +0 -27
  376. package/out/types/object/test.f.d.mts +0 -5
  377. package/out/types/object/test.f.mjs +0 -17
  378. package/out/types/range/module.f.d.mts +0 -6
  379. package/out/types/range/module.f.mjs +0 -6
  380. package/out/types/range/test.f.d.mts +0 -2
  381. package/out/types/range/test.f.mjs +0 -18
  382. package/out/types/range_map/module.f.d.mts +0 -19
  383. package/out/types/range_map/module.f.mjs +0 -84
  384. package/out/types/range_map/test.f.d.mts +0 -6
  385. package/out/types/range_map/test.f.mjs +0 -201
  386. package/out/types/result/module.d.mts +0 -7
  387. package/out/types/result/module.f.d.mts +0 -22
  388. package/out/types/result/module.f.mjs +0 -25
  389. package/out/types/result/module.mjs +0 -16
  390. package/out/types/sorted_list/module.f.d.mts +0 -53
  391. package/out/types/sorted_list/module.f.mjs +0 -102
  392. package/out/types/sorted_list/test.f.d.mts +0 -5
  393. package/out/types/sorted_list/test.f.mjs +0 -66
  394. package/out/types/sorted_set/module.f.d.mts +0 -19
  395. package/out/types/sorted_set/module.f.mjs +0 -29
  396. package/out/types/sorted_set/test.f.d.mts +0 -6
  397. package/out/types/sorted_set/test.f.mjs +0 -80
  398. package/out/types/string/module.f.d.mts +0 -9
  399. package/out/types/string/module.f.mjs +0 -17
  400. package/out/types/string/test.f.d.mts +0 -15
  401. package/out/types/string/test.f.mjs +0 -58
  402. package/out/types/string_set/module.f.d.mts +0 -13
  403. package/out/types/string_set/module.f.mjs +0 -29
  404. package/out/types/string_set/test.f.d.mts +0 -5
  405. package/out/types/string_set/test.f.mjs +0 -65
  406. package/text/module.f.mjs +0 -27
  407. package/text/utf16/module.f.mjs +0 -96
  408. package/types/array/module.f.mjs +0 -119
  409. package/types/btree/find/module.f.mjs +0 -125
  410. package/types/btree/types/module.f.mjs +0 -64
  411. package/types/byte_set/module.f.mjs +0 -61
  412. package/types/function/compare/module.f.mjs +0 -29
  413. package/types/function/module.f.mjs +0 -50
  414. package/types/function/operator/module.f.mjs +0 -78
  415. package/types/function/test.f.mjs +0 -17
  416. package/types/list/module.f.mjs +0 -320
  417. package/types/map/module.f.mjs +0 -67
  418. package/types/nibble_set/module.f.mjs +0 -28
  419. package/types/nullable/module.f.mjs +0 -11
  420. package/types/number/module.f.mjs +0 -16
  421. package/types/object/module.f.mjs +0 -33
  422. package/types/range/module.f.mjs +0 -8
  423. package/types/range_map/module.f.mjs +0 -84
  424. package/types/result/module.f.mjs +0 -28
  425. package/types/sorted_list/module.f.mjs +0 -107
  426. package/types/sorted_set/module.f.mjs +0 -38
  427. package/types/string/module.f.mjs +0 -22
  428. package/types/string_set/module.f.mjs +0 -36
@@ -1,329 +0,0 @@
1
- import * as parser from './module.f.mjs';
2
- import * as tokenizer from '../tokenizer/module.f.mjs';
3
- import * as list from '../../types/list/module.f.mjs';
4
- const { toArray } = list;
5
- import * as json from '../module.f.mjs';
6
- import * as o from '../../types/object/module.f.mjs';
7
- const { sort } = o;
8
- import * as encoding from '../../text/utf16/module.f.mjs';
9
- /** @type {(s: string) => readonly tokenizer.JsonToken[]} */
10
- const tokenizeString = s => toArray(tokenizer.tokenize(encoding.stringToList(s)));
11
- const stringify = json.stringify(sort);
12
- export default {
13
- valid: [
14
- () => {
15
- const tokenList = tokenizeString('null');
16
- const obj = parser.parse(tokenList);
17
- const result = stringify(obj);
18
- if (result !== '["ok",null]') {
19
- throw result;
20
- }
21
- },
22
- () => {
23
- const tokenList = tokenizeString('true');
24
- const obj = parser.parse(tokenList);
25
- const result = stringify(obj);
26
- if (result !== '["ok",true]') {
27
- throw result;
28
- }
29
- },
30
- () => {
31
- const tokenList = tokenizeString('false');
32
- const obj = parser.parse(tokenList);
33
- const result = stringify(obj);
34
- if (result !== '["ok",false]') {
35
- throw result;
36
- }
37
- },
38
- () => {
39
- const tokenList = tokenizeString('0.1');
40
- const obj = parser.parse(tokenList);
41
- const result = stringify(obj);
42
- if (result !== '["ok",0.1]') {
43
- throw result;
44
- }
45
- },
46
- () => {
47
- const tokenList = tokenizeString('1.1e+2');
48
- const obj = parser.parse(tokenList);
49
- const result = stringify(obj);
50
- if (result !== '["ok",110]') {
51
- throw result;
52
- }
53
- },
54
- () => {
55
- const tokenList = tokenizeString('"abc"');
56
- const obj = parser.parse(tokenList);
57
- const result = stringify(obj);
58
- if (result !== '["ok","abc"]') {
59
- throw result;
60
- }
61
- },
62
- () => {
63
- const tokenList = tokenizeString('[]');
64
- const obj = parser.parse(tokenList);
65
- const result = stringify(obj);
66
- if (result !== '["ok",[]]') {
67
- throw result;
68
- }
69
- },
70
- () => {
71
- const tokenList = tokenizeString('[1]');
72
- const obj = parser.parse(tokenList);
73
- const result = stringify(obj);
74
- if (result !== '["ok",[1]]') {
75
- throw result;
76
- }
77
- },
78
- () => {
79
- const tokenList = tokenizeString('[[]]');
80
- const obj = parser.parse(tokenList);
81
- const result = stringify(obj);
82
- if (result !== '["ok",[[]]]') {
83
- throw result;
84
- }
85
- },
86
- () => {
87
- const tokenList = tokenizeString('[0,[1,[2,[]]],3]');
88
- const obj = parser.parse(tokenList);
89
- const result = stringify(obj);
90
- if (result !== '["ok",[0,[1,[2,[]]],3]]') {
91
- throw result;
92
- }
93
- },
94
- () => {
95
- const tokenList = tokenizeString('{}');
96
- const obj = parser.parse(tokenList);
97
- const result = stringify(obj);
98
- if (result !== '["ok",{}]') {
99
- throw result;
100
- }
101
- },
102
- () => {
103
- const tokenList = tokenizeString('[{}]');
104
- const obj = parser.parse(tokenList);
105
- const result = stringify(obj);
106
- if (result !== '["ok",[{}]]') {
107
- throw result;
108
- }
109
- },
110
- () => {
111
- const tokenList = tokenizeString('{"a":true,"b":false,"c":null}');
112
- const obj = parser.parse(tokenList);
113
- const result = stringify(obj);
114
- if (result !== '["ok",{"a":true,"b":false,"c":null}]') {
115
- throw result;
116
- }
117
- },
118
- () => {
119
- const tokenList = tokenizeString('{"a":{"b":{"c":["d"]}}}');
120
- const obj = parser.parse(tokenList);
121
- const result = stringify(obj);
122
- if (result !== '["ok",{"a":{"b":{"c":["d"]}}}]') {
123
- throw result;
124
- }
125
- }
126
- ],
127
- invalid: [
128
- () => {
129
- const tokenList = tokenizeString('');
130
- const obj = parser.parse(tokenList);
131
- const result = stringify(obj);
132
- if (result !== '["error","unexpected end"]') {
133
- throw result;
134
- }
135
- },
136
- () => {
137
- const tokenList = tokenizeString('"123');
138
- const obj = parser.parse(tokenList);
139
- const result = stringify(obj);
140
- if (result !== '["error","unexpected token"]') {
141
- throw result;
142
- }
143
- },
144
- () => {
145
- const tokenList = tokenizeString('[,]');
146
- const obj = parser.parse(tokenList);
147
- const result = stringify(obj);
148
- if (result !== '["error","unexpected token"]') {
149
- throw result;
150
- }
151
- },
152
- () => {
153
- const tokenList = tokenizeString('[1 2]');
154
- const obj = parser.parse(tokenList);
155
- const result = stringify(obj);
156
- if (result !== '["error","unexpected token"]') {
157
- throw result;
158
- }
159
- },
160
- () => {
161
- const tokenList = tokenizeString('[1,,2]');
162
- const obj = parser.parse(tokenList);
163
- const result = stringify(obj);
164
- if (result !== '["error","unexpected token"]') {
165
- throw result;
166
- }
167
- },
168
- () => {
169
- const tokenList = tokenizeString('[]]');
170
- const obj = parser.parse(tokenList);
171
- const result = stringify(obj);
172
- if (result !== '["error","unexpected token"]') {
173
- throw result;
174
- }
175
- },
176
- () => {
177
- const tokenList = tokenizeString('["a"');
178
- const obj = parser.parse(tokenList);
179
- const result = stringify(obj);
180
- if (result !== '["error","unexpected end"]') {
181
- throw result;
182
- }
183
- },
184
- () => {
185
- const tokenList = tokenizeString('[1,]');
186
- const obj = parser.parse(tokenList);
187
- const result = stringify(obj);
188
- if (result !== '["error","unexpected token"]') {
189
- throw result;
190
- }
191
- },
192
- () => {
193
- const tokenList = tokenizeString('[,1]');
194
- const obj = parser.parse(tokenList);
195
- const result = stringify(obj);
196
- if (result !== '["error","unexpected token"]') {
197
- throw result;
198
- }
199
- },
200
- () => {
201
- const tokenList = tokenizeString('[:]');
202
- const obj = parser.parse(tokenList);
203
- const result = stringify(obj);
204
- if (result !== '["error","unexpected token"]') {
205
- throw result;
206
- }
207
- },
208
- () => {
209
- const tokenList = tokenizeString(']');
210
- const obj = parser.parse(tokenList);
211
- const result = stringify(obj);
212
- if (result !== '["error","unexpected token"]') {
213
- throw result;
214
- }
215
- },
216
- () => {
217
- const tokenList = tokenizeString('{,}');
218
- const obj = parser.parse(tokenList);
219
- const result = stringify(obj);
220
- if (result !== '["error","unexpected token"]') {
221
- throw result;
222
- }
223
- },
224
- () => {
225
- const tokenList = tokenizeString('{1:2}');
226
- const obj = parser.parse(tokenList);
227
- const result = stringify(obj);
228
- if (result !== '["error","unexpected token"]') {
229
- throw result;
230
- }
231
- },
232
- () => {
233
- const tokenList = tokenizeString('{"1"2}');
234
- const obj = parser.parse(tokenList);
235
- const result = stringify(obj);
236
- if (result !== '["error","unexpected token"]') {
237
- throw result;
238
- }
239
- },
240
- () => {
241
- const tokenList = tokenizeString('{"1"::2}');
242
- const obj = parser.parse(tokenList);
243
- const result = stringify(obj);
244
- if (result !== '["error","unexpected token"]') {
245
- throw result;
246
- }
247
- },
248
- () => {
249
- const tokenList = tokenizeString('{"1":2,,"3":4');
250
- const obj = parser.parse(tokenList);
251
- const result = stringify(obj);
252
- if (result !== '["error","unexpected token"]') {
253
- throw result;
254
- }
255
- },
256
- () => {
257
- const tokenList = tokenizeString('{}}');
258
- const obj = parser.parse(tokenList);
259
- const result = stringify(obj);
260
- if (result !== '["error","unexpected token"]') {
261
- throw result;
262
- }
263
- },
264
- () => {
265
- const tokenList = tokenizeString('{"1":2');
266
- const obj = parser.parse(tokenList);
267
- const result = stringify(obj);
268
- if (result !== '["error","unexpected end"]') {
269
- throw result;
270
- }
271
- },
272
- () => {
273
- const tokenList = tokenizeString('{"1":2,}');
274
- const obj = parser.parse(tokenList);
275
- const result = stringify(obj);
276
- if (result !== '["error","unexpected token"]') {
277
- throw result;
278
- }
279
- },
280
- () => {
281
- const tokenList = tokenizeString('{,"1":2}');
282
- const obj = parser.parse(tokenList);
283
- const result = stringify(obj);
284
- if (result !== '["error","unexpected token"]') {
285
- throw result;
286
- }
287
- },
288
- () => {
289
- const tokenList = tokenizeString('}');
290
- const obj = parser.parse(tokenList);
291
- const result = stringify(obj);
292
- if (result !== '["error","unexpected token"]') {
293
- throw result;
294
- }
295
- },
296
- () => {
297
- const tokenList = tokenizeString('[{]}');
298
- const obj = parser.parse(tokenList);
299
- const result = stringify(obj);
300
- if (result !== '["error","unexpected token"]') {
301
- throw result;
302
- }
303
- },
304
- () => {
305
- const tokenList = tokenizeString('{[}]');
306
- const obj = parser.parse(tokenList);
307
- const result = stringify(obj);
308
- if (result !== '["error","unexpected token"]') {
309
- throw result;
310
- }
311
- },
312
- () => {
313
- const tokenList = tokenizeString('10-5');
314
- const obj = parser.parse(tokenList);
315
- const result = stringify(obj);
316
- if (result !== '["error","unexpected token"]') {
317
- throw result;
318
- }
319
- },
320
- () => {
321
- const tokenList = tokenizeString('undefined');
322
- const obj = parser.parse(tokenList);
323
- const result = stringify(obj);
324
- if (result !== '["error","unexpected token"]') {
325
- throw result;
326
- }
327
- },
328
- ]
329
- };
@@ -1,36 +0,0 @@
1
- /** @type {(_: string) => list.List<string>} */
2
- export const stringSerialize: (_: string) => list.List<string>;
3
- /** @type {(_: number) => list.List<string>} */
4
- export const numberSerialize: (_: number) => list.List<string>;
5
- export const nullSerialize: string[];
6
- /** @type {(_: boolean) => list.List<string>} */
7
- export const boolSerialize: (_: boolean) => list.List<string>;
8
- export const objectWrap: (input: list.List<list.List<string>>) => list.List<string>;
9
- export const arrayWrap: (input: list.List<list.List<string>>) => list.List<string>;
10
- /**
11
- * <T>
12
- */
13
- export type Obj<T> = { readonly [k in string]: Unknown<T>; };
14
- /**
15
- * <T>
16
- */
17
- export type Arr<T> = readonly Unknown<T>[];
18
- export type Primitive = boolean | string | number | null;
19
- /**
20
- * <T>
21
- */
22
- export type Unknown<T> = Arr<T> | Obj<T> | null | T;
23
- /**
24
- * <T>
25
- */
26
- export type Entry<T> = O.Entry<Unknown<T>>;
27
- /**
28
- * <T>
29
- */
30
- export type Entries<T> = (list.List<Entry<T>>);
31
- /**
32
- * <T>
33
- */
34
- export type MapEntries<T> = (entries: Entries<T>) => Entries<T>;
35
- import * as list from '../../types/list/module.f.mjs';
36
- import * as O from '../../types/object/module.f.mjs';
@@ -1,67 +0,0 @@
1
- // @ts-self-types="./module.f.d.mts"
2
- import * as list from '../../types/list/module.f.mjs';
3
- const { flat, reduce, empty } = list;
4
- import * as O from '../../types/object/module.f.mjs';
5
- import * as Operator from '../../types/function/operator/module.f.mjs';
6
- /**
7
- * @template T
8
- * @typedef {{
9
- * readonly [k in string]: Unknown<T>
10
- * }} Obj<T>
11
- */
12
- /**
13
- * @template T
14
- * @typedef {readonly Unknown<T>[]} Arr<T>
15
- */
16
- /**
17
- * @typedef {|
18
- * boolean |
19
- * string |
20
- * number |
21
- * null
22
- * } Primitive
23
- */
24
- /**
25
- * @template T
26
- * @typedef {|
27
- * Arr<T>|
28
- * Obj<T>|
29
- * null|
30
- * T
31
- * } Unknown<T>
32
- */
33
- const jsonStringify = JSON.stringify;
34
- /** @type {(_: string) => list.List<string>} */
35
- export const stringSerialize = input => [jsonStringify(input)];
36
- /** @type {(_: number) => list.List<string>} */
37
- export const numberSerialize = input => [jsonStringify(input)];
38
- export const nullSerialize = ['null'];
39
- const trueSerialize = ['true'];
40
- const falseSerialize = ['false'];
41
- /** @type {(_: boolean) => list.List<string>} */
42
- export const boolSerialize = value => value ? trueSerialize : falseSerialize;
43
- const comma = [','];
44
- /** @type {Operator.Reduce<list.List<string>>} */
45
- const joinOp = b => prior => flat([prior, comma, b]);
46
- /** @type {(input: list.List<list.List<string>>) => list.List<string>} */
47
- const join = reduce(joinOp)(empty);
48
- /** @type {(open: string) => (close: string) => (input: list.List<list.List<string>>) => list.List<string>} */
49
- const wrap = open => close => {
50
- const seqOpen = [open];
51
- const seqClose = [close];
52
- return input => flat([seqOpen, join(input), seqClose]);
53
- };
54
- export const objectWrap = wrap('{')('}');
55
- export const arrayWrap = wrap('[')(']');
56
- /**
57
- * @template T
58
- * @typedef {O.Entry<Unknown<T>>} Entry<T>
59
- */
60
- /**
61
- * @template T
62
- * @typedef {(list.List<Entry<T>>)} Entries<T>
63
- */
64
- /**
65
- * @template T
66
- * @typedef {(entries: Entries<T>) => Entries<T>} MapEntries<T>
67
- */
@@ -1,8 +0,0 @@
1
- declare namespace _default {
2
- let arrayWrap: (() => void)[];
3
- let objectWrap: (() => void)[];
4
- let stringSerialize: (() => void)[];
5
- let numberSerialize: (() => void)[];
6
- let boolSerialize: (() => void)[];
7
- }
8
- export default _default;
@@ -1,87 +0,0 @@
1
- import * as _ from './module.f.mjs';
2
- import * as list from '../../types/list/module.f.mjs';
3
- const { toArray } = list;
4
- export default {
5
- arrayWrap: [
6
- () => {
7
- const result = JSON.stringify(toArray(_.arrayWrap(null)));
8
- if (result !== '["[","]"]') {
9
- throw result;
10
- }
11
- },
12
- () => {
13
- const result = JSON.stringify(toArray(_.arrayWrap([['a', 'b']])));
14
- if (result !== '["[","a","b","]"]') {
15
- throw result;
16
- }
17
- },
18
- () => {
19
- const result = JSON.stringify(toArray(_.arrayWrap([['a'], ['b']])));
20
- if (result !== '["[","a",",","b","]"]') {
21
- throw result;
22
- }
23
- }
24
- ],
25
- objectWrap: [
26
- () => {
27
- const result = JSON.stringify(toArray(_.objectWrap(null)));
28
- if (result !== '["{","}"]') {
29
- throw result;
30
- }
31
- },
32
- () => {
33
- const result = JSON.stringify(toArray(_.objectWrap([['a', 'b']])));
34
- if (result !== '["{","a","b","}"]') {
35
- throw result;
36
- }
37
- },
38
- () => {
39
- const result = JSON.stringify(toArray(_.objectWrap([['a'], ['b']])));
40
- if (result !== '["{","a",",","b","}"]') {
41
- throw result;
42
- }
43
- }
44
- ],
45
- stringSerialize: [
46
- () => {
47
- const result = JSON.stringify(toArray(_.stringSerialize('abc')));
48
- if (result !== '["\\"abc\\""]') {
49
- throw result;
50
- }
51
- },
52
- () => {
53
- const result = JSON.stringify(toArray(_.stringSerialize('123')));
54
- if (result !== '["\\"123\\""]') {
55
- throw result;
56
- }
57
- }
58
- ],
59
- numberSerialize: [
60
- () => {
61
- const result = JSON.stringify(toArray(_.numberSerialize(123)));
62
- if (result !== '["123"]') {
63
- throw result;
64
- }
65
- },
66
- () => {
67
- const result = JSON.stringify(toArray(_.numberSerialize(10e20)));
68
- if (result !== '["1e+21"]') {
69
- throw result;
70
- }
71
- }
72
- ],
73
- boolSerialize: [
74
- () => {
75
- const result = JSON.stringify(toArray(_.boolSerialize(false)));
76
- if (result !== '["false"]') {
77
- throw result;
78
- }
79
- },
80
- () => {
81
- const result = JSON.stringify(toArray(_.boolSerialize(true)));
82
- if (result !== '["true"]') {
83
- throw result;
84
- }
85
- }
86
- ]
87
- };
@@ -1,8 +0,0 @@
1
- declare namespace _default {
2
- function setProperty(): void;
3
- let stringify: {
4
- sort: () => void;
5
- identity: () => void;
6
- }[];
7
- }
8
- export default _default;
@@ -1,61 +0,0 @@
1
- import * as json from './module.f.mjs';
2
- import * as o from '../types/object/module.f.mjs';
3
- const { sort } = o;
4
- import * as f from '../types/function/module.f.mjs';
5
- const { identity } = f;
6
- export default {
7
- setProperty: () => {
8
- if (json.setProperty("Hello")([])({}) !== "Hello") {
9
- throw 'error';
10
- }
11
- },
12
- stringify: [
13
- {
14
- sort: () => {
15
- const r = json.setProperty("Hello")(['a'])({});
16
- const x = json.stringify(sort)(r);
17
- if (x !== '{"a":"Hello"}') {
18
- throw x;
19
- }
20
- },
21
- identity: () => {
22
- const x = json.stringify(identity)(json.setProperty("Hello")(['a'])({}));
23
- if (x !== '{"a":"Hello"}') {
24
- throw x;
25
- }
26
- },
27
- },
28
- {
29
- sort: () => {
30
- const x = json.stringify(sort)(json.setProperty("Hello")(['a'])({ c: [], b: 12 }));
31
- if (x !== '{"a":"Hello","b":12,"c":[]}') {
32
- throw x;
33
- }
34
- },
35
- identity: () => {
36
- const x = json.stringify(identity)(json.setProperty("Hello")(['a'])({ c: [], b: 12 }));
37
- if (x !== '{"c":[],"b":12,"a":"Hello"}') {
38
- throw x;
39
- }
40
- },
41
- },
42
- {
43
- sort: () => {
44
- const _0 = { a: { y: [24] }, c: [], b: 12 };
45
- const _1 = json.setProperty("Hello")(['a', 'x'])(_0);
46
- const _2 = json.stringify(sort)(_1);
47
- if (_2 !== '{"a":{"x":"Hello","y":[24]},"b":12,"c":[]}') {
48
- throw _2;
49
- }
50
- },
51
- identity: () => {
52
- const _0 = { a: { y: [24] }, c: [], b: 12 };
53
- const _1 = json.setProperty("Hello")(['a', 'x'])(_0);
54
- const _2 = json.stringify(identity)(_1);
55
- if (_2 !== '{"a":{"y":[24],"x":"Hello"},"c":[],"b":12}') {
56
- throw _2;
57
- }
58
- }
59
- }
60
- ]
61
- };
@@ -1,13 +0,0 @@
1
- /** @type {(input: list.List<number>) => list.List<JsonToken>} */
2
- export const tokenize: (input: list.List<number>) => list.List<JsonToken>;
3
- export type JsonToken = {
4
- readonly kind: "true" | "false" | "null";
5
- } | {
6
- readonly kind: "{" | "}" | ":" | "," | "[" | "]";
7
- } | jsTokenizer.StringToken | jsTokenizer.NumberToken | jsTokenizer.ErrorToken;
8
- export type ScanState = {
9
- readonly kind: "def" | "-";
10
- };
11
- export type ScanInput = jsTokenizer.JsToken | null;
12
- import * as list from '../../types/list/module.f.mjs';
13
- import * as jsTokenizer from '../../js/tokenizer/module.f.mjs';