Skip to content

Commit 263b2c4

Browse files
Fix typecheck error around TypedArray
1 parent 63cdb6b commit 263b2c4

File tree

2 files changed

+6
-14
lines changed

2 files changed

+6
-14
lines changed

Runtime/src/index.ts

+6-2
Original file line numberDiff line numberDiff line change
@@ -501,12 +501,16 @@ export class SwiftRuntime {
501501
return func_ref;
502502
},
503503

504-
swjs_create_typed_array: (
504+
swjs_create_typed_array: <T extends Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array | BigInt64Array | BigUint64Array | Float32Array | Float64Array | Uint8ClampedArray>(
505505
constructor_ref: ref,
506506
elementsPtr: pointer,
507507
length: number
508508
) => {
509-
const ArrayType: TypedArray =
509+
type TypedArrayConstructor = {
510+
new (buffer: ArrayBuffer, byteOffset: number, length: number): T;
511+
new (): T;
512+
};
513+
const ArrayType: TypedArrayConstructor =
510514
this.memory.getObject(constructor_ref);
511515
if (length == 0) {
512516
// The elementsPtr can be unaligned in Swift's Array

Runtime/src/types.ts

-12
Original file line numberDiff line numberDiff line change
@@ -28,18 +28,6 @@ export const enum LibraryFeatures {
2828
WeakRefs = 1 << 0,
2929
}
3030

31-
export type TypedArray =
32-
| Int8ArrayConstructor
33-
| Uint8ArrayConstructor
34-
| Int16ArrayConstructor
35-
| Uint16ArrayConstructor
36-
| Int32ArrayConstructor
37-
| Uint32ArrayConstructor
38-
| BigInt64ArrayConstructor
39-
| BigUint64ArrayConstructor
40-
| Float32ArrayConstructor
41-
| Float64ArrayConstructor;
42-
4331
export function assertNever(x: never, message: string) {
4432
throw new Error(message);
4533
}

0 commit comments

Comments
 (0)