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
package/json/module.f.ts DELETED
@@ -1,94 +0,0 @@
1
- import * as list from '../types/list/module.f.ts'
2
- const { next, flat, map } = list
3
- import * as string from '../types/string/module.f.ts'
4
- const { concat } = string
5
- import * as object from '../types/object/module.f.ts'
6
- const { at } = object
7
- import * as f from '../types/function/module.f.ts'
8
- const { compose, fn } = f
9
- const { entries } = Object
10
- import * as s from './serializer/module.f.ts'
11
- const { objectWrap, arrayWrap, stringSerialize, numberSerialize, nullSerialize, boolSerialize } = s
12
-
13
- type Object = {
14
- readonly [k in string]: Unknown
15
- }
16
-
17
- type Array = readonly Unknown[]
18
-
19
- export type Unknown = Object|boolean|string|number|null|Array
20
-
21
- export const setProperty
22
- : (value: Unknown) => (path: list.List<string>) => (src: Unknown) => Unknown
23
- = value => {
24
- const f
25
- : (path: list.List<string>) => (src: Unknown) => Unknown
26
- = path => src => {
27
- const result = next(path)
28
- if (result === null) { return value }
29
- const srcObject = (src === null || typeof src !== 'object' || src instanceof Array) ? {} : src
30
- const { first, tail } = result
31
- return { ...srcObject, [first]: f(tail)(at(first)(srcObject)) }
32
- }
33
- return f
34
- }
35
-
36
- const colon = [':']
37
-
38
- export type Entry = object.Entry<Unknown>
39
-
40
- type Entries = list.List<Entry>
41
-
42
- type MapEntries = (entries: Entries) => Entries
43
-
44
- export const serialize
45
- : (mapEntries: MapEntries) => (value: Unknown) => list.List<string>
46
- = sort => {
47
- const propertySerialize
48
- : (kv: readonly[string, Unknown]) => list.List<string>
49
- = ([k, v]) => flat([
50
- stringSerialize(k),
51
- colon,
52
- f(v)
53
- ])
54
- const mapPropertySerialize = map(propertySerialize)
55
- const objectSerialize
56
- : (object: Object) => list.List<string>
57
- = fn(entries)
58
- .then(sort)
59
- .then(mapPropertySerialize)
60
- .then(objectWrap)
61
- .result
62
- const f
63
- : (value: Unknown) => list.List<string>
64
- = value => {
65
- switch (typeof value) {
66
- case 'boolean': { return boolSerialize(value) }
67
- case 'number': { return numberSerialize(value) }
68
- case 'string': { return stringSerialize(value) }
69
- default: {
70
- if (value === null) { return nullSerialize }
71
- if (value instanceof Array) { return arraySerialize(value) }
72
- return objectSerialize(value)
73
- }
74
- }
75
- }
76
- const arraySerialize = compose(map(f))(arrayWrap)
77
- return f
78
- }
79
-
80
- /**
81
- * The standard `JSON.stringify` rules determined by
82
- * https://262.ecma-international.org/6.0/#sec-ordinary-object-internal-methods-and-internal-slots-ownpropertykeys
83
- */
84
- export const stringify
85
- : (mapEntries: MapEntries) => (value: Unknown) => string
86
- = sort => compose(serialize(sort))(concat)
87
-
88
- export const parse
89
- : (value: string) => Unknown
90
- = JSON.parse
91
-
92
- export const isObject
93
- = (value: Unknown): value is Object =>
94
- typeof value === 'object' && value !== null && !(value instanceof Array)
@@ -1,221 +0,0 @@
1
- import * as result from '../../types/result/module.f.ts'
2
- import * as list from '../../types/list/module.f.ts'
3
- const { fold, first, drop, toArray } = list
4
- import * as Operator from '../../types/function/operator/module.f.ts'
5
- import * as Tokenizer from '../tokenizer/module.f.ts'
6
- import * as map from '../../types/map/module.f.ts'
7
- const { setReplace } = map
8
- import * as Json from '../module.f.ts'
9
- import * as o from '../../types/object/module.f.ts'
10
- const { fromMap } = o
11
-
12
- type JsonObject = {
13
- readonly kind: 'object'
14
- readonly values: map.Map<Json.Unknown>
15
- readonly key: string
16
- }
17
-
18
- type JsonArray = {
19
- readonly kind: 'array'
20
- readonly values: list.List<Json.Unknown>
21
- }
22
-
23
- type JsonStackElement = |
24
- JsonObject |
25
- JsonArray
26
-
27
- type JsonStack = list.List<JsonStackElement>
28
-
29
- type StateParse = {
30
- readonly status: '' | '[' | '[v' | '[,' | '{' | '{k' | '{:' | '{v' | '{,'
31
- readonly top: JsonStackElement | null
32
- readonly stack: JsonStack
33
- }
34
-
35
- type StateResult = {
36
- readonly status: 'result'
37
- readonly value: Json.Unknown
38
- }
39
-
40
- type StateError = {
41
- readonly status: 'error'
42
- readonly message: string
43
- }
44
-
45
- type JsonState = |
46
- StateParse |
47
- StateResult |
48
- StateError
49
-
50
- const addKeyToObject
51
- : (obj: JsonObject) => (key: string) => JsonObject
52
- = obj => key => ({ kind: 'object', values: obj.values, key: key })
53
-
54
- const addValueToObject
55
- : (obj: JsonObject) => (value: Json.Unknown) => JsonObject
56
- = obj => value => ({ kind: 'object', values: setReplace(obj.key)(value)(obj.values), key: '' })
57
-
58
- const addToArray
59
- : (array: JsonArray) => (value: Json.Unknown) => JsonArray
60
- = array => value => ({ kind: 'array', values: list.concat(array.values)([value]) })
61
-
62
- const pushKey
63
- : (state: StateParse) => (key: string) => JsonState
64
- = state => value => {
65
- if (state.top?.kind === 'object') { return { status: '{k', top: addKeyToObject(state.top)(value), stack: state.stack } }
66
- return { status: 'error', message: 'error' }
67
- }
68
-
69
- const pushValue
70
- : (state: StateParse) => (value: Json.Unknown) => JsonState
71
- = state => value => {
72
- if (state.top === null) { return { status: 'result', value: value } }
73
- if (state.top.kind === 'array') { return { status: '[v', top: addToArray(state.top)(value), stack: state.stack } }
74
- return { status: '{v', top: addValueToObject(state.top)(value), stack: state.stack }
75
- }
76
-
77
- const startArray
78
- : (state: StateParse) => JsonState
79
- = state => {
80
- const newStack = state.top === null ? null : { first: state.top, tail: state.stack }
81
- return { status: '[', top: { kind: 'array', values: null }, stack: newStack }
82
- }
83
-
84
- const endArray
85
- : (state: StateParse) => JsonState
86
- = state => {
87
- const array = state.top !== null ? toArray(state.top.values) : null
88
- const newState
89
- : StateParse
90
- = { status: '', top: first(null)(state.stack), stack: drop(1)(state.stack) }
91
- return pushValue(newState)(array)
92
- }
93
-
94
- const startObject
95
- : (state: StateParse) => JsonState
96
- = state => {
97
- const newStack = state.top === null ? null : { first: state.top, tail: state.stack }
98
- return { status: '{', top: { kind: 'object', values: null, key: '' }, stack: newStack }
99
- }
100
-
101
- const endObject
102
- : (state: StateParse) => JsonState
103
- = state => {
104
- const obj = state.top?.kind === 'object' ? fromMap(state.top.values) : null
105
- const newState
106
- : StateParse
107
- = { status: '', top: first(null)(state.stack), stack: drop(1)(state.stack) }
108
- return pushValue(newState)(obj)
109
- }
110
-
111
- const tokenToValue
112
- : (token: Tokenizer.JsonToken) => Json.Unknown
113
- = token => {
114
- switch (token.kind) {
115
- case 'null': return null
116
- case 'false': return false
117
- case 'true': return true
118
- case 'number': return parseFloat(token.value)
119
- case 'string': return token.value
120
- default: return null
121
- }
122
- }
123
-
124
- const isValueToken
125
- : (token: Tokenizer.JsonToken) => boolean
126
- = token => {
127
- switch (token.kind) {
128
- case 'null':
129
- case 'false':
130
- case 'true':
131
- case 'number':
132
- case 'string': return true
133
- default: return false
134
- }
135
- }
136
-
137
- const parseValueOp
138
- : (token: Tokenizer.JsonToken) => (state: StateParse) => JsonState
139
- = token => state => {
140
- if (isValueToken(token)) { return pushValue(state)(tokenToValue(token)) }
141
- if (token.kind === '[') { return startArray(state) }
142
- if (token.kind === '{') { return startObject(state) }
143
- return { status: 'error', message: 'unexpected token' }
144
- }
145
-
146
- const parseArrayStartOp
147
- : (token: Tokenizer.JsonToken) => (state: StateParse) => JsonState
148
- = token => state => {
149
- if (isValueToken(token)) { return pushValue(state)(tokenToValue(token)) }
150
- if (token.kind === '[') { return startArray(state) }
151
- if (token.kind === ']') { return endArray(state) }
152
- if (token.kind === '{') { return startObject(state) }
153
- return { status: 'error', message: 'unexpected token' }
154
- }
155
-
156
- const parseArrayValueOp
157
- : (token: Tokenizer.JsonToken) => (state: StateParse) => JsonState
158
- = token => state => {
159
- if (token.kind === ']') { return endArray(state) }
160
- if (token.kind === ',') { return { status: '[,', top: state.top, stack: state.stack } }
161
- return { status: 'error', message: 'unexpected token' }
162
- }
163
-
164
- const parseObjectStartOp
165
- : (token: Tokenizer.JsonToken) => (state: StateParse) => JsonState
166
- = token => state => {
167
- if (token.kind === 'string') { return pushKey(state)(token.value) }
168
- if (token.kind === '}') { return endObject(state) }
169
- return { status: 'error', message: 'unexpected token' }
170
- }
171
-
172
- const parseObjectKeyOp
173
- : (token: Tokenizer.JsonToken) => (state: StateParse) => JsonState
174
- = token => state => {
175
- if (token.kind === ':') { return { status: '{:', top: state.top, stack: state.stack } }
176
- return { status: 'error', message: 'unexpected token' }
177
- }
178
-
179
- const parseObjectNextOp
180
- : (token: Tokenizer.JsonToken) => (state: StateParse) => JsonState
181
- = token => state => {
182
- if (token.kind === '}') { return endObject(state) }
183
- if (token.kind === ',') { return { status: '{,', top: state.top, stack: state.stack } }
184
- return { status: 'error', message: 'unexpected token' }
185
- }
186
-
187
- const parseObjectCommaOp
188
- : (token: Tokenizer.JsonToken) => (state: StateParse) => JsonState
189
- = token => state => {
190
- if (token.kind === 'string') { return pushKey(state)(token.value) }
191
- return { status: 'error', message: 'unexpected token' }
192
- }
193
-
194
- const foldOp
195
- : Operator.Fold<Tokenizer.JsonToken, JsonState>
196
- = token => state => {
197
- switch (state.status) {
198
- case 'result': return { status: 'error', message: 'unexpected token' }
199
- case 'error': return { status: 'error', message: state.message }
200
- case '': return parseValueOp(token)(state)
201
- case '[': return parseArrayStartOp(token)(state)
202
- case '[v': return parseArrayValueOp(token)(state)
203
- case '[,': return parseValueOp(token)(state)
204
- case '{': return parseObjectStartOp(token)(state)
205
- case '{k': return parseObjectKeyOp(token)(state)
206
- case '{:': return parseValueOp(token)(state)
207
- case '{v': return parseObjectNextOp(token)(state)
208
- case '{,': return parseObjectCommaOp(token)(state)
209
- }
210
- }
211
-
212
- export const parse
213
- : (tokenList: list.List<Tokenizer.JsonToken>) => result.Result<Json.Unknown, string>
214
- = tokenList => {
215
- const state = fold(foldOp)({ status: '', top: null, stack: null })(tokenList)
216
- switch (state.status) {
217
- case 'result': return result.ok(state.value)
218
- case 'error': return result.error(state.message)
219
- default: return result.error('unexpected end')
220
- }
221
- }
@@ -1,255 +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 json from '../module.f.ts'
6
- import * as o from '../../types/object/module.f.ts'
7
- const { sort } = o
8
- import * as encoding from '../../text/utf16/module.f.ts'
9
-
10
- const tokenizeString
11
- : (s: string) => readonly tokenizer.JsonToken[]
12
- = s => toArray(tokenizer.tokenize(encoding.stringToList(s)))
13
-
14
- const stringify = json.stringify(sort)
15
-
16
- export default {
17
- valid: [
18
- () => {
19
- const tokenList = tokenizeString('null')
20
- const obj = parser.parse(tokenList)
21
- const result = stringify(obj)
22
- if (result !== '["ok",null]') { throw result }
23
- },
24
- () => {
25
- const tokenList = tokenizeString('true')
26
- const obj = parser.parse(tokenList)
27
- const result = stringify(obj)
28
- if (result !== '["ok",true]') { throw result }
29
- },
30
- () => {
31
- const tokenList = tokenizeString('false')
32
- const obj = parser.parse(tokenList)
33
- const result = stringify(obj)
34
- if (result !== '["ok",false]') { throw result }
35
- },
36
- () => {
37
- const tokenList = tokenizeString('0.1')
38
- const obj = parser.parse(tokenList)
39
- const result = stringify(obj)
40
- if (result !== '["ok",0.1]') { throw result }
41
- },
42
- () => {
43
- const tokenList = tokenizeString('1.1e+2')
44
- const obj = parser.parse(tokenList)
45
- const result = stringify(obj)
46
- if (result !== '["ok",110]') { throw result }
47
- },
48
- () => {
49
- const tokenList = tokenizeString('"abc"')
50
- const obj = parser.parse(tokenList)
51
- const result = stringify(obj)
52
- if (result !== '["ok","abc"]') { throw result }
53
- },
54
- () => {
55
- const tokenList = tokenizeString('[]')
56
- const obj = parser.parse(tokenList)
57
- const result = stringify(obj)
58
- if (result !== '["ok",[]]') { throw result }
59
- },
60
- () => {
61
- const tokenList = tokenizeString('[1]')
62
- const obj = parser.parse(tokenList)
63
- const result = stringify(obj)
64
- if (result !== '["ok",[1]]') { throw result }
65
- },
66
- () => {
67
- const tokenList = tokenizeString('[[]]')
68
- const obj = parser.parse(tokenList)
69
- const result = stringify(obj)
70
- if (result !== '["ok",[[]]]') { throw result }
71
- },
72
- () => {
73
- const tokenList = tokenizeString('[0,[1,[2,[]]],3]')
74
- const obj = parser.parse(tokenList)
75
- const result = stringify(obj)
76
- if (result !== '["ok",[0,[1,[2,[]]],3]]') { throw result }
77
- },
78
- () => {
79
- const tokenList = tokenizeString('{}')
80
- const obj = parser.parse(tokenList)
81
- const result = stringify(obj)
82
- if (result !== '["ok",{}]') { throw result }
83
- },
84
- () => {
85
- const tokenList = tokenizeString('[{}]')
86
- const obj = parser.parse(tokenList)
87
- const result = stringify(obj)
88
- if (result !== '["ok",[{}]]') { throw result }
89
- },
90
- () => {
91
- const tokenList = tokenizeString('{"a":true,"b":false,"c":null}')
92
- const obj = parser.parse(tokenList)
93
- const result = stringify(obj)
94
- if (result !== '["ok",{"a":true,"b":false,"c":null}]') { throw result }
95
- },
96
- () => {
97
- const tokenList = tokenizeString('{"a":{"b":{"c":["d"]}}}')
98
- const obj = parser.parse(tokenList)
99
- const result = stringify(obj)
100
- if (result !== '["ok",{"a":{"b":{"c":["d"]}}}]') { throw result }
101
- }
102
- ],
103
- invalid: [
104
- () => {
105
- const tokenList = tokenizeString('')
106
- const obj = parser.parse(tokenList)
107
- const result = stringify(obj)
108
- if (result !== '["error","unexpected end"]') { throw result }
109
- },
110
- () => {
111
- const tokenList = tokenizeString('"123')
112
- const obj = parser.parse(tokenList)
113
- const result = stringify(obj)
114
- if (result !== '["error","unexpected token"]') { throw result }
115
- },
116
- () => {
117
- const tokenList = tokenizeString('[,]')
118
- const obj = parser.parse(tokenList)
119
- const result = stringify(obj)
120
- if (result !== '["error","unexpected token"]') { throw result }
121
- },
122
- () => {
123
- const tokenList = tokenizeString('[1 2]')
124
- const obj = parser.parse(tokenList)
125
- const result = stringify(obj)
126
- if (result !== '["error","unexpected token"]') { throw result }
127
- },
128
- () => {
129
- const tokenList = tokenizeString('[1,,2]')
130
- const obj = parser.parse(tokenList)
131
- const result = stringify(obj)
132
- if (result !== '["error","unexpected token"]') { throw result }
133
- },
134
- () => {
135
- const tokenList = tokenizeString('[]]')
136
- const obj = parser.parse(tokenList)
137
- const result = stringify(obj)
138
- if (result !== '["error","unexpected token"]') { throw result }
139
- },
140
- () => {
141
- const tokenList = tokenizeString('["a"')
142
- const obj = parser.parse(tokenList)
143
- const result = stringify(obj)
144
- if (result !== '["error","unexpected end"]') { throw result }
145
- },
146
- () => {
147
- const tokenList = tokenizeString('[1,]')
148
- const obj = parser.parse(tokenList)
149
- const result = stringify(obj)
150
- if (result !== '["error","unexpected token"]') { throw result }
151
- },
152
- () => {
153
- const tokenList = tokenizeString('[,1]')
154
- const obj = parser.parse(tokenList)
155
- const result = stringify(obj)
156
- if (result !== '["error","unexpected token"]') { throw result }
157
- },
158
- () => {
159
- const tokenList = tokenizeString('[:]')
160
- const obj = parser.parse(tokenList)
161
- const result = stringify(obj)
162
- if (result !== '["error","unexpected token"]') { throw result }
163
- },
164
- () => {
165
- const tokenList = tokenizeString(']')
166
- const obj = parser.parse(tokenList)
167
- const result = stringify(obj)
168
- if (result !== '["error","unexpected token"]') { throw result }
169
- },
170
- () => {
171
- const tokenList = tokenizeString('{,}')
172
- const obj = parser.parse(tokenList)
173
- const result = stringify(obj)
174
- if (result !== '["error","unexpected token"]') { throw result }
175
- },
176
- () => {
177
- const tokenList = tokenizeString('{1:2}')
178
- const obj = parser.parse(tokenList)
179
- const result = stringify(obj)
180
- if (result !== '["error","unexpected token"]') { throw result }
181
- },
182
- () => {
183
- const tokenList = tokenizeString('{"1"2}')
184
- const obj = parser.parse(tokenList)
185
- const result = stringify(obj)
186
- if (result !== '["error","unexpected token"]') { throw result }
187
- },
188
- () => {
189
- const tokenList = tokenizeString('{"1"::2}')
190
- const obj = parser.parse(tokenList)
191
- const result = stringify(obj)
192
- if (result !== '["error","unexpected token"]') { throw result }
193
- },
194
- () => {
195
- const tokenList = tokenizeString('{"1":2,,"3":4')
196
- const obj = parser.parse(tokenList)
197
- const result = stringify(obj)
198
- if (result !== '["error","unexpected token"]') { throw result }
199
- },
200
- () => {
201
- const tokenList = tokenizeString('{}}')
202
- const obj = parser.parse(tokenList)
203
- const result = stringify(obj)
204
- if (result !== '["error","unexpected token"]') { throw result }
205
- },
206
- () => {
207
- const tokenList = tokenizeString('{"1":2')
208
- const obj = parser.parse(tokenList)
209
- const result = stringify(obj)
210
- if (result !== '["error","unexpected end"]') { throw result }
211
- },
212
- () => {
213
- const tokenList = tokenizeString('{"1":2,}')
214
- const obj = parser.parse(tokenList)
215
- const result = stringify(obj)
216
- if (result !== '["error","unexpected token"]') { throw result }
217
- },
218
- () => {
219
- const tokenList = tokenizeString('{,"1":2}')
220
- const obj = parser.parse(tokenList)
221
- const result = stringify(obj)
222
- if (result !== '["error","unexpected token"]') { throw result }
223
- },
224
- () => {
225
- const tokenList = tokenizeString('}')
226
- const obj = parser.parse(tokenList)
227
- const result = stringify(obj)
228
- if (result !== '["error","unexpected token"]') { throw result }
229
- },
230
- () => {
231
- const tokenList = tokenizeString('[{]}')
232
- const obj = parser.parse(tokenList)
233
- const result = stringify(obj)
234
- if (result !== '["error","unexpected token"]') { throw result }
235
- },
236
- () => {
237
- const tokenList = tokenizeString('{[}]')
238
- const obj = parser.parse(tokenList)
239
- const result = stringify(obj)
240
- if (result !== '["error","unexpected token"]') { throw result }
241
- },
242
- () => {
243
- const tokenList = tokenizeString('10-5')
244
- const obj = parser.parse(tokenList)
245
- const result = stringify(obj)
246
- if (result !== '["error","unexpected token"]') { throw result }
247
- },
248
- () => {
249
- const tokenList = tokenizeString('undefined')
250
- const obj = parser.parse(tokenList)
251
- const result = stringify(obj)
252
- if (result !== '["error","unexpected token"]') { throw result }
253
- },
254
- ]
255
- }
@@ -1,74 +0,0 @@
1
- import * as list from '../../types/list/module.f.ts'
2
- const { flat, reduce, empty } = list
3
- import * as O from '../../types/object/module.f.ts'
4
- import * as Operator from '../../types/function/operator/module.f.ts'
5
-
6
- type Obj<T> = {
7
- readonly [k in string]: Unknown<T>
8
- }
9
-
10
- type Arr<T> = readonly Unknown<T>[]
11
-
12
- type Primitive = |
13
- boolean |
14
- string |
15
- number |
16
- null
17
-
18
- type Unknown<T> = |
19
- Arr<T>|
20
- Obj<T>|
21
- null|
22
- T
23
-
24
- const jsonStringify = JSON.stringify
25
-
26
- export const stringSerialize
27
- : (_: string) => list.List<string>
28
- = input => [jsonStringify(input)]
29
-
30
- export const numberSerialize
31
- : (_: number) => list.List<string>
32
- = input => [jsonStringify(input)]
33
-
34
- export const nullSerialize = ['null']
35
-
36
- const trueSerialize = ['true']
37
-
38
- const falseSerialize = ['false']
39
-
40
- export const boolSerialize
41
- : (_: boolean) => list.List<string>
42
- = value => value ? trueSerialize : falseSerialize
43
-
44
- const comma = [',']
45
-
46
- const joinOp
47
- : Operator.Reduce<list.List<string>>
48
- = b => prior => flat([prior, comma, b])
49
-
50
- const join
51
- : (input: list.List<list.List<string>>) => list.List<string>
52
- = reduce(joinOp)(empty)
53
-
54
- const wrap
55
- : (open: string) => (close: string) => (input: list.List<list.List<string>>) => list.List<string>
56
- = open => close => {
57
- const seqOpen = [open]
58
- const seqClose = [close]
59
- return input => flat([seqOpen, join(input), seqClose])
60
- }
61
-
62
- export const objectWrap
63
- : (input: list.List<list.List<string>>) => list.List<string>
64
- = wrap('{')('}')
65
-
66
- export const arrayWrap
67
- : (input: list.List<list.List<string>>) => list.List<string>
68
- = wrap('[')(']')
69
-
70
- type Entry<T> = O.Entry<Unknown<T>>
71
-
72
- type Entries<T> = list.List<Entry<T>>
73
-
74
- type MapEntries<T> = (entries: Entries<T>) => Entries<T>