Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion src/lib/dom.generated.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14939,4 +14939,5 @@ type ScrollLogicalPosition = "start" | "center" | "end" | "nearest";
type IDBValidKey = number | string | Date | IDBArrayKey;
type BufferSource = ArrayBuffer | ArrayBufferView;
type MouseWheelEvent = WheelEvent;
type ScrollRestoration = "auto" | "manual";
type ScrollRestoration = "auto" | "manual";
type ArrayBufferView = Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView;
19 changes: 1 addition & 18 deletions src/lib/es5.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1389,27 +1389,10 @@ interface ArrayBuffer {
interface ArrayBufferConstructor {
readonly prototype: ArrayBuffer;
new (byteLength: number): ArrayBuffer;
isView(arg: any): arg is ArrayBufferView;
isView(arg: any): arg is (Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView);
}
declare const ArrayBuffer: ArrayBufferConstructor;

interface ArrayBufferView {
/**
* The ArrayBuffer instance referenced by the array.
*/
buffer: ArrayBuffer;

/**
* The length in bytes of the array.
*/
byteLength: number;

/**
* The offset in bytes of the array.
*/
byteOffset: number;
}

interface DataView {
readonly buffer: ArrayBuffer;
readonly byteLength: number;
Expand Down
3 changes: 2 additions & 1 deletion src/lib/webworker.generated.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1745,4 +1745,5 @@ type IDBKeyPath = string;
type RequestInfo = Request | string;
type USVString = string;
type IDBValidKey = number | string | Date | IDBArrayKey;
type BufferSource = ArrayBuffer | ArrayBufferView;
type BufferSource = ArrayBuffer | ArrayBufferView;
type ArrayBufferView = Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView;
4 changes: 2 additions & 2 deletions tests/baselines/reference/arrayBufferIsViewNarrowsType.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@
var obj: Object;
if (ArrayBuffer.isView(obj)) {
// isView should be a guard that narrows type to ArrayBufferView.
var ab: ArrayBufferView = obj;
var ab: ArrayBuffer = obj.buffer;
}

//// [arrayBufferIsViewNarrowsType.js]
var obj;
if (ArrayBuffer.isView(obj)) {
// isView should be a guard that narrows type to ArrayBufferView.
var ab = obj;
var ab = obj.buffer;
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,10 @@ if (ArrayBuffer.isView(obj)) {
>obj : Symbol(obj, Decl(arrayBufferIsViewNarrowsType.ts, 0, 3))

// isView should be a guard that narrows type to ArrayBufferView.
var ab: ArrayBufferView = obj;
var ab: ArrayBuffer = obj.buffer;
>ab : Symbol(ab, Decl(arrayBufferIsViewNarrowsType.ts, 3, 7))
>ArrayBufferView : Symbol(ArrayBufferView, Decl(lib.d.ts, --, --))
>ArrayBuffer : Symbol(ArrayBuffer, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --))
>obj.buffer : Symbol(buffer, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --))
>obj : Symbol(obj, Decl(arrayBufferIsViewNarrowsType.ts, 0, 3))
>buffer : Symbol(buffer, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --))
}
14 changes: 8 additions & 6 deletions tests/baselines/reference/arrayBufferIsViewNarrowsType.types
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,16 @@ var obj: Object;

if (ArrayBuffer.isView(obj)) {
>ArrayBuffer.isView(obj) : boolean
>ArrayBuffer.isView : (arg: any) => arg is ArrayBufferView
>ArrayBuffer.isView : (arg: any) => arg is Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView
>ArrayBuffer : ArrayBufferConstructor
>isView : (arg: any) => arg is ArrayBufferView
>isView : (arg: any) => arg is Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView
>obj : Object

// isView should be a guard that narrows type to ArrayBufferView.
var ab: ArrayBufferView = obj;
>ab : ArrayBufferView
>ArrayBufferView : ArrayBufferView
>obj : ArrayBufferView
var ab: ArrayBuffer = obj.buffer;
>ab : ArrayBuffer
>ArrayBuffer : ArrayBuffer
>obj.buffer : ArrayBuffer
>obj : Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView
>buffer : ArrayBuffer
}
2 changes: 1 addition & 1 deletion tests/cases/compiler/arrayBufferIsViewNarrowsType.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
var obj: Object;
if (ArrayBuffer.isView(obj)) {
// isView should be a guard that narrows type to ArrayBufferView.
var ab: ArrayBufferView = obj;
var ab: ArrayBuffer = obj.buffer;
}