goscript 0.1.3 → 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.
Files changed (117) hide show
  1. package/cmd/goscript/cmd_compile.go +28 -8
  2. package/cmd/goscript/cmd_compile_test.go +105 -6
  3. package/compiler/build-flags.go +9 -10
  4. package/compiler/gotest/runner_test.go +127 -0
  5. package/compiler/lowering.go +596 -136
  6. package/compiler/lowering_bench_test.go +350 -0
  7. package/compiler/package-graph.go +61 -4
  8. package/compiler/package-graph_test.go +30 -0
  9. package/compiler/semantic-model-types.go +8 -0
  10. package/compiler/semantic-model.go +447 -22
  11. package/compiler/semantic-model_test.go +138 -0
  12. package/compiler/skeleton_test.go +948 -14
  13. package/compiler/typescript-emitter.go +19 -2
  14. package/dist/gs/builtin/builtin.d.ts +2 -2
  15. package/dist/gs/builtin/builtin.js +20 -0
  16. package/dist/gs/builtin/builtin.js.map +1 -1
  17. package/dist/gs/builtin/slice.js +5 -0
  18. package/dist/gs/builtin/slice.js.map +1 -1
  19. package/dist/gs/builtin/type.d.ts +1 -1
  20. package/dist/gs/builtin/type.js +72 -5
  21. package/dist/gs/builtin/type.js.map +1 -1
  22. package/dist/gs/compress/zlib/index.d.ts +3 -3
  23. package/dist/gs/compress/zlib/index.js +88 -26
  24. package/dist/gs/compress/zlib/index.js.map +1 -1
  25. package/dist/gs/crypto/sha1/index.js +2 -5
  26. package/dist/gs/crypto/sha1/index.js.map +1 -1
  27. package/dist/gs/crypto/sha256/index.js +2 -5
  28. package/dist/gs/crypto/sha256/index.js.map +1 -1
  29. package/dist/gs/crypto/sha512/index.js +2 -5
  30. package/dist/gs/crypto/sha512/index.js.map +1 -1
  31. package/dist/gs/embed/index.d.ts +6 -0
  32. package/dist/gs/embed/index.js +210 -5
  33. package/dist/gs/embed/index.js.map +1 -1
  34. package/dist/gs/fmt/fmt.d.ts +3 -3
  35. package/dist/gs/fmt/fmt.js +29 -16
  36. package/dist/gs/fmt/fmt.js.map +1 -1
  37. package/dist/gs/github.com/aperturerobotics/starpc/srpc/index.js +118 -6
  38. package/dist/gs/github.com/aperturerobotics/starpc/srpc/index.js.map +1 -1
  39. package/dist/gs/github.com/go-git/go-billy/v6/osfs/index.d.ts +45 -0
  40. package/dist/gs/github.com/go-git/go-billy/v6/osfs/index.js +229 -0
  41. package/dist/gs/github.com/go-git/go-billy/v6/osfs/index.js.map +1 -0
  42. package/dist/gs/io/fs/readdir.js +5 -3
  43. package/dist/gs/io/fs/readdir.js.map +1 -1
  44. package/dist/gs/io/io.d.ts +10 -6
  45. package/dist/gs/io/io.js +87 -42
  46. package/dist/gs/io/io.js.map +1 -1
  47. package/dist/gs/math/bits/index.d.ts +26 -5
  48. package/dist/gs/math/bits/index.js +13 -24
  49. package/dist/gs/math/bits/index.js.map +1 -1
  50. package/dist/gs/net/http/index.d.ts +3 -1
  51. package/dist/gs/net/http/index.js +18 -1
  52. package/dist/gs/net/http/index.js.map +1 -1
  53. package/dist/gs/os/types_js.gs.d.ts +6 -2
  54. package/dist/gs/os/types_js.gs.js +169 -8
  55. package/dist/gs/os/types_js.gs.js.map +1 -1
  56. package/dist/gs/reflect/type.d.ts +1 -0
  57. package/dist/gs/reflect/type.js +80 -51
  58. package/dist/gs/reflect/type.js.map +1 -1
  59. package/dist/gs/strings/reader.d.ts +1 -1
  60. package/dist/gs/strings/reader.js +2 -2
  61. package/dist/gs/strings/reader.js.map +1 -1
  62. package/dist/gs/sync/sync.d.ts +2 -1
  63. package/dist/gs/sync/sync.js +37 -16
  64. package/dist/gs/sync/sync.js.map +1 -1
  65. package/dist/gs/syscall/js/index.js +9 -0
  66. package/dist/gs/syscall/js/index.js.map +1 -1
  67. package/dist/gs/testing/testing.js +8 -6
  68. package/dist/gs/testing/testing.js.map +1 -1
  69. package/gs/builtin/builtin.ts +25 -2
  70. package/gs/builtin/runtime-contract.test.ts +45 -0
  71. package/gs/builtin/slice.ts +7 -0
  72. package/gs/builtin/type.ts +85 -5
  73. package/gs/compress/zlib/index.test.ts +97 -0
  74. package/gs/compress/zlib/index.ts +117 -27
  75. package/gs/compress/zlib/meta.json +4 -1
  76. package/gs/crypto/sha1/index.test.ts +19 -2
  77. package/gs/crypto/sha1/index.ts +3 -6
  78. package/gs/crypto/sha256/index.test.ts +14 -2
  79. package/gs/crypto/sha256/index.ts +3 -6
  80. package/gs/crypto/sha512/index.test.ts +17 -2
  81. package/gs/crypto/sha512/index.ts +3 -6
  82. package/gs/embed/index.test.ts +87 -0
  83. package/gs/embed/index.ts +229 -5
  84. package/gs/fmt/fmt.test.ts +41 -3
  85. package/gs/fmt/fmt.ts +40 -17
  86. package/gs/fmt/meta.json +6 -1
  87. package/gs/github.com/aperturerobotics/starpc/srpc/index.test.ts +8 -1
  88. package/gs/github.com/aperturerobotics/starpc/srpc/index.ts +139 -11
  89. package/gs/github.com/go-git/go-billy/v6/osfs/index.test.ts +110 -0
  90. package/gs/github.com/go-git/go-billy/v6/osfs/index.ts +280 -0
  91. package/gs/github.com/go-git/go-billy/v6/osfs/meta.json +8 -0
  92. package/gs/io/fs/readdir.test.ts +38 -0
  93. package/gs/io/fs/readdir.ts +7 -3
  94. package/gs/io/io.test.ts +77 -6
  95. package/gs/io/io.ts +114 -52
  96. package/gs/io/meta.json +7 -1
  97. package/gs/math/bits/index.ts +52 -28
  98. package/gs/net/http/index.test.ts +16 -0
  99. package/gs/net/http/index.ts +19 -2
  100. package/gs/os/file_unix_js.test.ts +52 -0
  101. package/gs/os/meta.json +4 -0
  102. package/gs/os/readdir.test.ts +56 -0
  103. package/gs/os/types_js.gs.ts +169 -8
  104. package/gs/reflect/deepequal.test.ts +10 -1
  105. package/gs/reflect/type.ts +91 -56
  106. package/gs/reflect/typefor.test.ts +31 -1
  107. package/gs/strings/meta.json +5 -2
  108. package/gs/strings/reader.test.ts +2 -2
  109. package/gs/strings/reader.ts +2 -2
  110. package/gs/sync/meta.json +1 -0
  111. package/gs/sync/sync.test.ts +41 -1
  112. package/gs/sync/sync.ts +41 -16
  113. package/gs/syscall/js/index.test.ts +18 -0
  114. package/gs/syscall/js/index.ts +12 -0
  115. package/gs/testing/testing.test.ts +32 -3
  116. package/gs/testing/testing.ts +13 -10
  117. package/package.json +1 -1
@@ -284,6 +284,9 @@ export function ValueOf(x) {
284
284
  if (x instanceof Func) {
285
285
  return x.Value.clone();
286
286
  }
287
+ if (isGoInterfaceValue(x)) {
288
+ return ValueOf(x.__goValue);
289
+ }
287
290
  if (x === null || x === undefined) {
288
291
  return Null();
289
292
  }
@@ -310,6 +313,12 @@ export function ValueOf(x) {
310
313
  }
311
314
  return new Value({ raw: x });
312
315
  }
316
+ function isGoInterfaceValue(value) {
317
+ return (value !== null &&
318
+ typeof value === 'object' &&
319
+ '__goValue' in value &&
320
+ typeof value.__goType === 'string');
321
+ }
313
322
  export function FuncOf(fn) {
314
323
  return new Func({ fn });
315
324
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../gs/syscall/js/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../gs/syscall/js/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { mkdirSync } from 'node:fs';
1
+ import * as nodeFS from 'node:fs';
2
2
  import { tmpdir } from 'node:os';
3
3
  import { join } from 'node:path';
4
4
  import * as context from '@goscript/context/index.js';
@@ -112,16 +112,18 @@ export class T {
112
112
  return true;
113
113
  }
114
114
  TempDir() {
115
- const path = join(tmpdir(), 'goscript-test-' +
115
+ const path = nodeFS.mkdtempSync(join(tmpdir(), 'goscript-test-' +
116
116
  this.testName.replace(/[^A-Za-z0-9_.-]/g, '_') +
117
117
  '-' +
118
- String(this.tempDirs.length));
119
- mkdirSync(path, { recursive: true });
118
+ String(this.tempDirs.length)) + '-');
120
119
  this.tempDirs.push(path);
120
+ this.Cleanup(() => {
121
+ ;
122
+ nodeFS.rmSync(path, { force: true, recursive: true });
123
+ });
121
124
  return path;
122
125
  }
123
- Parallel() {
124
- }
126
+ Parallel() { }
125
127
  Setenv(key, value) {
126
128
  const proc = globalThis.process;
127
129
  const env = proc?.env;
@@ -1 +1 @@
1
- {"version":3,"file":"testing.js","sourceRoot":"","sources":["../../../gs/testing/testing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testing.js","sourceRoot":"","sources":["../../../gs/testing/testing.ts"],"names":[],"mappings":"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"}
@@ -230,6 +230,9 @@ export function comparableEqual(a: unknown, b: unknown): boolean {
230
230
  if (a.__isTypedNil || b.__isTypedNil) {
231
231
  return a.__isTypedNil === true && b.__isTypedNil === true
232
232
  }
233
+ if (a.__goType.startsWith('*')) {
234
+ return false
235
+ }
233
236
  if (hasGoValue(a) || hasGoValue(b)) {
234
237
  return hasGoValue(a) && hasGoValue(b) && comparableEqual(a.__goValue, b.__goValue)
235
238
  }
@@ -327,6 +330,7 @@ export function complex(real: number, imag: number): Complex {
327
330
  }
328
331
 
329
332
  export function real(value: number | Complex | null | undefined): number {
333
+ value = unwrapGoValue(value)
330
334
  if (typeof value === 'number') {
331
335
  return value
332
336
  }
@@ -334,12 +338,25 @@ export function real(value: number | Complex | null | undefined): number {
334
338
  }
335
339
 
336
340
  export function imag(value: number | Complex | null | undefined): number {
341
+ value = unwrapGoValue(value)
337
342
  if (typeof value === 'number') {
338
343
  return 0
339
344
  }
340
345
  return value?.imag ?? 0
341
346
  }
342
347
 
348
+ function unwrapGoValue<T>(value: T): T {
349
+ if (
350
+ value !== null &&
351
+ value !== undefined &&
352
+ typeof value === 'object' &&
353
+ '__goValue' in value
354
+ ) {
355
+ return (value as { __goValue: T }).__goValue
356
+ }
357
+ return value
358
+ }
359
+
343
360
  // Bytes represents all valid []byte representations in TypeScript
344
361
  // This includes Uint8Array (the preferred representation) and $.Slice<number> (which includes null)
345
362
  export type Bytes = Uint8Array | Slice<number>
@@ -350,7 +367,10 @@ const maxUint64BigInt = 0xffffffffffffffffn
350
367
 
351
368
  // int converts a value to a Go int type, handling proper signed integer conversion
352
369
  // This ensures that values like 2147483648 (2^31) are properly handled according to Go semantics
353
- export function int(value: number | bigint, bits = 0): number {
370
+ export function int(value: number | bigint | string, bits = 0): number {
371
+ if (typeof value === 'string') {
372
+ value = BigInt(value)
373
+ }
354
374
  if (typeof value === 'bigint') {
355
375
  if (bits > 0 && bits <= 64) {
356
376
  return Number(BigInt.asIntN(bits, value))
@@ -386,7 +406,10 @@ export function int(value: number | bigint, bits = 0): number {
386
406
  }
387
407
 
388
408
  // uint converts a value to an unsigned Go integer width.
389
- export function uint(value: number | bigint, bits = 64): number {
409
+ export function uint(value: number | bigint | string, bits = 64): number {
410
+ if (typeof value === 'string') {
411
+ value = BigInt(value)
412
+ }
390
413
  if (typeof value === 'bigint') {
391
414
  const normalized = BigInt.asUintN(Math.min(bits, 64), value)
392
415
  if (bits >= 64) {
@@ -139,6 +139,9 @@ describe('builtin runtime contract helpers', () => {
139
139
  expect(uint(uint64And(0xf0n, 0x3cn), 32)).toBe(0x30)
140
140
  expect(uint(uint64Or(0xf0n, 0x0fn), 32)).toBe(0xff)
141
141
  expect(uint(uint64Xor(0xf0n, 0xffn), 32)).toBe(0x0f)
142
+ expect(uint64And(uint('18446744073709551615', 64), uint('18014398509481983', 64))).toBe(
143
+ 18014398509481983n,
144
+ )
142
145
  expect(uintShr(0x80000000, 31, 32)).toBe(1)
143
146
  expect(uintShr(0x80000000, 32, 32)).toBe(0)
144
147
  expect(uintShr(0xff, 4, 8)).toBe(15)
@@ -164,6 +167,9 @@ describe('builtin runtime contract helpers', () => {
164
167
  }),
165
168
  ).toEqual({ value: nilNamedSlice, ok: true })
166
169
  expect(pointerValue({ ok: true })).toEqual({ ok: true })
170
+ const nilSliceIface = interfaceValue(null, '[]*main.StatusEntry')
171
+ expect(len(nilSliceIface as any)).toBe(0)
172
+ expect(cap(nilSliceIface as any)).toBe(0)
167
173
  const namedPointerBox = namedValueInterfaceValue(
168
174
  varRef(new Uint8Array([1, 2])),
169
175
  '*main.Bytes',
@@ -331,6 +337,30 @@ describe('builtin runtime contract helpers', () => {
331
337
  ).toEqual([13, true])
332
338
  })
333
339
 
340
+ it('asserts fixed-width numeric values by runtime type name', () => {
341
+ expect(
342
+ typeAssertTuple<number>(13, { kind: TypeKind.Basic, name: 'uint64' }),
343
+ ).toEqual([13, true])
344
+ expect(
345
+ typeAssertTuple<number>(13, { kind: TypeKind.Basic, name: 'int32' }),
346
+ ).toEqual([13, true])
347
+ })
348
+
349
+ it('asserts typed byte-slice pointers through uint8 descriptors', () => {
350
+ const bytes = varRef(makeSlice<number>(4, undefined, 'byte'))
351
+ const boxed = interfaceValue(bytes, '*[]byte')
352
+
353
+ expect(
354
+ typeAssertTuple<typeof bytes>(boxed, {
355
+ kind: TypeKind.Pointer,
356
+ elemType: {
357
+ kind: TypeKind.Slice,
358
+ elemType: { kind: TypeKind.Basic, name: 'uint8' },
359
+ },
360
+ }),
361
+ ).toEqual([bytes, true])
362
+ })
363
+
334
364
  it('exposes addressable slice and array index references', () => {
335
365
  const values = [1, 2, 3]
336
366
  const second = indexRef(values, 1)
@@ -519,6 +549,21 @@ describe('builtin runtime contract helpers', () => {
519
549
  )
520
550
  expect(typeAssert<{ Name(): string }>(dogRef, dogInterface).ok).toBe(true)
521
551
 
552
+ const bytesRef = varRef<Bytes>(new Uint8Array([1, 2, 3]))
553
+ const boxedBytesRef = interfaceValue<any>(bytesRef, '*[]byte')
554
+ const [assertedBytesRef, bytesOk] = typeAssertTuple<typeof bytesRef>(
555
+ boxedBytesRef,
556
+ {
557
+ kind: TypeKind.Pointer,
558
+ elemType: {
559
+ kind: TypeKind.Slice,
560
+ elemType: { kind: TypeKind.Basic, name: 'int' },
561
+ },
562
+ },
563
+ )
564
+ expect(bytesOk).toBe(true)
565
+ expect(pointerValue(assertedBytesRef)).toBe(bytesRef.value)
566
+
522
567
  const greet = namedFunction(
523
568
  (name: string) => `hello ${name}`,
524
569
  'phase5.Greet',
@@ -1684,6 +1684,13 @@ function collectionValue(value: unknown): unknown {
1684
1684
  if (isVarRef(value)) {
1685
1685
  return collectionValue(value.value)
1686
1686
  }
1687
+ if (
1688
+ typeof value === 'object' &&
1689
+ value !== null &&
1690
+ (value as { __isTypedNil?: unknown }).__isTypedNil === true
1691
+ ) {
1692
+ return null
1693
+ }
1687
1694
  if (
1688
1695
  typeof value === 'object' &&
1689
1696
  value !== null &&
@@ -320,7 +320,11 @@ function typeInfoRuntimeName(info: TypeInfo): string | undefined {
320
320
  }
321
321
 
322
322
  function goTypeMatchesTypeInfo(goType: string, info: TypeInfo): boolean {
323
- return goType === typeInfoRuntimeName(info)
323
+ const runtimeName = typeInfoRuntimeName(info)
324
+ return (
325
+ (runtimeName !== undefined && goType === runtimeName) ||
326
+ compareTypeStringWithTypeInfo(goType, info)
327
+ )
324
328
  }
325
329
 
326
330
  function compareOptionalTypeInfo(
@@ -487,7 +491,23 @@ function validateMapKey(key: any, keyTypeInfo: TypeInfo): boolean {
487
491
  */
488
492
  function matchesBasicType(value: any, info: TypeInfo): boolean {
489
493
  if (info.name === 'string') return typeof value === 'string'
490
- if (info.name === 'number' || info.name === 'int' || info.name === 'float64')
494
+ if (
495
+ info.name === 'number' ||
496
+ info.name === 'int' ||
497
+ info.name === 'int8' ||
498
+ info.name === 'int16' ||
499
+ info.name === 'int32' ||
500
+ info.name === 'int64' ||
501
+ info.name === 'uint' ||
502
+ info.name === 'uint8' ||
503
+ info.name === 'byte' ||
504
+ info.name === 'uint16' ||
505
+ info.name === 'uint32' ||
506
+ info.name === 'uint64' ||
507
+ info.name === 'uintptr' ||
508
+ info.name === 'float32' ||
509
+ info.name === 'float64'
510
+ )
491
511
  return typeof value === 'number'
492
512
  if (info.name === 'boolean' || info.name === 'bool')
493
513
  return typeof value === 'boolean'
@@ -994,15 +1014,21 @@ function matchesType(value: any, info: TypeInfo): boolean {
994
1014
  */
995
1015
  function compareTypeStringWithTypeInfo(
996
1016
  typeStr: string,
997
- typeInfo: TypeInfo,
1017
+ typeInfo: string | TypeInfo,
998
1018
  ): boolean {
1019
+ const normalized = normalizeTypeInfo(typeInfo)
1020
+ const runtimeName = typeInfoRuntimeName(normalized)
1021
+ if (runtimeName !== undefined && typeStr === runtimeName) {
1022
+ return true
1023
+ }
1024
+
999
1025
  // For pointer types, strip the leading * and compare element types
1000
- if (isPointerTypeInfo(typeInfo)) {
1026
+ if (isPointerTypeInfo(normalized)) {
1001
1027
  if (!typeStr.startsWith('*')) {
1002
1028
  return false
1003
1029
  }
1004
1030
  const elemStr = typeStr.slice(1)
1005
- const elemType = typeInfo.elemType
1031
+ const elemType = normalized.elemType
1006
1032
  if (!elemType) {
1007
1033
  return false
1008
1034
  }
@@ -1084,6 +1110,58 @@ function compareTypeStringWithTypeInfo(
1084
1110
  if (elemType.name) {
1085
1111
  return elemStr === elemType.name
1086
1112
  }
1113
+ return compareTypeStringWithTypeInfo(elemStr, elemType)
1114
+ }
1115
+
1116
+ if (isSliceTypeInfo(normalized)) {
1117
+ if (!typeStr.startsWith('[]') || !normalized.elemType) {
1118
+ return false
1119
+ }
1120
+ return compareTypeStringWithTypeInfo(typeStr.slice(2), normalized.elemType)
1121
+ }
1122
+
1123
+ if (isArrayTypeInfo(normalized)) {
1124
+ const match = typeStr.match(/^\[(\d+)\](.+)$/)
1125
+ if (!match || !normalized.elemType) {
1126
+ return false
1127
+ }
1128
+ return (
1129
+ Number(match[1]) === normalized.length &&
1130
+ compareTypeStringWithTypeInfo(match[2], normalized.elemType)
1131
+ )
1132
+ }
1133
+
1134
+ if (isBasicTypeInfo(normalized)) {
1135
+ const name = typeInfoRuntimeName(normalized)
1136
+ if (name === undefined) {
1137
+ return false
1138
+ }
1139
+ if (typeStr === name) {
1140
+ return true
1141
+ }
1142
+ if (name === 'uint8' && typeStr === 'byte') {
1143
+ return true
1144
+ }
1145
+ if (name === 'int32' && typeStr === 'rune') {
1146
+ return true
1147
+ }
1148
+ return (
1149
+ name === 'int' &&
1150
+ [
1151
+ 'byte',
1152
+ 'rune',
1153
+ 'int8',
1154
+ 'int16',
1155
+ 'int32',
1156
+ 'int64',
1157
+ 'uint',
1158
+ 'uint8',
1159
+ 'uint16',
1160
+ 'uint32',
1161
+ 'uint64',
1162
+ 'uintptr',
1163
+ ].includes(typeStr)
1164
+ )
1087
1165
  }
1088
1166
 
1089
1167
  return false
@@ -1369,10 +1447,12 @@ export function namedValueInterfaceValue<T>(
1369
1447
  value: unknown,
1370
1448
  typeName: string,
1371
1449
  methods: Record<string, (receiver: any, ...args: any[]) => any>,
1450
+ typeInfo?: TypeInfo | string,
1372
1451
  ): T {
1373
1452
  const boxed: any = {
1374
1453
  __goType: typeName,
1375
1454
  __goValue: value,
1455
+ __goTypeInfo: typeInfo,
1376
1456
  valueOf: () => value,
1377
1457
  toString: () => String(value),
1378
1458
  [Symbol.toPrimitive]: () => value as any,
@@ -25,4 +25,101 @@ describe('compress/zlib override', () => {
25
25
  expect(readErr).toBeNull()
26
26
  expect($.bytesToString(out)).toBe('hello compressed world')
27
27
  })
28
+
29
+ test('reader implements resettable zlib reader contract', async () => {
30
+ const first = $.markAsStructValue(new bytes.Buffer())
31
+ const firstWriter = NewWriter(first)
32
+ expect(firstWriter.Write($.stringToBytes('first stream'))[1]).toBeNull()
33
+ expect(await firstWriter.Close()).toBeNull()
34
+
35
+ const second = $.markAsStructValue(new bytes.Buffer())
36
+ const secondWriter = NewWriter(second)
37
+ expect(secondWriter.Write($.stringToBytes('second stream'))[1]).toBeNull()
38
+ expect(await secondWriter.Close()).toBeNull()
39
+
40
+ const readerInterface = $.registerInterfaceType(
41
+ 'compress/zlib.testReader',
42
+ null,
43
+ [
44
+ { name: 'Close', args: [], returns: [{ type: 'error' }] },
45
+ {
46
+ name: 'Read',
47
+ args: [
48
+ {
49
+ name: 'p',
50
+ type: {
51
+ kind: $.TypeKind.Slice,
52
+ elemType: { kind: $.TypeKind.Basic, name: 'uint8' },
53
+ },
54
+ },
55
+ ],
56
+ returns: [{ type: 'int' }, { type: 'error' }],
57
+ },
58
+ {
59
+ name: 'Reset',
60
+ args: [{ type: 'io.Reader' }, { type: '[]byte' }],
61
+ returns: [{ type: 'error' }],
62
+ },
63
+ ],
64
+ )
65
+
66
+ const [reader, readerErr] = NewReader(bytes.NewReader(first.Bytes()))
67
+ expect(readerErr).toBeNull()
68
+ const [zlibReader, ok] = $.typeAssertTuple<
69
+ io.ReadCloser & {
70
+ Reset(r: io.Reader | null, dict: $.Bytes | null): $.GoError
71
+ }
72
+ >(reader, readerInterface)
73
+ expect(ok).toBe(true)
74
+
75
+ const [firstOut, firstReadErr] = await io.ReadAll(zlibReader)
76
+ expect(firstReadErr).toBeNull()
77
+ expect($.bytesToString(firstOut)).toBe('first stream')
78
+
79
+ expect(zlibReader.Reset(bytes.NewReader(second.Bytes()), null)).toBeNull()
80
+ const [secondOut, secondReadErr] = await io.ReadAll(zlibReader)
81
+ expect(secondReadErr).toBeNull()
82
+ expect($.bytesToString(secondOut)).toBe('second stream')
83
+ })
84
+
85
+ test('reader reset accepts async generated readers', async () => {
86
+ const compressed = $.markAsStructValue(new bytes.Buffer())
87
+ const writer = NewWriter(compressed)
88
+ expect(writer.Write($.stringToBytes('async source stream'))[1]).toBeNull()
89
+ expect(await writer.Close()).toBeNull()
90
+
91
+ const source = bytes.NewReader(compressed.Bytes())
92
+ const asyncReader = {
93
+ async Read(p: $.Bytes): Promise<[number, $.GoError]> {
94
+ await Promise.resolve()
95
+ return source.Read(p)
96
+ },
97
+ }
98
+
99
+ const [reader, readerErr] = NewReader(asyncReader as io.Reader)
100
+ expect(readerErr).toBeNull()
101
+ const [out, readErr] = await io.ReadAll(reader!)
102
+ expect(readErr).toBeNull()
103
+ expect($.bytesToString(out)).toBe('async source stream')
104
+ })
105
+
106
+ test('Close awaits pointer-wrapped generated writers', async () => {
107
+ const chunks: number[] = []
108
+ const sink = {
109
+ async Write(p: $.Bytes): Promise<[number, $.GoError]> {
110
+ await Promise.resolve()
111
+ chunks.push(...Array.from(p ?? []))
112
+ return [$.len(p), null]
113
+ },
114
+ }
115
+ const writer = NewWriter(
116
+ $.interfaceValue($.varRef(sink), '*zlib.asyncWriter'),
117
+ )
118
+
119
+ const [written, writeErr] = writer.Write($.stringToBytes('async zlib sink'))
120
+ expect(writeErr).toBeNull()
121
+ expect(written).toBe('async zlib sink'.length)
122
+ expect(await writer.Close()).toBeNull()
123
+ expect(chunks.length).toBeGreaterThan(0)
124
+ })
28
125
  })