goscript 0.0.61 → 0.0.63

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 (92) hide show
  1. package/README.md +62 -46
  2. package/compiler/analysis.go +621 -19
  3. package/compiler/analysis_test.go +3 -3
  4. package/compiler/assignment.go +100 -0
  5. package/compiler/builtin_test.go +1 -1
  6. package/compiler/compiler.go +76 -16
  7. package/compiler/compiler_test.go +9 -9
  8. package/compiler/composite-lit.go +29 -8
  9. package/compiler/decl.go +20 -11
  10. package/compiler/expr-call-async.go +26 -1
  11. package/compiler/expr-call-builtins.go +60 -4
  12. package/compiler/expr-call-type-conversion.go +37 -5
  13. package/compiler/expr-call.go +26 -6
  14. package/compiler/expr-selector.go +35 -2
  15. package/compiler/expr-type.go +12 -2
  16. package/compiler/expr.go +61 -0
  17. package/compiler/index.test.ts +3 -1
  18. package/compiler/lit.go +13 -4
  19. package/compiler/spec-struct.go +30 -8
  20. package/compiler/spec-value.go +2 -2
  21. package/compiler/spec.go +23 -4
  22. package/compiler/stmt-assign.go +124 -0
  23. package/compiler/stmt-range.go +2 -2
  24. package/compiler/stmt.go +160 -14
  25. package/compiler/type-info.go +3 -5
  26. package/compiler/type-utils.go +40 -1
  27. package/compiler/type.go +52 -14
  28. package/dist/gs/builtin/builtin.d.ts +8 -1
  29. package/dist/gs/builtin/builtin.js +26 -1
  30. package/dist/gs/builtin/builtin.js.map +1 -1
  31. package/dist/gs/builtin/errors.d.ts +1 -0
  32. package/dist/gs/builtin/errors.js +8 -0
  33. package/dist/gs/builtin/errors.js.map +1 -1
  34. package/dist/gs/builtin/slice.d.ts +5 -4
  35. package/dist/gs/builtin/slice.js +88 -51
  36. package/dist/gs/builtin/slice.js.map +1 -1
  37. package/dist/gs/builtin/type.d.ts +23 -2
  38. package/dist/gs/builtin/type.js +125 -0
  39. package/dist/gs/builtin/type.js.map +1 -1
  40. package/dist/gs/builtin/varRef.d.ts +3 -0
  41. package/dist/gs/builtin/varRef.js +6 -1
  42. package/dist/gs/builtin/varRef.js.map +1 -1
  43. package/dist/gs/bytes/reader.gs.d.ts +1 -1
  44. package/dist/gs/bytes/reader.gs.js +1 -1
  45. package/dist/gs/bytes/reader.gs.js.map +1 -1
  46. package/dist/gs/reflect/index.d.ts +2 -2
  47. package/dist/gs/reflect/index.js +1 -1
  48. package/dist/gs/reflect/index.js.map +1 -1
  49. package/dist/gs/reflect/map.d.ts +3 -2
  50. package/dist/gs/reflect/map.js +37 -3
  51. package/dist/gs/reflect/map.js.map +1 -1
  52. package/dist/gs/reflect/type.d.ts +53 -12
  53. package/dist/gs/reflect/type.js +906 -31
  54. package/dist/gs/reflect/type.js.map +1 -1
  55. package/dist/gs/reflect/types.d.ts +11 -12
  56. package/dist/gs/reflect/types.js +26 -15
  57. package/dist/gs/reflect/types.js.map +1 -1
  58. package/dist/gs/reflect/value.d.ts +4 -4
  59. package/dist/gs/reflect/value.js +8 -2
  60. package/dist/gs/reflect/value.js.map +1 -1
  61. package/dist/gs/slices/slices.d.ts +21 -0
  62. package/dist/gs/slices/slices.js +48 -0
  63. package/dist/gs/slices/slices.js.map +1 -1
  64. package/dist/gs/strconv/atoi.gs.js +20 -2
  65. package/dist/gs/strconv/atoi.gs.js.map +1 -1
  66. package/dist/gs/sync/atomic/type.gs.d.ts +3 -3
  67. package/dist/gs/sync/atomic/type.gs.js +13 -7
  68. package/dist/gs/sync/atomic/type.gs.js.map +1 -1
  69. package/dist/gs/unicode/utf8/utf8.d.ts +2 -2
  70. package/dist/gs/unicode/utf8/utf8.js +10 -6
  71. package/dist/gs/unicode/utf8/utf8.js.map +1 -1
  72. package/go.mod +6 -6
  73. package/go.sum +12 -8
  74. package/gs/builtin/builtin.ts +27 -2
  75. package/gs/builtin/errors.ts +12 -0
  76. package/gs/builtin/slice.ts +126 -55
  77. package/gs/builtin/type.ts +159 -2
  78. package/gs/builtin/varRef.ts +8 -2
  79. package/gs/bytes/reader.gs.ts +2 -2
  80. package/gs/math/hypot.gs.test.ts +3 -1
  81. package/gs/math/pow10.gs.test.ts +5 -4
  82. package/gs/reflect/index.ts +3 -2
  83. package/gs/reflect/map.test.ts +7 -6
  84. package/gs/reflect/map.ts +49 -7
  85. package/gs/reflect/type.ts +1150 -57
  86. package/gs/reflect/types.ts +34 -21
  87. package/gs/reflect/value.ts +12 -6
  88. package/gs/slices/slices.ts +55 -0
  89. package/gs/strconv/atoi.gs.ts +18 -2
  90. package/gs/sync/atomic/type.gs.ts +15 -10
  91. package/gs/unicode/utf8/utf8.ts +12 -8
  92. package/package.json +23 -14
@@ -78,23 +78,29 @@ export class Pointer {
78
78
  return LoadPointer(x._fields.v);
79
79
  }
80
80
  // Store atomically stores val into x.
81
+ // In Go, this takes *T which can be nil, so we accept VarRef<T> | null
81
82
  Store(val) {
82
83
  const x = this;
83
- const varRef = $.varRef(val);
84
- StorePointer(x._fields.v, unsafe.Pointer(varRef));
84
+ if (val === null) {
85
+ StorePointer(x._fields.v, null);
86
+ }
87
+ else {
88
+ StorePointer(x._fields.v, unsafe.Pointer(val));
89
+ }
85
90
  }
86
91
  // Swap atomically stores new into x and returns the previous value.
92
+ // In Go, this takes *T which can be nil, so we accept VarRef<T> | null
87
93
  Swap(_new) {
88
94
  const x = this;
89
- const varRef = $.varRef(_new);
90
- return SwapPointer(x._fields.v, unsafe.Pointer(varRef));
95
+ if (_new === null) {
96
+ return SwapPointer(x._fields.v, null);
97
+ }
98
+ return SwapPointer(x._fields.v, unsafe.Pointer(_new));
91
99
  }
92
100
  // CompareAndSwap executes the compare-and-swap operation for x.
93
101
  CompareAndSwap(old, _new) {
94
102
  const x = this;
95
- const oldVarRef = $.varRef(old);
96
- const newVarRef = $.varRef(_new);
97
- return CompareAndSwapPointer(x._fields.v, unsafe.Pointer(oldVarRef), unsafe.Pointer(newVarRef));
103
+ return CompareAndSwapPointer(x._fields.v, old ? unsafe.Pointer(old) : null, _new ? unsafe.Pointer(_new) : null);
98
104
  }
99
105
  // Register this type with the runtime type system
100
106
  static __typeInfo = $.registerStructType('Pointer', new Pointer(), [{ name: "Load", args: [], returns: [{ type: { kind: $.TypeKind.Pointer, elemType: { kind: $.TypeKind.Interface, methods: [] } } }] }, { name: "Store", args: [{ name: "val", type: { kind: $.TypeKind.Pointer, elemType: { kind: $.TypeKind.Interface, methods: [] } } }], returns: [] }, { name: "Swap", args: [{ name: "new", type: { kind: $.TypeKind.Pointer, elemType: { kind: $.TypeKind.Interface, methods: [] } } }], returns: [{ type: { kind: $.TypeKind.Pointer, elemType: { kind: $.TypeKind.Interface, methods: [] } } }] }, { name: "CompareAndSwap", args: [{ name: "old", type: { kind: $.TypeKind.Pointer, elemType: { kind: $.TypeKind.Interface, methods: [] } } }, { name: "new", type: { kind: $.TypeKind.Pointer, elemType: { kind: $.TypeKind.Interface, methods: [] } } }], returns: [{ type: { kind: $.TypeKind.Basic, name: "boolean" } }] }], Pointer, { "v": { kind: $.TypeKind.Basic, name: "Pointer" } });
@@ -1 +1 @@
1
- {"version":3,"file":"type.gs.js","sourceRoot":"","sources":["../../../../gs/sync/atomic/type.gs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type.gs.js","sourceRoot":"","sources":["../../../../gs/sync/atomic/type.gs.ts"],"names":[],"mappings":"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AAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE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"}
@@ -3,11 +3,11 @@ export declare const RuneError = 65533;
3
3
  export declare const RuneSelf = 128;
4
4
  export declare const MaxRune = 1114111;
5
5
  export declare const UTFMax = 4;
6
- export declare function AppendRune(p: Uint8Array, r: number): Uint8Array;
6
+ export declare function AppendRune(p: $.Bytes, r: number): Uint8Array;
7
7
  export declare function DecodeLastRune(p: Uint8Array): [number, number];
8
8
  export declare function DecodeLastRuneInString(s: string): [number, number];
9
9
  export declare function DecodeRune(p: $.Bytes): [number, number];
10
- export declare function DecodeRuneInString(s: string): [number, number];
10
+ export declare function DecodeRuneInString(s: string | $.Bytes): [number, number];
11
11
  export declare function EncodeRune(p: Uint8Array | $.Slice<number>, r: number): number;
12
12
  export declare function FullRune(p: Uint8Array): boolean;
13
13
  export declare function FullRuneInString(s: string): boolean;
@@ -10,11 +10,12 @@ export const MaxRune = 0x10ffff;
10
10
  export const UTFMax = 4;
11
11
  // AppendRune appends the UTF-8 encoding of r to the end of p and returns the extended buffer.
12
12
  export function AppendRune(p, r) {
13
+ const bytes = $.normalizeBytes(p);
13
14
  const temp = new Uint8Array(UTFMax);
14
15
  const n = EncodeRune(temp, r);
15
- const result = new Uint8Array(p.length + n);
16
- result.set(p);
17
- result.set(temp.slice(0, n), p.length);
16
+ const result = new Uint8Array(bytes.length + n);
17
+ result.set(bytes);
18
+ result.set(temp.slice(0, n), bytes.length);
18
19
  return result;
19
20
  }
20
21
  // DecodeLastRune unpacks the last UTF-8 encoding in p and returns the rune and its width in bytes.
@@ -72,16 +73,19 @@ export function DecodeRune(p) {
72
73
  return [codePoint, encoded.length];
73
74
  }
74
75
  // DecodeRuneInString is like DecodeRune but its input is a string.
76
+ // Also accepts Bytes for Go's []byte to string conversion pattern.
75
77
  export function DecodeRuneInString(s) {
76
- if (s.length === 0) {
78
+ // Convert Bytes to string if necessary
79
+ const str = typeof s === 'string' ? s : $.bytesToString(s);
80
+ if (str.length === 0) {
77
81
  return [RuneError, 0];
78
82
  }
79
- const c = s.charCodeAt(0);
83
+ const c = str.charCodeAt(0);
80
84
  if (c < RuneSelf) {
81
85
  return [c, 1];
82
86
  }
83
87
  // Use JavaScript's built-in Unicode handling
84
- const codePoint = s.codePointAt(0) || RuneError;
88
+ const codePoint = str.codePointAt(0) || RuneError;
85
89
  const char = String.fromCodePoint(codePoint);
86
90
  const encoder = new TextEncoder();
87
91
  const encoded = encoder.encode(char);
@@ -1 +1 @@
1
- {"version":3,"file":"utf8.js","sourceRoot":"","sources":["../../../../gs/unicode/utf8/utf8.ts"],"names":[],"mappings":"AAAA,oFAAoF;AAEpF,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAA;AAE/C,mEAAmE;AACnE,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAA;AAE/B,+EAA+E;AAC/E,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAA;AAE5B,mDAAmD;AACnD,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAA;AAE/B,8EAA8E;AAC9E,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,CAAA;AAEvB,8FAA8F;AAC9F,MAAM,UAAU,UAAU,CAAC,CAAa,EAAE,CAAS;IACjD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAA;IACnC,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAC7B,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC3C,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACb,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;IACtC,OAAO,MAAM,CAAA;AACf,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,cAAc,CAAC,CAAa;IAC1C,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IACvB,CAAC;IAED,0DAA0D;IAC1D,IAAI,KAAK,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;IACxB,OAAO,KAAK,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACzC,KAAK,EAAE,CAAA;IACT,CAAC;IAED,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;IAC5C,IAAI,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;QAC9B,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IACvB,CAAC;IACD,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;AAClB,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,sBAAsB,CAAC,CAAS;IAC9C,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IACvB,CAAC;IAED,6CAA6C;IAC7C,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IACpB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IACvB,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACxC,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,SAAS,CAAA;IACtD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;IACjC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACxC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;AACpC,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,UAAU,CAAC,CAAU;IACnC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;QACf,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IACvB,CAAC;IAED,IAAI,CAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,CAAC;QACrB,OAAO,CAAC,CAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACnB,CAAC;IAED,0EAA0E;IAC1E,MAAM,KAAK,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAA;IAEjC,qCAAqC;IACrC,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;IAC1D,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACrE,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACzC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IACvB,CAAC;IAED,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,SAAS,CAAA;IACjD,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;IAC5C,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;IACjC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACpC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;AACpC,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,kBAAkB,CAAC,CAAS;IAC1C,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IACvB,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;IACzB,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC;QACjB,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACf,CAAC;IAED,6CAA6C;IAC7C,MAAM,SAAS,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,SAAS,CAAA;IAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;IAC5C,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;IACjC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACpC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;AACpC,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,UAAU,CAAC,CAA+B,EAAE,CAAS;IACnE,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,CAAC,CAAA;IAExB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAClB,CAAC,GAAG,SAAS,CAAA;IACf,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;IACnC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;IACjC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAEnC,yCAAyC;IACzC,IAAI,CAAC,YAAY,UAAU,EAAE,CAAC;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5D,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;QACnB,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;IAC3C,CAAC;SAAM,CAAC;QACN,uBAAuB;QACvB,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,CAAA;QACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACvD,CAAC;YAAC,CAAsB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;QAC1C,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACtC,CAAC;AACH,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,QAAQ,CAAC,CAAa;IACpC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,CAAC;QACpB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;IAC9B,OAAO,IAAI,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,GAAG,CAAC,CAAA;AACrC,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,gBAAgB,CAAC,CAAS;IACxC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;IACzB,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC;QACjB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAA;IACtC,OAAO,IAAI,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,GAAG,CAAC,CAAA;AACrC,CAAC;AAED,8CAA8C;AAC9C,MAAM,UAAU,SAAS,CAAC,CAAa;IACrC,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;IAC1D,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAC7B,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,CAAA;AACxB,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,iBAAiB,CAAC,CAAS;IACzC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAA;AACtB,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,OAAO,CAAC,CAAS;IAC/B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAClB,OAAO,CAAC,CAAC,CAAA;IACX,CAAC;IAED,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC;QACjB,OAAO,CAAC,CAAA;IACV,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;IACnC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;IACjC,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAA;AACnC,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,SAAS,CAAC,CAAS;IACjC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,CAAA;AAC5B,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,KAAK,CAAC,CAAa;IACjC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QACzD,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QACjB,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,SAAS,CAAC,CAAS;IACjC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC,CAAA;AAChE,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,WAAW,CAAC,CAAS;IACnC,0EAA0E;IAC1E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QAC5B,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;YACrC,iBAAiB;YACjB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAA;YACnC,MAAM,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YAChC,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,GAAG,MAAM,IAAI,IAAI,GAAG,MAAM;gBAAE,OAAO,KAAK,CAAA;YAClE,CAAC,EAAE,CAAA,CAAC,6DAA6D;QACnE,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
1
+ {"version":3,"file":"utf8.js","sourceRoot":"","sources":["../../../../gs/unicode/utf8/utf8.ts"],"names":[],"mappings":"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"}
package/go.mod CHANGED
@@ -5,17 +5,17 @@ go 1.25.3
5
5
  require (
6
6
  github.com/aperturerobotics/cli v1.0.1
7
7
  github.com/aperturerobotics/protobuf-go-lite v0.11.0
8
- github.com/aperturerobotics/util v1.31.4
8
+ github.com/aperturerobotics/util v1.32.0
9
9
  github.com/pkg/errors v0.9.1
10
10
  github.com/sirupsen/logrus v1.9.3
11
- golang.org/x/tools v0.38.0
11
+ golang.org/x/tools v0.40.0
12
12
  )
13
13
 
14
14
  require (
15
- github.com/aperturerobotics/common v0.22.12 // indirect
15
+ github.com/aperturerobotics/common v0.24.0 // indirect
16
16
  github.com/aperturerobotics/json-iterator-lite v1.0.1-0.20240713111131-be6bf89c3008 // indirect
17
17
  github.com/xrash/smetrics v0.0.0-20250705151800-55b8f293f342 // indirect
18
- golang.org/x/mod v0.29.0 // indirect
19
- golang.org/x/sync v0.17.0 // indirect
20
- golang.org/x/sys v0.37.0 // indirect
18
+ golang.org/x/mod v0.31.0 // indirect
19
+ golang.org/x/sync v0.19.0 // indirect
20
+ golang.org/x/sys v0.39.0 // indirect
21
21
  )
package/go.sum CHANGED
@@ -2,12 +2,16 @@ github.com/aperturerobotics/cli v1.0.1 h1:9KsECHGESJ/iGU13Z4zNQzKFz5bMave4bA6lPX
2
2
  github.com/aperturerobotics/cli v1.0.1/go.mod h1:s1Gh4eTOGGlrPqpyi/q8aIQwk0T6yDCF7C2xPyBMtek=
3
3
  github.com/aperturerobotics/common v0.22.12 h1:uSo+fDQg6xCoNI34Y7gueW1cW9Cy4d/2FQb/T006LZQ=
4
4
  github.com/aperturerobotics/common v0.22.12/go.mod h1:xMXHNN6oCvG0FfG1tY6+2Si7iWh1QfSSCSrqohFUeIk=
5
+ github.com/aperturerobotics/common v0.24.0 h1:blvKGbG2x6SBWrjoTjZbdy3ZqEm6DEHHp8OBpsQAM9s=
6
+ github.com/aperturerobotics/common v0.24.0/go.mod h1:/86GyW6RWYxHByCFOhvI9IQgCchTnJznwV2k9Nz5lgk=
5
7
  github.com/aperturerobotics/json-iterator-lite v1.0.1-0.20240713111131-be6bf89c3008 h1:So9JeziaWKx2Fw8sK4AUN/szqKtJ0jEMhS6bU4sHbxs=
6
8
  github.com/aperturerobotics/json-iterator-lite v1.0.1-0.20240713111131-be6bf89c3008/go.mod h1:snaApCEDtrHHP6UWSLKiYNOZU9A5NyzccKenx9oZEzg=
7
9
  github.com/aperturerobotics/protobuf-go-lite v0.11.0 h1:IAaZISqrEpodqECYxk0yKWgROEbZtMhs7bErP+Zma9o=
8
10
  github.com/aperturerobotics/protobuf-go-lite v0.11.0/go.mod h1:c4kGy7Dkfz6B1m0t4QBIMQoNeQ7m+nYj3Qxxnlwhygo=
9
11
  github.com/aperturerobotics/util v1.31.4 h1:2F4j5CML/Hb4dQT1E1pjkZd3AdJhsAQiaRCR9pD/dwo=
10
12
  github.com/aperturerobotics/util v1.31.4/go.mod h1:qfeWUnkC60QpjxH4yocO6Q/No+J1E488yzuconPgF8c=
13
+ github.com/aperturerobotics/util v1.32.0 h1:6gIx5zt1/cOpyH5Wq+im3yNLnRncsfw9PupHNQsy8c0=
14
+ github.com/aperturerobotics/util v1.32.0/go.mod h1:Aufy+WeKncuhc1L2yEg+QxRhb8uVnGBprPyTubaDxLw=
11
15
  github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
12
16
  github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
13
17
  github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
@@ -25,15 +29,15 @@ github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOf
25
29
  github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
26
30
  github.com/xrash/smetrics v0.0.0-20250705151800-55b8f293f342 h1:FnBeRrxr7OU4VvAzt5X7s6266i6cSVkkFPS0TuXWbIg=
27
31
  github.com/xrash/smetrics v0.0.0-20250705151800-55b8f293f342/go.mod h1:Ohn+xnUBiLI6FVj/9LpzZWtj1/D6lUovWYBkxHVV3aM=
28
- golang.org/x/mod v0.29.0 h1:HV8lRxZC4l2cr3Zq1LvtOsi/ThTgWnUk/y64QSs8GwA=
29
- golang.org/x/mod v0.29.0/go.mod h1:NyhrlYXJ2H4eJiRy/WDBO6HMqZQ6q9nk4JzS3NuCK+w=
30
- golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug=
31
- golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
32
+ golang.org/x/mod v0.31.0 h1:HaW9xtz0+kOcWKwli0ZXy79Ix+UW/vOfmWI5QVd2tgI=
33
+ golang.org/x/mod v0.31.0/go.mod h1:43JraMp9cGx1Rx3AqioxrbrhNsLl2l/iNAvuBkrezpg=
34
+ golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4=
35
+ golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
32
36
  golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
33
- golang.org/x/sys v0.37.0 h1:fdNQudmxPjkdUTPnLn5mdQv7Zwvbvpaxqs831goi9kQ=
34
- golang.org/x/sys v0.37.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
35
- golang.org/x/tools v0.38.0 h1:Hx2Xv8hISq8Lm16jvBZ2VQf+RLmbd7wVUsALibYI/IQ=
36
- golang.org/x/tools v0.38.0/go.mod h1:yEsQ/d/YK8cjh0L6rZlY8tgtlKiBNTL14pGDJPJpYQs=
37
+ golang.org/x/sys v0.39.0 h1:CvCKL8MeisomCi6qNZ+wbb0DN9E5AATixKsvNtMoMFk=
38
+ golang.org/x/sys v0.39.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
39
+ golang.org/x/tools v0.40.0 h1:yLkxfA+Qnul4cs9QA3KnlFu0lVmd8JJfoq+E41uSutA=
40
+ golang.org/x/tools v0.40.0/go.mod h1:Ik/tzLRlbscWpqqMRjyWYDisX8bG13FrdXp3o4Sr9lc=
37
41
  gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
38
42
  gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
39
43
  gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
@@ -6,17 +6,42 @@ import { isSliceProxy } from './slice.js'
6
6
  * @param args Arguments to print
7
7
  */
8
8
  export function println(...args: any[]): void {
9
- console.log(...args)
9
+ if (args.length === 0) {
10
+ // Bun's console.log() with no args doesn't print a newline, so we explicitly print an empty string
11
+ console.log('')
12
+ } else {
13
+ console.log(...args)
14
+ }
10
15
  }
11
16
 
12
17
  /**
13
18
  * Implementation of Go's built-in panic function
14
19
  * @param args Arguments passed to panic
15
20
  */
16
- export function panic(...args: any[]): void {
21
+ export function panic(...args: any[]): never {
17
22
  throw new Error(`panic: ${args.map((arg) => String(arg)).join(' ')}`)
18
23
  }
19
24
 
25
+ /**
26
+ * Implementation of Go's built-in clear function.
27
+ * For slices, it sets all elements to their zero value.
28
+ * For maps, it deletes all entries.
29
+ * @param v The slice or map to clear
30
+ */
31
+ export function clear<T>(v: T[] | Map<unknown, unknown> | null): void {
32
+ if (v === null || v === undefined) {
33
+ return
34
+ }
35
+ if (v instanceof Map) {
36
+ v.clear()
37
+ return
38
+ }
39
+ if (Array.isArray(v)) {
40
+ v.fill(null as T)
41
+ return
42
+ }
43
+ }
44
+
20
45
  // Bytes represents all valid []byte representations in TypeScript
21
46
  // This includes Uint8Array (the preferred representation) and $.Slice<number> (which includes null)
22
47
  export type Bytes = Uint8Array | Slice<number>
@@ -23,3 +23,15 @@ export function toGoError(err: Error): GoError {
23
23
  Error: () => err.message,
24
24
  } as GoError
25
25
  }
26
+
27
+ // wrapPrimitiveError wraps a primitive value that implements the error interface
28
+ // by creating an object with an Error() method that calls the type's Error function.
29
+ // This is needed for types like `type MyError int` with `func (e MyError) Error() string`
30
+ export function wrapPrimitiveError<T>(
31
+ value: T,
32
+ errorFn: (v: T) => string,
33
+ ): GoError {
34
+ return {
35
+ Error: () => errorFn(value),
36
+ }
37
+ }
@@ -27,6 +27,58 @@ export type Slice<T> =
27
27
  | null
28
28
  | (T extends number ? Uint8Array : never)
29
29
 
30
+ /**
31
+ * wrapSliceProxy wraps a SliceProxy in a Proxy to intercept index access
32
+ * and route it through the backing array.
33
+ */
34
+ function wrapSliceProxy<T>(proxy: SliceProxy<T>): SliceProxy<T> {
35
+ const handler = {
36
+ get(target: any, prop: string | symbol): any {
37
+ if (typeof prop === 'string' && /^\d+$/.test(prop)) {
38
+ const index = Number(prop)
39
+ if (index >= 0 && index < target.__meta__.length) {
40
+ return target.__meta__.backing[target.__meta__.offset + index]
41
+ }
42
+ throw new Error(
43
+ `Slice index out of range: ${index} >= ${target.__meta__.length}`,
44
+ )
45
+ }
46
+
47
+ if (prop === 'length') {
48
+ return target.__meta__.length
49
+ }
50
+
51
+ if (prop === '__meta__') {
52
+ return target.__meta__
53
+ }
54
+
55
+ return Reflect.get(target, prop)
56
+ },
57
+
58
+ set(target: any, prop: string | symbol, value: any): boolean {
59
+ if (typeof prop === 'string' && /^\d+$/.test(prop)) {
60
+ const index = Number(prop)
61
+ if (index >= 0 && index < target.__meta__.length) {
62
+ target.__meta__.backing[target.__meta__.offset + index] = value
63
+ target[index] = value // Also update the proxy target for consistency
64
+ return true
65
+ }
66
+ throw new Error(
67
+ `Slice index out of range: ${index} >= ${target.__meta__.length}`,
68
+ )
69
+ }
70
+
71
+ if (prop === 'length' || prop === '__meta__') {
72
+ return false
73
+ }
74
+
75
+ return Reflect.set(target, prop, value)
76
+ },
77
+ }
78
+
79
+ return new Proxy(proxy, handler) as SliceProxy<T>
80
+ }
81
+
30
82
  // asArray converts a slice to a JavaScript array.
31
83
  export function asArray<T>(slice: Slice<T>): T[] {
32
84
  if (slice === null || slice === undefined) {
@@ -114,52 +166,7 @@ export const makeSlice = <T>(
114
166
  capacity: actualCapacity,
115
167
  }
116
168
 
117
- // Create a proper Proxy with the handler for SliceProxy behavior
118
- const handler = {
119
- get(target: any, prop: string | symbol): any {
120
- if (typeof prop === 'string' && /^\d+$/.test(prop)) {
121
- const index = Number(prop)
122
- if (index >= 0 && index < target.__meta__.length) {
123
- return target.__meta__.backing[target.__meta__.offset + index]
124
- }
125
- throw new Error(
126
- `Slice index out of range: ${index} >= ${target.__meta__.length}`,
127
- )
128
- }
129
-
130
- if (prop === 'length') {
131
- return target.__meta__.length
132
- }
133
-
134
- if (prop === '__meta__') {
135
- return target.__meta__
136
- }
137
-
138
- return Reflect.get(target, prop)
139
- },
140
-
141
- set(target: any, prop: string | symbol, value: any): boolean {
142
- if (typeof prop === 'string' && /^\d+$/.test(prop)) {
143
- const index = Number(prop)
144
- if (index >= 0 && index < target.__meta__.length) {
145
- target.__meta__.backing[target.__meta__.offset + index] = value
146
- target[index] = value // Also update the proxy target for consistency
147
- return true
148
- }
149
- throw new Error(
150
- `Slice index out of range: ${index} >= ${target.__meta__.length}`,
151
- )
152
- }
153
-
154
- if (prop === 'length' || prop === '__meta__') {
155
- return false
156
- }
157
-
158
- return Reflect.set(target, prop, value)
159
- },
160
- }
161
-
162
- return new Proxy(proxy, handler) as Slice<T>
169
+ return wrapSliceProxy(proxy) as Slice<T>
163
170
  }
164
171
 
165
172
  const actualCapacity = capacity === undefined ? length : capacity
@@ -269,12 +276,26 @@ export const makeSlice = <T>(
269
276
  * @param high Ending index (defaults to s.length)
270
277
  * @param max Capacity limit (defaults to original capacity)
271
278
  */
272
- export const goSlice = <T>( // T can be number for Uint8Array case
279
+ // Overload for Uint8Array - returns Slice<number> (which includes Uint8Array)
280
+ export function goSlice(
281
+ s: Uint8Array,
282
+ low?: number,
283
+ high?: number,
284
+ max?: number,
285
+ ): Slice<number>
286
+ // Generic overload for other slice types
287
+ export function goSlice<T>(
273
288
  s: Slice<T>,
274
289
  low?: number,
275
290
  high?: number,
276
291
  max?: number,
277
- ): Slice<T> => {
292
+ ): Slice<T>
293
+ export function goSlice<T>( // T can be number for Uint8Array case
294
+ s: Slice<T> | Uint8Array,
295
+ low?: number,
296
+ high?: number,
297
+ max?: number,
298
+ ): Slice<T> {
278
299
  const handler = {
279
300
  get(target: any, prop: string | symbol): any {
280
301
  if (typeof prop === 'string' && /^\d+$/.test(prop)) {
@@ -392,8 +413,24 @@ export const goSlice = <T>( // T can be number for Uint8Array case
392
413
  }
393
414
  }
394
415
 
416
+ // Handle nil slices - in Go, slicing a nil slice with valid bounds returns nil
395
417
  if (s === null || s === undefined) {
396
- throw new Error('Cannot slice nil')
418
+ low = low ?? 0
419
+ high = high ?? 0
420
+
421
+ if (low < 0 || high < low) {
422
+ throw new Error(`Invalid slice indices: ${low}:${high}`)
423
+ }
424
+
425
+ if (low !== 0 || high !== 0) {
426
+ throw new Error(`runtime error: slice bounds out of range [:${high}] with capacity 0`)
427
+ }
428
+
429
+ if (max !== undefined && max !== 0) {
430
+ throw new Error(`runtime error: slice bounds out of range [::${max}] with capacity 0`)
431
+ }
432
+
433
+ return null as Slice<T>
397
434
  }
398
435
 
399
436
  const slen = len(s)
@@ -668,9 +705,11 @@ export const cap = <T>(obj: Slice<T> | Uint8Array): number => {
668
705
  * @returns The modified or new slice.
669
706
  */
670
707
  export function append(slice: Uint8Array, ...elements: any[]): Uint8Array
708
+ // Overload for null slice with number elements - returns number slice (Bytes compatible)
709
+ export function append(slice: null, ...elements: number[]): Slice<number>
671
710
  export function append<T>(slice: Slice<T>, ...elements: any[]): Slice<T>
672
711
  export function append<T>(
673
- slice: Slice<T> | Uint8Array,
712
+ slice: Slice<T> | Uint8Array | null,
674
713
  ...elements: any[]
675
714
  ): Slice<T> {
676
715
  // 1. Flatten all elements from the varargs `...elements` into `varargsElements`.
@@ -778,7 +817,7 @@ export function append<T>(
778
817
  length: newLength,
779
818
  capacity: oldCapacity,
780
819
  }
781
- return resultProxy as any
820
+ return wrapSliceProxy(resultProxy) as any
782
821
  }
783
822
 
784
823
  // Case 2: Reallocation is needed.
@@ -810,7 +849,7 @@ export function append<T>(
810
849
  length: newLength,
811
850
  capacity: newCapacity,
812
851
  }
813
- return resultProxy as any
852
+ return wrapSliceProxy(resultProxy) as any
814
853
  }
815
854
 
816
855
  /**
@@ -1078,7 +1117,28 @@ export const byte = (n: number): number => {
1078
1117
  * @returns The byte value (0-255) at the specified index.
1079
1118
  * @throws Error if index is out of bounds.
1080
1119
  */
1081
- export const indexString = (str: string, index: number): number => {
1120
+ export const indexString = (str: string | import('./builtin.js').Bytes, index: number): number => {
1121
+ if (typeof str !== 'string') {
1122
+ // Bytes - access directly
1123
+ if (str instanceof Uint8Array) {
1124
+ if (index < 0 || index >= str.length) {
1125
+ throw new Error(
1126
+ `runtime error: index out of range [${index}] with length ${str.length}`,
1127
+ )
1128
+ }
1129
+ return str[index]
1130
+ }
1131
+ // Array or null
1132
+ if (str === null || str === undefined) {
1133
+ throw new Error(`runtime error: index out of range [${index}] with length 0`)
1134
+ }
1135
+ if (index < 0 || index >= str.length) {
1136
+ throw new Error(
1137
+ `runtime error: index out of range [${index}] with length ${str.length}`,
1138
+ )
1139
+ }
1140
+ return str[index]
1141
+ }
1082
1142
  const bytes = new TextEncoder().encode(str)
1083
1143
  if (index < 0 || index >= bytes.length) {
1084
1144
  throw new Error(
@@ -1185,8 +1245,19 @@ export const bytesToString = (
1185
1245
  * @param s The input string.
1186
1246
  * @returns A Uint8Array representing the UTF-8 bytes of the string.
1187
1247
  */
1188
- export function stringToBytes(s: string): Uint8Array {
1189
- return new TextEncoder().encode(s)
1248
+ export function stringToBytes(s: string | import('./builtin.js').Bytes): Uint8Array {
1249
+ if (typeof s === 'string') {
1250
+ return new TextEncoder().encode(s)
1251
+ }
1252
+ // Already bytes - normalize to Uint8Array
1253
+ if (s instanceof Uint8Array) {
1254
+ return s
1255
+ }
1256
+ if (s === null || s === undefined) {
1257
+ return new Uint8Array(0)
1258
+ }
1259
+ // Handle array or slice types
1260
+ return new Uint8Array(Array.isArray(s) ? s : [])
1190
1261
  }
1191
1262
 
1192
1263
  /**