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,78 +0,0 @@
1
- // @ts-self-types="./module.f.d.mts"
2
- import * as Operator from '../../types/function/operator/module.f.mjs';
3
- import * as list from '../../types/list/module.f.mjs';
4
- const { empty, flat, stateScan } = list;
5
- import * as bf from '../../types/bigfloat/module.f.mjs';
6
- const { multiply } = bf;
7
- import * as jsTokenizer from '../../js/tokenizer/module.f.mjs';
8
- /**
9
- * @typedef {|
10
- * {readonly kind: 'true' | 'false' | 'null' } |
11
- * {readonly kind: '{' | '}' | ':' | ',' | '[' | ']' } |
12
- * jsTokenizer.StringToken |
13
- * jsTokenizer.NumberToken |
14
- * jsTokenizer.ErrorToken
15
- * } JsonToken
16
- */
17
- /**
18
- * @typedef {|
19
- * {readonly kind: 'def' | '-' }
20
- * } ScanState
21
- */
22
- /**
23
- * @typedef {|
24
- * jsTokenizer.JsToken | null
25
- * } ScanInput
26
- */
27
- /** @type {(input: jsTokenizer.JsToken) => list.List<JsonToken>} */
28
- const mapToken = input => {
29
- switch (input.kind) {
30
- case '{':
31
- case '}':
32
- case ':':
33
- case ',':
34
- case '[':
35
- case ']':
36
- case 'true':
37
- case 'false':
38
- case 'null':
39
- case 'string':
40
- case 'number':
41
- case 'error': return [input];
42
- case 'ws':
43
- case 'nl': return empty;
44
- default: return [{ kind: 'error', message: 'invalid token' }];
45
- }
46
- };
47
- /** @type {(input: ScanInput) => readonly [list.List<JsonToken>, ScanState]} */
48
- const parseDefaultState = input => {
49
- if (input === null)
50
- return [empty, { kind: 'def' }];
51
- switch (input.kind) {
52
- case '-': return [empty, { kind: '-' }];
53
- default: return [mapToken(input), { kind: 'def' }];
54
- }
55
- };
56
- /** @type {(input: ScanInput) => readonly [list.List<JsonToken>, ScanState]} */
57
- const parseMinusState = input => {
58
- if (input === null)
59
- return [[{ kind: 'error', message: 'invalid token' }], { kind: 'def' }];
60
- switch (input.kind) {
61
- case '-': return [[{ kind: 'error', message: 'invalid token' }], { kind: '-' }];
62
- case 'number': return [[{ kind: 'number', bf: multiply(input.bf)(-1n), value: `-${input.value}` }], { kind: 'def' }];
63
- default: return [{ first: { kind: 'error', message: 'invalid token' }, tail: mapToken(input) }, { kind: 'def' }];
64
- }
65
- };
66
- /** @type {Operator.StateScan<ScanInput, ScanState, list.List<JsonToken>>} */
67
- const scanToken = state => input => {
68
- switch (state.kind) {
69
- case '-': return parseMinusState(input);
70
- default: return parseDefaultState(input);
71
- }
72
- };
73
- /** @type {(input: list.List<number>) => list.List<JsonToken>} */
74
- export const tokenize = input => {
75
- /** @type {list.List<ScanInput>} */
76
- const jsTokens = jsTokenizer.tokenize(input);
77
- return flat(stateScan(scanToken)({ kind: 'def' })(list.concat(jsTokens)([null])));
78
- };
@@ -1,6 +0,0 @@
1
- declare namespace _default {
2
- let json: (() => void)[];
3
- let id: (() => void)[];
4
- let keywords: (() => void)[];
5
- }
6
- export default _default;
@@ -1,420 +0,0 @@
1
- import * as tokenizer from './module.f.mjs';
2
- import * as list from '../../types/list/module.f.mjs';
3
- const { toArray } = list;
4
- import * as djs from '../../djs/module.f.mjs';
5
- import * as o from '../../types/object/module.f.mjs';
6
- const { sort } = o;
7
- import * as encoding from '../../text/utf16/module.f.mjs';
8
- /** @type {(s: string) => readonly tokenizer.JsonToken[]} */
9
- const tokenizeString = s => toArray(tokenizer.tokenize(encoding.stringToList(s)));
10
- const stringify = djs.stringify(sort);
11
- export default {
12
- json: [
13
- () => {
14
- const result = tokenizeString('');
15
- if (result.length !== 0) {
16
- throw result;
17
- }
18
- },
19
- () => {
20
- const result = stringify(tokenizeString('{'));
21
- if (result !== '[{"kind":"{"}]') {
22
- throw result;
23
- }
24
- },
25
- () => {
26
- const result = stringify(tokenizeString('}'));
27
- if (result !== '[{"kind":"}"}]') {
28
- throw result;
29
- }
30
- },
31
- () => {
32
- const result = stringify(tokenizeString(':'));
33
- if (result !== '[{"kind":":"}]') {
34
- throw result;
35
- }
36
- },
37
- () => {
38
- const result = stringify(tokenizeString(','));
39
- if (result !== '[{"kind":","}]') {
40
- throw result;
41
- }
42
- },
43
- () => {
44
- const result = stringify(tokenizeString('['));
45
- if (result !== '[{"kind":"["}]') {
46
- throw result;
47
- }
48
- },
49
- () => {
50
- const result = stringify(tokenizeString(']'));
51
- if (result !== '[{"kind":"]"}]') {
52
- throw result;
53
- }
54
- },
55
- () => {
56
- const result = stringify(tokenizeString('ᄑ'));
57
- if (result !== '[{"kind":"error","message":"unexpected character"}]') {
58
- throw result;
59
- }
60
- },
61
- () => {
62
- const result = stringify(tokenizeString('{ \t\n\r}'));
63
- if (result !== '[{"kind":"{"},{"kind":"}"}]') {
64
- throw result;
65
- }
66
- },
67
- () => {
68
- const result = stringify(tokenizeString('""'));
69
- if (result !== '[{"kind":"string","value":""}]') {
70
- throw result;
71
- }
72
- },
73
- () => {
74
- const result = stringify(tokenizeString('"value"'));
75
- if (result !== '[{"kind":"string","value":"value"}]') {
76
- throw result;
77
- }
78
- },
79
- () => {
80
- const result = stringify(tokenizeString('"value'));
81
- if (result !== '[{"kind":"error","message":"\\" are missing"}]') {
82
- throw result;
83
- }
84
- },
85
- () => {
86
- const result = stringify(tokenizeString('"value1" "value2"'));
87
- if (result !== '[{"kind":"string","value":"value1"},{"kind":"string","value":"value2"}]') {
88
- throw result;
89
- }
90
- },
91
- () => {
92
- const result = stringify(tokenizeString('"'));
93
- if (result !== '[{"kind":"error","message":"\\" are missing"}]') {
94
- throw result;
95
- }
96
- },
97
- () => {
98
- const result = stringify(tokenizeString('"\\\\"'));
99
- if (result !== '[{"kind":"string","value":"\\\\"}]') {
100
- throw result;
101
- }
102
- },
103
- () => {
104
- const result = stringify(tokenizeString('"\\""'));
105
- if (result !== '[{"kind":"string","value":"\\""}]') {
106
- throw result;
107
- }
108
- },
109
- () => {
110
- const result = stringify(tokenizeString('"\\/"'));
111
- if (result !== '[{"kind":"string","value":"/"}]') {
112
- throw result;
113
- }
114
- },
115
- () => {
116
- const result = stringify(tokenizeString('"\\x"'));
117
- if (result !== '[{"kind":"error","message":"unescaped character"},{"kind":"string","value":"x"}]') {
118
- throw result;
119
- }
120
- },
121
- () => {
122
- const result = stringify(tokenizeString('"\\'));
123
- if (result !== '[{"kind":"error","message":"\\" are missing"}]') {
124
- throw result;
125
- }
126
- },
127
- () => {
128
- const result = stringify(tokenizeString('"\\b\\f\\n\\r\\t"'));
129
- if (result !== '[{"kind":"string","value":"\\b\\f\\n\\r\\t"}]') {
130
- throw result;
131
- }
132
- },
133
- () => {
134
- const result = stringify(tokenizeString('"\\u1234"'));
135
- if (result !== '[{"kind":"string","value":"ሴ"}]') {
136
- throw result;
137
- }
138
- },
139
- () => {
140
- const result = stringify(tokenizeString('"\\uaBcDEeFf"'));
141
- if (result !== '[{"kind":"string","value":"ꯍEeFf"}]') {
142
- throw result;
143
- }
144
- },
145
- () => {
146
- const result = stringify(tokenizeString('"\\uEeFg"'));
147
- if (result !== '[{"kind":"error","message":"invalid hex value"},{"kind":"string","value":"g"}]') {
148
- throw result;
149
- }
150
- },
151
- () => {
152
- const result = stringify(tokenizeString('0'));
153
- if (result !== '[{"bf":[0n,0],"kind":"number","value":"0"}]') {
154
- throw result;
155
- }
156
- },
157
- () => {
158
- const result = stringify(tokenizeString('[0]'));
159
- if (result !== '[{"kind":"["},{"bf":[0n,0],"kind":"number","value":"0"},{"kind":"]"}]') {
160
- throw result;
161
- }
162
- },
163
- () => {
164
- const result = stringify(tokenizeString('00'));
165
- if (result !== '[{"kind":"error","message":"invalid number"}]') {
166
- throw result;
167
- }
168
- },
169
- () => {
170
- const result = stringify(tokenizeString('0abc,'));
171
- if (result !== '[{"kind":"error","message":"invalid number"},{"kind":"error","message":"invalid token"},{"kind":","}]') {
172
- throw result;
173
- }
174
- },
175
- () => {
176
- const result = stringify(tokenizeString('123456789012345678901234567890'));
177
- if (result !== '[{"bf":[123456789012345678901234567890n,0],"kind":"number","value":"123456789012345678901234567890"}]') {
178
- throw result;
179
- }
180
- },
181
- () => {
182
- const result = stringify(tokenizeString('{90}'));
183
- if (result !== '[{"kind":"{"},{"bf":[90n,0],"kind":"number","value":"90"},{"kind":"}"}]') {
184
- throw result;
185
- }
186
- },
187
- () => {
188
- const result = stringify(tokenizeString('1 2'));
189
- if (result !== '[{"bf":[1n,0],"kind":"number","value":"1"},{"bf":[2n,0],"kind":"number","value":"2"}]') {
190
- throw result;
191
- }
192
- },
193
- () => {
194
- const result = stringify(tokenizeString('0. 2'));
195
- if (result !== '[{"kind":"error","message":"invalid number"},{"bf":[2n,0],"kind":"number","value":"2"}]') {
196
- throw result;
197
- }
198
- },
199
- () => {
200
- const result = stringify(tokenizeString('10-0'));
201
- if (result !== '[{"bf":[10n,0],"kind":"number","value":"10"},{"bf":[0n,0],"kind":"number","value":"-0"}]') {
202
- throw result;
203
- }
204
- },
205
- () => {
206
- const result = stringify(tokenizeString('9a:'));
207
- if (result !== '[{"kind":"error","message":"invalid number"},{"kind":"error","message":"invalid token"},{"kind":":"}]') {
208
- throw result;
209
- }
210
- },
211
- () => {
212
- const result = stringify(tokenizeString('-10'));
213
- if (result !== '[{"bf":[-10n,0],"kind":"number","value":"-10"}]') {
214
- throw result;
215
- }
216
- },
217
- () => {
218
- const result = stringify(tokenizeString('-'));
219
- if (result !== '[{"kind":"error","message":"invalid token"}]') {
220
- throw result;
221
- }
222
- },
223
- () => {
224
- const result = stringify(tokenizeString('--'));
225
- if (result !== '[{"kind":"error","message":"invalid token"}]') {
226
- throw result;
227
- }
228
- },
229
- () => {
230
- const result = stringify(tokenizeString('---'));
231
- if (result !== '[{"kind":"error","message":"invalid token"},{"kind":"error","message":"invalid token"}]') {
232
- throw result;
233
- }
234
- },
235
- () => {
236
- const result = stringify(tokenizeString('-0'));
237
- if (result !== '[{"bf":[0n,0],"kind":"number","value":"-0"}]') {
238
- throw result;
239
- }
240
- },
241
- () => {
242
- const result = stringify(tokenizeString('-00'));
243
- if (result !== '[{"kind":"error","message":"invalid token"},{"kind":"error","message":"invalid number"}]') {
244
- throw result;
245
- }
246
- },
247
- () => {
248
- const result = stringify(tokenizeString('-.123'));
249
- if (result !== '[{"kind":"error","message":"invalid token"},{"kind":"error","message":"invalid token"},{"bf":[123n,0],"kind":"number","value":"123"}]') {
250
- throw result;
251
- }
252
- },
253
- () => {
254
- const result = stringify(tokenizeString('0.01'));
255
- if (result !== '[{"bf":[1n,-2],"kind":"number","value":"0.01"}]') {
256
- throw result;
257
- }
258
- },
259
- () => {
260
- const result = stringify(tokenizeString('-0.9'));
261
- if (result !== '[{"bf":[-9n,-1],"kind":"number","value":"-0.9"}]') {
262
- throw result;
263
- }
264
- },
265
- () => {
266
- const result = stringify(tokenizeString('-0.'));
267
- if (result !== '[{"kind":"error","message":"invalid token"},{"kind":"error","message":"invalid number"}]') {
268
- throw result;
269
- }
270
- },
271
- () => {
272
- const result = stringify(tokenizeString('-0.]'));
273
- if (result !== '[{"kind":"error","message":"invalid token"},{"kind":"error","message":"invalid number"},{"kind":"]"}]') {
274
- throw result;
275
- }
276
- },
277
- () => {
278
- const result = stringify(tokenizeString('12.34'));
279
- if (result !== '[{"bf":[1234n,-2],"kind":"number","value":"12.34"}]') {
280
- throw result;
281
- }
282
- },
283
- () => {
284
- const result = stringify(tokenizeString('-12.00'));
285
- if (result !== '[{"bf":[-1200n,-2],"kind":"number","value":"-12.00"}]') {
286
- throw result;
287
- }
288
- },
289
- () => {
290
- const result = stringify(tokenizeString('-12.'));
291
- if (result !== '[{"kind":"error","message":"invalid token"},{"kind":"error","message":"invalid number"}]') {
292
- throw result;
293
- }
294
- },
295
- () => {
296
- const result = stringify(tokenizeString('12.]'));
297
- if (result !== '[{"kind":"error","message":"invalid number"},{"kind":"]"}]') {
298
- throw result;
299
- }
300
- },
301
- () => {
302
- const result = stringify(tokenizeString('0e1'));
303
- if (result !== '[{"bf":[0n,1],"kind":"number","value":"0e1"}]') {
304
- throw result;
305
- }
306
- },
307
- () => {
308
- const result = stringify(tokenizeString('0e+2'));
309
- if (result !== '[{"bf":[0n,2],"kind":"number","value":"0e+2"}]') {
310
- throw result;
311
- }
312
- },
313
- () => {
314
- const result = stringify(tokenizeString('0e-0'));
315
- if (result !== '[{"bf":[0n,0],"kind":"number","value":"0e-0"}]') {
316
- throw result;
317
- }
318
- },
319
- () => {
320
- const result = stringify(tokenizeString('12e0000'));
321
- if (result !== '[{"bf":[12n,0],"kind":"number","value":"12e0000"}]') {
322
- throw result;
323
- }
324
- },
325
- () => {
326
- const result = stringify(tokenizeString('-12e-0001'));
327
- if (result !== '[{"bf":[-12n,-1],"kind":"number","value":"-12e-0001"}]') {
328
- throw result;
329
- }
330
- },
331
- () => {
332
- const result = stringify(tokenizeString('-12.34e1234'));
333
- if (result !== '[{"bf":[-1234n,1232],"kind":"number","value":"-12.34e1234"}]') {
334
- throw result;
335
- }
336
- },
337
- () => {
338
- const result = stringify(tokenizeString('0e'));
339
- if (result !== '[{"kind":"error","message":"invalid number"}]') {
340
- throw result;
341
- }
342
- },
343
- () => {
344
- const result = stringify(tokenizeString('0e-'));
345
- if (result !== '[{"kind":"error","message":"invalid number"}]') {
346
- throw result;
347
- }
348
- },
349
- () => {
350
- const result = stringify(tokenizeString('1234567890n'));
351
- if (result !== '[{"kind":"error","message":"invalid token"}]') {
352
- throw result;
353
- }
354
- },
355
- () => {
356
- const result = stringify(tokenizeString('0n'));
357
- if (result !== '[{"kind":"error","message":"invalid token"}]') {
358
- throw result;
359
- }
360
- },
361
- () => {
362
- const result = stringify(tokenizeString('[-1234567890n]'));
363
- if (result !== '[{"kind":"["},{"kind":"error","message":"invalid token"},{"kind":"error","message":"invalid token"},{"kind":"]"}]') {
364
- throw result;
365
- }
366
- },
367
- ],
368
- id: [
369
- () => {
370
- const result = stringify(tokenizeString('err'));
371
- if (result !== '[{"kind":"error","message":"invalid token"}]') {
372
- throw result;
373
- }
374
- },
375
- () => {
376
- const result = stringify(tokenizeString('{e}'));
377
- if (result !== '[{"kind":"{"},{"kind":"error","message":"invalid token"},{"kind":"}"}]') {
378
- throw result;
379
- }
380
- },
381
- () => {
382
- const result = stringify(tokenizeString('tru'));
383
- if (result !== '[{"kind":"error","message":"invalid token"}]') {
384
- throw result;
385
- }
386
- },
387
- () => {
388
- const result = stringify(tokenizeString('break'));
389
- if (result !== '[{"kind":"error","message":"invalid token"}]') {
390
- throw result;
391
- }
392
- },
393
- ],
394
- keywords: [
395
- () => {
396
- const result = stringify(tokenizeString('true'));
397
- if (result !== '[{"kind":"true"}]') {
398
- throw result;
399
- }
400
- },
401
- () => {
402
- const result = stringify(tokenizeString('false'));
403
- if (result !== '[{"kind":"false"}]') {
404
- throw result;
405
- }
406
- },
407
- () => {
408
- const result = stringify(tokenizeString('null'));
409
- if (result !== '[{"kind":"null"}]') {
410
- throw result;
411
- }
412
- },
413
- () => {
414
- const result = stringify(tokenizeString('[null]'));
415
- if (result !== '[{"kind":"["},{"kind":"null"},{"kind":"]"}]') {
416
- throw result;
417
- }
418
- },
419
- ]
420
- };
@@ -1,36 +0,0 @@
1
- declare namespace _default {
2
- namespace eq {
3
- function nullish(): void;
4
- namespace boolean {
5
- export function boolean_1(): void;
6
- export { boolean_1 as boolean };
7
- export function nullish_1(): void;
8
- export { nullish_1 as nullish };
9
- }
10
- namespace number {
11
- export function number_1(): void;
12
- export { number_1 as number };
13
- export function nullish_2(): void;
14
- export { nullish_2 as nullish };
15
- }
16
- namespace string {
17
- export function string_1(): void;
18
- export { string_1 as string };
19
- export function number_2(): void;
20
- export { number_2 as number };
21
- }
22
- namespace bigint {
23
- export function bigint_1(): void;
24
- export { bigint_1 as bigint };
25
- }
26
- namespace array {
27
- export function array_1(): void;
28
- export { array_1 as array };
29
- }
30
- namespace object {
31
- export function object_1(): void;
32
- export { object_1 as object };
33
- }
34
- }
35
- }
36
- export default _default;
@@ -1,87 +0,0 @@
1
- /** @type {(a: unknown) => (b: unknown) => void} */
2
- const e = a => b => {
3
- if (a === b) { }
4
- else {
5
- throw [a, '===', b];
6
- }
7
- };
8
- /** @type {(a: unknown) => (b: unknown) => void} */
9
- const n = a => b => {
10
- if (a !== b) { }
11
- else {
12
- throw [a, '!==', b];
13
- }
14
- };
15
- export default {
16
- eq: {
17
- nullish: () => {
18
- e(null)(null);
19
- e(undefined)(undefined);
20
- n(null)(undefined);
21
- },
22
- boolean: {
23
- boolean: () => {
24
- e(true)(true);
25
- e(false)(false);
26
- n(true)(false);
27
- },
28
- nullish: () => {
29
- n(false)(undefined);
30
- }
31
- },
32
- number: {
33
- number: () => {
34
- e(2.3)(2.3);
35
- n(2.3)(-5.4);
36
- n(NaN)(NaN);
37
- e(0)(-0);
38
- if (!Object.is(-0, -0)) {
39
- throw -0;
40
- }
41
- if (Object.is(0, -0)) {
42
- throw -0;
43
- }
44
- e(Infinity)(Infinity);
45
- e(-Infinity)(-Infinity);
46
- n(Infinity)(-Infinity);
47
- },
48
- nullish: () => {
49
- n(undefined)(NaN);
50
- n(undefined)(0);
51
- }
52
- },
53
- string: {
54
- string: () => {
55
- e("hello")("hello");
56
- n("hello")("world");
57
- },
58
- number: () => {
59
- n(0)("0");
60
- }
61
- },
62
- bigint: {
63
- bigint: () => {
64
- e(12n)(12n);
65
- n(12n)(-12n);
66
- n(12n)(13n);
67
- }
68
- },
69
- array: {
70
- array: () => {
71
- /** @type {any} */
72
- const a = [];
73
- e(a)(a);
74
- n([])([]);
75
- const a0 = ['0'];
76
- e(a0)(a0);
77
- }
78
- },
79
- object: {
80
- object: () => {
81
- const o = { '0': '0' };
82
- e(o)(o);
83
- n(o)({ '0': '0' });
84
- }
85
- }
86
- }
87
- };
@@ -1 +0,0 @@
1
- export {};
@@ -1,3 +0,0 @@
1
- import * as _ from './module.f.mjs';
2
- import fs from 'node:fs';
3
- _.updateVersion({ fs });
@@ -1,12 +0,0 @@
1
- /** @type {<T>(fs: Fs<T>) => string} */
2
- export const getVersion: <T>(fs: Fs<T>) => string;
3
- /** @type {<T>(node: Node<T>) => readonly[T, T]} */
4
- export const updateVersion: <T>(node: Node<T>) => readonly [T, T];
5
- export type Buffer = {};
6
- export type Fs<T> = {
7
- readonly readFileSync: (name: string) => Buffer;
8
- readonly writeFileSync: (name: string, content: string) => T;
9
- };
10
- export type Node<T> = {
11
- readonly fs: Fs<T>;
12
- };
@@ -1,34 +0,0 @@
1
- // @ts-self-types="./module.f.d.mts"
2
- /** @typedef {{}} Buffer */
3
- /**
4
- * @template T
5
- * @typedef {{
6
- * readonly readFileSync: (name: string) => Buffer
7
- * readonly writeFileSync: (name: string, content: string) => T
8
- * }} Fs
9
- */
10
- /**
11
- * @template T
12
- * @typedef {{
13
- * readonly fs: Fs<T>
14
- * }} Node
15
- */
16
- const { stringify, parse } = JSON;
17
- /** @type {<T>(fs: Fs<T>) => string} */
18
- export const getVersion = fs => readJson(fs)('package').version;
19
- const jsonFile = (/** @type {string} */ jsonFile) => `${jsonFile}.json`;
20
- /** @type {<T>(node: Fs<T>) => (name: string) => any} */
21
- const readJson = fs => name => parse(fs.readFileSync(jsonFile(name)).toString());
22
- /** @type {<T>(node: Node<T>) => readonly[T, T]} */
23
- export const updateVersion = ({ fs }) => {
24
- const f = (/** @type {string} */ name) => {
25
- return fs.writeFileSync(jsonFile(name), stringify({
26
- ...readJson(fs)(name),
27
- version: getVersion(fs)
28
- }, null, 2));
29
- };
30
- return [
31
- f('package'),
32
- f('jsr')
33
- ];
34
- };