1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155
|
=== tests/cases/compiler/modularizeLibrary_TargetES6UsingES6Lib.ts ===
// Using Es6 array
function f(x: number, y: number, z: number) {
>f : (x: number, y: number, z: number) => any[]
>x : number
>y : number
>z : number
return Array.from(arguments);
>Array.from(arguments) : any[]
>Array.from : { <T>(arrayLike: ArrayLike<T>): T[]; <T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; <T>(iterable: Iterable<T> | ArrayLike<T>): T[]; <T, U>(iterable: Iterable<T> | ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; }
>Array : ArrayConstructor
>from : { <T>(arrayLike: ArrayLike<T>): T[]; <T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; <T>(iterable: Iterable<T> | ArrayLike<T>): T[]; <T, U>(iterable: Iterable<T> | ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; }
>arguments : IArguments
}
f(1, 2, 3); // no error
>f(1, 2, 3) : any[]
>f : (x: number, y: number, z: number) => any[]
>1 : 1
>2 : 2
>3 : 3
// Using ES6 collection
var m = new Map<string, number>();
>m : Map<string, number>
>new Map<string, number>() : Map<string, number>
>Map : MapConstructor
m.clear();
>m.clear() : void
>m.clear : () => void
>m : Map<string, number>
>clear : () => void
// Using ES6 iterable
m.keys();
>m.keys() : IterableIterator<string>
>m.keys : () => IterableIterator<string>
>m : Map<string, number>
>keys : () => IterableIterator<string>
// Using ES6 function
function Baz() { }
>Baz : () => void
Baz.name;
>Baz.name : string
>Baz : () => void
>name : string
// Using ES6 math
Math.sign(1);
>Math.sign(1) : number
>Math.sign : (x: number) => number
>Math : Math
>sign : (x: number) => number
>1 : 1
// Using ES6 object
var o = {
>o : { a: number; [Symbol.hasInstance](value: any): boolean; }
>{ a: 2, [Symbol.hasInstance](value: any) { return false; }} : { a: number; [Symbol.hasInstance](value: any): boolean; }
a: 2,
>a : number
>2 : 2
[Symbol.hasInstance](value: any) {
>[Symbol.hasInstance] : (value: any) => boolean
>Symbol.hasInstance : symbol
>Symbol : SymbolConstructor
>hasInstance : symbol
>value : any
return false;
>false : false
}
};
o.hasOwnProperty(Symbol.hasInstance);
>o.hasOwnProperty(Symbol.hasInstance) : boolean
>o.hasOwnProperty : (v: string | number | symbol) => boolean
>o : { a: number; [Symbol.hasInstance](value: any): boolean; }
>hasOwnProperty : (v: string | number | symbol) => boolean
>Symbol.hasInstance : symbol
>Symbol : SymbolConstructor
>hasInstance : symbol
// Using Es6 proxy
var t = {}
>t : {}
>{} : {}
var p = new Proxy(t, {});
>p : {}
>new Proxy(t, {}) : {}
>Proxy : ProxyConstructor
>t : {}
>{} : {}
// Using ES6 reflect
Reflect.isExtensible({});
>Reflect.isExtensible({}) : boolean
>Reflect.isExtensible : (target: object) => boolean
>Reflect : typeof Reflect
>isExtensible : (target: object) => boolean
>{} : {}
// Using Es6 regexp
var reg = new RegExp("/s");
>reg : RegExp
>new RegExp("/s") : RegExp
>RegExp : RegExpConstructor
>"/s" : "/s"
reg.flags;
>reg.flags : string
>reg : RegExp
>flags : string
// Using ES6 string
var str = "Hello world";
>str : string
>"Hello world" : "Hello world"
str.includes("hello", 0);
>str.includes("hello", 0) : boolean
>str.includes : (searchString: string, position?: number) => boolean
>str : string
>includes : (searchString: string, position?: number) => boolean
>"hello" : "hello"
>0 : 0
// Using ES6 symbol
var s = Symbol();
>s : symbol
>Symbol() : symbol
>Symbol : SymbolConstructor
// Using ES6 wellknown-symbol
const o1 = {
>o1 : { [Symbol.hasInstance](value: any): boolean; }
>{ [Symbol.hasInstance](value: any) { return false; }} : { [Symbol.hasInstance](value: any): boolean; }
[Symbol.hasInstance](value: any) {
>[Symbol.hasInstance] : (value: any) => boolean
>Symbol.hasInstance : symbol
>Symbol : SymbolConstructor
>hasInstance : symbol
>value : any
return false;
>false : false
}
}
|