goscript 0.0.26 → 0.0.29

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 (228) hide show
  1. package/README.md +4 -4
  2. package/cmd/goscript/cmd_compile.go +0 -3
  3. package/cmd/goscript/deps.go +11 -0
  4. package/compiler/analysis.go +298 -55
  5. package/compiler/assignment.go +2 -2
  6. package/compiler/builtin_test.go +1 -1
  7. package/compiler/compiler.go +200 -68
  8. package/compiler/compiler_test.go +17 -24
  9. package/compiler/composite-lit.go +32 -8
  10. package/compiler/decl.go +6 -6
  11. package/compiler/expr-call.go +170 -15
  12. package/compiler/expr-selector.go +100 -0
  13. package/compiler/expr.go +1 -1
  14. package/compiler/protobuf.go +557 -0
  15. package/compiler/spec-struct.go +4 -0
  16. package/compiler/spec-value.go +89 -10
  17. package/compiler/spec.go +254 -1
  18. package/compiler/stmt-assign.go +35 -0
  19. package/compiler/type-assert.go +87 -0
  20. package/compiler/type.go +4 -1
  21. package/dist/gs/builtin/builtin.d.ts +20 -1
  22. package/dist/gs/builtin/builtin.js +95 -4
  23. package/dist/gs/builtin/builtin.js.map +1 -1
  24. package/dist/gs/builtin/slice.d.ts +1 -1
  25. package/dist/gs/builtin/slice.js +21 -2
  26. package/dist/gs/builtin/slice.js.map +1 -1
  27. package/dist/gs/errors/errors.d.ts +5 -6
  28. package/dist/gs/errors/errors.js.map +1 -1
  29. package/dist/gs/internal/oserror/errors.d.ts +6 -0
  30. package/dist/gs/internal/oserror/errors.js +7 -0
  31. package/dist/gs/internal/oserror/errors.js.map +1 -0
  32. package/dist/gs/internal/oserror/index.d.ts +1 -0
  33. package/dist/gs/internal/oserror/index.js +2 -0
  34. package/dist/gs/internal/oserror/index.js.map +1 -0
  35. package/dist/gs/io/fs/format.d.ts +3 -0
  36. package/dist/gs/io/fs/format.js +56 -0
  37. package/dist/gs/io/fs/format.js.map +1 -0
  38. package/dist/gs/io/fs/fs.d.ts +79 -0
  39. package/dist/gs/io/fs/fs.js +200 -0
  40. package/dist/gs/io/fs/fs.js.map +1 -0
  41. package/dist/gs/io/fs/glob.d.ts +10 -0
  42. package/dist/gs/io/fs/glob.js +141 -0
  43. package/dist/gs/io/fs/glob.js.map +1 -0
  44. package/dist/gs/io/fs/index.d.ts +8 -0
  45. package/dist/gs/io/fs/index.js +9 -0
  46. package/dist/gs/io/fs/index.js.map +1 -0
  47. package/dist/gs/io/fs/readdir.d.ts +7 -0
  48. package/dist/gs/io/fs/readdir.js +152 -0
  49. package/dist/gs/io/fs/readdir.js.map +1 -0
  50. package/dist/gs/io/fs/readfile.d.ts +6 -0
  51. package/dist/gs/io/fs/readfile.js +118 -0
  52. package/dist/gs/io/fs/readfile.js.map +1 -0
  53. package/dist/gs/io/fs/stat.d.ts +6 -0
  54. package/dist/gs/io/fs/stat.js +87 -0
  55. package/dist/gs/io/fs/stat.js.map +1 -0
  56. package/dist/gs/io/fs/sub.d.ts +6 -0
  57. package/dist/gs/io/fs/sub.js +172 -0
  58. package/dist/gs/io/fs/sub.js.map +1 -0
  59. package/dist/gs/io/fs/walk.d.ts +7 -0
  60. package/dist/gs/io/fs/walk.js +76 -0
  61. package/dist/gs/io/fs/walk.js.map +1 -0
  62. package/dist/gs/io/index.d.ts +1 -0
  63. package/dist/gs/io/index.js +2 -0
  64. package/dist/gs/io/index.js.map +1 -0
  65. package/dist/gs/io/io.d.ts +107 -0
  66. package/dist/gs/io/io.js +385 -0
  67. package/dist/gs/io/io.js.map +1 -0
  68. package/dist/gs/path/index.d.ts +2 -0
  69. package/dist/gs/path/index.js +3 -0
  70. package/dist/gs/path/index.js.map +1 -0
  71. package/dist/gs/path/match.d.ts +6 -0
  72. package/dist/gs/path/match.js +281 -0
  73. package/dist/gs/path/match.js.map +1 -0
  74. package/dist/gs/path/path.d.ts +7 -0
  75. package/dist/gs/path/path.js +256 -0
  76. package/dist/gs/path/path.js.map +1 -0
  77. package/dist/gs/strings/builder.d.ts +18 -0
  78. package/dist/gs/strings/builder.js +205 -0
  79. package/dist/gs/strings/builder.js.map +1 -0
  80. package/dist/gs/strings/clone.d.ts +1 -0
  81. package/dist/gs/strings/clone.js +16 -0
  82. package/dist/gs/strings/clone.js.map +1 -0
  83. package/dist/gs/strings/compare.d.ts +1 -0
  84. package/dist/gs/strings/compare.js +14 -0
  85. package/dist/gs/strings/compare.js.map +1 -0
  86. package/dist/gs/strings/index.d.ts +2 -0
  87. package/dist/gs/strings/index.js +3 -0
  88. package/dist/gs/strings/index.js.map +1 -0
  89. package/dist/gs/strings/iter.d.ts +8 -0
  90. package/dist/gs/strings/iter.js +160 -0
  91. package/dist/gs/strings/iter.js.map +1 -0
  92. package/dist/gs/strings/reader.d.ts +34 -0
  93. package/dist/gs/strings/reader.js +418 -0
  94. package/dist/gs/strings/reader.js.map +1 -0
  95. package/dist/gs/strings/replace.d.ts +106 -0
  96. package/dist/gs/strings/replace.js +1136 -0
  97. package/dist/gs/strings/replace.js.map +1 -0
  98. package/dist/gs/strings/search.d.ts +24 -0
  99. package/dist/gs/strings/search.js +169 -0
  100. package/dist/gs/strings/search.js.map +1 -0
  101. package/dist/gs/strings/strings.d.ts +47 -0
  102. package/dist/gs/strings/strings.js +418 -0
  103. package/dist/gs/strings/strings.js.map +1 -0
  104. package/dist/gs/stringslite/index.d.ts +1 -0
  105. package/dist/gs/stringslite/index.js +2 -0
  106. package/dist/gs/stringslite/index.js.map +1 -0
  107. package/dist/gs/stringslite/strings.d.ts +11 -0
  108. package/dist/gs/stringslite/strings.js +67 -0
  109. package/dist/gs/stringslite/strings.js.map +1 -0
  110. package/dist/gs/sync/index.d.ts +1 -0
  111. package/dist/gs/sync/index.js +2 -0
  112. package/dist/gs/sync/index.js.map +1 -0
  113. package/dist/gs/sync/sync.d.ts +79 -0
  114. package/dist/gs/sync/sync.js +392 -0
  115. package/dist/gs/sync/sync.js.map +1 -0
  116. package/dist/gs/time/time.d.ts +11 -2
  117. package/dist/gs/time/time.js +337 -12
  118. package/dist/gs/time/time.js.map +1 -1
  119. package/dist/gs/unicode/index.d.ts +1 -0
  120. package/dist/gs/unicode/index.js +2 -0
  121. package/dist/gs/unicode/index.js.map +1 -0
  122. package/dist/gs/unicode/unicode.d.ts +105 -0
  123. package/dist/gs/unicode/unicode.js +332 -0
  124. package/dist/gs/unicode/unicode.js.map +1 -0
  125. package/dist/gs/unicode/utf8/index.d.ts +1 -0
  126. package/dist/gs/unicode/utf8/index.js +3 -0
  127. package/dist/gs/unicode/utf8/index.js.map +1 -0
  128. package/dist/gs/unicode/utf8/utf8.d.ts +20 -0
  129. package/dist/gs/unicode/utf8/utf8.js +196 -0
  130. package/dist/gs/unicode/utf8/utf8.js.map +1 -0
  131. package/dist/gs/unsafe/index.d.ts +1 -0
  132. package/dist/gs/unsafe/index.js +2 -0
  133. package/dist/gs/unsafe/index.js.map +1 -0
  134. package/dist/gs/unsafe/unsafe.d.ts +11 -0
  135. package/dist/gs/unsafe/unsafe.js +44 -0
  136. package/dist/gs/unsafe/unsafe.js.map +1 -0
  137. package/go.mod +2 -1
  138. package/go.sum +6 -2
  139. package/gs/README.md +6 -0
  140. package/gs/builtin/builtin.ts +171 -0
  141. package/gs/builtin/channel.ts +683 -0
  142. package/gs/builtin/defer.ts +58 -0
  143. package/gs/builtin/index.ts +1 -0
  144. package/gs/builtin/io.ts +22 -0
  145. package/gs/builtin/map.ts +50 -0
  146. package/gs/builtin/slice.ts +1030 -0
  147. package/gs/builtin/type.ts +1106 -0
  148. package/gs/builtin/varRef.ts +25 -0
  149. package/gs/cmp/godoc.txt +8 -0
  150. package/gs/cmp/index.ts +29 -0
  151. package/gs/context/context.ts +401 -0
  152. package/gs/context/godoc.txt +69 -0
  153. package/gs/context/index.ts +1 -0
  154. package/gs/errors/errors.ts +223 -0
  155. package/gs/errors/godoc.txt +63 -0
  156. package/gs/errors/index.ts +1 -0
  157. package/gs/internal/goarch/godoc.txt +39 -0
  158. package/gs/internal/goarch/index.ts +18 -0
  159. package/gs/internal/oserror/errors.ts +14 -0
  160. package/gs/internal/oserror/index.ts +1 -0
  161. package/gs/io/fs/format.ts +65 -0
  162. package/gs/io/fs/fs.ts +359 -0
  163. package/gs/io/fs/glob.ts +167 -0
  164. package/gs/io/fs/godoc.txt +35 -0
  165. package/gs/io/fs/index.ts +8 -0
  166. package/gs/io/fs/readdir.ts +126 -0
  167. package/gs/io/fs/readfile.ts +77 -0
  168. package/gs/io/fs/stat.ts +38 -0
  169. package/gs/io/fs/sub.ts +208 -0
  170. package/gs/io/fs/walk.ts +89 -0
  171. package/gs/io/godoc.txt +61 -0
  172. package/gs/io/index.ts +1 -0
  173. package/gs/io/io.go +75 -0
  174. package/gs/io/io.ts +546 -0
  175. package/gs/iter/godoc.txt +203 -0
  176. package/gs/iter/index.ts +1 -0
  177. package/gs/iter/iter.ts +117 -0
  178. package/gs/math/bits/index.ts +356 -0
  179. package/gs/math/godoc.txt +76 -0
  180. package/gs/path/index.ts +2 -0
  181. package/gs/path/match.ts +307 -0
  182. package/gs/path/path.ts +301 -0
  183. package/gs/runtime/godoc.txt +331 -0
  184. package/gs/runtime/index.ts +1 -0
  185. package/gs/runtime/runtime.ts +178 -0
  186. package/gs/slices/godoc.txt +44 -0
  187. package/gs/slices/index.ts +1 -0
  188. package/gs/slices/slices.ts +22 -0
  189. package/gs/strings/builder.test.ts +121 -0
  190. package/gs/strings/builder.ts +223 -0
  191. package/gs/strings/clone.test.ts +43 -0
  192. package/gs/strings/clone.ts +17 -0
  193. package/gs/strings/compare.test.ts +84 -0
  194. package/gs/strings/compare.ts +13 -0
  195. package/gs/strings/godoc.txt +66 -0
  196. package/gs/strings/index.ts +2 -0
  197. package/gs/strings/iter.test.ts +343 -0
  198. package/gs/strings/iter.ts +171 -0
  199. package/gs/strings/reader.test.ts +242 -0
  200. package/gs/strings/reader.ts +451 -0
  201. package/gs/strings/replace.test.ts +181 -0
  202. package/gs/strings/replace.ts +1310 -0
  203. package/gs/strings/search.test.ts +214 -0
  204. package/gs/strings/search.ts +213 -0
  205. package/gs/strings/strings.test.ts +477 -0
  206. package/gs/strings/strings.ts +510 -0
  207. package/gs/stringslite/godoc.txt +17 -0
  208. package/gs/stringslite/index.ts +1 -0
  209. package/gs/stringslite/strings.ts +82 -0
  210. package/gs/sync/godoc.txt +21 -0
  211. package/gs/sync/index.ts +1 -0
  212. package/gs/sync/sync.go +64 -0
  213. package/gs/sync/sync.ts +449 -0
  214. package/gs/time/godoc.txt +116 -0
  215. package/gs/time/index.ts +1 -0
  216. package/gs/time/time.ts +585 -0
  217. package/gs/unicode/godoc.txt +52 -0
  218. package/gs/unicode/index.ts +1 -0
  219. package/gs/unicode/unicode.go +38 -0
  220. package/gs/unicode/unicode.ts +418 -0
  221. package/gs/unicode/utf8/godoc.txt +22 -0
  222. package/gs/unicode/utf8/index.ts +2 -0
  223. package/gs/unicode/utf8/utf8.ts +227 -0
  224. package/gs/unsafe/godoc.txt +19 -0
  225. package/gs/unsafe/index.ts +1 -0
  226. package/gs/unsafe/unsafe.test.ts +68 -0
  227. package/gs/unsafe/unsafe.ts +77 -0
  228. package/package.json +4 -3
@@ -0,0 +1,385 @@
1
+ // Package io provides basic interfaces to I/O primitives.
2
+ // Its primary job is to wrap existing implementations of such primitives,
3
+ // such as those in package os, into shared public interfaces that abstract
4
+ // the functionality, plus some other related primitives.
5
+ // Simple error implementation for io package
6
+ class IOError {
7
+ message;
8
+ constructor(message) {
9
+ this.message = message;
10
+ }
11
+ Error() {
12
+ return this.message;
13
+ }
14
+ toString() {
15
+ return this.message;
16
+ }
17
+ }
18
+ function newError(message) {
19
+ return new IOError(message);
20
+ }
21
+ // Error variables
22
+ export const EOF = newError('EOF');
23
+ export const ErrClosedPipe = newError('io: read/write on closed pipe');
24
+ export const ErrNoProgress = newError('multiple Read calls return no data or error');
25
+ export const ErrShortBuffer = newError('short buffer');
26
+ export const ErrShortWrite = newError('short write');
27
+ export const ErrUnexpectedEOF = newError('unexpected EOF');
28
+ // Seek whence values
29
+ export const SeekStart = 0; // seek relative to the origin of the file
30
+ export const SeekCurrent = 1; // seek relative to the current offset
31
+ export const SeekEnd = 2; // seek relative to the end
32
+ // Discard is a Writer on which all Write calls succeed without doing anything
33
+ class DiscardWriter {
34
+ Write(p) {
35
+ return [p.length, null];
36
+ }
37
+ }
38
+ export const Discard = new DiscardWriter();
39
+ // WriteString writes the contents of the string s to w, which accepts a slice of bytes
40
+ export function WriteString(w, s) {
41
+ // Check if w implements StringWriter interface
42
+ if ('WriteString' in w && typeof w.WriteString === 'function') {
43
+ return w.WriteString(s);
44
+ }
45
+ // Convert string to bytes and write
46
+ const bytes = new TextEncoder().encode(s);
47
+ return w.Write(bytes);
48
+ }
49
+ // LimitedReader reads from R but limits the amount of data returned to just N bytes
50
+ export class LimitedReader {
51
+ R;
52
+ N;
53
+ constructor(r, n) {
54
+ this.R = r;
55
+ this.N = n;
56
+ }
57
+ Read(p) {
58
+ if (this.N <= 0) {
59
+ return [0, EOF];
60
+ }
61
+ let readBuf = p;
62
+ if (p.length > this.N) {
63
+ readBuf = p.subarray(0, this.N);
64
+ }
65
+ const [n, err] = this.R.Read(readBuf);
66
+ this.N -= n;
67
+ return [n, err];
68
+ }
69
+ }
70
+ // LimitReader returns a Reader that reads from r but stops with EOF after n bytes
71
+ export function LimitReader(r, n) {
72
+ return new LimitedReader(r, n);
73
+ }
74
+ // SectionReader implements Read, Seek, and ReadAt on a section of an underlying ReaderAt
75
+ export class SectionReader {
76
+ r;
77
+ base;
78
+ off;
79
+ limit;
80
+ constructor(r, off, n) {
81
+ this.r = r;
82
+ this.base = off;
83
+ this.off = off;
84
+ this.limit = off + n;
85
+ }
86
+ Read(p) {
87
+ if (this.off >= this.limit) {
88
+ return [0, EOF];
89
+ }
90
+ let max = this.limit - this.off;
91
+ if (p.length > max) {
92
+ p = p.subarray(0, max);
93
+ }
94
+ const [n, err] = this.r.ReadAt(p, this.off);
95
+ this.off += n;
96
+ return [n, err];
97
+ }
98
+ Seek(offset, whence) {
99
+ let abs;
100
+ switch (whence) {
101
+ case SeekStart:
102
+ abs = this.base + offset;
103
+ break;
104
+ case SeekCurrent:
105
+ abs = this.off + offset;
106
+ break;
107
+ case SeekEnd:
108
+ abs = this.limit + offset;
109
+ break;
110
+ default:
111
+ return [0, newError('io.SectionReader.Seek: invalid whence')];
112
+ }
113
+ if (abs < this.base) {
114
+ return [0, newError('io.SectionReader.Seek: negative position')];
115
+ }
116
+ this.off = abs;
117
+ return [abs - this.base, null];
118
+ }
119
+ ReadAt(p, off) {
120
+ if (off < 0 || off >= this.limit - this.base) {
121
+ return [0, EOF];
122
+ }
123
+ off += this.base;
124
+ if (off + p.length > this.limit) {
125
+ p = p.subarray(0, this.limit - off);
126
+ const [n, err] = this.r.ReadAt(p, off);
127
+ if (err === null) {
128
+ return [n, EOF];
129
+ }
130
+ return [n, err];
131
+ }
132
+ return this.r.ReadAt(p, off);
133
+ }
134
+ Size() {
135
+ return this.limit - this.base;
136
+ }
137
+ }
138
+ // NewSectionReader returns a SectionReader that reads from r starting at offset off and stops with EOF after n bytes
139
+ export function NewSectionReader(r, off, n) {
140
+ return new SectionReader(r, off, n);
141
+ }
142
+ // OffsetWriter maps writes at offset base to offset base+off in the underlying writer
143
+ export class OffsetWriter {
144
+ w;
145
+ base;
146
+ off;
147
+ constructor(w, off) {
148
+ this.w = w;
149
+ this.base = off;
150
+ this.off = 0;
151
+ }
152
+ Write(p) {
153
+ const [n, err] = this.w.WriteAt(p, this.base + this.off);
154
+ this.off += n;
155
+ return [n, err];
156
+ }
157
+ WriteAt(p, off) {
158
+ if (off < 0) {
159
+ return [0, newError('io.OffsetWriter.WriteAt: negative offset')];
160
+ }
161
+ return this.w.WriteAt(p, this.base + off);
162
+ }
163
+ Seek(offset, whence) {
164
+ let abs;
165
+ switch (whence) {
166
+ case SeekStart:
167
+ abs = offset;
168
+ break;
169
+ case SeekCurrent:
170
+ abs = this.off + offset;
171
+ break;
172
+ default:
173
+ return [0, newError('io.OffsetWriter.Seek: invalid whence')];
174
+ }
175
+ if (abs < 0) {
176
+ return [0, newError('io.OffsetWriter.Seek: negative position')];
177
+ }
178
+ this.off = abs;
179
+ return [abs, null];
180
+ }
181
+ }
182
+ // NewOffsetWriter returns an OffsetWriter that writes to w starting at offset off
183
+ export function NewOffsetWriter(w, off) {
184
+ return new OffsetWriter(w, off);
185
+ }
186
+ // Copy copies from src to dst until either EOF is reached on src or an error occurs
187
+ export function Copy(dst, src) {
188
+ return CopyBuffer(dst, src, null);
189
+ }
190
+ // CopyBuffer is identical to Copy except that it stages through the provided buffer
191
+ export function CopyBuffer(dst, src, buf) {
192
+ // If src implements WriterTo, use it
193
+ if ('WriteTo' in src && typeof src.WriteTo === 'function') {
194
+ return src.WriteTo(dst);
195
+ }
196
+ // If dst implements ReaderFrom, use it
197
+ if ('ReadFrom' in dst && typeof dst.ReadFrom === 'function') {
198
+ return dst.ReadFrom(src);
199
+ }
200
+ if (buf === null) {
201
+ buf = new Uint8Array(32 * 1024); // 32KB default buffer
202
+ }
203
+ let written = 0;
204
+ while (true) {
205
+ const [nr, er] = src.Read(buf);
206
+ if (nr > 0) {
207
+ const [nw, ew] = dst.Write(buf.subarray(0, nr));
208
+ if (nw < 0 || nr < nw) {
209
+ if (ew === null) {
210
+ return [written, ErrShortWrite];
211
+ }
212
+ return [written, ew];
213
+ }
214
+ written += nw;
215
+ if (ew !== null) {
216
+ return [written, ew];
217
+ }
218
+ if (nr !== nw) {
219
+ return [written, ErrShortWrite];
220
+ }
221
+ }
222
+ if (er !== null) {
223
+ if (er === EOF) {
224
+ break;
225
+ }
226
+ return [written, er];
227
+ }
228
+ }
229
+ return [written, null];
230
+ }
231
+ // CopyN copies n bytes (or until an error) from src to dst
232
+ export function CopyN(dst, src, n) {
233
+ const [written, err] = Copy(dst, LimitReader(src, n));
234
+ if (written === n) {
235
+ return [written, null];
236
+ }
237
+ if (written < n && err === null) {
238
+ // src stopped early; must have been EOF
239
+ return [written, EOF];
240
+ }
241
+ return [written, err];
242
+ }
243
+ // ReadAtLeast reads from r into buf until it has read at least min bytes
244
+ export function ReadAtLeast(r, buf, min) {
245
+ if (buf.length < min) {
246
+ return [0, ErrShortBuffer];
247
+ }
248
+ let n = 0;
249
+ while (n < min) {
250
+ const [nn, err] = r.Read(buf.subarray(n));
251
+ n += nn;
252
+ if (err !== null) {
253
+ if (err === EOF && n >= min) {
254
+ return [n, null];
255
+ }
256
+ if (err === EOF && n < min) {
257
+ return [n, ErrUnexpectedEOF];
258
+ }
259
+ return [n, err];
260
+ }
261
+ }
262
+ return [n, null];
263
+ }
264
+ // ReadFull reads exactly len(buf) bytes from r into buf
265
+ export function ReadFull(r, buf) {
266
+ return ReadAtLeast(r, buf, buf.length);
267
+ }
268
+ // ReadAll reads from r until an error or EOF and returns the data it read
269
+ export function ReadAll(r) {
270
+ const chunks = [];
271
+ let totalLength = 0;
272
+ const buf = new Uint8Array(512);
273
+ while (true) {
274
+ const [n, err] = r.Read(buf);
275
+ if (n > 0) {
276
+ chunks.push(buf.subarray(0, n));
277
+ totalLength += n;
278
+ }
279
+ if (err !== null) {
280
+ if (err === EOF) {
281
+ break;
282
+ }
283
+ return [new Uint8Array(0), err];
284
+ }
285
+ }
286
+ // Combine all chunks
287
+ const result = new Uint8Array(totalLength);
288
+ let offset = 0;
289
+ for (const chunk of chunks) {
290
+ result.set(chunk, offset);
291
+ offset += chunk.length;
292
+ }
293
+ return [result, null];
294
+ }
295
+ // NopCloser returns a ReadCloser with a no-op Close method wrapping the provided Reader r
296
+ export function NopCloser(r) {
297
+ return {
298
+ Read: r.Read.bind(r),
299
+ Close: () => null,
300
+ };
301
+ }
302
+ // MultiReader returns a Reader that's the logical concatenation of the provided input readers
303
+ export function MultiReader(...readers) {
304
+ return new multiReader(readers.slice());
305
+ }
306
+ class multiReader {
307
+ readers;
308
+ constructor(readers) {
309
+ this.readers = readers;
310
+ }
311
+ Read(p) {
312
+ while (this.readers.length > 0) {
313
+ if (this.readers.length === 1) {
314
+ // Optimization for single reader
315
+ const r = this.readers[0];
316
+ const [n, err] = r.Read(p);
317
+ if (err === EOF) {
318
+ this.readers = [];
319
+ }
320
+ return [n, err];
321
+ }
322
+ const [n, err] = this.readers[0].Read(p);
323
+ if (err === EOF) {
324
+ this.readers.shift(); // Remove first reader
325
+ continue;
326
+ }
327
+ if (n > 0 || err !== EOF) {
328
+ if (err === EOF && this.readers.length > 1) {
329
+ // Don't return EOF if there are more readers
330
+ return [n, null];
331
+ }
332
+ return [n, err];
333
+ }
334
+ }
335
+ return [0, EOF];
336
+ }
337
+ }
338
+ // MultiWriter creates a writer that duplicates its writes to all the provided writers
339
+ export function MultiWriter(...writers) {
340
+ return new multiWriter(writers.slice());
341
+ }
342
+ class multiWriter {
343
+ writers;
344
+ constructor(writers) {
345
+ this.writers = writers;
346
+ }
347
+ Write(p) {
348
+ for (const w of this.writers) {
349
+ const [n, err] = w.Write(p);
350
+ if (err !== null) {
351
+ return [n, err];
352
+ }
353
+ if (n !== p.length) {
354
+ return [n, ErrShortWrite];
355
+ }
356
+ }
357
+ return [p.length, null];
358
+ }
359
+ }
360
+ // TeeReader returns a Reader that writes to w what it reads from r
361
+ export function TeeReader(r, w) {
362
+ return new teeReader(r, w);
363
+ }
364
+ class teeReader {
365
+ r;
366
+ w;
367
+ constructor(r, w) {
368
+ this.r = r;
369
+ this.w = w;
370
+ }
371
+ Read(p) {
372
+ const [n, err] = this.r.Read(p);
373
+ if (n > 0) {
374
+ const [nw, ew] = this.w.Write(p.subarray(0, n));
375
+ if (ew !== null) {
376
+ return [n, ew];
377
+ }
378
+ if (nw !== n) {
379
+ return [n, ErrShortWrite];
380
+ }
381
+ }
382
+ return [n, err];
383
+ }
384
+ }
385
+ //# sourceMappingURL=io.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"io.js","sourceRoot":"","sources":["../../../gs/io/io.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { ErrBadPattern, Match } from "./match.js";
2
+ export { Base, Clean, Dir, Ext, IsAbs, Join, Split } from "./path.js";
@@ -0,0 +1,3 @@
1
+ export { ErrBadPattern, Match } from "./match.js";
2
+ export { Base, Clean, Dir, Ext, IsAbs, Join, Split } from "./path.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../gs/path/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA"}
@@ -0,0 +1,6 @@
1
+ import * as $ from "@goscript/builtin/builtin.js";
2
+ export declare let ErrBadPattern: $.GoError;
3
+ export declare function Match(pattern: string, name: string): [boolean, $.GoError];
4
+ export declare function scanChunk(pattern: string): [boolean, string, string];
5
+ export declare function matchChunk(chunk: string, s: string): [string, boolean, $.GoError];
6
+ export declare function getEsc(chunk: string): [number, string, $.GoError];