mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-04-17 01:49:41 -05:00
Merge pull request #11222 from kitsonk/array-slice-typings
Improve Array.prototype.splice typing
This commit is contained in:
3
src/lib/es5.d.ts
vendored
3
src/lib/es5.d.ts
vendored
@@ -1171,8 +1171,9 @@ interface Array<T> {
|
||||
/**
|
||||
* Removes elements from an array and, if necessary, inserts new elements in their place, returning the deleted elements.
|
||||
* @param start The zero-based location in the array from which to start removing elements.
|
||||
* @param deleteCount The number of elements to remove.
|
||||
*/
|
||||
splice(start: number): T[];
|
||||
splice(start: number, deleteCount?: number): T[];
|
||||
/**
|
||||
* Removes elements from an array and, if necessary, inserts new elements in their place, returning the deleted elements.
|
||||
* @param start The zero-based location in the array from which to start removing elements.
|
||||
|
||||
8
tests/baselines/reference/arraySlice.js
Normal file
8
tests/baselines/reference/arraySlice.js
Normal file
@@ -0,0 +1,8 @@
|
||||
//// [arraySlice.ts]
|
||||
var arr: string[] | number[];
|
||||
arr.splice(1, 1);
|
||||
|
||||
|
||||
//// [arraySlice.js]
|
||||
var arr;
|
||||
arr.splice(1, 1);
|
||||
9
tests/baselines/reference/arraySlice.symbols
Normal file
9
tests/baselines/reference/arraySlice.symbols
Normal file
@@ -0,0 +1,9 @@
|
||||
=== tests/cases/compiler/arraySlice.ts ===
|
||||
var arr: string[] | number[];
|
||||
>arr : Symbol(arr, Decl(arraySlice.ts, 0, 3))
|
||||
|
||||
arr.splice(1, 1);
|
||||
>arr.splice : Symbol(splice, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --))
|
||||
>arr : Symbol(arr, Decl(arraySlice.ts, 0, 3))
|
||||
>splice : Symbol(splice, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --))
|
||||
|
||||
12
tests/baselines/reference/arraySlice.types
Normal file
12
tests/baselines/reference/arraySlice.types
Normal file
@@ -0,0 +1,12 @@
|
||||
=== tests/cases/compiler/arraySlice.ts ===
|
||||
var arr: string[] | number[];
|
||||
>arr : string[] | number[]
|
||||
|
||||
arr.splice(1, 1);
|
||||
>arr.splice(1, 1) : string[] | number[]
|
||||
>arr.splice : { (start: number, deleteCount?: number): string[]; (start: number, deleteCount: number, ...items: string[]): string[]; } | { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }
|
||||
>arr : string[] | number[]
|
||||
>splice : { (start: number, deleteCount?: number): string[]; (start: number, deleteCount: number, ...items: string[]): string[]; } | { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }
|
||||
>1 : 1
|
||||
>1 : 1
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
var arr = [].splice(0,3,4,5);
|
||||
>arr : any[]
|
||||
>[].splice(0,3,4,5) : any[]
|
||||
>[].splice : { (start: number): any[]; (start: number, deleteCount: number, ...items: any[]): any[]; }
|
||||
>[].splice : { (start: number, deleteCount?: number): any[]; (start: number, deleteCount: number, ...items: any[]): any[]; }
|
||||
>[] : undefined[]
|
||||
>splice : { (start: number): any[]; (start: number, deleteCount: number, ...items: any[]): any[]; }
|
||||
>splice : { (start: number, deleteCount?: number): any[]; (start: number, deleteCount: number, ...items: any[]): any[]; }
|
||||
>0 : 0
|
||||
>3 : 3
|
||||
>4 : 4
|
||||
|
||||
@@ -364,9 +364,9 @@ class ListWrapper {
|
||||
>value : T
|
||||
>T : T
|
||||
>list.splice(index, 0, value) : T[]
|
||||
>list.splice : { (start: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; }
|
||||
>list.splice : { (start: number, deleteCount?: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; }
|
||||
>list : T[]
|
||||
>splice : { (start: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; }
|
||||
>splice : { (start: number, deleteCount?: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; }
|
||||
>index : number
|
||||
>0 : 0
|
||||
>value : T
|
||||
@@ -389,9 +389,9 @@ class ListWrapper {
|
||||
|
||||
list.splice(index, 1);
|
||||
>list.splice(index, 1) : T[]
|
||||
>list.splice : { (start: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; }
|
||||
>list.splice : { (start: number, deleteCount?: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; }
|
||||
>list : T[]
|
||||
>splice : { (start: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; }
|
||||
>splice : { (start: number, deleteCount?: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; }
|
||||
>index : number
|
||||
>1 : 1
|
||||
|
||||
@@ -431,9 +431,9 @@ class ListWrapper {
|
||||
|
||||
list.splice(index, 1);
|
||||
>list.splice(index, 1) : T[]
|
||||
>list.splice : { (start: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; }
|
||||
>list.splice : { (start: number, deleteCount?: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; }
|
||||
>list : T[]
|
||||
>splice : { (start: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; }
|
||||
>splice : { (start: number, deleteCount?: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; }
|
||||
>index : number
|
||||
>1 : 1
|
||||
}
|
||||
@@ -464,9 +464,9 @@ class ListWrapper {
|
||||
|
||||
list.splice(index, 1);
|
||||
>list.splice(index, 1) : T[]
|
||||
>list.splice : { (start: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; }
|
||||
>list.splice : { (start: number, deleteCount?: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; }
|
||||
>list : T[]
|
||||
>splice : { (start: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; }
|
||||
>splice : { (start: number, deleteCount?: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; }
|
||||
>index : number
|
||||
>1 : 1
|
||||
|
||||
@@ -603,9 +603,9 @@ class ListWrapper {
|
||||
>length : number
|
||||
>T : T
|
||||
>l.splice(from, length) : T[]
|
||||
>l.splice : { (start: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; }
|
||||
>l.splice : { (start: number, deleteCount?: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; }
|
||||
>l : T[]
|
||||
>splice : { (start: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; }
|
||||
>splice : { (start: number, deleteCount?: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; }
|
||||
>from : number
|
||||
>length : number
|
||||
|
||||
|
||||
2
tests/cases/compiler/arraySlice.ts
Normal file
2
tests/cases/compiler/arraySlice.ts
Normal file
@@ -0,0 +1,2 @@
|
||||
var arr: string[] | number[];
|
||||
arr.splice(1, 1);
|
||||
Reference in New Issue
Block a user