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
|
=== tests/cases/compiler/objectFromEntries.ts ===
const o = Object.fromEntries([['a', 1], ['b', 2], ['c', 3]]);
>o : { [k: string]: number; }
>Object.fromEntries([['a', 1], ['b', 2], ['c', 3]]) : { [k: string]: number; }
>Object.fromEntries : { <T = any>(entries: Iterable<readonly [PropertyKey, T]>): { [k: string]: T; }; (entries: Iterable<readonly any[]>): any; }
>Object : ObjectConstructor
>fromEntries : { <T = any>(entries: Iterable<readonly [PropertyKey, T]>): { [k: string]: T; }; (entries: Iterable<readonly any[]>): any; }
>[['a', 1], ['b', 2], ['c', 3]] : [string, number][]
>['a', 1] : [string, number]
>'a' : "a"
>1 : 1
>['b', 2] : [string, number]
>'b' : "b"
>2 : 2
>['c', 3] : [string, number]
>'c' : "c"
>3 : 3
const o2 = Object.fromEntries(new URLSearchParams());
>o2 : { [k: string]: string; }
>Object.fromEntries(new URLSearchParams()) : { [k: string]: string; }
>Object.fromEntries : { <T = any>(entries: Iterable<readonly [PropertyKey, T]>): { [k: string]: T; }; (entries: Iterable<readonly any[]>): any; }
>Object : ObjectConstructor
>fromEntries : { <T = any>(entries: Iterable<readonly [PropertyKey, T]>): { [k: string]: T; }; (entries: Iterable<readonly any[]>): any; }
>new URLSearchParams() : URLSearchParams
>URLSearchParams : { new (init?: string | URLSearchParams | string[][] | Record<string, string>): URLSearchParams; prototype: URLSearchParams; toString(): string; }
const o3 = Object.fromEntries(new Map([[Symbol("key"), "value"]]));
>o3 : { [k: string]: string; }
>Object.fromEntries(new Map([[Symbol("key"), "value"]])) : { [k: string]: string; }
>Object.fromEntries : { <T = any>(entries: Iterable<readonly [PropertyKey, T]>): { [k: string]: T; }; (entries: Iterable<readonly any[]>): any; }
>Object : ObjectConstructor
>fromEntries : { <T = any>(entries: Iterable<readonly [PropertyKey, T]>): { [k: string]: T; }; (entries: Iterable<readonly any[]>): any; }
>new Map([[Symbol("key"), "value"]]) : Map<symbol, string>
>Map : MapConstructor
>[[Symbol("key"), "value"]] : [symbol, string][]
>[Symbol("key"), "value"] : [symbol, string]
>Symbol("key") : symbol
>Symbol : SymbolConstructor
>"key" : "key"
>"value" : "value"
const frozenArray = Object.freeze([['a', 1], ['b', 2], ['c', 3]]);
>frozenArray : readonly (string | number)[][]
>Object.freeze([['a', 1], ['b', 2], ['c', 3]]) : readonly (string | number)[][]
>Object.freeze : { <T extends Function>(f: T): T; <T extends { [idx: string]: object | U; }, U extends string | number | bigint | boolean | symbol>(o: T): Readonly<T>; <T>(o: T): Readonly<T>; }
>Object : ObjectConstructor
>freeze : { <T extends Function>(f: T): T; <T extends { [idx: string]: object | U; }, U extends string | number | bigint | boolean | symbol>(o: T): Readonly<T>; <T>(o: T): Readonly<T>; }
>[['a', 1], ['b', 2], ['c', 3]] : (string | number)[][]
>['a', 1] : (string | number)[]
>'a' : "a"
>1 : 1
>['b', 2] : (string | number)[]
>'b' : "b"
>2 : 2
>['c', 3] : (string | number)[]
>'c' : "c"
>3 : 3
const o4 = Object.fromEntries(frozenArray);
>o4 : any
>Object.fromEntries(frozenArray) : any
>Object.fromEntries : { <T = any>(entries: Iterable<readonly [PropertyKey, T]>): { [k: string]: T; }; (entries: Iterable<readonly any[]>): any; }
>Object : ObjectConstructor
>fromEntries : { <T = any>(entries: Iterable<readonly [PropertyKey, T]>): { [k: string]: T; }; (entries: Iterable<readonly any[]>): any; }
>frozenArray : readonly (string | number)[][]
const frozenArray2: readonly [string, number][] = Object.freeze([['a', 1], ['b', 2], ['c', 3]]);
>frozenArray2 : readonly [string, number][]
>Object.freeze([['a', 1], ['b', 2], ['c', 3]]) : readonly [string, number][]
>Object.freeze : { <T extends Function>(f: T): T; <T extends { [idx: string]: object | U; }, U extends string | number | bigint | boolean | symbol>(o: T): Readonly<T>; <T>(o: T): Readonly<T>; }
>Object : ObjectConstructor
>freeze : { <T extends Function>(f: T): T; <T extends { [idx: string]: object | U; }, U extends string | number | bigint | boolean | symbol>(o: T): Readonly<T>; <T>(o: T): Readonly<T>; }
>[['a', 1], ['b', 2], ['c', 3]] : [string, number][]
>['a', 1] : [string, number]
>'a' : "a"
>1 : 1
>['b', 2] : [string, number]
>'b' : "b"
>2 : 2
>['c', 3] : [string, number]
>'c' : "c"
>3 : 3
const o5 = Object.fromEntries(frozenArray2);
>o5 : { [k: string]: number; }
>Object.fromEntries(frozenArray2) : { [k: string]: number; }
>Object.fromEntries : { <T = any>(entries: Iterable<readonly [PropertyKey, T]>): { [k: string]: T; }; (entries: Iterable<readonly any[]>): any; }
>Object : ObjectConstructor
>fromEntries : { <T = any>(entries: Iterable<readonly [PropertyKey, T]>): { [k: string]: T; }; (entries: Iterable<readonly any[]>): any; }
>frozenArray2 : readonly [string, number][]
|