functionalscript 0.2.5 → 0.3.0
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.
- package/.github/workflows/ci.yml +19 -4
- package/CHANGELOG.md +9 -0
- package/com/cpp/{module.f.mjs → module.f.ts} +65 -44
- package/com/cpp/{test.f.mjs → test.f.ts} +1 -1
- package/com/cpp/testlib.f.ts +8 -0
- package/com/cs/{module.f.mjs → module.f.ts} +47 -38
- package/com/cs/{test.f.mjs → test.f.ts} +2 -2
- package/com/cs/testlib.f.ts +8 -0
- package/com/rust/module.f.ts +287 -0
- package/com/rust/{test.f.mjs → test.f.ts} +1 -1
- package/com/rust/testlib.f.ts +8 -0
- package/com/test/{build.f.mjs → build.f.ts} +47 -45
- package/com/test/{build.mjs → build.ts} +7 -6
- package/com/types/module.f.ts +62 -0
- package/com/types/{testlib.f.mjs → testlib.f.ts} +2 -3
- package/commonjs/build/module.f.ts +100 -0
- package/commonjs/build/{test.f.mjs → test.f.ts} +21 -17
- package/commonjs/module/function/module.f.ts +13 -0
- package/commonjs/module/module.f.ts +41 -0
- package/commonjs/module.f.ts +7 -0
- package/commonjs/{module.mjs → module.ts} +12 -9
- package/commonjs/package/dependencies/module.f.ts +22 -0
- package/commonjs/package/dependencies/{test.f.mjs → test.f.ts} +1 -1
- package/commonjs/package/module.f.ts +31 -0
- package/commonjs/package/{test.f.mjs → test.f.ts} +1 -1
- package/commonjs/path/{module.f.mjs → module.f.ts} +72 -67
- package/commonjs/path/{test.f.mjs → test.f.ts} +25 -19
- package/commonjs/{test.mjs → test.ts} +5 -4
- package/crypto/prime_field/{module.f.mjs → module.f.ts} +40 -37
- package/crypto/prime_field/{test.f.mjs → test.f.ts} +7 -5
- package/crypto/secp/{module.f.mjs → module.f.ts} +44 -44
- package/crypto/secp/{test.f.mjs → test.f.ts} +16 -11
- package/crypto/sha2/{module.f.mjs → module.f.ts} +61 -46
- package/crypto/sha2/{test.f.mjs → test.f.ts} +12 -9
- package/deno.json +71 -0
- package/dev/README.md +8 -0
- package/dev/index.ts +3 -0
- package/dev/{module.f.mjs → module.f.ts} +0 -2
- package/dev/{module.mjs → module.ts} +65 -60
- package/dev/test/{module.f.mjs → module.f.ts} +57 -70
- package/dev/{test.f.mjs → test.f.ts} +7 -5
- package/dev/test.ts +53 -0
- package/djs/{module.f.mjs → module.f.ts} +31 -31
- package/djs/parser/{module.f.mjs → module.f.ts} +190 -182
- package/djs/parser/{test.f.mjs → test.f.ts} +173 -150
- package/djs/serializer/module.f.ts +90 -0
- package/djs/{test.f.mjs → test.f.ts} +4 -4
- package/djs/tokenizer/{module.f.mjs → module.f.ts} +35 -42
- package/djs/tokenizer/{test.f.mjs → test.f.ts} +9 -8
- package/fsc/{module.f.mjs → module.f.ts} +41 -44
- package/fsc/{test.f.mjs → test.f.ts} +8 -6
- package/fsm/module.f.ts +107 -0
- package/fsm/{test.f.mjs → test.f.ts} +10 -9
- package/html/README.md +10 -9
- package/html/module.f.ts +108 -0
- package/html/{test.f.mjs → test.f.ts} +10 -7
- package/issues/README.md +3 -0
- package/issues/lang/3110-function.md +25 -1
- package/issues/{test.f.mjs → test.f.ts} +3 -2
- package/js/tokenizer/module.f.ts +882 -0
- package/js/tokenizer/{test.f.mjs → test.f.ts} +11 -10
- package/json/module.f.ts +94 -0
- package/json/parser/{module.f.mjs → module.f.ts} +113 -109
- package/json/parser/{test.f.mjs → test.f.ts} +10 -9
- package/json/serializer/module.f.ts +70 -0
- package/json/serializer/{test.f.mjs → test.f.ts} +3 -3
- package/json/{test.f.mjs → test.f.ts} +3 -3
- package/json/tokenizer/{module.f.mjs → module.f.ts} +29 -36
- package/json/tokenizer/{test.f.mjs → test.f.ts} +9 -8
- package/nanvm-lib/src/extension.rs +15 -4
- package/nanvm-lib/src/interface.rs +7 -10
- package/nanvm-lib/src/lib.rs +3 -3
- package/nanvm-lib/src/naive.rs +10 -3
- package/nanvm-lib/src/nanenum.rs +5 -1
- package/nanvm-lib/tests/{test.f.mjs → test.f.ts} +7 -6
- package/nodejs/version/{main.mjs → main.ts} +1 -1
- package/nodejs/version/module.f.ts +42 -0
- package/nodejs/version/{test.f.mjs → test.f.ts} +11 -12
- package/package.json +9 -9
- package/text/ascii/{module.f.mjs → module.f.ts} +10 -8
- package/text/ascii/{test.f.mjs → test.f.ts} +4 -4
- package/text/module.f.ts +30 -0
- package/text/sgr/{module.f.mjs → module.f.ts} +3 -5
- package/text/{test.f.mjs → test.f.ts} +5 -4
- package/text/utf16/module.f.ts +108 -0
- package/text/utf16/{test.f.mjs → test.f.ts} +7 -6
- package/text/utf8/{module.f.mjs → module.f.ts} +29 -23
- package/text/utf8/{test.f.mjs → test.f.ts} +4 -4
- package/tsconfig.json +4 -1
- package/types/array/module.f.ts +89 -0
- package/types/array/{test.f.mjs → test.f.ts} +3 -3
- package/types/bigfloat/{module.f.mjs → module.f.ts} +25 -20
- package/types/bigfloat/{test.f.mjs → test.f.ts} +1 -1
- package/types/bigint/{module.f.mjs → module.f.ts} +29 -28
- package/types/bigint/{test.f.mjs → test.f.ts} +2 -2
- package/types/bit_vec/README.md +18 -0
- package/types/bit_vec/module.f.ts +185 -0
- package/types/bit_vec/test.f.ts +129 -0
- package/types/btree/find/module.f.ts +92 -0
- package/types/btree/find/{test.f.mjs → test.f.ts} +20 -16
- package/types/btree/{module.f.mjs → module.f.ts} +9 -9
- package/types/btree/remove/{module.f.mjs → module.f.ts} +43 -53
- package/types/btree/remove/{test.f.mjs → test.f.ts} +19 -15
- package/types/btree/set/{module.f.mjs → module.f.ts} +17 -20
- package/types/btree/set/{test.f.mjs → test.f.ts} +96 -66
- package/types/btree/{test.f.mjs → test.f.ts} +34 -26
- package/types/btree/types/module.f.ts +27 -0
- package/types/byte_set/module.f.ts +70 -0
- package/types/byte_set/{test.f.mjs → test.f.ts} +8 -7
- package/types/function/compare/module.f.ts +26 -0
- package/types/function/compare/{test.f.mjs → test.f.ts} +1 -1
- package/types/function/module.f.ts +43 -0
- package/types/function/operator/module.f.ts +63 -0
- package/types/function/test.f.ts +20 -0
- package/types/list/module.f.ts +345 -0
- package/types/list/{test.f.mjs → test.f.ts} +30 -24
- package/types/map/module.f.ts +65 -0
- package/types/map/{test.f.mjs → test.f.ts} +6 -5
- package/types/nibble_set/module.f.ts +34 -0
- package/types/nibble_set/{test.f.mjs → test.f.ts} +3 -3
- package/types/nullable/module.f.ts +9 -0
- package/types/nullable/{test.f.mjs → test.f.ts} +2 -2
- package/types/number/module.f.ts +16 -0
- package/types/number/{test.f.mjs → test.f.ts} +7 -5
- package/types/object/module.f.ts +30 -0
- package/types/object/{test.f.mjs → test.f.ts} +2 -2
- package/types/range/module.f.ts +10 -0
- package/types/range/{test.f.mjs → test.f.ts} +1 -1
- package/types/range_map/module.f.ts +70 -0
- package/types/range_map/{test.f.mjs → test.f.ts} +82 -57
- package/types/result/module.f.ts +20 -0
- package/types/result/{module.mjs → module.ts} +4 -3
- package/types/sorted_list/module.f.ts +83 -0
- package/types/sorted_list/{test.f.mjs → test.f.ts} +14 -12
- package/types/sorted_set/module.f.ts +36 -0
- package/types/sorted_set/{test.f.mjs → test.f.ts} +14 -12
- package/types/string/module.f.ts +24 -0
- package/types/string/{test.f.mjs → test.f.ts} +2 -2
- package/types/string_set/module.f.ts +37 -0
- package/types/string_set/{test.f.mjs → test.f.ts} +2 -2
- package/com/cpp/testlib.f.mjs +0 -8
- package/com/cs/testlib.f.mjs +0 -8
- package/com/rust/module.f.mjs +0 -272
- package/com/rust/testlib.f.mjs +0 -8
- package/com/types/module.f.mjs +0 -67
- package/commonjs/build/module.f.mjs +0 -100
- package/commonjs/module/function/module.f.mjs +0 -21
- package/commonjs/module/module.f.mjs +0 -53
- package/commonjs/module.f.mjs +0 -11
- package/commonjs/package/dependencies/module.f.mjs +0 -22
- package/commonjs/package/module.f.mjs +0 -36
- package/dev/index.mjs +0 -3
- package/dev/test.mjs +0 -60
- package/fsm/module.f.mjs +0 -99
- package/html/module.f.mjs +0 -102
- package/js/tokenizer/module.f.mjs +0 -872
- package/json/module.f.mjs +0 -89
- package/json/serializer/module.f.mjs +0 -87
- package/jsr.json +0 -66
- package/nodejs/version/module.f.mjs +0 -47
- package/out/com/cpp/module.f.d.mts +0 -7
- package/out/com/cpp/module.f.mjs +0 -130
- package/out/com/cpp/test.f.d.mts +0 -2
- package/out/com/cpp/test.f.mjs +0 -40
- package/out/com/cpp/testlib.f.d.mts +0 -2
- package/out/com/cpp/testlib.f.mjs +0 -7
- package/out/com/cs/module.f.d.mts +0 -7
- package/out/com/cs/module.f.mjs +0 -104
- package/out/com/cs/test.f.d.mts +0 -2
- package/out/com/cs/test.f.mjs +0 -43
- package/out/com/cs/testlib.f.d.mts +0 -2
- package/out/com/cs/testlib.f.mjs +0 -7
- package/out/com/rust/module.f.d.mts +0 -23
- package/out/com/rust/module.f.mjs +0 -224
- package/out/com/rust/test.f.d.mts +0 -2
- package/out/com/rust/test.f.mjs +0 -123
- package/out/com/rust/testlib.f.d.mts +0 -2
- package/out/com/rust/testlib.f.mjs +0 -7
- package/out/com/test/build.d.mts +0 -1
- package/out/com/test/build.f.d.mts +0 -26
- package/out/com/test/build.f.mjs +0 -98
- package/out/com/test/build.mjs +0 -40
- package/out/com/types/module.f.d.mts +0 -23
- package/out/com/types/module.f.mjs +0 -51
- package/out/com/types/testlib.f.d.mts +0 -44
- package/out/com/types/testlib.f.mjs +0 -30
- package/out/commonjs/build/module.f.d.mts +0 -20
- package/out/commonjs/build/module.f.mjs +0 -107
- package/out/commonjs/build/test.f.d.mts +0 -3
- package/out/commonjs/build/test.f.mjs +0 -102
- package/out/commonjs/module/function/module.f.d.mts +0 -5
- package/out/commonjs/module/function/module.f.mjs +0 -15
- package/out/commonjs/module/module.f.d.mts +0 -52
- package/out/commonjs/module/module.f.mjs +0 -48
- package/out/commonjs/module.d.mts +0 -3
- package/out/commonjs/module.f.d.mts +0 -2
- package/out/commonjs/module.f.mjs +0 -10
- package/out/commonjs/module.mjs +0 -26
- package/out/commonjs/package/dependencies/module.f.d.mts +0 -6
- package/out/commonjs/package/dependencies/module.f.mjs +0 -21
- package/out/commonjs/package/dependencies/test.f.d.mts +0 -2
- package/out/commonjs/package/dependencies/test.f.mjs +0 -15
- package/out/commonjs/package/module.f.d.mts +0 -21
- package/out/commonjs/package/module.f.mjs +0 -40
- package/out/commonjs/package/test.f.d.mts +0 -2
- package/out/commonjs/package/test.f.mjs +0 -27
- package/out/commonjs/path/module.f.d.mts +0 -60
- package/out/commonjs/path/module.f.mjs +0 -171
- package/out/commonjs/path/test.f.d.mts +0 -25
- package/out/commonjs/path/test.f.mjs +0 -231
- package/out/commonjs/test.d.mts +0 -8
- package/out/commonjs/test.mjs +0 -87
- package/out/crypto/prime_field/module.f.d.mts +0 -67
- package/out/crypto/prime_field/module.f.mjs +0 -110
- package/out/crypto/prime_field/test.f.d.mts +0 -13
- package/out/crypto/prime_field/test.f.mjs +0 -152
- package/out/crypto/secp/module.f.d.mts +0 -110
- package/out/crypto/secp/module.f.mjs +0 -173
- package/out/crypto/secp/test.f.d.mts +0 -5
- package/out/crypto/secp/test.f.mjs +0 -78
- package/out/crypto/sha2/module.f.d.mts +0 -15
- package/out/crypto/sha2/module.f.mjs +0 -172
- package/out/crypto/sha2/test.f.d.mts +0 -10
- package/out/crypto/sha2/test.f.mjs +0 -86
- package/out/dev/index.d.mts +0 -1
- package/out/dev/index.mjs +0 -2
- package/out/dev/module.d.mts +0 -26
- package/out/dev/module.f.d.mts +0 -1
- package/out/dev/module.f.mjs +0 -2
- package/out/dev/module.mjs +0 -167
- package/out/dev/test/module.f.d.mts +0 -25
- package/out/dev/test/module.f.mjs +0 -134
- package/out/dev/test.d.mts +0 -3
- package/out/dev/test.f.d.mts +0 -9
- package/out/dev/test.f.mjs +0 -58
- package/out/dev/test.mjs +0 -52
- package/out/djs/module.f.d.mts +0 -20
- package/out/djs/module.f.mjs +0 -79
- package/out/djs/parser/module.f.d.mts +0 -56
- package/out/djs/parser/module.f.mjs +0 -448
- package/out/djs/parser/test.f.d.mts +0 -13
- package/out/djs/parser/test.f.mjs +0 -569
- package/out/djs/test.f.d.mts +0 -12
- package/out/djs/test.f.mjs +0 -84
- package/out/djs/tokenizer/module.f.d.mts +0 -13
- package/out/djs/tokenizer/module.f.mjs +0 -91
- package/out/djs/tokenizer/test.f.d.mts +0 -7
- package/out/djs/tokenizer/test.f.mjs +0 -530
- package/out/fsc/module.f.d.mts +0 -7
- package/out/fsc/module.f.mjs +0 -105
- package/out/fsc/test.f.d.mts +0 -4
- package/out/fsc/test.f.mjs +0 -19
- package/out/fsm/module.f.d.mts +0 -14
- package/out/fsm/module.f.mjs +0 -80
- package/out/fsm/test.f.d.mts +0 -5
- package/out/fsm/test.f.mjs +0 -138
- package/out/html/module.f.d.mts +0 -17
- package/out/html/module.f.mjs +0 -80
- package/out/html/test.f.d.mts +0 -10
- package/out/html/test.f.mjs +0 -45
- package/out/issues/test.f.d.mts +0 -16
- package/out/issues/test.f.mjs +0 -66
- package/out/js/tokenizer/module.f.d.mts +0 -163
- package/out/js/tokenizer/module.f.mjs +0 -729
- package/out/js/tokenizer/test.f.d.mts +0 -9
- package/out/js/tokenizer/test.f.mjs +0 -906
- package/out/json/module.f.d.mts +0 -33
- package/out/json/module.f.mjs +0 -89
- package/out/json/parser/module.f.d.mts +0 -32
- package/out/json/parser/module.f.mjs +0 -224
- package/out/json/parser/test.f.d.mts +0 -5
- package/out/json/parser/test.f.mjs +0 -329
- package/out/json/serializer/module.f.d.mts +0 -36
- package/out/json/serializer/module.f.mjs +0 -67
- package/out/json/serializer/test.f.d.mts +0 -8
- package/out/json/serializer/test.f.mjs +0 -87
- package/out/json/test.f.d.mts +0 -8
- package/out/json/test.f.mjs +0 -61
- package/out/json/tokenizer/module.f.d.mts +0 -13
- package/out/json/tokenizer/module.f.mjs +0 -78
- package/out/json/tokenizer/test.f.d.mts +0 -6
- package/out/json/tokenizer/test.f.mjs +0 -420
- package/out/nanvm-lib/tests/test.f.d.mts +0 -36
- package/out/nanvm-lib/tests/test.f.mjs +0 -87
- package/out/nodejs/version/main.d.mts +0 -1
- package/out/nodejs/version/main.mjs +0 -3
- package/out/nodejs/version/module.f.d.mts +0 -12
- package/out/nodejs/version/module.f.mjs +0 -34
- package/out/nodejs/version/test.f.d.mts +0 -2
- package/out/nodejs/version/test.f.mjs +0 -97
- package/out/text/ascii/module.f.d.mts +0 -70
- package/out/text/ascii/module.f.mjs +0 -154
- package/out/text/ascii/test.f.d.mts +0 -4
- package/out/text/ascii/test.f.mjs +0 -14
- package/out/text/module.f.d.mts +0 -13
- package/out/text/module.f.mjs +0 -19
- package/out/text/sgr/module.f.d.mts +0 -12
- package/out/text/sgr/module.f.mjs +0 -17
- package/out/text/test.f.d.mts +0 -2
- package/out/text/test.f.mjs +0 -19
- package/out/text/utf16/module.f.d.mts +0 -12
- package/out/text/utf16/module.f.mjs +0 -86
- package/out/text/utf16/test.f.d.mts +0 -6
- package/out/text/utf16/test.f.mjs +0 -145
- package/out/text/utf8/module.f.d.mts +0 -10
- package/out/text/utf8/module.f.mjs +0 -126
- package/out/text/utf8/test.f.d.mts +0 -6
- package/out/text/utf8/test.f.mjs +0 -175
- package/out/types/array/module.f.d.mts +0 -31
- package/out/types/array/module.f.mjs +0 -95
- package/out/types/array/test.f.d.mts +0 -10
- package/out/types/array/test.f.mjs +0 -116
- package/out/types/bigfloat/module.f.d.mts +0 -6
- package/out/types/bigfloat/module.f.mjs +0 -77
- package/out/types/bigfloat/test.f.d.mts +0 -6
- package/out/types/bigfloat/test.f.mjs +0 -349
- package/out/types/bigint/module.f.d.mts +0 -29
- package/out/types/bigint/module.f.mjs +0 -114
- package/out/types/bigint/test.f.d.mts +0 -16
- package/out/types/bigint/test.f.mjs +0 -199
- package/out/types/bit_vec/module.f.d.mts +0 -72
- package/out/types/bit_vec/module.f.mjs +0 -83
- package/out/types/bit_vec/test.f.d.mts +0 -9
- package/out/types/bit_vec/test.f.mjs +0 -60
- package/out/types/btree/find/module.f.d.mts +0 -36
- package/out/types/btree/find/module.f.mjs +0 -137
- package/out/types/btree/find/test.f.d.mts +0 -2
- package/out/types/btree/find/test.f.mjs +0 -156
- package/out/types/btree/module.f.d.mts +0 -5
- package/out/types/btree/module.f.mjs +0 -34
- package/out/types/btree/remove/module.f.d.mts +0 -14
- package/out/types/btree/remove/module.f.mjs +0 -209
- package/out/types/btree/remove/test.f.d.mts +0 -7
- package/out/types/btree/remove/test.f.mjs +0 -638
- package/out/types/btree/set/module.f.d.mts +0 -5
- package/out/types/btree/set/module.f.mjs +0 -114
- package/out/types/btree/set/test.f.d.mts +0 -2
- package/out/types/btree/set/test.f.mjs +0 -390
- package/out/types/btree/test.f.d.mts +0 -13
- package/out/types/btree/test.f.mjs +0 -83
- package/out/types/btree/types/module.f.d.mts +0 -14
- package/out/types/btree/types/module.f.mjs +0 -50
- package/out/types/byte_set/module.f.d.mts +0 -25
- package/out/types/byte_set/module.f.mjs +0 -42
- package/out/types/byte_set/test.f.d.mts +0 -13
- package/out/types/byte_set/test.f.mjs +0 -123
- package/out/types/function/compare/module.f.d.mts +0 -23
- package/out/types/function/compare/module.f.mjs +0 -22
- package/out/types/function/compare/test.f.d.mts +0 -2
- package/out/types/function/compare/test.f.mjs +0 -8
- package/out/types/function/module.f.d.mts +0 -51
- package/out/types/function/module.f.mjs +0 -44
- package/out/types/function/operator/module.f.d.mts +0 -60
- package/out/types/function/operator/module.f.mjs +0 -60
- package/out/types/function/test.f.d.mts +0 -2
- package/out/types/function/test.f.mjs +0 -15
- package/out/types/list/module.f.d.mts +0 -82
- package/out/types/list/module.f.mjs +0 -269
- package/out/types/list/test.f.d.mts +0 -38
- package/out/types/list/test.f.mjs +0 -401
- package/out/types/map/module.f.d.mts +0 -21
- package/out/types/map/module.f.mjs +0 -54
- package/out/types/map/test.f.d.mts +0 -5
- package/out/types/map/test.f.mjs +0 -115
- package/out/types/nibble_set/module.f.d.mts +0 -16
- package/out/types/nibble_set/module.f.mjs +0 -19
- package/out/types/nibble_set/test.f.d.mts +0 -13
- package/out/types/nibble_set/test.f.mjs +0 -90
- package/out/types/nullable/module.f.d.mts +0 -9
- package/out/types/nullable/module.f.mjs +0 -9
- package/out/types/nullable/test.f.d.mts +0 -2
- package/out/types/nullable/test.f.mjs +0 -12
- package/out/types/number/module.f.d.mts +0 -7
- package/out/types/number/module.f.mjs +0 -12
- package/out/types/number/test.f.d.mts +0 -11
- package/out/types/number/test.f.mjs +0 -126
- package/out/types/object/module.f.d.mts +0 -22
- package/out/types/object/module.f.mjs +0 -27
- package/out/types/object/test.f.d.mts +0 -5
- package/out/types/object/test.f.mjs +0 -17
- package/out/types/range/module.f.d.mts +0 -6
- package/out/types/range/module.f.mjs +0 -6
- package/out/types/range/test.f.d.mts +0 -2
- package/out/types/range/test.f.mjs +0 -18
- package/out/types/range_map/module.f.d.mts +0 -19
- package/out/types/range_map/module.f.mjs +0 -84
- package/out/types/range_map/test.f.d.mts +0 -6
- package/out/types/range_map/test.f.mjs +0 -201
- package/out/types/result/module.d.mts +0 -7
- package/out/types/result/module.f.d.mts +0 -22
- package/out/types/result/module.f.mjs +0 -25
- package/out/types/result/module.mjs +0 -16
- package/out/types/sorted_list/module.f.d.mts +0 -53
- package/out/types/sorted_list/module.f.mjs +0 -102
- package/out/types/sorted_list/test.f.d.mts +0 -5
- package/out/types/sorted_list/test.f.mjs +0 -66
- package/out/types/sorted_set/module.f.d.mts +0 -19
- package/out/types/sorted_set/module.f.mjs +0 -29
- package/out/types/sorted_set/test.f.d.mts +0 -6
- package/out/types/sorted_set/test.f.mjs +0 -80
- package/out/types/string/module.f.d.mts +0 -9
- package/out/types/string/module.f.mjs +0 -17
- package/out/types/string/test.f.d.mts +0 -15
- package/out/types/string/test.f.mjs +0 -58
- package/out/types/string_set/module.f.d.mts +0 -13
- package/out/types/string_set/module.f.mjs +0 -29
- package/out/types/string_set/test.f.d.mts +0 -5
- package/out/types/string_set/test.f.mjs +0 -65
- package/text/module.f.mjs +0 -27
- package/text/utf16/module.f.mjs +0 -96
- package/types/array/module.f.mjs +0 -119
- package/types/bit_vec/module.f.mjs +0 -90
- package/types/bit_vec/test.f.mjs +0 -41
- package/types/btree/find/module.f.mjs +0 -125
- package/types/btree/types/module.f.mjs +0 -64
- package/types/byte_set/module.f.mjs +0 -61
- package/types/function/compare/module.f.mjs +0 -29
- package/types/function/module.f.mjs +0 -50
- package/types/function/operator/module.f.mjs +0 -78
- package/types/function/test.f.mjs +0 -17
- package/types/list/module.f.mjs +0 -320
- package/types/map/module.f.mjs +0 -67
- package/types/nibble_set/module.f.mjs +0 -28
- package/types/nullable/module.f.mjs +0 -11
- package/types/number/module.f.mjs +0 -16
- package/types/object/module.f.mjs +0 -33
- package/types/range/module.f.mjs +0 -8
- package/types/range_map/module.f.mjs +0 -84
- package/types/result/module.f.mjs +0 -28
- package/types/sorted_list/module.f.mjs +0 -107
- package/types/sorted_set/module.f.mjs +0 -38
- package/types/string/module.f.mjs +0 -22
- package/types/string_set/module.f.mjs +0 -36
|
@@ -1,438 +1,461 @@
|
|
|
1
|
-
import * as parser from './module.f.
|
|
2
|
-
import * as tokenizer from '../tokenizer/module.f.
|
|
3
|
-
import * as list from '../../types/list/module.f.
|
|
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
4
|
const { toArray } = list
|
|
5
|
-
import * as
|
|
6
|
-
import * as o from '../../types/object/module.f.mjs'
|
|
5
|
+
import * as o from '../../types/object/module.f.ts'
|
|
7
6
|
const { sort } = o
|
|
8
|
-
import * as encoding from '../../text/utf16/module.f.
|
|
7
|
+
import * as encoding from '../../text/utf16/module.f.ts'
|
|
8
|
+
import * as djsSerializer from '../serializer/module.f.ts'
|
|
9
|
+
const { djsModuleStringify } = djsSerializer
|
|
9
10
|
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
const tokenizeString
|
|
12
|
+
: (s: string) => readonly tokenizer.DjsToken[]
|
|
13
|
+
= s => toArray(tokenizer.tokenize(encoding.stringToList(s)))
|
|
12
14
|
|
|
13
|
-
const
|
|
15
|
+
const stringifyDjsModule = djsModuleStringify(sort)
|
|
14
16
|
|
|
15
17
|
export default {
|
|
16
18
|
valid: [
|
|
17
19
|
() => {
|
|
18
20
|
const tokenList = tokenizeString('export default null')
|
|
19
21
|
const obj = parser.parse(tokenList)
|
|
20
|
-
|
|
21
|
-
|
|
22
|
+
if (obj[0] !== 'ok') { throw obj }
|
|
23
|
+
const result = stringifyDjsModule(obj[1])
|
|
24
|
+
if (result !== 'export default null') { throw result }
|
|
22
25
|
},
|
|
23
26
|
() => {
|
|
24
27
|
const tokenList = tokenizeString('export default true')
|
|
25
28
|
const obj = parser.parse(tokenList)
|
|
26
|
-
|
|
27
|
-
|
|
29
|
+
if (obj[0] !== 'ok') { throw obj }
|
|
30
|
+
const result = stringifyDjsModule(obj[1])
|
|
31
|
+
if (result !== 'export default true') { throw result }
|
|
28
32
|
},
|
|
29
33
|
() => {
|
|
30
34
|
const tokenList = tokenizeString('export default false')
|
|
31
35
|
const obj = parser.parse(tokenList)
|
|
32
|
-
|
|
33
|
-
|
|
36
|
+
if (obj[0] !== 'ok') { throw obj }
|
|
37
|
+
const result = stringifyDjsModule(obj[1])
|
|
38
|
+
if (result !== 'export default false') { throw result }
|
|
34
39
|
},
|
|
35
40
|
() => {
|
|
36
41
|
const tokenList = tokenizeString('export default undefined')
|
|
37
42
|
const obj = parser.parse(tokenList)
|
|
38
|
-
|
|
39
|
-
|
|
43
|
+
if (obj[0] !== 'ok') { throw obj }
|
|
44
|
+
const result = stringifyDjsModule(obj[1])
|
|
45
|
+
if (result !== 'export default undefined') { throw result }
|
|
40
46
|
},
|
|
41
47
|
() => {
|
|
42
48
|
const tokenList = tokenizeString('export default 0.1')
|
|
43
49
|
const obj = parser.parse(tokenList)
|
|
44
|
-
|
|
45
|
-
|
|
50
|
+
if (obj[0] !== 'ok') { throw obj }
|
|
51
|
+
const result = stringifyDjsModule(obj[1])
|
|
52
|
+
if (result !== 'export default 0.1') { throw result }
|
|
46
53
|
},
|
|
47
54
|
() => {
|
|
48
55
|
const tokenList = tokenizeString('export default 1.1e+2')
|
|
49
56
|
const obj = parser.parse(tokenList)
|
|
50
|
-
|
|
51
|
-
|
|
57
|
+
if (obj[0] !== 'ok') { throw obj }
|
|
58
|
+
const result = stringifyDjsModule(obj[1])
|
|
59
|
+
if (result !== 'export default 110') { throw result }
|
|
52
60
|
},
|
|
53
61
|
() => {
|
|
54
62
|
const tokenList = tokenizeString('export default "abc"')
|
|
55
63
|
const obj = parser.parse(tokenList)
|
|
56
|
-
|
|
57
|
-
|
|
64
|
+
if (obj[0] !== 'ok') { throw obj }
|
|
65
|
+
const result = stringifyDjsModule(obj[1])
|
|
66
|
+
if (result !== 'export default "abc"') { throw result }
|
|
58
67
|
},
|
|
59
68
|
() => {
|
|
60
69
|
const tokenList = tokenizeString('export default []')
|
|
61
70
|
const obj = parser.parse(tokenList)
|
|
62
|
-
|
|
63
|
-
|
|
71
|
+
if (obj[0] !== 'ok') { throw obj }
|
|
72
|
+
const result = stringifyDjsModule(obj[1])
|
|
73
|
+
if (result !== 'export default []') { throw result }
|
|
64
74
|
},
|
|
65
75
|
() => {
|
|
66
76
|
const tokenList = tokenizeString('export default [1]')
|
|
67
77
|
const obj = parser.parse(tokenList)
|
|
68
|
-
|
|
69
|
-
|
|
78
|
+
if (obj[0] !== 'ok') { throw obj }
|
|
79
|
+
const result = stringifyDjsModule(obj[1])
|
|
80
|
+
if (result !== 'export default [1]') { throw result }
|
|
70
81
|
},
|
|
71
82
|
() => {
|
|
72
83
|
const tokenList = tokenizeString('export default [[]]')
|
|
73
84
|
const obj = parser.parse(tokenList)
|
|
74
|
-
|
|
75
|
-
|
|
85
|
+
if (obj[0] !== 'ok') { throw obj }
|
|
86
|
+
const result = stringifyDjsModule(obj[1])
|
|
87
|
+
if (result !== 'export default [[]]') { throw result }
|
|
76
88
|
},
|
|
77
89
|
() => {
|
|
78
90
|
const tokenList = tokenizeString('export default [0,[1,[2,[]]],3]')
|
|
79
91
|
const obj = parser.parse(tokenList)
|
|
80
|
-
|
|
81
|
-
|
|
92
|
+
if (obj[0] !== 'ok') { throw obj }
|
|
93
|
+
const result = stringifyDjsModule(obj[1])
|
|
94
|
+
if (result !== 'export default [0,[1,[2,[]]],3]') { throw result }
|
|
82
95
|
},
|
|
83
96
|
() => {
|
|
84
97
|
const tokenList = tokenizeString('export default {}')
|
|
85
98
|
const obj = parser.parse(tokenList)
|
|
86
|
-
|
|
87
|
-
|
|
99
|
+
if (obj[0] !== 'ok') { throw obj }
|
|
100
|
+
const result = stringifyDjsModule(obj[1])
|
|
101
|
+
if (result !== 'export default {}') { throw result }
|
|
88
102
|
},
|
|
89
103
|
() => {
|
|
90
104
|
const tokenList = tokenizeString('export default [{}]')
|
|
91
105
|
const obj = parser.parse(tokenList)
|
|
92
|
-
|
|
93
|
-
|
|
106
|
+
if (obj[0] !== 'ok') { throw obj }
|
|
107
|
+
const result = stringifyDjsModule(obj[1])
|
|
108
|
+
if (result !== 'export default [{}]') { throw result }
|
|
94
109
|
},
|
|
95
110
|
() => {
|
|
96
111
|
const tokenList = tokenizeString('export default {"a":true,"b":false,"c":null,"d":undefined}')
|
|
97
112
|
const obj = parser.parse(tokenList)
|
|
98
|
-
|
|
99
|
-
|
|
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 }
|
|
100
116
|
},
|
|
101
117
|
() => {
|
|
102
118
|
const tokenList = tokenizeString('export default {"a":{"b":{"c":["d"]}}}')
|
|
103
119
|
const obj = parser.parse(tokenList)
|
|
104
|
-
|
|
105
|
-
|
|
120
|
+
if (obj[0] !== 'ok') { throw obj }
|
|
121
|
+
const result = stringifyDjsModule(obj[1])
|
|
122
|
+
if (result !== 'export default {"a":{"b":{"c":["d"]}}}') { throw result }
|
|
106
123
|
},
|
|
107
124
|
() => {
|
|
108
125
|
const tokenList = tokenizeString('export default 1234567890n')
|
|
109
126
|
const obj = parser.parse(tokenList)
|
|
110
|
-
|
|
111
|
-
|
|
127
|
+
if (obj[0] !== 'ok') { throw obj }
|
|
128
|
+
const result = stringifyDjsModule(obj[1])
|
|
129
|
+
if (result !== 'export default 1234567890n') { throw result }
|
|
112
130
|
},
|
|
113
131
|
() => {
|
|
114
132
|
const tokenList = tokenizeString('export default [1234567890n]')
|
|
115
133
|
const obj = parser.parse(tokenList)
|
|
116
|
-
|
|
117
|
-
|
|
134
|
+
if (obj[0] !== 'ok') { throw obj }
|
|
135
|
+
const result = stringifyDjsModule(obj[1])
|
|
136
|
+
if (result !== 'export default [1234567890n]') { throw result }
|
|
118
137
|
}
|
|
119
138
|
],
|
|
120
139
|
invalid: [
|
|
121
140
|
() => {
|
|
122
141
|
const tokenList = tokenizeString('export default')
|
|
123
142
|
const obj = parser.parse(tokenList)
|
|
124
|
-
|
|
125
|
-
if (
|
|
143
|
+
if (obj[0] !== 'error') { throw obj }
|
|
144
|
+
if (obj[1] !== 'unexpected end') { throw obj }
|
|
126
145
|
},
|
|
127
146
|
() => {
|
|
128
147
|
const tokenList = tokenizeString('export default "123')
|
|
129
148
|
const obj = parser.parse(tokenList)
|
|
130
|
-
|
|
131
|
-
if (
|
|
149
|
+
if (obj[0] !== 'error') { throw obj }
|
|
150
|
+
if (obj[1] !== 'unexpected token') { throw obj }
|
|
132
151
|
},
|
|
133
152
|
() => {
|
|
134
153
|
const tokenList = tokenizeString('export default [,]')
|
|
135
154
|
const obj = parser.parse(tokenList)
|
|
136
|
-
|
|
137
|
-
if (
|
|
155
|
+
if (obj[0] !== 'error') { throw obj }
|
|
156
|
+
if (obj[1] !== 'unexpected token') { throw obj }
|
|
138
157
|
},
|
|
139
158
|
() => {
|
|
140
159
|
const tokenList = tokenizeString('export default [1 2]')
|
|
141
160
|
const obj = parser.parse(tokenList)
|
|
142
|
-
|
|
143
|
-
if (
|
|
161
|
+
if (obj[0] !== 'error') { throw obj }
|
|
162
|
+
if (obj[1] !== 'unexpected token') { throw obj }
|
|
144
163
|
},
|
|
145
164
|
() => {
|
|
146
165
|
const tokenList = tokenizeString('export default [1,,2]')
|
|
147
166
|
const obj = parser.parse(tokenList)
|
|
148
|
-
|
|
149
|
-
if (
|
|
167
|
+
if (obj[0] !== 'error') { throw obj }
|
|
168
|
+
if (obj[1] !== 'unexpected token') { throw obj }
|
|
150
169
|
},
|
|
151
170
|
() => {
|
|
152
171
|
const tokenList = tokenizeString('export default []]')
|
|
153
172
|
const obj = parser.parse(tokenList)
|
|
154
|
-
|
|
155
|
-
if (
|
|
173
|
+
if (obj[0] !== 'error') { throw obj }
|
|
174
|
+
if (obj[1] !== 'unexpected token') { throw obj }
|
|
156
175
|
},
|
|
157
176
|
() => {
|
|
158
177
|
const tokenList = tokenizeString('export default ["a"')
|
|
159
178
|
const obj = parser.parse(tokenList)
|
|
160
|
-
|
|
161
|
-
if (
|
|
179
|
+
if (obj[0] !== 'error') { throw obj }
|
|
180
|
+
if (obj[1] !== 'unexpected end') { throw obj }
|
|
162
181
|
},
|
|
163
182
|
() => {
|
|
164
183
|
const tokenList = tokenizeString('export default [1,]')
|
|
165
184
|
const obj = parser.parse(tokenList)
|
|
166
|
-
|
|
167
|
-
if (
|
|
185
|
+
if (obj[0] !== 'error') { throw obj }
|
|
186
|
+
if (obj[1] !== 'unexpected token') { throw obj }
|
|
168
187
|
},
|
|
169
188
|
() => {
|
|
170
189
|
const tokenList = tokenizeString('export default [,1]')
|
|
171
190
|
const obj = parser.parse(tokenList)
|
|
172
|
-
|
|
173
|
-
if (
|
|
191
|
+
if (obj[0] !== 'error') { throw obj }
|
|
192
|
+
if (obj[1] !== 'unexpected token') { throw obj }
|
|
174
193
|
},
|
|
175
194
|
() => {
|
|
176
195
|
const tokenList = tokenizeString('export default [:]')
|
|
177
196
|
const obj = parser.parse(tokenList)
|
|
178
|
-
|
|
179
|
-
if (
|
|
197
|
+
if (obj[0] !== 'error') { throw obj }
|
|
198
|
+
if (obj[1] !== 'unexpected token') { throw obj }
|
|
180
199
|
},
|
|
181
200
|
() => {
|
|
182
201
|
const tokenList = tokenizeString('export default ]')
|
|
183
202
|
const obj = parser.parse(tokenList)
|
|
184
|
-
|
|
185
|
-
if (
|
|
203
|
+
if (obj[0] !== 'error') { throw obj }
|
|
204
|
+
if (obj[1] !== 'unexpected token') { throw obj }
|
|
186
205
|
},
|
|
187
206
|
() => {
|
|
188
207
|
const tokenList = tokenizeString('export default {,}')
|
|
189
208
|
const obj = parser.parse(tokenList)
|
|
190
|
-
|
|
191
|
-
if (
|
|
209
|
+
if (obj[0] !== 'error') { throw obj }
|
|
210
|
+
if (obj[1] !== 'unexpected token') { throw obj }
|
|
192
211
|
},
|
|
193
212
|
() => {
|
|
194
213
|
const tokenList = tokenizeString('export default {1:2}')
|
|
195
214
|
const obj = parser.parse(tokenList)
|
|
196
|
-
|
|
197
|
-
if (
|
|
215
|
+
if (obj[0] !== 'error') { throw obj }
|
|
216
|
+
if (obj[1] !== 'unexpected token') { throw obj }
|
|
198
217
|
},
|
|
199
218
|
() => {
|
|
200
219
|
const tokenList = tokenizeString('export default {"1"2}')
|
|
201
220
|
const obj = parser.parse(tokenList)
|
|
202
|
-
|
|
203
|
-
if (
|
|
221
|
+
if (obj[0] !== 'error') { throw obj }
|
|
222
|
+
if (obj[1] !== 'unexpected token') { throw obj }
|
|
204
223
|
},
|
|
205
224
|
() => {
|
|
206
225
|
const tokenList = tokenizeString('export default {"1"::2}')
|
|
207
226
|
const obj = parser.parse(tokenList)
|
|
208
|
-
|
|
209
|
-
if (
|
|
227
|
+
if (obj[0] !== 'error') { throw obj }
|
|
228
|
+
if (obj[1] !== 'unexpected token') { throw obj }
|
|
210
229
|
},
|
|
211
230
|
() => {
|
|
212
231
|
const tokenList = tokenizeString('export default {"1":2,,"3":4')
|
|
213
232
|
const obj = parser.parse(tokenList)
|
|
214
|
-
|
|
215
|
-
if (
|
|
233
|
+
if (obj[0] !== 'error') { throw obj }
|
|
234
|
+
if (obj[1] !== 'unexpected token') { throw obj }
|
|
216
235
|
},
|
|
217
236
|
() => {
|
|
218
237
|
const tokenList = tokenizeString('export default {}}')
|
|
219
238
|
const obj = parser.parse(tokenList)
|
|
220
|
-
|
|
221
|
-
if (
|
|
239
|
+
if (obj[0] !== 'error') { throw obj }
|
|
240
|
+
if (obj[1] !== 'unexpected token') { throw obj }
|
|
222
241
|
},
|
|
223
242
|
() => {
|
|
224
243
|
const tokenList = tokenizeString('export default {"1":2')
|
|
225
244
|
const obj = parser.parse(tokenList)
|
|
226
|
-
|
|
227
|
-
if (
|
|
245
|
+
if (obj[0] !== 'error') { throw obj }
|
|
246
|
+
if (obj[1] !== 'unexpected end') { throw obj }
|
|
228
247
|
},
|
|
229
248
|
() => {
|
|
230
249
|
const tokenList = tokenizeString('export default {"1":2,}')
|
|
231
250
|
const obj = parser.parse(tokenList)
|
|
232
|
-
|
|
233
|
-
if (
|
|
251
|
+
if (obj[0] !== 'error') { throw obj }
|
|
252
|
+
if (obj[1] !== 'unexpected token') { throw obj }
|
|
234
253
|
},
|
|
235
254
|
() => {
|
|
236
255
|
const tokenList = tokenizeString('export default {,"1":2}')
|
|
237
256
|
const obj = parser.parse(tokenList)
|
|
238
|
-
|
|
239
|
-
if (
|
|
257
|
+
if (obj[0] !== 'error') { throw obj }
|
|
258
|
+
if (obj[1] !== 'unexpected token') { throw obj }
|
|
240
259
|
},
|
|
241
260
|
() => {
|
|
242
261
|
const tokenList = tokenizeString('export default }')
|
|
243
262
|
const obj = parser.parse(tokenList)
|
|
244
|
-
|
|
245
|
-
if (
|
|
263
|
+
if (obj[0] !== 'error') { throw obj }
|
|
264
|
+
if (obj[1] !== 'unexpected token') { throw obj }
|
|
246
265
|
},
|
|
247
266
|
() => {
|
|
248
267
|
const tokenList = tokenizeString('export default [{]}')
|
|
249
268
|
const obj = parser.parse(tokenList)
|
|
250
|
-
|
|
251
|
-
if (
|
|
269
|
+
if (obj[0] !== 'error') { throw obj }
|
|
270
|
+
if (obj[1] !== 'unexpected token') { throw obj }
|
|
252
271
|
},
|
|
253
272
|
() => {
|
|
254
273
|
const tokenList = tokenizeString('export default {[}]')
|
|
255
274
|
const obj = parser.parse(tokenList)
|
|
256
|
-
|
|
257
|
-
if (
|
|
275
|
+
if (obj[0] !== 'error') { throw obj }
|
|
276
|
+
if (obj[1] !== 'unexpected token') { throw obj }
|
|
258
277
|
},
|
|
259
278
|
() => {
|
|
260
279
|
const tokenList = tokenizeString('export default 10-5')
|
|
261
280
|
const obj = parser.parse(tokenList)
|
|
262
|
-
|
|
263
|
-
if (
|
|
281
|
+
if (obj[0] !== 'error') { throw obj }
|
|
282
|
+
if (obj[1] !== 'unexpected token') { throw obj }
|
|
264
283
|
},
|
|
265
284
|
],
|
|
266
285
|
validWhiteSpaces:[
|
|
267
286
|
() => {
|
|
268
287
|
const tokenList = tokenizeString(' export default [ 0 , 1 , 2 ] ')
|
|
269
288
|
const obj = parser.parse(tokenList)
|
|
270
|
-
|
|
271
|
-
|
|
289
|
+
if (obj[0] !== 'ok') { throw obj }
|
|
290
|
+
const result = stringifyDjsModule(obj[1])
|
|
291
|
+
if (result !== 'export default [0,1,2]') { throw result }
|
|
272
292
|
},
|
|
273
293
|
() => {
|
|
274
294
|
const tokenList = tokenizeString(' export default { "a" : 0 , "b" : 1 } ')
|
|
275
295
|
const obj = parser.parse(tokenList)
|
|
276
|
-
|
|
277
|
-
|
|
296
|
+
if (obj[0] !== 'ok') { throw obj }
|
|
297
|
+
const result = stringifyDjsModule(obj[1])
|
|
298
|
+
if (result !== 'export default {"a":0,"b":1}') { throw result }
|
|
278
299
|
},
|
|
279
300
|
() => {
|
|
280
301
|
const tokenList = tokenizeString('\nexport\ndefault\n[\n0\n,\n1\n,\n2\n]\n')
|
|
281
302
|
const obj = parser.parse(tokenList)
|
|
282
|
-
|
|
283
|
-
|
|
303
|
+
if (obj[0] !== 'ok') { throw obj }
|
|
304
|
+
const result = stringifyDjsModule(obj[1])
|
|
305
|
+
if (result !== 'export default [0,1,2]') { throw result }
|
|
284
306
|
},
|
|
285
307
|
() => {
|
|
286
308
|
const tokenList = tokenizeString('\rexport\rdefault\r{\r"a"\r:\r0\r,\r"b"\r:\r1\r}\r')
|
|
287
309
|
const obj = parser.parse(tokenList)
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
],
|
|
292
|
-
validModule:[
|
|
293
|
-
() => {
|
|
294
|
-
const tokenList = tokenizeString('export default null')
|
|
295
|
-
const obj = parser.parse(tokenList)
|
|
296
|
-
const result = stringify(obj)
|
|
297
|
-
if (result !== '["ok",[[],[null]]]') { throw result }
|
|
310
|
+
if (obj[0] !== 'ok') { throw obj }
|
|
311
|
+
const result = stringifyDjsModule(obj[1])
|
|
312
|
+
if (result !== 'export default {"a":0,"b":1}') { throw result }
|
|
298
313
|
},
|
|
299
314
|
],
|
|
300
315
|
invalidModule:[
|
|
301
316
|
() => {
|
|
302
317
|
const tokenList = tokenizeString('null')
|
|
303
318
|
const obj = parser.parse(tokenList)
|
|
304
|
-
|
|
305
|
-
if (
|
|
319
|
+
if (obj[0] !== 'error') { throw obj }
|
|
320
|
+
if (obj[1] !== 'unexpected token') { throw obj }
|
|
306
321
|
},
|
|
307
322
|
() => {
|
|
308
323
|
const tokenList = tokenizeString('module=null')
|
|
309
324
|
const obj = parser.parse(tokenList)
|
|
310
|
-
|
|
311
|
-
if (
|
|
325
|
+
if (obj[0] !== 'error') { throw obj }
|
|
326
|
+
if (obj[1] !== 'unexpected token') { throw obj }
|
|
312
327
|
},
|
|
313
328
|
() => {
|
|
314
329
|
const tokenList = tokenizeString('export null')
|
|
315
330
|
const obj = parser.parse(tokenList)
|
|
316
|
-
|
|
317
|
-
if (
|
|
331
|
+
if (obj[0] !== 'error') { throw obj }
|
|
332
|
+
if (obj[1] !== 'unexpected token') { throw obj }
|
|
318
333
|
},
|
|
319
334
|
() => {
|
|
320
335
|
const tokenList = tokenizeString('export default = null')
|
|
321
336
|
const obj = parser.parse(tokenList)
|
|
322
|
-
|
|
323
|
-
if (
|
|
337
|
+
if (obj[0] !== 'error') { throw obj }
|
|
338
|
+
if (obj[1] !== 'unexpected token') { throw obj }
|
|
324
339
|
},
|
|
325
340
|
],
|
|
326
341
|
validWithConst:[
|
|
327
342
|
() => {
|
|
328
343
|
const tokenList = tokenizeString('const a = 1 \n const b = 2 \n export default 3')
|
|
329
344
|
const obj = parser.parse(tokenList)
|
|
330
|
-
|
|
331
|
-
|
|
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 }
|
|
332
348
|
},
|
|
333
349
|
() => {
|
|
334
350
|
const tokenList = tokenizeString('const a = 1 \n const b = 2 \n export default b')
|
|
335
351
|
const obj = parser.parse(tokenList)
|
|
336
|
-
|
|
337
|
-
|
|
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 }
|
|
338
355
|
},
|
|
339
356
|
() => {
|
|
340
357
|
const tokenList = tokenizeString('const a = 1 \n const b = 2 \n export default [b,a,b]')
|
|
341
358
|
const obj = parser.parse(tokenList)
|
|
342
|
-
|
|
343
|
-
|
|
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 }
|
|
344
362
|
},
|
|
345
363
|
() => {
|
|
346
364
|
const tokenList = tokenizeString('const a = 1 \n const b = 2 \n export default {"1st":b,"2nd":a,"3rd":b}')
|
|
347
365
|
const obj = parser.parse(tokenList)
|
|
348
|
-
|
|
349
|
-
|
|
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 }
|
|
350
369
|
},
|
|
351
370
|
],
|
|
352
371
|
invalidWithConst:[
|
|
353
372
|
() => {
|
|
354
373
|
const tokenList = tokenizeString('const a = 1 const b = 2 export default 3')
|
|
355
374
|
const obj = parser.parse(tokenList)
|
|
356
|
-
|
|
357
|
-
if (
|
|
375
|
+
if (obj[0] !== 'error') { throw obj }
|
|
376
|
+
if (obj[1] !== 'unexpected token') { throw obj }
|
|
358
377
|
},
|
|
359
378
|
() => {
|
|
360
379
|
const tokenList = tokenizeString('const = 1 \n const b = 2 \n export default 3')
|
|
361
380
|
const obj = parser.parse(tokenList)
|
|
362
|
-
|
|
363
|
-
if (
|
|
381
|
+
if (obj[0] !== 'error') { throw obj }
|
|
382
|
+
if (obj[1] !== 'unexpected token') { throw obj }
|
|
364
383
|
},
|
|
365
384
|
() => {
|
|
366
385
|
const tokenList = tokenizeString('const a = 1 \n const a = 2 \n export default 3')
|
|
367
386
|
const obj = parser.parse(tokenList)
|
|
368
|
-
|
|
369
|
-
if (
|
|
387
|
+
if (obj[0] !== 'error') { throw obj }
|
|
388
|
+
if (obj[1] !== 'duplicate id') { throw obj }
|
|
370
389
|
},
|
|
371
390
|
],
|
|
372
391
|
validWithArgs:[
|
|
373
392
|
() => {
|
|
374
393
|
const tokenList = tokenizeString('import a from "test/test.f.mjs" \n export default a')
|
|
375
394
|
const obj = parser.parse(tokenList)
|
|
376
|
-
|
|
377
|
-
|
|
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 }
|
|
378
398
|
},
|
|
379
399
|
() => {
|
|
380
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]')
|
|
381
401
|
const obj = parser.parse(tokenList)
|
|
382
|
-
|
|
383
|
-
|
|
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 }
|
|
384
405
|
},
|
|
385
406
|
() => {
|
|
386
407
|
const tokenList = tokenizeString('import a from "test/test.f.mjs" \n const b = null \n export default [b, a, b]')
|
|
387
408
|
const obj = parser.parse(tokenList)
|
|
388
|
-
|
|
389
|
-
|
|
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 }
|
|
390
412
|
},
|
|
391
413
|
],
|
|
392
414
|
invalidWithArgs:[
|
|
393
415
|
() => {
|
|
394
416
|
const tokenList = tokenizeString('import a from "test/test.f.mjs" export default a')
|
|
395
417
|
const obj = parser.parse(tokenList)
|
|
396
|
-
|
|
397
|
-
if (
|
|
418
|
+
if (obj[0] !== 'error') { throw obj }
|
|
419
|
+
if (obj[1] !== 'unexpected token') { throw obj }
|
|
398
420
|
},
|
|
399
421
|
() => {
|
|
400
422
|
const tokenList = tokenizeString('import a from \n export default a')
|
|
401
423
|
const obj = parser.parse(tokenList)
|
|
402
|
-
|
|
403
|
-
if (
|
|
424
|
+
if (obj[0] !== 'error') { throw obj }
|
|
425
|
+
if (obj[1] !== 'unexpected token') { throw obj }
|
|
404
426
|
},
|
|
405
427
|
() => {
|
|
406
428
|
const tokenList = tokenizeString('import a "test/test.f.mjs" \n export default a')
|
|
407
429
|
const obj = parser.parse(tokenList)
|
|
408
|
-
|
|
409
|
-
if (
|
|
430
|
+
if (obj[0] !== 'error') { throw obj }
|
|
431
|
+
if (obj[1] !== 'unexpected token') { throw obj }
|
|
410
432
|
},
|
|
411
433
|
() => {
|
|
412
434
|
const tokenList = tokenizeString('import from "test/test.f.mjs" \n export default a')
|
|
413
435
|
const obj = parser.parse(tokenList)
|
|
414
|
-
|
|
415
|
-
if (
|
|
436
|
+
if (obj[0] !== 'error') { throw obj }
|
|
437
|
+
if (obj[1] !== 'unexpected token') { throw obj }
|
|
416
438
|
},
|
|
417
439
|
() => {
|
|
418
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]')
|
|
419
441
|
const obj = parser.parse(tokenList)
|
|
420
|
-
|
|
421
|
-
if (
|
|
442
|
+
if (obj[0] !== 'error') { throw obj }
|
|
443
|
+
if (obj[1] !== 'duplicate id') { throw obj }
|
|
422
444
|
},
|
|
423
445
|
() => {
|
|
424
446
|
const tokenList = tokenizeString('import a from "test/test.f.mjs" \n const a = null \n export default null')
|
|
425
447
|
const obj = parser.parse(tokenList)
|
|
426
|
-
|
|
427
|
-
if (
|
|
448
|
+
if (obj[0] !== 'error') { throw obj }
|
|
449
|
+
if (obj[1] !== 'duplicate id') { throw obj }
|
|
428
450
|
},
|
|
429
451
|
],
|
|
430
452
|
comments: [
|
|
431
453
|
() => {
|
|
432
454
|
const tokenList = tokenizeString('export //comment \n default /* comment */ null //comment')
|
|
433
455
|
const obj = parser.parse(tokenList)
|
|
434
|
-
|
|
435
|
-
|
|
456
|
+
if (obj[0] !== 'ok') { throw obj }
|
|
457
|
+
const result = stringifyDjsModule(obj[1])
|
|
458
|
+
if (result !== 'export default null') { throw result }
|
|
436
459
|
},
|
|
437
460
|
]
|
|
438
|
-
}
|
|
461
|
+
}
|