goscript 0.0.62 → 0.0.63

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.
@@ -133,7 +133,16 @@ export function ParseUint(s, base, bitSize) {
133
133
  return [0, syntaxError("ParseUint", s0)];
134
134
  }
135
135
  // Check range for the specified bit size
136
- const maxVal = (1 << bitSize) - 1;
136
+ // Note: JavaScript bitwise operators only work on 32-bit integers,
137
+ // so we use Math.pow() for larger bit sizes
138
+ let maxVal;
139
+ if (bitSize >= 53) {
140
+ // For 53+ bits, use MAX_SAFE_INTEGER as JavaScript can't represent larger integers accurately
141
+ maxVal = Number.MAX_SAFE_INTEGER;
142
+ }
143
+ else {
144
+ maxVal = Math.pow(2, bitSize) - 1;
145
+ }
137
146
  if (result > maxVal) {
138
147
  return [0, rangeError("ParseUint", s0)];
139
148
  }
@@ -163,7 +172,16 @@ export function ParseInt(s, base, bitSize) {
163
172
  if (bitSize === 0) {
164
173
  bitSize = 64;
165
174
  }
166
- const cutoff = 1 << (bitSize - 1);
175
+ // Note: JavaScript bitwise operators only work on 32-bit integers,
176
+ // so we use Math.pow() for larger bit sizes
177
+ let cutoff;
178
+ if (bitSize >= 53) {
179
+ // For 53+ bits, use MAX_SAFE_INTEGER as JavaScript can't represent larger integers accurately
180
+ cutoff = Number.MAX_SAFE_INTEGER;
181
+ }
182
+ else {
183
+ cutoff = Math.pow(2, bitSize - 1);
184
+ }
167
185
  if (!neg && un >= cutoff) {
168
186
  return [0, rangeError("ParseInt", s)];
169
187
  }
@@ -1 +1 @@
1
- {"version":3,"file":"atoi.gs.js","sourceRoot":"","sources":["../../../gs/strconv/atoi.gs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"atoi.gs.js","sourceRoot":"","sources":["../../../gs/strconv/atoi.gs.ts"],"names":[],"mappings":"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"}
@@ -28,9 +28,9 @@ export declare class Pointer<T> {
28
28
  }>);
29
29
  clone(): Pointer<T>;
30
30
  Load(): $.VarRef<T> | null;
31
- Store(val: T | null): void;
32
- Swap(_new: T | null): $.VarRef<T> | null;
33
- CompareAndSwap(old: T, _new: T): boolean;
31
+ Store(val: $.VarRef<T> | null): void;
32
+ Swap(_new: $.VarRef<T> | null): $.VarRef<T> | null;
33
+ CompareAndSwap(old: $.VarRef<T> | null, _new: $.VarRef<T> | null): boolean;
34
34
  static __typeInfo: $.StructTypeInfo;
35
35
  }
36
36
  export declare class Int32 {
@@ -78,33 +78,29 @@ export class Pointer {
78
78
  return LoadPointer(x._fields.v);
79
79
  }
80
80
  // Store atomically stores val into x.
81
- // In Go, this takes *T which can be nil, so we accept T | null
81
+ // In Go, this takes *T which can be nil, so we accept VarRef<T> | null
82
82
  Store(val) {
83
83
  const x = this;
84
84
  if (val === null) {
85
85
  StorePointer(x._fields.v, null);
86
86
  }
87
87
  else {
88
- const varRef = $.varRef(val);
89
- StorePointer(x._fields.v, unsafe.Pointer(varRef));
88
+ StorePointer(x._fields.v, unsafe.Pointer(val));
90
89
  }
91
90
  }
92
91
  // Swap atomically stores new into x and returns the previous value.
93
- // In Go, this takes *T which can be nil, so we accept T | null
92
+ // In Go, this takes *T which can be nil, so we accept VarRef<T> | null
94
93
  Swap(_new) {
95
94
  const x = this;
96
95
  if (_new === null) {
97
96
  return SwapPointer(x._fields.v, null);
98
97
  }
99
- const varRef = $.varRef(_new);
100
- return SwapPointer(x._fields.v, unsafe.Pointer(varRef));
98
+ return SwapPointer(x._fields.v, unsafe.Pointer(_new));
101
99
  }
102
100
  // CompareAndSwap executes the compare-and-swap operation for x.
103
101
  CompareAndSwap(old, _new) {
104
102
  const x = this;
105
- const oldVarRef = $.varRef(old);
106
- const newVarRef = $.varRef(_new);
107
- return CompareAndSwapPointer(x._fields.v, unsafe.Pointer(oldVarRef), unsafe.Pointer(newVarRef));
103
+ return CompareAndSwapPointer(x._fields.v, old ? unsafe.Pointer(old) : null, _new ? unsafe.Pointer(_new) : null);
108
104
  }
109
105
  // Register this type with the runtime type system
110
106
  static __typeInfo = $.registerStructType('Pointer', new Pointer(), [{ name: "Load", args: [], returns: [{ type: { kind: $.TypeKind.Pointer, elemType: { kind: $.TypeKind.Interface, methods: [] } } }] }, { name: "Store", args: [{ name: "val", type: { kind: $.TypeKind.Pointer, elemType: { kind: $.TypeKind.Interface, methods: [] } } }], returns: [] }, { name: "Swap", args: [{ name: "new", type: { kind: $.TypeKind.Pointer, elemType: { kind: $.TypeKind.Interface, methods: [] } } }], returns: [{ type: { kind: $.TypeKind.Pointer, elemType: { kind: $.TypeKind.Interface, methods: [] } } }] }, { name: "CompareAndSwap", args: [{ name: "old", type: { kind: $.TypeKind.Pointer, elemType: { kind: $.TypeKind.Interface, methods: [] } } }, { name: "new", type: { kind: $.TypeKind.Pointer, elemType: { kind: $.TypeKind.Interface, methods: [] } } }], returns: [{ type: { kind: $.TypeKind.Basic, name: "boolean" } }] }], Pointer, { "v": { kind: $.TypeKind.Basic, name: "Pointer" } });
@@ -1 +1 @@
1
- {"version":3,"file":"type.gs.js","sourceRoot":"","sources":["../../../../gs/sync/atomic/type.gs.ts"],"names":[],"mappings":"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AAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE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AC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,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E,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,E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"}
1
+ {"version":3,"file":"type.gs.js","sourceRoot":"","sources":["../../../../gs/sync/atomic/type.gs.ts"],"names":[],"mappings":"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AAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE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"}
package/go.mod CHANGED
@@ -5,14 +5,14 @@ go 1.25.3
5
5
  require (
6
6
  github.com/aperturerobotics/cli v1.0.1
7
7
  github.com/aperturerobotics/protobuf-go-lite v0.11.0
8
- github.com/aperturerobotics/util v1.31.4
8
+ github.com/aperturerobotics/util v1.32.0
9
9
  github.com/pkg/errors v0.9.1
10
10
  github.com/sirupsen/logrus v1.9.3
11
11
  golang.org/x/tools v0.40.0
12
12
  )
13
13
 
14
14
  require (
15
- github.com/aperturerobotics/common v0.22.12 // indirect
15
+ github.com/aperturerobotics/common v0.24.0 // indirect
16
16
  github.com/aperturerobotics/json-iterator-lite v1.0.1-0.20240713111131-be6bf89c3008 // indirect
17
17
  github.com/xrash/smetrics v0.0.0-20250705151800-55b8f293f342 // indirect
18
18
  golang.org/x/mod v0.31.0 // indirect
package/go.sum CHANGED
@@ -2,12 +2,16 @@ github.com/aperturerobotics/cli v1.0.1 h1:9KsECHGESJ/iGU13Z4zNQzKFz5bMave4bA6lPX
2
2
  github.com/aperturerobotics/cli v1.0.1/go.mod h1:s1Gh4eTOGGlrPqpyi/q8aIQwk0T6yDCF7C2xPyBMtek=
3
3
  github.com/aperturerobotics/common v0.22.12 h1:uSo+fDQg6xCoNI34Y7gueW1cW9Cy4d/2FQb/T006LZQ=
4
4
  github.com/aperturerobotics/common v0.22.12/go.mod h1:xMXHNN6oCvG0FfG1tY6+2Si7iWh1QfSSCSrqohFUeIk=
5
+ github.com/aperturerobotics/common v0.24.0 h1:blvKGbG2x6SBWrjoTjZbdy3ZqEm6DEHHp8OBpsQAM9s=
6
+ github.com/aperturerobotics/common v0.24.0/go.mod h1:/86GyW6RWYxHByCFOhvI9IQgCchTnJznwV2k9Nz5lgk=
5
7
  github.com/aperturerobotics/json-iterator-lite v1.0.1-0.20240713111131-be6bf89c3008 h1:So9JeziaWKx2Fw8sK4AUN/szqKtJ0jEMhS6bU4sHbxs=
6
8
  github.com/aperturerobotics/json-iterator-lite v1.0.1-0.20240713111131-be6bf89c3008/go.mod h1:snaApCEDtrHHP6UWSLKiYNOZU9A5NyzccKenx9oZEzg=
7
9
  github.com/aperturerobotics/protobuf-go-lite v0.11.0 h1:IAaZISqrEpodqECYxk0yKWgROEbZtMhs7bErP+Zma9o=
8
10
  github.com/aperturerobotics/protobuf-go-lite v0.11.0/go.mod h1:c4kGy7Dkfz6B1m0t4QBIMQoNeQ7m+nYj3Qxxnlwhygo=
9
11
  github.com/aperturerobotics/util v1.31.4 h1:2F4j5CML/Hb4dQT1E1pjkZd3AdJhsAQiaRCR9pD/dwo=
10
12
  github.com/aperturerobotics/util v1.31.4/go.mod h1:qfeWUnkC60QpjxH4yocO6Q/No+J1E488yzuconPgF8c=
13
+ github.com/aperturerobotics/util v1.32.0 h1:6gIx5zt1/cOpyH5Wq+im3yNLnRncsfw9PupHNQsy8c0=
14
+ github.com/aperturerobotics/util v1.32.0/go.mod h1:Aufy+WeKncuhc1L2yEg+QxRhb8uVnGBprPyTubaDxLw=
11
15
  github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
12
16
  github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
13
17
  github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
@@ -27,6 +27,58 @@ export type Slice<T> =
27
27
  | null
28
28
  | (T extends number ? Uint8Array : never)
29
29
 
30
+ /**
31
+ * wrapSliceProxy wraps a SliceProxy in a Proxy to intercept index access
32
+ * and route it through the backing array.
33
+ */
34
+ function wrapSliceProxy<T>(proxy: SliceProxy<T>): SliceProxy<T> {
35
+ const handler = {
36
+ get(target: any, prop: string | symbol): any {
37
+ if (typeof prop === 'string' && /^\d+$/.test(prop)) {
38
+ const index = Number(prop)
39
+ if (index >= 0 && index < target.__meta__.length) {
40
+ return target.__meta__.backing[target.__meta__.offset + index]
41
+ }
42
+ throw new Error(
43
+ `Slice index out of range: ${index} >= ${target.__meta__.length}`,
44
+ )
45
+ }
46
+
47
+ if (prop === 'length') {
48
+ return target.__meta__.length
49
+ }
50
+
51
+ if (prop === '__meta__') {
52
+ return target.__meta__
53
+ }
54
+
55
+ return Reflect.get(target, prop)
56
+ },
57
+
58
+ set(target: any, prop: string | symbol, value: any): boolean {
59
+ if (typeof prop === 'string' && /^\d+$/.test(prop)) {
60
+ const index = Number(prop)
61
+ if (index >= 0 && index < target.__meta__.length) {
62
+ target.__meta__.backing[target.__meta__.offset + index] = value
63
+ target[index] = value // Also update the proxy target for consistency
64
+ return true
65
+ }
66
+ throw new Error(
67
+ `Slice index out of range: ${index} >= ${target.__meta__.length}`,
68
+ )
69
+ }
70
+
71
+ if (prop === 'length' || prop === '__meta__') {
72
+ return false
73
+ }
74
+
75
+ return Reflect.set(target, prop, value)
76
+ },
77
+ }
78
+
79
+ return new Proxy(proxy, handler) as SliceProxy<T>
80
+ }
81
+
30
82
  // asArray converts a slice to a JavaScript array.
31
83
  export function asArray<T>(slice: Slice<T>): T[] {
32
84
  if (slice === null || slice === undefined) {
@@ -114,52 +166,7 @@ export const makeSlice = <T>(
114
166
  capacity: actualCapacity,
115
167
  }
116
168
 
117
- // Create a proper Proxy with the handler for SliceProxy behavior
118
- const handler = {
119
- get(target: any, prop: string | symbol): any {
120
- if (typeof prop === 'string' && /^\d+$/.test(prop)) {
121
- const index = Number(prop)
122
- if (index >= 0 && index < target.__meta__.length) {
123
- return target.__meta__.backing[target.__meta__.offset + index]
124
- }
125
- throw new Error(
126
- `Slice index out of range: ${index} >= ${target.__meta__.length}`,
127
- )
128
- }
129
-
130
- if (prop === 'length') {
131
- return target.__meta__.length
132
- }
133
-
134
- if (prop === '__meta__') {
135
- return target.__meta__
136
- }
137
-
138
- return Reflect.get(target, prop)
139
- },
140
-
141
- set(target: any, prop: string | symbol, value: any): boolean {
142
- if (typeof prop === 'string' && /^\d+$/.test(prop)) {
143
- const index = Number(prop)
144
- if (index >= 0 && index < target.__meta__.length) {
145
- target.__meta__.backing[target.__meta__.offset + index] = value
146
- target[index] = value // Also update the proxy target for consistency
147
- return true
148
- }
149
- throw new Error(
150
- `Slice index out of range: ${index} >= ${target.__meta__.length}`,
151
- )
152
- }
153
-
154
- if (prop === 'length' || prop === '__meta__') {
155
- return false
156
- }
157
-
158
- return Reflect.set(target, prop, value)
159
- },
160
- }
161
-
162
- return new Proxy(proxy, handler) as Slice<T>
169
+ return wrapSliceProxy(proxy) as Slice<T>
163
170
  }
164
171
 
165
172
  const actualCapacity = capacity === undefined ? length : capacity
@@ -810,7 +817,7 @@ export function append<T>(
810
817
  length: newLength,
811
818
  capacity: oldCapacity,
812
819
  }
813
- return resultProxy as any
820
+ return wrapSliceProxy(resultProxy) as any
814
821
  }
815
822
 
816
823
  // Case 2: Reallocation is needed.
@@ -842,7 +849,7 @@ export function append<T>(
842
849
  length: newLength,
843
850
  capacity: newCapacity,
844
851
  }
845
- return resultProxy as any
852
+ return wrapSliceProxy(resultProxy) as any
846
853
  }
847
854
 
848
855
  /**
@@ -5,13 +5,19 @@
5
5
  * var myVariable int // variable referenced
6
6
  * myOtherVar := &myVariable
7
7
  */
8
- export type VarRef<T> = { value: T }
8
+ export type VarRef<T> = { value: T; __isVarRef?: true }
9
9
 
10
10
  /** Wrap a non-null T in a variable reference. */
11
11
  export function varRef<T>(v: T): VarRef<T> {
12
12
  // We create a new object wrapper for every varRef call to ensure
13
13
  // distinct pointer identity, crucial for pointer comparisons (p1 == p2).
14
- return { value: v }
14
+ // The __isVarRef marker allows the reflect system to identify this as a pointer type.
15
+ return { value: v, __isVarRef: true }
16
+ }
17
+
18
+ /** Check if a value is a VarRef (pointer) */
19
+ export function isVarRef(v: unknown): v is VarRef<unknown> {
20
+ return v !== null && typeof v === 'object' && (v as any).__isVarRef === true
15
21
  }
16
22
 
17
23
  /** Dereference a variable reference, throws on null → simulates Go panic. */
@@ -281,8 +281,19 @@ const invalidTypeInstance = new InvalidTypeClass()
281
281
  export class Value {
282
282
  private _value: ReflectValue
283
283
  private _type: Type
284
+ // _parentVarRef tracks the VarRef this value was dereferenced from (for Set support)
285
+ private _parentVarRef?: $.VarRef<ReflectValue>
286
+ // _parentStruct and _fieldName track the parent struct and field name for struct field Set() support
287
+ private _parentStruct?: Record<string, any>
288
+ private _fieldName?: string
284
289
 
285
- constructor(value?: ReflectValue | Record<string, never>, type?: Type | null) {
290
+ constructor(
291
+ value?: ReflectValue | Record<string, never>,
292
+ type?: Type | null,
293
+ parentVarRef?: $.VarRef<ReflectValue>,
294
+ parentStruct?: Record<string, any>,
295
+ fieldName?: string,
296
+ ) {
286
297
  // Handle zero-value initialization: new Value({}) or new Value()
287
298
  // This corresponds to reflect.Value{} in Go which is an invalid/zero value
288
299
  if (
@@ -300,10 +311,20 @@ export class Value {
300
311
  this._value = value as ReflectValue
301
312
  this._type = type
302
313
  }
314
+ this._parentVarRef = parentVarRef
315
+ this._parentStruct = parentStruct
316
+ this._fieldName = fieldName
303
317
  }
304
318
 
305
319
  public clone(): Value {
306
- return new Value(this._value, this._type)
320
+ const cloned = new Value(
321
+ this._value,
322
+ this._type,
323
+ this._parentVarRef,
324
+ this._parentStruct,
325
+ this._fieldName,
326
+ )
327
+ return cloned
307
328
  }
308
329
 
309
330
  // Methods required by godoc.txt and used throughout the codebase
@@ -415,7 +436,10 @@ export class Value {
415
436
  }
416
437
 
417
438
  public IsValid(): boolean {
418
- return this._value !== null && this._value !== undefined
439
+ // In Go, a Value is valid if it was properly constructed (not the zero Value{}).
440
+ // A valid Value can have a nil underlying value (e.g., nil map, nil pointer).
441
+ // We check if the type is valid (not the invalid type sentinel).
442
+ return this._type !== invalidTypeInstance
419
443
  }
420
444
 
421
445
  public IsNil(): boolean {
@@ -445,8 +469,14 @@ export class Value {
445
469
  }
446
470
 
447
471
  public Elem(): Value {
448
- // For pointers and interfaces, return the element
449
- return new Value(this._value, this._type)
472
+ // For pointers, unwrap the VarRef and return the element, tracking the parent
473
+ if (this._type.Kind() === Ptr && $.isVarRef(this._value)) {
474
+ const varRef = this._value as $.VarRef<ReflectValue>
475
+ const elemType = this._type.Elem()
476
+ return new Value(varRef.value, elemType, varRef)
477
+ }
478
+ // For interfaces, return the underlying value
479
+ return new Value(this._value, this._type, this._parentVarRef)
450
480
  }
451
481
 
452
482
  public NumField(): number {
@@ -463,11 +493,13 @@ export class Value {
463
493
  throw new Error('reflect: struct field index out of range')
464
494
  }
465
495
 
466
- let fieldVal = (this._value as Record<string, any>)[field.Name]
496
+ const parentObj = this._value as Record<string, any>
497
+ let fieldVal = parentObj[field.Name]
467
498
  if (fieldVal === undefined) {
468
499
  fieldVal = null
469
500
  }
470
- return new Value(fieldVal, field.Type)
501
+ // Pass parent struct and field name so Set() can update the struct
502
+ return new Value(fieldVal, field.Type, undefined, parentObj, field.Name)
471
503
  }
472
504
 
473
505
  // Additional methods needed by various parts of the codebase
@@ -507,17 +539,43 @@ export class Value {
507
539
  }
508
540
 
509
541
  public CanSet(): boolean {
510
- return this.IsValid() && this.Kind() !== Ptr // Simplified
542
+ // Simplified: all valid values are settable in GoScript since we handle
543
+ // pointer semantics through VarRef. This enables JSON unmarshaling to work.
544
+ return this.IsValid()
511
545
  }
512
546
 
513
547
  public Set(x: Value): void {
514
548
  if (!this.CanSet()) {
515
549
  throw new Error('reflect: assign to invalid value')
516
550
  }
517
- if (this.Type() !== x.Type()) {
551
+ // Interface types can accept any value
552
+ if (this.Kind() === Interface) {
553
+ this._value = x.value
554
+ // Also update the parent VarRef if we were dereferenced from one
555
+ if (this._parentVarRef) {
556
+ this._parentVarRef.value = x.value
557
+ }
558
+ // Also update the parent struct field if this is a struct field
559
+ if (this._parentStruct && this._fieldName) {
560
+ this._parentStruct[this._fieldName] = x.value
561
+ }
562
+ return
563
+ }
564
+ // For other types, check if types are compatible (simplified check)
565
+ const thisType = this.Type()
566
+ const xType = x.Type()
567
+ if (thisType.Kind() !== xType.Kind()) {
518
568
  throw new Error('reflect: assign to wrong type')
519
569
  }
520
570
  this._value = x.value
571
+ // Also update the parent VarRef if we were dereferenced from one
572
+ if (this._parentVarRef) {
573
+ this._parentVarRef.value = x.value
574
+ }
575
+ // Also update the parent struct field if this is a struct field
576
+ if (this._parentStruct && this._fieldName) {
577
+ this._parentStruct[this._fieldName] = x.value
578
+ }
521
579
  }
522
580
 
523
581
  // Additional methods from deleted reflect.gs.ts
@@ -594,6 +652,12 @@ export class Value {
594
652
  )
595
653
  }
596
654
  this._value = x
655
+ if (this._parentVarRef) {
656
+ this._parentVarRef.value = x
657
+ }
658
+ if (this._parentStruct && this._fieldName) {
659
+ this._parentStruct[this._fieldName] = x
660
+ }
597
661
  }
598
662
 
599
663
  // SetInt sets v's underlying value to x
@@ -610,6 +674,12 @@ export class Value {
610
674
  )
611
675
  }
612
676
  this._value = x
677
+ if (this._parentVarRef) {
678
+ this._parentVarRef.value = x
679
+ }
680
+ if (this._parentStruct && this._fieldName) {
681
+ this._parentStruct[this._fieldName] = x
682
+ }
613
683
  }
614
684
 
615
685
  // SetUint sets v's underlying value to x
@@ -633,6 +703,12 @@ export class Value {
633
703
  )
634
704
  }
635
705
  this._value = x
706
+ if (this._parentVarRef) {
707
+ this._parentVarRef.value = x
708
+ }
709
+ if (this._parentStruct && this._fieldName) {
710
+ this._parentStruct[this._fieldName] = x
711
+ }
636
712
  }
637
713
 
638
714
  // SetBool sets v's underlying value to x
@@ -648,6 +724,12 @@ export class Value {
648
724
  )
649
725
  }
650
726
  this._value = x
727
+ if (this._parentVarRef) {
728
+ this._parentVarRef.value = x
729
+ }
730
+ if (this._parentStruct && this._fieldName) {
731
+ this._parentStruct[this._fieldName] = x
732
+ }
651
733
  }
652
734
 
653
735
  // SetFloat sets v's underlying value to x
@@ -664,6 +746,12 @@ export class Value {
664
746
  )
665
747
  }
666
748
  this._value = x
749
+ if (this._parentVarRef) {
750
+ this._parentVarRef.value = x
751
+ }
752
+ if (this._parentStruct && this._fieldName) {
753
+ this._parentStruct[this._fieldName] = x
754
+ }
667
755
  }
668
756
 
669
757
  // SetBytes sets v's underlying value to x
@@ -1887,6 +1975,12 @@ function getTypeOf(value: ReflectValue): Type {
1887
1975
  return new BasicType(Interface, 'interface{}', 16)
1888
1976
  }
1889
1977
 
1978
+ // Check for VarRef (pointer type in GoScript)
1979
+ if ($.isVarRef(value)) {
1980
+ const elemType = getTypeOf(value.value as ReflectValue)
1981
+ return new PointerType(elemType)
1982
+ }
1983
+
1890
1984
  // Check for arrays
1891
1985
  if (globalThis.Array.isArray(value)) {
1892
1986
  if (value.length === 0) {