Merge pull request #5322 from jvilk/master
Change ArrayBuffer.isView declaration to type guard for ArrayBufferView.
This commit is contained in:
commit
28c2887d50
2
src/lib/core.d.ts
vendored
2
src/lib/core.d.ts
vendored
|
@ -1210,7 +1210,7 @@ interface ArrayBuffer {
|
|||
interface ArrayBufferConstructor {
|
||||
prototype: ArrayBuffer;
|
||||
new (byteLength: number): ArrayBuffer;
|
||||
isView(arg: any): boolean;
|
||||
isView(arg: any): arg is ArrayBufferView;
|
||||
}
|
||||
declare var ArrayBuffer: ArrayBufferConstructor;
|
||||
|
||||
|
|
13
tests/baselines/reference/arrayBufferIsViewNarrowsType.js
Normal file
13
tests/baselines/reference/arrayBufferIsViewNarrowsType.js
Normal file
|
@ -0,0 +1,13 @@
|
|||
//// [arrayBufferIsViewNarrowsType.ts]
|
||||
var obj: Object;
|
||||
if (ArrayBuffer.isView(obj)) {
|
||||
// isView should be a guard that narrows type to ArrayBufferView.
|
||||
var ab: ArrayBufferView = obj;
|
||||
}
|
||||
|
||||
//// [arrayBufferIsViewNarrowsType.js]
|
||||
var obj;
|
||||
if (ArrayBuffer.isView(obj)) {
|
||||
// isView should be a guard that narrows type to ArrayBufferView.
|
||||
var ab = obj;
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
=== tests/cases/compiler/arrayBufferIsViewNarrowsType.ts ===
|
||||
var obj: Object;
|
||||
>obj : Symbol(obj, Decl(arrayBufferIsViewNarrowsType.ts, 0, 3))
|
||||
>Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --))
|
||||
|
||||
if (ArrayBuffer.isView(obj)) {
|
||||
>ArrayBuffer.isView : Symbol(ArrayBufferConstructor.isView, Decl(lib.d.ts, --, --))
|
||||
>ArrayBuffer : Symbol(ArrayBuffer, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --))
|
||||
>isView : Symbol(ArrayBufferConstructor.isView, Decl(lib.d.ts, --, --))
|
||||
>obj : Symbol(obj, Decl(arrayBufferIsViewNarrowsType.ts, 0, 3))
|
||||
|
||||
// isView should be a guard that narrows type to ArrayBufferView.
|
||||
var ab: ArrayBufferView = obj;
|
||||
>ab : Symbol(ab, Decl(arrayBufferIsViewNarrowsType.ts, 3, 7))
|
||||
>ArrayBufferView : Symbol(ArrayBufferView, Decl(lib.d.ts, --, --))
|
||||
>obj : Symbol(obj, Decl(arrayBufferIsViewNarrowsType.ts, 0, 3))
|
||||
}
|
18
tests/baselines/reference/arrayBufferIsViewNarrowsType.types
Normal file
18
tests/baselines/reference/arrayBufferIsViewNarrowsType.types
Normal file
|
@ -0,0 +1,18 @@
|
|||
=== tests/cases/compiler/arrayBufferIsViewNarrowsType.ts ===
|
||||
var obj: Object;
|
||||
>obj : Object
|
||||
>Object : Object
|
||||
|
||||
if (ArrayBuffer.isView(obj)) {
|
||||
>ArrayBuffer.isView(obj) : boolean
|
||||
>ArrayBuffer.isView : (arg: any) => arg is ArrayBufferView
|
||||
>ArrayBuffer : ArrayBufferConstructor
|
||||
>isView : (arg: any) => arg is ArrayBufferView
|
||||
>obj : Object
|
||||
|
||||
// isView should be a guard that narrows type to ArrayBufferView.
|
||||
var ab: ArrayBufferView = obj;
|
||||
>ab : ArrayBufferView
|
||||
>ArrayBufferView : ArrayBufferView
|
||||
>obj : ArrayBufferView
|
||||
}
|
5
tests/cases/compiler/arrayBufferIsViewNarrowsType.ts
Normal file
5
tests/cases/compiler/arrayBufferIsViewNarrowsType.ts
Normal file
|
@ -0,0 +1,5 @@
|
|||
var obj: Object;
|
||||
if (ArrayBuffer.isView(obj)) {
|
||||
// isView should be a guard that narrows type to ArrayBufferView.
|
||||
var ab: ArrayBufferView = obj;
|
||||
}
|
Loading…
Reference in a new issue