functionalscript 0.1.609 → 0.2.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 (393) hide show
  1. package/com/cpp/module.f.mjs +20 -25
  2. package/com/cpp/testlib.f.mjs +3 -4
  3. package/com/cs/module.f.mjs +18 -23
  4. package/com/cs/testlib.f.mjs +3 -5
  5. package/com/rust/module.f.mjs +25 -30
  6. package/com/rust/testlib.f.mjs +3 -5
  7. package/com/test/build.f.mjs +2 -2
  8. package/com/test/build.mjs +4 -4
  9. package/com/types/module.f.mjs +5 -12
  10. package/commonjs/build/module.f.mjs +23 -28
  11. package/commonjs/build/test.f.mjs +4 -4
  12. package/commonjs/module/function/module.f.mjs +0 -2
  13. package/commonjs/module/module.f.mjs +2 -9
  14. package/commonjs/module.f.mjs +0 -2
  15. package/commonjs/module.mjs +2 -7
  16. package/commonjs/package/dependencies/module.f.mjs +5 -10
  17. package/commonjs/package/dependencies/test.f.mjs +1 -1
  18. package/commonjs/package/module.f.mjs +6 -13
  19. package/commonjs/package/test.f.mjs +1 -1
  20. package/commonjs/path/module.f.mjs +12 -23
  21. package/commonjs/path/test.f.mjs +11 -11
  22. package/commonjs/test.mjs +1 -1
  23. package/dev/module.f.mjs +1 -4
  24. package/dev/module.mjs +1 -1
  25. package/dev/test/module.f.mjs +4 -6
  26. package/djs/module.f.mjs +12 -19
  27. package/djs/parser/module.f.mjs +18 -24
  28. package/djs/parser/test.f.mjs +9 -9
  29. package/djs/test.f.mjs +4 -4
  30. package/djs/tokenizer/module.f.mjs +18 -23
  31. package/djs/tokenizer/test.f.mjs +6 -6
  32. package/fsc/module.f.mjs +17 -24
  33. package/fsc/test.f.mjs +3 -3
  34. package/fsm/module.f.mjs +27 -38
  35. package/fsm/test.f.mjs +8 -8
  36. package/html/module.f.mjs +14 -23
  37. package/html/test.f.mjs +4 -4
  38. package/js/tokenizer/module.f.mjs +55 -62
  39. package/js/tokenizer/test.f.mjs +6 -6
  40. package/json/module.f.mjs +18 -31
  41. package/json/parser/module.f.mjs +9 -14
  42. package/json/parser/test.f.mjs +7 -7
  43. package/json/serializer/module.f.mjs +14 -29
  44. package/json/serializer/test.f.mjs +2 -2
  45. package/json/test.f.mjs +3 -3
  46. package/json/tokenizer/module.f.mjs +14 -19
  47. package/json/tokenizer/test.f.mjs +6 -6
  48. package/jsr.json +59 -59
  49. package/nodejs/version/main.mjs +1 -1
  50. package/nodejs/version/module.f.mjs +2 -7
  51. package/nodejs/version/test.f.mjs +3 -3
  52. package/out/com/cpp/module.f.d.mts +4 -0
  53. package/out/com/cpp/module.f.mjs +123 -0
  54. package/out/com/cpp/test.f.mjs +40 -0
  55. package/out/com/cpp/testlib.f.mjs +7 -0
  56. package/out/com/cs/module.f.d.mts +4 -0
  57. package/out/com/cs/module.f.mjs +95 -0
  58. package/out/com/cs/test.f.mjs +43 -0
  59. package/out/com/cs/testlib.f.mjs +7 -0
  60. package/{com → out/com}/rust/module.f.d.mts +3 -7
  61. package/out/com/rust/module.f.mjs +213 -0
  62. package/out/com/rust/test.f.mjs +123 -0
  63. package/out/com/rust/testlib.f.mjs +7 -0
  64. package/{com → out/com}/test/build.f.d.mts +2 -2
  65. package/out/com/test/build.f.mjs +98 -0
  66. package/out/com/test/build.mjs +40 -0
  67. package/{com → out/com}/types/module.f.d.mts +5 -10
  68. package/out/com/types/module.f.mjs +51 -0
  69. package/out/com/types/testlib.f.mjs +30 -0
  70. package/out/commonjs/build/module.f.d.mts +20 -0
  71. package/out/commonjs/build/module.f.mjs +107 -0
  72. package/out/commonjs/build/test.f.mjs +102 -0
  73. package/{commonjs → out/commonjs}/module/function/module.f.d.mts +0 -2
  74. package/out/commonjs/module/function/module.f.mjs +15 -0
  75. package/{commonjs → out/commonjs}/module/module.f.d.mts +16 -21
  76. package/out/commonjs/module/module.f.mjs +48 -0
  77. package/out/commonjs/module.d.mts +3 -0
  78. package/{commonjs → out/commonjs}/module.f.d.mts +0 -2
  79. package/out/commonjs/module.f.mjs +10 -0
  80. package/out/commonjs/module.mjs +26 -0
  81. package/out/commonjs/package/dependencies/module.f.d.mts +6 -0
  82. package/out/commonjs/package/dependencies/module.f.mjs +21 -0
  83. package/out/commonjs/package/dependencies/test.f.mjs +15 -0
  84. package/out/commonjs/package/module.f.d.mts +21 -0
  85. package/out/commonjs/package/module.f.mjs +40 -0
  86. package/out/commonjs/package/test.f.mjs +27 -0
  87. package/{commonjs → out/commonjs}/path/module.f.d.mts +25 -32
  88. package/out/commonjs/path/module.f.mjs +171 -0
  89. package/out/commonjs/path/test.f.mjs +231 -0
  90. package/out/commonjs/test.mjs +87 -0
  91. package/out/dev/index.mjs +2 -0
  92. package/out/dev/module.f.d.mts +1 -0
  93. package/out/dev/module.f.mjs +2 -0
  94. package/out/dev/module.mjs +167 -0
  95. package/{dev → out/dev}/test/module.f.d.mts +2 -3
  96. package/out/dev/test/module.f.mjs +134 -0
  97. package/out/dev/test.f.mjs +58 -0
  98. package/out/dev/test.mjs +52 -0
  99. package/{djs → out/djs}/module.f.d.mts +13 -18
  100. package/out/djs/module.f.mjs +75 -0
  101. package/{djs → out/djs}/parser/module.f.d.mts +11 -15
  102. package/out/djs/parser/module.f.mjs +432 -0
  103. package/out/djs/parser/test.f.mjs +535 -0
  104. package/out/djs/test.f.mjs +84 -0
  105. package/out/djs/tokenizer/module.f.d.mts +13 -0
  106. package/out/djs/tokenizer/module.f.mjs +87 -0
  107. package/out/djs/tokenizer/test.f.mjs +480 -0
  108. package/out/fsc/module.f.d.mts +7 -0
  109. package/out/fsc/module.f.mjs +105 -0
  110. package/out/fsc/test.f.mjs +19 -0
  111. package/out/fsm/module.f.d.mts +14 -0
  112. package/out/fsm/module.f.mjs +80 -0
  113. package/out/fsm/test.f.mjs +138 -0
  114. package/out/html/module.f.d.mts +15 -0
  115. package/out/html/module.f.mjs +94 -0
  116. package/out/html/test.f.mjs +45 -0
  117. package/out/issues/test.f.mjs +66 -0
  118. package/{js → out/js}/tokenizer/module.f.d.mts +10 -15
  119. package/out/js/tokenizer/module.f.mjs +686 -0
  120. package/out/js/tokenizer/test.f.mjs +844 -0
  121. package/out/json/module.f.d.mts +33 -0
  122. package/out/json/module.f.mjs +89 -0
  123. package/{json → out/json}/parser/module.f.d.mts +9 -13
  124. package/out/json/parser/module.f.mjs +224 -0
  125. package/out/json/parser/test.f.mjs +321 -0
  126. package/out/json/serializer/module.f.d.mts +36 -0
  127. package/out/json/serializer/module.f.mjs +67 -0
  128. package/out/json/serializer/test.f.mjs +87 -0
  129. package/out/json/test.f.mjs +61 -0
  130. package/out/json/tokenizer/module.f.d.mts +13 -0
  131. package/out/json/tokenizer/module.f.mjs +78 -0
  132. package/out/json/tokenizer/test.f.mjs +420 -0
  133. package/out/nanvm-lib/tests/test.f.mjs +87 -0
  134. package/out/nodejs/version/main.mjs +3 -0
  135. package/{nodejs → out/nodejs}/version/module.f.d.mts +4 -9
  136. package/out/nodejs/version/module.f.mjs +34 -0
  137. package/out/nodejs/version/test.f.mjs +97 -0
  138. package/{prime_field → out/prime_field}/module.f.d.mts +20 -23
  139. package/out/prime_field/module.f.mjs +87 -0
  140. package/out/prime_field/test.f.mjs +145 -0
  141. package/{secp → out/secp}/module.f.d.mts +27 -28
  142. package/out/secp/module.f.mjs +113 -0
  143. package/out/secp/test.f.mjs +63 -0
  144. package/out/sha2/module.f.d.mts +15 -0
  145. package/out/sha2/module.f.mjs +172 -0
  146. package/out/sha2/test.f.mjs +86 -0
  147. package/out/text/ascii/module.f.d.mts +70 -0
  148. package/out/text/ascii/module.f.mjs +154 -0
  149. package/out/text/ascii/test.f.mjs +14 -0
  150. package/out/text/module.f.d.mts +13 -0
  151. package/out/text/module.f.mjs +19 -0
  152. package/out/text/sgr/module.f.d.mts +12 -0
  153. package/out/text/sgr/module.f.mjs +17 -0
  154. package/out/text/test.f.mjs +19 -0
  155. package/out/text/utf16/module.f.d.mts +12 -0
  156. package/out/text/utf16/module.f.mjs +86 -0
  157. package/out/text/utf16/test.f.mjs +145 -0
  158. package/out/text/utf8/module.f.d.mts +10 -0
  159. package/out/text/utf8/module.f.mjs +126 -0
  160. package/out/text/utf8/test.f.mjs +175 -0
  161. package/{types → out/types}/array/module.f.d.mts +14 -24
  162. package/out/types/array/module.f.mjs +95 -0
  163. package/out/types/array/test.f.mjs +116 -0
  164. package/out/types/bigfloat/module.f.d.mts +6 -0
  165. package/out/types/bigfloat/module.f.mjs +77 -0
  166. package/out/types/bigfloat/test.f.mjs +349 -0
  167. package/out/types/bigint/module.f.d.mts +29 -0
  168. package/{types/bigint/module.f.d.mts → out/types/bigint/module.f.mjs} +64 -27
  169. package/out/types/bigint/test.f.mjs +192 -0
  170. package/{types → out/types}/btree/find/module.f.d.mts +20 -26
  171. package/out/types/btree/find/module.f.mjs +137 -0
  172. package/out/types/btree/find/test.f.mjs +156 -0
  173. package/out/types/btree/module.f.d.mts +5 -0
  174. package/out/types/btree/module.f.mjs +34 -0
  175. package/{types → out/types}/btree/remove/module.f.d.mts +7 -12
  176. package/out/types/btree/remove/module.f.mjs +209 -0
  177. package/out/types/btree/remove/test.f.mjs +638 -0
  178. package/{types → out/types}/btree/set/module.f.d.mts +3 -7
  179. package/out/types/btree/set/module.f.mjs +114 -0
  180. package/out/types/btree/set/test.f.mjs +390 -0
  181. package/out/types/btree/test.f.mjs +83 -0
  182. package/{types → out/types}/btree/types/module.f.d.mts +0 -2
  183. package/out/types/btree/types/module.f.mjs +50 -0
  184. package/out/types/byte_set/module.f.d.mts +25 -0
  185. package/out/types/byte_set/module.f.mjs +42 -0
  186. package/out/types/byte_set/test.f.mjs +123 -0
  187. package/{types → out/types}/function/compare/module.f.d.mts +9 -15
  188. package/out/types/function/compare/module.f.mjs +22 -0
  189. package/out/types/function/compare/test.f.mjs +8 -0
  190. package/{types → out/types}/function/module.f.d.mts +20 -27
  191. package/out/types/function/module.f.mjs +44 -0
  192. package/{types → out/types}/function/operator/module.f.d.mts +28 -43
  193. package/out/types/function/operator/module.f.mjs +60 -0
  194. package/out/types/function/test.f.mjs +15 -0
  195. package/out/types/list/module.f.d.mts +82 -0
  196. package/out/types/list/module.f.mjs +269 -0
  197. package/out/types/list/test.f.mjs +401 -0
  198. package/out/types/map/module.f.d.mts +21 -0
  199. package/out/types/map/module.f.mjs +54 -0
  200. package/out/types/map/test.f.mjs +115 -0
  201. package/out/types/nibble_set/module.f.d.mts +16 -0
  202. package/out/types/nibble_set/module.f.mjs +19 -0
  203. package/out/types/nibble_set/test.f.mjs +90 -0
  204. package/out/types/nullable/module.f.d.mts +9 -0
  205. package/out/types/nullable/module.f.mjs +9 -0
  206. package/out/types/nullable/test.f.mjs +12 -0
  207. package/out/types/number/module.f.d.mts +7 -0
  208. package/out/types/number/module.f.mjs +12 -0
  209. package/out/types/number/test.f.mjs +126 -0
  210. package/out/types/object/module.f.d.mts +22 -0
  211. package/out/types/object/module.f.mjs +27 -0
  212. package/out/types/object/test.f.mjs +17 -0
  213. package/out/types/range/module.f.d.mts +6 -0
  214. package/out/types/range/module.f.mjs +6 -0
  215. package/out/types/range/test.f.mjs +18 -0
  216. package/{types → out/types}/range_map/module.f.d.mts +9 -15
  217. package/out/types/range_map/module.f.mjs +84 -0
  218. package/out/types/range_map/test.f.mjs +201 -0
  219. package/out/types/result/module.d.mts +7 -0
  220. package/{types → out/types}/result/module.f.d.mts +6 -12
  221. package/out/types/result/module.f.mjs +25 -0
  222. package/out/types/result/module.mjs +16 -0
  223. package/{types → out/types}/sorted_list/module.f.d.mts +22 -28
  224. package/out/types/sorted_list/module.f.mjs +102 -0
  225. package/out/types/sorted_list/test.f.mjs +66 -0
  226. package/{types → out/types}/sorted_set/module.f.d.mts +6 -12
  227. package/out/types/sorted_set/module.f.mjs +29 -0
  228. package/out/types/sorted_set/test.f.mjs +80 -0
  229. package/out/types/string/module.f.d.mts +9 -0
  230. package/out/types/string/module.f.mjs +17 -0
  231. package/out/types/string/test.f.mjs +58 -0
  232. package/out/types/string_set/module.f.d.mts +13 -0
  233. package/out/types/string_set/module.f.mjs +29 -0
  234. package/out/types/string_set/test.f.mjs +65 -0
  235. package/package.json +5 -4
  236. package/prime_field/module.f.mjs +9 -12
  237. package/prime_field/test.f.mjs +1 -1
  238. package/secp/module.f.mjs +38 -39
  239. package/secp/test.f.mjs +4 -4
  240. package/sha2/module.f.mjs +7 -20
  241. package/sha2/test.f.mjs +4 -4
  242. package/text/ascii/module.f.mjs +5 -10
  243. package/text/ascii/test.f.mjs +3 -3
  244. package/text/module.f.mjs +7 -14
  245. package/text/sgr/module.f.mjs +2 -4
  246. package/text/test.f.mjs +3 -3
  247. package/text/utf16/module.f.mjs +17 -28
  248. package/text/utf16/test.f.mjs +5 -5
  249. package/text/utf8/module.f.mjs +9 -16
  250. package/text/utf8/test.f.mjs +4 -4
  251. package/tsconfig.json +2 -2
  252. package/types/array/module.f.mjs +8 -25
  253. package/types/array/test.f.mjs +3 -3
  254. package/types/bigfloat/module.f.mjs +3 -10
  255. package/types/bigfloat/test.f.mjs +1 -1
  256. package/types/bigint/module.f.mjs +11 -30
  257. package/types/bigint/test.f.mjs +1 -1
  258. package/types/btree/find/module.f.mjs +8 -17
  259. package/types/btree/find/test.f.mjs +7 -7
  260. package/types/btree/module.f.mjs +6 -11
  261. package/types/btree/remove/module.f.mjs +10 -17
  262. package/types/btree/remove/test.f.mjs +5 -5
  263. package/types/btree/set/module.f.mjs +4 -9
  264. package/types/btree/set/test.f.mjs +4 -4
  265. package/types/btree/test.f.mjs +9 -9
  266. package/types/btree/types/module.f.mjs +0 -2
  267. package/types/byte_set/module.f.mjs +14 -39
  268. package/types/byte_set/test.f.mjs +5 -5
  269. package/types/function/compare/module.f.mjs +3 -12
  270. package/types/function/compare/test.f.mjs +1 -1
  271. package/types/function/module.f.mjs +4 -15
  272. package/types/function/operator/module.f.mjs +14 -41
  273. package/types/function/test.f.mjs +1 -1
  274. package/types/list/module.f.mjs +45 -114
  275. package/types/list/test.f.mjs +10 -10
  276. package/types/map/module.f.mjs +15 -30
  277. package/types/map/test.f.mjs +2 -2
  278. package/types/nibble_set/module.f.mjs +7 -24
  279. package/types/nibble_set/test.f.mjs +2 -2
  280. package/types/nullable/module.f.mjs +2 -9
  281. package/types/nullable/test.f.mjs +1 -1
  282. package/types/number/module.f.mjs +8 -19
  283. package/types/number/test.f.mjs +1 -1
  284. package/types/object/module.f.mjs +9 -20
  285. package/types/object/test.f.mjs +1 -1
  286. package/types/range/module.f.mjs +2 -9
  287. package/types/range/test.f.mjs +1 -1
  288. package/types/range_map/module.f.mjs +9 -18
  289. package/types/range_map/test.f.mjs +32 -32
  290. package/types/result/module.f.mjs +3 -12
  291. package/types/result/module.mjs +2 -2
  292. package/types/sorted_list/module.f.mjs +10 -19
  293. package/types/sorted_list/test.f.mjs +7 -7
  294. package/types/sorted_set/module.f.mjs +7 -16
  295. package/types/sorted_set/test.f.mjs +7 -7
  296. package/types/string/module.f.mjs +10 -21
  297. package/types/string/test.f.mjs +2 -2
  298. package/types/string_set/module.f.mjs +12 -27
  299. package/types/string_set/test.f.mjs +1 -1
  300. package/com/cpp/module.f.d.mts +0 -8
  301. package/com/cs/module.f.d.mts +0 -8
  302. package/commonjs/build/module.f.d.mts +0 -24
  303. package/commonjs/module.d.mts +0 -7
  304. package/commonjs/package/dependencies/module.f.d.mts +0 -10
  305. package/commonjs/package/module.f.d.mts +0 -27
  306. package/dev/module.f.d.mts +0 -4
  307. package/djs/tokenizer/module.f.d.mts +0 -17
  308. package/fsc/module.f.d.mts +0 -12
  309. package/fsm/module.f.d.mts +0 -21
  310. package/html/module.f.d.mts +0 -20
  311. package/json/module.f.d.mts +0 -41
  312. package/json/serializer/module.f.d.mts +0 -45
  313. package/json/tokenizer/module.f.d.mts +0 -17
  314. package/sha2/module.f.d.mts +0 -23
  315. package/text/ascii/module.f.d.mts +0 -73
  316. package/text/module.f.d.mts +0 -18
  317. package/text/sgr/module.f.d.mts +0 -14
  318. package/text/utf16/module.f.d.mts +0 -19
  319. package/text/utf8/module.f.d.mts +0 -15
  320. package/types/bigfloat/module.f.d.mts +0 -11
  321. package/types/btree/module.f.d.mts +0 -9
  322. package/types/byte_set/module.f.d.mts +0 -38
  323. package/types/list/module.f.d.mts +0 -117
  324. package/types/map/module.f.d.mts +0 -30
  325. package/types/nibble_set/module.f.d.mts +0 -26
  326. package/types/nullable/module.f.d.mts +0 -14
  327. package/types/number/module.f.d.mts +0 -13
  328. package/types/object/module.f.d.mts +0 -29
  329. package/types/range/module.f.d.mts +0 -11
  330. package/types/result/module.d.mts +0 -7
  331. package/types/string/module.f.d.mts +0 -15
  332. package/types/string_set/module.f.d.mts +0 -21
  333. /package/{com → out/com}/cpp/test.f.d.mts +0 -0
  334. /package/{com → out/com}/cpp/testlib.f.d.mts +0 -0
  335. /package/{com → out/com}/cs/test.f.d.mts +0 -0
  336. /package/{com → out/com}/cs/testlib.f.d.mts +0 -0
  337. /package/{com → out/com}/rust/test.f.d.mts +0 -0
  338. /package/{com → out/com}/rust/testlib.f.d.mts +0 -0
  339. /package/{com → out/com}/test/build.d.mts +0 -0
  340. /package/{com → out/com}/types/testlib.f.d.mts +0 -0
  341. /package/{commonjs → out/commonjs}/build/test.f.d.mts +0 -0
  342. /package/{commonjs → out/commonjs}/package/dependencies/test.f.d.mts +0 -0
  343. /package/{commonjs → out/commonjs}/package/test.f.d.mts +0 -0
  344. /package/{commonjs → out/commonjs}/path/test.f.d.mts +0 -0
  345. /package/{commonjs → out/commonjs}/test.d.mts +0 -0
  346. /package/{dev → out/dev}/index.d.mts +0 -0
  347. /package/{dev → out/dev}/module.d.mts +0 -0
  348. /package/{dev → out/dev}/test.d.mts +0 -0
  349. /package/{dev → out/dev}/test.f.d.mts +0 -0
  350. /package/{djs → out/djs}/parser/test.f.d.mts +0 -0
  351. /package/{djs → out/djs}/test.f.d.mts +0 -0
  352. /package/{djs → out/djs}/tokenizer/test.f.d.mts +0 -0
  353. /package/{fsc → out/fsc}/test.f.d.mts +0 -0
  354. /package/{fsm → out/fsm}/test.f.d.mts +0 -0
  355. /package/{html → out/html}/test.f.d.mts +0 -0
  356. /package/{issues → out/issues}/test.f.d.mts +0 -0
  357. /package/{js → out/js}/tokenizer/test.f.d.mts +0 -0
  358. /package/{json → out/json}/parser/test.f.d.mts +0 -0
  359. /package/{json → out/json}/serializer/test.f.d.mts +0 -0
  360. /package/{json → out/json}/test.f.d.mts +0 -0
  361. /package/{json → out/json}/tokenizer/test.f.d.mts +0 -0
  362. /package/{nanvm-lib → out/nanvm-lib}/tests/test.f.d.mts +0 -0
  363. /package/{nodejs → out/nodejs}/version/main.d.mts +0 -0
  364. /package/{nodejs → out/nodejs}/version/test.f.d.mts +0 -0
  365. /package/{prime_field → out/prime_field}/test.f.d.mts +0 -0
  366. /package/{secp → out/secp}/test.f.d.mts +0 -0
  367. /package/{sha2 → out/sha2}/test.f.d.mts +0 -0
  368. /package/{text → out/text}/ascii/test.f.d.mts +0 -0
  369. /package/{text → out/text}/test.f.d.mts +0 -0
  370. /package/{text → out/text}/utf16/test.f.d.mts +0 -0
  371. /package/{text → out/text}/utf8/test.f.d.mts +0 -0
  372. /package/{types → out/types}/array/test.f.d.mts +0 -0
  373. /package/{types → out/types}/bigfloat/test.f.d.mts +0 -0
  374. /package/{types → out/types}/bigint/test.f.d.mts +0 -0
  375. /package/{types → out/types}/btree/find/test.f.d.mts +0 -0
  376. /package/{types → out/types}/btree/remove/test.f.d.mts +0 -0
  377. /package/{types → out/types}/btree/set/test.f.d.mts +0 -0
  378. /package/{types → out/types}/btree/test.f.d.mts +0 -0
  379. /package/{types → out/types}/byte_set/test.f.d.mts +0 -0
  380. /package/{types → out/types}/function/compare/test.f.d.mts +0 -0
  381. /package/{types → out/types}/function/test.f.d.mts +0 -0
  382. /package/{types → out/types}/list/test.f.d.mts +0 -0
  383. /package/{types → out/types}/map/test.f.d.mts +0 -0
  384. /package/{types → out/types}/nibble_set/test.f.d.mts +0 -0
  385. /package/{types → out/types}/nullable/test.f.d.mts +0 -0
  386. /package/{types → out/types}/number/test.f.d.mts +0 -0
  387. /package/{types → out/types}/object/test.f.d.mts +0 -0
  388. /package/{types → out/types}/range/test.f.d.mts +0 -0
  389. /package/{types → out/types}/range_map/test.f.d.mts +0 -0
  390. /package/{types → out/types}/sorted_list/test.f.d.mts +0 -0
  391. /package/{types → out/types}/sorted_set/test.f.d.mts +0 -0
  392. /package/{types → out/types}/string/test.f.d.mts +0 -0
  393. /package/{types → out/types}/string_set/test.f.d.mts +0 -0
@@ -0,0 +1,80 @@
1
+ import * as _ from './module.f.mjs';
2
+ import * as compare from '../function/compare/module.f.mjs';
3
+ const { unsafeCmp } = compare;
4
+ import * as json from '../../json/module.f.mjs';
5
+ import * as object from '../object/module.f.mjs';
6
+ const { sort } = object;
7
+ import * as list from '../list/module.f.mjs';
8
+ const { toArray, countdown, length } = list;
9
+ import * as Map from '../map/module.f.mjs';
10
+ import * as f from '../function/module.f.mjs';
11
+ const { flip } = f;
12
+ /** @type {(a: readonly json.Unknown[]) => string} */
13
+ const stringify = a => json.stringify(sort)(a);
14
+ /** @type {<T>(a: T) => (b: T) => Map.Sign} */
15
+ const reverseCmp = flip(unsafeCmp);
16
+ export default {
17
+ union: [
18
+ () => {
19
+ const result = stringify(toArray(_.union(unsafeCmp)([2, 3, 4])([1, 3, 5])));
20
+ if (result !== '[1,2,3,4,5]') {
21
+ throw result;
22
+ }
23
+ },
24
+ () => {
25
+ const result = stringify(toArray(_.union(unsafeCmp)([1, 2, 3])([])));
26
+ if (result !== '[1,2,3]') {
27
+ throw result;
28
+ }
29
+ },
30
+ () => {
31
+ const n = 10_000;
32
+ const sortedSet = toArray(countdown(n));
33
+ const result = _.union(reverseCmp)(sortedSet)(sortedSet);
34
+ const len = length(result);
35
+ if (len != n) {
36
+ throw result;
37
+ }
38
+ }
39
+ ],
40
+ intersect: [
41
+ () => {
42
+ const result = stringify(toArray(_.intersect(unsafeCmp)([2, 3, 4])([1, 3, 5])));
43
+ if (result !== '[3]') {
44
+ throw result;
45
+ }
46
+ },
47
+ () => {
48
+ const result = stringify(toArray(_.intersect(unsafeCmp)([1, 2, 3])([])));
49
+ if (result !== '[]') {
50
+ throw result;
51
+ }
52
+ }
53
+ ],
54
+ has: [
55
+ () => {
56
+ const result = _.has(unsafeCmp)(0)([0, 10, 20, 30, 40, 50, 60, 70, 80, 90]);
57
+ if (!result) {
58
+ throw result;
59
+ }
60
+ },
61
+ () => {
62
+ const result = _.has(unsafeCmp)(3)([0, 10, 20, 30, 40, 50, 60, 70, 80, 90]);
63
+ if (result) {
64
+ throw result;
65
+ }
66
+ },
67
+ () => {
68
+ const result = _.has(unsafeCmp)(77)([0, 10, 20, 30, 40, 50, 60, 70, 80, 90]);
69
+ if (result) {
70
+ throw result;
71
+ }
72
+ },
73
+ () => {
74
+ const result = _.has(unsafeCmp)(80)([0, 10, 20, 30, 40, 50, 60, 70, 80, 90]);
75
+ if (!result) {
76
+ throw result;
77
+ }
78
+ }
79
+ ]
80
+ };
@@ -0,0 +1,9 @@
1
+ export const join: f.Func<string, (input: list.List<string>) => string>;
2
+ export const concat: (input: list.List<string>) => string;
3
+ /** @type {(n: string) => (v: number) => string} */
4
+ export const repeat: (n: string) => (v: number) => string;
5
+ /** @type {(a: string) => (b: string) => compare.Sign} */
6
+ export const cmp: (a: string) => (b: string) => compare.Sign;
7
+ import * as list from '../list/module.f.mjs';
8
+ import * as f from '../function/module.f.mjs';
9
+ import * as compare from '../function/compare/module.f.mjs';
@@ -0,0 +1,17 @@
1
+ // @ts-self-types="./module.f.d.mts"
2
+ import * as list from '../list/module.f.mjs';
3
+ const { reduce: listReduce, repeat: listRepeat } = list;
4
+ import * as f from '../function/module.f.mjs';
5
+ const { compose } = f;
6
+ import * as compare from '../function/compare/module.f.mjs';
7
+ const { unsafeCmp } = compare;
8
+ import * as op from '../function/operator/module.f.mjs';
9
+ const { join: joinOp, concat: concatOp } = op;
10
+ /** @type {(o: op.Reduce<string>) => (input: list.List<string>) => string} */
11
+ const reduce = o => listReduce(o)('');
12
+ export const join = compose(joinOp)(reduce);
13
+ export const concat = reduce(concatOp);
14
+ /** @type {(n: string) => (v: number) => string} */
15
+ export const repeat = v => compose(listRepeat(v))(concat);
16
+ /** @type {(a: string) => (b: string) => compare.Sign} */
17
+ export const cmp = unsafeCmp;
@@ -0,0 +1,58 @@
1
+ import * as _ from './module.f.mjs';
2
+ const { join, concat, repeat, cmp } = _;
3
+ import * as list from '../list/module.f.mjs';
4
+ const { repeat: repeatList } = list;
5
+ export default {
6
+ join: {
7
+ 0: () => {
8
+ const result = join('/')([]);
9
+ if (result !== '') {
10
+ throw result;
11
+ }
12
+ },
13
+ 1: () => {
14
+ const result = join('/')(['']);
15
+ if (result !== '') {
16
+ throw result;
17
+ }
18
+ },
19
+ 3: () => {
20
+ const result = join(' ')(['hello', 'world', '!']);
21
+ if (result !== 'hello world !') {
22
+ throw result;
23
+ }
24
+ }
25
+ },
26
+ concat: () => {
27
+ const result = concat(['hello', 'world']);
28
+ if (result !== 'helloworld') {
29
+ throw result;
30
+ }
31
+ },
32
+ repeatList: {
33
+ 0: () => {
34
+ const s = join('.')(repeatList('x')(0));
35
+ if (s != '') {
36
+ throw s;
37
+ }
38
+ },
39
+ 5: () => {
40
+ const s = join('.')(repeatList('x')(5));
41
+ if (s != 'x.x.x.x.x') {
42
+ throw s;
43
+ }
44
+ }
45
+ },
46
+ repeat: () => {
47
+ const s = repeat('x')(5);
48
+ if (s != 'xxxxx') {
49
+ throw s;
50
+ }
51
+ },
52
+ cmp: () => {
53
+ const result = cmp('3')('4');
54
+ if (result !== -1) {
55
+ throw result;
56
+ }
57
+ }
58
+ };
@@ -0,0 +1,13 @@
1
+ export const values: <T>(tree: BtreeTypes.Tree<T>) => list.List<T>;
2
+ export const empty: null;
3
+ /** @typedef {BtreeTypes.Tree<string>} StringSet */
4
+ /** @type {(value: string) => (set: StringSet) => boolean} */
5
+ export const contains: (value: string) => (set: StringSet) => boolean;
6
+ /** @type {(value: string) => (s: StringSet) => StringSet} */
7
+ export const set: (value: string) => (s: StringSet) => StringSet;
8
+ export const fromValues: (input: list.List<string>) => StringSet;
9
+ /** @type {(value: string) => (s: StringSet) => StringSet} */
10
+ export const remove: (value: string) => (s: StringSet) => StringSet;
11
+ export type StringSet = BtreeTypes.Tree<string>;
12
+ import * as BtreeTypes from '../btree/types/module.f.mjs';
13
+ import * as list from '../list/module.f.mjs';
@@ -0,0 +1,29 @@
1
+ // @ts-self-types="./module.f.d.mts"
2
+ import * as BtreeTypes from '../btree/types/module.f.mjs';
3
+ import * as btree from '../btree/module.f.mjs';
4
+ import * as btf from '../btree/find/module.f.mjs';
5
+ const { find, isFound } = btf;
6
+ import * as btr from '../btree/remove/module.f.mjs';
7
+ const { remove: btreeRemove } = btr;
8
+ import * as bts from '../btree/set/module.f.mjs';
9
+ const { set: btreeSet } = bts;
10
+ export const {
11
+ /** @type {(s: StringSet) => list.List<string>} */
12
+ values, empty, } = btree;
13
+ import * as string from "../string/module.f.mjs";
14
+ const { cmp } = string;
15
+ import * as list from '../list/module.f.mjs';
16
+ const { fold } = list;
17
+ import * as f from '../function/module.f.mjs';
18
+ const { compose } = f;
19
+ /** @typedef {BtreeTypes.Tree<string>} StringSet */
20
+ /** @type {(value: string) => (set: StringSet) => boolean} */
21
+ export const contains = value => {
22
+ const f = find(cmp(value));
23
+ return s => s !== null && isFound(f(s).first);
24
+ };
25
+ /** @type {(value: string) => (s: StringSet) => StringSet} */
26
+ export const set = value => btreeSet(cmp(value))(() => value);
27
+ export const fromValues = fold(set)(null);
28
+ /** @type {(value: string) => (s: StringSet) => StringSet} */
29
+ export const remove = compose(cmp)(btreeRemove);
@@ -0,0 +1,65 @@
1
+ import * as _ from './module.f.mjs';
2
+ export default {
3
+ contains: () => {
4
+ const r = _.set('hello')(null);
5
+ if (!_.contains('hello')(r)) {
6
+ throw r;
7
+ }
8
+ if (_.contains('hello1')(r)) {
9
+ throw r;
10
+ }
11
+ },
12
+ remove: () => {
13
+ let r = _.set('hello')(null);
14
+ r = _.set('world')(r);
15
+ r = _.set('HELLO')(r);
16
+ r = _.set('WORLD!')(r);
17
+ if (!_.contains('hello')(r)) {
18
+ throw r;
19
+ }
20
+ if (_.contains('hello1')(r)) {
21
+ throw r;
22
+ }
23
+ if (!_.contains('HELLO')(r)) {
24
+ throw r;
25
+ }
26
+ if (_.contains('WORLD')(r)) {
27
+ throw r;
28
+ }
29
+ if (!_.contains('world')(r)) {
30
+ throw r;
31
+ }
32
+ if (_.contains('world!')(r)) {
33
+ throw r;
34
+ }
35
+ if (!_.contains('WORLD!')(r)) {
36
+ throw r;
37
+ }
38
+ //
39
+ r = _.remove('hello')(r);
40
+ if (_.contains('hello')(r)) {
41
+ throw r;
42
+ }
43
+ if (!_.contains('world')(r)) {
44
+ throw r;
45
+ }
46
+ r = _.remove('world')(r);
47
+ if (_.contains('world')(r)) {
48
+ throw r;
49
+ }
50
+ if (!_.contains('HELLO')(r)) {
51
+ throw r;
52
+ }
53
+ r = _.remove('HELLO')(r);
54
+ if (_.contains('HELLO')(r)) {
55
+ throw r;
56
+ }
57
+ if (!_.contains('WORLD!')(r)) {
58
+ throw r;
59
+ }
60
+ r = _.remove('WORLD!')(r);
61
+ if (r !== null) {
62
+ throw r;
63
+ }
64
+ }
65
+ };
package/package.json CHANGED
@@ -1,16 +1,17 @@
1
1
  {
2
2
  "name": "functionalscript",
3
- "version": "0.1.609",
3
+ "version": "0.2.1",
4
4
  "type": "module",
5
5
  "description": "FunctionalScript is a functional subset of JavaScript",
6
6
  "scripts": {
7
- "tscp": "tsc --declaration --emitDeclarationOnly --noEmit false",
7
+ "tscp": "rm -rf out/ && tsc --NoEmit false",
8
8
  "tsc": "tsc",
9
9
  "test": "tsc && npm run test-only",
10
10
  "index": "node ./dev/index.mjs",
11
11
  "version": "node ./nodejs/version/main.mjs",
12
12
  "test-only": "node --trace-uncaught ./dev/test.mjs",
13
- "comtest": "node ./com/test/build.mjs"
13
+ "comtest": "node ./com/test/build.mjs",
14
+ "doc": "rm -rf docs/ && npm run tscp && deno doc --html out/**/module.f.mjs"
14
15
  },
15
16
  "repository": {
16
17
  "type": "git",
@@ -32,7 +33,7 @@
32
33
  },
33
34
  "homepage": "https://github.com/functionalscript/functionalscript#readme",
34
35
  "devDependencies": {
35
- "@types/node": "^22.10.1",
36
+ "@types/node": "^22.10.2",
36
37
  "typescript": "^5.7.2"
37
38
  }
38
39
  }
@@ -1,6 +1,6 @@
1
1
  // @ts-self-types="./module.f.d.mts"
2
2
  import * as Operator from '../types/function/operator/module.f.mjs'
3
- import bi from '../types/bigint/module.f.mjs'
3
+ import * as bi from '../types/bigint/module.f.mjs'
4
4
  const { scalar_mul } = bi
5
5
 
6
6
  /** @typedef {Operator.Reduce<bigint>} Reduce */
@@ -26,7 +26,7 @@ const { scalar_mul } = bi
26
26
  */
27
27
 
28
28
  /** @type {(p: bigint) => PrimeField} */
29
- const prime_field = p => {
29
+ export const prime_field = p => {
30
30
  /** @type {Reduce} */
31
31
  const sub = a => b => {
32
32
  const r = a - b
@@ -77,15 +77,12 @@ const prime_field = p => {
77
77
  }
78
78
  }
79
79
 
80
- export default {
81
- prime_field,
82
- /** @type {(f: PrimeField) => (a: bigint) => bigint|null} */
83
- sqrt: ({p, mul, pow }) => {
84
- if ((p & 3n) !== 3n) { throw 'sqrt' }
85
- const sqrt_k = (p + 1n) >> 2n
86
- return a => {
87
- const result = pow(a)(sqrt_k)
88
- return mul(result)(result) === a ? result : null
89
- }
80
+ /** @type {(f: PrimeField) => (a: bigint) => bigint|null} */
81
+ export const sqrt = ({p, mul, pow }) => {
82
+ if ((p & 3n) !== 3n) { throw 'sqrt' }
83
+ const sqrt_k = (p + 1n) >> 2n
84
+ return a => {
85
+ const result = pow(a)(sqrt_k)
86
+ return mul(result)(result) === a ? result : null
90
87
  }
91
88
  }
@@ -1,4 +1,4 @@
1
- import _ from './module.f.mjs'
1
+ import * as _ from './module.f.mjs'
2
2
  const { prime_field, sqrt } = _
3
3
 
4
4
  export default {
package/secp/module.f.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  // @ts-self-types="./module.f.d.mts"
2
2
  import * as Operator from '../types/function/operator/module.f.mjs'
3
- import pf, * as Pf from '../prime_field/module.f.mjs'
4
- import bi from '../types/bigint/module.f.mjs'
3
+ import * as pf from '../prime_field/module.f.mjs'
4
+ import * as bi from '../types/bigint/module.f.mjs'
5
5
  const { scalar_mul } = bi
6
6
  const { prime_field, sqrt } = pf
7
7
 
@@ -20,8 +20,8 @@ const { prime_field, sqrt } = pf
20
20
 
21
21
  /**
22
22
  * @typedef {{
23
- * readonly pf: Pf.PrimeField
24
- * readonly nf: Pf.PrimeField
23
+ * readonly pf: pf.PrimeField
24
+ * readonly nf: pf.PrimeField
25
25
  * readonly y2: (x: bigint) => bigint
26
26
  * readonly y: (x: bigint) => bigint|null
27
27
  * readonly neg: (a: Point) => Point
@@ -31,7 +31,7 @@ const { prime_field, sqrt } = pf
31
31
  */
32
32
 
33
33
  /** @type {(i: Init) => Curve} */
34
- const curve = ({ p, a: [a0, a1], n }) => {
34
+ export const curve = ({ p, a: [a0, a1], n }) => {
35
35
  const pf = prime_field(p)
36
36
  const { pow2, pow3, sub, add, mul, neg, div } = pf
37
37
  const mul3 = mul(3n)
@@ -85,38 +85,37 @@ const curve = ({ p, a: [a0, a1], n }) => {
85
85
  }
86
86
  }
87
87
 
88
- export default {
89
- curve,
90
- /** @type {(a: Point) => (b: Point) => boolean} */
91
- eq: a => b => {
92
- if (a === null || b === null) {
93
- return a === b
94
- }
95
- const [ax, ay] = a
96
- const [bx, by] = b
97
- return ax === bx && ay === by
98
- },
99
- /** @type {Init} */
100
- secp256k1: {
101
- p: 0xffffffff_ffffffff_ffffffff_ffffffff_ffffffff_ffffffff_fffffffe_fffffc2fn,
102
- a: [7n, 0n],
103
- g: [
104
- 0x79be667e_f9dcbbac_55a06295_ce870b07_029bfcdb_2dce28d9_59f2815b_16f81798n,
105
- 0x483ada77_26a3c465_5da4fbfc_0e1108a8_fd17b448_a6855419_9c47d08f_fb10d4b8n
106
- ],
107
- n: 0xffffffff_ffffffff_ffffffff_fffffffe_baaedce6_af48a03b_bfd25e8c_d0364141n,
108
- },
109
- /** @type {Init} */
110
- secp192r1: {
111
- p: 0xffffffff_ffffffff_ffffffff_fffffffe_ffffffff_ffffffffn,
112
- a: [
113
- 0x64210519_e59c80e7_0fa7e9ab_72243049_feb8deec_c146b9b1n,
114
- 0xffffffff_ffffffff_ffffffff_fffffffe_ffffffff_fffffffcn
115
- ],
116
- g: [
117
- 0x188da80e_b03090f6_7cbf20eb_43a18800_f4ff0afd_82ff1012n,
118
- 0x07192b95_ffc8da78_631011ed_6b24cdd5_73f977a1_1e794811n
119
- ],
120
- n: 0xffffffff_ffffffff_ffffffff_99def836_146bc9b1_b4d22831n,
121
- },
88
+ /** @type {(a: Point) => (b: Point) => boolean} */
89
+ export const eq = a => b => {
90
+ if (a === null || b === null) {
91
+ return a === b
92
+ }
93
+ const [ax, ay] = a
94
+ const [bx, by] = b
95
+ return ax === bx && ay === by
96
+ }
97
+
98
+ /** @type {Init} */
99
+ export const secp256k1 = {
100
+ p: 0xffffffff_ffffffff_ffffffff_ffffffff_ffffffff_ffffffff_fffffffe_fffffc2fn,
101
+ a: [7n, 0n],
102
+ g: [
103
+ 0x79be667e_f9dcbbac_55a06295_ce870b07_029bfcdb_2dce28d9_59f2815b_16f81798n,
104
+ 0x483ada77_26a3c465_5da4fbfc_0e1108a8_fd17b448_a6855419_9c47d08f_fb10d4b8n
105
+ ],
106
+ n: 0xffffffff_ffffffff_ffffffff_fffffffe_baaedce6_af48a03b_bfd25e8c_d0364141n,
107
+ }
108
+
109
+ /** @type {Init} */
110
+ export const secp192r1 = {
111
+ p: 0xffffffff_ffffffff_ffffffff_fffffffe_ffffffff_ffffffffn,
112
+ a: [
113
+ 0x64210519_e59c80e7_0fa7e9ab_72243049_feb8deec_c146b9b1n,
114
+ 0xffffffff_ffffffff_ffffffff_fffffffe_ffffffff_fffffffcn
115
+ ],
116
+ g: [
117
+ 0x188da80e_b03090f6_7cbf20eb_43a18800_f4ff0afd_82ff1012n,
118
+ 0x07192b95_ffc8da78_631011ed_6b24cdd5_73f977a1_1e794811n
119
+ ],
120
+ n: 0xffffffff_ffffffff_ffffffff_99def836_146bc9b1_b4d22831n,
122
121
  }
package/secp/test.f.mjs CHANGED
@@ -1,13 +1,13 @@
1
- import _, * as T from './module.f.mjs'
1
+ import * as _ from './module.f.mjs'
2
2
  const { curve, secp256k1, secp192r1, eq } = _
3
3
 
4
4
  export default {
5
5
  test: () => {
6
- /** @type {(c: T.Init) => void} */
6
+ /** @type {(c: _.Init) => void} */
7
7
  const test_curve = c => {
8
8
  const { g } = c
9
9
  const { mul, neg, pf: { abs }, y: yf, nf: { p: n } } = curve(c)
10
- /** @type {(p: T.Point) => void} */
10
+ /** @type {(p: _.Point) => void} */
11
11
  const point_check = p => {
12
12
  if (p === null) { throw 'null' }
13
13
  const [x, y] = p
@@ -17,7 +17,7 @@ export default {
17
17
  }
18
18
  point_check(g)
19
19
  point_check(neg(g))
20
- /** @type {(p: T.Point) => void} */
20
+ /** @type {(p: _.Point) => void} */
21
21
  const test_mul = p => {
22
22
  if (mul(p)(0n) !== null) { throw 'O' }
23
23
  if (mul(p)(1n) !== p) { throw 'p' }
package/sha2/module.f.mjs CHANGED
@@ -19,7 +19,7 @@ const appendOneWithZeros = input => pos => (input >> pos << pos) | (1 << pos)
19
19
  const mod = a => b => (a % b + b) % b
20
20
 
21
21
  /** @type {(input: readonly number[]) => (bits: number) => HashInput} */
22
- const padding = input => bitsCount => {
22
+ export const padding = input => bitsCount => {
23
23
  const appendBlockIndex = (bitsCount / 32) | 0
24
24
  const length = (bitsCount + mod(447 - bitsCount)(512) + 65) / 32
25
25
  /** @type {(i: number) => number} */
@@ -183,27 +183,14 @@ const compute = init => input => bitsCount => {
183
183
  const init256 = [0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19]
184
184
 
185
185
  /** @type {(input: readonly number[]) => (bitsCount: number) => Hash8} */
186
- const computeSha256 = compute(init256)
186
+ export const computeSha256 = compute(init256)
187
187
 
188
188
  /** @type {Hash8} */
189
189
  const init224 = [0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939, 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4]
190
190
 
191
191
  /** @type {(input: readonly number[]) => (bitsCount: number) => Hash8} */
192
- const computeSha224 = compute(init224)
193
-
194
- const compress256 = compress(init256)
195
-
196
- const compress224 = compress(init224)
197
-
198
- export default {
199
- /** @readonly */
200
- padding,
201
- /** @readonly */
202
- computeSha256,
203
- /** @readonly */
204
- computeSha224,
205
- /** @readonly */
206
- compress256,
207
- /** @readonly */
208
- compress224
209
- }
192
+ export const computeSha224 = compute(init224)
193
+
194
+ export const compress256 = compress(init256)
195
+
196
+ export const compress224 = compress(init224)
package/sha2/test.f.mjs CHANGED
@@ -1,6 +1,6 @@
1
- import _ from './module.f.mjs'
2
- import json, * as jsonT from '../json/module.f.mjs'
3
- import o from '../types/object/module.f.mjs'
1
+ import * as _ from './module.f.mjs'
2
+ import * as json from '../json/module.f.mjs'
3
+ import * as o from '../types/object/module.f.mjs'
4
4
  const { sort } = o
5
5
 
6
6
  /** @type {(a: number) => number} */
@@ -9,7 +9,7 @@ const toU32 = x => (x + 0x1_0000_0000) % 0x1_0000_0000
9
9
  /** @type {(a: number) => string} */
10
10
  const toHexString = x => toU32(x).toString(16).padStart(8, '0')
11
11
 
12
- /** @type {(a: readonly jsonT.Unknown[]) => string} */
12
+ /** @type {(a: readonly json.Unknown[]) => string} */
13
13
  const stringify = a => json.stringify(sort)(a)
14
14
 
15
15
  // {
@@ -1,5 +1,5 @@
1
1
  // @ts-self-types="./module.f.d.mts"
2
- import _range, * as Range from '../../types/range/module.f.mjs'
2
+ import * as _range from '../../types/range/module.f.mjs'
3
3
 
4
4
  /** @type {(s: string) => (i: number) => number} */
5
5
  const at = s => i => {
@@ -9,22 +9,17 @@ const at = s => i => {
9
9
  }
10
10
 
11
11
  /** @type {(s: string) => number} */
12
- const one = s => at(s)(0)
12
+ export const one = s => at(s)(0)
13
13
 
14
- /** @type {(s: string) => Range.Range} */
15
- const range = s => {
14
+ /** @type {(s: string) => _range.Range} */
15
+ export const range = s => {
16
16
  const f = at(s)
17
17
  const f0 = f(0)
18
18
  if (s.length === 1) { return [f0, f0] }
19
19
  return [f0, f(1)]
20
20
  }
21
21
 
22
- export default {
23
- /** @readonly */
24
- one,
25
- /** @readonly */
26
- range,
27
-
22
+ export const ascii = {
28
23
  // 0x00..
29
24
 
30
25
  /** @readonly 0x08 */
@@ -1,7 +1,7 @@
1
- import _ from './module.f.mjs'
1
+ import * as _ from './module.f.mjs'
2
2
  const { range } = _
3
- import json from '../../json/module.f.mjs'
4
- import o from '../../types/object/module.f.mjs'
3
+ import * as json from '../../json/module.f.mjs'
4
+ import * as o from '../../types/object/module.f.mjs'
5
5
  const { sort } = o
6
6
 
7
7
  const stringify = json.stringify(sort)
package/text/module.f.mjs CHANGED
@@ -1,21 +1,21 @@
1
1
  // @ts-self-types="./module.f.d.mts"
2
- import list, * as List from '../types/list/module.f.mjs'
2
+ import * as list from '../types/list/module.f.mjs'
3
3
  const { flatMap } = list
4
4
 
5
5
  /** @typedef {ItemThunk|ItemArray} Block */
6
6
 
7
7
  /** @typedef {readonly Item[]} ItemArray */
8
8
 
9
- /** @typedef {() => List.List<Item>} ItemThunk */
9
+ /** @typedef {() => list.List<Item>} ItemThunk */
10
10
 
11
11
  /** @typedef {string|ItemArray|ItemThunk} Item */
12
12
 
13
- /** @type {(indent: string) => (text: Block) => List.List<string>} */
14
- const flat = indent => {
13
+ /** @type {(indent: string) => (text: Block) => list.List<string>} */
14
+ export const flat = indent => {
15
15
 
16
- /** @type {(prefix: string) => (text: Block) => List.List<string>} */
16
+ /** @type {(prefix: string) => (text: Block) => list.List<string>} */
17
17
  const f = prefix => {
18
- /** @type {(item: Item) => List.List<string>} */
18
+ /** @type {(item: Item) => list.List<string>} */
19
19
  const g = item => typeof (item) === 'string' ? [`${prefix}${item}`] : f(`${prefix}${indent}`)(item)
20
20
  return flatMap(g)
21
21
  }
@@ -24,11 +24,4 @@ const flat = indent => {
24
24
  }
25
25
 
26
26
  /** @type {(type: string) => (name: string) => (body: Block) => Block} */
27
- const curly = type => name => body => [`${type} ${name}`, '{', body, '}']
28
-
29
- export default {
30
- /** @readonly */
31
- flat,
32
- /** @readonly */
33
- curly,
34
- }
27
+ export const curly = type => name => body => [`${type} ${name}`, '{', body, '}']
@@ -5,11 +5,9 @@
5
5
  *
6
6
  * @type {(c: number) => string}
7
7
  */
8
- const sgr = c => `\x1b[${c.toString()}m`
8
+ export const sgr = c => `\x1b[${c.toString()}m`
9
9
 
10
- export default {
11
- /** @readonly */
12
- sgr,
10
+ export const codes = {
13
11
  /** @readonly */
14
12
  reset: sgr(0),
15
13
  /** @readonly */
package/text/test.f.mjs CHANGED
@@ -1,9 +1,9 @@
1
- import _, * as T from './module.f.mjs'
2
- import string from '../types/string/module.f.mjs'
1
+ import * as _ from './module.f.mjs'
2
+ import * as string from '../types/string/module.f.mjs'
3
3
  const { join } = string
4
4
 
5
5
  export default () => {
6
- /** @type {T.Block} */
6
+ /** @type {_.Block} */
7
7
  const text = [
8
8
  'a',
9
9
  'b',