goscript 0.0.25 → 0.0.28
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 +4 -4
- package/cmd/goscript/cmd_compile.go +0 -3
- package/cmd/goscript/deps.go +11 -0
- package/compiler/analysis.go +259 -55
- package/compiler/assignment.go +2 -2
- package/compiler/builtin_test.go +1 -1
- package/compiler/compiler.go +201 -49
- package/compiler/compiler_test.go +53 -0
- package/compiler/composite-lit.go +32 -8
- package/compiler/decl.go +6 -6
- package/compiler/expr-call.go +83 -0
- package/compiler/expr.go +1 -1
- package/compiler/protobuf.go +557 -0
- package/compiler/spec-struct.go +4 -0
- package/compiler/spec-value.go +11 -3
- package/compiler/spec.go +18 -1
- package/compiler/stmt-assign.go +35 -0
- package/compiler/type-assert.go +87 -0
- package/compiler/type.go +5 -2
- package/dist/gs/builtin/builtin.d.ts +19 -1
- package/dist/gs/builtin/builtin.js +85 -5
- package/dist/gs/builtin/builtin.js.map +1 -1
- package/dist/gs/builtin/channel.js.map +1 -1
- package/dist/gs/builtin/slice.d.ts +1 -1
- package/dist/gs/builtin/slice.js +59 -26
- package/dist/gs/builtin/slice.js.map +1 -1
- package/dist/gs/cmp/index.js.map +1 -1
- package/dist/gs/context/context.d.ts +1 -1
- package/dist/gs/context/context.js +20 -11
- package/dist/gs/context/context.js.map +1 -1
- package/dist/gs/errors/errors.d.ts +7 -0
- package/dist/gs/errors/errors.js +190 -0
- package/dist/gs/errors/errors.js.map +1 -0
- package/dist/gs/errors/index.d.ts +1 -0
- package/dist/gs/errors/index.js +2 -0
- package/dist/gs/errors/index.js.map +1 -0
- package/dist/gs/internal/goarch/index.js +1 -1
- package/dist/gs/internal/goarch/index.js.map +1 -1
- package/dist/gs/io/index.d.ts +1 -0
- package/dist/gs/io/index.js +2 -0
- package/dist/gs/io/index.js.map +1 -0
- package/dist/gs/io/io.d.ts +107 -0
- package/dist/gs/io/io.js +385 -0
- package/dist/gs/io/io.js.map +1 -0
- package/dist/gs/iter/iter.js.map +1 -1
- package/dist/gs/math/bits/index.js +34 -32
- package/dist/gs/math/bits/index.js.map +1 -1
- package/dist/gs/runtime/runtime.d.ts +1 -0
- package/dist/gs/runtime/runtime.js +15 -18
- package/dist/gs/runtime/runtime.js.map +1 -1
- package/dist/gs/slices/slices.d.ts +1 -1
- package/dist/gs/slices/slices.js +1 -1
- package/dist/gs/slices/slices.js.map +1 -1
- package/dist/gs/strings/builder.d.ts +18 -0
- package/dist/gs/strings/builder.js +205 -0
- package/dist/gs/strings/builder.js.map +1 -0
- package/dist/gs/strings/clone.d.ts +1 -0
- package/dist/gs/strings/clone.js +16 -0
- package/dist/gs/strings/clone.js.map +1 -0
- package/dist/gs/strings/compare.d.ts +1 -0
- package/dist/gs/strings/compare.js +14 -0
- package/dist/gs/strings/compare.js.map +1 -0
- package/dist/gs/strings/index.d.ts +2 -0
- package/dist/gs/strings/index.js +3 -0
- package/dist/gs/strings/index.js.map +1 -0
- package/dist/gs/strings/iter.d.ts +8 -0
- package/dist/gs/strings/iter.js +160 -0
- package/dist/gs/strings/iter.js.map +1 -0
- package/dist/gs/strings/reader.d.ts +34 -0
- package/dist/gs/strings/reader.js +418 -0
- package/dist/gs/strings/reader.js.map +1 -0
- package/dist/gs/strings/replace.d.ts +106 -0
- package/dist/gs/strings/replace.js +1136 -0
- package/dist/gs/strings/replace.js.map +1 -0
- package/dist/gs/strings/search.d.ts +24 -0
- package/dist/gs/strings/search.js +169 -0
- package/dist/gs/strings/search.js.map +1 -0
- package/dist/gs/strings/strings.d.ts +47 -0
- package/dist/gs/strings/strings.js +418 -0
- package/dist/gs/strings/strings.js.map +1 -0
- package/dist/gs/stringslite/index.d.ts +1 -0
- package/dist/gs/stringslite/index.js +2 -0
- package/dist/gs/stringslite/index.js.map +1 -0
- package/dist/gs/stringslite/strings.d.ts +11 -0
- package/dist/gs/stringslite/strings.js +67 -0
- package/dist/gs/stringslite/strings.js.map +1 -0
- package/dist/gs/sync/index.d.ts +1 -0
- package/dist/gs/sync/index.js +2 -0
- package/dist/gs/sync/index.js.map +1 -0
- package/dist/gs/sync/sync.d.ts +79 -0
- package/dist/gs/sync/sync.js +392 -0
- package/dist/gs/sync/sync.js.map +1 -0
- package/dist/gs/time/time.js +7 -7
- package/dist/gs/time/time.js.map +1 -1
- package/dist/gs/unicode/index.d.ts +1 -0
- package/dist/gs/unicode/index.js +2 -0
- package/dist/gs/unicode/index.js.map +1 -0
- package/dist/gs/unicode/unicode.d.ts +105 -0
- package/dist/gs/unicode/unicode.js +332 -0
- package/dist/gs/unicode/unicode.js.map +1 -0
- package/dist/gs/unicode/utf8/index.d.ts +1 -0
- package/dist/gs/unicode/utf8/index.js +3 -0
- package/dist/gs/unicode/utf8/index.js.map +1 -0
- package/dist/gs/unicode/utf8/utf8.d.ts +20 -0
- package/dist/gs/unicode/utf8/utf8.js +196 -0
- package/dist/gs/unicode/utf8/utf8.js.map +1 -0
- package/dist/gs/unsafe/index.d.ts +1 -0
- package/dist/gs/unsafe/index.js +2 -0
- package/dist/gs/unsafe/index.js.map +1 -0
- package/dist/gs/unsafe/unsafe.d.ts +11 -0
- package/dist/gs/unsafe/unsafe.js +44 -0
- package/dist/gs/unsafe/unsafe.js.map +1 -0
- package/go.mod +2 -1
- package/go.sum +6 -2
- package/gs/README.md +6 -0
- package/gs/builtin/builtin.ts +158 -0
- package/gs/builtin/channel.ts +683 -0
- package/gs/builtin/defer.ts +58 -0
- package/gs/builtin/index.ts +1 -0
- package/gs/builtin/io.ts +22 -0
- package/gs/builtin/map.ts +50 -0
- package/gs/builtin/slice.ts +1030 -0
- package/gs/builtin/type.ts +1106 -0
- package/gs/builtin/varRef.ts +25 -0
- package/gs/cmp/godoc.txt +8 -0
- package/gs/cmp/index.ts +29 -0
- package/gs/context/context.ts +401 -0
- package/gs/context/godoc.txt +69 -0
- package/gs/context/index.ts +1 -0
- package/gs/errors/errors.ts +223 -0
- package/gs/errors/godoc.txt +63 -0
- package/gs/errors/index.ts +1 -0
- package/gs/internal/goarch/godoc.txt +39 -0
- package/gs/internal/goarch/index.ts +18 -0
- package/gs/io/godoc.txt +61 -0
- package/gs/io/index.ts +1 -0
- package/gs/io/io.go +75 -0
- package/gs/io/io.ts +546 -0
- package/gs/iter/godoc.txt +203 -0
- package/gs/iter/index.ts +1 -0
- package/gs/iter/iter.ts +117 -0
- package/gs/math/bits/index.ts +356 -0
- package/gs/math/godoc.txt +76 -0
- package/gs/runtime/godoc.txt +331 -0
- package/gs/runtime/index.ts +1 -0
- package/gs/runtime/runtime.ts +178 -0
- package/gs/slices/godoc.txt +44 -0
- package/gs/slices/index.ts +1 -0
- package/gs/slices/slices.ts +22 -0
- package/gs/strings/builder.test.ts +121 -0
- package/gs/strings/builder.ts +223 -0
- package/gs/strings/clone.test.ts +43 -0
- package/gs/strings/clone.ts +17 -0
- package/gs/strings/compare.test.ts +84 -0
- package/gs/strings/compare.ts +13 -0
- package/gs/strings/godoc.txt +66 -0
- package/gs/strings/index.ts +2 -0
- package/gs/strings/iter.test.ts +343 -0
- package/gs/strings/iter.ts +171 -0
- package/gs/strings/reader.test.ts +243 -0
- package/gs/strings/reader.ts +451 -0
- package/gs/strings/replace.test.ts +181 -0
- package/gs/strings/replace.ts +1310 -0
- package/gs/strings/search.test.ts +214 -0
- package/gs/strings/search.ts +213 -0
- package/gs/strings/strings.test.ts +477 -0
- package/gs/strings/strings.ts +510 -0
- package/gs/stringslite/godoc.txt +17 -0
- package/gs/stringslite/index.ts +1 -0
- package/gs/stringslite/strings.ts +82 -0
- package/gs/sync/godoc.txt +21 -0
- package/gs/sync/index.ts +1 -0
- package/gs/sync/sync.go +64 -0
- package/gs/sync/sync.ts +449 -0
- package/gs/time/godoc.md +116 -0
- package/gs/time/godoc.txt +116 -0
- package/gs/time/index.ts +1 -0
- package/gs/time/time.ts +272 -0
- package/gs/unicode/godoc.txt +52 -0
- package/gs/unicode/index.ts +1 -0
- package/gs/unicode/unicode.go +38 -0
- package/gs/unicode/unicode.ts +418 -0
- package/gs/unicode/utf8/godoc.txt +22 -0
- package/gs/unicode/utf8/index.ts +2 -0
- package/gs/unicode/utf8/utf8.ts +227 -0
- package/gs/unsafe/godoc.txt +19 -0
- package/gs/unsafe/index.ts +1 -0
- package/gs/unsafe/unsafe.test.ts +68 -0
- package/gs/unsafe/unsafe.ts +77 -0
- package/package.json +6 -4
|
@@ -0,0 +1,392 @@
|
|
|
1
|
+
// Package sync provides basic synchronization primitives such as mutual exclusion
|
|
2
|
+
// locks. Other than the Once and WaitGroup types, most are intended for use by
|
|
3
|
+
// low-level library routines. Higher-level synchronization is better done via
|
|
4
|
+
// channels and communication.
|
|
5
|
+
// Mutex is a mutual exclusion lock
|
|
6
|
+
export class Mutex {
|
|
7
|
+
_locked = false;
|
|
8
|
+
_waitQueue = [];
|
|
9
|
+
constructor(init) {
|
|
10
|
+
// Mutex has no public fields to initialize
|
|
11
|
+
}
|
|
12
|
+
// Lock locks m
|
|
13
|
+
// If the lock is already in use, the calling goroutine blocks until the mutex is available
|
|
14
|
+
async Lock() {
|
|
15
|
+
if (!this._locked) {
|
|
16
|
+
this._locked = true;
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
// In a real implementation, this would block the goroutine
|
|
20
|
+
// Use Promise to simulate blocking behavior like channels
|
|
21
|
+
return new Promise((resolve) => {
|
|
22
|
+
this._waitQueue.push(resolve);
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
// TryLock tries to lock m and reports whether it succeeded
|
|
26
|
+
TryLock() {
|
|
27
|
+
if (!this._locked) {
|
|
28
|
+
this._locked = true;
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
// Unlock unlocks m
|
|
34
|
+
Unlock() {
|
|
35
|
+
if (!this._locked) {
|
|
36
|
+
throw new Error('sync: unlock of unlocked mutex');
|
|
37
|
+
}
|
|
38
|
+
this._locked = false;
|
|
39
|
+
// Wake up the next waiting goroutine
|
|
40
|
+
if (this._waitQueue.length > 0) {
|
|
41
|
+
const next = this._waitQueue.shift();
|
|
42
|
+
this._locked = true;
|
|
43
|
+
// Use queueMicrotask to simulate goroutine scheduling
|
|
44
|
+
queueMicrotask(() => next());
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
// clone returns a copy of this Mutex instance
|
|
48
|
+
clone() {
|
|
49
|
+
return new Mutex();
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
// RWMutex is a reader/writer mutual exclusion lock
|
|
53
|
+
export class RWMutex {
|
|
54
|
+
_readers = 0;
|
|
55
|
+
_writer = false;
|
|
56
|
+
_readerWaitQueue = [];
|
|
57
|
+
_writerWaitQueue = [];
|
|
58
|
+
constructor(init) {
|
|
59
|
+
// RWMutex has no public fields to initialize
|
|
60
|
+
}
|
|
61
|
+
// Lock locks rw for writing
|
|
62
|
+
async Lock() {
|
|
63
|
+
if (!this._writer && this._readers === 0) {
|
|
64
|
+
this._writer = true;
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
return new Promise((resolve) => {
|
|
68
|
+
this._writerWaitQueue.push(resolve);
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
// TryLock tries to lock rw for writing and reports whether it succeeded
|
|
72
|
+
TryLock() {
|
|
73
|
+
if (!this._writer && this._readers === 0) {
|
|
74
|
+
this._writer = true;
|
|
75
|
+
return true;
|
|
76
|
+
}
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
// Unlock unlocks rw for writing
|
|
80
|
+
Unlock() {
|
|
81
|
+
if (!this._writer) {
|
|
82
|
+
throw new Error('sync: unlock of unlocked RWMutex');
|
|
83
|
+
}
|
|
84
|
+
this._writer = false;
|
|
85
|
+
this._wakeUpWaiters();
|
|
86
|
+
}
|
|
87
|
+
// RLock locks rw for reading
|
|
88
|
+
async RLock() {
|
|
89
|
+
if (!this._writer) {
|
|
90
|
+
this._readers++;
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
return new Promise((resolve) => {
|
|
94
|
+
this._readerWaitQueue.push(() => {
|
|
95
|
+
this._readers++;
|
|
96
|
+
resolve();
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
// TryRLock tries to lock rw for reading and reports whether it succeeded
|
|
101
|
+
TryRLock() {
|
|
102
|
+
if (!this._writer) {
|
|
103
|
+
this._readers++;
|
|
104
|
+
return true;
|
|
105
|
+
}
|
|
106
|
+
return false;
|
|
107
|
+
}
|
|
108
|
+
// RUnlock undoes a single RLock call
|
|
109
|
+
RUnlock() {
|
|
110
|
+
if (this._readers === 0) {
|
|
111
|
+
throw new Error('sync: RUnlock of unlocked RWMutex');
|
|
112
|
+
}
|
|
113
|
+
this._readers--;
|
|
114
|
+
if (this._readers === 0) {
|
|
115
|
+
this._wakeUpWaiters();
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
_wakeUpWaiters() {
|
|
119
|
+
// Prioritize writers
|
|
120
|
+
if (this._writerWaitQueue.length > 0 && this._readers === 0) {
|
|
121
|
+
const next = this._writerWaitQueue.shift();
|
|
122
|
+
this._writer = true;
|
|
123
|
+
queueMicrotask(() => next());
|
|
124
|
+
}
|
|
125
|
+
else if (this._readerWaitQueue.length > 0 && !this._writer) {
|
|
126
|
+
// Wake up all waiting readers
|
|
127
|
+
const readers = this._readerWaitQueue.splice(0);
|
|
128
|
+
queueMicrotask(() => {
|
|
129
|
+
readers.forEach((reader) => reader());
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
// clone returns a copy of this RWMutex instance
|
|
134
|
+
clone() {
|
|
135
|
+
return new RWMutex();
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
// WaitGroup waits for a collection of goroutines to finish
|
|
139
|
+
export class WaitGroup {
|
|
140
|
+
_counter = 0;
|
|
141
|
+
_waiters = [];
|
|
142
|
+
constructor(init) {
|
|
143
|
+
// WaitGroup has no public fields to initialize
|
|
144
|
+
}
|
|
145
|
+
// Add adds delta, which may be negative, to the WaitGroup counter
|
|
146
|
+
Add(delta) {
|
|
147
|
+
this._counter += delta;
|
|
148
|
+
if (this._counter < 0) {
|
|
149
|
+
throw new Error('sync: negative WaitGroup counter');
|
|
150
|
+
}
|
|
151
|
+
if (this._counter === 0) {
|
|
152
|
+
// Wake up all waiters
|
|
153
|
+
const waiters = this._waiters.splice(0);
|
|
154
|
+
queueMicrotask(() => {
|
|
155
|
+
waiters.forEach((waiter) => waiter());
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
// Done decrements the WaitGroup counter by one
|
|
160
|
+
Done() {
|
|
161
|
+
this.Add(-1);
|
|
162
|
+
}
|
|
163
|
+
// Wait blocks until the WaitGroup counter is zero
|
|
164
|
+
async Wait() {
|
|
165
|
+
if (this._counter === 0) {
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
return new Promise((resolve) => {
|
|
169
|
+
this._waiters.push(resolve);
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
// clone returns a copy of this WaitGroup instance
|
|
173
|
+
clone() {
|
|
174
|
+
return new WaitGroup();
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
// Once is an object that will perform exactly one action
|
|
178
|
+
export class Once {
|
|
179
|
+
_done = false;
|
|
180
|
+
_m = new Mutex();
|
|
181
|
+
constructor(init) {
|
|
182
|
+
// Once has no public fields to initialize
|
|
183
|
+
}
|
|
184
|
+
// Do calls the function f if and only if Do is being called for the first time for this instance of Once
|
|
185
|
+
async Do(f) {
|
|
186
|
+
if (this._done) {
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
await this._m.Lock();
|
|
190
|
+
try {
|
|
191
|
+
if (!this._done) {
|
|
192
|
+
f();
|
|
193
|
+
this._done = true;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
finally {
|
|
197
|
+
this._m.Unlock();
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
// clone returns a copy of this Once instance
|
|
201
|
+
clone() {
|
|
202
|
+
return new Once();
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
// Cond implements a condition variable, a rendezvous point for goroutines waiting for or announcing the occurrence of an event
|
|
206
|
+
export class Cond {
|
|
207
|
+
_l;
|
|
208
|
+
_waiters = [];
|
|
209
|
+
constructor(l) {
|
|
210
|
+
this._l = l;
|
|
211
|
+
}
|
|
212
|
+
// Broadcast wakes all goroutines waiting on c
|
|
213
|
+
Broadcast() {
|
|
214
|
+
const waiters = this._waiters.splice(0);
|
|
215
|
+
queueMicrotask(() => {
|
|
216
|
+
waiters.forEach((waiter) => waiter());
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
// Signal wakes one goroutine waiting on c, if there is any
|
|
220
|
+
Signal() {
|
|
221
|
+
if (this._waiters.length > 0) {
|
|
222
|
+
const waiter = this._waiters.shift();
|
|
223
|
+
queueMicrotask(() => waiter());
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
// Wait atomically unlocks c.L and suspends execution of the calling goroutine
|
|
227
|
+
async Wait() {
|
|
228
|
+
this._l.Unlock();
|
|
229
|
+
return new Promise((resolve) => {
|
|
230
|
+
this._waiters.push(async () => {
|
|
231
|
+
await this._l.Lock();
|
|
232
|
+
resolve();
|
|
233
|
+
});
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
// clone returns a copy of this Cond instance
|
|
237
|
+
clone() {
|
|
238
|
+
return new Cond(this._l);
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
// NewCond returns a new Cond with Locker l
|
|
242
|
+
export function NewCond(l) {
|
|
243
|
+
return new Cond(l);
|
|
244
|
+
}
|
|
245
|
+
// Map is like a Go map[interface{}]interface{} but is safe for concurrent use by multiple goroutines
|
|
246
|
+
export class Map {
|
|
247
|
+
_m = new RWMutex();
|
|
248
|
+
_data = new globalThis.Map();
|
|
249
|
+
constructor(init) {
|
|
250
|
+
// Map has no public fields to initialize
|
|
251
|
+
}
|
|
252
|
+
// Delete deletes the value for a key
|
|
253
|
+
async Delete(key) {
|
|
254
|
+
await this._m.Lock();
|
|
255
|
+
try {
|
|
256
|
+
this._data.delete(key);
|
|
257
|
+
}
|
|
258
|
+
finally {
|
|
259
|
+
this._m.Unlock();
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
// Load returns the value stored in the map for a key, or nil if no value is present
|
|
263
|
+
async Load(key) {
|
|
264
|
+
await this._m.RLock();
|
|
265
|
+
try {
|
|
266
|
+
const value = this._data.get(key);
|
|
267
|
+
return [value, this._data.has(key)];
|
|
268
|
+
}
|
|
269
|
+
finally {
|
|
270
|
+
this._m.RUnlock();
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
// LoadAndDelete deletes the value for a key, returning the previous value if any
|
|
274
|
+
async LoadAndDelete(key) {
|
|
275
|
+
await this._m.Lock();
|
|
276
|
+
try {
|
|
277
|
+
const value = this._data.get(key);
|
|
278
|
+
const loaded = this._data.has(key);
|
|
279
|
+
this._data.delete(key);
|
|
280
|
+
return [value, loaded];
|
|
281
|
+
}
|
|
282
|
+
finally {
|
|
283
|
+
this._m.Unlock();
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
// LoadOrStore returns the existing value for the key if present
|
|
287
|
+
async LoadOrStore(key, value) {
|
|
288
|
+
await this._m.Lock();
|
|
289
|
+
try {
|
|
290
|
+
if (this._data.has(key)) {
|
|
291
|
+
return [this._data.get(key), true];
|
|
292
|
+
}
|
|
293
|
+
this._data.set(key, value);
|
|
294
|
+
return [value, false];
|
|
295
|
+
}
|
|
296
|
+
finally {
|
|
297
|
+
this._m.Unlock();
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
// Range calls f sequentially for each key and value present in the map
|
|
301
|
+
async Range(f) {
|
|
302
|
+
await this._m.RLock();
|
|
303
|
+
try {
|
|
304
|
+
for (const [key, value] of this._data) {
|
|
305
|
+
if (!f(key, value)) {
|
|
306
|
+
break;
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
finally {
|
|
311
|
+
this._m.RUnlock();
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
// Store sets the value for a key
|
|
315
|
+
async Store(key, value) {
|
|
316
|
+
await this._m.Lock();
|
|
317
|
+
try {
|
|
318
|
+
this._data.set(key, value);
|
|
319
|
+
}
|
|
320
|
+
finally {
|
|
321
|
+
this._m.Unlock();
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
// clone returns a copy of this Map instance
|
|
325
|
+
clone() {
|
|
326
|
+
return new Map();
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
// Pool is a set of temporary objects that may be individually saved and retrieved
|
|
330
|
+
export class Pool {
|
|
331
|
+
New;
|
|
332
|
+
_pool = [];
|
|
333
|
+
constructor(init) {
|
|
334
|
+
this.New = init?.New;
|
|
335
|
+
}
|
|
336
|
+
// Get selects an arbitrary item from the Pool, removes it from the Pool, and returns it to the caller
|
|
337
|
+
Get() {
|
|
338
|
+
if (this._pool.length > 0) {
|
|
339
|
+
return this._pool.pop();
|
|
340
|
+
}
|
|
341
|
+
if (this.New) {
|
|
342
|
+
return this.New();
|
|
343
|
+
}
|
|
344
|
+
return null;
|
|
345
|
+
}
|
|
346
|
+
// Put adds x to the pool
|
|
347
|
+
Put(x) {
|
|
348
|
+
if (x !== null && x !== undefined) {
|
|
349
|
+
this._pool.push(x);
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
// clone returns a copy of this Pool instance
|
|
353
|
+
clone() {
|
|
354
|
+
return new Pool({ New: this.New });
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
// OnceFunc returns a function that invokes f only once
|
|
358
|
+
export function OnceFunc(f) {
|
|
359
|
+
let called = false;
|
|
360
|
+
return () => {
|
|
361
|
+
if (!called) {
|
|
362
|
+
called = true;
|
|
363
|
+
f();
|
|
364
|
+
}
|
|
365
|
+
};
|
|
366
|
+
}
|
|
367
|
+
// OnceValue returns a function that invokes f only once and returns the value returned by f
|
|
368
|
+
export function OnceValue(f) {
|
|
369
|
+
let value;
|
|
370
|
+
let called = false;
|
|
371
|
+
return () => {
|
|
372
|
+
if (!called) {
|
|
373
|
+
called = true;
|
|
374
|
+
value = f();
|
|
375
|
+
}
|
|
376
|
+
return value;
|
|
377
|
+
};
|
|
378
|
+
}
|
|
379
|
+
// OnceValues returns a function that invokes f only once and returns the values returned by f
|
|
380
|
+
export function OnceValues(f) {
|
|
381
|
+
let value1;
|
|
382
|
+
let value2;
|
|
383
|
+
let called = false;
|
|
384
|
+
return () => {
|
|
385
|
+
if (!called) {
|
|
386
|
+
called = true;
|
|
387
|
+
[value1, value2] = f();
|
|
388
|
+
}
|
|
389
|
+
return [value1, value2];
|
|
390
|
+
};
|
|
391
|
+
}
|
|
392
|
+
//# sourceMappingURL=sync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../gs/sync/sync.ts"],"names":[],"mappings":"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"}
|
package/dist/gs/time/time.js
CHANGED
|
@@ -22,7 +22,7 @@ export class Time {
|
|
|
22
22
|
}
|
|
23
23
|
// Fallback to Date-based calculation
|
|
24
24
|
const diffMs = this._date.getTime() - u._date.getTime();
|
|
25
|
-
const diffNs =
|
|
25
|
+
const diffNs = this._nsec - u._nsec;
|
|
26
26
|
return new Duration(diffMs * 1000000 + diffNs); // Convert ms to ns and add ns difference
|
|
27
27
|
}
|
|
28
28
|
// Add adds the duration d to t, returning the sum
|
|
@@ -70,7 +70,7 @@ export class Time {
|
|
|
70
70
|
return new Time(this._date, this._nsec);
|
|
71
71
|
}
|
|
72
72
|
// Truncate returns the result of rounding t down to a multiple of d
|
|
73
|
-
// Strips monotonic reading as per Go specification
|
|
73
|
+
// Strips monotonic reading as per Go specification
|
|
74
74
|
Truncate(d) {
|
|
75
75
|
// Implementation would truncate to duration
|
|
76
76
|
// For now, simplified version that strips monotonic reading
|
|
@@ -117,7 +117,7 @@ export class Duration {
|
|
|
117
117
|
}
|
|
118
118
|
// toString for string representation
|
|
119
119
|
toString() {
|
|
120
|
-
return this._nanoseconds.toString() +
|
|
120
|
+
return this._nanoseconds.toString() + 'ns';
|
|
121
121
|
}
|
|
122
122
|
}
|
|
123
123
|
// Override multiplication operator for Duration * number
|
|
@@ -168,7 +168,7 @@ export function Now() {
|
|
|
168
168
|
// Does not include monotonic reading as per Go specification
|
|
169
169
|
export function Date(year, month, day, hour, min, sec, nsec, loc) {
|
|
170
170
|
let date;
|
|
171
|
-
if (loc.name ===
|
|
171
|
+
if (loc.name === 'UTC') {
|
|
172
172
|
// Use Date.UTC for proper UTC handling
|
|
173
173
|
const utcTime = globalThis.Date.UTC(year, month - 1, day, hour, min, sec, Math.floor(nsec / 1000000));
|
|
174
174
|
date = new globalThis.Date(utcTime);
|
|
@@ -180,7 +180,7 @@ export function Date(year, month, day, hour, min, sec, nsec, loc) {
|
|
|
180
180
|
return new Time(date, nsec % 1000000); // No monotonic reading
|
|
181
181
|
}
|
|
182
182
|
// Common locations
|
|
183
|
-
export const UTC = new Location(
|
|
183
|
+
export const UTC = new Location('UTC');
|
|
184
184
|
// Common durations (matching Go's time package constants)
|
|
185
185
|
export const Nanosecond = new Duration(1);
|
|
186
186
|
export const Microsecond = new Duration(1000);
|
|
@@ -201,8 +201,8 @@ export function Until(t) {
|
|
|
201
201
|
// Sleep pauses the current execution for at least the duration d
|
|
202
202
|
export async function Sleep(d) {
|
|
203
203
|
const ms = d.valueOf() / 1000000; // Convert nanoseconds to milliseconds
|
|
204
|
-
return new Promise(resolve => setTimeout(resolve, ms));
|
|
204
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
205
205
|
}
|
|
206
|
-
// Export month constants
|
|
206
|
+
// Export month constants
|
|
207
207
|
export const May = Month.May;
|
|
208
208
|
//# sourceMappingURL=time.js.map
|
package/dist/gs/time/time.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time.js","sourceRoot":"","sources":["../../../gs/time/time.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,MAAM,OAAO,IAAI;IACP,KAAK,
|
|
1
|
+
{"version":3,"file":"time.js","sourceRoot":"","sources":["../../../gs/time/time.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './unicode.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../gs/unicode/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
export declare const MaxRune = 1114111;
|
|
2
|
+
export declare const ReplacementChar = 65533;
|
|
3
|
+
export declare const MaxASCII = 127;
|
|
4
|
+
export declare const MaxLatin1 = 255;
|
|
5
|
+
export declare const Version = "15.0.0";
|
|
6
|
+
export declare const UpperCase = 0;
|
|
7
|
+
export declare const LowerCase = 1;
|
|
8
|
+
export declare const TitleCase = 2;
|
|
9
|
+
export declare const MaxCase = 3;
|
|
10
|
+
export declare const UpperLower: number;
|
|
11
|
+
export declare class Range16 {
|
|
12
|
+
Lo: number;
|
|
13
|
+
Hi: number;
|
|
14
|
+
Stride: number;
|
|
15
|
+
constructor(lo: number, hi: number, stride: number);
|
|
16
|
+
clone(): Range16;
|
|
17
|
+
}
|
|
18
|
+
export declare class Range32 {
|
|
19
|
+
Lo: number;
|
|
20
|
+
Hi: number;
|
|
21
|
+
Stride: number;
|
|
22
|
+
constructor(lo: number, hi: number, stride: number);
|
|
23
|
+
clone(): Range32;
|
|
24
|
+
}
|
|
25
|
+
export declare class RangeTable {
|
|
26
|
+
R16: Range16[];
|
|
27
|
+
R32: Range32[];
|
|
28
|
+
LatinOffset: number;
|
|
29
|
+
constructor(r16?: Range16[], r32?: Range32[], latinOffset?: number);
|
|
30
|
+
clone(): RangeTable;
|
|
31
|
+
}
|
|
32
|
+
export declare class CaseRange {
|
|
33
|
+
Lo: number;
|
|
34
|
+
Hi: number;
|
|
35
|
+
Delta: [number, number, number];
|
|
36
|
+
constructor(lo: number, hi: number, delta: [number, number, number]);
|
|
37
|
+
clone(): CaseRange;
|
|
38
|
+
}
|
|
39
|
+
export type SpecialCase = CaseRange[];
|
|
40
|
+
export declare function IsControl(r: number): boolean;
|
|
41
|
+
export declare function IsDigit(r: number): boolean;
|
|
42
|
+
export declare function IsGraphic(r: number): boolean;
|
|
43
|
+
export declare function IsLetter(r: number): boolean;
|
|
44
|
+
export declare function IsLower(r: number): boolean;
|
|
45
|
+
export declare function IsMark(r: number): boolean;
|
|
46
|
+
export declare function IsNumber(r: number): boolean;
|
|
47
|
+
export declare function IsPrint(r: number): boolean;
|
|
48
|
+
export declare function IsPunct(r: number): boolean;
|
|
49
|
+
export declare function IsSpace(r: number): boolean;
|
|
50
|
+
export declare function IsSymbol(r: number): boolean;
|
|
51
|
+
export declare function IsTitle(r: number): boolean;
|
|
52
|
+
export declare function IsUpper(r: number): boolean;
|
|
53
|
+
export declare function ToLower(r: number): number;
|
|
54
|
+
export declare function ToUpper(r: number): number;
|
|
55
|
+
export declare function ToTitle(r: number): number;
|
|
56
|
+
export declare function To(_case: number, r: number): number;
|
|
57
|
+
export declare function SimpleFold(r: number): number;
|
|
58
|
+
export declare function Is(rangeTab: RangeTable, r: number): boolean;
|
|
59
|
+
export declare function In(r: number, ...ranges: RangeTable[]): boolean;
|
|
60
|
+
export declare function IsOneOf(ranges: RangeTable[], r: number): boolean;
|
|
61
|
+
export declare const Letter: RangeTable;
|
|
62
|
+
export declare const Digit: RangeTable;
|
|
63
|
+
export declare const Space: RangeTable;
|
|
64
|
+
export declare const Upper: RangeTable;
|
|
65
|
+
export declare const Lower: RangeTable;
|
|
66
|
+
export declare const Title: RangeTable;
|
|
67
|
+
export declare const Punct: RangeTable;
|
|
68
|
+
export declare const Symbol: RangeTable;
|
|
69
|
+
export declare const Mark: RangeTable;
|
|
70
|
+
export declare const Number: RangeTable;
|
|
71
|
+
export declare const Categories: Map<string, RangeTable>;
|
|
72
|
+
export declare const Scripts: Map<string, RangeTable>;
|
|
73
|
+
export declare const Properties: Map<string, RangeTable>;
|
|
74
|
+
export declare const FoldCategory: Map<string, RangeTable>;
|
|
75
|
+
export declare const FoldScript: Map<string, RangeTable>;
|
|
76
|
+
export declare const GraphicRanges: RangeTable[];
|
|
77
|
+
export declare const PrintRanges: RangeTable[];
|
|
78
|
+
export declare const CaseRanges: CaseRange[];
|
|
79
|
+
export declare const TurkishCase: SpecialCase;
|
|
80
|
+
export declare const AzeriCase: SpecialCase;
|
|
81
|
+
export declare const Cc: RangeTable;
|
|
82
|
+
export declare const Cf: RangeTable;
|
|
83
|
+
export declare const Co: RangeTable;
|
|
84
|
+
export declare const Cs: RangeTable;
|
|
85
|
+
export declare const Lm: RangeTable;
|
|
86
|
+
export declare const Lo: RangeTable;
|
|
87
|
+
export declare const Mc: RangeTable;
|
|
88
|
+
export declare const Me: RangeTable;
|
|
89
|
+
export declare const Mn: RangeTable;
|
|
90
|
+
export declare const Nl: RangeTable;
|
|
91
|
+
export declare const No: RangeTable;
|
|
92
|
+
export declare const Pc: RangeTable;
|
|
93
|
+
export declare const Pd: RangeTable;
|
|
94
|
+
export declare const Pe: RangeTable;
|
|
95
|
+
export declare const Pf: RangeTable;
|
|
96
|
+
export declare const Pi: RangeTable;
|
|
97
|
+
export declare const Po: RangeTable;
|
|
98
|
+
export declare const Ps: RangeTable;
|
|
99
|
+
export declare const Sc: RangeTable;
|
|
100
|
+
export declare const Sk: RangeTable;
|
|
101
|
+
export declare const Sm: RangeTable;
|
|
102
|
+
export declare const So: RangeTable;
|
|
103
|
+
export declare const Zl: RangeTable;
|
|
104
|
+
export declare const Zp: RangeTable;
|
|
105
|
+
export declare const Zs: RangeTable;
|