goscript 0.0.24 → 0.0.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/README.md +1 -1
  2. package/cmd/goscript/cmd_compile.go +17 -1
  3. package/compiler/analysis.go +1 -1
  4. package/compiler/builtin_test.go +2 -14
  5. package/compiler/compiler.go +251 -11
  6. package/compiler/compiler_test.go +60 -0
  7. package/compiler/decl.go +7 -1
  8. package/compiler/expr-call.go +212 -2
  9. package/compiler/expr.go +46 -2
  10. package/compiler/field.go +4 -4
  11. package/compiler/spec-value.go +1 -1
  12. package/compiler/stmt-range.go +204 -1
  13. package/compiler/type.go +47 -4
  14. package/dist/gs/builtin/builtin.d.ts +9 -0
  15. package/dist/gs/builtin/builtin.js +10 -1
  16. package/dist/gs/builtin/builtin.js.map +1 -1
  17. package/dist/gs/builtin/channel.d.ts +193 -0
  18. package/dist/gs/builtin/channel.js.map +1 -1
  19. package/dist/gs/builtin/defer.d.ts +38 -0
  20. package/dist/gs/builtin/defer.js.map +1 -1
  21. package/dist/gs/builtin/index.d.ts +1 -0
  22. package/dist/gs/builtin/index.js +2 -0
  23. package/dist/gs/builtin/index.js.map +1 -0
  24. package/dist/gs/builtin/io.d.ts +16 -0
  25. package/dist/gs/builtin/io.js.map +1 -1
  26. package/dist/gs/builtin/map.d.ts +33 -0
  27. package/dist/gs/builtin/map.js.map +1 -1
  28. package/dist/gs/builtin/slice.d.ts +173 -0
  29. package/dist/gs/builtin/slice.js +38 -24
  30. package/dist/gs/builtin/slice.js.map +1 -1
  31. package/dist/gs/builtin/type.d.ts +203 -0
  32. package/dist/gs/builtin/type.js +1 -2
  33. package/dist/gs/builtin/type.js.map +1 -1
  34. package/dist/gs/builtin/varRef.d.ts +14 -0
  35. package/dist/gs/builtin/varRef.js.map +1 -1
  36. package/dist/gs/cmp/index.d.ts +4 -0
  37. package/dist/gs/cmp/index.js +27 -0
  38. package/dist/gs/cmp/index.js.map +1 -0
  39. package/dist/gs/context/context.d.ts +26 -0
  40. package/dist/gs/context/context.js +297 -38
  41. package/dist/gs/context/context.js.map +1 -1
  42. package/dist/gs/context/index.d.ts +1 -0
  43. package/dist/gs/errors/errors.d.ts +8 -0
  44. package/dist/gs/errors/errors.js +190 -0
  45. package/dist/gs/errors/errors.js.map +1 -0
  46. package/dist/gs/errors/index.d.ts +1 -0
  47. package/dist/gs/errors/index.js +2 -0
  48. package/dist/gs/errors/index.js.map +1 -0
  49. package/dist/gs/internal/goarch/index.d.ts +6 -0
  50. package/dist/gs/internal/goarch/index.js +14 -0
  51. package/dist/gs/internal/goarch/index.js.map +1 -0
  52. package/dist/gs/iter/index.d.ts +1 -0
  53. package/dist/gs/iter/index.js +2 -0
  54. package/dist/gs/iter/index.js.map +1 -0
  55. package/dist/gs/iter/iter.d.ts +4 -0
  56. package/dist/gs/iter/iter.js +91 -0
  57. package/dist/gs/iter/iter.js.map +1 -0
  58. package/dist/gs/math/bits/index.d.ts +47 -0
  59. package/dist/gs/math/bits/index.js +300 -0
  60. package/dist/gs/math/bits/index.js.map +1 -0
  61. package/dist/gs/runtime/index.d.ts +1 -0
  62. package/dist/gs/runtime/runtime.d.ts +42 -0
  63. package/dist/gs/runtime/runtime.js +15 -18
  64. package/dist/gs/runtime/runtime.js.map +1 -1
  65. package/dist/gs/slices/index.d.ts +1 -0
  66. package/dist/gs/slices/index.js +2 -0
  67. package/dist/gs/slices/index.js.map +1 -0
  68. package/dist/gs/slices/slices.d.ts +8 -0
  69. package/dist/gs/slices/slices.js +20 -0
  70. package/dist/gs/slices/slices.js.map +1 -0
  71. package/dist/gs/time/index.d.ts +1 -0
  72. package/dist/gs/time/time.d.ts +57 -0
  73. package/dist/gs/time/time.js +108 -15
  74. package/dist/gs/time/time.js.map +1 -1
  75. package/package.json +3 -2
@@ -0,0 +1,14 @@
1
+ // Architecture constants for JavaScript/WebAssembly target
2
+ // This replaces the auto-generated version with appropriate values for JS
3
+ // Pointer size in bytes (64-bit in modern JavaScript environments)
4
+ export const PtrSize = 8;
5
+ // JavaScript is little-endian
6
+ export const BigEndian = false;
7
+ // Architecture family
8
+ export const ArchFamily = 'wasm';
9
+ // Other common architecture constants
10
+ export const Int64Align = 8;
11
+ export const MinFrameSize = 0;
12
+ // CPU cache line size (not really applicable in JS, but some code might reference it)
13
+ export const CacheLineSize = 64;
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../gs/internal/goarch/index.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,0EAA0E;AAE1E,mEAAmE;AACnE,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAA;AAExB,8BAA8B;AAC9B,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAA;AAE9B,sBAAsB;AACtB,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAA;AAEhC,sCAAsC;AACtC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAA;AAC3B,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAA;AAE7B,sFAAsF;AACtF,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,CAAA"}
@@ -0,0 +1 @@
1
+ export * from './iter.js';
@@ -0,0 +1,2 @@
1
+ export * from './iter.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../gs/iter/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA"}
@@ -0,0 +1,4 @@
1
+ export type Seq<V> = (_yield: (value: V) => boolean) => void;
2
+ export type Seq2<K, V> = (_yield: (key: K, value: V) => boolean) => void;
3
+ export declare function Pull<V>(seq: Seq<V>): [() => [V | undefined, boolean], () => void];
4
+ export declare function Pull2<K, V>(seq: Seq2<K, V>): [() => [K | undefined, V | undefined, boolean], () => void];
@@ -0,0 +1,91 @@
1
+ // TypeScript implementation of Go's iter package
2
+ // This provides iterator types and functions
3
+ // Pull converts the "push-style" iterator sequence seq into a "pull-style" iterator
4
+ // Returns a function that returns the next value and a boolean indicating if iteration should continue
5
+ export function Pull(seq) {
6
+ let done = false;
7
+ let nextValue;
8
+ let hasNext = false;
9
+ const iterator = seq(function (value) {
10
+ nextValue = value;
11
+ hasNext = true;
12
+ return false; // Stop iteration after getting one value
13
+ });
14
+ const next = () => {
15
+ if (done) {
16
+ return [undefined, false];
17
+ }
18
+ if (hasNext) {
19
+ const value = nextValue;
20
+ hasNext = false;
21
+ nextValue = undefined;
22
+ return [value, true];
23
+ }
24
+ // Try to get next value
25
+ seq(function (value) {
26
+ nextValue = value;
27
+ hasNext = true;
28
+ return false; // Stop after getting one value
29
+ });
30
+ if (hasNext) {
31
+ const value = nextValue;
32
+ hasNext = false;
33
+ nextValue = undefined;
34
+ return [value, true];
35
+ }
36
+ done = true;
37
+ return [undefined, false];
38
+ };
39
+ const stop = () => {
40
+ done = true;
41
+ hasNext = false;
42
+ nextValue = undefined;
43
+ };
44
+ return [next, stop];
45
+ }
46
+ // Pull2 converts the "push-style" iterator sequence seq into a "pull-style" iterator
47
+ // Returns a function that returns the next key-value pair and a boolean indicating if iteration should continue
48
+ export function Pull2(seq) {
49
+ let done = false;
50
+ let nextKey;
51
+ let nextValue;
52
+ let hasNext = false;
53
+ const next = () => {
54
+ if (done) {
55
+ return [undefined, undefined, false];
56
+ }
57
+ if (hasNext) {
58
+ const key = nextKey;
59
+ const value = nextValue;
60
+ hasNext = false;
61
+ nextKey = undefined;
62
+ nextValue = undefined;
63
+ return [key, value, true];
64
+ }
65
+ // Try to get next value
66
+ seq(function (key, value) {
67
+ nextKey = key;
68
+ nextValue = value;
69
+ hasNext = true;
70
+ return false; // Stop after getting one value
71
+ });
72
+ if (hasNext) {
73
+ const key = nextKey;
74
+ const value = nextValue;
75
+ hasNext = false;
76
+ nextKey = undefined;
77
+ nextValue = undefined;
78
+ return [key, value, true];
79
+ }
80
+ done = true;
81
+ return [undefined, undefined, false];
82
+ };
83
+ const stop = () => {
84
+ done = true;
85
+ hasNext = false;
86
+ nextKey = undefined;
87
+ nextValue = undefined;
88
+ };
89
+ return [next, stop];
90
+ }
91
+ //# sourceMappingURL=iter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iter.js","sourceRoot":"","sources":["../../../gs/iter/iter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ export declare const UintSize = 32;
2
+ export declare function LeadingZeros(x: number): number;
3
+ export declare function LeadingZeros8(x: number): number;
4
+ export declare function LeadingZeros16(x: number): number;
5
+ export declare function LeadingZeros32(x: number): number;
6
+ export declare function LeadingZeros64(x: bigint): number;
7
+ export declare function TrailingZeros(x: number): number;
8
+ export declare function TrailingZeros8(x: number): number;
9
+ export declare function TrailingZeros16(x: number): number;
10
+ export declare function TrailingZeros32(x: number): number;
11
+ export declare function TrailingZeros64(x: bigint): number;
12
+ export declare function OnesCount(x: number): number;
13
+ export declare function OnesCount8(x: number): number;
14
+ export declare function OnesCount16(x: number): number;
15
+ export declare function OnesCount32(x: number): number;
16
+ export declare function OnesCount64(x: bigint): number;
17
+ export declare function RotateLeft(x: number, k: number): number;
18
+ export declare function RotateLeft8(x: number, k: number): number;
19
+ export declare function RotateLeft16(x: number, k: number): number;
20
+ export declare function RotateLeft32(x: number, k: number): number;
21
+ export declare function RotateLeft64(x: bigint, k: number): bigint;
22
+ export declare function Reverse(x: number): number;
23
+ export declare function Reverse8(x: number): number;
24
+ export declare function Reverse16(x: number): number;
25
+ export declare function Reverse32(x: number): number;
26
+ export declare function Reverse64(x: bigint): bigint;
27
+ export declare function ReverseBytes(x: number): number;
28
+ export declare function ReverseBytes16(x: number): number;
29
+ export declare function ReverseBytes32(x: number): number;
30
+ export declare function ReverseBytes64(x: bigint): bigint;
31
+ export declare function Len(x: number): number;
32
+ export declare function Len8(x: number): number;
33
+ export declare function Len16(x: number): number;
34
+ export declare function Len32(x: number): number;
35
+ export declare function Len64(x: bigint): number;
36
+ export declare function Mul(x: number, y: number): [number, number];
37
+ export declare function Mul32(x: number, y: number): [number, number];
38
+ export declare function Mul64(x: bigint, y: bigint): [bigint, bigint];
39
+ export declare function Div(hi: number, lo: number, y: number): [number, number];
40
+ export declare function Div32(hi: number, lo: number, y: number): [number, number];
41
+ export declare function Div64(hi: bigint, lo: bigint, y: bigint): [bigint, bigint];
42
+ export declare function Add(x: number, y: number, carry: number): [number, number];
43
+ export declare function Add32(x: number, y: number, carry: number): [number, number];
44
+ export declare function Add64(x: bigint, y: bigint, carry: bigint): [bigint, bigint];
45
+ export declare function Sub(x: number, y: number, borrow: number): [number, number];
46
+ export declare function Sub32(x: number, y: number, borrow: number): [number, number];
47
+ export declare function Sub64(x: bigint, y: bigint, borrow: bigint): [bigint, bigint];
@@ -0,0 +1,300 @@
1
+ // Minimal stub for math/bits package
2
+ // This replaces the auto-generated version that has TypeScript syntax errors
3
+ // UintSize is the size of a uint in bits
4
+ export const UintSize = 32; // Assuming 32-bit for JavaScript numbers
5
+ // --- Leading zeros ---
6
+ export function LeadingZeros(x) {
7
+ return Math.clz32(x >>> 0);
8
+ }
9
+ export function LeadingZeros8(x) {
10
+ return Math.clz32((x & 0xff) << 24);
11
+ }
12
+ export function LeadingZeros16(x) {
13
+ return Math.clz32((x & 0xffff) << 16);
14
+ }
15
+ export function LeadingZeros32(x) {
16
+ return Math.clz32(x >>> 0);
17
+ }
18
+ export function LeadingZeros64(x) {
19
+ // For 64-bit, we need to handle it differently
20
+ if (x === 0n)
21
+ return 64;
22
+ let count = 0;
23
+ let mask = 1n << 63n;
24
+ while ((x & mask) === 0n && count < 64) {
25
+ count++;
26
+ mask >>= 1n;
27
+ }
28
+ return count;
29
+ }
30
+ // --- Trailing zeros ---
31
+ export function TrailingZeros(x) {
32
+ if (x === 0)
33
+ return UintSize;
34
+ return TrailingZeros32(x);
35
+ }
36
+ export function TrailingZeros8(x) {
37
+ if (x === 0)
38
+ return 8;
39
+ return Math.min(8, TrailingZeros32(x));
40
+ }
41
+ export function TrailingZeros16(x) {
42
+ if (x === 0)
43
+ return 16;
44
+ return Math.min(16, TrailingZeros32(x));
45
+ }
46
+ export function TrailingZeros32(x) {
47
+ if (x === 0)
48
+ return 32;
49
+ let count = 0;
50
+ while ((x & 1) === 0) {
51
+ count++;
52
+ x >>>= 1;
53
+ }
54
+ return count;
55
+ }
56
+ export function TrailingZeros64(x) {
57
+ if (x === 0n)
58
+ return 64;
59
+ let count = 0;
60
+ while ((x & 1n) === 0n && count < 64) {
61
+ count++;
62
+ x >>= 1n;
63
+ }
64
+ return count;
65
+ }
66
+ // --- Ones count ---
67
+ export function OnesCount(x) {
68
+ return OnesCount32(x);
69
+ }
70
+ export function OnesCount8(x) {
71
+ return OnesCount32(x & 0xff);
72
+ }
73
+ export function OnesCount16(x) {
74
+ return OnesCount32(x & 0xffff);
75
+ }
76
+ export function OnesCount32(x) {
77
+ // Brian Kernighan's algorithm
78
+ let count = 0;
79
+ x = x >>> 0; // Ensure unsigned
80
+ while (x) {
81
+ count++;
82
+ x &= x - 1;
83
+ }
84
+ return count;
85
+ }
86
+ export function OnesCount64(x) {
87
+ let count = 0;
88
+ while (x > 0n) {
89
+ count++;
90
+ x &= x - 1n;
91
+ }
92
+ return count;
93
+ }
94
+ // --- Rotate left ---
95
+ export function RotateLeft(x, k) {
96
+ return RotateLeft32(x, k);
97
+ }
98
+ export function RotateLeft8(x, k) {
99
+ const n = 8;
100
+ k = k % n;
101
+ x = x & 0xff;
102
+ return ((x << k) | (x >> (n - k))) & 0xff;
103
+ }
104
+ export function RotateLeft16(x, k) {
105
+ const n = 16;
106
+ k = k % n;
107
+ x = x & 0xffff;
108
+ return ((x << k) | (x >> (n - k))) & 0xffff;
109
+ }
110
+ export function RotateLeft32(x, k) {
111
+ const n = 32;
112
+ k = k % n;
113
+ x = x >>> 0; // Ensure unsigned
114
+ return ((x << k) | (x >>> (n - k))) >>> 0;
115
+ }
116
+ export function RotateLeft64(x, k) {
117
+ const n = 64;
118
+ k = k % n;
119
+ const mask = (1n << 64n) - 1n;
120
+ x = x & mask;
121
+ return ((x << BigInt(k)) | (x >> BigInt(n - k))) & mask;
122
+ }
123
+ // --- Reverse ---
124
+ export function Reverse(x) {
125
+ return Reverse32(x);
126
+ }
127
+ export function Reverse8(x) {
128
+ x = x & 0xff;
129
+ x = ((x & 0xf0) >> 4) | ((x & 0x0f) << 4);
130
+ x = ((x & 0xcc) >> 2) | ((x & 0x33) << 2);
131
+ x = ((x & 0xaa) >> 1) | ((x & 0x55) << 1);
132
+ return x;
133
+ }
134
+ export function Reverse16(x) {
135
+ x = x & 0xffff;
136
+ x = ((x & 0xff00) >> 8) | ((x & 0x00ff) << 8);
137
+ x = ((x & 0xf0f0) >> 4) | ((x & 0x0f0f) << 4);
138
+ x = ((x & 0xcccc) >> 2) | ((x & 0x3333) << 2);
139
+ x = ((x & 0xaaaa) >> 1) | ((x & 0x5555) << 1);
140
+ return x;
141
+ }
142
+ export function Reverse32(x) {
143
+ x = x >>> 0; // Ensure unsigned
144
+ x = ((x & 0xffff0000) >>> 16) | ((x & 0x0000ffff) << 16);
145
+ x = ((x & 0xff00ff00) >>> 8) | ((x & 0x00ff00ff) << 8);
146
+ x = ((x & 0xf0f0f0f0) >>> 4) | ((x & 0x0f0f0f0f) << 4);
147
+ x = ((x & 0xcccccccc) >>> 2) | ((x & 0x33333333) << 2);
148
+ x = ((x & 0xaaaaaaaa) >>> 1) | ((x & 0x55555555) << 1);
149
+ return x >>> 0;
150
+ }
151
+ export function Reverse64(x) {
152
+ // Implement 64-bit reverse using similar bit manipulation
153
+ const mask = (1n << 64n) - 1n;
154
+ x = x & mask;
155
+ // Swap 32-bit halves
156
+ x = ((x & 0xffffffff00000000n) >> 32n) | ((x & 0x00000000ffffffffn) << 32n);
157
+ // Swap 16-bit chunks
158
+ x = ((x & 0xffff0000ffff0000n) >> 16n) | ((x & 0x0000ffff0000ffffn) << 16n);
159
+ // Swap 8-bit chunks
160
+ x = ((x & 0xff00ff00ff00ff00n) >> 8n) | ((x & 0x00ff00ff00ff00ffn) << 8n);
161
+ // Swap 4-bit chunks
162
+ x = ((x & 0xf0f0f0f0f0f0f0f0n) >> 4n) | ((x & 0x0f0f0f0f0f0f0f0fn) << 4n);
163
+ // Swap 2-bit chunks
164
+ x = ((x & 0xccccccccccccccccn) >> 2n) | ((x & 0x3333333333333333n) << 2n);
165
+ // Swap 1-bit chunks
166
+ x = ((x & 0xaaaaaaaaaaaaaaaan) >> 1n) | ((x & 0x5555555555555555n) << 1n);
167
+ return x & mask;
168
+ }
169
+ // --- ReverseBytes ---
170
+ export function ReverseBytes(x) {
171
+ return ReverseBytes32(x);
172
+ }
173
+ export function ReverseBytes16(x) {
174
+ return ((x & 0xff) << 8) | ((x & 0xff00) >> 8);
175
+ }
176
+ export function ReverseBytes32(x) {
177
+ x = x >>> 0; // Ensure unsigned
178
+ return ((((x & 0xff) << 24) |
179
+ ((x & 0xff00) << 8) |
180
+ ((x & 0xff0000) >> 8) |
181
+ ((x & 0xff000000) >>> 24)) >>>
182
+ 0);
183
+ }
184
+ export function ReverseBytes64(x) {
185
+ const mask = (1n << 64n) - 1n;
186
+ x = x & mask;
187
+ return ((((x & 0xffn) << 56n) |
188
+ ((x & 0xff00n) << 40n) |
189
+ ((x & 0xff0000n) << 24n) |
190
+ ((x & 0xff000000n) << 8n) |
191
+ ((x & 0xff00000000n) >> 8n) |
192
+ ((x & 0xff0000000000n) >> 24n) |
193
+ ((x & 0xff000000000000n) >> 40n) |
194
+ ((x & 0xff00000000000000n) >> 56n)) &
195
+ mask);
196
+ }
197
+ // --- Len ---
198
+ export function Len(x) {
199
+ return Len32(x);
200
+ }
201
+ export function Len8(x) {
202
+ return 8 - LeadingZeros8(x);
203
+ }
204
+ export function Len16(x) {
205
+ return 16 - LeadingZeros16(x);
206
+ }
207
+ export function Len32(x) {
208
+ return 32 - LeadingZeros32(x);
209
+ }
210
+ export function Len64(x) {
211
+ return 64 - LeadingZeros64(x);
212
+ }
213
+ // --- Multiplication functions ---
214
+ export function Mul(x, y) {
215
+ return Mul32(x, y);
216
+ }
217
+ export function Mul32(x, y) {
218
+ // For 32-bit multiplication, we can use JavaScript's number precision
219
+ const result = (x >>> 0) * (y >>> 0);
220
+ const hi = Math.floor(result / 0x100000000) >>> 0;
221
+ const lo = result >>> 0;
222
+ return [hi, lo];
223
+ }
224
+ export function Mul64(x, y) {
225
+ const mask32 = 0xffffffffn;
226
+ // Split into 32-bit parts
227
+ const x0 = x & mask32;
228
+ const x1 = x >> 32n;
229
+ const y0 = y & mask32;
230
+ const y1 = y >> 32n;
231
+ // Multiply parts
232
+ const p00 = x0 * y0;
233
+ const p01 = x0 * y1;
234
+ const p10 = x1 * y0;
235
+ const p11 = x1 * y1;
236
+ // Combine results
237
+ const lo = p00 + ((p01 + p10) << 32n);
238
+ const hi = p11 + ((p01 + p10) >> 32n) + (lo < p00 ? 1n : 0n);
239
+ return [hi, lo];
240
+ }
241
+ // --- Division functions ---
242
+ export function Div(hi, lo, y) {
243
+ return Div32(hi, lo, y);
244
+ }
245
+ export function Div32(hi, lo, y) {
246
+ if (y === 0) {
247
+ throw new Error('division by zero');
248
+ }
249
+ // Combine hi and lo into a 64-bit value using BigInt for precision
250
+ const dividend = (BigInt(hi >>> 0) << 32n) | BigInt(lo >>> 0);
251
+ const divisor = BigInt(y >>> 0);
252
+ const quotient = dividend / divisor;
253
+ const remainder = dividend % divisor;
254
+ return [Number(quotient), Number(remainder)];
255
+ }
256
+ export function Div64(hi, lo, y) {
257
+ if (y === 0n) {
258
+ throw new Error('division by zero');
259
+ }
260
+ // Combine hi and lo into a 128-bit value (simulated)
261
+ // For simplicity, we'll use a basic implementation
262
+ const dividend = (hi << 64n) | lo;
263
+ const quotient = dividend / y;
264
+ const remainder = dividend % y;
265
+ return [quotient, remainder];
266
+ }
267
+ // --- Add and Sub with carry ---
268
+ export function Add(x, y, carry) {
269
+ return Add32(x, y, carry);
270
+ }
271
+ export function Add32(x, y, carry) {
272
+ const sum = (x >>> 0) + (y >>> 0) + (carry >>> 0);
273
+ const result = sum >>> 0;
274
+ const carryOut = sum > 0xffffffff ? 1 : 0;
275
+ return [result, carryOut];
276
+ }
277
+ export function Add64(x, y, carry) {
278
+ const mask = (1n << 64n) - 1n;
279
+ const sum = (x & mask) + (y & mask) + (carry & mask);
280
+ const result = sum & mask;
281
+ const carryOut = sum > mask ? 1n : 0n;
282
+ return [result, carryOut];
283
+ }
284
+ export function Sub(x, y, borrow) {
285
+ return Sub32(x, y, borrow);
286
+ }
287
+ export function Sub32(x, y, borrow) {
288
+ const diff = (x >>> 0) - (y >>> 0) - (borrow >>> 0);
289
+ const result = diff >>> 0;
290
+ const borrowOut = diff < 0 ? 1 : 0;
291
+ return [result, borrowOut];
292
+ }
293
+ export function Sub64(x, y, borrow) {
294
+ const mask = (1n << 64n) - 1n;
295
+ const diff = (x & mask) - (y & mask) - (borrow & mask);
296
+ const result = diff & mask;
297
+ const borrowOut = diff < 0n ? 1n : 0n;
298
+ return [result, borrowOut];
299
+ }
300
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../gs/math/bits/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from './runtime.js';
@@ -0,0 +1,42 @@
1
+ export declare const GOOS = "js";
2
+ export declare const GOARCH = "wasm";
3
+ export declare const GOVERSION = "go1.24.3";
4
+ export declare function Version(): string;
5
+ export declare function GOMAXPROCS(n: number): number;
6
+ export declare function NumCPU(): number;
7
+ export declare function GC(): void;
8
+ export declare function Gosched(): Promise<void>;
9
+ export declare function NumGoroutine(): number;
10
+ export declare function _incrementGoroutineCount(): void;
11
+ export declare function _decrementGoroutineCount(): void;
12
+ export declare function Caller(skip: number): [number, string, number, boolean];
13
+ export declare function Stack(): Uint8Array;
14
+ export declare class MemStats {
15
+ Alloc: number;
16
+ TotalAlloc: number;
17
+ Sys: number;
18
+ Lookups: number;
19
+ Mallocs: number;
20
+ Frees: number;
21
+ constructor();
22
+ private updateMemoryStats;
23
+ }
24
+ export declare function ReadMemStats(m: MemStats): void;
25
+ export interface Error {
26
+ Error(): string;
27
+ }
28
+ export declare class TypeAssertionError implements Error {
29
+ readonly interfaceType: string;
30
+ readonly concrete: string;
31
+ readonly assertedType: string;
32
+ readonly missingMethod?: string | undefined;
33
+ constructor(interfaceType: string, concrete: string, assertedType: string, missingMethod?: string | undefined);
34
+ Error(): string;
35
+ }
36
+ export declare class PanicError implements Error {
37
+ readonly value: any;
38
+ constructor(value: any);
39
+ Error(): string;
40
+ }
41
+ export declare function SetFinalizer(obj: object, finalizer: ((obj: object) => void) | null): void;
42
+ export declare function KeepAlive(obj: any): void;
@@ -1,24 +1,20 @@
1
1
  // Runtime constants for the JavaScript/WebAssembly target
2
- export const GOOS = "js";
3
- export const GOARCH = "wasm";
2
+ export const GOOS = 'js';
3
+ export const GOARCH = 'wasm';
4
4
  // Version returns the Go version as a string
5
+ export const GOVERSION = 'go1.24.3';
5
6
  export function Version() {
6
- return "go1.22.0"; // Static version for goscript compatibility
7
+ return GOVERSION;
7
8
  }
8
9
  // GOMAXPROCS sets the maximum number of operating system threads
9
- // In JavaScript/browser environment, this is mostly informational
10
+ //
11
+ // JavaScript is single threaded so this always returns 1.
10
12
  export function GOMAXPROCS(n) {
11
- // In browser/JS environment, we can't actually control OS threads
12
- // Return number of logical CPUs available, or previous value
13
- if (n < 1) {
14
- // Return current "setting" (number of logical CPUs)
15
- return NumCPU();
16
- }
17
- // In a real implementation, we would set the max procs
18
- // For JS/browser, we just return the requested value
19
- return n;
13
+ // In a full implementation, we would set the max procs
14
+ // Since JavaScript only supports 1, just return 1.
15
+ return 1;
20
16
  }
21
- // NumCPU returns the number of logical CPUs usable by the current process
17
+ // NumCPU returns the number of logical CPUs on the system.
22
18
  export function NumCPU() {
23
19
  // In browser environment, use navigator.hardwareConcurrency if available
24
20
  if (typeof navigator !== 'undefined' && navigator.hardwareConcurrency) {
@@ -33,6 +29,7 @@ export function GC() {
33
29
  // In JavaScript, we can't force garbage collection
34
30
  // Some engines have gc() function in development, but it's not standard
35
31
  if (typeof globalThis.gc === 'function') {
32
+ ;
36
33
  globalThis.gc();
37
34
  }
38
35
  // Otherwise, this is a no-op
@@ -40,7 +37,7 @@ export function GC() {
40
37
  // Gosched yields the processor, allowing other goroutines to run.
41
38
  // In JavaScript, we can use setTimeout(0) or queueMicrotask for similar effect
42
39
  export function Gosched() {
43
- return new Promise(resolve => {
40
+ return new Promise((resolve) => {
44
41
  queueMicrotask(resolve);
45
42
  });
46
43
  }
@@ -66,7 +63,7 @@ export function Caller(skip) {
66
63
  // In JavaScript, we can use Error stack trace, but it's limited
67
64
  // Return dummy values for goscript compatibility
68
65
  const pc = 0; // program counter (not meaningful in JS)
69
- const file = "unknown";
66
+ const file = 'unknown';
70
67
  const line = 0;
71
68
  const ok = false; // indicate we don't have real stack info
72
69
  return [pc, file, line, ok];
@@ -74,7 +71,7 @@ export function Caller(skip) {
74
71
  // Stack returns a formatted stack trace of the calling goroutine.
75
72
  // In JavaScript, we use Error.stack
76
73
  export function Stack() {
77
- const stack = new Error().stack || "stack trace unavailable";
74
+ const stack = new Error().stack || 'stack trace unavailable';
78
75
  const encoder = new TextEncoder();
79
76
  return encoder.encode(stack);
80
77
  }
@@ -144,7 +141,7 @@ export class PanicError {
144
141
  // SetFinalizer sets the finalizer associated with obj to the provided finalizer function.
145
142
  // In goscript/TypeScript environment, finalizers are not supported, so this throws an error.
146
143
  export function SetFinalizer(obj, finalizer) {
147
- throw new Error("runtime.SetFinalizer is not supported in goscript TypeScript environment");
144
+ throw new Error('runtime.SetFinalizer is not supported in goscript TypeScript environment');
148
145
  }
149
146
  // KeepAlive keeps obj reachable until the point where KeepAlive is called
150
147
  export function KeepAlive(obj) {
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../gs/runtime/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../gs/runtime/runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from './slices.js';