functionalscript 0.3.4 → 0.3.6
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/com/cpp/module.f.d.ts +10 -0
- package/com/cpp/module.f.js +107 -0
- package/com/cpp/test.f.d.ts +2 -0
- package/com/cpp/{test.f.ts → test.f.js} +9 -11
- package/com/cpp/testlib.f.d.ts +2 -0
- package/com/cpp/testlib.f.js +5 -0
- package/com/cs/module.f.d.ts +12 -0
- package/com/cs/module.f.js +80 -0
- package/com/cs/test.f.d.ts +2 -0
- package/com/cs/{test.f.ts → test.f.js} +9 -11
- package/com/cs/testlib.f.d.ts +2 -0
- package/com/cs/testlib.f.js +5 -0
- package/com/rust/module.f.d.ts +15 -0
- package/com/rust/module.f.js +169 -0
- package/com/rust/test.f.d.ts +2 -0
- package/com/rust/{test.f.ts → test.f.js} +7 -7
- package/com/rust/testlib.f.d.ts +2 -0
- package/com/rust/testlib.f.js +5 -0
- package/com/test/build.f.d.ts +20 -0
- package/com/test/build.f.js +58 -0
- package/com/types/module.f.d.ts +28 -0
- package/com/types/module.f.js +8 -0
- package/com/types/testlib.f.d.ts +44 -0
- package/com/types/{testlib.f.ts → testlib.f.js} +2 -3
- package/commonjs/build/module.f.d.ts +6 -0
- package/commonjs/build/module.f.js +69 -0
- package/commonjs/build/test.f.d.ts +2 -0
- package/commonjs/build/test.f.js +96 -0
- package/commonjs/module/function/{module.f.ts → module.f.d.ts} +5 -10
- package/commonjs/module/function/module.f.js +4 -0
- package/commonjs/module/module.f.d.ts +18 -0
- package/commonjs/module/module.f.js +12 -0
- package/commonjs/module.f.d.ts +6 -0
- package/commonjs/module.f.js +1 -0
- package/commonjs/package/dependencies/module.f.d.ts +7 -0
- package/commonjs/package/dependencies/module.f.js +13 -0
- package/commonjs/package/dependencies/test.f.d.ts +2 -0
- package/commonjs/package/dependencies/test.f.js +15 -0
- package/commonjs/package/module.f.d.ts +17 -0
- package/commonjs/package/module.f.js +18 -0
- package/commonjs/package/test.f.d.ts +2 -0
- package/commonjs/package/test.f.js +27 -0
- package/commonjs/path/module.f.d.ts +24 -0
- package/commonjs/path/module.f.js +114 -0
- package/commonjs/path/test.f.d.ts +25 -0
- package/commonjs/path/{test.f.ts → test.f.js} +123 -89
- package/crypto/prime_field/module.f.d.ts +43 -0
- package/crypto/prime_field/module.f.js +78 -0
- package/crypto/prime_field/test.f.d.ts +13 -0
- package/crypto/prime_field/test.f.js +149 -0
- package/crypto/secp/module.f.d.ts +68 -0
- package/crypto/secp/module.f.js +127 -0
- package/crypto/secp/test.f.d.ts +5 -0
- package/crypto/secp/test.f.js +72 -0
- package/crypto/sha2/module.f.d.ts +13 -0
- package/crypto/sha2/module.f.js +145 -0
- package/crypto/sha2/test.f.d.ts +9 -0
- package/crypto/sha2/test.f.js +82 -0
- package/dev/module.f.d.ts +1 -0
- package/dev/module.f.js +1 -0
- package/dev/test/module.f.d.ts +20 -0
- package/dev/test/module.f.js +75 -0
- package/dev/test.f.d.ts +9 -0
- package/dev/{test.f.ts → test.f.js} +22 -24
- package/djs/module.f.d.ts +17 -0
- package/djs/module.f.js +63 -0
- package/djs/parser/module.f.d.ts +12 -0
- package/djs/parser/module.f.js +333 -0
- package/djs/parser/test.f.d.ts +12 -0
- package/djs/parser/test.f.js +717 -0
- package/djs/serializer/module.f.d.ts +9 -0
- package/djs/serializer/module.f.js +81 -0
- package/djs/test/input.f.d.ts +2 -0
- package/djs/test/input.f.js +4 -0
- package/djs/test/m.f.d.ts +2 -0
- package/djs/test/m.f.js +1 -0
- package/djs/test.f.d.ts +12 -0
- package/djs/test.f.js +84 -0
- package/djs/tokenizer/module.f.d.ts +8 -0
- package/djs/tokenizer/module.f.js +60 -0
- package/djs/tokenizer/test.f.d.ts +7 -0
- package/djs/tokenizer/test.f.js +529 -0
- package/fsc/module.f.d.ts +5 -0
- package/fsc/module.f.js +75 -0
- package/fsc/test.f.d.ts +4 -0
- package/fsc/test.f.js +19 -0
- package/fsm/module.f.d.ts +13 -0
- package/fsm/module.f.js +59 -0
- package/fsm/test.f.d.ts +5 -0
- package/fsm/test.f.js +137 -0
- package/html/module.f.d.ts +13 -0
- package/html/module.f.js +58 -0
- package/html/test.f.d.ts +9 -0
- package/html/test.f.js +42 -0
- package/issues/test.f.d.ts +16 -0
- package/issues/test.f.js +70 -0
- package/js/tokenizer/module.f.d.ts +86 -0
- package/js/tokenizer/module.f.js +503 -0
- package/js/tokenizer/test.f.d.ts +9 -0
- package/js/tokenizer/test.f.js +905 -0
- package/json/module.f.d.ts +20 -0
- package/json/module.f.js +68 -0
- package/json/parser/module.f.d.ts +5 -0
- package/json/parser/module.f.js +155 -0
- package/json/parser/test.f.d.ts +5 -0
- package/json/parser/test.f.js +328 -0
- package/json/serializer/module.f.d.ts +7 -0
- package/json/serializer/module.f.js +21 -0
- package/json/serializer/test.f.d.ts +8 -0
- package/json/serializer/test.f.js +87 -0
- package/json/test.f.d.ts +8 -0
- package/json/test.f.js +61 -0
- package/json/tokenizer/module.f.d.ts +8 -0
- package/json/tokenizer/module.f.js +52 -0
- package/json/tokenizer/test.f.d.ts +6 -0
- package/json/tokenizer/test.f.js +419 -0
- package/nanvm-lib/tests/test.f.d.ts +27 -0
- package/nanvm-lib/tests/test.f.js +84 -0
- package/nodejs/version/module.f.d.ts +11 -0
- package/nodejs/version/module.f.js +16 -0
- package/nodejs/version/test.f.d.ts +2 -0
- package/nodejs/version/{test.f.ts → test.f.js} +13 -22
- package/package.json +9 -5
- package/text/ascii/module.f.d.ts +129 -0
- package/text/ascii/module.f.js +148 -0
- package/text/ascii/test.f.d.ts +4 -0
- package/text/ascii/test.f.js +14 -0
- package/text/module.f.d.ts +8 -0
- package/text/module.f.js +10 -0
- package/text/sgr/module.f.d.ts +8 -0
- package/text/sgr/module.f.js +8 -0
- package/text/test.f.d.ts +2 -0
- package/text/test.f.js +18 -0
- package/text/utf16/module.f.d.ts +9 -0
- package/text/utf16/module.f.js +66 -0
- package/text/utf16/test.f.d.ts +6 -0
- package/text/utf16/test.f.js +144 -0
- package/text/utf8/module.f.d.ts +6 -0
- package/text/utf8/module.f.js +112 -0
- package/text/utf8/test.f.d.ts +6 -0
- package/text/utf8/test.f.js +175 -0
- package/types/array/module.f.d.ts +21 -0
- package/types/array/module.f.js +23 -0
- package/types/array/test.f.d.ts +10 -0
- package/types/array/test.f.js +116 -0
- package/types/bigfloat/module.f.d.ts +3 -0
- package/types/bigfloat/module.f.js +66 -0
- package/types/bigfloat/test.f.d.ts +6 -0
- package/types/bigfloat/test.f.js +349 -0
- package/types/bigint/module.f.d.ts +54 -0
- package/types/bigint/{module.f.ts → module.f.js} +42 -65
- package/types/bigint/test.f.d.ts +16 -0
- package/types/bigint/test.f.js +199 -0
- package/types/bit_vec/module.f.d.ts +134 -0
- package/types/bit_vec/{module.f.ts → module.f.js} +47 -65
- package/types/bit_vec/test.f.d.ts +22 -0
- package/types/bit_vec/test.f.js +210 -0
- package/types/btree/find/module.f.d.ts +20 -0
- package/types/btree/find/module.f.js +84 -0
- package/types/btree/find/test.f.d.ts +2 -0
- package/types/btree/find/test.f.js +152 -0
- package/types/btree/module.f.d.ts +4 -0
- package/types/btree/module.f.js +31 -0
- package/types/btree/remove/module.f.d.ts +4 -0
- package/types/btree/remove/module.f.js +174 -0
- package/types/btree/remove/test.f.d.ts +5 -0
- package/types/btree/remove/test.f.js +634 -0
- package/types/btree/set/module.f.d.ts +3 -0
- package/types/btree/set/module.f.js +103 -0
- package/types/btree/set/test.f.d.ts +2 -0
- package/types/btree/set/test.f.js +360 -0
- package/types/btree/test.f.d.ts +8 -0
- package/types/btree/test.f.js +75 -0
- package/types/btree/types/module.f.d.ts +11 -0
- package/types/btree/types/module.f.js +1 -0
- package/types/byte_set/module.f.d.ts +16 -0
- package/types/byte_set/module.f.js +28 -0
- package/types/byte_set/test.f.d.ts +12 -0
- package/types/byte_set/test.f.js +122 -0
- package/types/function/compare/module.f.d.ts +10 -0
- package/types/function/compare/module.f.js +7 -0
- package/types/function/compare/test.f.d.ts +2 -0
- package/types/function/compare/test.f.js +8 -0
- package/types/function/module.f.d.ts +28 -0
- package/types/function/module.f.js +19 -0
- package/types/function/operator/module.f.d.ts +20 -0
- package/types/function/operator/module.f.js +18 -0
- package/types/function/test.f.d.ts +2 -0
- package/types/function/test.f.js +12 -0
- package/types/list/module.f.d.ts +50 -0
- package/types/list/module.f.js +171 -0
- package/types/list/test.f.d.ts +22 -0
- package/types/list/test.f.js +395 -0
- package/types/map/module.f.d.ts +14 -0
- package/types/map/module.f.js +31 -0
- package/types/map/test.f.d.ts +5 -0
- package/types/map/test.f.js +114 -0
- package/types/nibble_set/module.f.d.ts +10 -0
- package/types/nibble_set/module.f.js +9 -0
- package/types/nibble_set/test.f.d.ts +12 -0
- package/types/nibble_set/test.f.js +90 -0
- package/types/nullable/module.f.d.ts +3 -0
- package/types/nullable/module.f.js +2 -0
- package/types/nullable/test.f.d.ts +2 -0
- package/types/nullable/test.f.js +12 -0
- package/types/number/module.f.d.ts +6 -0
- package/types/number/module.f.js +8 -0
- package/types/number/test.f.d.ts +11 -0
- package/types/number/test.f.js +124 -0
- package/types/object/module.f.d.ts +10 -0
- package/types/object/module.f.js +12 -0
- package/types/object/test.f.d.ts +5 -0
- package/types/object/test.f.js +17 -0
- package/types/range/module.f.d.ts +3 -0
- package/types/range/module.f.js +2 -0
- package/types/range/test.f.d.ts +2 -0
- package/types/range/test.f.js +18 -0
- package/types/range_map/module.f.d.ts +14 -0
- package/types/range_map/module.f.js +51 -0
- package/types/range_map/test.f.d.ts +6 -0
- package/types/range_map/test.f.js +176 -0
- package/types/result/module.f.d.ts +7 -0
- package/types/result/module.f.js +8 -0
- package/types/sorted_list/module.f.d.ts +16 -0
- package/types/sorted_list/module.f.js +56 -0
- package/types/sorted_list/test.f.d.ts +5 -0
- package/types/sorted_list/test.f.js +64 -0
- package/types/sorted_set/module.f.d.ts +7 -0
- package/types/sorted_set/module.f.js +14 -0
- package/types/sorted_set/test.f.d.ts +6 -0
- package/types/sorted_set/test.f.js +78 -0
- package/types/string/module.f.d.ts +6 -0
- package/types/string/module.f.js +11 -0
- package/types/string/test.f.d.ts +15 -0
- package/types/string/test.f.js +58 -0
- package/types/string_set/module.f.d.ts +9 -0
- package/types/string_set/module.f.js +22 -0
- package/types/string_set/test.f.d.ts +5 -0
- package/types/string_set/test.f.js +65 -0
- package/.github/FUNDING.yml +0 -12
- package/.github/dependabot.yml +0 -11
- package/.github/workflows/ci.yml +0 -88
- package/.github/workflows/npm-publish.yml +0 -53
- package/CHANGELOG.md +0 -29
- package/Cargo.lock +0 -18
- package/Cargo.toml +0 -7
- package/com/README.md +0 -3
- package/com/cpp/README.md +0 -80
- package/com/cpp/module.f.ts +0 -180
- package/com/cpp/nanocom.hpp +0 -195
- package/com/cpp/testlib.f.ts +0 -8
- package/com/cs/module.f.ts +0 -145
- package/com/cs/testlib.f.ts +0 -8
- package/com/proposals.md +0 -28
- package/com/rust/module.f.ts +0 -287
- package/com/rust/nanocom/Cargo.lock +0 -7
- package/com/rust/nanocom/Cargo.toml +0 -15
- package/com/rust/nanocom/README.md +0 -56
- package/com/rust/nanocom/src/class.rs +0 -6
- package/com/rust/nanocom/src/cobject.rs +0 -90
- package/com/rust/nanocom/src/guid.rs +0 -15
- package/com/rust/nanocom/src/hresult.rs +0 -7
- package/com/rust/nanocom/src/interface.rs +0 -9
- package/com/rust/nanocom/src/iunknown.rs +0 -13
- package/com/rust/nanocom/src/lib.rs +0 -20
- package/com/rust/nanocom/src/object.rs +0 -34
- package/com/rust/nanocom/src/ref.rs +0 -57
- package/com/rust/nanocom/src/vmt.rs +0 -7
- package/com/rust/nanocom/tests/it.rs +0 -186
- package/com/rust/nanocom/tests/itmod.rs +0 -195
- package/com/rust/testlib.f.ts +0 -8
- package/com/test/build.f.ts +0 -111
- package/com/test/build.ts +0 -45
- package/com/test/cpp/main.cpp +0 -74
- package/com/test/cs/Program.cs +0 -31
- package/com/test/cs/cs.csproj +0 -16
- package/com/test/rust/Cargo.toml +0 -12
- package/com/test/rust/src/lib.rs +0 -56
- package/com/types/module.f.ts +0 -62
- package/commonjs/README.md +0 -94
- package/commonjs/build/module.f.ts +0 -100
- package/commonjs/build/test.f.ts +0 -107
- package/commonjs/module/module.f.ts +0 -41
- package/commonjs/module.f.ts +0 -7
- package/commonjs/module.ts +0 -31
- package/commonjs/package/dependencies/module.f.ts +0 -22
- package/commonjs/package/dependencies/test.f.ts +0 -8
- package/commonjs/package/module.f.ts +0 -31
- package/commonjs/package/test.f.ts +0 -12
- package/commonjs/path/README.md +0 -17
- package/commonjs/path/module.f.ts +0 -171
- package/commonjs/test.ts +0 -64
- package/crypto/README.md +0 -3
- package/crypto/prime_field/module.f.ts +0 -114
- package/crypto/prime_field/test.f.ts +0 -95
- package/crypto/secp/module.f.ts +0 -182
- package/crypto/secp/test.f.ts +0 -68
- package/crypto/sha2/module.f.ts +0 -215
- package/crypto/sha2/test.f.ts +0 -83
- package/deno.json +0 -71
- package/dev/README.md +0 -8
- package/dev/index.ts +0 -3
- package/dev/module.f.ts +0 -1
- package/dev/module.ts +0 -195
- package/dev/test/module.f.ts +0 -135
- package/dev/test.ts +0 -53
- package/djs/README.md +0 -54
- package/djs/module.f.ts +0 -76
- package/djs/parser/module.f.ts +0 -509
- package/djs/parser/test.f.ts +0 -461
- package/djs/serializer/module.f.ts +0 -90
- package/djs/test.f.ts +0 -67
- package/djs/tokenizer/module.f.ts +0 -99
- package/djs/tokenizer/test.f.ts +0 -364
- package/doc/LANGUAGE.md +0 -255
- package/doc/README.md +0 -61
- package/doc/byte-code.md +0 -59
- package/doc/fa.md +0 -174
- package/doc/predefined.md +0 -143
- package/doc/proposals.md +0 -21
- package/doc/vm/README.md +0 -24
- package/doc/vm-rearchitecture.md +0 -129
- package/doc/vm.md +0 -150
- package/fsc/README.md +0 -111
- package/fsc/module.f.ts +0 -122
- package/fsc/test.f.ts +0 -21
- package/fsm/README.md +0 -113
- package/fsm/module.f.ts +0 -107
- package/fsm/test.f.ts +0 -139
- package/funding.json +0 -61
- package/html/README.md +0 -32
- package/html/module.f.ts +0 -109
- package/html/test.f.ts +0 -37
- package/issues/01-test-debug.md +0 -3
- package/issues/02-esm.md +0 -8
- package/issues/03-djs.md +0 -57
- package/issues/05-publish.md +0 -40
- package/issues/11-fs-load.md +0 -13
- package/issues/17-djs-extension.md +0 -6
- package/issues/README.md +0 -42
- package/issues/lang/1000-json.md +0 -50
- package/issues/lang/2110-default-export.md +0 -11
- package/issues/lang/2120-const.md +0 -14
- package/issues/lang/2130-default-import.md +0 -10
- package/issues/lang/2210-block-comment.md +0 -12
- package/issues/lang/2220-namespace-import.md +0 -25
- package/issues/lang/2310-undefined.md +0 -7
- package/issues/lang/2320-bigint.md +0 -7
- package/issues/lang/2330-property-accessor.md +0 -225
- package/issues/lang/2340-operators.md +0 -41
- package/issues/lang/2350-grouping.md +0 -11
- package/issues/lang/2360-built-in.md +0 -81
- package/issues/lang/2410-identifier-property.md +0 -9
- package/issues/lang/2420-line-comment.md +0 -10
- package/issues/lang/2430-trailing-comma.md +0 -13
- package/issues/lang/2440-shorthand.md +0 -8
- package/issues/lang/2450-destructuring.md +0 -12
- package/issues/lang/3110-function.md +0 -35
- package/issues/lang/3120-parameters.md +0 -9
- package/issues/lang/3130-body-const.md +0 -12
- package/issues/lang/3220-let.md +0 -11
- package/issues/lang/3240-export.md +0 -44
- package/issues/lang/3370-type-inference.md +0 -69
- package/issues/lang/3380-promise.md +0 -22
- package/issues/lang/3390-class.md +0 -3
- package/issues/lang/3410-expression.md +0 -12
- package/issues/lang/3420-one-parameter.md +0 -10
- package/issues/lang/3430-assignments.md +0 -23
- package/issues/lang/README.md +0 -193
- package/issues/test.f.ts +0 -58
- package/js/tokenizer/module.f.ts +0 -882
- package/js/tokenizer/test.f.ts +0 -617
- package/json/html/README.md +0 -49
- package/json/module.f.ts +0 -94
- package/json/parser/module.f.ts +0 -221
- package/json/parser/test.f.ts +0 -255
- package/json/serializer/module.f.ts +0 -74
- package/json/serializer/test.f.ts +0 -64
- package/json/test.f.ts +0 -48
- package/json/tokenizer/module.f.ts +0 -85
- package/json/tokenizer/test.f.ts +0 -290
- package/nanvm-lib/Cargo.toml +0 -6
- package/nanvm-lib/src/extension.rs +0 -130
- package/nanvm-lib/src/interface.rs +0 -133
- package/nanvm-lib/src/lib.rs +0 -7
- package/nanvm-lib/src/naive.rs +0 -236
- package/nanvm-lib/src/nanenum.rs +0 -236
- package/nanvm-lib/src/nullish.rs +0 -7
- package/nanvm-lib/src/sign.rs +0 -5
- package/nanvm-lib/src/simple.rs +0 -32
- package/nanvm-lib/tests/test.f.ts +0 -80
- package/nanvm-lib/tests/test.rs +0 -108
- package/nodejs/version/main.ts +0 -4
- package/nodejs/version/module.f.ts +0 -42
- package/text/README.md +0 -110
- package/text/ascii/module.f.ts +0 -219
- package/text/ascii/test.f.ts +0 -14
- package/text/module.f.ts +0 -30
- package/text/sgr/README.md +0 -3
- package/text/sgr/module.f.ts +0 -11
- package/text/test.f.ts +0 -19
- package/text/utf16/module.f.ts +0 -120
- package/text/utf16/test.f.ts +0 -107
- package/text/utf8/module.f.ts +0 -116
- package/text/utf8/test.f.ts +0 -125
- package/tsconfig.json +0 -104
- package/types/array/module.f.ts +0 -89
- package/types/array/test.f.ts +0 -88
- package/types/bigfloat/module.f.ts +0 -93
- package/types/bigfloat/test.f.ts +0 -218
- package/types/bigint/README.md +0 -35
- package/types/bigint/test.f.ts +0 -144
- package/types/bit_vec/README.md +0 -18
- package/types/bit_vec/test.f.ts +0 -129
- package/types/btree/README.md +0 -160
- package/types/btree/find/module.f.ts +0 -92
- package/types/btree/find/test.f.ts +0 -122
- package/types/btree/module.f.ts +0 -35
- package/types/btree/remove/module.f.ts +0 -151
- package/types/btree/remove/test.f.ts +0 -498
- package/types/btree/set/module.f.ts +0 -89
- package/types/btree/set/test.f.ts +0 -415
- package/types/btree/test.f.ts +0 -92
- package/types/btree/types/module.f.ts +0 -27
- package/types/byte_set/module.f.ts +0 -73
- package/types/byte_set/test.f.ts +0 -84
- package/types/function/compare/module.f.ts +0 -26
- package/types/function/compare/test.f.ts +0 -7
- package/types/function/module.f.ts +0 -43
- package/types/function/operator/module.f.ts +0 -65
- package/types/function/test.f.ts +0 -20
- package/types/list/module.f.ts +0 -350
- package/types/list/test.f.ts +0 -327
- package/types/map/module.f.ts +0 -65
- package/types/map/test.f.ts +0 -76
- package/types/nibble_set/module.f.ts +0 -34
- package/types/nibble_set/test.f.ts +0 -57
- package/types/nullable/module.f.ts +0 -9
- package/types/nullable/test.f.ts +0 -9
- package/types/number/module.f.ts +0 -20
- package/types/number/test.f.ts +0 -194
- package/types/object/module.f.ts +0 -30
- package/types/object/test.f.ts +0 -14
- package/types/range/module.f.ts +0 -10
- package/types/range/test.f.ts +0 -9
- package/types/range_map/module.f.ts +0 -70
- package/types/range_map/test.f.ts +0 -189
- package/types/result/module.f.ts +0 -20
- package/types/result/module.ts +0 -18
- package/types/sorted_list/module.f.ts +0 -83
- package/types/sorted_list/test.f.ts +0 -57
- package/types/sorted_set/module.f.ts +0 -36
- package/types/sorted_set/test.f.ts +0 -67
- package/types/string/module.f.ts +0 -26
- package/types/string/test.f.ts +0 -43
- package/types/string_set/module.f.ts +0 -37
- package/types/string_set/test.f.ts +0 -34
package/djs/parser/test.f.ts
DELETED
|
@@ -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
|
-
}
|