From d9f42e02d980ea029659e50ede42666e608c029f Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Wed, 5 Apr 2017 17:04:24 +0900 Subject: [PATCH 1/3] remove ArrayBufferView from es5.d.ts --- src/lib/es5.d.ts | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) diff --git a/src/lib/es5.d.ts b/src/lib/es5.d.ts index b92d335457ab5..edecf0a0e42c4 100644 --- a/src/lib/es5.d.ts +++ b/src/lib/es5.d.ts @@ -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; From 5cfc41c2a080b8c2a6e4d47bd87074dd7d7fd721 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Wed, 5 Apr 2017 17:22:52 +0900 Subject: [PATCH 2/3] TEMPORARILY add ArrayBufferView on dom lib This is a temporary change to provide ArrayBufferView type and solve PR deadlock before TSJS-lib-generator PR merge. --- src/lib/dom.generated.d.ts | 3 ++- src/lib/webworker.generated.d.ts | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/lib/dom.generated.d.ts b/src/lib/dom.generated.d.ts index 348e52246a75b..37181a042223c 100644 --- a/src/lib/dom.generated.d.ts +++ b/src/lib/dom.generated.d.ts @@ -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"; \ No newline at end of file +type ScrollRestoration = "auto" | "manual"; +type ArrayBufferView = Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView; \ No newline at end of file diff --git a/src/lib/webworker.generated.d.ts b/src/lib/webworker.generated.d.ts index 326a3a9546e6a..aa26428cbd0a4 100644 --- a/src/lib/webworker.generated.d.ts +++ b/src/lib/webworker.generated.d.ts @@ -1745,4 +1745,5 @@ type IDBKeyPath = string; type RequestInfo = Request | string; type USVString = string; type IDBValidKey = number | string | Date | IDBArrayKey; -type BufferSource = ArrayBuffer | ArrayBufferView; \ No newline at end of file +type BufferSource = ArrayBuffer | ArrayBufferView; +type ArrayBufferView = Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView; \ No newline at end of file From 25b0fbc8194d7c00841d8da8df73728a5fa33202 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Wed, 5 Apr 2017 17:33:14 +0900 Subject: [PATCH 3/3] remove ABV on JS-only test codes --- .../reference/arrayBufferIsViewNarrowsType.js | 4 ++-- .../reference/arrayBufferIsViewNarrowsType.symbols | 6 ++++-- .../reference/arrayBufferIsViewNarrowsType.types | 14 ++++++++------ .../cases/compiler/arrayBufferIsViewNarrowsType.ts | 2 +- 4 files changed, 15 insertions(+), 11 deletions(-) diff --git a/tests/baselines/reference/arrayBufferIsViewNarrowsType.js b/tests/baselines/reference/arrayBufferIsViewNarrowsType.js index fcda4d5976bd3..1fe016dc3a7d5 100644 --- a/tests/baselines/reference/arrayBufferIsViewNarrowsType.js +++ b/tests/baselines/reference/arrayBufferIsViewNarrowsType.js @@ -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; } diff --git a/tests/baselines/reference/arrayBufferIsViewNarrowsType.symbols b/tests/baselines/reference/arrayBufferIsViewNarrowsType.symbols index eb7ffe7479eb2..56f53ebdcce50 100644 --- a/tests/baselines/reference/arrayBufferIsViewNarrowsType.symbols +++ b/tests/baselines/reference/arrayBufferIsViewNarrowsType.symbols @@ -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, --, --)) } diff --git a/tests/baselines/reference/arrayBufferIsViewNarrowsType.types b/tests/baselines/reference/arrayBufferIsViewNarrowsType.types index 129b7d601d863..a6984cb9dc5e9 100644 --- a/tests/baselines/reference/arrayBufferIsViewNarrowsType.types +++ b/tests/baselines/reference/arrayBufferIsViewNarrowsType.types @@ -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 } diff --git a/tests/cases/compiler/arrayBufferIsViewNarrowsType.ts b/tests/cases/compiler/arrayBufferIsViewNarrowsType.ts index ba653408c20df..c73424530babd 100644 --- a/tests/cases/compiler/arrayBufferIsViewNarrowsType.ts +++ b/tests/cases/compiler/arrayBufferIsViewNarrowsType.ts @@ -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; } \ No newline at end of file