goscript 0.0.38 → 0.0.39

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 (116) hide show
  1. package/compiler/expr-call.go +12 -0
  2. package/compiler/lit.go +17 -6
  3. package/dist/gs/builtin/builtin.d.ts +45 -0
  4. package/dist/gs/builtin/builtin.js +197 -0
  5. package/dist/gs/builtin/builtin.js.map +1 -1
  6. package/dist/gs/bytes/buffer.gs.d.ts +56 -0
  7. package/dist/gs/bytes/buffer.gs.js +611 -0
  8. package/dist/gs/bytes/buffer.gs.js.map +1 -0
  9. package/dist/gs/bytes/bytes.gs.d.ts +78 -0
  10. package/dist/gs/bytes/bytes.gs.js +1011 -0
  11. package/dist/gs/bytes/bytes.gs.js.map +1 -0
  12. package/dist/gs/bytes/index.d.ts +4 -0
  13. package/dist/gs/bytes/index.js +5 -0
  14. package/dist/gs/bytes/index.js.map +1 -0
  15. package/dist/gs/bytes/iter.gs.d.ts +9 -0
  16. package/dist/gs/bytes/iter.gs.js +143 -0
  17. package/dist/gs/bytes/iter.gs.js.map +1 -0
  18. package/dist/gs/bytes/reader.gs.d.ts +34 -0
  19. package/dist/gs/bytes/reader.gs.js +198 -0
  20. package/dist/gs/bytes/reader.gs.js.map +1 -0
  21. package/dist/gs/internal/bytealg/index.d.ts +14 -2
  22. package/dist/gs/internal/bytealg/index.js +114 -8
  23. package/dist/gs/internal/bytealg/index.js.map +1 -1
  24. package/dist/gs/reflect/deepequal.d.ts +2 -1
  25. package/dist/gs/reflect/deepequal.js +5 -53
  26. package/dist/gs/reflect/deepequal.js.map +1 -1
  27. package/dist/gs/reflect/map.d.ts +14 -8
  28. package/dist/gs/reflect/map.js +15 -11
  29. package/dist/gs/reflect/map.js.map +1 -1
  30. package/dist/gs/reflect/type.d.ts +17 -9
  31. package/dist/gs/reflect/type.js +1 -1
  32. package/dist/gs/reflect/type.js.map +1 -1
  33. package/dist/gs/reflect/value.js +2 -1
  34. package/dist/gs/reflect/value.js.map +1 -1
  35. package/dist/gs/reflect/visiblefields.js +18 -12
  36. package/dist/gs/reflect/visiblefields.js.map +1 -1
  37. package/dist/gs/unicode/utf8/utf8.d.ts +1 -1
  38. package/dist/gs/unicode/utf8/utf8.js +4 -2
  39. package/dist/gs/unicode/utf8/utf8.js.map +1 -1
  40. package/gs/builtin/builtin.ts +219 -0
  41. package/gs/bytes/buffer.gs.ts +614 -0
  42. package/gs/bytes/bytes.gs.ts +1180 -0
  43. package/gs/bytes/godoc.txt +69 -0
  44. package/gs/bytes/index.ts +69 -0
  45. package/gs/bytes/iter.gs.ts +149 -0
  46. package/gs/bytes/reader.gs.ts +230 -0
  47. package/gs/internal/bytealg/index.ts +125 -10
  48. package/gs/reflect/deepequal.test.ts +41 -0
  49. package/gs/reflect/deepequal.ts +19 -4
  50. package/gs/reflect/map.test.ts +30 -0
  51. package/gs/reflect/map.ts +22 -18
  52. package/gs/reflect/type.ts +19 -15
  53. package/gs/reflect/value.ts +8 -2
  54. package/gs/reflect/visiblefields.ts +17 -13
  55. package/gs/unicode/utf8/utf8.ts +8 -5
  56. package/package.json +1 -1
  57. package/dist/gs/internal/testlog/index.d.ts +0 -1
  58. package/dist/gs/internal/testlog/index.js +0 -5
  59. package/dist/gs/internal/testlog/index.js.map +0 -1
  60. package/dist/gs/maps/iter.gs.d.ts +0 -7
  61. package/dist/gs/maps/iter.gs.js +0 -65
  62. package/dist/gs/maps/iter.gs.js.map +0 -1
  63. package/dist/gs/maps/maps.gs.d.ts +0 -7
  64. package/dist/gs/maps/maps.gs.js +0 -79
  65. package/dist/gs/maps/maps.gs.js.map +0 -1
  66. package/dist/gs/reflect/abi.d.ts +0 -59
  67. package/dist/gs/reflect/abi.gs.d.ts +0 -59
  68. package/dist/gs/reflect/abi.gs.js +0 -79
  69. package/dist/gs/reflect/abi.gs.js.map +0 -1
  70. package/dist/gs/reflect/abi.js +0 -79
  71. package/dist/gs/reflect/abi.js.map +0 -1
  72. package/dist/gs/reflect/badlinkname.d.ts +0 -52
  73. package/dist/gs/reflect/badlinkname.gs.d.ts +0 -52
  74. package/dist/gs/reflect/badlinkname.gs.js +0 -72
  75. package/dist/gs/reflect/badlinkname.gs.js.map +0 -1
  76. package/dist/gs/reflect/badlinkname.js +0 -72
  77. package/dist/gs/reflect/badlinkname.js.map +0 -1
  78. package/dist/gs/reflect/deepequal.gs.d.ts +0 -25
  79. package/dist/gs/reflect/deepequal.gs.js +0 -308
  80. package/dist/gs/reflect/deepequal.gs.js.map +0 -1
  81. package/dist/gs/reflect/float32reg_generic.gs.d.ts +0 -2
  82. package/dist/gs/reflect/float32reg_generic.gs.js +0 -10
  83. package/dist/gs/reflect/float32reg_generic.gs.js.map +0 -1
  84. package/dist/gs/reflect/index.gs.d.ts +0 -1
  85. package/dist/gs/reflect/index.gs.js +0 -3
  86. package/dist/gs/reflect/index.gs.js.map +0 -1
  87. package/dist/gs/reflect/iter.gs.d.ts +0 -3
  88. package/dist/gs/reflect/iter.gs.js +0 -24
  89. package/dist/gs/reflect/iter.gs.js.map +0 -1
  90. package/dist/gs/reflect/makefunc.gs.d.ts +0 -34
  91. package/dist/gs/reflect/makefunc.gs.js +0 -288
  92. package/dist/gs/reflect/makefunc.gs.js.map +0 -1
  93. package/dist/gs/reflect/map_swiss.gs.d.ts +0 -14
  94. package/dist/gs/reflect/map_swiss.gs.js +0 -70
  95. package/dist/gs/reflect/map_swiss.gs.js.map +0 -1
  96. package/dist/gs/reflect/reflect.gs.d.ts +0 -132
  97. package/dist/gs/reflect/reflect.gs.js +0 -437
  98. package/dist/gs/reflect/reflect.gs.js.map +0 -1
  99. package/dist/gs/reflect/swapper.gs.d.ts +0 -1
  100. package/dist/gs/reflect/swapper.gs.js +0 -32
  101. package/dist/gs/reflect/swapper.gs.js.map +0 -1
  102. package/dist/gs/reflect/type.gs.d.ts +0 -4
  103. package/dist/gs/reflect/type.gs.js +0 -21
  104. package/dist/gs/reflect/type.gs.js.map +0 -1
  105. package/dist/gs/reflect/value.gs.d.ts +0 -4
  106. package/dist/gs/reflect/value.gs.js +0 -12
  107. package/dist/gs/reflect/value.gs.js.map +0 -1
  108. package/dist/gs/reflect/visiblefields.gs.d.ts +0 -3
  109. package/dist/gs/reflect/visiblefields.gs.js +0 -123
  110. package/dist/gs/reflect/visiblefields.gs.js.map +0 -1
  111. package/dist/gs/stringslite/index.d.ts +0 -1
  112. package/dist/gs/stringslite/index.js +0 -2
  113. package/dist/gs/stringslite/index.js.map +0 -1
  114. package/dist/gs/stringslite/strings.d.ts +0 -11
  115. package/dist/gs/stringslite/strings.js +0 -67
  116. package/dist/gs/stringslite/strings.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"visiblefields.js","sourceRoot":"","sources":["../../../gs/reflect/visiblefields.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"visiblefields.js","sourceRoot":"","sources":["../../../gs/reflect/visiblefields.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ export declare const UTFMax = 4;
6
6
  export declare function AppendRune(p: Uint8Array, r: number): Uint8Array;
7
7
  export declare function DecodeLastRune(p: Uint8Array): [number, number];
8
8
  export declare function DecodeLastRuneInString(s: string): [number, number];
9
- export declare function DecodeRune(p: Uint8Array): [number, number];
9
+ export declare function DecodeRune(p: $.Bytes): [number, number];
10
10
  export declare function DecodeRuneInString(s: string): [number, number];
11
11
  export declare function EncodeRune(p: Uint8Array | $.Slice<number>, r: number): number;
12
12
  export declare function FullRune(p: Uint8Array): boolean;
@@ -51,15 +51,17 @@ export function DecodeLastRuneInString(s) {
51
51
  }
52
52
  // DecodeRune unpacks the first UTF-8 encoding in p and returns the rune and its width in bytes.
53
53
  export function DecodeRune(p) {
54
- if (p.length === 0) {
54
+ if (!p?.length) {
55
55
  return [RuneError, 0];
56
56
  }
57
57
  if (p[0] < RuneSelf) {
58
58
  return [p[0], 1];
59
59
  }
60
+ // Convert p to Uint8Array to satisfy AllowsSharedBufferSource requirement
61
+ const bytes = $.normalizeBytes(p);
60
62
  // Convert bytes to string and decode
61
63
  const decoder = new TextDecoder('utf-8', { fatal: false });
62
- const str = decoder.decode(p.slice(0, Math.min(4, p.length)));
64
+ const str = decoder.decode(bytes.slice(0, Math.min(4, bytes.length)));
63
65
  if (str.length === 0 || str === '\uFFFD') {
64
66
  return [RuneError, 1];
65
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utf8.js","sourceRoot":"","sources":["../../../../gs/unicode/utf8/utf8.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utf8.js","sourceRoot":"","sources":["../../../../gs/unicode/utf8/utf8.ts"],"names":[],"mappings":"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"}
@@ -209,3 +209,222 @@ export function sortSlice<T extends string | number>(s: Slice<T>): void {
209
209
  return
210
210
  }
211
211
  }
212
+
213
+ /**
214
+ * bytesEqual efficiently compares two byte slices for equality.
215
+ * Optimized for different byte representations.
216
+ */
217
+ export function bytesEqual(a: Bytes | null, b: Bytes | null): boolean {
218
+ // Handle null cases
219
+ if (a === null && b === null) return true
220
+ if (a === null || b === null) return false
221
+
222
+ // Convert to arrays for comparison
223
+ const aArr = bytesToArray(a)
224
+ const bArr = bytesToArray(b)
225
+
226
+ if (aArr.length !== bArr.length) return false
227
+
228
+ for (let i = 0; i < aArr.length; i++) {
229
+ if (aArr[i] !== bArr[i]) return false
230
+ }
231
+
232
+ return true
233
+ }
234
+
235
+ /**
236
+ * bytesCompare compares two byte slices lexicographically.
237
+ * Returns -1 if a < b, 0 if a == b, +1 if a > b.
238
+ */
239
+ export function bytesCompare(a: Bytes | null, b: Bytes | null): number {
240
+ // Handle null cases
241
+ if (a === null && b === null) return 0
242
+ if (a === null) return -1
243
+ if (b === null) return 1
244
+
245
+ const aArr = bytesToArray(a)
246
+ const bArr = bytesToArray(b)
247
+
248
+ const minLen = Math.min(aArr.length, bArr.length)
249
+
250
+ for (let i = 0; i < minLen; i++) {
251
+ if (aArr[i] < bArr[i]) return -1
252
+ if (aArr[i] > bArr[i]) return 1
253
+ }
254
+
255
+ if (aArr.length < bArr.length) return -1
256
+ if (aArr.length > bArr.length) return 1
257
+ return 0
258
+ }
259
+
260
+ /**
261
+ * bytesToArray converts any Bytes representation to a number array.
262
+ */
263
+ export function bytesToArray(bytes: Bytes | null): number[] {
264
+ if (bytes === null) return []
265
+
266
+ if (bytes instanceof Uint8Array) {
267
+ return Array.from(bytes)
268
+ }
269
+
270
+ if (Array.isArray(bytes)) {
271
+ return bytes
272
+ }
273
+
274
+ // Handle SliceProxy
275
+ if (isSliceProxy(bytes)) {
276
+ const proxy = bytes as SliceProxy<number>
277
+ const meta = proxy.__meta__
278
+ return meta.backing.slice(meta.offset, meta.offset + meta.length)
279
+ }
280
+
281
+ throw new Error(`Cannot convert bytes of type ${typeof bytes} to array`)
282
+ }
283
+
284
+ /**
285
+ * bytesToUint8Array converts any Bytes representation to a Uint8Array.
286
+ */
287
+ export function bytesToUint8Array(bytes: Bytes | null): Uint8Array {
288
+ if (bytes === null) return new Uint8Array(0)
289
+
290
+ if (bytes instanceof Uint8Array) {
291
+ return bytes
292
+ }
293
+
294
+ return new Uint8Array(bytesToArray(bytes))
295
+ }
296
+
297
+ /**
298
+ * bytesIndexOf finds the first occurrence of subslice in bytes.
299
+ * Returns -1 if not found.
300
+ */
301
+ export function bytesIndexOf(
302
+ bytes: Bytes | null,
303
+ subslice: Bytes | null,
304
+ ): number {
305
+ if (bytes === null || subslice === null) return -1
306
+
307
+ const haystack = bytesToArray(bytes)
308
+ const needle = bytesToArray(subslice)
309
+
310
+ if (needle.length === 0) return 0
311
+ if (needle.length > haystack.length) return -1
312
+
313
+ for (let i = 0; i <= haystack.length - needle.length; i++) {
314
+ let found = true
315
+ for (let j = 0; j < needle.length; j++) {
316
+ if (haystack[i + j] !== needle[j]) {
317
+ found = false
318
+ break
319
+ }
320
+ }
321
+ if (found) return i
322
+ }
323
+
324
+ return -1
325
+ }
326
+
327
+ /**
328
+ * bytesLastIndexOf finds the last occurrence of subslice in bytes.
329
+ * Returns -1 if not found.
330
+ */
331
+ export function bytesLastIndexOf(
332
+ bytes: Bytes | null,
333
+ subslice: Bytes | null,
334
+ ): number {
335
+ if (bytes === null || subslice === null) return -1
336
+
337
+ const haystack = bytesToArray(bytes)
338
+ const needle = bytesToArray(subslice)
339
+
340
+ if (needle.length === 0) return haystack.length
341
+ if (needle.length > haystack.length) return -1
342
+
343
+ for (let i = haystack.length - needle.length; i >= 0; i--) {
344
+ let found = true
345
+ for (let j = 0; j < needle.length; j++) {
346
+ if (haystack[i + j] !== needle[j]) {
347
+ found = false
348
+ break
349
+ }
350
+ }
351
+ if (found) return i
352
+ }
353
+
354
+ return -1
355
+ }
356
+
357
+ /**
358
+ * bytesIndexByte finds the first occurrence of byte c in bytes.
359
+ * Returns -1 if not found.
360
+ */
361
+ export function bytesIndexByte(bytes: Bytes | null, c: number): number {
362
+ if (bytes === null) return -1
363
+
364
+ const arr = bytesToArray(bytes)
365
+ return arr.indexOf(c)
366
+ }
367
+
368
+ /**
369
+ * bytesLastIndexByte finds the last occurrence of byte c in bytes.
370
+ * Returns -1 if not found.
371
+ */
372
+ export function bytesLastIndexByte(bytes: Bytes | null, c: number): number {
373
+ if (bytes === null) return -1
374
+
375
+ const arr = bytesToArray(bytes)
376
+ return arr.lastIndexOf(c)
377
+ }
378
+
379
+ /**
380
+ * bytesCount counts non-overlapping instances of sep in bytes.
381
+ */
382
+ export function bytesCount(bytes: Bytes | null, sep: Bytes | null): number {
383
+ if (bytes === null || sep === null) return 0
384
+
385
+ const haystack = bytesToArray(bytes)
386
+ const needle = bytesToArray(sep)
387
+
388
+ if (needle.length === 0) {
389
+ // Special case: empty separator counts code points + 1
390
+ // For now, just return length + 1 (ASCII assumption)
391
+ return haystack.length + 1
392
+ }
393
+
394
+ let count = 0
395
+ let pos = 0
396
+
397
+ while (pos <= haystack.length - needle.length) {
398
+ let found = true
399
+ for (let i = 0; i < needle.length; i++) {
400
+ if (haystack[pos + i] !== needle[i]) {
401
+ found = false
402
+ break
403
+ }
404
+ }
405
+ if (found) {
406
+ count++
407
+ pos += needle.length
408
+ } else {
409
+ pos++
410
+ }
411
+ }
412
+
413
+ return count
414
+ }
415
+
416
+ // Math functions needed by various packages
417
+ export function min(a: number, b: number): number {
418
+ return Math.min(a, b)
419
+ }
420
+
421
+ export function max(a: number, b: number): number {
422
+ return Math.max(a, b)
423
+ }
424
+
425
+ // Panic recovery function (simplified implementation)
426
+ export function recover(): any {
427
+ // In a real implementation, this would interact with Go's panic/recover mechanism
428
+ // For now, return null to indicate no panic was recovered
429
+ return null
430
+ }