functionalscript 0.3.3 → 0.3.5

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 -196
  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 -222
  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 -13
  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
@@ -1,80 +0,0 @@
1
- const e
2
- : (a: unknown) => (b: unknown) => void
3
- = a => b => {
4
- if (a === b) { } else { throw [a, '===', b] }
5
- }
6
-
7
- const n
8
- : (a: unknown) => (b: unknown) => void
9
- = a => b => {
10
- if (a !== b) { } else { 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)) { throw -0 }
37
- if (Object.is(0, -0)) { throw -0 }
38
- e(Infinity)(Infinity)
39
- e(-Infinity)(-Infinity)
40
- n(Infinity)(-Infinity)
41
- },
42
- nullish: () => {
43
- n(undefined)(NaN)
44
- n(undefined)(0)
45
- }
46
- },
47
- string: {
48
- string: () => {
49
- e("hello")("hello")
50
- n("hello")("world")
51
- },
52
- number: () => {
53
- n(0)("0")
54
- }
55
- },
56
- bigint: {
57
- bigint: () => {
58
- e(12n)(12n)
59
- n(12n)(-12n)
60
- n(12n)(13n)
61
- }
62
- },
63
- array: {
64
- array: () => {
65
- const a: any = []
66
- e(a)(a)
67
- n([])([])
68
- const a0 = ['0']
69
- e(a0)(a0)
70
- }
71
- },
72
- object: {
73
- object: () => {
74
- const o = { '0': '0' }
75
- e(o)(o)
76
- n(o)({ '0': '0' })
77
- }
78
- }
79
- }
80
- }
@@ -1,108 +0,0 @@
1
- use nanvm_lib::{interface::{Complex, Container, Extension, Any, Utf8}, naive, nullish::Nullish, sign::Sign, simple::Simple};
2
-
3
- fn eq<A: Any>() {
4
- // nullish
5
- let null0: A = Simple::Nullish(Nullish::Null).to_unknown();
6
- let null1 = Simple::Nullish(Nullish::Null).to_unknown();
7
- let undefined0 = Simple::Nullish(Nullish::Undefined).to_unknown();
8
- let undefined1 = Simple::Nullish(Nullish::Undefined).to_unknown();
9
- {
10
- assert_eq!(null0, null1);
11
- assert_eq!(undefined0, undefined1);
12
- assert_ne!(null1, undefined0);
13
- }
14
- // boolean
15
- let true0: A = Simple::Boolean(true).to_unknown();
16
- let true1 = Simple::Boolean(true).to_unknown();
17
- let false0 = Simple::Boolean(false).to_unknown();
18
- let false1 = Simple::Boolean(false).to_unknown();
19
- {
20
- // boolean
21
- {
22
- assert_eq!(true0, true1);
23
- assert_eq!(false0, false1);
24
- assert_ne!(true0, false0);
25
- }
26
- // nullish
27
- {
28
- assert_ne!(false0, undefined0);
29
- }
30
- }
31
- // number
32
- let number00: A = Simple::Number(2.3).to_unknown();
33
- let number01: A = Simple::Number(2.3).to_unknown();
34
- let number1: A = Simple::Number(-5.4).to_unknown();
35
- let number_nan: A = Simple::Number(f64::NAN).to_unknown();
36
- let number_p0: A = Simple::Number(0.0).to_unknown();
37
- let number_n0: A = Simple::Number(-0.0).to_unknown();
38
- let number_p_inf0: A = Simple::Number(f64::INFINITY).to_unknown();
39
- let number_p_inf1: A = Simple::Number(f64::INFINITY).to_unknown();
40
- let number_n_inf0: A = Simple::Number(-f64::INFINITY).to_unknown();
41
- let number_n_inf1: A = Simple::Number(-f64::INFINITY).to_unknown();
42
- {
43
- // number
44
- {
45
- assert_eq!(number00, number01);
46
- assert_ne!(number00, number1);
47
- assert_ne!(number_nan, number_nan);
48
- assert_eq!(number_p0, number_n0);
49
- // Object.is()
50
- assert_eq!((-0f64).to_bits(), (-0f64).to_bits());
51
- assert_ne!(0f64.to_bits(), (-0f64).to_bits());
52
- assert_eq!(number_p_inf0, number_p_inf1);
53
- assert_eq!(number_n_inf0, number_n_inf1);
54
- assert_ne!(number_p_inf0, number_n_inf0);
55
- }
56
- // nullish
57
- {
58
- assert_ne!(number_nan, undefined0);
59
- assert_ne!(number00, undefined0);
60
- }
61
- }
62
- // string
63
- let string_hello0: A = "Hello!".to_unknown();
64
- let string_hello1: A = "Hello!".to_unknown();
65
- let string_world0: A = "world!".to_unknown();
66
- let string0: A = "0".to_unknown();
67
- let s0 = "0".to_string16::<A>();
68
- {
69
- {
70
- assert_eq!(string_hello0, string_hello1);
71
- assert_ne!(string_hello0, string_world0);
72
- }
73
- {
74
- assert_ne!(number_p0, string0.clone());
75
- }
76
- }
77
- // bigint
78
- let bigint12_0: A = A::BigInt::new(Sign::Positive, [12]).to_unknown();
79
- let bigint12_1: A = A::BigInt::new(Sign::Positive, [12]).to_unknown();
80
- let bigint12m: A = A::BigInt::new(Sign::Negative, [12]).to_unknown();
81
- let bigint13: A = A::BigInt::new(Sign::Positive, [13]).to_unknown();
82
- {
83
- assert_eq!(bigint12_0, bigint12_1);
84
- assert_ne!(bigint12_0, bigint12m);
85
- assert_ne!(bigint12_0, bigint13);
86
- }
87
- // array
88
- let array0: A = [].to_array_unknown();
89
- let array1: A = [].to_array_unknown();
90
- let array2: A = [string0.clone()].to_array_unknown();
91
- {
92
- assert_eq!(array0, array0);
93
- assert_ne!(array0, array1);
94
- assert_eq!(array2, array2);
95
- }
96
- // object
97
- let object0: A = [(s0.clone(), string0.clone())].to_object_unknown();
98
- let object1: A = [(s0, string0)].to_object_unknown();
99
- {
100
- assert_eq!(object0, object0);
101
- assert_ne!(object0, object1);
102
- }
103
- }
104
-
105
- #[test]
106
- fn naive_eq() {
107
- eq::<naive::Any>();
108
- }
@@ -1,4 +0,0 @@
1
- import * as _ from './module.f.ts'
2
- import fs from 'node:fs'
3
-
4
- _.updateVersion({ fs })
@@ -1,42 +0,0 @@
1
- export type Buffer = {}
2
-
3
- type Fs<T> = {
4
- readonly readFileSync: (name: string) => Buffer
5
- readonly writeFileSync: (name: string, content: string) => T
6
- }
7
-
8
- export type Node<T> = {
9
- readonly fs: Fs<T>
10
- }
11
-
12
- const { stringify, parse } = JSON
13
-
14
- export const getVersion
15
- : <T>(fs: Fs<T>) => string
16
- = fs => readJson(fs)('package').version
17
-
18
- const jsonFile = (jsonFile: string) => `${jsonFile}.json`
19
-
20
- const readJson
21
- : <T>(node: Fs<T>) => (name: string) => any
22
- = fs => name => parse(fs.readFileSync(jsonFile(name)).toString())
23
-
24
- export const updateVersion
25
- : <T>(node: Node<T>) => readonly[T, T]
26
- = ({ fs }) => {
27
- const f = (name: string) => {
28
- return fs.writeFileSync(
29
- jsonFile(name),
30
- stringify(
31
- {
32
- ...readJson(fs)(name),
33
- version: getVersion(fs)
34
- },
35
- null,
36
- 2))
37
- }
38
- return [
39
- f('package'),
40
- f('deno')
41
- ]
42
- }
package/text/README.md DELETED
@@ -1,110 +0,0 @@
1
- # UNICODE
2
-
3
- ## UTF-8
4
-
5
- Requirement: no loss for UTF8 => codepoint => UTF8
6
-
7
- |utf8 |utf8 code |size |codepoint |
8
- |---------|---------------------------------------|---------|--------------------------------------------------|
9
- |[a] |0xxx_xxxx |7 bit |0_0000_0000_0000_0xxx_xxxx |
10
- |[b,a] |110x_xxxx 10xx_xxxx |11 bit |0_0000_0000_0xxx_xxxx_xxxx + 0_0000_0000_1000_0000|
11
- |[c,b,a] |1110_xxxx 10xx_xxxx 10xx_xxxx |16 bit |0_0000_xxxx_xxxx_xxxx_xxxx + 0_0000_1000_0000_0000|
12
- |[d,c,b,a]|1111_0xxx 10xx_xxxx 10xx_xxxx 10xx_xxxx|21 bit |x_xxxx_xxxx_xxxx_xxxx_xxxx + 1_0000_0000_0000_0000|
13
-
14
- |utf8 error|utf8 code |size |codepoint |
15
- |----------|-----------------------------|------|-------------------|
16
- |[e] |1111_1xxx | 3 bit| |
17
- |[d,] |1111_0xxx | 3 bit| |
18
- |[c,] |1110_xxxx | 4 bit| |
19
- |[b,] |110x_xxxx | 5 bit| |
20
- |[e] |10xx_xxxx | 6 bit|0000_0000 1xxx_xxxx|
21
- |[d,c,] |1111_0xxx 10xx_xxxx | 9 bit|0000_001x xxxx_xxxx|
22
- |[c,b,] |1110_xxxx 10xx_xxxx |10 bit|0000_01xx xxxx_xxxx|
23
- |[d,c,b,] |1111_0xxx 10xx_xxxx 10xx_xxxx|15 bit|1xxx_xxxx xxxx_xxxx|
24
-
25
- Total error states:
26
-
27
- - 2^6 + 2^3 + 2^5 + 2^4 + 2^10 + 2^3 + + 2^9 + 2^15
28
- - 2^4 + 2^6 + 2^5 + 2^4 + 2^10 + 2^9 + 2^15
29
- - 2^5 + 2^6 + 2^5 + 2^10 + 2^9 + 2^15
30
- - 2^6 + 2^6 + 2^10 + 2^9 + 2^15
31
- - 2^7 + 2^9 + 2^10 + 2^15
32
- - 0b1000_0110_1000_000
33
- - 128 + 512 + 1024 + 32_768
34
- - 34_432
35
- - < 2^16
36
-
37
- ### utf8/module.f.mjs
38
-
39
- ```js
40
- /** @type {(input: List<u8|null>) => List<i32>} */
41
- const toCodePointList
42
-
43
- /** @type {(input: List<i32>) => List<u8>} */
44
- const fromCodePointList
45
- ```
46
-
47
- ## UTF-16
48
-
49
- Requirement: no loss for UTF16 => codepoint => UTF16
50
-
51
- 0xD800..0xDFFF
52
- 0b_1101_1000_0000_0000
53
- 0b_1101_1111_1111_1111
54
-
55
- 0b_1101_1xxx_xxxx_xxxx : 11 bits
56
-
57
- - first : 0xD800: 0b_1101_10xx_xxxx_xxxx : 10 bit
58
- - second: 0xDC00: 0b_1101_11xx_xxxx_xxxx : 10 bit
59
-
60
- |utf16 |utf16 code |size |codepoint |
61
- |---------|---------------------------------------|------|------------------------------------------------|
62
- |[a] |xxxx_xxxx_xxxx_xxxx |16 bit|0000_xxxx_xxxx_xxxx_xxxx |
63
- |[b,a] |1101_10xx_xxxx_xxxx 1101_11xx_xxxx_xxxx|20 bit|xxxx_xxxx_xxxx_xxxx_xxxx + 1_0000_0000_0000_0000|
64
-
65
- |utf16 error|utf16 code |size |codepoint |
66
- |-----------|-------------------|------|-------------------|
67
- |[e] |1101_11xx_xxxx_xxxx|10 bit|1101_11xx_xxxx_xxxx|
68
- |[b,] |1101_10xx_xxxx_xxxx|10 bit|1101_10xx_xxxx_xxxx|
69
-
70
- Total error states: 11 bit
71
-
72
- ### utf16/module.f.mjs
73
-
74
- ```js
75
- /** @type {(input: List<u16|null>) => List<i32>} */
76
- const toCodePointList
77
-
78
- /** @type {(input: List<i32>) => List<u16>} */
79
- const fromCodePointList
80
-
81
- /** @type {(input: string) => List<u16>} */
82
- const stringToList
83
-
84
- /** @type {(input: List<u16>) => string} */
85
- const listToString
86
- ```
87
-
88
- UTF-16 => CP => UTF-8 => CP = UTF-16
89
-
90
- ## Example
91
-
92
- - UTF-16:
93
- - 1101_11xx_xxxx_xxxx
94
- - 1101_11xx_xxxx_xxxx
95
- - CP:
96
- - 1000_0000_0000_0000_1101_11xx_xxxx_xxxx
97
- - 1000_0000_0000_0000_1101_11xx_xxxx_xxxx
98
- - UTF-8:
99
- - 1111_0.101
100
- - 10.11_xxxx
101
- - 10xx_xxxx
102
- - 1111_0.101
103
- - 10.11_xxxx
104
- - 10xx_xxxx
105
- - CP:
106
- - 1000_0000_0000_0000_1101_11xx_xxxx_xxxx
107
- - 1000_0000_0000_0000_1101_11xx_xxxx_xxxx
108
- - UTF-16:
109
- - 1101_11xx_xxxx_xxxx
110
- - 1101_11xx_xxxx_xxxx
@@ -1,222 +0,0 @@
1
- import * as _range from '../../types/range/module.f.ts'
2
-
3
- const at
4
- : (s: string) => (i: number) => number
5
- = s => i => {
6
- const r = s.codePointAt(i)
7
- if (r === void 0) { throw s }
8
- return r
9
- }
10
-
11
- export const one
12
- : (s: string) => number
13
- = s => at(s)(0)
14
-
15
- export const range
16
- : (s: string) => _range.Range
17
- = s => {
18
- const f = at(s)
19
- const f0 = f(0)
20
- if (s.length === 1) { return [f0, f0] }
21
- return [f0, f(1)]
22
- }
23
-
24
- export const ascii = {
25
- // 0x00..
26
-
27
- /** @readonly 0x08 */
28
- backspace: one('\b'),
29
-
30
- /** @readonly 0x09 */
31
- ht: one('\t'),
32
-
33
- /** @readonly 0x0A */
34
- lf: one('\n'),
35
-
36
- /** @readonly 0x0C */
37
- ff: one('\f'),
38
- /** @readonly 0x0D */
39
- cr: one('\r'),
40
-
41
- // 0x20..
42
-
43
- /** @readonly 0x20 */
44
- space: one(' '),
45
-
46
- /** @readonly 0x21 */
47
- exclamationMark: one('!'),
48
-
49
- /** @readonly 0x22 */
50
- quotationMark: one('"'),
51
-
52
- /** @readonly 0x23 */
53
- numberSign: one('#'),
54
-
55
- /** @readonly 0x24 */
56
- dollarSign: one('$'),
57
-
58
- /** @readonly 0x25 */
59
- percentSign: one('%'),
60
-
61
- /** @readonly 0x26 */
62
- ampersand: one('&'),
63
-
64
- /** @readonly 0x27 */
65
- apostrophe: one("'"),
66
-
67
- /** @readonly 0x28 */
68
- leftParenthesis: one('('),
69
-
70
- /** @readonly 0x29 */
71
- rightParenthesis: one(')'),
72
-
73
- /** @readonly 0x2A */
74
- asterisk: one('*'),
75
-
76
- /** @readonly 0x2B */
77
- plusSign: one('+'),
78
-
79
- /** @readonly 0x2C */
80
- comma: one(','),
81
-
82
- /** @readonly 0x2D */
83
- hyphenMinus: one('-'),
84
-
85
- /** @readonly 0x2E */
86
- fullStop: one('.'),
87
-
88
- /** @readonly 0x2F */
89
- solidus: one('/'),
90
-
91
- // 0x30..
92
-
93
- /** @readonly 0x30..0x39 */
94
- digitRange: range('09'),
95
-
96
- /** @readonly 0x30 */
97
- digit0: one('0'),
98
-
99
- /** @readonly 0x31 */
100
- digit1: one('1'),
101
-
102
- /** @readonly 0x32 */
103
- digit2: one('2'),
104
-
105
- /** @readonly 0x33 */
106
- digit3: one('3'),
107
-
108
- /** @readonly 0x34 */
109
- digit4: one('4'),
110
-
111
- /** @readonly 0x35 */
112
- digit5: one('5'),
113
-
114
- /** @readonly 0x36 */
115
- digit6: one('6'),
116
-
117
- /** @readonly 0x37 */
118
- digit7: one('7'),
119
-
120
- /** @readonly 0x38 */
121
- digit8: one('8'),
122
-
123
- /** @readonly 0x39 */
124
- digit9: one('9'),
125
-
126
- /** @readonly 0x3A */
127
- colon: one(':'),
128
-
129
- /** @readonly 0x3B */
130
- semicolon: one(';'),
131
-
132
- /** @readonly 0x3C */
133
- lessThanSign: one('<'),
134
-
135
- /** @readonly 0x3D */
136
- equalsSign: one('='),
137
-
138
- /** @readonly 0x3E */
139
- greaterThanSign: one('>'),
140
-
141
- /** @readonly 0x3F */
142
- questionMark: one('?'),
143
-
144
- // 0x40..
145
-
146
- /** @readonly 0x40 */
147
- commercialAt: one('@'),
148
-
149
- /** @readonly 0x41..0x5A */
150
- latinCapitalLetterRange: range('AZ'),
151
-
152
- /** @readonly 0x41 */
153
- latinCapitalLetterA: one('A'),
154
-
155
- /** @readonly 0x45 */
156
- latinCapitalLetterE: one('E'),
157
-
158
- /** @readonly 0x46 */
159
- latinCapitalLetterF: one('F'),
160
-
161
- /** @readonly 0x5B */
162
- leftSquareBracket: one('['),
163
-
164
- /** @readonly 0x5C */
165
- reverseSolidus: one('\\'),
166
-
167
- /** @readonly 0x5D */
168
- rightSquareBracket: one(']'),
169
-
170
- /** @readonly 0x5E */
171
- circumflexAccent: one('^'),
172
-
173
- /** @readonly 0x5F */
174
- lowLine: one('_'),
175
-
176
- // 0x60..
177
-
178
- /** @readonly 0x60 */
179
- graveAccent: one('`'),
180
-
181
- /** @readonly 0x61..0x7A */
182
- latinSmallLetterRange: range('az'),
183
-
184
- /** @readonly 0x61 */
185
- latinSmallLetterA: one('a'),
186
-
187
- /** @readonly 0x62 */
188
- latinSmallLetterB: one('b'),
189
-
190
- /** @readonly 0x65 */
191
- latinSmallLetterE: one('e'),
192
-
193
- /** @readonly 0x66 */
194
- latinSmallLetterF: one('f'),
195
-
196
- /** @readonly 0x6E */
197
- latinSmallLetterN: one('n'),
198
-
199
- /** @readonly 0x72 */
200
- latinSmallLetterR: one('r'),
201
-
202
- /** @readonly 0x74 */
203
- latinSmallLetterT: one('t'),
204
-
205
- /** @readonly 0x75 */
206
- latinSmallLetterU: one('u'),
207
-
208
- /** @readonly 0x7A */
209
- latinSmallLetterZ: one('z'),
210
-
211
- /** @readonly 0x7B */
212
- leftCurlyBracket: one('{'),
213
-
214
- /** @readonly 0x7C */
215
- verticalLine: one('|'),
216
-
217
- /** @readonly 0x7D */
218
- rightCurlyBracket: one('}'),
219
-
220
- /** @readonly 0x7E */
221
- tilde: one('~'),
222
- }
@@ -1,14 +0,0 @@
1
- import * as _ from './module.f.ts'
2
- const { range } = _
3
- import * as json from '../../json/module.f.ts'
4
- import * as o from '../../types/object/module.f.ts'
5
- const { sort } = o
6
-
7
- const stringify = json.stringify(sort)
8
-
9
- export default {
10
- range: () => {
11
- const r = stringify(range("A"))
12
- if (r !== '[65,65]') { throw r }
13
- }
14
- }
package/text/module.f.ts DELETED
@@ -1,30 +0,0 @@
1
- import * as list from '../types/list/module.f.ts'
2
- const { flatMap } = list
3
-
4
- export type Block = ItemThunk|ItemArray
5
-
6
- type ItemArray = readonly Item[]
7
-
8
- type ItemThunk = () => list.List<Item>
9
-
10
- export type Item = string|ItemArray|ItemThunk
11
-
12
- export const flat
13
- : (indent: string) => (text: Block) => list.List<string>
14
- = indent => {
15
-
16
- const f
17
- : (prefix: string) => (text: Block) => list.List<string>
18
- = prefix => {
19
- const g
20
- : (item: Item) => list.List<string>
21
- = item => typeof (item) === 'string' ? [`${prefix}${item}`] : f(`${prefix}${indent}`)(item)
22
- return flatMap(g)
23
- }
24
-
25
- return f('')
26
- }
27
-
28
- export const curly
29
- : (type: string) => (name: string) => (body: Block) => Block
30
- = type => name => body => [`${type} ${name}`, '{', body, '}']
@@ -1,3 +0,0 @@
1
- # SGR (Select Graphic Rendition) parameters
2
-
3
- https://en.wikipedia.org/wiki/ANSI_escape_code#SGR_(Select_Graphic_Rendition)_parameters
@@ -1,13 +0,0 @@
1
- /**
2
- * https://en.wikipedia.org/wiki/ANSI_escape_code#SGR
3
- */
4
- export const sgr
5
- : (c: number) => string
6
- = c => `\x1b[${c.toString()}m`
7
-
8
- export const codes = {
9
- reset: sgr(0),
10
- bold: sgr(1),
11
- fgRed: sgr(31),
12
- fgGreen: sgr(32),
13
- }
package/text/test.f.ts DELETED
@@ -1,19 +0,0 @@
1
- import * as _ from './module.f.ts'
2
- import * as string from '../types/string/module.f.ts'
3
- const { join } = string
4
-
5
- export default () => {
6
- const text
7
- : _.Block
8
- = [
9
- 'a',
10
- 'b',
11
- () => [
12
- 'c',
13
- () => ['d'],
14
- ],
15
- 'e',
16
- ]
17
- const result = join('\n')(_.flat(':')(text))
18
- if (result !== 'a\nb\n:c\n::d\ne') { throw result }
19
- }