functionalscript 0.3.4 → 0.3.6

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 (457) hide show
  1. package/com/cpp/module.f.d.ts +10 -0
  2. package/com/cpp/module.f.js +107 -0
  3. package/com/cpp/test.f.d.ts +2 -0
  4. package/com/cpp/{test.f.ts → test.f.js} +9 -11
  5. package/com/cpp/testlib.f.d.ts +2 -0
  6. package/com/cpp/testlib.f.js +5 -0
  7. package/com/cs/module.f.d.ts +12 -0
  8. package/com/cs/module.f.js +80 -0
  9. package/com/cs/test.f.d.ts +2 -0
  10. package/com/cs/{test.f.ts → test.f.js} +9 -11
  11. package/com/cs/testlib.f.d.ts +2 -0
  12. package/com/cs/testlib.f.js +5 -0
  13. package/com/rust/module.f.d.ts +15 -0
  14. package/com/rust/module.f.js +169 -0
  15. package/com/rust/test.f.d.ts +2 -0
  16. package/com/rust/{test.f.ts → test.f.js} +7 -7
  17. package/com/rust/testlib.f.d.ts +2 -0
  18. package/com/rust/testlib.f.js +5 -0
  19. package/com/test/build.f.d.ts +20 -0
  20. package/com/test/build.f.js +58 -0
  21. package/com/types/module.f.d.ts +28 -0
  22. package/com/types/module.f.js +8 -0
  23. package/com/types/testlib.f.d.ts +44 -0
  24. package/com/types/{testlib.f.ts → testlib.f.js} +2 -3
  25. package/commonjs/build/module.f.d.ts +6 -0
  26. package/commonjs/build/module.f.js +69 -0
  27. package/commonjs/build/test.f.d.ts +2 -0
  28. package/commonjs/build/test.f.js +96 -0
  29. package/commonjs/module/function/{module.f.ts → module.f.d.ts} +5 -10
  30. package/commonjs/module/function/module.f.js +4 -0
  31. package/commonjs/module/module.f.d.ts +18 -0
  32. package/commonjs/module/module.f.js +12 -0
  33. package/commonjs/module.f.d.ts +6 -0
  34. package/commonjs/module.f.js +1 -0
  35. package/commonjs/package/dependencies/module.f.d.ts +7 -0
  36. package/commonjs/package/dependencies/module.f.js +13 -0
  37. package/commonjs/package/dependencies/test.f.d.ts +2 -0
  38. package/commonjs/package/dependencies/test.f.js +15 -0
  39. package/commonjs/package/module.f.d.ts +17 -0
  40. package/commonjs/package/module.f.js +18 -0
  41. package/commonjs/package/test.f.d.ts +2 -0
  42. package/commonjs/package/test.f.js +27 -0
  43. package/commonjs/path/module.f.d.ts +24 -0
  44. package/commonjs/path/module.f.js +114 -0
  45. package/commonjs/path/test.f.d.ts +25 -0
  46. package/commonjs/path/{test.f.ts → test.f.js} +123 -89
  47. package/crypto/prime_field/module.f.d.ts +43 -0
  48. package/crypto/prime_field/module.f.js +78 -0
  49. package/crypto/prime_field/test.f.d.ts +13 -0
  50. package/crypto/prime_field/test.f.js +149 -0
  51. package/crypto/secp/module.f.d.ts +68 -0
  52. package/crypto/secp/module.f.js +127 -0
  53. package/crypto/secp/test.f.d.ts +5 -0
  54. package/crypto/secp/test.f.js +72 -0
  55. package/crypto/sha2/module.f.d.ts +13 -0
  56. package/crypto/sha2/module.f.js +145 -0
  57. package/crypto/sha2/test.f.d.ts +9 -0
  58. package/crypto/sha2/test.f.js +82 -0
  59. package/dev/module.f.d.ts +1 -0
  60. package/dev/module.f.js +1 -0
  61. package/dev/test/module.f.d.ts +20 -0
  62. package/dev/test/module.f.js +75 -0
  63. package/dev/test.f.d.ts +9 -0
  64. package/dev/{test.f.ts → test.f.js} +22 -24
  65. package/djs/module.f.d.ts +17 -0
  66. package/djs/module.f.js +63 -0
  67. package/djs/parser/module.f.d.ts +12 -0
  68. package/djs/parser/module.f.js +333 -0
  69. package/djs/parser/test.f.d.ts +12 -0
  70. package/djs/parser/test.f.js +717 -0
  71. package/djs/serializer/module.f.d.ts +9 -0
  72. package/djs/serializer/module.f.js +81 -0
  73. package/djs/test/input.f.d.ts +2 -0
  74. package/djs/test/input.f.js +4 -0
  75. package/djs/test/m.f.d.ts +2 -0
  76. package/djs/test/m.f.js +1 -0
  77. package/djs/test.f.d.ts +12 -0
  78. package/djs/test.f.js +84 -0
  79. package/djs/tokenizer/module.f.d.ts +8 -0
  80. package/djs/tokenizer/module.f.js +60 -0
  81. package/djs/tokenizer/test.f.d.ts +7 -0
  82. package/djs/tokenizer/test.f.js +529 -0
  83. package/fsc/module.f.d.ts +5 -0
  84. package/fsc/module.f.js +75 -0
  85. package/fsc/test.f.d.ts +4 -0
  86. package/fsc/test.f.js +19 -0
  87. package/fsm/module.f.d.ts +13 -0
  88. package/fsm/module.f.js +59 -0
  89. package/fsm/test.f.d.ts +5 -0
  90. package/fsm/test.f.js +137 -0
  91. package/html/module.f.d.ts +13 -0
  92. package/html/module.f.js +58 -0
  93. package/html/test.f.d.ts +9 -0
  94. package/html/test.f.js +42 -0
  95. package/issues/test.f.d.ts +16 -0
  96. package/issues/test.f.js +70 -0
  97. package/js/tokenizer/module.f.d.ts +86 -0
  98. package/js/tokenizer/module.f.js +503 -0
  99. package/js/tokenizer/test.f.d.ts +9 -0
  100. package/js/tokenizer/test.f.js +905 -0
  101. package/json/module.f.d.ts +20 -0
  102. package/json/module.f.js +68 -0
  103. package/json/parser/module.f.d.ts +5 -0
  104. package/json/parser/module.f.js +155 -0
  105. package/json/parser/test.f.d.ts +5 -0
  106. package/json/parser/test.f.js +328 -0
  107. package/json/serializer/module.f.d.ts +7 -0
  108. package/json/serializer/module.f.js +21 -0
  109. package/json/serializer/test.f.d.ts +8 -0
  110. package/json/serializer/test.f.js +87 -0
  111. package/json/test.f.d.ts +8 -0
  112. package/json/test.f.js +61 -0
  113. package/json/tokenizer/module.f.d.ts +8 -0
  114. package/json/tokenizer/module.f.js +52 -0
  115. package/json/tokenizer/test.f.d.ts +6 -0
  116. package/json/tokenizer/test.f.js +419 -0
  117. package/nanvm-lib/tests/test.f.d.ts +27 -0
  118. package/nanvm-lib/tests/test.f.js +84 -0
  119. package/nodejs/version/module.f.d.ts +11 -0
  120. package/nodejs/version/module.f.js +16 -0
  121. package/nodejs/version/test.f.d.ts +2 -0
  122. package/nodejs/version/{test.f.ts → test.f.js} +13 -22
  123. package/package.json +9 -5
  124. package/text/ascii/module.f.d.ts +129 -0
  125. package/text/ascii/module.f.js +148 -0
  126. package/text/ascii/test.f.d.ts +4 -0
  127. package/text/ascii/test.f.js +14 -0
  128. package/text/module.f.d.ts +8 -0
  129. package/text/module.f.js +10 -0
  130. package/text/sgr/module.f.d.ts +8 -0
  131. package/text/sgr/module.f.js +8 -0
  132. package/text/test.f.d.ts +2 -0
  133. package/text/test.f.js +18 -0
  134. package/text/utf16/module.f.d.ts +9 -0
  135. package/text/utf16/module.f.js +66 -0
  136. package/text/utf16/test.f.d.ts +6 -0
  137. package/text/utf16/test.f.js +144 -0
  138. package/text/utf8/module.f.d.ts +6 -0
  139. package/text/utf8/module.f.js +112 -0
  140. package/text/utf8/test.f.d.ts +6 -0
  141. package/text/utf8/test.f.js +175 -0
  142. package/types/array/module.f.d.ts +21 -0
  143. package/types/array/module.f.js +23 -0
  144. package/types/array/test.f.d.ts +10 -0
  145. package/types/array/test.f.js +116 -0
  146. package/types/bigfloat/module.f.d.ts +3 -0
  147. package/types/bigfloat/module.f.js +66 -0
  148. package/types/bigfloat/test.f.d.ts +6 -0
  149. package/types/bigfloat/test.f.js +349 -0
  150. package/types/bigint/module.f.d.ts +54 -0
  151. package/types/bigint/{module.f.ts → module.f.js} +42 -65
  152. package/types/bigint/test.f.d.ts +16 -0
  153. package/types/bigint/test.f.js +199 -0
  154. package/types/bit_vec/module.f.d.ts +134 -0
  155. package/types/bit_vec/{module.f.ts → module.f.js} +47 -65
  156. package/types/bit_vec/test.f.d.ts +22 -0
  157. package/types/bit_vec/test.f.js +210 -0
  158. package/types/btree/find/module.f.d.ts +20 -0
  159. package/types/btree/find/module.f.js +84 -0
  160. package/types/btree/find/test.f.d.ts +2 -0
  161. package/types/btree/find/test.f.js +152 -0
  162. package/types/btree/module.f.d.ts +4 -0
  163. package/types/btree/module.f.js +31 -0
  164. package/types/btree/remove/module.f.d.ts +4 -0
  165. package/types/btree/remove/module.f.js +174 -0
  166. package/types/btree/remove/test.f.d.ts +5 -0
  167. package/types/btree/remove/test.f.js +634 -0
  168. package/types/btree/set/module.f.d.ts +3 -0
  169. package/types/btree/set/module.f.js +103 -0
  170. package/types/btree/set/test.f.d.ts +2 -0
  171. package/types/btree/set/test.f.js +360 -0
  172. package/types/btree/test.f.d.ts +8 -0
  173. package/types/btree/test.f.js +75 -0
  174. package/types/btree/types/module.f.d.ts +11 -0
  175. package/types/btree/types/module.f.js +1 -0
  176. package/types/byte_set/module.f.d.ts +16 -0
  177. package/types/byte_set/module.f.js +28 -0
  178. package/types/byte_set/test.f.d.ts +12 -0
  179. package/types/byte_set/test.f.js +122 -0
  180. package/types/function/compare/module.f.d.ts +10 -0
  181. package/types/function/compare/module.f.js +7 -0
  182. package/types/function/compare/test.f.d.ts +2 -0
  183. package/types/function/compare/test.f.js +8 -0
  184. package/types/function/module.f.d.ts +28 -0
  185. package/types/function/module.f.js +19 -0
  186. package/types/function/operator/module.f.d.ts +20 -0
  187. package/types/function/operator/module.f.js +18 -0
  188. package/types/function/test.f.d.ts +2 -0
  189. package/types/function/test.f.js +12 -0
  190. package/types/list/module.f.d.ts +50 -0
  191. package/types/list/module.f.js +171 -0
  192. package/types/list/test.f.d.ts +22 -0
  193. package/types/list/test.f.js +395 -0
  194. package/types/map/module.f.d.ts +14 -0
  195. package/types/map/module.f.js +31 -0
  196. package/types/map/test.f.d.ts +5 -0
  197. package/types/map/test.f.js +114 -0
  198. package/types/nibble_set/module.f.d.ts +10 -0
  199. package/types/nibble_set/module.f.js +9 -0
  200. package/types/nibble_set/test.f.d.ts +12 -0
  201. package/types/nibble_set/test.f.js +90 -0
  202. package/types/nullable/module.f.d.ts +3 -0
  203. package/types/nullable/module.f.js +2 -0
  204. package/types/nullable/test.f.d.ts +2 -0
  205. package/types/nullable/test.f.js +12 -0
  206. package/types/number/module.f.d.ts +6 -0
  207. package/types/number/module.f.js +8 -0
  208. package/types/number/test.f.d.ts +11 -0
  209. package/types/number/test.f.js +124 -0
  210. package/types/object/module.f.d.ts +10 -0
  211. package/types/object/module.f.js +12 -0
  212. package/types/object/test.f.d.ts +5 -0
  213. package/types/object/test.f.js +17 -0
  214. package/types/range/module.f.d.ts +3 -0
  215. package/types/range/module.f.js +2 -0
  216. package/types/range/test.f.d.ts +2 -0
  217. package/types/range/test.f.js +18 -0
  218. package/types/range_map/module.f.d.ts +14 -0
  219. package/types/range_map/module.f.js +51 -0
  220. package/types/range_map/test.f.d.ts +6 -0
  221. package/types/range_map/test.f.js +176 -0
  222. package/types/result/module.f.d.ts +7 -0
  223. package/types/result/module.f.js +8 -0
  224. package/types/sorted_list/module.f.d.ts +16 -0
  225. package/types/sorted_list/module.f.js +56 -0
  226. package/types/sorted_list/test.f.d.ts +5 -0
  227. package/types/sorted_list/test.f.js +64 -0
  228. package/types/sorted_set/module.f.d.ts +7 -0
  229. package/types/sorted_set/module.f.js +14 -0
  230. package/types/sorted_set/test.f.d.ts +6 -0
  231. package/types/sorted_set/test.f.js +78 -0
  232. package/types/string/module.f.d.ts +6 -0
  233. package/types/string/module.f.js +11 -0
  234. package/types/string/test.f.d.ts +15 -0
  235. package/types/string/test.f.js +58 -0
  236. package/types/string_set/module.f.d.ts +9 -0
  237. package/types/string_set/module.f.js +22 -0
  238. package/types/string_set/test.f.d.ts +5 -0
  239. package/types/string_set/test.f.js +65 -0
  240. package/.github/FUNDING.yml +0 -12
  241. package/.github/dependabot.yml +0 -11
  242. package/.github/workflows/ci.yml +0 -88
  243. package/.github/workflows/npm-publish.yml +0 -53
  244. package/CHANGELOG.md +0 -29
  245. package/Cargo.lock +0 -18
  246. package/Cargo.toml +0 -7
  247. package/com/README.md +0 -3
  248. package/com/cpp/README.md +0 -80
  249. package/com/cpp/module.f.ts +0 -180
  250. package/com/cpp/nanocom.hpp +0 -195
  251. package/com/cpp/testlib.f.ts +0 -8
  252. package/com/cs/module.f.ts +0 -145
  253. package/com/cs/testlib.f.ts +0 -8
  254. package/com/proposals.md +0 -28
  255. package/com/rust/module.f.ts +0 -287
  256. package/com/rust/nanocom/Cargo.lock +0 -7
  257. package/com/rust/nanocom/Cargo.toml +0 -15
  258. package/com/rust/nanocom/README.md +0 -56
  259. package/com/rust/nanocom/src/class.rs +0 -6
  260. package/com/rust/nanocom/src/cobject.rs +0 -90
  261. package/com/rust/nanocom/src/guid.rs +0 -15
  262. package/com/rust/nanocom/src/hresult.rs +0 -7
  263. package/com/rust/nanocom/src/interface.rs +0 -9
  264. package/com/rust/nanocom/src/iunknown.rs +0 -13
  265. package/com/rust/nanocom/src/lib.rs +0 -20
  266. package/com/rust/nanocom/src/object.rs +0 -34
  267. package/com/rust/nanocom/src/ref.rs +0 -57
  268. package/com/rust/nanocom/src/vmt.rs +0 -7
  269. package/com/rust/nanocom/tests/it.rs +0 -186
  270. package/com/rust/nanocom/tests/itmod.rs +0 -195
  271. package/com/rust/testlib.f.ts +0 -8
  272. package/com/test/build.f.ts +0 -111
  273. package/com/test/build.ts +0 -45
  274. package/com/test/cpp/main.cpp +0 -74
  275. package/com/test/cs/Program.cs +0 -31
  276. package/com/test/cs/cs.csproj +0 -16
  277. package/com/test/rust/Cargo.toml +0 -12
  278. package/com/test/rust/src/lib.rs +0 -56
  279. package/com/types/module.f.ts +0 -62
  280. package/commonjs/README.md +0 -94
  281. package/commonjs/build/module.f.ts +0 -100
  282. package/commonjs/build/test.f.ts +0 -107
  283. package/commonjs/module/module.f.ts +0 -41
  284. package/commonjs/module.f.ts +0 -7
  285. package/commonjs/module.ts +0 -31
  286. package/commonjs/package/dependencies/module.f.ts +0 -22
  287. package/commonjs/package/dependencies/test.f.ts +0 -8
  288. package/commonjs/package/module.f.ts +0 -31
  289. package/commonjs/package/test.f.ts +0 -12
  290. package/commonjs/path/README.md +0 -17
  291. package/commonjs/path/module.f.ts +0 -171
  292. package/commonjs/test.ts +0 -64
  293. package/crypto/README.md +0 -3
  294. package/crypto/prime_field/module.f.ts +0 -114
  295. package/crypto/prime_field/test.f.ts +0 -95
  296. package/crypto/secp/module.f.ts +0 -182
  297. package/crypto/secp/test.f.ts +0 -68
  298. package/crypto/sha2/module.f.ts +0 -215
  299. package/crypto/sha2/test.f.ts +0 -83
  300. package/deno.json +0 -71
  301. package/dev/README.md +0 -8
  302. package/dev/index.ts +0 -3
  303. package/dev/module.f.ts +0 -1
  304. package/dev/module.ts +0 -195
  305. package/dev/test/module.f.ts +0 -135
  306. package/dev/test.ts +0 -53
  307. package/djs/README.md +0 -54
  308. package/djs/module.f.ts +0 -76
  309. package/djs/parser/module.f.ts +0 -509
  310. package/djs/parser/test.f.ts +0 -461
  311. package/djs/serializer/module.f.ts +0 -90
  312. package/djs/test.f.ts +0 -67
  313. package/djs/tokenizer/module.f.ts +0 -99
  314. package/djs/tokenizer/test.f.ts +0 -364
  315. package/doc/LANGUAGE.md +0 -255
  316. package/doc/README.md +0 -61
  317. package/doc/byte-code.md +0 -59
  318. package/doc/fa.md +0 -174
  319. package/doc/predefined.md +0 -143
  320. package/doc/proposals.md +0 -21
  321. package/doc/vm/README.md +0 -24
  322. package/doc/vm-rearchitecture.md +0 -129
  323. package/doc/vm.md +0 -150
  324. package/fsc/README.md +0 -111
  325. package/fsc/module.f.ts +0 -122
  326. package/fsc/test.f.ts +0 -21
  327. package/fsm/README.md +0 -113
  328. package/fsm/module.f.ts +0 -107
  329. package/fsm/test.f.ts +0 -139
  330. package/funding.json +0 -61
  331. package/html/README.md +0 -32
  332. package/html/module.f.ts +0 -109
  333. package/html/test.f.ts +0 -37
  334. package/issues/01-test-debug.md +0 -3
  335. package/issues/02-esm.md +0 -8
  336. package/issues/03-djs.md +0 -57
  337. package/issues/05-publish.md +0 -40
  338. package/issues/11-fs-load.md +0 -13
  339. package/issues/17-djs-extension.md +0 -6
  340. package/issues/README.md +0 -42
  341. package/issues/lang/1000-json.md +0 -50
  342. package/issues/lang/2110-default-export.md +0 -11
  343. package/issues/lang/2120-const.md +0 -14
  344. package/issues/lang/2130-default-import.md +0 -10
  345. package/issues/lang/2210-block-comment.md +0 -12
  346. package/issues/lang/2220-namespace-import.md +0 -25
  347. package/issues/lang/2310-undefined.md +0 -7
  348. package/issues/lang/2320-bigint.md +0 -7
  349. package/issues/lang/2330-property-accessor.md +0 -225
  350. package/issues/lang/2340-operators.md +0 -41
  351. package/issues/lang/2350-grouping.md +0 -11
  352. package/issues/lang/2360-built-in.md +0 -81
  353. package/issues/lang/2410-identifier-property.md +0 -9
  354. package/issues/lang/2420-line-comment.md +0 -10
  355. package/issues/lang/2430-trailing-comma.md +0 -13
  356. package/issues/lang/2440-shorthand.md +0 -8
  357. package/issues/lang/2450-destructuring.md +0 -12
  358. package/issues/lang/3110-function.md +0 -35
  359. package/issues/lang/3120-parameters.md +0 -9
  360. package/issues/lang/3130-body-const.md +0 -12
  361. package/issues/lang/3220-let.md +0 -11
  362. package/issues/lang/3240-export.md +0 -44
  363. package/issues/lang/3370-type-inference.md +0 -69
  364. package/issues/lang/3380-promise.md +0 -22
  365. package/issues/lang/3390-class.md +0 -3
  366. package/issues/lang/3410-expression.md +0 -12
  367. package/issues/lang/3420-one-parameter.md +0 -10
  368. package/issues/lang/3430-assignments.md +0 -23
  369. package/issues/lang/README.md +0 -193
  370. package/issues/test.f.ts +0 -58
  371. package/js/tokenizer/module.f.ts +0 -882
  372. package/js/tokenizer/test.f.ts +0 -617
  373. package/json/html/README.md +0 -49
  374. package/json/module.f.ts +0 -94
  375. package/json/parser/module.f.ts +0 -221
  376. package/json/parser/test.f.ts +0 -255
  377. package/json/serializer/module.f.ts +0 -74
  378. package/json/serializer/test.f.ts +0 -64
  379. package/json/test.f.ts +0 -48
  380. package/json/tokenizer/module.f.ts +0 -85
  381. package/json/tokenizer/test.f.ts +0 -290
  382. package/nanvm-lib/Cargo.toml +0 -6
  383. package/nanvm-lib/src/extension.rs +0 -130
  384. package/nanvm-lib/src/interface.rs +0 -133
  385. package/nanvm-lib/src/lib.rs +0 -7
  386. package/nanvm-lib/src/naive.rs +0 -236
  387. package/nanvm-lib/src/nanenum.rs +0 -236
  388. package/nanvm-lib/src/nullish.rs +0 -7
  389. package/nanvm-lib/src/sign.rs +0 -5
  390. package/nanvm-lib/src/simple.rs +0 -32
  391. package/nanvm-lib/tests/test.f.ts +0 -80
  392. package/nanvm-lib/tests/test.rs +0 -108
  393. package/nodejs/version/main.ts +0 -4
  394. package/nodejs/version/module.f.ts +0 -42
  395. package/text/README.md +0 -110
  396. package/text/ascii/module.f.ts +0 -219
  397. package/text/ascii/test.f.ts +0 -14
  398. package/text/module.f.ts +0 -30
  399. package/text/sgr/README.md +0 -3
  400. package/text/sgr/module.f.ts +0 -11
  401. package/text/test.f.ts +0 -19
  402. package/text/utf16/module.f.ts +0 -120
  403. package/text/utf16/test.f.ts +0 -107
  404. package/text/utf8/module.f.ts +0 -116
  405. package/text/utf8/test.f.ts +0 -125
  406. package/tsconfig.json +0 -104
  407. package/types/array/module.f.ts +0 -89
  408. package/types/array/test.f.ts +0 -88
  409. package/types/bigfloat/module.f.ts +0 -93
  410. package/types/bigfloat/test.f.ts +0 -218
  411. package/types/bigint/README.md +0 -35
  412. package/types/bigint/test.f.ts +0 -144
  413. package/types/bit_vec/README.md +0 -18
  414. package/types/bit_vec/test.f.ts +0 -129
  415. package/types/btree/README.md +0 -160
  416. package/types/btree/find/module.f.ts +0 -92
  417. package/types/btree/find/test.f.ts +0 -122
  418. package/types/btree/module.f.ts +0 -35
  419. package/types/btree/remove/module.f.ts +0 -151
  420. package/types/btree/remove/test.f.ts +0 -498
  421. package/types/btree/set/module.f.ts +0 -89
  422. package/types/btree/set/test.f.ts +0 -415
  423. package/types/btree/test.f.ts +0 -92
  424. package/types/btree/types/module.f.ts +0 -27
  425. package/types/byte_set/module.f.ts +0 -73
  426. package/types/byte_set/test.f.ts +0 -84
  427. package/types/function/compare/module.f.ts +0 -26
  428. package/types/function/compare/test.f.ts +0 -7
  429. package/types/function/module.f.ts +0 -43
  430. package/types/function/operator/module.f.ts +0 -65
  431. package/types/function/test.f.ts +0 -20
  432. package/types/list/module.f.ts +0 -350
  433. package/types/list/test.f.ts +0 -327
  434. package/types/map/module.f.ts +0 -65
  435. package/types/map/test.f.ts +0 -76
  436. package/types/nibble_set/module.f.ts +0 -34
  437. package/types/nibble_set/test.f.ts +0 -57
  438. package/types/nullable/module.f.ts +0 -9
  439. package/types/nullable/test.f.ts +0 -9
  440. package/types/number/module.f.ts +0 -20
  441. package/types/number/test.f.ts +0 -194
  442. package/types/object/module.f.ts +0 -30
  443. package/types/object/test.f.ts +0 -14
  444. package/types/range/module.f.ts +0 -10
  445. package/types/range/test.f.ts +0 -9
  446. package/types/range_map/module.f.ts +0 -70
  447. package/types/range_map/test.f.ts +0 -189
  448. package/types/result/module.f.ts +0 -20
  449. package/types/result/module.ts +0 -18
  450. package/types/sorted_list/module.f.ts +0 -83
  451. package/types/sorted_list/test.f.ts +0 -57
  452. package/types/sorted_set/module.f.ts +0 -36
  453. package/types/sorted_set/test.f.ts +0 -67
  454. package/types/string/module.f.ts +0 -26
  455. package/types/string/test.f.ts +0 -43
  456. package/types/string_set/module.f.ts +0 -37
  457. package/types/string_set/test.f.ts +0 -34
@@ -0,0 +1,84 @@
1
+ const e = a => b => {
2
+ if (a === b) { }
3
+ else {
4
+ throw [a, '===', b];
5
+ }
6
+ };
7
+ const n = a => b => {
8
+ if (a !== b) { }
9
+ else {
10
+ throw [a, '!==', b];
11
+ }
12
+ };
13
+ export default {
14
+ eq: {
15
+ nullish: () => {
16
+ e(null)(null);
17
+ e(undefined)(undefined);
18
+ n(null)(undefined);
19
+ },
20
+ boolean: {
21
+ boolean: () => {
22
+ e(true)(true);
23
+ e(false)(false);
24
+ n(true)(false);
25
+ },
26
+ nullish: () => {
27
+ n(false)(undefined);
28
+ }
29
+ },
30
+ number: {
31
+ number: () => {
32
+ e(2.3)(2.3);
33
+ n(2.3)(-5.4);
34
+ n(NaN)(NaN);
35
+ e(0)(-0);
36
+ if (!Object.is(-0, -0)) {
37
+ throw -0;
38
+ }
39
+ if (Object.is(0, -0)) {
40
+ throw -0;
41
+ }
42
+ e(Infinity)(Infinity);
43
+ e(-Infinity)(-Infinity);
44
+ n(Infinity)(-Infinity);
45
+ },
46
+ nullish: () => {
47
+ n(undefined)(NaN);
48
+ n(undefined)(0);
49
+ }
50
+ },
51
+ string: {
52
+ string: () => {
53
+ e("hello")("hello");
54
+ n("hello")("world");
55
+ },
56
+ number: () => {
57
+ n(0)("0");
58
+ }
59
+ },
60
+ bigint: {
61
+ bigint: () => {
62
+ e(12n)(12n);
63
+ n(12n)(-12n);
64
+ n(12n)(13n);
65
+ }
66
+ },
67
+ array: {
68
+ array: () => {
69
+ const a = [];
70
+ e(a)(a);
71
+ n([])([]);
72
+ const a0 = ['0'];
73
+ e(a0)(a0);
74
+ }
75
+ },
76
+ object: {
77
+ object: () => {
78
+ const o = { '0': '0' };
79
+ e(o)(o);
80
+ n(o)({ '0': '0' });
81
+ }
82
+ }
83
+ }
84
+ };
@@ -0,0 +1,11 @@
1
+ export type Buffer = {};
2
+ type Fs<T> = {
3
+ readonly readFileSync: (name: string) => Buffer;
4
+ readonly writeFileSync: (name: string, content: string) => T;
5
+ };
6
+ export type Node<T> = {
7
+ readonly fs: Fs<T>;
8
+ };
9
+ export declare const getVersion: <T>(fs: Fs<T>) => string;
10
+ export declare const updateVersion: <T>(node: Node<T>) => readonly [T, T];
11
+ export {};
@@ -0,0 +1,16 @@
1
+ const { stringify, parse } = JSON;
2
+ export const getVersion = fs => readJson(fs)('package').version;
3
+ const jsonFile = (jsonFile) => `${jsonFile}.json`;
4
+ const readJson = fs => name => parse(fs.readFileSync(jsonFile(name)).toString());
5
+ export const updateVersion = ({ fs }) => {
6
+ const f = (name) => {
7
+ return fs.writeFileSync(jsonFile(name), stringify({
8
+ ...readJson(fs)(name),
9
+ version: getVersion(fs)
10
+ }, null, 2));
11
+ };
12
+ return [
13
+ f('package'),
14
+ f('deno')
15
+ ];
16
+ };
@@ -0,0 +1,2 @@
1
+ declare const _default: () => void;
2
+ export default _default;
@@ -1,10 +1,6 @@
1
- import * as _ from './module.f.ts'
2
-
3
- const version = '0.3.0'
4
-
5
- const x
6
- : { readonly[k in string]: unknown }
7
- = {
1
+ import * as _ from "./module.f.js";
2
+ const version = '0.3.0';
3
+ const x = {
8
4
  'package.json': {
9
5
  "name": "functionalscript",
10
6
  version,
@@ -41,8 +37,7 @@ const x
41
37
  }
42
38
  },
43
39
  "deno.json": {}
44
- }
45
-
40
+ };
46
41
  const e = '{\n' +
47
42
  ' "name": "functionalscript",\n' +
48
43
  ` "version": "${version}",\n` +
@@ -77,23 +72,19 @@ const e = '{\n' +
77
72
  ' "@types/node": "^18.6.2",\n' +
78
73
  ' "typescript": "^4.7.4"\n' +
79
74
  ' }\n' +
80
- '}'
81
-
82
- const buffer
83
- : (s: string) => _.Buffer
84
- = s => ({
75
+ '}';
76
+ const buffer = s => ({
85
77
  toString: () => s
86
- })
87
-
78
+ });
88
79
  export default () => {
89
- const node
90
- : _.Node<string>
91
- = {
80
+ const node = {
92
81
  fs: {
93
82
  readFileSync: n => buffer(JSON.stringify(x[n])),
94
83
  writeFileSync: (_, content) => content
95
84
  }
85
+ };
86
+ const [n, d] = _.updateVersion(node);
87
+ if (n !== e) {
88
+ throw [n, e];
96
89
  }
97
- const [n, d] = _.updateVersion(node)
98
- if (n !== e) { throw [n, e] }
99
- }
90
+ };
package/package.json CHANGED
@@ -1,17 +1,21 @@
1
1
  {
2
2
  "name": "functionalscript",
3
- "version": "0.3.4",
3
+ "version": "0.3.6",
4
4
  "type": "module",
5
+ "files": [
6
+ "**/*.f.d.ts",
7
+ "**/*.f.js"
8
+ ],
5
9
  "description": "FunctionalScript is a functional subset of JavaScript",
6
10
  "scripts": {
7
- "tscp": "tsc --NoEmit false --emitDeclarationOnly true",
8
- "tsct": "tsc --NoEmit false --checkJs false",
9
- "prepack": "npm run tscp && npm run tsct",
11
+ "tsc-emit": "tsc --NoEmit false",
12
+ "prepack": "npm run tsc-emit",
10
13
  "test20": "npm run prepack && node --trace-uncaught ./dev/test.js",
11
14
  "test": "tsc && node --experimental-strip-types --trace-uncaught ./dev/test.ts",
12
15
  "comtest": "node --experimental-strip-types ./com/test/build.ts",
13
16
  "index": "node --experimental-strip-types ./dev/index.ts",
14
- "version": "node --experimental-strip-types ./nodejs/version/main.ts"
17
+ "version": "node --experimental-strip-types ./nodejs/version/main.ts",
18
+ "fsc": "node --experimental-strip-types ./main.ts"
15
19
  },
16
20
  "repository": {
17
21
  "type": "git",
@@ -0,0 +1,129 @@
1
+ import { type Range } from '../../types/range/module.f.ts';
2
+ export declare const one: (s: string) => number;
3
+ export declare const range: (s: string) => Range;
4
+ /** 0x08 */
5
+ export declare const backspace: number;
6
+ /** 0x09 */
7
+ export declare const ht: number;
8
+ /** 0x0A */
9
+ export declare const lf: number;
10
+ /** 0x0C */
11
+ export declare const ff: number;
12
+ /** 0x0D */
13
+ export declare const cr: number;
14
+ /** 0x20 */
15
+ export declare const space: number;
16
+ /** 0x21 */
17
+ export declare const exclamationMark: number;
18
+ /** 0x22 */
19
+ export declare const quotationMark: number;
20
+ /** 0x23 */
21
+ export declare const numberSign: number;
22
+ /** 0x24 */
23
+ export declare const dollarSign: number;
24
+ /** 0x25 */
25
+ export declare const percentSign: number;
26
+ /** 0x26 */
27
+ export declare const ampersand: number;
28
+ /** 0x27 */
29
+ export declare const apostrophe: number;
30
+ /** 0x28 */
31
+ export declare const leftParenthesis: number;
32
+ /** 0x29 */
33
+ export declare const rightParenthesis: number;
34
+ /** 0x2A */
35
+ export declare const asterisk: number;
36
+ /** 0x2B */
37
+ export declare const plusSign: number;
38
+ /** 0x2C */
39
+ export declare const comma: number;
40
+ /** 0x2D */
41
+ export declare const hyphenMinus: number;
42
+ /** 0x2E */
43
+ export declare const fullStop: number;
44
+ /** 0x2F */
45
+ export declare const solidus: number;
46
+ /** 0x30..0x39 */
47
+ export declare const digitRange: Range;
48
+ /** 0x30 */
49
+ export declare const digit0: number;
50
+ /** 0x31 */
51
+ export declare const digit1: number;
52
+ /** 0x32 */
53
+ export declare const digit2: number;
54
+ /** 0x33 */
55
+ export declare const digit3: number;
56
+ /** 0x34 */
57
+ export declare const digit4: number;
58
+ /** 0x35 */
59
+ export declare const digit5: number;
60
+ /** 0x36 */
61
+ export declare const digit6: number;
62
+ /** 0x37 */
63
+ export declare const digit7: number;
64
+ /** 0x38 */
65
+ export declare const digit8: number;
66
+ /** 0x39 */
67
+ export declare const digit9: number;
68
+ /** 0x3A */
69
+ export declare const colon: number;
70
+ /** 0x3B */
71
+ export declare const semicolon: number;
72
+ /** 0x3C */
73
+ export declare const lessThanSign: number;
74
+ /** 0x3D */
75
+ export declare const equalsSign: number;
76
+ /** 0x3E */
77
+ export declare const greaterThanSign: number;
78
+ /** 0x3F */
79
+ export declare const questionMark: number;
80
+ /** 0x40 */
81
+ export declare const commercialAt: number;
82
+ /** 0x41..0x5A */
83
+ export declare const latinCapitalLetterRange: Range;
84
+ /** 0x41 */
85
+ export declare const latinCapitalLetterA: number;
86
+ /** 0x45 */
87
+ export declare const latinCapitalLetterE: number;
88
+ /** 0x46 */
89
+ export declare const latinCapitalLetterF: number;
90
+ /** 0x5B */
91
+ export declare const leftSquareBracket: number;
92
+ /** 0x5C */
93
+ export declare const reverseSolidus: number;
94
+ /** 0x5D */
95
+ export declare const rightSquareBracket: number;
96
+ /** 0x5E */
97
+ export declare const circumflexAccent: number;
98
+ /** 0x5F */
99
+ export declare const lowLine: number;
100
+ /** 0x60 */
101
+ export declare const graveAccent: number;
102
+ /** 0x61..0x7A */
103
+ export declare const latinSmallLetterRange: Range;
104
+ /** 0x61 */
105
+ export declare const latinSmallLetterA: number;
106
+ /** 0x62 */
107
+ export declare const latinSmallLetterB: number;
108
+ /** 0x65 */
109
+ export declare const latinSmallLetterE: number;
110
+ /** 0x66 */
111
+ export declare const latinSmallLetterF: number;
112
+ /** 0x6E */
113
+ export declare const latinSmallLetterN: number;
114
+ /** 0x72 */
115
+ export declare const latinSmallLetterR: number;
116
+ /** 0x74 */
117
+ export declare const latinSmallLetterT: number;
118
+ /** 0x75 */
119
+ export declare const latinSmallLetterU: number;
120
+ /** 0x7A */
121
+ export declare const latinSmallLetterZ: number;
122
+ /** 0x7B */
123
+ export declare const leftCurlyBracket: number;
124
+ /** 0x7C */
125
+ export declare const verticalLine: number;
126
+ /** 0x7D */
127
+ export declare const rightCurlyBracket: number;
128
+ /** 0x7E */
129
+ export declare const tilde: number;
@@ -0,0 +1,148 @@
1
+ import {} from "../../types/range/module.f.js";
2
+ const at = s => i => {
3
+ const r = s.codePointAt(i);
4
+ if (r === void 0) {
5
+ throw s;
6
+ }
7
+ return r;
8
+ };
9
+ export const one = (s) => at(s)(0);
10
+ export const range = s => {
11
+ const f = at(s);
12
+ const f0 = f(0);
13
+ if (s.length === 1) {
14
+ return [f0, f0];
15
+ }
16
+ return [f0, f(1)];
17
+ };
18
+ // 0x00..
19
+ /** 0x08 */
20
+ export const backspace = one('\b');
21
+ /** 0x09 */
22
+ export const ht = one('\t');
23
+ /** 0x0A */
24
+ export const lf = one('\n');
25
+ /** 0x0C */
26
+ export const ff = one('\f');
27
+ /** 0x0D */
28
+ export const cr = one('\r');
29
+ // 0x20..
30
+ /** 0x20 */
31
+ export const space = one(' ');
32
+ /** 0x21 */
33
+ export const exclamationMark = one('!');
34
+ /** 0x22 */
35
+ export const quotationMark = one('"');
36
+ /** 0x23 */
37
+ export const numberSign = one('#');
38
+ /** 0x24 */
39
+ export const dollarSign = one('$');
40
+ /** 0x25 */
41
+ export const percentSign = one('%');
42
+ /** 0x26 */
43
+ export const ampersand = one('&');
44
+ /** 0x27 */
45
+ export const apostrophe = one("'");
46
+ /** 0x28 */
47
+ export const leftParenthesis = one('(');
48
+ /** 0x29 */
49
+ export const rightParenthesis = one(')');
50
+ /** 0x2A */
51
+ export const asterisk = one('*');
52
+ /** 0x2B */
53
+ export const plusSign = one('+');
54
+ /** 0x2C */
55
+ export const comma = one(',');
56
+ /** 0x2D */
57
+ export const hyphenMinus = one('-');
58
+ /** 0x2E */
59
+ export const fullStop = one('.');
60
+ /** 0x2F */
61
+ export const solidus = one('/');
62
+ // 0x30..
63
+ /** 0x30..0x39 */
64
+ export const digitRange = range('09');
65
+ /** 0x30 */
66
+ export const digit0 = one('0');
67
+ /** 0x31 */
68
+ export const digit1 = one('1');
69
+ /** 0x32 */
70
+ export const digit2 = one('2');
71
+ /** 0x33 */
72
+ export const digit3 = one('3');
73
+ /** 0x34 */
74
+ export const digit4 = one('4');
75
+ /** 0x35 */
76
+ export const digit5 = one('5');
77
+ /** 0x36 */
78
+ export const digit6 = one('6');
79
+ /** 0x37 */
80
+ export const digit7 = one('7');
81
+ /** 0x38 */
82
+ export const digit8 = one('8');
83
+ /** 0x39 */
84
+ export const digit9 = one('9');
85
+ /** 0x3A */
86
+ export const colon = one(':');
87
+ /** 0x3B */
88
+ export const semicolon = one(';');
89
+ /** 0x3C */
90
+ export const lessThanSign = one('<');
91
+ /** 0x3D */
92
+ export const equalsSign = one('=');
93
+ /** 0x3E */
94
+ export const greaterThanSign = one('>');
95
+ /** 0x3F */
96
+ export const questionMark = one('?');
97
+ // 0x40..
98
+ /** 0x40 */
99
+ export const commercialAt = one('@');
100
+ /** 0x41..0x5A */
101
+ export const latinCapitalLetterRange = range('AZ');
102
+ /** 0x41 */
103
+ export const latinCapitalLetterA = one('A');
104
+ /** 0x45 */
105
+ export const latinCapitalLetterE = one('E');
106
+ /** 0x46 */
107
+ export const latinCapitalLetterF = one('F');
108
+ /** 0x5B */
109
+ export const leftSquareBracket = one('[');
110
+ /** 0x5C */
111
+ export const reverseSolidus = one('\\');
112
+ /** 0x5D */
113
+ export const rightSquareBracket = one(']');
114
+ /** 0x5E */
115
+ export const circumflexAccent = one('^');
116
+ /** 0x5F */
117
+ export const lowLine = one('_');
118
+ // 0x60..
119
+ /** 0x60 */
120
+ export const graveAccent = one('`');
121
+ /** 0x61..0x7A */
122
+ export const latinSmallLetterRange = range('az');
123
+ /** 0x61 */
124
+ export const latinSmallLetterA = one('a');
125
+ /** 0x62 */
126
+ export const latinSmallLetterB = one('b');
127
+ /** 0x65 */
128
+ export const latinSmallLetterE = one('e');
129
+ /** 0x66 */
130
+ export const latinSmallLetterF = one('f');
131
+ /** 0x6E */
132
+ export const latinSmallLetterN = one('n');
133
+ /** 0x72 */
134
+ export const latinSmallLetterR = one('r');
135
+ /** 0x74 */
136
+ export const latinSmallLetterT = one('t');
137
+ /** 0x75 */
138
+ export const latinSmallLetterU = one('u');
139
+ /** 0x7A */
140
+ export const latinSmallLetterZ = one('z');
141
+ /** 0x7B */
142
+ export const leftCurlyBracket = one('{');
143
+ /** 0x7C */
144
+ export const verticalLine = one('|');
145
+ /** 0x7D */
146
+ export const rightCurlyBracket = one('}');
147
+ /** 0x7E */
148
+ export const tilde = one('~');
@@ -0,0 +1,4 @@
1
+ declare const _default: {
2
+ range: () => void;
3
+ };
4
+ export default _default;
@@ -0,0 +1,14 @@
1
+ import * as _ from "./module.f.js";
2
+ const { range } = _;
3
+ import * as json from "../../json/module.f.js";
4
+ import * as o from "../../types/object/module.f.js";
5
+ const { sort } = o;
6
+ const stringify = json.stringify(sort);
7
+ export default {
8
+ range: () => {
9
+ const r = stringify(range("A"));
10
+ if (r !== '[65,65]') {
11
+ throw r;
12
+ }
13
+ }
14
+ };
@@ -0,0 +1,8 @@
1
+ import * as list from '../types/list/module.f.ts';
2
+ export type Block = ItemThunk | ItemArray;
3
+ type ItemArray = readonly Item[];
4
+ type ItemThunk = () => list.List<Item>;
5
+ export type Item = string | ItemArray | ItemThunk;
6
+ export declare const flat: (indent: string) => (text: Block) => list.List<string>;
7
+ export declare const curly: (type: string) => (name: string) => (body: Block) => Block;
8
+ export {};
@@ -0,0 +1,10 @@
1
+ import * as list from "../types/list/module.f.js";
2
+ const { flatMap } = list;
3
+ export const flat = indent => {
4
+ const f = prefix => {
5
+ const g = item => typeof (item) === 'string' ? [`${prefix}${item}`] : f(`${prefix}${indent}`)(item);
6
+ return flatMap(g);
7
+ };
8
+ return f('');
9
+ };
10
+ export const curly = type => name => body => [`${type} ${name}`, '{', body, '}'];
@@ -0,0 +1,8 @@
1
+ /**
2
+ * https://en.wikipedia.org/wiki/ANSI_escape_code#SGR
3
+ */
4
+ export declare const sgr: (c: number) => string;
5
+ export declare const reset: string;
6
+ export declare const bold: string;
7
+ export declare const fgRed: string;
8
+ export declare const fgGreen: string;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * https://en.wikipedia.org/wiki/ANSI_escape_code#SGR
3
+ */
4
+ export const sgr = c => `\x1b[${c.toString()}m`;
5
+ export const reset = sgr(0);
6
+ export const bold = sgr(1);
7
+ export const fgRed = sgr(31);
8
+ export const fgGreen = sgr(32);
@@ -0,0 +1,2 @@
1
+ declare const _default: () => void;
2
+ export default _default;
package/text/test.f.js ADDED
@@ -0,0 +1,18 @@
1
+ import * as _ from "./module.f.js";
2
+ import * as string from "../types/string/module.f.js";
3
+ const { join } = string;
4
+ export default () => {
5
+ const text = [
6
+ 'a',
7
+ 'b',
8
+ () => [
9
+ 'c',
10
+ () => ['d'],
11
+ ],
12
+ 'e',
13
+ ];
14
+ const result = join('\n')(_.flat(':')(text));
15
+ if (result !== 'a\nb\n:c\n::d\ne') {
16
+ throw result;
17
+ }
18
+ };
@@ -0,0 +1,9 @@
1
+ import { type List, type Thunk } from '../../types/list/module.f.ts';
2
+ type u16 = number;
3
+ type i32 = number;
4
+ export declare const fromCodePointList: (input: List<number>) => Thunk<number>;
5
+ declare const u16: (i: number) => boolean;
6
+ export declare const toCodePointList: (input: List<u16>) => List<i32>;
7
+ export declare const stringToList: (s: string) => List<u16>;
8
+ export declare const listToString: (input: List<u16>) => string;
9
+ export {};
@@ -0,0 +1,66 @@
1
+ import { map, flat, stateScan, reduce, flatMap, empty, } from "../../types/list/module.f.js";
2
+ import * as operator from "../../types/function/operator/module.f.js";
3
+ import { contains } from "../../types/range/module.f.js";
4
+ import * as f from "../../types/function/module.f.js";
5
+ const { fn } = f;
6
+ const lowBmp = contains([0x0000, 0xd7ff]);
7
+ const highBmp = contains([0xe000, 0xffff]);
8
+ const isBmpCodePoint = codePoint => lowBmp(codePoint) || highBmp(codePoint);
9
+ const isHighSurrogate = contains([0xd800, 0xdbff]);
10
+ const isLowSurrogate = contains([0xdc00, 0xdfff]);
11
+ const errorMask = 0b1000_0000_0000_0000_0000_0000_0000_0000;
12
+ const isSupplementaryPlane = contains([0x01_0000, 0x10_ffff]);
13
+ const codePointToUtf16 = codePoint => {
14
+ if (isBmpCodePoint(codePoint)) {
15
+ return [codePoint];
16
+ }
17
+ if (isSupplementaryPlane(codePoint)) {
18
+ const n = codePoint - 0x1_0000;
19
+ const high = (n >> 10) + 0xd800;
20
+ const low = (n & 0b0011_1111_1111) + 0xdc00;
21
+ return [high, low];
22
+ }
23
+ return [codePoint & 0xffff];
24
+ };
25
+ export const fromCodePointList = flatMap(codePointToUtf16);
26
+ const u16 = contains([0x0000, 0xFFFF]);
27
+ const utf16ByteToCodePointOp = state => word => {
28
+ if (!u16(word)) {
29
+ return [[0xffffffff], state];
30
+ }
31
+ if (state === null) {
32
+ if (isBmpCodePoint(word)) {
33
+ return [[word], null];
34
+ }
35
+ if (isHighSurrogate(word)) {
36
+ return [[], word];
37
+ }
38
+ return [[word | errorMask], null];
39
+ }
40
+ if (isLowSurrogate(word)) {
41
+ const high = state - 0xd800;
42
+ const low = word - 0xdc00;
43
+ return [[(high << 10) + low + 0x10000], null];
44
+ }
45
+ if (isBmpCodePoint(word)) {
46
+ return [[state | errorMask, word], null];
47
+ }
48
+ if (isHighSurrogate(word)) {
49
+ return [[state | errorMask], word];
50
+ }
51
+ return [[state | errorMask, word | errorMask], null];
52
+ };
53
+ const utf16EofToCodePointOp = state => [state === null ? empty : [state | errorMask], null];
54
+ const utf16ByteOrEofToCodePointOp = state => input => input === null ? utf16EofToCodePointOp(state) : utf16ByteToCodePointOp(state)(input);
55
+ const eofList = [null];
56
+ export const toCodePointList = input => flat(stateScan(utf16ByteOrEofToCodePointOp)(null)(flat([input, eofList])));
57
+ export const stringToList = s => {
58
+ const at = i => {
59
+ const first = s.charCodeAt(i);
60
+ return isNaN(first) ? empty : { first, tail: () => at(i + 1) };
61
+ };
62
+ return at(0);
63
+ };
64
+ export const listToString = fn(map(String.fromCharCode))
65
+ .then(reduce(operator.concat)(''))
66
+ .result;
@@ -0,0 +1,6 @@
1
+ declare const _default: {
2
+ toCodePointList: (() => void)[];
3
+ fromCodePointList: (() => void)[];
4
+ string: (() => void)[];
5
+ };
6
+ export default _default;