goscript 0.0.23 → 0.0.25
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 +2 -2
- package/cmd/goscript/cmd_compile.go +18 -2
- package/compiler/analysis.go +74 -132
- package/compiler/analysis_test.go +220 -0
- package/compiler/assignment.go +37 -43
- package/compiler/builtin_test.go +90 -0
- package/compiler/compiler.go +307 -22
- package/compiler/composite-lit.go +108 -43
- package/compiler/config.go +7 -3
- package/compiler/config_test.go +6 -33
- package/compiler/decl.go +7 -1
- package/compiler/expr-call.go +212 -2
- package/compiler/expr-selector.go +66 -41
- package/compiler/expr-star.go +57 -65
- package/compiler/expr-type.go +1 -1
- package/compiler/expr-value.go +1 -1
- package/compiler/expr.go +125 -20
- package/compiler/field.go +4 -4
- package/compiler/primitive.go +11 -10
- package/compiler/spec-struct.go +3 -3
- package/compiler/spec-value.go +75 -29
- package/compiler/spec.go +9 -3
- package/compiler/stmt-assign.go +36 -2
- package/compiler/stmt-for.go +11 -0
- package/compiler/stmt-range.go +314 -1
- package/compiler/stmt.go +52 -0
- package/compiler/type.go +83 -15
- package/dist/gs/builtin/builtin.d.ts +9 -0
- package/dist/gs/builtin/builtin.js +46 -0
- package/dist/gs/builtin/builtin.js.map +1 -0
- package/dist/gs/builtin/channel.d.ts +193 -0
- package/dist/gs/builtin/channel.js +471 -0
- package/dist/gs/builtin/channel.js.map +1 -0
- package/dist/gs/builtin/defer.d.ts +38 -0
- package/dist/gs/builtin/defer.js +54 -0
- package/dist/gs/builtin/defer.js.map +1 -0
- package/dist/gs/builtin/index.d.ts +1 -0
- package/dist/gs/builtin/index.js +2 -0
- package/dist/gs/builtin/index.js.map +1 -0
- package/dist/gs/builtin/io.d.ts +16 -0
- package/dist/gs/builtin/io.js +15 -0
- package/dist/gs/builtin/io.js.map +1 -0
- package/dist/gs/builtin/map.d.ts +33 -0
- package/dist/gs/builtin/map.js +44 -0
- package/dist/gs/builtin/map.js.map +1 -0
- package/dist/gs/builtin/slice.d.ts +173 -0
- package/dist/gs/builtin/slice.js +799 -0
- package/dist/gs/builtin/slice.js.map +1 -0
- package/dist/gs/builtin/type.d.ts +203 -0
- package/dist/gs/builtin/type.js +744 -0
- package/dist/gs/builtin/type.js.map +1 -0
- package/dist/gs/builtin/varRef.d.ts +14 -0
- package/dist/gs/builtin/varRef.js +14 -0
- package/dist/gs/builtin/varRef.js.map +1 -0
- package/dist/gs/cmp/index.d.ts +4 -0
- package/dist/gs/cmp/index.js +27 -0
- package/dist/gs/cmp/index.js.map +1 -0
- package/dist/gs/context/context.d.ts +26 -0
- package/dist/gs/context/context.js +305 -0
- package/dist/gs/context/context.js.map +1 -0
- package/dist/gs/context/index.d.ts +1 -0
- package/dist/gs/context/index.js +2 -0
- package/dist/gs/context/index.js.map +1 -0
- package/dist/gs/internal/goarch/index.d.ts +6 -0
- package/dist/gs/internal/goarch/index.js +14 -0
- package/dist/gs/internal/goarch/index.js.map +1 -0
- package/dist/gs/iter/index.d.ts +1 -0
- package/dist/gs/iter/index.js +2 -0
- package/dist/gs/iter/index.js.map +1 -0
- package/dist/gs/iter/iter.d.ts +4 -0
- package/dist/gs/iter/iter.js +91 -0
- package/dist/gs/iter/iter.js.map +1 -0
- package/dist/gs/math/bits/index.d.ts +47 -0
- package/dist/gs/math/bits/index.js +298 -0
- package/dist/gs/math/bits/index.js.map +1 -0
- package/dist/gs/runtime/index.d.ts +1 -0
- package/dist/gs/runtime/index.js +2 -0
- package/dist/gs/runtime/index.js.map +1 -0
- package/dist/gs/runtime/runtime.d.ts +41 -0
- package/dist/gs/runtime/runtime.js +158 -0
- package/dist/gs/runtime/runtime.js.map +1 -0
- package/dist/gs/slices/index.d.ts +1 -0
- package/dist/gs/slices/index.js +2 -0
- package/dist/gs/slices/index.js.map +1 -0
- package/dist/gs/slices/slices.d.ts +8 -0
- package/dist/gs/slices/slices.js +20 -0
- package/dist/gs/slices/slices.js.map +1 -0
- package/dist/gs/time/index.d.ts +1 -0
- package/dist/gs/time/index.js +2 -0
- package/dist/gs/time/index.js.map +1 -0
- package/dist/gs/time/time.d.ts +57 -0
- package/dist/gs/time/time.js +208 -0
- package/dist/gs/time/time.js.map +1 -0
- package/package.json +3 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type.js","sourceRoot":"","sources":["../../../gs/builtin/type.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* VarRef represents a Go variable which can be referred to by other variables.
|
|
3
|
+
*
|
|
4
|
+
* For example:
|
|
5
|
+
* var myVariable int // variable referenced
|
|
6
|
+
* myOtherVar := &myVariable
|
|
7
|
+
*/
|
|
8
|
+
export type VarRef<T> = {
|
|
9
|
+
value: T;
|
|
10
|
+
};
|
|
11
|
+
/** Wrap a non-null T in a variable reference. */
|
|
12
|
+
export declare function varRef<T>(v: T): VarRef<T>;
|
|
13
|
+
/** Dereference a variable reference, throws on null → simulates Go panic. */
|
|
14
|
+
export declare function unref<T>(b: VarRef<T>): T;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** Wrap a non-null T in a variable reference. */
|
|
2
|
+
export function varRef(v) {
|
|
3
|
+
// We create a new object wrapper for every varRef call to ensure
|
|
4
|
+
// distinct pointer identity, crucial for pointer comparisons (p1 == p2).
|
|
5
|
+
return { value: v };
|
|
6
|
+
}
|
|
7
|
+
/** Dereference a variable reference, throws on null → simulates Go panic. */
|
|
8
|
+
export function unref(b) {
|
|
9
|
+
if (b === null) {
|
|
10
|
+
throw new Error('runtime error: invalid memory address or nil pointer dereference');
|
|
11
|
+
}
|
|
12
|
+
return b.value;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=varRef.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"varRef.js","sourceRoot":"","sources":["../../../gs/builtin/varRef.ts"],"names":[],"mappings":"AASA,iDAAiD;AACjD,MAAM,UAAU,MAAM,CAAI,CAAI;IAC5B,iEAAiE;IACjE,yEAAyE;IACzE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAA;AACrB,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,KAAK,CAAI,CAAY;IACnC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,kEAAkE,CACnE,CAAA;IACH,CAAC;IACD,OAAO,CAAC,CAAC,KAAK,CAAA;AAChB,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// Minimal stub for cmp package
|
|
2
|
+
// This provides the Ordered type and comparison functions needed by slices
|
|
3
|
+
// Compare compares two values and returns:
|
|
4
|
+
// -1 if a < b
|
|
5
|
+
// 0 if a == b
|
|
6
|
+
// 1 if a > b
|
|
7
|
+
export function Compare(a, b) {
|
|
8
|
+
if (a < b)
|
|
9
|
+
return -1;
|
|
10
|
+
if (a > b)
|
|
11
|
+
return 1;
|
|
12
|
+
return 0;
|
|
13
|
+
}
|
|
14
|
+
// Less reports whether a < b
|
|
15
|
+
export function Less(a, b) {
|
|
16
|
+
return a < b;
|
|
17
|
+
}
|
|
18
|
+
// Or returns the first non-zero result from the comparison functions,
|
|
19
|
+
// or zero if all comparisons return zero
|
|
20
|
+
export function Or(...comparisons) {
|
|
21
|
+
for (const cmp of comparisons) {
|
|
22
|
+
if (cmp !== 0)
|
|
23
|
+
return cmp;
|
|
24
|
+
}
|
|
25
|
+
return 0;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../gs/cmp/index.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,2EAA2E;AAK3E,2CAA2C;AAC3C,cAAc;AACd,eAAe;AACf,cAAc;AACd,MAAM,UAAU,OAAO,CAAoB,CAAI,EAAE,CAAI;IACnD,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC,CAAC;IACrB,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC;IACpB,OAAO,CAAC,CAAC;AACX,CAAC;AAED,6BAA6B;AAC7B,MAAM,UAAU,IAAI,CAAoB,CAAI,EAAE,CAAI;IAChD,OAAO,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,sEAAsE;AACtE,yCAAyC;AACzC,MAAM,UAAU,EAAE,CAAC,GAAG,WAAqB;IACzC,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,IAAI,GAAG,KAAK,CAAC;YAAE,OAAO,GAAG,CAAC;IAC5B,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as $ from "@goscript/builtin/builtin.js";
|
|
2
|
+
export declare const Canceled: Error;
|
|
3
|
+
export declare class DeadlineExceededError extends Error {
|
|
4
|
+
constructor();
|
|
5
|
+
}
|
|
6
|
+
export declare const DeadlineExceeded: DeadlineExceededError;
|
|
7
|
+
export type CancelFunc = () => void;
|
|
8
|
+
export type CancelCauseFunc = (cause: Error | null) => void;
|
|
9
|
+
export interface Context {
|
|
10
|
+
Deadline(): [Date | null, boolean];
|
|
11
|
+
Done(): $.Channel<{}>;
|
|
12
|
+
Err(): Error | null;
|
|
13
|
+
Value(key: any): any;
|
|
14
|
+
}
|
|
15
|
+
export declare function Background(): Context;
|
|
16
|
+
export declare function TODO(): Context;
|
|
17
|
+
export declare function WithCancel(parent: Context): [Context, CancelFunc];
|
|
18
|
+
export declare function WithCancelCause(parent: Context): [Context, CancelCauseFunc];
|
|
19
|
+
export declare function WithDeadline(parent: Context, d: Date): [Context, CancelFunc];
|
|
20
|
+
export declare function WithDeadlineCause(parent: Context, d: Date, cause: Error | null): [Context, CancelFunc];
|
|
21
|
+
export declare function WithTimeout(parent: Context, timeout: number): [Context, CancelFunc];
|
|
22
|
+
export declare function WithTimeoutCause(parent: Context, timeout: number, cause: Error | null): [Context, CancelFunc];
|
|
23
|
+
export declare function WithValue(parent: Context, key: any, val: any): Context;
|
|
24
|
+
export declare function WithoutCancel(parent: Context): Context;
|
|
25
|
+
export declare function Cause(ctx: Context): Error | null;
|
|
26
|
+
export declare function AfterFunc(ctx: Context, f: () => void): () => boolean;
|
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
import * as $ from "@goscript/builtin/builtin.js";
|
|
2
|
+
export const Canceled = new Error("context canceled");
|
|
3
|
+
Canceled.name = "CanceledError";
|
|
4
|
+
export class DeadlineExceededError extends Error {
|
|
5
|
+
constructor() {
|
|
6
|
+
super("context deadline exceeded");
|
|
7
|
+
this.name = "DeadlineExceededError";
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export const DeadlineExceeded = new DeadlineExceededError();
|
|
11
|
+
// Base implementation for all contexts
|
|
12
|
+
class baseContext {
|
|
13
|
+
}
|
|
14
|
+
// Background/TODO context that is never canceled
|
|
15
|
+
class backgroundContext extends baseContext {
|
|
16
|
+
static neverClosedChannel = $.makeChannel(0, {}, 'both');
|
|
17
|
+
static getNeverClosedChannel() {
|
|
18
|
+
return backgroundContext.neverClosedChannel;
|
|
19
|
+
}
|
|
20
|
+
Deadline() {
|
|
21
|
+
return [null, false];
|
|
22
|
+
}
|
|
23
|
+
Done() {
|
|
24
|
+
return backgroundContext.neverClosedChannel;
|
|
25
|
+
}
|
|
26
|
+
Err() {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
Value(key) {
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
// Value context wraps a parent and adds a key-value pair
|
|
34
|
+
class valueContext extends baseContext {
|
|
35
|
+
parent;
|
|
36
|
+
key;
|
|
37
|
+
val;
|
|
38
|
+
constructor(parent, key, val) {
|
|
39
|
+
super();
|
|
40
|
+
this.parent = parent;
|
|
41
|
+
this.key = key;
|
|
42
|
+
this.val = val;
|
|
43
|
+
}
|
|
44
|
+
getParent() {
|
|
45
|
+
return this.parent;
|
|
46
|
+
}
|
|
47
|
+
Deadline() {
|
|
48
|
+
return this.parent.Deadline();
|
|
49
|
+
}
|
|
50
|
+
Done() {
|
|
51
|
+
return this.parent.Done();
|
|
52
|
+
}
|
|
53
|
+
Err() {
|
|
54
|
+
return this.parent.Err();
|
|
55
|
+
}
|
|
56
|
+
Value(key) {
|
|
57
|
+
if (this.key === key) {
|
|
58
|
+
return this.val;
|
|
59
|
+
}
|
|
60
|
+
return this.parent.Value(key);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
// Cancel context that can be canceled
|
|
64
|
+
class cancelContext extends baseContext {
|
|
65
|
+
doneChannel;
|
|
66
|
+
err = null;
|
|
67
|
+
cause = null;
|
|
68
|
+
children = new Set();
|
|
69
|
+
parent;
|
|
70
|
+
parentCancelCtx = null;
|
|
71
|
+
removeFromParent = null;
|
|
72
|
+
constructor(parent) {
|
|
73
|
+
super();
|
|
74
|
+
this.parent = parent;
|
|
75
|
+
this.doneChannel = $.makeChannel(0, {}, 'both');
|
|
76
|
+
}
|
|
77
|
+
Deadline() {
|
|
78
|
+
return this.parent.Deadline();
|
|
79
|
+
}
|
|
80
|
+
Done() {
|
|
81
|
+
return this.doneChannel;
|
|
82
|
+
}
|
|
83
|
+
Err() {
|
|
84
|
+
return this.err;
|
|
85
|
+
}
|
|
86
|
+
Value(key) {
|
|
87
|
+
return this.parent.Value(key);
|
|
88
|
+
}
|
|
89
|
+
getCause() {
|
|
90
|
+
if (this.cause !== null) {
|
|
91
|
+
return this.cause;
|
|
92
|
+
}
|
|
93
|
+
return this.err;
|
|
94
|
+
}
|
|
95
|
+
cancel(removeFromParent, err, cause) {
|
|
96
|
+
if (this.err !== null) {
|
|
97
|
+
return; // Already canceled
|
|
98
|
+
}
|
|
99
|
+
this.err = err;
|
|
100
|
+
this.cause = cause;
|
|
101
|
+
this.doneChannel.close();
|
|
102
|
+
// Cancel all children
|
|
103
|
+
for (const child of this.children) {
|
|
104
|
+
child.cancel(false, err, cause);
|
|
105
|
+
}
|
|
106
|
+
this.children.clear();
|
|
107
|
+
// Remove from parent's children if requested
|
|
108
|
+
if (removeFromParent && this.removeFromParent) {
|
|
109
|
+
this.removeFromParent();
|
|
110
|
+
this.removeFromParent = null;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
propagateCancel() {
|
|
114
|
+
// Find parent cancelContext if any
|
|
115
|
+
let parent = this.parent;
|
|
116
|
+
while (parent instanceof valueContext) {
|
|
117
|
+
parent = parent.getParent();
|
|
118
|
+
}
|
|
119
|
+
if (parent instanceof cancelContext) {
|
|
120
|
+
// Parent is a cancel context, register as child
|
|
121
|
+
this.parentCancelCtx = parent;
|
|
122
|
+
if (parent.err !== null) {
|
|
123
|
+
// Parent already canceled
|
|
124
|
+
this.cancel(false, parent.err, parent.cause);
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
parent.children.add(this);
|
|
128
|
+
this.removeFromParent = () => {
|
|
129
|
+
parent.children.delete(this);
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
// Watch parent's Done channel
|
|
135
|
+
this.watchParentDone();
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
watchParentDone() {
|
|
139
|
+
const parentDone = this.parent.Done();
|
|
140
|
+
(async () => {
|
|
141
|
+
try {
|
|
142
|
+
await parentDone.receive();
|
|
143
|
+
}
|
|
144
|
+
catch {
|
|
145
|
+
// Channel closed
|
|
146
|
+
}
|
|
147
|
+
// Parent is done, cancel this context
|
|
148
|
+
const parentErr = this.parent.Err();
|
|
149
|
+
if (parentErr && this.err === null) {
|
|
150
|
+
this.cancel(false, parentErr, null);
|
|
151
|
+
}
|
|
152
|
+
})();
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
// Timer context with deadline
|
|
156
|
+
class timerContext extends cancelContext {
|
|
157
|
+
deadline;
|
|
158
|
+
timer;
|
|
159
|
+
constructor(parent, deadline) {
|
|
160
|
+
super(parent);
|
|
161
|
+
this.deadline = deadline;
|
|
162
|
+
}
|
|
163
|
+
Deadline() {
|
|
164
|
+
return [this.deadline, true];
|
|
165
|
+
}
|
|
166
|
+
startTimer() {
|
|
167
|
+
const now = Date.now();
|
|
168
|
+
const duration = this.deadline.getTime() - now;
|
|
169
|
+
if (duration <= 0) {
|
|
170
|
+
// Already expired
|
|
171
|
+
this.cancel(true, DeadlineExceeded, null);
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
this.timer = setTimeout(() => {
|
|
175
|
+
this.cancel(true, DeadlineExceeded, null);
|
|
176
|
+
}, duration);
|
|
177
|
+
}
|
|
178
|
+
cancel(removeFromParent, err, cause) {
|
|
179
|
+
super.cancel(removeFromParent, err, cause);
|
|
180
|
+
if (this.timer) {
|
|
181
|
+
clearTimeout(this.timer);
|
|
182
|
+
this.timer = null;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
// Without cancel context - inherits values but not cancellation
|
|
187
|
+
class withoutCancelContext extends baseContext {
|
|
188
|
+
parent;
|
|
189
|
+
constructor(parent) {
|
|
190
|
+
super();
|
|
191
|
+
this.parent = parent;
|
|
192
|
+
}
|
|
193
|
+
Deadline() {
|
|
194
|
+
return [null, false];
|
|
195
|
+
}
|
|
196
|
+
Done() {
|
|
197
|
+
return backgroundContext.getNeverClosedChannel();
|
|
198
|
+
}
|
|
199
|
+
Err() {
|
|
200
|
+
return null;
|
|
201
|
+
}
|
|
202
|
+
Value(key) {
|
|
203
|
+
return this.parent.Value(key);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
// Singleton contexts
|
|
207
|
+
const background = new backgroundContext();
|
|
208
|
+
const todo = new backgroundContext();
|
|
209
|
+
// Background returns a non-nil, empty Context that is never canceled
|
|
210
|
+
export function Background() {
|
|
211
|
+
return background;
|
|
212
|
+
}
|
|
213
|
+
// TODO returns a non-nil, empty Context
|
|
214
|
+
export function TODO() {
|
|
215
|
+
return todo;
|
|
216
|
+
}
|
|
217
|
+
// WithCancel returns a copy of parent with a new Done channel
|
|
218
|
+
export function WithCancel(parent) {
|
|
219
|
+
const ctx = new cancelContext(parent);
|
|
220
|
+
ctx.propagateCancel();
|
|
221
|
+
return [ctx, () => {
|
|
222
|
+
ctx.cancel(true, Canceled, null);
|
|
223
|
+
}];
|
|
224
|
+
}
|
|
225
|
+
// WithCancelCause returns a copy of parent with a new Done channel and cause recording
|
|
226
|
+
export function WithCancelCause(parent) {
|
|
227
|
+
const ctx = new cancelContext(parent);
|
|
228
|
+
ctx.propagateCancel();
|
|
229
|
+
return [ctx, (cause) => {
|
|
230
|
+
ctx.cancel(true, Canceled, cause);
|
|
231
|
+
}];
|
|
232
|
+
}
|
|
233
|
+
// WithDeadline returns a copy of parent with the deadline adjusted to be no later than d
|
|
234
|
+
export function WithDeadline(parent, d) {
|
|
235
|
+
return WithDeadlineCause(parent, d, null);
|
|
236
|
+
}
|
|
237
|
+
// WithDeadlineCause is like WithDeadline but also sets the cause
|
|
238
|
+
export function WithDeadlineCause(parent, d, cause) {
|
|
239
|
+
// Check if parent deadline is already earlier
|
|
240
|
+
const [parentDeadline, ok] = parent.Deadline();
|
|
241
|
+
if (ok && parentDeadline && parentDeadline <= d) {
|
|
242
|
+
// Parent deadline is already sooner
|
|
243
|
+
return WithCancel(parent);
|
|
244
|
+
}
|
|
245
|
+
const ctx = new timerContext(parent, d);
|
|
246
|
+
ctx.propagateCancel();
|
|
247
|
+
ctx.startTimer();
|
|
248
|
+
return [ctx, () => {
|
|
249
|
+
ctx.cancel(true, Canceled, cause);
|
|
250
|
+
}];
|
|
251
|
+
}
|
|
252
|
+
// WithTimeout returns WithDeadline(parent, Date.now() + timeout)
|
|
253
|
+
export function WithTimeout(parent, timeout) {
|
|
254
|
+
return WithDeadline(parent, new Date(Date.now() + timeout));
|
|
255
|
+
}
|
|
256
|
+
// WithTimeoutCause is like WithTimeout but also sets the cause
|
|
257
|
+
export function WithTimeoutCause(parent, timeout, cause) {
|
|
258
|
+
return WithDeadlineCause(parent, new Date(Date.now() + timeout), cause);
|
|
259
|
+
}
|
|
260
|
+
// WithValue returns a copy of parent with the value associated with key
|
|
261
|
+
export function WithValue(parent, key, val) {
|
|
262
|
+
return new valueContext(parent, key, val);
|
|
263
|
+
}
|
|
264
|
+
// WithoutCancel returns a context that inherits values but not cancellation
|
|
265
|
+
export function WithoutCancel(parent) {
|
|
266
|
+
return new withoutCancelContext(parent);
|
|
267
|
+
}
|
|
268
|
+
// Cause returns the underlying cause of the context's cancellation
|
|
269
|
+
export function Cause(ctx) {
|
|
270
|
+
let c = ctx;
|
|
271
|
+
// Unwrap value contexts
|
|
272
|
+
while (c instanceof valueContext) {
|
|
273
|
+
c = c.getParent();
|
|
274
|
+
}
|
|
275
|
+
if (c instanceof cancelContext) {
|
|
276
|
+
return c.getCause();
|
|
277
|
+
}
|
|
278
|
+
return c.Err();
|
|
279
|
+
}
|
|
280
|
+
// AfterFunc runs f in a separate goroutine after ctx is done
|
|
281
|
+
export function AfterFunc(ctx, f) {
|
|
282
|
+
let stopped = false;
|
|
283
|
+
let done = false;
|
|
284
|
+
const promise = (async () => {
|
|
285
|
+
try {
|
|
286
|
+
await ctx.Done().receive();
|
|
287
|
+
}
|
|
288
|
+
catch {
|
|
289
|
+
// Channel closed
|
|
290
|
+
}
|
|
291
|
+
if (!stopped) {
|
|
292
|
+
done = true;
|
|
293
|
+
// Run in next tick to simulate goroutine
|
|
294
|
+
setImmediate(f);
|
|
295
|
+
}
|
|
296
|
+
})();
|
|
297
|
+
return () => {
|
|
298
|
+
if (!done) {
|
|
299
|
+
stopped = true;
|
|
300
|
+
return true;
|
|
301
|
+
}
|
|
302
|
+
return false;
|
|
303
|
+
};
|
|
304
|
+
}
|
|
305
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../gs/context/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './context.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../gs/context/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA"}
|
|
@@ -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,CAAC;AAEzB,8BAA8B;AAC9B,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC;AAE/B,sBAAsB;AACtB,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC;AAEjC,sCAAsC;AACtC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC;AAC5B,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC;AAE9B,sFAAsF;AACtF,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './iter.js';
|
|
@@ -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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"}
|