functionalscript 0.3.4 → 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 -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
@@ -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,219 +0,0 @@
1
- import { type 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 = (s: string): number => at(s)(0)
12
-
13
- export const range
14
- : (s: string) => Range
15
- = s => {
16
- const f = at(s)
17
- const f0 = f(0)
18
- if (s.length === 1) { return [f0, f0] }
19
- return [f0, f(1)]
20
- }
21
-
22
- // 0x00..
23
-
24
- /** 0x08 */
25
- export const backspace: number = one('\b')
26
-
27
- /** 0x09 */
28
- export const ht: number = one('\t')
29
-
30
- /** 0x0A */
31
- export const lf: number = one('\n')
32
-
33
- /** 0x0C */
34
- export const ff: number = one('\f')
35
-
36
- /** 0x0D */
37
- export const cr: number = one('\r')
38
-
39
- // 0x20..
40
-
41
- /** 0x20 */
42
- export const space: number = one(' ')
43
-
44
- /** 0x21 */
45
- export const exclamationMark: number = one('!')
46
-
47
- /** 0x22 */
48
- export const quotationMark: number = one('"')
49
-
50
- /** 0x23 */
51
- export const numberSign: number = one('#')
52
-
53
- /** 0x24 */
54
- export const dollarSign: number = one('$')
55
-
56
- /** 0x25 */
57
- export const percentSign: number = one('%')
58
-
59
- /** 0x26 */
60
- export const ampersand: number = one('&')
61
-
62
- /** 0x27 */
63
- export const apostrophe: number = one("'")
64
-
65
- /** 0x28 */
66
- export const leftParenthesis: number = one('(')
67
-
68
- /** 0x29 */
69
- export const rightParenthesis: number = one(')')
70
-
71
- /** 0x2A */
72
- export const asterisk: number = one('*')
73
-
74
- /** 0x2B */
75
- export const plusSign: number = one('+')
76
-
77
- /** 0x2C */
78
- export const comma: number = one(',')
79
-
80
- /** 0x2D */
81
- export const hyphenMinus: number = one('-')
82
-
83
- /** 0x2E */
84
- export const fullStop: number = one('.')
85
-
86
- /** 0x2F */
87
- export const solidus: number = one('/')
88
-
89
- // 0x30..
90
-
91
- /** 0x30..0x39 */
92
- export const digitRange: Range = range('09')
93
-
94
- /** 0x30 */
95
- export const digit0: number = one('0')
96
-
97
- /** 0x31 */
98
- export const digit1: number = one('1')
99
-
100
- /** 0x32 */
101
- export const digit2: number = one('2')
102
-
103
- /** 0x33 */
104
- export const digit3: number = one('3')
105
-
106
- /** 0x34 */
107
- export const digit4: number = one('4')
108
-
109
- /** 0x35 */
110
- export const digit5: number = one('5')
111
-
112
- /** 0x36 */
113
- export const digit6: number = one('6')
114
-
115
- /** 0x37 */
116
- export const digit7: number = one('7')
117
-
118
- /** 0x38 */
119
- export const digit8: number = one('8')
120
-
121
- /** 0x39 */
122
- export const digit9: number = one('9')
123
-
124
- /** 0x3A */
125
- export const colon: number = one(':')
126
-
127
- /** 0x3B */
128
- export const semicolon: number = one(';')
129
-
130
- /** 0x3C */
131
- export const lessThanSign: number = one('<')
132
-
133
- /** 0x3D */
134
- export const equalsSign: number = one('=')
135
-
136
- /** 0x3E */
137
- export const greaterThanSign: number = one('>')
138
-
139
- /** 0x3F */
140
- export const questionMark: number = one('?')
141
-
142
- // 0x40..
143
-
144
- /** 0x40 */
145
- export const commercialAt: number = one('@')
146
-
147
- /** 0x41..0x5A */
148
- export const latinCapitalLetterRange: Range = range('AZ')
149
-
150
- /** 0x41 */
151
- export const latinCapitalLetterA: number = one('A')
152
-
153
- /** 0x45 */
154
- export const latinCapitalLetterE: number = one('E')
155
-
156
- /** 0x46 */
157
- export const latinCapitalLetterF: number = one('F')
158
-
159
- /** 0x5B */
160
- export const leftSquareBracket: number = one('[')
161
-
162
- /** 0x5C */
163
- export const reverseSolidus: number = one('\\')
164
-
165
- /** 0x5D */
166
- export const rightSquareBracket: number = one(']')
167
-
168
- /** 0x5E */
169
- export const circumflexAccent: number = one('^')
170
-
171
- /** 0x5F */
172
- export const lowLine: number = one('_')
173
-
174
- // 0x60..
175
-
176
- /** 0x60 */
177
- export const graveAccent: number = one('`')
178
-
179
- /** 0x61..0x7A */
180
- export const latinSmallLetterRange: Range = range('az')
181
-
182
- /** 0x61 */
183
- export const latinSmallLetterA: number = one('a')
184
-
185
- /** 0x62 */
186
- export const latinSmallLetterB: number = one('b')
187
-
188
- /** 0x65 */
189
- export const latinSmallLetterE: number = one('e')
190
-
191
- /** 0x66 */
192
- export const latinSmallLetterF: number = one('f')
193
-
194
- /** 0x6E */
195
- export const latinSmallLetterN: number = one('n')
196
-
197
- /** 0x72 */
198
- export const latinSmallLetterR: number = one('r')
199
-
200
- /** 0x74 */
201
- export const latinSmallLetterT: number = one('t')
202
-
203
- /** 0x75 */
204
- export const latinSmallLetterU: number = one('u')
205
-
206
- /** 0x7A */
207
- export const latinSmallLetterZ: number = one('z')
208
-
209
- /** 0x7B */
210
- export const leftCurlyBracket: number = one('{')
211
-
212
- /** 0x7C */
213
- export const verticalLine: number = one('|')
214
-
215
- /** 0x7D */
216
- export const rightCurlyBracket: number = one('}')
217
-
218
- /** 0x7E */
219
- export const tilde: number = one('~')
@@ -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,11 +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 reset: string = sgr(0)
9
- export const bold: string = sgr(1)
10
- export const fgRed: string = sgr(31)
11
- export const fgGreen: string = sgr(32)
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
- }