functionalscript 0.2.5 → 0.3.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 (433) hide show
  1. package/.github/workflows/ci.yml +19 -4
  2. package/CHANGELOG.md +9 -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} +65 -60
  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/README.md +10 -9
  55. package/html/module.f.ts +108 -0
  56. package/html/{test.f.mjs → test.f.ts} +10 -7
  57. package/issues/README.md +3 -0
  58. package/issues/lang/3110-function.md +25 -1
  59. package/issues/{test.f.mjs → test.f.ts} +3 -2
  60. package/js/tokenizer/module.f.ts +882 -0
  61. package/js/tokenizer/{test.f.mjs → test.f.ts} +11 -10
  62. package/json/module.f.ts +94 -0
  63. package/json/parser/{module.f.mjs → module.f.ts} +113 -109
  64. package/json/parser/{test.f.mjs → test.f.ts} +10 -9
  65. package/json/serializer/module.f.ts +70 -0
  66. package/json/serializer/{test.f.mjs → test.f.ts} +3 -3
  67. package/json/{test.f.mjs → test.f.ts} +3 -3
  68. package/json/tokenizer/{module.f.mjs → module.f.ts} +29 -36
  69. package/json/tokenizer/{test.f.mjs → test.f.ts} +9 -8
  70. package/nanvm-lib/src/extension.rs +15 -4
  71. package/nanvm-lib/src/interface.rs +7 -10
  72. package/nanvm-lib/src/lib.rs +3 -3
  73. package/nanvm-lib/src/naive.rs +10 -3
  74. package/nanvm-lib/src/nanenum.rs +5 -1
  75. package/nanvm-lib/tests/{test.f.mjs → test.f.ts} +7 -6
  76. package/nodejs/version/{main.mjs → main.ts} +1 -1
  77. package/nodejs/version/module.f.ts +42 -0
  78. package/nodejs/version/{test.f.mjs → test.f.ts} +11 -12
  79. package/package.json +9 -9
  80. package/text/ascii/{module.f.mjs → module.f.ts} +10 -8
  81. package/text/ascii/{test.f.mjs → test.f.ts} +4 -4
  82. package/text/module.f.ts +30 -0
  83. package/text/sgr/{module.f.mjs → module.f.ts} +3 -5
  84. package/text/{test.f.mjs → test.f.ts} +5 -4
  85. package/text/utf16/module.f.ts +108 -0
  86. package/text/utf16/{test.f.mjs → test.f.ts} +7 -6
  87. package/text/utf8/{module.f.mjs → module.f.ts} +29 -23
  88. package/text/utf8/{test.f.mjs → test.f.ts} +4 -4
  89. package/tsconfig.json +4 -1
  90. package/types/array/module.f.ts +89 -0
  91. package/types/array/{test.f.mjs → test.f.ts} +3 -3
  92. package/types/bigfloat/{module.f.mjs → module.f.ts} +25 -20
  93. package/types/bigfloat/{test.f.mjs → test.f.ts} +1 -1
  94. package/types/bigint/{module.f.mjs → module.f.ts} +29 -28
  95. package/types/bigint/{test.f.mjs → test.f.ts} +2 -2
  96. package/types/bit_vec/README.md +18 -0
  97. package/types/bit_vec/module.f.ts +185 -0
  98. package/types/bit_vec/test.f.ts +129 -0
  99. package/types/btree/find/module.f.ts +92 -0
  100. package/types/btree/find/{test.f.mjs → test.f.ts} +20 -16
  101. package/types/btree/{module.f.mjs → module.f.ts} +9 -9
  102. package/types/btree/remove/{module.f.mjs → module.f.ts} +43 -53
  103. package/types/btree/remove/{test.f.mjs → test.f.ts} +19 -15
  104. package/types/btree/set/{module.f.mjs → module.f.ts} +17 -20
  105. package/types/btree/set/{test.f.mjs → test.f.ts} +96 -66
  106. package/types/btree/{test.f.mjs → test.f.ts} +34 -26
  107. package/types/btree/types/module.f.ts +27 -0
  108. package/types/byte_set/module.f.ts +70 -0
  109. package/types/byte_set/{test.f.mjs → test.f.ts} +8 -7
  110. package/types/function/compare/module.f.ts +26 -0
  111. package/types/function/compare/{test.f.mjs → test.f.ts} +1 -1
  112. package/types/function/module.f.ts +43 -0
  113. package/types/function/operator/module.f.ts +63 -0
  114. package/types/function/test.f.ts +20 -0
  115. package/types/list/module.f.ts +345 -0
  116. package/types/list/{test.f.mjs → test.f.ts} +30 -24
  117. package/types/map/module.f.ts +65 -0
  118. package/types/map/{test.f.mjs → test.f.ts} +6 -5
  119. package/types/nibble_set/module.f.ts +34 -0
  120. package/types/nibble_set/{test.f.mjs → test.f.ts} +3 -3
  121. package/types/nullable/module.f.ts +9 -0
  122. package/types/nullable/{test.f.mjs → test.f.ts} +2 -2
  123. package/types/number/module.f.ts +16 -0
  124. package/types/number/{test.f.mjs → test.f.ts} +7 -5
  125. package/types/object/module.f.ts +30 -0
  126. package/types/object/{test.f.mjs → test.f.ts} +2 -2
  127. package/types/range/module.f.ts +10 -0
  128. package/types/range/{test.f.mjs → test.f.ts} +1 -1
  129. package/types/range_map/module.f.ts +70 -0
  130. package/types/range_map/{test.f.mjs → test.f.ts} +82 -57
  131. package/types/result/module.f.ts +20 -0
  132. package/types/result/{module.mjs → module.ts} +4 -3
  133. package/types/sorted_list/module.f.ts +83 -0
  134. package/types/sorted_list/{test.f.mjs → test.f.ts} +14 -12
  135. package/types/sorted_set/module.f.ts +36 -0
  136. package/types/sorted_set/{test.f.mjs → test.f.ts} +14 -12
  137. package/types/string/module.f.ts +24 -0
  138. package/types/string/{test.f.mjs → test.f.ts} +2 -2
  139. package/types/string_set/module.f.ts +37 -0
  140. package/types/string_set/{test.f.mjs → test.f.ts} +2 -2
  141. package/com/cpp/testlib.f.mjs +0 -8
  142. package/com/cs/testlib.f.mjs +0 -8
  143. package/com/rust/module.f.mjs +0 -272
  144. package/com/rust/testlib.f.mjs +0 -8
  145. package/com/types/module.f.mjs +0 -67
  146. package/commonjs/build/module.f.mjs +0 -100
  147. package/commonjs/module/function/module.f.mjs +0 -21
  148. package/commonjs/module/module.f.mjs +0 -53
  149. package/commonjs/module.f.mjs +0 -11
  150. package/commonjs/package/dependencies/module.f.mjs +0 -22
  151. package/commonjs/package/module.f.mjs +0 -36
  152. package/dev/index.mjs +0 -3
  153. package/dev/test.mjs +0 -60
  154. package/fsm/module.f.mjs +0 -99
  155. package/html/module.f.mjs +0 -102
  156. package/js/tokenizer/module.f.mjs +0 -872
  157. package/json/module.f.mjs +0 -89
  158. package/json/serializer/module.f.mjs +0 -87
  159. package/jsr.json +0 -66
  160. package/nodejs/version/module.f.mjs +0 -47
  161. package/out/com/cpp/module.f.d.mts +0 -7
  162. package/out/com/cpp/module.f.mjs +0 -130
  163. package/out/com/cpp/test.f.d.mts +0 -2
  164. package/out/com/cpp/test.f.mjs +0 -40
  165. package/out/com/cpp/testlib.f.d.mts +0 -2
  166. package/out/com/cpp/testlib.f.mjs +0 -7
  167. package/out/com/cs/module.f.d.mts +0 -7
  168. package/out/com/cs/module.f.mjs +0 -104
  169. package/out/com/cs/test.f.d.mts +0 -2
  170. package/out/com/cs/test.f.mjs +0 -43
  171. package/out/com/cs/testlib.f.d.mts +0 -2
  172. package/out/com/cs/testlib.f.mjs +0 -7
  173. package/out/com/rust/module.f.d.mts +0 -23
  174. package/out/com/rust/module.f.mjs +0 -224
  175. package/out/com/rust/test.f.d.mts +0 -2
  176. package/out/com/rust/test.f.mjs +0 -123
  177. package/out/com/rust/testlib.f.d.mts +0 -2
  178. package/out/com/rust/testlib.f.mjs +0 -7
  179. package/out/com/test/build.d.mts +0 -1
  180. package/out/com/test/build.f.d.mts +0 -26
  181. package/out/com/test/build.f.mjs +0 -98
  182. package/out/com/test/build.mjs +0 -40
  183. package/out/com/types/module.f.d.mts +0 -23
  184. package/out/com/types/module.f.mjs +0 -51
  185. package/out/com/types/testlib.f.d.mts +0 -44
  186. package/out/com/types/testlib.f.mjs +0 -30
  187. package/out/commonjs/build/module.f.d.mts +0 -20
  188. package/out/commonjs/build/module.f.mjs +0 -107
  189. package/out/commonjs/build/test.f.d.mts +0 -3
  190. package/out/commonjs/build/test.f.mjs +0 -102
  191. package/out/commonjs/module/function/module.f.d.mts +0 -5
  192. package/out/commonjs/module/function/module.f.mjs +0 -15
  193. package/out/commonjs/module/module.f.d.mts +0 -52
  194. package/out/commonjs/module/module.f.mjs +0 -48
  195. package/out/commonjs/module.d.mts +0 -3
  196. package/out/commonjs/module.f.d.mts +0 -2
  197. package/out/commonjs/module.f.mjs +0 -10
  198. package/out/commonjs/module.mjs +0 -26
  199. package/out/commonjs/package/dependencies/module.f.d.mts +0 -6
  200. package/out/commonjs/package/dependencies/module.f.mjs +0 -21
  201. package/out/commonjs/package/dependencies/test.f.d.mts +0 -2
  202. package/out/commonjs/package/dependencies/test.f.mjs +0 -15
  203. package/out/commonjs/package/module.f.d.mts +0 -21
  204. package/out/commonjs/package/module.f.mjs +0 -40
  205. package/out/commonjs/package/test.f.d.mts +0 -2
  206. package/out/commonjs/package/test.f.mjs +0 -27
  207. package/out/commonjs/path/module.f.d.mts +0 -60
  208. package/out/commonjs/path/module.f.mjs +0 -171
  209. package/out/commonjs/path/test.f.d.mts +0 -25
  210. package/out/commonjs/path/test.f.mjs +0 -231
  211. package/out/commonjs/test.d.mts +0 -8
  212. package/out/commonjs/test.mjs +0 -87
  213. package/out/crypto/prime_field/module.f.d.mts +0 -67
  214. package/out/crypto/prime_field/module.f.mjs +0 -110
  215. package/out/crypto/prime_field/test.f.d.mts +0 -13
  216. package/out/crypto/prime_field/test.f.mjs +0 -152
  217. package/out/crypto/secp/module.f.d.mts +0 -110
  218. package/out/crypto/secp/module.f.mjs +0 -173
  219. package/out/crypto/secp/test.f.d.mts +0 -5
  220. package/out/crypto/secp/test.f.mjs +0 -78
  221. package/out/crypto/sha2/module.f.d.mts +0 -15
  222. package/out/crypto/sha2/module.f.mjs +0 -172
  223. package/out/crypto/sha2/test.f.d.mts +0 -10
  224. package/out/crypto/sha2/test.f.mjs +0 -86
  225. package/out/dev/index.d.mts +0 -1
  226. package/out/dev/index.mjs +0 -2
  227. package/out/dev/module.d.mts +0 -26
  228. package/out/dev/module.f.d.mts +0 -1
  229. package/out/dev/module.f.mjs +0 -2
  230. package/out/dev/module.mjs +0 -167
  231. package/out/dev/test/module.f.d.mts +0 -25
  232. package/out/dev/test/module.f.mjs +0 -134
  233. package/out/dev/test.d.mts +0 -3
  234. package/out/dev/test.f.d.mts +0 -9
  235. package/out/dev/test.f.mjs +0 -58
  236. package/out/dev/test.mjs +0 -52
  237. package/out/djs/module.f.d.mts +0 -20
  238. package/out/djs/module.f.mjs +0 -79
  239. package/out/djs/parser/module.f.d.mts +0 -56
  240. package/out/djs/parser/module.f.mjs +0 -448
  241. package/out/djs/parser/test.f.d.mts +0 -13
  242. package/out/djs/parser/test.f.mjs +0 -569
  243. package/out/djs/test.f.d.mts +0 -12
  244. package/out/djs/test.f.mjs +0 -84
  245. package/out/djs/tokenizer/module.f.d.mts +0 -13
  246. package/out/djs/tokenizer/module.f.mjs +0 -91
  247. package/out/djs/tokenizer/test.f.d.mts +0 -7
  248. package/out/djs/tokenizer/test.f.mjs +0 -530
  249. package/out/fsc/module.f.d.mts +0 -7
  250. package/out/fsc/module.f.mjs +0 -105
  251. package/out/fsc/test.f.d.mts +0 -4
  252. package/out/fsc/test.f.mjs +0 -19
  253. package/out/fsm/module.f.d.mts +0 -14
  254. package/out/fsm/module.f.mjs +0 -80
  255. package/out/fsm/test.f.d.mts +0 -5
  256. package/out/fsm/test.f.mjs +0 -138
  257. package/out/html/module.f.d.mts +0 -17
  258. package/out/html/module.f.mjs +0 -80
  259. package/out/html/test.f.d.mts +0 -10
  260. package/out/html/test.f.mjs +0 -45
  261. package/out/issues/test.f.d.mts +0 -16
  262. package/out/issues/test.f.mjs +0 -66
  263. package/out/js/tokenizer/module.f.d.mts +0 -163
  264. package/out/js/tokenizer/module.f.mjs +0 -729
  265. package/out/js/tokenizer/test.f.d.mts +0 -9
  266. package/out/js/tokenizer/test.f.mjs +0 -906
  267. package/out/json/module.f.d.mts +0 -33
  268. package/out/json/module.f.mjs +0 -89
  269. package/out/json/parser/module.f.d.mts +0 -32
  270. package/out/json/parser/module.f.mjs +0 -224
  271. package/out/json/parser/test.f.d.mts +0 -5
  272. package/out/json/parser/test.f.mjs +0 -329
  273. package/out/json/serializer/module.f.d.mts +0 -36
  274. package/out/json/serializer/module.f.mjs +0 -67
  275. package/out/json/serializer/test.f.d.mts +0 -8
  276. package/out/json/serializer/test.f.mjs +0 -87
  277. package/out/json/test.f.d.mts +0 -8
  278. package/out/json/test.f.mjs +0 -61
  279. package/out/json/tokenizer/module.f.d.mts +0 -13
  280. package/out/json/tokenizer/module.f.mjs +0 -78
  281. package/out/json/tokenizer/test.f.d.mts +0 -6
  282. package/out/json/tokenizer/test.f.mjs +0 -420
  283. package/out/nanvm-lib/tests/test.f.d.mts +0 -36
  284. package/out/nanvm-lib/tests/test.f.mjs +0 -87
  285. package/out/nodejs/version/main.d.mts +0 -1
  286. package/out/nodejs/version/main.mjs +0 -3
  287. package/out/nodejs/version/module.f.d.mts +0 -12
  288. package/out/nodejs/version/module.f.mjs +0 -34
  289. package/out/nodejs/version/test.f.d.mts +0 -2
  290. package/out/nodejs/version/test.f.mjs +0 -97
  291. package/out/text/ascii/module.f.d.mts +0 -70
  292. package/out/text/ascii/module.f.mjs +0 -154
  293. package/out/text/ascii/test.f.d.mts +0 -4
  294. package/out/text/ascii/test.f.mjs +0 -14
  295. package/out/text/module.f.d.mts +0 -13
  296. package/out/text/module.f.mjs +0 -19
  297. package/out/text/sgr/module.f.d.mts +0 -12
  298. package/out/text/sgr/module.f.mjs +0 -17
  299. package/out/text/test.f.d.mts +0 -2
  300. package/out/text/test.f.mjs +0 -19
  301. package/out/text/utf16/module.f.d.mts +0 -12
  302. package/out/text/utf16/module.f.mjs +0 -86
  303. package/out/text/utf16/test.f.d.mts +0 -6
  304. package/out/text/utf16/test.f.mjs +0 -145
  305. package/out/text/utf8/module.f.d.mts +0 -10
  306. package/out/text/utf8/module.f.mjs +0 -126
  307. package/out/text/utf8/test.f.d.mts +0 -6
  308. package/out/text/utf8/test.f.mjs +0 -175
  309. package/out/types/array/module.f.d.mts +0 -31
  310. package/out/types/array/module.f.mjs +0 -95
  311. package/out/types/array/test.f.d.mts +0 -10
  312. package/out/types/array/test.f.mjs +0 -116
  313. package/out/types/bigfloat/module.f.d.mts +0 -6
  314. package/out/types/bigfloat/module.f.mjs +0 -77
  315. package/out/types/bigfloat/test.f.d.mts +0 -6
  316. package/out/types/bigfloat/test.f.mjs +0 -349
  317. package/out/types/bigint/module.f.d.mts +0 -29
  318. package/out/types/bigint/module.f.mjs +0 -114
  319. package/out/types/bigint/test.f.d.mts +0 -16
  320. package/out/types/bigint/test.f.mjs +0 -199
  321. package/out/types/bit_vec/module.f.d.mts +0 -72
  322. package/out/types/bit_vec/module.f.mjs +0 -83
  323. package/out/types/bit_vec/test.f.d.mts +0 -9
  324. package/out/types/bit_vec/test.f.mjs +0 -60
  325. package/out/types/btree/find/module.f.d.mts +0 -36
  326. package/out/types/btree/find/module.f.mjs +0 -137
  327. package/out/types/btree/find/test.f.d.mts +0 -2
  328. package/out/types/btree/find/test.f.mjs +0 -156
  329. package/out/types/btree/module.f.d.mts +0 -5
  330. package/out/types/btree/module.f.mjs +0 -34
  331. package/out/types/btree/remove/module.f.d.mts +0 -14
  332. package/out/types/btree/remove/module.f.mjs +0 -209
  333. package/out/types/btree/remove/test.f.d.mts +0 -7
  334. package/out/types/btree/remove/test.f.mjs +0 -638
  335. package/out/types/btree/set/module.f.d.mts +0 -5
  336. package/out/types/btree/set/module.f.mjs +0 -114
  337. package/out/types/btree/set/test.f.d.mts +0 -2
  338. package/out/types/btree/set/test.f.mjs +0 -390
  339. package/out/types/btree/test.f.d.mts +0 -13
  340. package/out/types/btree/test.f.mjs +0 -83
  341. package/out/types/btree/types/module.f.d.mts +0 -14
  342. package/out/types/btree/types/module.f.mjs +0 -50
  343. package/out/types/byte_set/module.f.d.mts +0 -25
  344. package/out/types/byte_set/module.f.mjs +0 -42
  345. package/out/types/byte_set/test.f.d.mts +0 -13
  346. package/out/types/byte_set/test.f.mjs +0 -123
  347. package/out/types/function/compare/module.f.d.mts +0 -23
  348. package/out/types/function/compare/module.f.mjs +0 -22
  349. package/out/types/function/compare/test.f.d.mts +0 -2
  350. package/out/types/function/compare/test.f.mjs +0 -8
  351. package/out/types/function/module.f.d.mts +0 -51
  352. package/out/types/function/module.f.mjs +0 -44
  353. package/out/types/function/operator/module.f.d.mts +0 -60
  354. package/out/types/function/operator/module.f.mjs +0 -60
  355. package/out/types/function/test.f.d.mts +0 -2
  356. package/out/types/function/test.f.mjs +0 -15
  357. package/out/types/list/module.f.d.mts +0 -82
  358. package/out/types/list/module.f.mjs +0 -269
  359. package/out/types/list/test.f.d.mts +0 -38
  360. package/out/types/list/test.f.mjs +0 -401
  361. package/out/types/map/module.f.d.mts +0 -21
  362. package/out/types/map/module.f.mjs +0 -54
  363. package/out/types/map/test.f.d.mts +0 -5
  364. package/out/types/map/test.f.mjs +0 -115
  365. package/out/types/nibble_set/module.f.d.mts +0 -16
  366. package/out/types/nibble_set/module.f.mjs +0 -19
  367. package/out/types/nibble_set/test.f.d.mts +0 -13
  368. package/out/types/nibble_set/test.f.mjs +0 -90
  369. package/out/types/nullable/module.f.d.mts +0 -9
  370. package/out/types/nullable/module.f.mjs +0 -9
  371. package/out/types/nullable/test.f.d.mts +0 -2
  372. package/out/types/nullable/test.f.mjs +0 -12
  373. package/out/types/number/module.f.d.mts +0 -7
  374. package/out/types/number/module.f.mjs +0 -12
  375. package/out/types/number/test.f.d.mts +0 -11
  376. package/out/types/number/test.f.mjs +0 -126
  377. package/out/types/object/module.f.d.mts +0 -22
  378. package/out/types/object/module.f.mjs +0 -27
  379. package/out/types/object/test.f.d.mts +0 -5
  380. package/out/types/object/test.f.mjs +0 -17
  381. package/out/types/range/module.f.d.mts +0 -6
  382. package/out/types/range/module.f.mjs +0 -6
  383. package/out/types/range/test.f.d.mts +0 -2
  384. package/out/types/range/test.f.mjs +0 -18
  385. package/out/types/range_map/module.f.d.mts +0 -19
  386. package/out/types/range_map/module.f.mjs +0 -84
  387. package/out/types/range_map/test.f.d.mts +0 -6
  388. package/out/types/range_map/test.f.mjs +0 -201
  389. package/out/types/result/module.d.mts +0 -7
  390. package/out/types/result/module.f.d.mts +0 -22
  391. package/out/types/result/module.f.mjs +0 -25
  392. package/out/types/result/module.mjs +0 -16
  393. package/out/types/sorted_list/module.f.d.mts +0 -53
  394. package/out/types/sorted_list/module.f.mjs +0 -102
  395. package/out/types/sorted_list/test.f.d.mts +0 -5
  396. package/out/types/sorted_list/test.f.mjs +0 -66
  397. package/out/types/sorted_set/module.f.d.mts +0 -19
  398. package/out/types/sorted_set/module.f.mjs +0 -29
  399. package/out/types/sorted_set/test.f.d.mts +0 -6
  400. package/out/types/sorted_set/test.f.mjs +0 -80
  401. package/out/types/string/module.f.d.mts +0 -9
  402. package/out/types/string/module.f.mjs +0 -17
  403. package/out/types/string/test.f.d.mts +0 -15
  404. package/out/types/string/test.f.mjs +0 -58
  405. package/out/types/string_set/module.f.d.mts +0 -13
  406. package/out/types/string_set/module.f.mjs +0 -29
  407. package/out/types/string_set/test.f.d.mts +0 -5
  408. package/out/types/string_set/test.f.mjs +0 -65
  409. package/text/module.f.mjs +0 -27
  410. package/text/utf16/module.f.mjs +0 -96
  411. package/types/array/module.f.mjs +0 -119
  412. package/types/bit_vec/module.f.mjs +0 -90
  413. package/types/bit_vec/test.f.mjs +0 -41
  414. package/types/btree/find/module.f.mjs +0 -125
  415. package/types/btree/types/module.f.mjs +0 -64
  416. package/types/byte_set/module.f.mjs +0 -61
  417. package/types/function/compare/module.f.mjs +0 -29
  418. package/types/function/module.f.mjs +0 -50
  419. package/types/function/operator/module.f.mjs +0 -78
  420. package/types/function/test.f.mjs +0 -17
  421. package/types/list/module.f.mjs +0 -320
  422. package/types/map/module.f.mjs +0 -67
  423. package/types/nibble_set/module.f.mjs +0 -28
  424. package/types/nullable/module.f.mjs +0 -11
  425. package/types/number/module.f.mjs +0 -16
  426. package/types/object/module.f.mjs +0 -33
  427. package/types/range/module.f.mjs +0 -8
  428. package/types/range_map/module.f.mjs +0 -84
  429. package/types/result/module.f.mjs +0 -28
  430. package/types/sorted_list/module.f.mjs +0 -107
  431. package/types/sorted_set/module.f.mjs +0 -38
  432. package/types/string/module.f.mjs +0 -22
  433. package/types/string_set/module.f.mjs +0 -36
@@ -1,30 +0,0 @@
1
- import * as _ from './module.f.mjs';
2
- /** @type {_.Library} */
3
- export default {
4
- Slice: {
5
- struct: {
6
- Start: ['*', 'u8'],
7
- Size: 'usize',
8
- },
9
- },
10
- ManagedStruct: {
11
- struct: {
12
- M: ['IMy']
13
- }
14
- },
15
- IMy: {
16
- guid: 'C66FB270-2D80-49AD-BB6E-88C1F90B805D',
17
- interface: {
18
- GetSlice: { _: ['Slice'] },
19
- SetSlice: { slice: ['Slice'] },
20
- GetUnsafe: { _: ['*', 'bool'] },
21
- SetUnsafe: {
22
- p: ['*', ['Slice']],
23
- size: 'u32'
24
- },
25
- Some: { p: ['IMy'], _: 'bool' },
26
- GetIMy: { a: 'u16', b: 'i16', _: ['IMy'] },
27
- SetManagedStruct: { a: ['ManagedStruct'] },
28
- },
29
- }
30
- };
@@ -1,20 +0,0 @@
1
- /**
2
- * @type {(compile: function_.Compile) =>
3
- * (packageGet: package_.Get) =>
4
- * <M>(moduleMapInterface: module.MapInterface<M>) =>
5
- * (moduleId: module.Id) =>
6
- * (moduleMap: M) =>
7
- * Result<M>
8
- * }
9
- */
10
- export const getOrBuild: (compile: function_.Compile) => (packageGet: package_.Get) => <M>(moduleMapInterface: module.MapInterface<M>) => (moduleId: module.Id) => (moduleMap: M) => Result<M>;
11
- export type Config<M> = {
12
- readonly packageGet: package_.Get;
13
- readonly moduleMapInterface: module.MapInterface<M>;
14
- readonly moduleId: module.Id;
15
- readonly moduleMap: M;
16
- };
17
- export type Result<M> = readonly [module.State, M];
18
- import * as function_ from '../module/function/module.f.mjs';
19
- import * as package_ from '../package/module.f.mjs';
20
- import * as module from '../module/module.f.mjs';
@@ -1,107 +0,0 @@
1
- // @ts-self-types="./module.f.d.mts"
2
- import * as package_ from '../package/module.f.mjs';
3
- import * as module from '../module/module.f.mjs';
4
- const { idToString, dir } = module;
5
- import * as function_ from '../module/function/module.f.mjs';
6
- import * as map from '../../types/map/module.f.mjs';
7
- const { empty: mapEmpty, setReplace } = map;
8
- import * as object from '../../types/object/module.f.mjs';
9
- const { fromMap } = object;
10
- import * as path from '../path/module.f.mjs';
11
- const { parseAndFind } = path;
12
- import * as stringSet from '../../types/string_set/module.f.mjs';
13
- const { set: setSet, contains: setContains, empty: stringSetEmpty } = stringSet;
14
- /**
15
- * @template M
16
- * @typedef {{
17
- * readonly packageGet: package_.Get
18
- * readonly moduleMapInterface: module.MapInterface<M>
19
- * readonly moduleId: module.Id
20
- * readonly moduleMap: M
21
- * }} Config
22
- */
23
- /**
24
- * @template M
25
- * @typedef {readonly[module.State, M]} Result
26
- */
27
- /** @type {<M>(moduleMap: M) => Result<M>} */
28
- const notFound = moduleMap => [['error', ['file not found']], moduleMap];
29
- /**
30
- * @type {(compile: function_.Compile) =>
31
- * (packageGet: package_.Get) =>
32
- * <M>(moduleMapInterface: module.MapInterface<M>) =>
33
- * (moduleId: module.Id) =>
34
- * (moduleMap: M) =>
35
- * Result<M>
36
- * }
37
- */
38
- export const getOrBuild = compile => packageGet => moduleMapInterface => {
39
- /** @typedef {typeof moduleMapInterface extends module.MapInterface<infer M> ? M : never} M */
40
- /**
41
- * @type {(buildSet: stringSet.StringSet) =>
42
- * (moduleId: module.Id) =>
43
- * (source: string) =>
44
- * (moduleMap: M) =>
45
- * Result<M>}
46
- */
47
- const build = buildSet => moduleId => {
48
- const moduleIdStr = idToString(moduleId);
49
- const buildSet1 = setSet(moduleIdStr)(buildSet);
50
- const moduleDir = dir(moduleId);
51
- /** @type {function_.Require<readonly[map.Map<string>, M]>} */
52
- const require_ = p => ([requireMap, m]) => {
53
- /** @type {(e: unknown) => function_.Result<readonly[map.Map<string>, M]>} */
54
- const error = e => [['error', e], [requireMap, m]];
55
- if (moduleDir === null) {
56
- return error('file not found');
57
- }
58
- const r = parseAndFind(packageGet)(moduleDir)(p);
59
- if (r === null) {
60
- return error('file not found');
61
- }
62
- const rIdStr = idToString(r.id);
63
- if (setContains(rIdStr)(buildSet1)) {
64
- return error('circular reference');
65
- }
66
- const [state, m1] = build(buildSet1)(r.id)(r.source)(m);
67
- return [state[0] === 'error' ? state : ['ok', state[1].exports], [setReplace(p)(rIdStr)(requireMap), m1]];
68
- };
69
- return source => moduleMap => {
70
- /** @type {(s: module.State) => (m: M) => Result<M>} */
71
- const set = s => m => [s, moduleMapInterface.setReplace(moduleIdStr)(s)(m)];
72
- /** @type {(e: module.Error) => (m: M) => Result<M>} */
73
- const error = e => set(['error', e]);
74
- // check compilation
75
- const [kind, result] = compile(source);
76
- if (kind === 'error') {
77
- return error(['compilation error', result])(moduleMap);
78
- }
79
- // build
80
- const [[state, value], [requireMap, moduleMap2]] = result(require_)([mapEmpty, moduleMap]);
81
- const x = state === 'error' ?
82
- error(['runtime error', value]) :
83
- set(['ok', { exports: value, requireMap: fromMap(requireMap) }]);
84
- return x(moduleMap2);
85
- };
86
- };
87
- /** @type {(moduleId: module.Id) => (moduleMap: M) => Result<M>} */
88
- const f = moduleId => moduleMap => {
89
- const moduleIdStr = idToString(moduleId);
90
- // check moduleMap
91
- {
92
- const m = moduleMapInterface.at(moduleIdStr)(moduleMap);
93
- if (m !== null) {
94
- return [m, moduleMap];
95
- }
96
- }
97
- // check package
98
- const p = packageGet(moduleId.package);
99
- if (p === null) {
100
- return notFound(moduleMap);
101
- }
102
- // check file
103
- const source = p.file(moduleId.path.join('/'));
104
- return (source === null ? notFound : build(stringSetEmpty)(moduleId)(source))(moduleMap);
105
- };
106
- return f;
107
- };
@@ -1,3 +0,0 @@
1
- declare function _default(): void;
2
- export default _default;
3
- export type StringMap = { readonly [k in string]: string; };
@@ -1,102 +0,0 @@
1
- import * as _ from './module.f.mjs';
2
- import * as map from '../../types/map/module.f.mjs';
3
- import * as Module from '../module/module.f.mjs';
4
- import * as ModuleFunction from '../module/function/module.f.mjs';
5
- import * as Result from '../../types/result/module.f.mjs';
6
- import * as Package from '../package/module.f.mjs';
7
- import * as o from '../../types/object/module.f.mjs';
8
- const { at } = o;
9
- /** @type {{ readonly [k in string]?: Result.Result<ModuleFunction.Function_, unknown> }} */
10
- const compileMap = {
11
- ':index.js': [
12
- 'ok',
13
- require_ => m0 => {
14
- let [r, m] = require_('./b')(m0);
15
- if (r[0] === 'error') {
16
- throw JSON.stringify(r);
17
- }
18
- [r, m] = require_('./a/')(m);
19
- if (r[0] === 'error') {
20
- throw JSON.stringify(r);
21
- }
22
- [r, m] = require_('x/r')(m);
23
- if (r[0] === 'error') {
24
- throw JSON.stringify(r);
25
- }
26
- return [['ok', ':index.js'], m];
27
- }
28
- ],
29
- ':b.js': [
30
- 'ok',
31
- () => m0 => [['ok', ':b.js'], m0]
32
- ],
33
- ':a/index.js': [
34
- 'ok',
35
- () => m0 => [['ok', ':a/index.js'], m0]
36
- ],
37
- 'x:r.js': [
38
- 'ok',
39
- () => m0 => [['ok', 'x:r.js'], m0]
40
- ],
41
- };
42
- /** @type {ModuleFunction.Compile} */
43
- const compile = source => compileMap[source] ?? ['error', 'invalid source'];
44
- /** @typedef {{ readonly [k in string]: string }} StringMap */
45
- /** @type {{ readonly [k in string]: { readonly dependencies: StringMap, readonly files: StringMap }}} */
46
- const packageMap = {
47
- '': {
48
- dependencies: {
49
- 'x': '/node_modules/x'
50
- },
51
- files: {
52
- 'index.js': ':index.js',
53
- 'b.js': ':b.js',
54
- 'a/index.js': ':a/index.js',
55
- }
56
- },
57
- '/node_modules/x': {
58
- dependencies: {},
59
- files: {
60
- 'r.js': 'x:r.js'
61
- }
62
- },
63
- };
64
- /** @type {Package.Get} */
65
- const packageGet = packageId => {
66
- const p = at(packageId)(packageMap);
67
- return p === null ? null :
68
- {
69
- dependency: dependency => at(dependency)(p.dependencies),
70
- file: file => at(file)(p.files),
71
- };
72
- };
73
- const getOrBuild = _.getOrBuild(compile)(packageGet)(/** @type {Module.MapInterface<map.Map<Module.State>>} */ (map));
74
- export default () => {
75
- let [r, m] = getOrBuild({ package: '', path: ['index.js'] })(map.empty);
76
- {
77
- if (r === null) {
78
- throw 'r === null';
79
- }
80
- const x = JSON.stringify(r);
81
- if (x !==
82
- '["ok",{"exports":":index.js","requireMap":{"./a/":"/a/index.js","./b":"/b.js","x/r":"/node_modules/x/r.js"}}]') {
83
- throw `0:${x}`;
84
- }
85
- }
86
- {
87
- [r, m] = getOrBuild({ package: '', path: ['b.js'] })(m);
88
- const x = JSON.stringify(r);
89
- if (x !==
90
- '["ok",{"exports":":b.js","requireMap":{}}]') {
91
- throw x;
92
- }
93
- }
94
- {
95
- [r, m] = getOrBuild({ package: '', path: ['c.js'] })(m);
96
- const x = JSON.stringify(r);
97
- if (x !==
98
- '["error",["file not found"]]') {
99
- throw x;
100
- }
101
- }
102
- };
@@ -1,5 +0,0 @@
1
- export type Function_ = <M>(require: Require<M>) => (prior: M) => Result<M>;
2
- export type Result<M> = readonly [TypesResult.Result<unknown, unknown>, M];
3
- export type Require<M> = (path: string) => (prior: M) => Result<M>;
4
- export type Compile = (source: string) => TypesResult.Result<Function_, unknown>;
5
- import * as TypesResult from '../../../types/result/module.f.mjs';
@@ -1,15 +0,0 @@
1
- // @ts-self-types="./module.f.d.mts"
2
- /**
3
- * An IO interface for creating and running module functions.
4
- */
5
- import * as TypesResult from '../../../types/result/module.f.mjs';
6
- /** @typedef {<M>(require: Require<M>) => (prior: M) => Result<M>} Function_ */
7
- /**
8
- * @template M
9
- * @typedef {readonly[TypesResult.Result<unknown, unknown>, M]} Result
10
- */
11
- /**
12
- * @template M
13
- * @typedef {(path: string) => (prior: M) => Result<M>} Require
14
- */
15
- /** @typedef {(source: string) => TypesResult.Result<Function_, unknown>} Compile */
@@ -1,52 +0,0 @@
1
- /**
2
- * @template M
3
- * @typedef {{
4
- * readonly at: (moduleId: string) => (moduleMap: M) => State | null
5
- * readonly setReplace: (moduleId: string) => (moduleState: State) => (moduleMap: M) => M
6
- * }} MapInterface
7
- */
8
- /**
9
- * @typedef {|
10
- * readonly['ok', Module] |
11
- * readonly['error', Error]
12
- * } State
13
- */
14
- /**
15
- * @typedef {{
16
- * readonly exports: unknown
17
- * readonly requireMap: O.Map<string>
18
- * }} Module
19
- */
20
- /**
21
- * @typedef {|
22
- * ['file not found'] |
23
- * ['compilation error', unknown] |
24
- * ['runtime error', unknown] |
25
- * ['circular reference']
26
- * } Error
27
- */
28
- /**
29
- * @typedef {{
30
- * readonly package: string
31
- * readonly path: readonly string[]
32
- * }} Id
33
- */
34
- /** @type {(id: Id) => Id | null} */
35
- export const dir: (id: Id) => Id | null;
36
- /** @type {(id: Id) => string} */
37
- export const idToString: (id: Id) => string;
38
- export type MapInterface<M> = {
39
- readonly at: (moduleId: string) => (moduleMap: M) => State | null;
40
- readonly setReplace: (moduleId: string) => (moduleState: State) => (moduleMap: M) => M;
41
- };
42
- export type State = readonly ["ok", Module] | readonly ["error", Error];
43
- export type Module = {
44
- readonly exports: unknown;
45
- readonly requireMap: O.Map<string>;
46
- };
47
- export type Error = ["file not found"] | ["compilation error", unknown] | ["runtime error", unknown] | ["circular reference"];
48
- export type Id = {
49
- readonly package: string;
50
- readonly path: readonly string[];
51
- };
52
- import * as O from '../../types/object/module.f.mjs';
@@ -1,48 +0,0 @@
1
- // @ts-self-types="./module.f.d.mts"
2
- import * as O from '../../types/object/module.f.mjs';
3
- /**
4
- * @template M
5
- * @typedef {{
6
- * readonly at: (moduleId: string) => (moduleMap: M) => State | null
7
- * readonly setReplace: (moduleId: string) => (moduleState: State) => (moduleMap: M) => M
8
- * }} MapInterface
9
- */
10
- /**
11
- * @typedef {|
12
- * readonly['ok', Module] |
13
- * readonly['error', Error]
14
- * } State
15
- */
16
- /**
17
- * @typedef {{
18
- * readonly exports: unknown
19
- * readonly requireMap: O.Map<string>
20
- * }} Module
21
- */
22
- /**
23
- * @typedef {|
24
- * ['file not found'] |
25
- * ['compilation error', unknown] |
26
- * ['runtime error', unknown] |
27
- * ['circular reference']
28
- * } Error
29
- */
30
- /**
31
- * @typedef {{
32
- * readonly package: string
33
- * readonly path: readonly string[]
34
- * }} Id
35
- */
36
- /** @type {(id: Id) => Id | null} */
37
- export const dir = id => {
38
- const len = id.path.length;
39
- if (len < 1) {
40
- return null;
41
- }
42
- return {
43
- package: id.package,
44
- path: id.path.slice(0, len - 1)
45
- };
46
- };
47
- /** @type {(id: Id) => string} */
48
- export const idToString = id => `${id.package}/${id.path.join('/')}`;
@@ -1,3 +0,0 @@
1
- /** @type {ModuleFunction.Compile} */
2
- export const compile: ModuleFunction.Compile;
3
- import * as ModuleFunction from './module/function/module.f.mjs';
@@ -1,2 +0,0 @@
1
- export type PackageMap = (packageName: string) => PackageMap | Package | null;
2
- export type Package = readonly [string, PackageMap, (fileName: string) => string | null];
@@ -1,10 +0,0 @@
1
- // @ts-self-types="./module.f.d.mts"
2
- export {};
3
- /** @typedef {(packageName: string) => PackageMap|Package|null} PackageMap */
4
- /**
5
- * @typedef {readonly[
6
- * string,
7
- * PackageMap,
8
- * (fileName: string) => string|null
9
- * ]} Package
10
- */
@@ -1,26 +0,0 @@
1
- import unsafeResult from '../types/result/module.mjs';
2
- const { tryCatch } = unsafeResult;
3
- import * as result from '../types/result/module.f.mjs';
4
- const { unwrap } = result;
5
- import * as ModuleFunction from './module/function/module.f.mjs';
6
- /** @type {(f: Function) => ModuleFunction.Function_} */
7
- const build = f => immutableRequire => mutableData => {
8
- /** @type {(path: string) => unknown} */
9
- const mutableRequire = path => {
10
- const [result, data] = immutableRequire(path)(mutableData);
11
- // Side effect: setting a variable from a nested function (closure)
12
- // is not allowed in FunctionalScript.
13
- mutableData = data;
14
- return unwrap(result);
15
- };
16
- const result = tryCatch(() => {
17
- const mutableModule = { exports: {} };
18
- f(mutableModule, mutableRequire);
19
- return mutableModule.exports;
20
- });
21
- return [result, mutableData];
22
- };
23
- /** @type {ModuleFunction.Compile} */
24
- export const compile = source =>
25
- // Side effect: a `Function` constructor is not allowed in FunctionalScript.
26
- tryCatch(() => build(Function('module', 'require', `"use strict";${source}`)));
@@ -1,6 +0,0 @@
1
- /** @type {(j: json.Unknown) => j is DependenciesJson} */
2
- export const isDependenciesJson: (j: json.Unknown) => j is DependenciesJson;
3
- export type DependencyJson = readonly [string, string];
4
- export type DependencyMapJson = { readonly [k in string]: string; };
5
- export type DependenciesJson = DependencyMapJson | null;
6
- import * as json from '../../../json/module.f.mjs';
@@ -1,21 +0,0 @@
1
- // @ts-self-types="./module.f.d.mts"
2
- import * as json from '../../../json/module.f.mjs';
3
- const { isObject } = json;
4
- import * as list from '../../../types/list/module.f.mjs';
5
- const { map, every } = list;
6
- const { entries } = Object;
7
- /** @typedef {readonly[string, string]} DependencyJson */
8
- /** @typedef {{readonly[k in string]: string}} DependencyMapJson */
9
- /** @typedef {DependencyMapJson|null} DependenciesJson */
10
- /** @type {(entry: json.Entry) => boolean} */
11
- const isDependencyJson = ([, v]) => typeof v === 'string';
12
- /** @type {(j: json.Unknown) => j is DependenciesJson} */
13
- export const isDependenciesJson = j => {
14
- if (j === null) {
15
- return true;
16
- }
17
- if (!isObject(j)) {
18
- return false;
19
- }
20
- return every(map(isDependencyJson)(entries(j)));
21
- };
@@ -1,2 +0,0 @@
1
- declare function _default(): void;
2
- export default _default;
@@ -1,15 +0,0 @@
1
- import * as _ from './module.f.mjs';
2
- export default () => {
3
- if (!_.isDependenciesJson(null)) {
4
- throw 'error';
5
- }
6
- if (!_.isDependenciesJson({})) {
7
- throw 'error';
8
- }
9
- if (!_.isDependenciesJson({ 'a': 'b' })) {
10
- throw 'error';
11
- }
12
- if (_.isDependenciesJson({ 'a': 12 })) {
13
- throw 'error';
14
- }
15
- };
@@ -1,21 +0,0 @@
1
- /**
2
- * @typedef {{
3
- * readonly name: string
4
- * readonly version: string
5
- * readonly dependencies?: dependencies.DependenciesJson
6
- * }} PackageJson
7
- */
8
- /** @type {(j: json.Unknown) => j is PackageJson} */
9
- export const isPackageJson: (j: json.Unknown) => j is PackageJson;
10
- export type PackageJson = {
11
- readonly name: string;
12
- readonly version: string;
13
- readonly dependencies?: dependencies.DependenciesJson;
14
- };
15
- export type Package = {
16
- readonly dependency: (localPackageId: string) => string | null;
17
- readonly file: (localFileId: string) => string | null;
18
- };
19
- export type Get = (packageId: string) => Package | null;
20
- import * as json from '../../json/module.f.mjs';
21
- import * as dependencies from './dependencies/module.f.mjs';
@@ -1,40 +0,0 @@
1
- // @ts-self-types="./module.f.d.mts"
2
- import * as json from '../../json/module.f.mjs';
3
- const { isObject } = json;
4
- import * as dependencies from './dependencies/module.f.mjs';
5
- const { isDependenciesJson } = dependencies;
6
- import * as o from '../../types/object/module.f.mjs';
7
- const { at } = o;
8
- /**
9
- * @typedef {{
10
- * readonly name: string
11
- * readonly version: string
12
- * readonly dependencies?: dependencies.DependenciesJson
13
- * }} PackageJson
14
- */
15
- /** @type {(j: json.Unknown) => j is PackageJson} */
16
- export const isPackageJson = j => {
17
- if (!isObject(j)) {
18
- return false;
19
- }
20
- if (typeof j.name !== 'string') {
21
- return false;
22
- }
23
- if (typeof j.version !== 'string') {
24
- return false;
25
- }
26
- if (!isDependenciesJson(at('dependencies')(j))) {
27
- return false;
28
- }
29
- return true;
30
- };
31
- /**
32
- * @typedef {{
33
- * readonly dependency: (localPackageId: string) => string | null
34
- * readonly file: (localFileId: string) => string | null
35
- * }} Package
36
- */
37
- /**
38
- * @note Current package has an empty string '' as a packageId.
39
- * @typedef {(packageId: string) => Package | null} Get
40
- */
@@ -1,2 +0,0 @@
1
- declare function _default(): void;
2
- export default _default;
@@ -1,27 +0,0 @@
1
- import * as _ from './module.f.mjs';
2
- export default () => {
3
- if (_.isPackageJson(null)) {
4
- throw 'error';
5
- }
6
- if (_.isPackageJson({})) {
7
- throw 'error';
8
- }
9
- if (_.isPackageJson({ name: 'x', version: 12 })) {
10
- throw 'error';
11
- }
12
- if (!_.isPackageJson({ name: 'x', version: "12" })) {
13
- throw 'error';
14
- }
15
- if (_.isPackageJson({ version: "", dependencies: [] })) {
16
- throw 'error';
17
- }
18
- if (!_.isPackageJson({ name: 'a', version: "", dependencies: {} })) {
19
- throw 'error';
20
- }
21
- if (_.isPackageJson({ name: 'b', version: "", dependencies: { x: 12 } })) {
22
- throw 'error';
23
- }
24
- if (!_.isPackageJson({ name: 'c', version: "", dependencies: { x: "12" } })) {
25
- throw 'error';
26
- }
27
- };
@@ -1,60 +0,0 @@
1
- /** @type {(local: string) => (path: string) => LocalPath|null} */
2
- export const parseLocal: (local: string) => (path: string) => LocalPath | null;
3
- /**
4
- * @typedef {{
5
- * readonly package: string,
6
- * readonly items: Items,
7
- * readonly dir: boolean,
8
- * }} Path
9
- */
10
- /**
11
- * @type {(d: (local: string) => string|null) =>
12
- * (dir: boolean) =>
13
- * (items: list.List<string>) =>
14
- * Path|null}
15
- */
16
- export const parseGlobal: (d: (local: string) => string | null) => (dir: boolean) => (items: list.List<string>) => Path | null;
17
- /**
18
- * @type {(packageId: string) =>
19
- * (dependencies: (local: string) => string|null) =>
20
- * (local: string) =>
21
- * (path: string) =>
22
- * Path|null }
23
- */
24
- export const parse: (packageId: string) => (dependencies: (local: string) => string | null) => (local: string) => (path: string) => Path | null;
25
- /**
26
- * @typedef {{
27
- * readonly id: Module.Id
28
- * readonly source: string
29
- * }} FoundResult
30
- */
31
- /** @typedef {FoundResult| null} Result */
32
- /**
33
- * @type {(packageGet: Package.Get) =>
34
- * (moduleId: Module.Id) =>
35
- * (path: string) =>
36
- * Result
37
- * }
38
- */
39
- export const parseAndFind: (packageGet: Package.Get) => (moduleId: Module.Id) => (path: string) => Result;
40
- export type Items = readonly string[];
41
- export type LocalPath = {
42
- readonly external: boolean;
43
- readonly dir: boolean;
44
- readonly items: Items;
45
- };
46
- export type OptionList = readonly [list.List<string>] | null;
47
- export type IdPath = readonly [string, list.List<string>];
48
- export type Path = {
49
- readonly package: string;
50
- readonly items: Items;
51
- readonly dir: boolean;
52
- };
53
- export type FoundResult = {
54
- readonly id: Module.Id;
55
- readonly source: string;
56
- };
57
- export type Result = FoundResult | null;
58
- import * as list from '../../types/list/module.f.mjs';
59
- import * as Package from '../package/module.f.mjs';
60
- import * as Module from '../module/module.f.mjs';