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,461 +0,0 @@
1
- import * as parser from './module.f.ts'
2
- import * as tokenizer from '../tokenizer/module.f.ts'
3
- import * as list from '../../types/list/module.f.ts'
4
- const { toArray } = list
5
- import * as o from '../../types/object/module.f.ts'
6
- const { sort } = o
7
- import * as encoding from '../../text/utf16/module.f.ts'
8
- import * as djsSerializer from '../serializer/module.f.ts'
9
- const { djsModuleStringify } = djsSerializer
10
-
11
- const tokenizeString
12
- : (s: string) => readonly tokenizer.DjsToken[]
13
- = s => toArray(tokenizer.tokenize(encoding.stringToList(s)))
14
-
15
- const stringifyDjsModule = djsModuleStringify(sort)
16
-
17
- export default {
18
- valid: [
19
- () => {
20
- const tokenList = tokenizeString('export default null')
21
- const obj = parser.parse(tokenList)
22
- if (obj[0] !== 'ok') { throw obj }
23
- const result = stringifyDjsModule(obj[1])
24
- if (result !== 'export default null') { throw result }
25
- },
26
- () => {
27
- const tokenList = tokenizeString('export default true')
28
- const obj = parser.parse(tokenList)
29
- if (obj[0] !== 'ok') { throw obj }
30
- const result = stringifyDjsModule(obj[1])
31
- if (result !== 'export default true') { throw result }
32
- },
33
- () => {
34
- const tokenList = tokenizeString('export default false')
35
- const obj = parser.parse(tokenList)
36
- if (obj[0] !== 'ok') { throw obj }
37
- const result = stringifyDjsModule(obj[1])
38
- if (result !== 'export default false') { throw result }
39
- },
40
- () => {
41
- const tokenList = tokenizeString('export default undefined')
42
- const obj = parser.parse(tokenList)
43
- if (obj[0] !== 'ok') { throw obj }
44
- const result = stringifyDjsModule(obj[1])
45
- if (result !== 'export default undefined') { throw result }
46
- },
47
- () => {
48
- const tokenList = tokenizeString('export default 0.1')
49
- const obj = parser.parse(tokenList)
50
- if (obj[0] !== 'ok') { throw obj }
51
- const result = stringifyDjsModule(obj[1])
52
- if (result !== 'export default 0.1') { throw result }
53
- },
54
- () => {
55
- const tokenList = tokenizeString('export default 1.1e+2')
56
- const obj = parser.parse(tokenList)
57
- if (obj[0] !== 'ok') { throw obj }
58
- const result = stringifyDjsModule(obj[1])
59
- if (result !== 'export default 110') { throw result }
60
- },
61
- () => {
62
- const tokenList = tokenizeString('export default "abc"')
63
- const obj = parser.parse(tokenList)
64
- if (obj[0] !== 'ok') { throw obj }
65
- const result = stringifyDjsModule(obj[1])
66
- if (result !== 'export default "abc"') { throw result }
67
- },
68
- () => {
69
- const tokenList = tokenizeString('export default []')
70
- const obj = parser.parse(tokenList)
71
- if (obj[0] !== 'ok') { throw obj }
72
- const result = stringifyDjsModule(obj[1])
73
- if (result !== 'export default []') { throw result }
74
- },
75
- () => {
76
- const tokenList = tokenizeString('export default [1]')
77
- const obj = parser.parse(tokenList)
78
- if (obj[0] !== 'ok') { throw obj }
79
- const result = stringifyDjsModule(obj[1])
80
- if (result !== 'export default [1]') { throw result }
81
- },
82
- () => {
83
- const tokenList = tokenizeString('export default [[]]')
84
- const obj = parser.parse(tokenList)
85
- if (obj[0] !== 'ok') { throw obj }
86
- const result = stringifyDjsModule(obj[1])
87
- if (result !== 'export default [[]]') { throw result }
88
- },
89
- () => {
90
- const tokenList = tokenizeString('export default [0,[1,[2,[]]],3]')
91
- const obj = parser.parse(tokenList)
92
- if (obj[0] !== 'ok') { throw obj }
93
- const result = stringifyDjsModule(obj[1])
94
- if (result !== 'export default [0,[1,[2,[]]],3]') { throw result }
95
- },
96
- () => {
97
- const tokenList = tokenizeString('export default {}')
98
- const obj = parser.parse(tokenList)
99
- if (obj[0] !== 'ok') { throw obj }
100
- const result = stringifyDjsModule(obj[1])
101
- if (result !== 'export default {}') { throw result }
102
- },
103
- () => {
104
- const tokenList = tokenizeString('export default [{}]')
105
- const obj = parser.parse(tokenList)
106
- if (obj[0] !== 'ok') { throw obj }
107
- const result = stringifyDjsModule(obj[1])
108
- if (result !== 'export default [{}]') { throw result }
109
- },
110
- () => {
111
- const tokenList = tokenizeString('export default {"a":true,"b":false,"c":null,"d":undefined}')
112
- const obj = parser.parse(tokenList)
113
- if (obj[0] !== 'ok') { throw obj }
114
- const result = stringifyDjsModule(obj[1])
115
- if (result !== 'export default {"a":true,"b":false,"c":null,"d":undefined}') { throw result }
116
- },
117
- () => {
118
- const tokenList = tokenizeString('export default {"a":{"b":{"c":["d"]}}}')
119
- const obj = parser.parse(tokenList)
120
- if (obj[0] !== 'ok') { throw obj }
121
- const result = stringifyDjsModule(obj[1])
122
- if (result !== 'export default {"a":{"b":{"c":["d"]}}}') { throw result }
123
- },
124
- () => {
125
- const tokenList = tokenizeString('export default 1234567890n')
126
- const obj = parser.parse(tokenList)
127
- if (obj[0] !== 'ok') { throw obj }
128
- const result = stringifyDjsModule(obj[1])
129
- if (result !== 'export default 1234567890n') { throw result }
130
- },
131
- () => {
132
- const tokenList = tokenizeString('export default [1234567890n]')
133
- const obj = parser.parse(tokenList)
134
- if (obj[0] !== 'ok') { throw obj }
135
- const result = stringifyDjsModule(obj[1])
136
- if (result !== 'export default [1234567890n]') { throw result }
137
- }
138
- ],
139
- invalid: [
140
- () => {
141
- const tokenList = tokenizeString('export default')
142
- const obj = parser.parse(tokenList)
143
- if (obj[0] !== 'error') { throw obj }
144
- if (obj[1] !== 'unexpected end') { throw obj }
145
- },
146
- () => {
147
- const tokenList = tokenizeString('export default "123')
148
- const obj = parser.parse(tokenList)
149
- if (obj[0] !== 'error') { throw obj }
150
- if (obj[1] !== 'unexpected token') { throw obj }
151
- },
152
- () => {
153
- const tokenList = tokenizeString('export default [,]')
154
- const obj = parser.parse(tokenList)
155
- if (obj[0] !== 'error') { throw obj }
156
- if (obj[1] !== 'unexpected token') { throw obj }
157
- },
158
- () => {
159
- const tokenList = tokenizeString('export default [1 2]')
160
- const obj = parser.parse(tokenList)
161
- if (obj[0] !== 'error') { throw obj }
162
- if (obj[1] !== 'unexpected token') { throw obj }
163
- },
164
- () => {
165
- const tokenList = tokenizeString('export default [1,,2]')
166
- const obj = parser.parse(tokenList)
167
- if (obj[0] !== 'error') { throw obj }
168
- if (obj[1] !== 'unexpected token') { throw obj }
169
- },
170
- () => {
171
- const tokenList = tokenizeString('export default []]')
172
- const obj = parser.parse(tokenList)
173
- if (obj[0] !== 'error') { throw obj }
174
- if (obj[1] !== 'unexpected token') { throw obj }
175
- },
176
- () => {
177
- const tokenList = tokenizeString('export default ["a"')
178
- const obj = parser.parse(tokenList)
179
- if (obj[0] !== 'error') { throw obj }
180
- if (obj[1] !== 'unexpected end') { throw obj }
181
- },
182
- () => {
183
- const tokenList = tokenizeString('export default [1,]')
184
- const obj = parser.parse(tokenList)
185
- if (obj[0] !== 'error') { throw obj }
186
- if (obj[1] !== 'unexpected token') { throw obj }
187
- },
188
- () => {
189
- const tokenList = tokenizeString('export default [,1]')
190
- const obj = parser.parse(tokenList)
191
- if (obj[0] !== 'error') { throw obj }
192
- if (obj[1] !== 'unexpected token') { throw obj }
193
- },
194
- () => {
195
- const tokenList = tokenizeString('export default [:]')
196
- const obj = parser.parse(tokenList)
197
- if (obj[0] !== 'error') { throw obj }
198
- if (obj[1] !== 'unexpected token') { throw obj }
199
- },
200
- () => {
201
- const tokenList = tokenizeString('export default ]')
202
- const obj = parser.parse(tokenList)
203
- if (obj[0] !== 'error') { throw obj }
204
- if (obj[1] !== 'unexpected token') { throw obj }
205
- },
206
- () => {
207
- const tokenList = tokenizeString('export default {,}')
208
- const obj = parser.parse(tokenList)
209
- if (obj[0] !== 'error') { throw obj }
210
- if (obj[1] !== 'unexpected token') { throw obj }
211
- },
212
- () => {
213
- const tokenList = tokenizeString('export default {1:2}')
214
- const obj = parser.parse(tokenList)
215
- if (obj[0] !== 'error') { throw obj }
216
- if (obj[1] !== 'unexpected token') { throw obj }
217
- },
218
- () => {
219
- const tokenList = tokenizeString('export default {"1"2}')
220
- const obj = parser.parse(tokenList)
221
- if (obj[0] !== 'error') { throw obj }
222
- if (obj[1] !== 'unexpected token') { throw obj }
223
- },
224
- () => {
225
- const tokenList = tokenizeString('export default {"1"::2}')
226
- const obj = parser.parse(tokenList)
227
- if (obj[0] !== 'error') { throw obj }
228
- if (obj[1] !== 'unexpected token') { throw obj }
229
- },
230
- () => {
231
- const tokenList = tokenizeString('export default {"1":2,,"3":4')
232
- const obj = parser.parse(tokenList)
233
- if (obj[0] !== 'error') { throw obj }
234
- if (obj[1] !== 'unexpected token') { throw obj }
235
- },
236
- () => {
237
- const tokenList = tokenizeString('export default {}}')
238
- const obj = parser.parse(tokenList)
239
- if (obj[0] !== 'error') { throw obj }
240
- if (obj[1] !== 'unexpected token') { throw obj }
241
- },
242
- () => {
243
- const tokenList = tokenizeString('export default {"1":2')
244
- const obj = parser.parse(tokenList)
245
- if (obj[0] !== 'error') { throw obj }
246
- if (obj[1] !== 'unexpected end') { throw obj }
247
- },
248
- () => {
249
- const tokenList = tokenizeString('export default {"1":2,}')
250
- const obj = parser.parse(tokenList)
251
- if (obj[0] !== 'error') { throw obj }
252
- if (obj[1] !== 'unexpected token') { throw obj }
253
- },
254
- () => {
255
- const tokenList = tokenizeString('export default {,"1":2}')
256
- const obj = parser.parse(tokenList)
257
- if (obj[0] !== 'error') { throw obj }
258
- if (obj[1] !== 'unexpected token') { throw obj }
259
- },
260
- () => {
261
- const tokenList = tokenizeString('export default }')
262
- const obj = parser.parse(tokenList)
263
- if (obj[0] !== 'error') { throw obj }
264
- if (obj[1] !== 'unexpected token') { throw obj }
265
- },
266
- () => {
267
- const tokenList = tokenizeString('export default [{]}')
268
- const obj = parser.parse(tokenList)
269
- if (obj[0] !== 'error') { throw obj }
270
- if (obj[1] !== 'unexpected token') { throw obj }
271
- },
272
- () => {
273
- const tokenList = tokenizeString('export default {[}]')
274
- const obj = parser.parse(tokenList)
275
- if (obj[0] !== 'error') { throw obj }
276
- if (obj[1] !== 'unexpected token') { throw obj }
277
- },
278
- () => {
279
- const tokenList = tokenizeString('export default 10-5')
280
- const obj = parser.parse(tokenList)
281
- if (obj[0] !== 'error') { throw obj }
282
- if (obj[1] !== 'unexpected token') { throw obj }
283
- },
284
- ],
285
- validWhiteSpaces:[
286
- () => {
287
- const tokenList = tokenizeString(' export default [ 0 , 1 , 2 ] ')
288
- const obj = parser.parse(tokenList)
289
- if (obj[0] !== 'ok') { throw obj }
290
- const result = stringifyDjsModule(obj[1])
291
- if (result !== 'export default [0,1,2]') { throw result }
292
- },
293
- () => {
294
- const tokenList = tokenizeString(' export default { "a" : 0 , "b" : 1 } ')
295
- const obj = parser.parse(tokenList)
296
- if (obj[0] !== 'ok') { throw obj }
297
- const result = stringifyDjsModule(obj[1])
298
- if (result !== 'export default {"a":0,"b":1}') { throw result }
299
- },
300
- () => {
301
- const tokenList = tokenizeString('\nexport\ndefault\n[\n0\n,\n1\n,\n2\n]\n')
302
- const obj = parser.parse(tokenList)
303
- if (obj[0] !== 'ok') { throw obj }
304
- const result = stringifyDjsModule(obj[1])
305
- if (result !== 'export default [0,1,2]') { throw result }
306
- },
307
- () => {
308
- const tokenList = tokenizeString('\rexport\rdefault\r{\r"a"\r:\r0\r,\r"b"\r:\r1\r}\r')
309
- const obj = parser.parse(tokenList)
310
- if (obj[0] !== 'ok') { throw obj }
311
- const result = stringifyDjsModule(obj[1])
312
- if (result !== 'export default {"a":0,"b":1}') { throw result }
313
- },
314
- ],
315
- invalidModule:[
316
- () => {
317
- const tokenList = tokenizeString('null')
318
- const obj = parser.parse(tokenList)
319
- if (obj[0] !== 'error') { throw obj }
320
- if (obj[1] !== 'unexpected token') { throw obj }
321
- },
322
- () => {
323
- const tokenList = tokenizeString('module=null')
324
- const obj = parser.parse(tokenList)
325
- if (obj[0] !== 'error') { throw obj }
326
- if (obj[1] !== 'unexpected token') { throw obj }
327
- },
328
- () => {
329
- const tokenList = tokenizeString('export null')
330
- const obj = parser.parse(tokenList)
331
- if (obj[0] !== 'error') { throw obj }
332
- if (obj[1] !== 'unexpected token') { throw obj }
333
- },
334
- () => {
335
- const tokenList = tokenizeString('export default = null')
336
- const obj = parser.parse(tokenList)
337
- if (obj[0] !== 'error') { throw obj }
338
- if (obj[1] !== 'unexpected token') { throw obj }
339
- },
340
- ],
341
- validWithConst:[
342
- () => {
343
- const tokenList = tokenizeString('const a = 1 \n const b = 2 \n export default 3')
344
- const obj = parser.parse(tokenList)
345
- if (obj[0] !== 'ok') { throw obj }
346
- const result = stringifyDjsModule(obj[1])
347
- if (result !== 'const c0 = 1\nconst c1 = 2\nexport default 3') { throw result }
348
- },
349
- () => {
350
- const tokenList = tokenizeString('const a = 1 \n const b = 2 \n export default b')
351
- const obj = parser.parse(tokenList)
352
- if (obj[0] !== 'ok') { throw obj }
353
- const result = stringifyDjsModule(obj[1])
354
- if (result !== 'const c0 = 1\nconst c1 = 2\nexport default c1') { throw result }
355
- },
356
- () => {
357
- const tokenList = tokenizeString('const a = 1 \n const b = 2 \n export default [b,a,b]')
358
- const obj = parser.parse(tokenList)
359
- if (obj[0] !== 'ok') { throw obj }
360
- const result = stringifyDjsModule(obj[1])
361
- if (result !== 'const c0 = 1\nconst c1 = 2\nexport default [c1,c0,c1]') { throw result }
362
- },
363
- () => {
364
- const tokenList = tokenizeString('const a = 1 \n const b = 2 \n export default {"1st":b,"2nd":a,"3rd":b}')
365
- const obj = parser.parse(tokenList)
366
- if (obj[0] !== 'ok') { throw obj }
367
- const result = stringifyDjsModule(obj[1])
368
- if (result !== 'const c0 = 1\nconst c1 = 2\nexport default {"1st":c1,"2nd":c0,"3rd":c1}') { throw result }
369
- },
370
- ],
371
- invalidWithConst:[
372
- () => {
373
- const tokenList = tokenizeString('const a = 1 const b = 2 export default 3')
374
- const obj = parser.parse(tokenList)
375
- if (obj[0] !== 'error') { throw obj }
376
- if (obj[1] !== 'unexpected token') { throw obj }
377
- },
378
- () => {
379
- const tokenList = tokenizeString('const = 1 \n const b = 2 \n export default 3')
380
- const obj = parser.parse(tokenList)
381
- if (obj[0] !== 'error') { throw obj }
382
- if (obj[1] !== 'unexpected token') { throw obj }
383
- },
384
- () => {
385
- const tokenList = tokenizeString('const a = 1 \n const a = 2 \n export default 3')
386
- const obj = parser.parse(tokenList)
387
- if (obj[0] !== 'error') { throw obj }
388
- if (obj[1] !== 'duplicate id') { throw obj }
389
- },
390
- ],
391
- validWithArgs:[
392
- () => {
393
- const tokenList = tokenizeString('import a from "test/test.f.mjs" \n export default a')
394
- const obj = parser.parse(tokenList)
395
- if (obj[0] !== 'ok') { throw obj }
396
- const result = stringifyDjsModule(obj[1])
397
- if (result !== 'import a0 from "test/test.f.mjs"\nexport default a0') { throw result }
398
- },
399
- () => {
400
- const tokenList = tokenizeString('import a from "first/test.f.mjs" \n import b from "second/test.f.mjs" \n export default [b, a, b]')
401
- const obj = parser.parse(tokenList)
402
- if (obj[0] !== 'ok') { throw obj }
403
- const result = stringifyDjsModule(obj[1])
404
- if (result !== 'import a0 from "first/test.f.mjs"\nimport a1 from "second/test.f.mjs"\nexport default [a1,a0,a1]') { throw result }
405
- },
406
- () => {
407
- const tokenList = tokenizeString('import a from "test/test.f.mjs" \n const b = null \n export default [b, a, b]')
408
- const obj = parser.parse(tokenList)
409
- if (obj[0] !== 'ok') { throw obj }
410
- const result = stringifyDjsModule(obj[1])
411
- if (result !== 'import a0 from "test/test.f.mjs"\nconst c0 = null\nexport default [c0,a0,c0]') { throw result }
412
- },
413
- ],
414
- invalidWithArgs:[
415
- () => {
416
- const tokenList = tokenizeString('import a from "test/test.f.mjs" export default a')
417
- const obj = parser.parse(tokenList)
418
- if (obj[0] !== 'error') { throw obj }
419
- if (obj[1] !== 'unexpected token') { throw obj }
420
- },
421
- () => {
422
- const tokenList = tokenizeString('import a from \n export default a')
423
- const obj = parser.parse(tokenList)
424
- if (obj[0] !== 'error') { throw obj }
425
- if (obj[1] !== 'unexpected token') { throw obj }
426
- },
427
- () => {
428
- const tokenList = tokenizeString('import a "test/test.f.mjs" \n export default a')
429
- const obj = parser.parse(tokenList)
430
- if (obj[0] !== 'error') { throw obj }
431
- if (obj[1] !== 'unexpected token') { throw obj }
432
- },
433
- () => {
434
- const tokenList = tokenizeString('import from "test/test.f.mjs" \n export default a')
435
- const obj = parser.parse(tokenList)
436
- if (obj[0] !== 'error') { throw obj }
437
- if (obj[1] !== 'unexpected token') { throw obj }
438
- },
439
- () => {
440
- const tokenList = tokenizeString('import a from "first/test.f.mjs" \n import a from "second/test.f.mjs" \n export default [b, a, b]')
441
- const obj = parser.parse(tokenList)
442
- if (obj[0] !== 'error') { throw obj }
443
- if (obj[1] !== 'duplicate id') { throw obj }
444
- },
445
- () => {
446
- const tokenList = tokenizeString('import a from "test/test.f.mjs" \n const a = null \n export default null')
447
- const obj = parser.parse(tokenList)
448
- if (obj[0] !== 'error') { throw obj }
449
- if (obj[1] !== 'duplicate id') { throw obj }
450
- },
451
- ],
452
- comments: [
453
- () => {
454
- const tokenList = tokenizeString('export //comment \n default /* comment */ null //comment')
455
- const obj = parser.parse(tokenList)
456
- if (obj[0] !== 'ok') { throw obj }
457
- const result = stringifyDjsModule(obj[1])
458
- if (result !== 'export default null') { throw result }
459
- },
460
- ]
461
- }
@@ -1,90 +0,0 @@
1
- import * as list from '../../types/list/module.f.ts'
2
- const { flat, map, entries: listEntries, concat: listConcat, flatMap } = list
3
- import * as string from '../../types/string/module.f.ts'
4
- const { concat } = string
5
- import * as O from '../../types/object/module.f.ts'
6
- import * as f from '../../types/function/module.f.ts'
7
- const { compose, fn } = f
8
- const { entries } = Object
9
- import * as bi from '../../types/bigint/module.f.ts'
10
- const { serialize: bigintSerialize } = bi
11
- import * as j from '../../json/serializer/module.f.ts'
12
- const { objectWrap, arrayWrap, stringSerialize, numberSerialize, nullSerialize, boolSerialize } = j
13
- import * as DjsParser from '../parser/module.f.ts'
14
-
15
- const colon = [':']
16
-
17
- export const undefinedSerialize = ['undefined']
18
-
19
- type Entry = O.Entry<DjsParser.DjsConst>
20
-
21
- type Entries = list.List<Entry>
22
-
23
- type MapEntries = (entries: Entries) => Entries
24
-
25
- const djsConstSerialize
26
- : (mapEntries: MapEntries) => (value: DjsParser.DjsConst) => list.List<string>
27
- = sort => {
28
- const propertySerialize
29
- : (kv: readonly[string, DjsParser.DjsConst]) => list.List<string>
30
- = ([k, v]) => flat([
31
- stringSerialize(k),
32
- colon,
33
- f(v)
34
- ])
35
- const mapPropertySerialize = map(propertySerialize)
36
- const objectSerialize
37
- : (object: DjsParser.DjsObject) => list.List<string>
38
- = fn(entries)
39
- .then(sort)
40
- .then(mapPropertySerialize)
41
- .then(objectWrap)
42
- .result
43
- const f
44
- : (value: DjsParser.DjsConst) => list.List<string>
45
- = value => {
46
- switch (typeof value) {
47
- case 'boolean': { return boolSerialize(value) }
48
- case 'number': { return numberSerialize(value) }
49
- case 'string': { return stringSerialize(value) }
50
- case 'bigint': { return [bigintSerialize(value)] }
51
- default: {
52
- if (value === null) { return nullSerialize }
53
- if (value === undefined) { return undefinedSerialize }
54
- if (value instanceof Array) {
55
- switch (value[0]) {
56
- case 'aref': { return [`a${value[1]}`] }
57
- case 'cref': { return [`c${value[1]}`] }
58
- case 'array': { return arraySerialize(value[1]) }
59
- }
60
- }
61
- return objectSerialize(value)
62
- }
63
- }
64
- }
65
- const arraySerialize = compose(map(f))(arrayWrap)
66
- return f
67
- }
68
-
69
- export const djsModuleStringify
70
- : (mapEntries: MapEntries) => (djsModule: DjsParser.DjsModule) => string
71
- = sort => djsModule => {
72
- const importEntries = listEntries(djsModule[0])
73
- const importSerialize
74
- : (entry: list.Entry<string>) => list.List<string>
75
- = entry => flat([['import a'], numberSerialize(entry[0]), [' from "', entry[1], '"\n']])
76
-
77
- const len = djsModule[1].length
78
- const constEntries = listEntries(djsModule[1])
79
- const moduleEntrySerialize
80
- : (entry: list.Entry<DjsParser.DjsConst>) => list.List<string>
81
- = entry => {
82
- if (entry[0] === len - 1) {
83
- return listConcat(['export default '])(djsConstSerialize(sort)(entry[1]))
84
- }
85
- return flat([['const c'], numberSerialize(entry[0]), [' = '], djsConstSerialize(sort)(entry[1]), ['\n']])
86
- }
87
-
88
- return concat(listConcat(flatMap(importSerialize)(importEntries))(flatMap(moduleEntrySerialize)(constEntries)))
89
- }
90
-
package/djs/test.f.ts DELETED
@@ -1,67 +0,0 @@
1
- import * as json from '../json/module.f.ts'
2
- import * as list from '../types/object/module.f.ts'
3
- const { sort } = list
4
- import * as f from '../types/function/module.f.ts'
5
- const { identity } = f
6
- import * as djs from './module.f.ts'
7
-
8
- export default {
9
- stringify: [
10
- {
11
- sort: () => {
12
- const r = json.setProperty("Hello")(['a'])({})
13
- const x = djs.stringify(sort)(r)
14
- if (x !== '{"a":"Hello"}') { throw x }
15
- },
16
- identity: () => {
17
- const x = djs.stringify(identity)(json.setProperty("Hello")(['a'])({}))
18
- if (x !== '{"a":"Hello"}') { throw x }
19
- },
20
- },
21
- {
22
- sort: () => {
23
- const x = djs.stringify(sort)(json.setProperty("Hello")(['a'])({ c: [], b: 12 }))
24
- if (x !== '{"a":"Hello","b":12,"c":[]}') { throw x }
25
- },
26
- identity: () => {
27
- const x = djs.stringify(identity)(json.setProperty("Hello")(['a'])({ c: [], b: 12 }))
28
- if (x !== '{"c":[],"b":12,"a":"Hello"}') { throw x }
29
- },
30
- },
31
- {
32
- sort: () => {
33
- const _0 = { a: { y: [24] }, c: [], b: 12 }
34
- const _1 = json.setProperty("Hello")(['a', 'x'])(_0)
35
- const _2 = djs.stringify(sort)(_1)
36
- if (_2 !== '{"a":{"x":"Hello","y":[24]},"b":12,"c":[]}') { throw _2 }
37
- },
38
- identity: () => {
39
- const _0 = { a: { y: [24] }, c: [], b: 12 }
40
- const _1 = json.setProperty("Hello")(['a', 'x'])(_0)
41
- const _2 = djs.stringify(identity)(_1)
42
- if (_2 !== '{"a":{"y":[24],"x":"Hello"},"c":[],"b":12}') { throw _2 }
43
- }
44
- },
45
- {
46
- stringify: () => {
47
- const bi = 1234567890n
48
- const result = djs.stringify(sort)(bi)
49
- if (result !== '1234567890n') { throw result }
50
- }
51
- },
52
- {
53
- stringify: () => {
54
- const arr = [0n, 1, 2n]
55
- const result = djs.stringify(sort)(arr)
56
- if (result !== '[0n,1,2n]') { throw result }
57
- }
58
- },
59
- {
60
- stringify: () => {
61
- const obj = {"a": 0n, "b": 1, "c": 2n}
62
- const result = djs.stringify(sort)(obj)
63
- if (result !== '{"a":0n,"b":1,"c":2n}') { throw result }
64
- }
65
- }
66
- ]
67
- }