goscript 0.1.2 → 0.1.4
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/cmd/goscript/cmd_compile.go +28 -8
- package/cmd/goscript/cmd_compile_test.go +105 -6
- package/compiler/build-flags.go +9 -10
- package/compiler/gotest/runner_test.go +127 -0
- package/compiler/lowered-program.go +1 -0
- package/compiler/lowering.go +1325 -194
- package/compiler/lowering_bench_test.go +350 -0
- package/compiler/override-registry_test.go +43 -0
- package/compiler/package-graph.go +61 -4
- package/compiler/package-graph_test.go +30 -0
- package/compiler/semantic-model-types.go +8 -0
- package/compiler/semantic-model.go +447 -22
- package/compiler/semantic-model_test.go +138 -0
- package/compiler/skeleton_test.go +1436 -50
- package/compiler/typescript-emitter.go +47 -4
- package/dist/gs/builtin/builtin.d.ts +2 -2
- package/dist/gs/builtin/builtin.js +20 -0
- package/dist/gs/builtin/builtin.js.map +1 -1
- package/dist/gs/builtin/channel.js +36 -9
- package/dist/gs/builtin/channel.js.map +1 -1
- package/dist/gs/builtin/slice.js +5 -0
- package/dist/gs/builtin/slice.js.map +1 -1
- package/dist/gs/builtin/type.d.ts +1 -1
- package/dist/gs/builtin/type.js +80 -8
- package/dist/gs/builtin/type.js.map +1 -1
- package/dist/gs/bytes/bytes.gs.d.ts +7 -5
- package/dist/gs/bytes/bytes.gs.js +10 -4
- package/dist/gs/bytes/bytes.gs.js.map +1 -1
- package/dist/gs/compress/zlib/index.d.ts +3 -3
- package/dist/gs/compress/zlib/index.js +88 -26
- package/dist/gs/compress/zlib/index.js.map +1 -1
- package/dist/gs/crypto/sha1/index.d.ts +5 -0
- package/dist/gs/crypto/sha1/index.js +103 -0
- package/dist/gs/crypto/sha1/index.js.map +1 -0
- package/dist/gs/crypto/sha256/index.js +2 -5
- package/dist/gs/crypto/sha256/index.js.map +1 -1
- package/dist/gs/crypto/sha512/index.js +2 -5
- package/dist/gs/crypto/sha512/index.js.map +1 -1
- package/dist/gs/embed/index.d.ts +6 -0
- package/dist/gs/embed/index.js +210 -5
- package/dist/gs/embed/index.js.map +1 -1
- package/dist/gs/fmt/fmt.d.ts +4 -4
- package/dist/gs/fmt/fmt.js +93 -19
- package/dist/gs/fmt/fmt.js.map +1 -1
- package/dist/gs/github.com/aperturerobotics/starpc/srpc/index.js +118 -6
- package/dist/gs/github.com/aperturerobotics/starpc/srpc/index.js.map +1 -1
- package/dist/gs/github.com/go-git/go-billy/v6/osfs/index.d.ts +45 -0
- package/dist/gs/github.com/go-git/go-billy/v6/osfs/index.js +229 -0
- package/dist/gs/github.com/go-git/go-billy/v6/osfs/index.js.map +1 -0
- package/dist/gs/io/fs/readdir.js +5 -3
- package/dist/gs/io/fs/readdir.js.map +1 -1
- package/dist/gs/io/io.d.ts +18 -11
- package/dist/gs/io/io.js +107 -44
- package/dist/gs/io/io.js.map +1 -1
- package/dist/gs/math/bits/index.d.ts +26 -5
- package/dist/gs/math/bits/index.js +13 -24
- package/dist/gs/math/bits/index.js.map +1 -1
- package/dist/gs/net/http/httptest/index.js +7 -5
- package/dist/gs/net/http/httptest/index.js.map +1 -1
- package/dist/gs/net/http/index.d.ts +11 -1
- package/dist/gs/net/http/index.js +157 -11
- package/dist/gs/net/http/index.js.map +1 -1
- package/dist/gs/os/types_js.gs.d.ts +6 -2
- package/dist/gs/os/types_js.gs.js +169 -8
- package/dist/gs/os/types_js.gs.js.map +1 -1
- package/dist/gs/os/zero_copy_posix.gs.js +1 -1
- package/dist/gs/os/zero_copy_posix.gs.js.map +1 -1
- package/dist/gs/reflect/type.d.ts +1 -0
- package/dist/gs/reflect/type.js +80 -51
- package/dist/gs/reflect/type.js.map +1 -1
- package/dist/gs/strings/reader.d.ts +1 -1
- package/dist/gs/strings/reader.js +2 -2
- package/dist/gs/strings/reader.js.map +1 -1
- package/dist/gs/sync/sync.d.ts +2 -1
- package/dist/gs/sync/sync.js +37 -16
- package/dist/gs/sync/sync.js.map +1 -1
- package/dist/gs/syscall/js/index.js +9 -0
- package/dist/gs/syscall/js/index.js.map +1 -1
- package/dist/gs/testing/testing.js +8 -6
- package/dist/gs/testing/testing.js.map +1 -1
- package/gs/builtin/builtin.ts +25 -2
- package/gs/builtin/channel.ts +47 -9
- package/gs/builtin/runtime-contract.test.ts +78 -0
- package/gs/builtin/slice.ts +7 -0
- package/gs/builtin/type.ts +97 -8
- package/gs/bytes/bytes.gs.ts +19 -10
- package/gs/bytes/bytes.test.ts +17 -0
- package/gs/compress/zlib/index.test.ts +97 -0
- package/gs/compress/zlib/index.ts +117 -27
- package/gs/compress/zlib/meta.json +4 -1
- package/gs/context/context.test.ts +5 -1
- package/gs/crypto/sha1/index.test.ts +45 -0
- package/gs/crypto/sha1/index.ts +127 -0
- package/gs/crypto/sha1/meta.json +8 -0
- package/gs/crypto/sha256/index.test.ts +14 -2
- package/gs/crypto/sha256/index.ts +3 -6
- package/gs/crypto/sha512/index.test.ts +17 -2
- package/gs/crypto/sha512/index.ts +3 -6
- package/gs/embed/index.test.ts +87 -0
- package/gs/embed/index.ts +229 -5
- package/gs/fmt/fmt.test.ts +61 -3
- package/gs/fmt/fmt.ts +115 -22
- package/gs/fmt/meta.json +6 -1
- package/gs/github.com/aperturerobotics/starpc/srpc/index.test.ts +8 -1
- package/gs/github.com/aperturerobotics/starpc/srpc/index.ts +139 -11
- package/gs/github.com/aperturerobotics/util/conc/index.test.ts +1 -1
- package/gs/github.com/go-git/go-billy/v6/osfs/index.test.ts +110 -0
- package/gs/github.com/go-git/go-billy/v6/osfs/index.ts +280 -0
- package/gs/github.com/go-git/go-billy/v6/osfs/meta.json +8 -0
- package/gs/io/fs/readdir.test.ts +38 -0
- package/gs/io/fs/readdir.ts +7 -3
- package/gs/io/io.test.ts +135 -0
- package/gs/io/io.ts +143 -63
- package/gs/io/meta.json +7 -1
- package/gs/math/bits/index.ts +52 -28
- package/gs/net/http/httptest/index.test.ts +34 -2
- package/gs/net/http/httptest/index.ts +23 -8
- package/gs/net/http/index.test.ts +46 -0
- package/gs/net/http/index.ts +178 -12
- package/gs/os/file_unix_js.test.ts +52 -0
- package/gs/os/meta.json +4 -0
- package/gs/os/readdir.test.ts +56 -0
- package/gs/os/types_js.gs.ts +169 -8
- package/gs/os/zero_copy_posix.gs.ts +1 -2
- package/gs/reflect/deepequal.test.ts +10 -1
- package/gs/reflect/type.ts +91 -56
- package/gs/reflect/typefor.test.ts +31 -1
- package/gs/strings/meta.json +5 -2
- package/gs/strings/reader.test.ts +2 -2
- package/gs/strings/reader.ts +2 -2
- package/gs/sync/meta.json +2 -0
- package/gs/sync/sync.test.ts +41 -1
- package/gs/sync/sync.ts +41 -16
- package/gs/syscall/js/index.test.ts +18 -0
- package/gs/syscall/js/index.ts +12 -0
- package/gs/testing/testing.test.ts +32 -3
- package/gs/testing/testing.ts +13 -10
- package/package.json +1 -1
package/dist/gs/embed/index.js
CHANGED
|
@@ -1,16 +1,221 @@
|
|
|
1
|
+
import * as $ from '@goscript/builtin/index.js';
|
|
2
|
+
import * as io from '@goscript/io/index.js';
|
|
1
3
|
import * as fs from '@goscript/io/fs/index.js';
|
|
4
|
+
import * as time from '@goscript/time/index.js';
|
|
2
5
|
export class FS {
|
|
6
|
+
files;
|
|
7
|
+
constructor(files) {
|
|
8
|
+
this.files = files ?? new Map();
|
|
9
|
+
}
|
|
10
|
+
clone() {
|
|
11
|
+
const files = new Map();
|
|
12
|
+
for (const [name, data] of this.files) {
|
|
13
|
+
files.set(name, data.slice());
|
|
14
|
+
}
|
|
15
|
+
return $.markAsStructValue(new FS(files));
|
|
16
|
+
}
|
|
3
17
|
Open(name) {
|
|
4
|
-
|
|
18
|
+
const err = validatePath('open', name);
|
|
19
|
+
if (err != null) {
|
|
20
|
+
return [null, err];
|
|
21
|
+
}
|
|
22
|
+
const data = this.files.get(name);
|
|
23
|
+
if (data !== undefined) {
|
|
24
|
+
return [new embedFile(name, data), null];
|
|
25
|
+
}
|
|
26
|
+
const entries = this.dirEntries(name);
|
|
27
|
+
if (entries === null) {
|
|
28
|
+
return [null, pathError('open', name, fs.ErrNotExist)];
|
|
29
|
+
}
|
|
30
|
+
return [new embedFile(name, null, entries), null];
|
|
5
31
|
}
|
|
6
32
|
ReadDir(name) {
|
|
7
|
-
|
|
33
|
+
const err = validatePath('read', name);
|
|
34
|
+
if (err != null) {
|
|
35
|
+
return [null, err];
|
|
36
|
+
}
|
|
37
|
+
const entries = this.dirEntries(name);
|
|
38
|
+
if (entries === null) {
|
|
39
|
+
return [null, pathError('read', name, fs.ErrNotExist)];
|
|
40
|
+
}
|
|
41
|
+
return [entries, null];
|
|
8
42
|
}
|
|
9
43
|
ReadFile(name) {
|
|
10
|
-
|
|
44
|
+
const err = validatePath('read', name);
|
|
45
|
+
if (err != null) {
|
|
46
|
+
return [new Uint8Array(0), err];
|
|
47
|
+
}
|
|
48
|
+
const data = this.files.get(name);
|
|
49
|
+
if (data === undefined) {
|
|
50
|
+
const err = this.dirExists(name) ? fs.ErrInvalid : fs.ErrNotExist;
|
|
51
|
+
return [new Uint8Array(0), pathError('read', name, err)];
|
|
52
|
+
}
|
|
53
|
+
return [data.slice(), null];
|
|
54
|
+
}
|
|
55
|
+
Stat(name) {
|
|
56
|
+
const err = validatePath('stat', name);
|
|
57
|
+
if (err != null) {
|
|
58
|
+
return [null, err];
|
|
59
|
+
}
|
|
60
|
+
const data = this.files.get(name);
|
|
61
|
+
if (data !== undefined) {
|
|
62
|
+
return [new embedFileInfo(baseName(name), data.byteLength, 0o444), null];
|
|
63
|
+
}
|
|
64
|
+
if (!this.dirExists(name)) {
|
|
65
|
+
return [null, pathError('stat', name, fs.ErrNotExist)];
|
|
66
|
+
}
|
|
67
|
+
return [new embedFileInfo(baseName(name), 0, fs.ModeDir | 0o555), null];
|
|
68
|
+
}
|
|
69
|
+
dirEntries(name) {
|
|
70
|
+
if (!this.dirExists(name)) {
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
const prefix = name === '.' ? '' : name + '/';
|
|
74
|
+
const entries = new Map();
|
|
75
|
+
for (const [filePath, data] of this.files) {
|
|
76
|
+
if (prefix !== '' && !filePath.startsWith(prefix)) {
|
|
77
|
+
continue;
|
|
78
|
+
}
|
|
79
|
+
const rest = prefix === '' ? filePath : filePath.slice(prefix.length);
|
|
80
|
+
if (rest === '') {
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
83
|
+
const slash = rest.indexOf('/');
|
|
84
|
+
const childName = slash === -1 ? rest : rest.slice(0, slash);
|
|
85
|
+
if (entries.has(childName)) {
|
|
86
|
+
continue;
|
|
87
|
+
}
|
|
88
|
+
const isDir = slash !== -1;
|
|
89
|
+
const info = isDir ?
|
|
90
|
+
new embedFileInfo(childName, 0, fs.ModeDir | 0o555)
|
|
91
|
+
: new embedFileInfo(childName, data.byteLength, 0o444);
|
|
92
|
+
entries.set(childName, new embedDirEntry(info));
|
|
93
|
+
}
|
|
94
|
+
return Array.from(entries.values()).sort((a, b) => a.Name().localeCompare(b.Name()));
|
|
95
|
+
}
|
|
96
|
+
dirExists(name) {
|
|
97
|
+
if (name === '.') {
|
|
98
|
+
return true;
|
|
99
|
+
}
|
|
100
|
+
const prefix = name + '/';
|
|
101
|
+
for (const path of this.files.keys()) {
|
|
102
|
+
if (path.startsWith(prefix)) {
|
|
103
|
+
return true;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return false;
|
|
11
107
|
}
|
|
12
108
|
}
|
|
13
|
-
|
|
14
|
-
|
|
109
|
+
class embedFile {
|
|
110
|
+
name;
|
|
111
|
+
data;
|
|
112
|
+
entries;
|
|
113
|
+
offset = 0;
|
|
114
|
+
dirOffset = 0;
|
|
115
|
+
constructor(name, data, entries = []) {
|
|
116
|
+
this.name = name;
|
|
117
|
+
this.data = data;
|
|
118
|
+
this.entries = entries;
|
|
119
|
+
}
|
|
120
|
+
Close() {
|
|
121
|
+
return null;
|
|
122
|
+
}
|
|
123
|
+
Read(buffer) {
|
|
124
|
+
if (this.data === null) {
|
|
125
|
+
return [0, pathError('read', this.name, fs.ErrInvalid)];
|
|
126
|
+
}
|
|
127
|
+
if (this.offset >= this.data.byteLength) {
|
|
128
|
+
return [0, io.EOF];
|
|
129
|
+
}
|
|
130
|
+
const n = Math.min(buffer.byteLength, this.data.byteLength - this.offset);
|
|
131
|
+
buffer.set(this.data.subarray(this.offset, this.offset + n));
|
|
132
|
+
this.offset += n;
|
|
133
|
+
return [n, null];
|
|
134
|
+
}
|
|
135
|
+
ReadDir(n) {
|
|
136
|
+
if (this.data !== null) {
|
|
137
|
+
return [null, pathError('readdir', this.name, fs.ErrInvalid)];
|
|
138
|
+
}
|
|
139
|
+
const allEntries = this.entries ?? [];
|
|
140
|
+
if (n <= 0) {
|
|
141
|
+
const entries = allEntries.slice(this.dirOffset);
|
|
142
|
+
this.dirOffset = allEntries.length;
|
|
143
|
+
return [entries, null];
|
|
144
|
+
}
|
|
145
|
+
if (this.dirOffset >= allEntries.length) {
|
|
146
|
+
return [[], io.EOF];
|
|
147
|
+
}
|
|
148
|
+
const entries = allEntries.slice(this.dirOffset, this.dirOffset + n);
|
|
149
|
+
this.dirOffset += entries.length;
|
|
150
|
+
return [entries, null];
|
|
151
|
+
}
|
|
152
|
+
Stat() {
|
|
153
|
+
if (this.data === null) {
|
|
154
|
+
return [new embedFileInfo(baseName(this.name), 0, fs.ModeDir | 0o555), null];
|
|
155
|
+
}
|
|
156
|
+
return [new embedFileInfo(baseName(this.name), this.data.byteLength, 0o444), null];
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
class embedFileInfo {
|
|
160
|
+
name;
|
|
161
|
+
size;
|
|
162
|
+
mode;
|
|
163
|
+
constructor(name, size, mode) {
|
|
164
|
+
this.name = name;
|
|
165
|
+
this.size = size;
|
|
166
|
+
this.mode = mode;
|
|
167
|
+
}
|
|
168
|
+
IsDir() {
|
|
169
|
+
return fs.FileMode_IsDir(this.mode);
|
|
170
|
+
}
|
|
171
|
+
ModTime() {
|
|
172
|
+
return new time.Time();
|
|
173
|
+
}
|
|
174
|
+
Mode() {
|
|
175
|
+
return this.mode;
|
|
176
|
+
}
|
|
177
|
+
Name() {
|
|
178
|
+
return this.name;
|
|
179
|
+
}
|
|
180
|
+
Size() {
|
|
181
|
+
return this.size;
|
|
182
|
+
}
|
|
183
|
+
Sys() {
|
|
184
|
+
return null;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
class embedDirEntry {
|
|
188
|
+
info;
|
|
189
|
+
constructor(info) {
|
|
190
|
+
this.info = info;
|
|
191
|
+
}
|
|
192
|
+
Info() {
|
|
193
|
+
return [this.info, null];
|
|
194
|
+
}
|
|
195
|
+
IsDir() {
|
|
196
|
+
return this.info.IsDir();
|
|
197
|
+
}
|
|
198
|
+
Name() {
|
|
199
|
+
return this.info.Name();
|
|
200
|
+
}
|
|
201
|
+
Type() {
|
|
202
|
+
return fs.fileModeType(this.info.Mode());
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
function validatePath(op, name) {
|
|
206
|
+
if (!fs.ValidPath(name)) {
|
|
207
|
+
return pathError(op, name, fs.ErrInvalid);
|
|
208
|
+
}
|
|
209
|
+
return null;
|
|
210
|
+
}
|
|
211
|
+
function pathError(op, name, err) {
|
|
212
|
+
return new fs.PathError({ Op: op, Path: name, Err: err });
|
|
213
|
+
}
|
|
214
|
+
function baseName(name) {
|
|
215
|
+
const idx = name.lastIndexOf('/');
|
|
216
|
+
if (idx === -1) {
|
|
217
|
+
return name;
|
|
218
|
+
}
|
|
219
|
+
return name.slice(idx + 1);
|
|
15
220
|
}
|
|
16
221
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../gs/embed/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../gs/embed/index.ts"],"names":[],"mappings":"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"}
|
package/dist/gs/fmt/fmt.d.ts
CHANGED
|
@@ -20,9 +20,9 @@ export declare function Println(...a: any[]): [number, $.GoError | null];
|
|
|
20
20
|
export declare function Sprint(...a: any[]): string;
|
|
21
21
|
export declare function Sprintf(format: string, ...a: any[]): string;
|
|
22
22
|
export declare function Sprintln(...a: any[]): string;
|
|
23
|
-
export declare function Fprint(w: any, ...a: any[]): [number, $.GoError | null]
|
|
24
|
-
export declare function Fprintf(w: any, format: string, ...a: any[]): [number, $.GoError | null]
|
|
25
|
-
export declare function Fprintln(w: any, ...a: any[]): [number, $.GoError | null]
|
|
23
|
+
export declare function Fprint(w: any, ...a: any[]): Promise<[number, $.GoError | null]>;
|
|
24
|
+
export declare function Fprintf(w: any, format: string, ...a: any[]): Promise<[number, $.GoError | null]>;
|
|
25
|
+
export declare function Fprintln(w: any, ...a: any[]): Promise<[number, $.GoError | null]>;
|
|
26
26
|
export declare function Append(b: $.Bytes, ...a: any[]): $.Bytes;
|
|
27
27
|
export declare function Appendf(b: $.Bytes, format: string, ...a: any[]): $.Bytes;
|
|
28
28
|
export declare function Appendln(b: $.Bytes, ...a: any[]): $.Bytes;
|
|
@@ -32,7 +32,7 @@ export declare function Scan(..._a: any[]): [number, $.GoError | null];
|
|
|
32
32
|
export declare function Scanf(_format: string, ..._a: any[]): [number, $.GoError | null];
|
|
33
33
|
export declare function Scanln(..._a: any[]): [number, $.GoError | null];
|
|
34
34
|
export declare function Sscan(_str: string, ..._a: any[]): [number, $.GoError | null];
|
|
35
|
-
export declare function Sscanf(
|
|
35
|
+
export declare function Sscanf(str: string, format: string, ...a: any[]): [number, $.GoError | null];
|
|
36
36
|
export declare function Sscanln(_str: string, ..._a: any[]): [number, $.GoError | null];
|
|
37
37
|
export declare function Fscan(_r: any, ..._a: any[]): [number, $.GoError | null];
|
|
38
38
|
export declare function Fscanf(_r: any, _format: string, ..._a: any[]): [number, $.GoError | null];
|
package/dist/gs/fmt/fmt.js
CHANGED
|
@@ -11,15 +11,23 @@ function formatValue(value, verb) {
|
|
|
11
11
|
switch (verb) {
|
|
12
12
|
case 'v': // default format
|
|
13
13
|
return defaultFormat(value);
|
|
14
|
+
case 'w': // wrapped error
|
|
15
|
+
return defaultFormat(value);
|
|
14
16
|
case 'd': // decimal integer
|
|
15
17
|
return String(Math.trunc(Number(value)));
|
|
16
18
|
case 'f': // decimal point, no exponent
|
|
17
19
|
return Number(value).toString();
|
|
18
20
|
case 's': // string
|
|
19
|
-
|
|
21
|
+
if (typeof value === 'string')
|
|
22
|
+
return value;
|
|
23
|
+
if (value instanceof Uint8Array)
|
|
24
|
+
return $.bytesToString(value);
|
|
25
|
+
return defaultFormat(value);
|
|
20
26
|
case 't': // boolean
|
|
21
27
|
return value ? 'true' : 'false';
|
|
22
28
|
case 'T': // type (approximate Go names for primitives we need)
|
|
29
|
+
if (hasGoTypeName(value))
|
|
30
|
+
return value.__goType;
|
|
23
31
|
if (typeof value === 'number') {
|
|
24
32
|
return Number.isInteger(value) ? 'int' : 'float64';
|
|
25
33
|
}
|
|
@@ -64,6 +72,11 @@ function formatValue(value, verb) {
|
|
|
64
72
|
return String(value);
|
|
65
73
|
}
|
|
66
74
|
}
|
|
75
|
+
function hasGoTypeName(value) {
|
|
76
|
+
return (value !== null &&
|
|
77
|
+
typeof value === 'object' &&
|
|
78
|
+
typeof value.__goType === 'string');
|
|
79
|
+
}
|
|
67
80
|
function defaultFormat(value) {
|
|
68
81
|
if (value === null || value === undefined)
|
|
69
82
|
return '<nil>';
|
|
@@ -104,6 +117,9 @@ function defaultFormat(value) {
|
|
|
104
117
|
// Ignore error by continuing to next case.
|
|
105
118
|
}
|
|
106
119
|
}
|
|
120
|
+
if ('__goValue' in value) {
|
|
121
|
+
return defaultFormat(value.__goValue);
|
|
122
|
+
}
|
|
107
123
|
// Basic Map/Set rendering
|
|
108
124
|
if (value instanceof Map) {
|
|
109
125
|
const parts = [];
|
|
@@ -313,8 +329,14 @@ export function Sprintf(format, ...a) {
|
|
|
313
329
|
export function Sprintln(...a) {
|
|
314
330
|
return a.map(defaultFormat).join(' ') + '\n';
|
|
315
331
|
}
|
|
332
|
+
async function writeToWriter(w, out) {
|
|
333
|
+
if (w && w.Write) {
|
|
334
|
+
return await w.Write(new TextEncoder().encode(out));
|
|
335
|
+
}
|
|
336
|
+
return [0, $.newError('Writer does not implement Write method')];
|
|
337
|
+
}
|
|
316
338
|
// Fprint functions (write to Writer) - simplified implementation
|
|
317
|
-
export function Fprint(w, ...a) {
|
|
339
|
+
export async function Fprint(w, ...a) {
|
|
318
340
|
// Same spacing as Print
|
|
319
341
|
let out = '';
|
|
320
342
|
for (let i = 0; i < a.length; i++) {
|
|
@@ -326,26 +348,17 @@ export function Fprint(w, ...a) {
|
|
|
326
348
|
}
|
|
327
349
|
out += defaultFormat(a[i]);
|
|
328
350
|
}
|
|
329
|
-
|
|
330
|
-
return w.Write(new TextEncoder().encode(out));
|
|
331
|
-
}
|
|
332
|
-
return [0, $.newError('Writer does not implement Write method')];
|
|
351
|
+
return await writeToWriter(w, out);
|
|
333
352
|
}
|
|
334
|
-
export function Fprintf(w, format, ...a) {
|
|
353
|
+
export async function Fprintf(w, format, ...a) {
|
|
335
354
|
const result = parseFormat(format, a);
|
|
336
|
-
|
|
337
|
-
return w.Write(new TextEncoder().encode(result));
|
|
338
|
-
}
|
|
339
|
-
return [0, $.newError('Writer does not implement Write method')];
|
|
355
|
+
return await writeToWriter(w, result);
|
|
340
356
|
}
|
|
341
|
-
export function Fprintln(w, ...a) {
|
|
357
|
+
export async function Fprintln(w, ...a) {
|
|
342
358
|
// Same behavior as Println
|
|
343
359
|
const body = a.map(defaultFormat).join(' ');
|
|
344
360
|
const result = body + '\n';
|
|
345
|
-
|
|
346
|
-
return w.Write(new TextEncoder().encode(result));
|
|
347
|
-
}
|
|
348
|
-
return [0, $.newError('Writer does not implement Write method')];
|
|
361
|
+
return await writeToWriter(w, result);
|
|
349
362
|
}
|
|
350
363
|
// Append functions (append to byte slice)
|
|
351
364
|
export function Append(b, ...a) {
|
|
@@ -425,9 +438,70 @@ export function Sscan(_str, ..._a) {
|
|
|
425
438
|
// TODO: Implement scanning from string
|
|
426
439
|
return [0, $.newError('Sscan not implemented')];
|
|
427
440
|
}
|
|
428
|
-
export function Sscanf(
|
|
429
|
-
|
|
430
|
-
|
|
441
|
+
export function Sscanf(str, format, ...a) {
|
|
442
|
+
const parts = buildScanPattern(format);
|
|
443
|
+
if (parts == null) {
|
|
444
|
+
return [0, $.newError(`unsupported Sscanf format: ${format}`)];
|
|
445
|
+
}
|
|
446
|
+
const match = parts.pattern.exec(str);
|
|
447
|
+
if (match == null) {
|
|
448
|
+
return [0, $.newError('input does not match format')];
|
|
449
|
+
}
|
|
450
|
+
let assigned = 0;
|
|
451
|
+
for (let i = 0; i < parts.verbs.length && i < a.length; i++) {
|
|
452
|
+
const raw = match[i + 1];
|
|
453
|
+
const value = parts.verbs[i] === 'd' ? Number.parseInt(raw, 10) : raw;
|
|
454
|
+
if (!assignScanValue(a[i], value)) {
|
|
455
|
+
return [assigned, $.newError('scan destination is not assignable')];
|
|
456
|
+
}
|
|
457
|
+
assigned++;
|
|
458
|
+
}
|
|
459
|
+
return [assigned, null];
|
|
460
|
+
}
|
|
461
|
+
function buildScanPattern(format) {
|
|
462
|
+
let source = '^';
|
|
463
|
+
const verbs = [];
|
|
464
|
+
for (let i = 0; i < format.length; i++) {
|
|
465
|
+
const ch = format[i];
|
|
466
|
+
if (ch !== '%') {
|
|
467
|
+
source += /\s/.test(ch) ? '\\s+' : escapeRegExp(ch);
|
|
468
|
+
continue;
|
|
469
|
+
}
|
|
470
|
+
const verb = format[++i];
|
|
471
|
+
if (verb === '%') {
|
|
472
|
+
source += '%';
|
|
473
|
+
continue;
|
|
474
|
+
}
|
|
475
|
+
if (verb === 'd') {
|
|
476
|
+
source += '([+-]?\\d+)';
|
|
477
|
+
verbs.push(verb);
|
|
478
|
+
continue;
|
|
479
|
+
}
|
|
480
|
+
if (verb === 's') {
|
|
481
|
+
source += '(\\S+)';
|
|
482
|
+
verbs.push(verb);
|
|
483
|
+
continue;
|
|
484
|
+
}
|
|
485
|
+
return null;
|
|
486
|
+
}
|
|
487
|
+
source += '$';
|
|
488
|
+
return { pattern: new RegExp(source), verbs };
|
|
489
|
+
}
|
|
490
|
+
function assignScanValue(target, value) {
|
|
491
|
+
const ref = $.isVarRef(target) ? target
|
|
492
|
+
: (target != null &&
|
|
493
|
+
typeof target === 'object' &&
|
|
494
|
+
$.isVarRef(target.__goValue)) ?
|
|
495
|
+
target.__goValue
|
|
496
|
+
: null;
|
|
497
|
+
if (ref == null) {
|
|
498
|
+
return false;
|
|
499
|
+
}
|
|
500
|
+
ref.value = value;
|
|
501
|
+
return true;
|
|
502
|
+
}
|
|
503
|
+
function escapeRegExp(ch) {
|
|
504
|
+
return ch.replace(/[\\^$.*+?()[\]{}|]/g, '\\$&');
|
|
431
505
|
}
|
|
432
506
|
export function Sscanln(_str, ..._a) {
|
|
433
507
|
// TODO: Implement line scanning from string
|
package/dist/gs/fmt/fmt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fmt.js","sourceRoot":"","sources":["../../../gs/fmt/fmt.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fmt.js","sourceRoot":"","sources":["../../../gs/fmt/fmt.ts"],"names":[],"mappings":"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"}
|