goscript 0.1.4 → 0.2.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/README.md +5 -2
- package/cmd/go_js_wasm_exec/main.go +201 -0
- package/cmd/go_js_wasm_exec/main_test.go +83 -0
- package/cmd/goscript/{cmd_compile.go → cmd-compile.go} +7 -0
- package/cmd/goscript/cmd-test.go +14 -0
- package/cmd/goscript/cmd-test_test.go +1 -1
- package/compiler/compile-request.go +12 -9
- package/compiler/compliance_test.go +0 -1
- package/compiler/config.go +2 -0
- package/compiler/gotest/request.go +28 -0
- package/compiler/gotest/runner.go +353 -27
- package/compiler/gotest/runner_test.go +273 -1
- package/compiler/gotest/testdata/browserapi/browserapi_test.go +20 -0
- package/compiler/gotest/testdata/browserapi/go.mod +3 -0
- package/compiler/lowered-program.go +24 -17
- package/compiler/lowering.go +392 -127
- package/compiler/lowering_bench_test.go +41 -27
- package/compiler/override-facts.go +15 -0
- package/compiler/override-parity-verifier.go +450 -0
- package/compiler/override-parity.go +122 -0
- package/compiler/override-registry_test.go +559 -0
- package/compiler/protobuf-ts-binding.go +514 -0
- package/compiler/protobuf-ts-binding_test.go +172 -0
- package/compiler/semantic-model-types.go +9 -4
- package/compiler/semantic-model.go +282 -70
- package/compiler/semantic-model_test.go +82 -1
- package/compiler/service.go +20 -1
- package/compiler/skeleton_test.go +62 -8
- package/compiler/typescript-emitter.go +128 -13
- package/dist/gs/builtin/slice.d.ts +2 -1
- package/dist/gs/builtin/slice.js +29 -4
- package/dist/gs/builtin/slice.js.map +1 -1
- package/dist/gs/builtin/type.d.ts +13 -5
- package/dist/gs/builtin/type.js +153 -60
- package/dist/gs/builtin/type.js.map +1 -1
- package/dist/gs/builtin/varRef.d.ts +11 -0
- package/dist/gs/builtin/varRef.js +57 -2
- package/dist/gs/builtin/varRef.js.map +1 -1
- package/dist/gs/bytes/buffer.gs.js +1 -1
- package/dist/gs/bytes/buffer.gs.js.map +1 -1
- package/dist/gs/bytes/reader.gs.js +1 -1
- package/dist/gs/bytes/reader.gs.js.map +1 -1
- package/dist/gs/compress/zlib/index.d.ts +10 -3
- package/dist/gs/compress/zlib/index.js +50 -16
- package/dist/gs/compress/zlib/index.js.map +1 -1
- package/dist/gs/encoding/json/index.d.ts +114 -0
- package/dist/gs/encoding/json/index.js +544 -36
- package/dist/gs/encoding/json/index.js.map +1 -1
- package/dist/gs/github.com/aperturerobotics/protobuf-go-lite/index.d.ts +100 -0
- package/dist/gs/github.com/aperturerobotics/protobuf-go-lite/index.js +564 -0
- package/dist/gs/github.com/aperturerobotics/protobuf-go-lite/index.js.map +1 -1
- package/dist/gs/github.com/pkg/errors/errors.js +54 -30
- package/dist/gs/github.com/pkg/errors/errors.js.map +1 -1
- package/dist/gs/go/scanner/index.d.ts +2 -0
- package/dist/gs/go/scanner/index.js +29 -5
- package/dist/gs/go/scanner/index.js.map +1 -1
- package/dist/gs/go/token/index.js +22 -6
- package/dist/gs/go/token/index.js.map +1 -1
- package/dist/gs/hash/index.d.ts +6 -0
- package/dist/gs/hash/index.js +20 -0
- package/dist/gs/hash/index.js.map +1 -1
- package/dist/gs/internal/goarch/index.d.ts +43 -3
- package/dist/gs/internal/goarch/index.js +42 -10
- package/dist/gs/internal/goarch/index.js.map +1 -1
- package/dist/gs/io/fs/fs.js +26 -14
- package/dist/gs/io/fs/fs.js.map +1 -1
- package/dist/gs/io/fs/readdir.js +4 -2
- package/dist/gs/io/fs/readdir.js.map +1 -1
- package/dist/gs/io/fs/sub.js +8 -1
- package/dist/gs/io/fs/sub.js.map +1 -1
- package/dist/gs/io/io.d.ts +2 -0
- package/dist/gs/io/io.js.map +1 -1
- package/dist/gs/math/bits/index.d.ts +5 -0
- package/dist/gs/math/bits/index.js +16 -4
- package/dist/gs/math/bits/index.js.map +1 -1
- package/dist/gs/mime/index.d.ts +16 -0
- package/dist/gs/mime/index.js +315 -6
- package/dist/gs/mime/index.js.map +1 -1
- package/dist/gs/net/http/httptest/index.d.ts +12 -0
- package/dist/gs/net/http/httptest/index.js +85 -6
- package/dist/gs/net/http/httptest/index.js.map +1 -1
- package/dist/gs/net/http/index.d.ts +300 -5
- package/dist/gs/net/http/index.js +1598 -58
- package/dist/gs/net/http/index.js.map +1 -1
- package/dist/gs/os/dir_unix.gs.js +1 -1
- package/dist/gs/os/dir_unix.gs.js.map +1 -1
- package/dist/gs/os/error.gs.js +1 -1
- package/dist/gs/os/error.gs.js.map +1 -1
- package/dist/gs/os/exec.gs.d.ts +1 -0
- package/dist/gs/os/exec.gs.js +4 -8
- package/dist/gs/os/exec.gs.js.map +1 -1
- package/dist/gs/os/exec_posix.gs.js +1 -1
- package/dist/gs/os/exec_posix.gs.js.map +1 -1
- package/dist/gs/os/index.d.ts +1 -1
- package/dist/gs/os/index.js +1 -1
- package/dist/gs/os/index.js.map +1 -1
- package/dist/gs/os/proc.gs.d.ts +4 -0
- package/dist/gs/os/proc.gs.js +12 -6
- package/dist/gs/os/proc.gs.js.map +1 -1
- package/dist/gs/os/root_js.gs.js +1 -1
- package/dist/gs/os/root_js.gs.js.map +1 -1
- package/dist/gs/os/types.gs.js +1 -1
- package/dist/gs/os/types.gs.js.map +1 -1
- package/dist/gs/os/types_js.gs.js +1 -1
- package/dist/gs/os/types_js.gs.js.map +1 -1
- package/dist/gs/os/types_unix.gs.js +1 -1
- package/dist/gs/os/types_unix.gs.js.map +1 -1
- package/dist/gs/path/path.js +11 -7
- package/dist/gs/path/path.js.map +1 -1
- package/dist/gs/reflect/index.d.ts +5 -4
- package/dist/gs/reflect/index.js +4 -3
- package/dist/gs/reflect/index.js.map +1 -1
- package/dist/gs/reflect/map.js +15 -0
- package/dist/gs/reflect/map.js.map +1 -1
- package/dist/gs/reflect/type.d.ts +25 -6
- package/dist/gs/reflect/type.js +1418 -228
- package/dist/gs/reflect/type.js.map +1 -1
- package/dist/gs/reflect/types.d.ts +14 -6
- package/dist/gs/reflect/types.js +35 -1
- package/dist/gs/reflect/types.js.map +1 -1
- package/dist/gs/reflect/value.d.ts +1 -0
- package/dist/gs/reflect/value.js +83 -41
- package/dist/gs/reflect/value.js.map +1 -1
- package/dist/gs/reflect/visiblefields.js +4 -140
- package/dist/gs/reflect/visiblefields.js.map +1 -1
- package/dist/gs/runtime/pprof/index.d.ts +8 -2
- package/dist/gs/runtime/pprof/index.js +50 -30
- package/dist/gs/runtime/pprof/index.js.map +1 -1
- package/dist/gs/runtime/runtime.js +5 -4
- package/dist/gs/runtime/runtime.js.map +1 -1
- package/dist/gs/runtime/trace/index.js +5 -19
- package/dist/gs/runtime/trace/index.js.map +1 -1
- package/dist/gs/strconv/atoi.gs.js +1 -1
- package/dist/gs/strconv/atoi.gs.js.map +1 -1
- package/dist/gs/strconv/complex.gs.d.ts +3 -0
- package/dist/gs/strconv/complex.gs.js +148 -0
- package/dist/gs/strconv/complex.gs.js.map +1 -0
- package/dist/gs/strconv/index.d.ts +1 -0
- package/dist/gs/strconv/index.js +1 -0
- package/dist/gs/strconv/index.js.map +1 -1
- package/dist/gs/strings/builder.js +1 -1
- package/dist/gs/strings/reader.js +9 -5
- package/dist/gs/strings/reader.js.map +1 -1
- package/dist/gs/strings/replace.js +15 -7
- package/dist/gs/strings/replace.js.map +1 -1
- package/dist/gs/strings/strings.d.ts +5 -0
- package/dist/gs/strings/strings.js +57 -5
- package/dist/gs/strings/strings.js.map +1 -1
- package/dist/gs/sync/atomic/type.gs.js +9 -9
- package/dist/gs/sync/atomic/type.gs.js.map +1 -1
- package/dist/gs/sync/atomic/value.gs.js +2 -2
- package/dist/gs/sync/atomic/value.gs.js.map +1 -1
- package/dist/gs/syscall/env.js +22 -14
- package/dist/gs/syscall/env.js.map +1 -1
- package/dist/gs/testing/testing.js +55 -13
- package/dist/gs/testing/testing.js.map +1 -1
- package/dist/gs/time/time.d.ts +24 -1
- package/dist/gs/time/time.js +43 -3
- package/dist/gs/time/time.js.map +1 -1
- package/dist/gs/unique/index.js +7 -1
- package/dist/gs/unique/index.js.map +1 -1
- package/go.mod +3 -3
- package/go.sum +16 -0
- package/gs/builtin/runtime-contract.test.ts +218 -21
- package/gs/builtin/slice.ts +44 -4
- package/gs/builtin/type.ts +226 -59
- package/gs/builtin/varRef.ts +85 -2
- package/gs/bytes/buffer.gs.ts +1 -1
- package/gs/bytes/reader.gs.ts +1 -1
- package/gs/compress/zlib/index.test.ts +62 -1
- package/gs/compress/zlib/index.ts +53 -16
- package/gs/compress/zlib/parity.json +51 -0
- package/gs/encoding/json/index.test.ts +360 -6
- package/gs/encoding/json/index.ts +679 -38
- package/gs/encoding/json/parity.json +81 -0
- package/gs/github.com/aperturerobotics/protobuf-go-lite/index.test.ts +211 -3
- package/gs/github.com/aperturerobotics/protobuf-go-lite/index.ts +857 -1
- package/gs/github.com/pkg/errors/errors.ts +54 -30
- package/gs/go/scanner/index.test.ts +39 -56
- package/gs/go/scanner/index.ts +33 -5
- package/gs/go/scanner/parity.json +27 -0
- package/gs/go/token/index.ts +22 -6
- package/gs/hash/index.test.ts +20 -33
- package/gs/hash/index.ts +28 -0
- package/gs/hash/parity.json +21 -0
- package/gs/internal/goarch/index.test.ts +32 -0
- package/gs/internal/goarch/index.ts +45 -13
- package/gs/internal/goarch/parity.json +144 -0
- package/gs/io/fs/fs.ts +26 -14
- package/gs/io/fs/readdir.ts +4 -4
- package/gs/io/fs/sub.ts +8 -1
- package/gs/io/io.ts +1 -0
- package/gs/io/parity.json +162 -0
- package/gs/math/bits/index.test.ts +14 -1
- package/gs/math/bits/index.ts +23 -4
- package/gs/math/bits/parity.json +156 -0
- package/gs/mime/index.test.ts +90 -0
- package/gs/mime/index.ts +369 -6
- package/gs/mime/parity.json +36 -0
- package/gs/net/http/httptest/index.test.ts +98 -2
- package/gs/net/http/httptest/index.ts +101 -6
- package/gs/net/http/httptest/parity.json +15 -0
- package/gs/net/http/index.test.ts +781 -12
- package/gs/net/http/index.ts +1860 -139
- package/gs/net/http/meta.json +16 -1
- package/gs/net/http/parity.json +193 -0
- package/gs/os/dir_unix.gs.ts +1 -1
- package/gs/os/error.gs.ts +1 -1
- package/gs/os/exec.gs.ts +4 -8
- package/gs/os/exec_posix.gs.ts +1 -1
- package/gs/os/index.test.ts +9 -0
- package/gs/os/index.ts +1 -0
- package/gs/os/parity.json +9 -0
- package/gs/os/proc.gs.ts +18 -5
- package/gs/os/proc.test.ts +26 -0
- package/gs/os/root_js.gs.ts +1 -1
- package/gs/os/types.gs.ts +1 -1
- package/gs/os/types_js.gs.ts +1 -1
- package/gs/os/types_unix.gs.ts +1 -1
- package/gs/path/path.ts +11 -7
- package/gs/reflect/field.test.ts +37 -15
- package/gs/reflect/function-types.test.ts +518 -22
- package/gs/reflect/index.ts +8 -6
- package/gs/reflect/map.ts +20 -0
- package/gs/reflect/meta.json +6 -4
- package/gs/reflect/parity.json +234 -0
- package/gs/reflect/sliceat.test.ts +156 -0
- package/gs/reflect/structof.test.ts +401 -0
- package/gs/reflect/type.ts +1897 -317
- package/gs/reflect/typefor.test.ts +510 -10
- package/gs/reflect/types.ts +43 -18
- package/gs/reflect/value.ts +105 -45
- package/gs/reflect/visiblefields.ts +5 -168
- package/gs/runtime/parity.json +24 -0
- package/gs/runtime/pprof/index.test.ts +29 -7
- package/gs/runtime/pprof/index.ts +56 -30
- package/gs/runtime/pprof/parity.json +27 -0
- package/gs/runtime/runtime.test.ts +3 -1
- package/gs/runtime/runtime.ts +4 -3
- package/gs/runtime/trace/index.test.ts +5 -3
- package/gs/runtime/trace/index.ts +8 -20
- package/gs/runtime/trace/parity.json +36 -0
- package/gs/strconv/atoi.gs.ts +1 -1
- package/gs/strconv/complex.gs.ts +174 -0
- package/gs/strconv/complex.test.ts +65 -0
- package/gs/strconv/index.ts +1 -0
- package/gs/strconv/parity.json +120 -0
- package/gs/strings/builder.ts +1 -1
- package/gs/strings/parity.json +186 -0
- package/gs/strings/reader.ts +9 -5
- package/gs/strings/replace.ts +15 -7
- package/gs/strings/strings.test.ts +22 -2
- package/gs/strings/strings.ts +64 -6
- package/gs/sync/atomic/type.gs.ts +9 -9
- package/gs/sync/atomic/value.gs.ts +2 -2
- package/gs/syscall/env.ts +29 -14
- package/gs/testing/testing.test.ts +67 -0
- package/gs/testing/testing.ts +87 -19
- package/gs/time/parity.json +225 -0
- package/gs/time/time.test.ts +20 -2
- package/gs/time/time.ts +49 -7
- package/gs/unique/index.ts +7 -1
- package/package.json +4 -2
- package/dist/gs/github.com/aperturerobotics/starpc/srpc/index.d.ts +0 -217
- package/dist/gs/github.com/aperturerobotics/starpc/srpc/index.js +0 -926
- package/dist/gs/github.com/aperturerobotics/starpc/srpc/index.js.map +0 -1
- package/gs/github.com/aperturerobotics/starpc/srpc/index.test.ts +0 -38
- package/gs/github.com/aperturerobotics/starpc/srpc/index.ts +0 -1361
- package/gs/github.com/aperturerobotics/starpc/srpc/meta.json +0 -46
- /package/compiler/{wasm_api.go → wasm-api.go} +0 -0
package/dist/gs/reflect/value.js
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import * as $ from '@goscript/builtin/index.js';
|
|
2
|
-
import { Array, Bool, Float32, Float64, Int, Int16, Int32, Int64, Int8, Map, PointerTo, Ptr, Slice, String, Uint, Uint16, Uint32, Uint64, Uint8, Uintptr, Value, Chan, BasicType, Invalid, } from './type.js';
|
|
2
|
+
import { Array, Bool, Float32, Float64, Int, Int16, Int32, Int64, Int8, Map, PointerTo, Ptr, Slice, SliceOf, Struct, String, Uint, Uint16, Uint32, Uint64, Uint8, Uintptr, Value, Chan, BasicType, Invalid, structFieldStorageKey, typeInfoFromReflectType, } from './type.js';
|
|
3
3
|
import { SelectRecv, SelectDefault, } from './types.js';
|
|
4
4
|
// Zero returns a Value representing the zero value for the specified type.
|
|
5
5
|
export function Zero(typ) {
|
|
6
6
|
if (typ === null) {
|
|
7
7
|
return new Value(); // Return invalid value for null type
|
|
8
8
|
}
|
|
9
|
-
|
|
9
|
+
return new Value(zeroReflectValue(typ), typ);
|
|
10
|
+
}
|
|
11
|
+
function zeroReflectValue(typ) {
|
|
10
12
|
switch (typ.Kind()) {
|
|
11
13
|
case Bool:
|
|
12
|
-
|
|
13
|
-
break;
|
|
14
|
+
return false;
|
|
14
15
|
case Int:
|
|
15
16
|
case Int8:
|
|
16
17
|
case Int16:
|
|
@@ -24,20 +25,54 @@ export function Zero(typ) {
|
|
|
24
25
|
case Uintptr:
|
|
25
26
|
case Float32:
|
|
26
27
|
case Float64:
|
|
27
|
-
|
|
28
|
-
break;
|
|
28
|
+
return 0;
|
|
29
29
|
case String:
|
|
30
|
-
|
|
31
|
-
break;
|
|
30
|
+
return '';
|
|
32
31
|
case Slice:
|
|
33
32
|
case Array:
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
return [];
|
|
34
|
+
case Struct: {
|
|
35
|
+
const typeInfo = $.getTypeByName(typ.String());
|
|
36
|
+
if (typeInfo && $.isStructTypeInfo(typeInfo) && typeInfo.ctor) {
|
|
37
|
+
return $.markAsStructValue(new typeInfo.ctor());
|
|
38
|
+
}
|
|
39
|
+
return newStructValue(typ);
|
|
40
|
+
}
|
|
36
41
|
default:
|
|
37
|
-
|
|
38
|
-
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
function newStructValue(typ) {
|
|
46
|
+
const StructValue = class {
|
|
47
|
+
_fields = {};
|
|
48
|
+
clone() {
|
|
49
|
+
const cloned = newStructValue(typ);
|
|
50
|
+
for (const key of Object.keys(this._fields)) {
|
|
51
|
+
cloned._fields[key].value = this._fields[key].value;
|
|
52
|
+
}
|
|
53
|
+
return cloned;
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
Object.defineProperty(StructValue, '__reflectType', { value: typ });
|
|
57
|
+
Object.defineProperty(StructValue, '__typeInfo', {
|
|
58
|
+
value: typeInfoFromReflectType(typ),
|
|
59
|
+
});
|
|
60
|
+
const value = new StructValue();
|
|
61
|
+
for (let i = 0; i < typ.NumField(); i++) {
|
|
62
|
+
const field = typ.Field(i);
|
|
63
|
+
const key = structFieldStorageKey(typ, i);
|
|
64
|
+
const ref = $.varRef(zeroReflectValue(field.Type));
|
|
65
|
+
value._fields[key] = ref;
|
|
66
|
+
Object.defineProperty(value, key, {
|
|
67
|
+
enumerable: true,
|
|
68
|
+
configurable: true,
|
|
69
|
+
get: () => ref.value,
|
|
70
|
+
set: (next) => {
|
|
71
|
+
ref.value = next;
|
|
72
|
+
},
|
|
73
|
+
});
|
|
39
74
|
}
|
|
40
|
-
return
|
|
75
|
+
return value;
|
|
41
76
|
}
|
|
42
77
|
// Copy copies the contents of src to dst until either dst has been filled
|
|
43
78
|
// or src has been exhausted. It returns the number of elements copied.
|
|
@@ -72,17 +107,12 @@ function getArrayFromValue(value) {
|
|
|
72
107
|
}
|
|
73
108
|
// Indirect returns the value that v points to.
|
|
74
109
|
export function Indirect(v) {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
// Ptr kind
|
|
79
|
-
const elemType = type.Elem();
|
|
80
|
-
if (elemType) {
|
|
81
|
-
// Return a new Value with the same underlying value but the element type
|
|
82
|
-
return new Value(v.value, elemType);
|
|
110
|
+
if (v.Kind() === Ptr) {
|
|
111
|
+
if (v.IsNil()) {
|
|
112
|
+
return new Value();
|
|
83
113
|
}
|
|
114
|
+
return v.Elem();
|
|
84
115
|
}
|
|
85
|
-
// For non-pointer types, just return the value as-is
|
|
86
116
|
return v;
|
|
87
117
|
}
|
|
88
118
|
// New returns a Value representing a pointer to a new zero value for the specified type.
|
|
@@ -91,9 +121,7 @@ export function New(typ) {
|
|
|
91
121
|
return new Value(); // Return invalid value for null type
|
|
92
122
|
}
|
|
93
123
|
const ptrType = PointerTo(typ);
|
|
94
|
-
|
|
95
|
-
// In a real implementation, this would be a pointer to the zero value
|
|
96
|
-
return new Value(null, ptrType); // null represents the pointer value
|
|
124
|
+
return new Value($.varRef(zeroReflectValue(typ)), ptrType);
|
|
97
125
|
}
|
|
98
126
|
// NewAt returns a Value representing a pointer to the value at p.
|
|
99
127
|
export function NewAt(typ, p) {
|
|
@@ -101,23 +129,37 @@ export function NewAt(typ, p) {
|
|
|
101
129
|
return new Value();
|
|
102
130
|
}
|
|
103
131
|
const ptrType = PointerTo(typ);
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
return new Value(
|
|
132
|
+
const pointer = ownedPointerHandleFromPointerArg(p);
|
|
133
|
+
if (pointer !== undefined) {
|
|
134
|
+
return new Value($.ownedPointerRef(pointer), ptrType);
|
|
135
|
+
}
|
|
136
|
+
throw new Error('reflect.NewAt requires a GoScript-owned pointer');
|
|
137
|
+
}
|
|
138
|
+
export function SliceAt(typ, p, n) {
|
|
139
|
+
if (typ === null) {
|
|
140
|
+
return new Value();
|
|
141
|
+
}
|
|
142
|
+
if (n < 0) {
|
|
143
|
+
throw new Error('reflect.SliceAt: negative length');
|
|
144
|
+
}
|
|
145
|
+
if (p === null && n === 0) {
|
|
146
|
+
return new Value(null, SliceOf(typ));
|
|
147
|
+
}
|
|
148
|
+
const pointer = ownedPointerHandleFromPointerArg(p);
|
|
149
|
+
if (pointer === undefined) {
|
|
150
|
+
throw new Error('reflect.SliceAt requires a GoScript-owned pointer');
|
|
151
|
+
}
|
|
152
|
+
const slice = $.sliceFromOwnedPointer(pointer, n);
|
|
153
|
+
return new Value(slice, SliceOf(typ));
|
|
154
|
+
}
|
|
155
|
+
function ownedPointerHandleFromPointerArg(p) {
|
|
156
|
+
if ($.isOwnedPointerHandle(p)) {
|
|
157
|
+
return p;
|
|
158
|
+
}
|
|
159
|
+
if ($.isVarRef(p)) {
|
|
160
|
+
return $.ownedPointerFromRef(p);
|
|
119
161
|
}
|
|
120
|
-
return
|
|
162
|
+
return undefined;
|
|
121
163
|
}
|
|
122
164
|
// MakeSlice returns a Value representing a new slice with the specified type, length, and capacity.
|
|
123
165
|
export function MakeSlice(typ, len, _cap) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"value.js","sourceRoot":"","sources":["../../../gs/reflect/value.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAA;AAC/C,OAAO,EACL,KAAK,EACL,IAAI,EACJ,OAAO,EACP,OAAO,EACP,GAAG,EACH,KAAK,EACL,KAAK,EACL,KAAK,EACL,IAAI,EACJ,GAAG,EACH,SAAS,EACT,GAAG,EACH,KAAK,EACL,MAAM,EAEN,IAAI,EACJ,MAAM,EACN,MAAM,EACN,MAAM,EACN,KAAK,EACL,OAAO,EACP,KAAK,EACL,IAAI,EACJ,SAAS,EACT,OAAO,GACR,MAAM,WAAW,CAAA;AAClB,OAAO,EAIL,UAAU,EACV,aAAa,GACd,MAAM,YAAY,CAAA;AAOnB,2EAA2E;AAC3E,MAAM,UAAU,IAAI,CAAC,GAAgB;IACnC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,OAAO,IAAI,KAAK,EAAE,CAAA,CAAC,qCAAqC;IAC1D,CAAC;IACD,IAAI,SAAuB,CAAA;IAE3B,QAAQ,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;QACnB,KAAK,IAAI;YACP,SAAS,GAAG,KAAK,CAAA;YACjB,MAAK;QACP,KAAK,GAAG,CAAC;QACT,KAAK,IAAI,CAAC;QACV,KAAK,KAAK,CAAC;QACX,KAAK,KAAK,CAAC;QACX,KAAK,KAAK,CAAC;QACX,KAAK,IAAI,CAAC;QACV,KAAK,KAAK,CAAC;QACX,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,OAAO;YACV,SAAS,GAAG,CAAC,CAAA;YACb,MAAK;QACP,KAAK,MAAM;YACT,SAAS,GAAG,EAAE,CAAA;YACd,MAAK;QACP,KAAK,KAAK,CAAC;QACX,KAAK,KAAK;YACR,SAAS,GAAG,EAAE,CAAA;YACd,MAAK;QACP;YACE,SAAS,GAAG,IAAI,CAAA;YAChB,MAAK;IACT,CAAC;IAED,OAAO,IAAI,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;AAClC,CAAC;AAED,0EAA0E;AAC1E,uEAAuE;AACvE,MAAM,UAAU,IAAI,CAAC,GAAU,EAAE,GAAU;IACzC,uDAAuD;IACvD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAA;IACvC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAA;IAEvC,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3B,OAAO,CAAC,CAAA;IACV,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;IACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC3B,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,+DAA+D;AAC/D,SAAS,iBAAiB,CAAC,KAAY;IACrC,MAAM,GAAG,GAAI,KAA4C,CAAC,KAAK,CAAA;IAE/D,6DAA6D;IAC7D,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,UAAU,IAAI,GAAG,EAAE,CAAC;QACxD,MAAM,IAAI,GAAI,GAA8C,CAAC,QAAQ,CAAA;QACrE,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACnE,OAAO,IAAI,CAAC,OAAO,CAAA;QACrB,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,IAAI,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAClC,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,QAAQ,CAAC,CAAQ;IAC/B,kCAAkC;IAClC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;IACrB,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;QACxB,WAAW;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QAC5B,IAAI,QAAQ,EAAE,CAAC;YACb,yEAAyE;YACzE,OAAO,IAAI,KAAK,CACb,CAAwC,CAAC,KAAK,EAC/C,QAAQ,CACT,CAAA;QACH,CAAC;IACH,CAAC;IACD,qDAAqD;IACrD,OAAO,CAAC,CAAA;AACV,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,GAAG,CAAC,GAAgB;IAClC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,OAAO,IAAI,KAAK,EAAE,CAAA,CAAC,qCAAqC;IAC1D,CAAC;IACD,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAA;IAC9B,wEAAwE;IACxE,sEAAsE;IACtE,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA,CAAC,oCAAoC;AACtE,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,KAAK,CAAC,GAAgB,EAAE,CAAoB;IAC1D,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,OAAO,IAAI,KAAK,EAAE,CAAA;IACpB,CAAC;IACD,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAA;IAC9B,IACE,CAAC;QACD,OAAO,CAAC,KAAK,QAAQ;QACrB,OAAO,IAAI,CAAC;QACX,CAAyB,CAAC,KAAK,YAAY,KAAK,EACjD,CAAC;QACD,MAAM,MAAM,GAAI,CAAsB,CAAC,KAAK,CAAA;QAC5C,MAAM,GAAG,GAA2B;YAClC,IAAI,KAAK;gBACP,OAAO,MAAM,CAAC,SAAS,EAAkB,CAAA;YAC3C,CAAC;YACD,IAAI,KAAK,CAAC,KAAmB;gBAC3B,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;YACnC,CAAC;YACD,UAAU,EAAE,IAAI;SACjB,CAAA;QACD,OAAO,IAAI,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAChC,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,qBAAqB,CAAe,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;AACrE,CAAC;AAED,oGAAoG;AACpG,MAAM,UAAU,SAAS,CAAC,GAAgB,EAAE,GAAW,EAAE,IAAY;IACnE,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;IACxD,CAAC;IAED,oEAAoE;IACpE,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;IAC3B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;IACpD,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;IAChC,MAAM,OAAO,GAAI,SAAgD,CAAC,KAAK,CAAA;IACvE,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAErD,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;AAC9B,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,OAAO,CAAC,GAAgB;IACtC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;IACpD,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,GAAG,EAAE,CAAA;IAChC,OAAO,IAAI,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;AAC5B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAgB,EAAE,EAAU;IAC1D,OAAO,OAAO,CAAC,GAAG,CAAC,CAAA;AACrB,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,MAAM,CAAC,CAAQ,EAAE,CAAQ;IACvC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;IAChD,CAAC;IAED,MAAM,KAAK,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAA;IAClC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;IACtD,CAAC;IAED,MAAM,QAAQ,GAAI,CAAwC,CAAC,KAAK,CAAA;IAChE,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC,CAAA;IAErC,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;AACtC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,CAAQ,EAAE,CAAQ;IAC5C,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;IACrD,CAAC;IACD,MAAM,IAAI,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAA;IACjC,MAAM,KAAK,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAA;IAClC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;IACtD,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;AACjD,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,QAAQ,CAAC,GAAS,EAAE,MAAc;IAChD,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;IACtD,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;IAC3B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;IACtD,CAAC;IAED,kDAAkD;IAClD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;IAChC,MAAM,OAAO,GAAI,SAAgD,CAAC,KAAK,CAAA;IAEvE,0DAA0D;IAC1D,MAAM,OAAO,GAAG,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9C,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;AAChC,CAAC;AAED,4DAA4D;AAC5D,uHAAuH;AACvH,MAAM,UAAU,MAAM,CAAC,KAA0B;IAC/C,oDAAoD;IACpD,IAAI,WAAW,GAAiB,EAAE,CAAA;IAElC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,IAAI,UAAU,IAAI,KAAK,EAAE,CAAC;YACxB,2DAA2D;YAC3D,MAAM,IAAI,GACR,KAOD,CAAC,QAAQ,CAAA;YACV,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACzB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAA;gBAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAA;gBACjD,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;YAC3D,CAAC;QACH,CAAC;aAAM,IAAI,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3C,4EAA4E;YAC5E,WAAW,GAAG,KAAqB,CAAA;QACrC,CAAC;IACH,CAAC;IAED,yDAAyD;IACzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;QACjC,IAAI,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,OAAO,EAAE,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;YACzE,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAA;YACpC,MAAM,UAAU,GAAI,YAA8C;iBAC/D,KAAsB,CAAA;YAEzB,8CAA8C;YAC9C,IACE,UAAU;gBACV,UAAU,CAAC,UAAU;gBACrB,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAChC,CAAC;gBACD,MAAM,aAAa,GAAG,UAAU,CAAC,UAAU,CAAC,KAAK,EAAkB,CAAA,CAAC,oBAAoB;gBACxF,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAA;gBAC3C,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,OAAO,GAAG,IAAI,KAAK,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;oBAClD,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,iDAAiD;IACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;QACjC,IAAI,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC;YACzD,wCAAwC;YACxC,OAAO,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QACvE,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;QAChC,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,OAAO,EAAE,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;YACvE,kCAAkC;YAClC,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAA;YAC7C,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;gBAC9B,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;YAC3B,CAAC;QACH,CAAC;QACD,OAAO,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;IACvE,CAAC;IAED,WAAW;IACX,OAAO,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;AACvE,CAAC"}
|
|
1
|
+
{"version":3,"file":"value.js","sourceRoot":"","sources":["../../../gs/reflect/value.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAA;AAC/C,OAAO,EACL,KAAK,EACL,IAAI,EACJ,OAAO,EACP,OAAO,EACP,GAAG,EACH,KAAK,EACL,KAAK,EACL,KAAK,EACL,IAAI,EACJ,GAAG,EACH,SAAS,EACT,GAAG,EACH,KAAK,EACL,OAAO,EACP,MAAM,EACN,MAAM,EAEN,IAAI,EACJ,MAAM,EACN,MAAM,EACN,MAAM,EACN,KAAK,EACL,OAAO,EACP,KAAK,EACL,IAAI,EACJ,SAAS,EACT,OAAO,EACP,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,WAAW,CAAA;AAClB,OAAO,EAIL,UAAU,EACV,aAAa,GACd,MAAM,YAAY,CAAA;AAOnB,2EAA2E;AAC3E,MAAM,UAAU,IAAI,CAAC,GAAgB;IACnC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,OAAO,IAAI,KAAK,EAAE,CAAA,CAAC,qCAAqC;IAC1D,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAA;AAC9C,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAS;IACjC,QAAQ,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;QACnB,KAAK,IAAI;YACP,OAAO,KAAK,CAAA;QACd,KAAK,GAAG,CAAC;QACT,KAAK,IAAI,CAAC;QACV,KAAK,KAAK,CAAC;QACX,KAAK,KAAK,CAAC;QACX,KAAK,KAAK,CAAC;QACX,KAAK,IAAI,CAAC;QACV,KAAK,KAAK,CAAC;QACX,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,OAAO;YACV,OAAO,CAAC,CAAA;QACV,KAAK,MAAM;YACT,OAAO,EAAE,CAAA;QACX,KAAK,KAAK,CAAC;QACX,KAAK,KAAK;YACR,OAAO,EAAE,CAAA;QACX,KAAK,MAAM,EAAE,CAAC;YACZ,MAAM,QAAQ,GAAG,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAA;YAC9C,IAAI,QAAQ,IAAI,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC9D,OAAO,CAAC,CAAC,iBAAiB,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAiB,CAAA;YACjE,CAAC;YACD,OAAO,cAAc,CAAC,GAAG,CAAC,CAAA;QAC5B,CAAC;QACD;YACE,OAAO,IAAI,CAAA;IACf,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,GAAS;IAC/B,MAAM,WAAW,GAAG;QACX,OAAO,GAAsC,EAAE,CAAA;QAE/C,KAAK;YACV,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAEhC,CAAA;YACD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5C,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAA;YACrD,CAAC;YACD,OAAO,MAAM,CAAA;QACf,CAAC;KACF,CAAA;IACD,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;IACnE,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,YAAY,EAAE;QAC/C,KAAK,EAAE,uBAAuB,CAAC,GAAG,CAAC;KACpC,CAAC,CAAA;IAEF,MAAM,KAAK,GAAG,IAAI,WAAW,EAEF,CAAA;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAC1B,MAAM,GAAG,GAAG,qBAAqB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;QACzC,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAe,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;QAChE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAA;QACxB,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE;YAChC,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;YAClB,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK;YACpB,GAAG,EAAE,CAAC,IAAa,EAAE,EAAE;gBACrB,GAAG,CAAC,KAAK,GAAG,IAAoB,CAAA;YAClC,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,0EAA0E;AAC1E,uEAAuE;AACvE,MAAM,UAAU,IAAI,CAAC,GAAU,EAAE,GAAU;IACzC,uDAAuD;IACvD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAA;IACvC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAA;IAEvC,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3B,OAAO,CAAC,CAAA;IACV,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;IACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC3B,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,+DAA+D;AAC/D,SAAS,iBAAiB,CAAC,KAAY;IACrC,MAAM,GAAG,GAAI,KAA4C,CAAC,KAAK,CAAA;IAE/D,6DAA6D;IAC7D,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,UAAU,IAAI,GAAG,EAAE,CAAC;QACxD,MAAM,IAAI,GAAI,GAA8C,CAAC,QAAQ,CAAA;QACrE,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACnE,OAAO,IAAI,CAAC,OAAO,CAAA;QACrB,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,IAAI,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAClC,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,QAAQ,CAAC,CAAQ;IAC/B,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;YACd,OAAO,IAAI,KAAK,EAAE,CAAA;QACpB,CAAC;QACD,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;IACjB,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,GAAG,CAAC,GAAgB;IAClC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,OAAO,IAAI,KAAK,EAAE,CAAA,CAAC,qCAAqC;IAC1D,CAAC;IACD,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAA;IAC9B,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;AAC5D,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,KAAK,CAAC,GAAgB,EAAE,CAAoB;IAC1D,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,OAAO,IAAI,KAAK,EAAE,CAAA;IACpB,CAAC;IACD,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAA;IAC9B,MAAM,OAAO,GAAG,gCAAgC,CAAC,CAAC,CAAC,CAAA;IACnD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,IAAI,KAAK,CACd,CAAC,CAAC,eAAe,CAAC,OAAO,CAA2B,EACpD,OAAO,CACR,CAAA;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;AACpE,CAAC;AAED,MAAM,UAAU,OAAO,CACrB,GAAgB,EAChB,CAAoB,EACpB,CAAS;IAET,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,OAAO,IAAI,KAAK,EAAE,CAAA;IACpB,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;IACrD,CAAC;IACD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;IACtC,CAAC;IACD,MAAM,OAAO,GAAG,gCAAgC,CAAC,CAAC,CAAC,CAAA;IACnD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;IACtE,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,CAAC,qBAAqB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;IACjD,OAAO,IAAI,KAAK,CAAC,KAAqB,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;AACvD,CAAC;AAED,SAAS,gCAAgC,CACvC,CAAU;IAEV,IAAI,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAuC,CAAA;IAChD,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAClB,OAAO,CAAC,CAAC,mBAAmB,CAAC,CAA2B,CAE3C,CAAA;IACf,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,oGAAoG;AACpG,MAAM,UAAU,SAAS,CAAC,GAAgB,EAAE,GAAW,EAAE,IAAY;IACnE,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;IACxD,CAAC;IAED,oEAAoE;IACpE,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;IAC3B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;IACpD,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;IAChC,MAAM,OAAO,GAAI,SAAgD,CAAC,KAAK,CAAA;IACvE,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAErD,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;AAC9B,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,OAAO,CAAC,GAAgB;IACtC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;IACpD,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,GAAG,EAAE,CAAA;IAChC,OAAO,IAAI,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;AAC5B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAgB,EAAE,EAAU;IAC1D,OAAO,OAAO,CAAC,GAAG,CAAC,CAAA;AACrB,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,MAAM,CAAC,CAAQ,EAAE,CAAQ;IACvC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;IAChD,CAAC;IAED,MAAM,KAAK,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAA;IAClC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;IACtD,CAAC;IAED,MAAM,QAAQ,GAAI,CAAwC,CAAC,KAAK,CAAA;IAChE,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC,CAAA;IAErC,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;AACtC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,CAAQ,EAAE,CAAQ;IAC5C,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;IACrD,CAAC;IACD,MAAM,IAAI,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAA;IACjC,MAAM,KAAK,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAA;IAClC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;IACtD,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;AACjD,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,QAAQ,CAAC,GAAS,EAAE,MAAc;IAChD,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;IACtD,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;IAC3B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;IACtD,CAAC;IAED,kDAAkD;IAClD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;IAChC,MAAM,OAAO,GAAI,SAAgD,CAAC,KAAK,CAAA;IAEvE,0DAA0D;IAC1D,MAAM,OAAO,GAAG,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9C,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;AAChC,CAAC;AAED,4DAA4D;AAC5D,uHAAuH;AACvH,MAAM,UAAU,MAAM,CAAC,KAA0B;IAC/C,oDAAoD;IACpD,IAAI,WAAW,GAAiB,EAAE,CAAA;IAElC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,IAAI,UAAU,IAAI,KAAK,EAAE,CAAC;YACxB,2DAA2D;YAC3D,MAAM,IAAI,GACR,KAOD,CAAC,QAAQ,CAAA;YACV,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACzB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAA;gBAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAA;gBACjD,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;YAC3D,CAAC;QACH,CAAC;aAAM,IAAI,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3C,4EAA4E;YAC5E,WAAW,GAAG,KAAqB,CAAA;QACrC,CAAC;IACH,CAAC;IAED,yDAAyD;IACzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;QACjC,IAAI,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,OAAO,EAAE,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;YACzE,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAA;YACpC,MAAM,UAAU,GAAI,YAA8C;iBAC/D,KAAsB,CAAA;YAEzB,8CAA8C;YAC9C,IACE,UAAU;gBACV,UAAU,CAAC,UAAU;gBACrB,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAChC,CAAC;gBACD,MAAM,aAAa,GAAG,UAAU,CAAC,UAAU,CAAC,KAAK,EAAkB,CAAA,CAAC,oBAAoB;gBACxF,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAA;gBAC3C,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,OAAO,GAAG,IAAI,KAAK,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;oBAClD,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,iDAAiD;IACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;QACjC,IAAI,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC;YACzD,wCAAwC;YACxC,OAAO,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QACvE,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;QAChC,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,OAAO,EAAE,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;YACvE,kCAAkC;YAClC,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAA;YAC7C,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;gBAC9B,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;YAC3B,CAAC;QACH,CAAC;QACD,OAAO,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;IACvE,CAAC;IAED,WAAW;IACX,OAAO,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;AACvE,CAAC"}
|
|
@@ -1,149 +1,13 @@
|
|
|
1
1
|
import * as $ from '@goscript/builtin/index.js';
|
|
2
|
-
import {
|
|
3
|
-
// VisibleFields returns all
|
|
4
|
-
// struct type. A field is defined as visible if it's accessible
|
|
5
|
-
// directly with a FieldByName call. The returned fields include fields
|
|
6
|
-
// inside anonymous struct members and unexported fields. They follow
|
|
7
|
-
// the same order found in the struct, with anonymous fields followed
|
|
8
|
-
// immediately by their promoted fields.
|
|
9
|
-
//
|
|
10
|
-
// For each element e of the returned slice, the corresponding field
|
|
11
|
-
// can be retrieved from a value v of type t by calling v.FieldByIndex(e.Index).
|
|
2
|
+
import { Struct, visibleStructFields } from './type.js';
|
|
3
|
+
// VisibleFields returns all fields visible through ordinary struct field lookup.
|
|
12
4
|
export function VisibleFields(t) {
|
|
13
5
|
if (t == null) {
|
|
14
6
|
$.panic('reflect: VisibleFields(nil)');
|
|
15
7
|
}
|
|
16
|
-
if (t.Kind()
|
|
8
|
+
if (t.Kind() !== Struct) {
|
|
17
9
|
$.panic('reflect.VisibleFields of non-struct type ' + t.String());
|
|
18
10
|
}
|
|
19
|
-
|
|
20
|
-
byName: $.makeMap(),
|
|
21
|
-
fields: $.makeSlice(0, t.NumField()),
|
|
22
|
-
index: $.makeSlice(0, 2, 'number'),
|
|
23
|
-
visiting: $.makeMap(),
|
|
24
|
-
});
|
|
25
|
-
w.walk(t);
|
|
26
|
-
// Remove all the fields that have been hidden.
|
|
27
|
-
// Use an in-place removal that avoids copying in
|
|
28
|
-
// the common case that there are no hidden fields.
|
|
29
|
-
let j = 0;
|
|
30
|
-
// A field has been removed. We need to shuffle
|
|
31
|
-
// all the subsequent elements up.
|
|
32
|
-
for (let i = 0; i < $.len(w.fields); i++) {
|
|
33
|
-
{
|
|
34
|
-
let f = w.fields[i];
|
|
35
|
-
if (f.Name == '') {
|
|
36
|
-
continue;
|
|
37
|
-
}
|
|
38
|
-
// A field has been removed. We need to shuffle
|
|
39
|
-
// all the subsequent elements up.
|
|
40
|
-
if (i != j) {
|
|
41
|
-
// A field has been removed. We need to shuffle
|
|
42
|
-
// all the subsequent elements up.
|
|
43
|
-
w.fields[j] = f.clone();
|
|
44
|
-
}
|
|
45
|
-
j++;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
return $.goSlice(w.fields, undefined, j);
|
|
49
|
-
}
|
|
50
|
-
class visibleFieldsWalker {
|
|
51
|
-
get byName() {
|
|
52
|
-
return this._fields.byName.value;
|
|
53
|
-
}
|
|
54
|
-
set byName(value) {
|
|
55
|
-
this._fields.byName.value = value;
|
|
56
|
-
}
|
|
57
|
-
get visiting() {
|
|
58
|
-
return this._fields.visiting.value;
|
|
59
|
-
}
|
|
60
|
-
set visiting(value) {
|
|
61
|
-
this._fields.visiting.value = value;
|
|
62
|
-
}
|
|
63
|
-
get fields() {
|
|
64
|
-
return this._fields.fields.value;
|
|
65
|
-
}
|
|
66
|
-
set fields(value) {
|
|
67
|
-
this._fields.fields.value = value;
|
|
68
|
-
}
|
|
69
|
-
get index() {
|
|
70
|
-
return this._fields.index.value;
|
|
71
|
-
}
|
|
72
|
-
set index(value) {
|
|
73
|
-
this._fields.index.value = value;
|
|
74
|
-
}
|
|
75
|
-
_fields;
|
|
76
|
-
constructor(init) {
|
|
77
|
-
this._fields = {
|
|
78
|
-
byName: $.varRef(init?.byName ?? $.makeMap()),
|
|
79
|
-
visiting: $.varRef(init?.visiting ?? $.makeMap()),
|
|
80
|
-
fields: $.varRef(init?.fields ?? $.makeSlice(0, 0)),
|
|
81
|
-
index: $.varRef(init?.index ?? $.makeSlice(0, 2, 'number')),
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
clone() {
|
|
85
|
-
const cloned = new visibleFieldsWalker();
|
|
86
|
-
cloned._fields = {
|
|
87
|
-
byName: $.varRef(this._fields.byName.value),
|
|
88
|
-
visiting: $.varRef(this._fields.visiting.value),
|
|
89
|
-
fields: $.varRef(this._fields.fields.value),
|
|
90
|
-
index: $.varRef(this._fields.index.value),
|
|
91
|
-
};
|
|
92
|
-
return cloned;
|
|
93
|
-
}
|
|
94
|
-
// walk walks all the fields in the struct type t, visiting
|
|
95
|
-
// fields in index preorder and appending them to w.fields
|
|
96
|
-
// (this maintains the required ordering).
|
|
97
|
-
// Fields that have been overridden have their
|
|
98
|
-
// Name field cleared.
|
|
99
|
-
walk(t) {
|
|
100
|
-
const w = this;
|
|
101
|
-
if ($.mapGet(w.visiting, t, false)[0]) {
|
|
102
|
-
return;
|
|
103
|
-
}
|
|
104
|
-
$.mapSet(w.visiting, t, true);
|
|
105
|
-
for (let i = 0; i < t.NumField(); i++) {
|
|
106
|
-
if (!t.Field)
|
|
107
|
-
continue;
|
|
108
|
-
const field = t.Field(i);
|
|
109
|
-
if (field) {
|
|
110
|
-
const f = field.clone();
|
|
111
|
-
f.Index = $.append(null, ...(w.index ?? []));
|
|
112
|
-
if (f.Anonymous) {
|
|
113
|
-
if (f.Type && f.Type.Kind() === Ptr) {
|
|
114
|
-
const elemType = f.Type.Elem();
|
|
115
|
-
if (elemType) {
|
|
116
|
-
f.Type = elemType;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
if (f.Type && f.Type.Kind() === Struct) {
|
|
120
|
-
w.walk(f.Type);
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
else {
|
|
124
|
-
w.fields = $.append(w.fields, f);
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
$.deleteMapEntry(w.visiting, t);
|
|
129
|
-
}
|
|
130
|
-
// Register this type with the runtime type system
|
|
131
|
-
static __typeInfo = $.registerStructType('visibleFieldsWalker', new visibleFieldsWalker(), [{ name: 'walk', args: [{ name: 't', type: 'Type' }], returns: [] }], visibleFieldsWalker, {
|
|
132
|
-
byName: {
|
|
133
|
-
kind: $.TypeKind.Map,
|
|
134
|
-
keyType: { kind: $.TypeKind.Basic, name: 'string' },
|
|
135
|
-
elemType: { kind: $.TypeKind.Basic, name: 'number' },
|
|
136
|
-
},
|
|
137
|
-
visiting: {
|
|
138
|
-
kind: $.TypeKind.Map,
|
|
139
|
-
keyType: 'Type',
|
|
140
|
-
elemType: { kind: $.TypeKind.Basic, name: 'boolean' },
|
|
141
|
-
},
|
|
142
|
-
fields: { kind: $.TypeKind.Slice, elemType: 'StructField' },
|
|
143
|
-
index: {
|
|
144
|
-
kind: $.TypeKind.Slice,
|
|
145
|
-
elemType: { kind: $.TypeKind.Basic, name: 'number' },
|
|
146
|
-
},
|
|
147
|
-
});
|
|
11
|
+
return $.arrayToSlice(visibleStructFields(t).map((field) => field.clone()));
|
|
148
12
|
}
|
|
149
13
|
//# sourceMappingURL=visiblefields.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visiblefields.js","sourceRoot":"","sources":["../../../gs/reflect/visiblefields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAA;AAC/C,OAAO,
|
|
1
|
+
{"version":3,"file":"visiblefields.js","sourceRoot":"","sources":["../../../gs/reflect/visiblefields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAQ,mBAAmB,EAAE,MAAM,WAAW,CAAA;AAG7D,iFAAiF;AACjF,MAAM,UAAU,aAAa,CAAC,CAAO;IACnC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QACd,CAAC,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAA;IACxC,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;QACxB,CAAC,CAAC,KAAK,CAAC,2CAA2C,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;IACnE,CAAC;IACD,OAAO,CAAC,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;AAC7E,CAAC"}
|
|
@@ -3,15 +3,21 @@ import * as io from '@goscript/io/index.js';
|
|
|
3
3
|
type WriterArg = io.Writer | $.VarRef<io.Writer> | null | undefined;
|
|
4
4
|
export declare class Profile {
|
|
5
5
|
name: string;
|
|
6
|
-
|
|
6
|
+
private values;
|
|
7
|
+
private builtIn;
|
|
8
|
+
constructor(name?: string, builtIn?: boolean);
|
|
7
9
|
Name(): string;
|
|
8
10
|
Count(): number;
|
|
9
|
-
|
|
11
|
+
Add(value: unknown, _skip: number): void;
|
|
12
|
+
Remove(value: unknown): void;
|
|
13
|
+
WriteTo(_w: WriterArg, _debug: number): $.GoError;
|
|
10
14
|
}
|
|
11
15
|
export declare function Lookup(name: string): Profile | null;
|
|
12
16
|
export declare function Profiles(): $.Slice<Profile | null>;
|
|
17
|
+
export declare function NewProfile(name: string): Profile;
|
|
13
18
|
export declare function StartCPUProfile(w: WriterArg): $.GoError;
|
|
14
19
|
export declare function StopCPUProfile(): void;
|
|
20
|
+
export declare function WriteHeapProfile(w: WriterArg): $.GoError;
|
|
15
21
|
export declare function SetGoroutineLabels(_ctx: unknown): void;
|
|
16
22
|
export declare function Do(_ctx: unknown, _labels: unknown, fn: (() => void) | null): void;
|
|
17
23
|
export declare function ForLabels(_ctx: unknown, _f: unknown): void;
|
|
@@ -1,19 +1,37 @@
|
|
|
1
1
|
import * as $ from '@goscript/builtin/index.js';
|
|
2
2
|
import * as errors from '@goscript/errors/index.js';
|
|
3
|
-
|
|
3
|
+
const unsupportedProfileError = errors.New('runtime/pprof: profiles are unsupported in GoScript');
|
|
4
4
|
export class Profile {
|
|
5
5
|
name;
|
|
6
|
-
|
|
6
|
+
values = new Map();
|
|
7
|
+
builtIn;
|
|
8
|
+
constructor(name = '', builtIn = false) {
|
|
7
9
|
this.name = name;
|
|
10
|
+
this.builtIn = builtIn;
|
|
8
11
|
}
|
|
9
12
|
Name() {
|
|
10
13
|
return this.name;
|
|
11
14
|
}
|
|
12
15
|
Count() {
|
|
13
|
-
return this.name
|
|
16
|
+
return this.builtIn && this.name !== '' ? 1 : this.values.size;
|
|
14
17
|
}
|
|
15
|
-
|
|
16
|
-
|
|
18
|
+
Add(value, _skip) {
|
|
19
|
+
if (this.name === '') {
|
|
20
|
+
throw new Error('pprof: use of uninitialized Profile');
|
|
21
|
+
}
|
|
22
|
+
if (this.builtIn) {
|
|
23
|
+
throw new Error(`pprof: Add called on built-in Profile ${this.name}`);
|
|
24
|
+
}
|
|
25
|
+
if (this.values.has(value)) {
|
|
26
|
+
throw new Error('pprof: Profile.Add of duplicate value');
|
|
27
|
+
}
|
|
28
|
+
this.values.set(value, true);
|
|
29
|
+
}
|
|
30
|
+
Remove(value) {
|
|
31
|
+
this.values.delete(value);
|
|
32
|
+
}
|
|
33
|
+
WriteTo(_w, _debug) {
|
|
34
|
+
return unsupportedProfileError;
|
|
17
35
|
}
|
|
18
36
|
}
|
|
19
37
|
export function Lookup(name) {
|
|
@@ -24,37 +42,46 @@ export function Lookup(name) {
|
|
|
24
42
|
case 'threadcreate':
|
|
25
43
|
case 'block':
|
|
26
44
|
case 'mutex':
|
|
27
|
-
return new Profile(name);
|
|
45
|
+
return new Profile(name, true);
|
|
28
46
|
default:
|
|
29
|
-
return null;
|
|
47
|
+
return customProfiles.get(name) ?? null;
|
|
30
48
|
}
|
|
31
49
|
}
|
|
32
50
|
export function Profiles() {
|
|
33
51
|
return $.arrayToSlice([
|
|
34
|
-
new Profile('allocs'),
|
|
35
|
-
new Profile('block'),
|
|
36
|
-
new Profile('goroutine'),
|
|
37
|
-
new Profile('heap'),
|
|
38
|
-
new Profile('mutex'),
|
|
39
|
-
new Profile('threadcreate'),
|
|
52
|
+
new Profile('allocs', true),
|
|
53
|
+
new Profile('block', true),
|
|
54
|
+
new Profile('goroutine', true),
|
|
55
|
+
new Profile('heap', true),
|
|
56
|
+
new Profile('mutex', true),
|
|
57
|
+
new Profile('threadcreate', true),
|
|
58
|
+
...Array.from(customProfiles.values()),
|
|
40
59
|
]);
|
|
41
60
|
}
|
|
61
|
+
export function NewProfile(name) {
|
|
62
|
+
if (name === '') {
|
|
63
|
+
throw new Error('pprof: NewProfile with empty name');
|
|
64
|
+
}
|
|
65
|
+
if (Lookup(name) != null) {
|
|
66
|
+
throw new Error(`pprof: NewProfile name already in use: ${name}`);
|
|
67
|
+
}
|
|
68
|
+
const profile = new Profile(name);
|
|
69
|
+
customProfiles.set(name, profile);
|
|
70
|
+
return profile;
|
|
71
|
+
}
|
|
42
72
|
export function StartCPUProfile(w) {
|
|
43
73
|
const writer = writerFromArg(w);
|
|
44
74
|
if (writer == null) {
|
|
45
75
|
return errors.New('runtime/pprof: nil profile writer');
|
|
46
76
|
}
|
|
47
|
-
|
|
48
|
-
return errors.New('runtime/pprof: CPU profiling already active');
|
|
49
|
-
}
|
|
50
|
-
activeCPUWriter = writer;
|
|
51
|
-
return writeProfile(writer, 'goscript cpu profile start\n');
|
|
77
|
+
return unsupportedProfileError;
|
|
52
78
|
}
|
|
53
|
-
export function StopCPUProfile() {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
79
|
+
export function StopCPUProfile() { }
|
|
80
|
+
export function WriteHeapProfile(w) {
|
|
81
|
+
if (writerFromArg(w) == null) {
|
|
82
|
+
return errors.New('runtime/pprof: nil profile writer');
|
|
57
83
|
}
|
|
84
|
+
return unsupportedProfileError;
|
|
58
85
|
}
|
|
59
86
|
export function SetGoroutineLabels(_ctx) { }
|
|
60
87
|
export function Do(_ctx, _labels, fn) {
|
|
@@ -74,12 +101,5 @@ export function Labels(...args) {
|
|
|
74
101
|
function writerFromArg(w) {
|
|
75
102
|
return $.pointerValueOrNil(w);
|
|
76
103
|
}
|
|
77
|
-
|
|
78
|
-
const writer = writerFromArg(w);
|
|
79
|
-
if (writer == null) {
|
|
80
|
-
return errors.New('runtime/pprof: nil profile writer');
|
|
81
|
-
}
|
|
82
|
-
const [, err] = writer.Write($.stringToBytes(text));
|
|
83
|
-
return err;
|
|
84
|
-
}
|
|
104
|
+
const customProfiles = new Map();
|
|
85
105
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../gs/runtime/pprof/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAA;AAC/C,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAA;AAKnD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../gs/runtime/pprof/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAA;AAC/C,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAA;AAKnD,MAAM,uBAAuB,GAAG,MAAM,CAAC,GAAG,CACxC,qDAAqD,CACtD,CAAA;AAED,MAAM,OAAO,OAAO;IACX,IAAI,CAAQ;IACX,MAAM,GAAG,IAAI,GAAG,EAAiB,CAAA;IACjC,OAAO,CAAS;IAExB,YAAY,IAAI,GAAG,EAAE,EAAE,OAAO,GAAG,KAAK;QACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAEM,IAAI;QACT,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAEM,KAAK;QACV,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAA;IAChE,CAAC;IAEM,GAAG,CAAC,KAAc,EAAE,KAAa;QACtC,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;QACxD,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,yCAAyC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QACvE,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;QAC1D,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAC9B,CAAC;IAEM,MAAM,CAAC,KAAc;QAC1B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC3B,CAAC;IAEM,OAAO,CAAC,EAAa,EAAE,MAAc;QAC1C,OAAO,uBAAuB,CAAA;IAChC,CAAC;CACF;AAED,MAAM,UAAU,MAAM,CAAC,IAAY;IACjC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ,CAAC;QACd,KAAK,WAAW,CAAC;QACjB,KAAK,cAAc,CAAC;QACpB,KAAK,OAAO,CAAC;QACb,KAAK,OAAO;YACV,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAChC;YACE,OAAO,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAA;IAC3C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,QAAQ;IACtB,OAAO,CAAC,CAAC,YAAY,CAAC;QACpB,IAAI,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC;QAC3B,IAAI,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;QAC1B,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC;QAC9B,IAAI,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;QACzB,IAAI,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;QAC1B,IAAI,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;QACjC,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;KACvC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;IACtD,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,0CAA0C,IAAI,EAAE,CAAC,CAAA;IACnE,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACjC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACjC,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,CAAY;IAC1C,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;IAC/B,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACnB,OAAO,MAAM,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAA;IACxD,CAAC;IACD,OAAO,uBAAuB,CAAA;AAChC,CAAC;AAED,MAAM,UAAU,cAAc,KAAU,CAAC;AAEzC,MAAM,UAAU,gBAAgB,CAAC,CAAY;IAC3C,IAAI,aAAa,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;QAC7B,OAAO,MAAM,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAA;IACxD,CAAC;IACD,OAAO,uBAAuB,CAAA;AAChC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAa,IAAS,CAAC;AAE1D,MAAM,UAAU,EAAE,CAAC,IAAa,EAAE,OAAgB,EAAE,EAAuB;IACzE,EAAE,EAAE,EAAE,CAAA;AACR,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAa,EAAE,EAAW,IAAS,CAAC;AAE9D,MAAM,UAAU,UAAU,CAAC,GAAY,EAAE,OAAgB;IACvD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,GAAG,IAAc;IACtC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAA;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAClC,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,aAAa,CAAC,CAAY;IACjC,OAAO,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAA;AAC/B,CAAC;AAED,MAAM,cAAc,GAAG,IAAI,GAAG,EAAmB,CAAA"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as $ from '@goscript/builtin/index.js';
|
|
1
2
|
// Runtime constants for the JavaScript/WebAssembly target
|
|
2
3
|
export const GOOS = 'js';
|
|
3
4
|
export const GOARCH = 'wasm';
|
|
@@ -29,9 +30,9 @@ export function NumCPU() {
|
|
|
29
30
|
export function GC() {
|
|
30
31
|
// In JavaScript, we can't force garbage collection
|
|
31
32
|
// Some engines have gc() function in development, but it's not standard
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
const gc = globalThis.gc;
|
|
34
|
+
if (typeof gc === 'function') {
|
|
35
|
+
gc();
|
|
35
36
|
}
|
|
36
37
|
// Otherwise, this is a no-op
|
|
37
38
|
}
|
|
@@ -87,7 +88,7 @@ export function FuncForPC(_pc) {
|
|
|
87
88
|
}
|
|
88
89
|
// StartTrace enables execution tracing.
|
|
89
90
|
export function StartTrace() {
|
|
90
|
-
return
|
|
91
|
+
return $.newError('runtime: execution tracing is unsupported in GoScript');
|
|
91
92
|
}
|
|
92
93
|
// StopTrace stops execution tracing.
|
|
93
94
|
export function StopTrace() { }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../gs/runtime/runtime.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../gs/runtime/runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,9 +4,9 @@ import * as errors from '@goscript/errors/index.js';
|
|
|
4
4
|
class traceContextKey {
|
|
5
5
|
}
|
|
6
6
|
const traceState = {
|
|
7
|
-
activeWriter: null,
|
|
8
7
|
nextTaskID: 0,
|
|
9
8
|
};
|
|
9
|
+
const unsupportedTraceError = errors.New('runtime/trace: execution tracing is unsupported in GoScript');
|
|
10
10
|
export class Task {
|
|
11
11
|
id;
|
|
12
12
|
constructor(id = 0) {
|
|
@@ -26,7 +26,8 @@ export function NewTask(pctx, _taskType) {
|
|
|
26
26
|
];
|
|
27
27
|
}
|
|
28
28
|
export function Log(_ctx, category, message) {
|
|
29
|
-
|
|
29
|
+
void category;
|
|
30
|
+
void message;
|
|
30
31
|
}
|
|
31
32
|
export function Logf(_ctx, _category, _format, ..._args) { }
|
|
32
33
|
export function WithRegion(_ctx, _regionType, fn) {
|
|
@@ -43,22 +44,7 @@ export function Start(w) {
|
|
|
43
44
|
if (writer == null) {
|
|
44
45
|
return errors.New('runtime/trace: nil trace writer');
|
|
45
46
|
}
|
|
46
|
-
|
|
47
|
-
return errors.New('runtime/trace: trace already active');
|
|
48
|
-
}
|
|
49
|
-
traceState.activeWriter = writer;
|
|
50
|
-
return writeTrace('goscript trace start\n');
|
|
51
|
-
}
|
|
52
|
-
export function Stop() {
|
|
53
|
-
writeTrace('goscript trace stop\n');
|
|
54
|
-
traceState.activeWriter = null;
|
|
55
|
-
}
|
|
56
|
-
function writeTrace(text) {
|
|
57
|
-
const writer = traceState.activeWriter;
|
|
58
|
-
if (writer == null) {
|
|
59
|
-
return null;
|
|
60
|
-
}
|
|
61
|
-
const [, err] = writer.Write($.stringToBytes(text));
|
|
62
|
-
return err;
|
|
47
|
+
return unsupportedTraceError;
|
|
63
48
|
}
|
|
49
|
+
export function Stop() { }
|
|
64
50
|
//# sourceMappingURL=index.js.map
|