mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-06 11:54:44 -06:00
Accept new baselines
This commit is contained in:
parent
04a0f55e96
commit
997c586252
@ -1,41 +1,29 @@
|
||||
tests/cases/conformance/types/mapped/mappedTypeErrors.ts(34,20): error TS2313: Type parameter 'P' has a circular constraint.
|
||||
tests/cases/conformance/types/mapped/mappedTypeErrors.ts(35,20): error TS2322: Type 'Date' is not assignable to type 'string | number'.
|
||||
tests/cases/conformance/types/mapped/mappedTypeErrors.ts(20,20): error TS2313: Type parameter 'P' has a circular constraint.
|
||||
tests/cases/conformance/types/mapped/mappedTypeErrors.ts(21,20): error TS2322: Type 'Date' is not assignable to type 'string | number'.
|
||||
Type 'Date' is not assignable to type 'number'.
|
||||
tests/cases/conformance/types/mapped/mappedTypeErrors.ts(36,19): error TS2344: Type 'Date' does not satisfy the constraint 'string | number'.
|
||||
tests/cases/conformance/types/mapped/mappedTypeErrors.ts(22,19): error TS2344: Type 'Date' does not satisfy the constraint 'string | number'.
|
||||
Type 'Date' is not assignable to type 'number'.
|
||||
tests/cases/conformance/types/mapped/mappedTypeErrors.ts(39,24): error TS2344: Type '"foo"' does not satisfy the constraint '"name" | "width" | "height" | "visible"'.
|
||||
tests/cases/conformance/types/mapped/mappedTypeErrors.ts(40,24): error TS2344: Type '"name" | "foo"' does not satisfy the constraint '"name" | "width" | "height" | "visible"'.
|
||||
tests/cases/conformance/types/mapped/mappedTypeErrors.ts(25,24): error TS2344: Type '"foo"' does not satisfy the constraint '"name" | "width" | "height" | "visible"'.
|
||||
tests/cases/conformance/types/mapped/mappedTypeErrors.ts(26,24): error TS2344: Type '"name" | "foo"' does not satisfy the constraint '"name" | "width" | "height" | "visible"'.
|
||||
Type '"foo"' is not assignable to type '"name" | "width" | "height" | "visible"'.
|
||||
tests/cases/conformance/types/mapped/mappedTypeErrors.ts(42,24): error TS2344: Type '"x" | "y"' does not satisfy the constraint '"name" | "width" | "height" | "visible"'.
|
||||
tests/cases/conformance/types/mapped/mappedTypeErrors.ts(28,24): error TS2344: Type '"x" | "y"' does not satisfy the constraint '"name" | "width" | "height" | "visible"'.
|
||||
Type '"x"' is not assignable to type '"name" | "width" | "height" | "visible"'.
|
||||
tests/cases/conformance/types/mapped/mappedTypeErrors.ts(44,24): error TS2344: Type 'undefined' does not satisfy the constraint '"name" | "width" | "height" | "visible"'.
|
||||
tests/cases/conformance/types/mapped/mappedTypeErrors.ts(47,24): error TS2344: Type 'T' does not satisfy the constraint '"name" | "width" | "height" | "visible"'.
|
||||
tests/cases/conformance/types/mapped/mappedTypeErrors.ts(30,24): error TS2344: Type 'undefined' does not satisfy the constraint '"name" | "width" | "height" | "visible"'.
|
||||
tests/cases/conformance/types/mapped/mappedTypeErrors.ts(33,24): error TS2344: Type 'T' does not satisfy the constraint '"name" | "width" | "height" | "visible"'.
|
||||
Type 'T' is not assignable to type '"visible"'.
|
||||
tests/cases/conformance/types/mapped/mappedTypeErrors.ts(51,24): error TS2344: Type 'T' does not satisfy the constraint '"name" | "width" | "height" | "visible"'.
|
||||
tests/cases/conformance/types/mapped/mappedTypeErrors.ts(37,24): error TS2344: Type 'T' does not satisfy the constraint '"name" | "width" | "height" | "visible"'.
|
||||
Type 'string | number' is not assignable to type '"name" | "width" | "height" | "visible"'.
|
||||
Type 'string' is not assignable to type '"name" | "width" | "height" | "visible"'.
|
||||
Type 'T' is not assignable to type '"visible"'.
|
||||
Type 'string | number' is not assignable to type '"visible"'.
|
||||
Type 'string' is not assignable to type '"visible"'.
|
||||
tests/cases/conformance/types/mapped/mappedTypeErrors.ts(59,9): error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type '{ [P in keyof T]: T[P]; }', but here has type '{ [P in keyof T]?: T[P]; }'.
|
||||
tests/cases/conformance/types/mapped/mappedTypeErrors.ts(60,9): error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type '{ [P in keyof T]: T[P]; }', but here has type '{ readonly [P in keyof T]: T[P]; }'.
|
||||
tests/cases/conformance/types/mapped/mappedTypeErrors.ts(61,9): error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type '{ [P in keyof T]: T[P]; }', but here has type '{ readonly [P in keyof T]?: T[P]; }'.
|
||||
tests/cases/conformance/types/mapped/mappedTypeErrors.ts(66,9): error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type '{ [P in keyof T]: T[P]; }', but here has type '{ [P in keyof T]: T[P][]; }'.
|
||||
|
||||
|
||||
==== tests/cases/conformance/types/mapped/mappedTypeErrors.ts (9 errors) ====
|
||||
|
||||
type Partial<T> = {
|
||||
[P in keyof T]?: T[P];
|
||||
};
|
||||
|
||||
type Readonly<T> = {
|
||||
readonly [P in keyof T]: T[P];
|
||||
};
|
||||
|
||||
type Pick<T, K extends keyof T> = {
|
||||
[P in K]: T[P];
|
||||
}
|
||||
|
||||
type Record<K extends string | number, T> = {
|
||||
[_ in K]: T;
|
||||
}
|
||||
==== tests/cases/conformance/types/mapped/mappedTypeErrors.ts (13 errors) ====
|
||||
|
||||
interface Shape {
|
||||
name: string;
|
||||
@ -53,6 +41,8 @@ tests/cases/conformance/types/mapped/mappedTypeErrors.ts(51,24): error TS2344: T
|
||||
y: number;
|
||||
}
|
||||
|
||||
// Constraint checking
|
||||
|
||||
type T00 = { [P in P]: string }; // Error
|
||||
~
|
||||
!!! error TS2313: Type parameter 'P' has a circular constraint.
|
||||
@ -107,4 +97,33 @@ tests/cases/conformance/types/mapped/mappedTypeErrors.ts(51,24): error TS2344: T
|
||||
|
||||
function f4<T extends keyof Named>(x: T) {
|
||||
let y: Pick<Shape, T>;
|
||||
}
|
||||
|
||||
// Type identity checking
|
||||
|
||||
function f10<T>() {
|
||||
type K = keyof T;
|
||||
var x: { [P in keyof T]: T[P] };
|
||||
var x: { [Q in keyof T]: T[Q] };
|
||||
var x: { [R in K]: T[R] };
|
||||
}
|
||||
|
||||
function f11<T>() {
|
||||
var x: { [P in keyof T]: T[P] };
|
||||
var x: { [P in keyof T]?: T[P] }; // Error
|
||||
~
|
||||
!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type '{ [P in keyof T]: T[P]; }', but here has type '{ [P in keyof T]?: T[P]; }'.
|
||||
var x: { readonly [P in keyof T]: T[P] }; // Error
|
||||
~
|
||||
!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type '{ [P in keyof T]: T[P]; }', but here has type '{ readonly [P in keyof T]: T[P]; }'.
|
||||
var x: { readonly [P in keyof T]?: T[P] }; // Error
|
||||
~
|
||||
!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type '{ [P in keyof T]: T[P]; }', but here has type '{ readonly [P in keyof T]?: T[P]; }'.
|
||||
}
|
||||
|
||||
function f12<T>() {
|
||||
var x: { [P in keyof T]: T[P] };
|
||||
var x: { [P in keyof T]: T[P][] }; // Error
|
||||
~
|
||||
!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type '{ [P in keyof T]: T[P]; }', but here has type '{ [P in keyof T]: T[P][]; }'.
|
||||
}
|
||||
@ -1,21 +1,5 @@
|
||||
//// [mappedTypeErrors.ts]
|
||||
|
||||
type Partial<T> = {
|
||||
[P in keyof T]?: T[P];
|
||||
};
|
||||
|
||||
type Readonly<T> = {
|
||||
readonly [P in keyof T]: T[P];
|
||||
};
|
||||
|
||||
type Pick<T, K extends keyof T> = {
|
||||
[P in K]: T[P];
|
||||
}
|
||||
|
||||
type Record<K extends string | number, T> = {
|
||||
[_ in K]: T;
|
||||
}
|
||||
|
||||
interface Shape {
|
||||
name: string;
|
||||
width: number;
|
||||
@ -32,6 +16,8 @@ interface Point {
|
||||
y: number;
|
||||
}
|
||||
|
||||
// Constraint checking
|
||||
|
||||
type T00 = { [P in P]: string }; // Error
|
||||
type T01 = { [P in Date]: number }; // Error
|
||||
type T02 = Record<Date, number>; // Error
|
||||
@ -58,6 +44,27 @@ function f3<T extends keyof Shape>(x: T) {
|
||||
|
||||
function f4<T extends keyof Named>(x: T) {
|
||||
let y: Pick<Shape, T>;
|
||||
}
|
||||
|
||||
// Type identity checking
|
||||
|
||||
function f10<T>() {
|
||||
type K = keyof T;
|
||||
var x: { [P in keyof T]: T[P] };
|
||||
var x: { [Q in keyof T]: T[Q] };
|
||||
var x: { [R in K]: T[R] };
|
||||
}
|
||||
|
||||
function f11<T>() {
|
||||
var x: { [P in keyof T]: T[P] };
|
||||
var x: { [P in keyof T]?: T[P] }; // Error
|
||||
var x: { readonly [P in keyof T]: T[P] }; // Error
|
||||
var x: { readonly [P in keyof T]?: T[P] }; // Error
|
||||
}
|
||||
|
||||
function f12<T>() {
|
||||
var x: { [P in keyof T]: T[P] };
|
||||
var x: { [P in keyof T]: T[P][] }; // Error
|
||||
}
|
||||
|
||||
//// [mappedTypeErrors.js]
|
||||
@ -73,21 +80,25 @@ function f3(x) {
|
||||
function f4(x) {
|
||||
var y;
|
||||
}
|
||||
// Type identity checking
|
||||
function f10() {
|
||||
var x;
|
||||
var x;
|
||||
var x;
|
||||
}
|
||||
function f11() {
|
||||
var x;
|
||||
var x; // Error
|
||||
var x; // Error
|
||||
var x; // Error
|
||||
}
|
||||
function f12() {
|
||||
var x;
|
||||
var x; // Error
|
||||
}
|
||||
|
||||
|
||||
//// [mappedTypeErrors.d.ts]
|
||||
declare type Partial<T> = {
|
||||
[P in keyof T]?: T[P];
|
||||
};
|
||||
declare type Readonly<T> = {
|
||||
readonly [P in keyof T]: T[P];
|
||||
};
|
||||
declare type Pick<T, K extends keyof T> = {
|
||||
[P in K]: T[P];
|
||||
};
|
||||
declare type Record<K extends string | number, T> = {
|
||||
[_ in K]: T;
|
||||
};
|
||||
interface Shape {
|
||||
name: string;
|
||||
width: number;
|
||||
@ -119,3 +130,6 @@ declare function f1<T>(x: T): void;
|
||||
declare function f2<T extends string | number>(x: T): void;
|
||||
declare function f3<T extends keyof Shape>(x: T): void;
|
||||
declare function f4<T extends keyof Named>(x: T): void;
|
||||
declare function f10<T>(): void;
|
||||
declare function f11<T>(): void;
|
||||
declare function f12<T>(): void;
|
||||
|
||||
@ -1,19 +1,14 @@
|
||||
//// [mappedTypes2.ts]
|
||||
|
||||
type Partial<T> = {
|
||||
[P in keyof T]?: T[P];
|
||||
};
|
||||
|
||||
type Readonly<T> = {
|
||||
readonly [P in keyof T]: T[P];
|
||||
};
|
||||
|
||||
type Pick<T, K extends keyof T> = {
|
||||
[P in K]: T[P];
|
||||
}
|
||||
|
||||
type Record<K extends string | number, T> = {
|
||||
[_ in K]: T;
|
||||
function verifyLibTypes<T, K extends keyof T, U>() {
|
||||
var x1: Partial<T>;
|
||||
var x1: { [P in keyof T]?: T[P] };
|
||||
var x2: Readonly<T>;
|
||||
var x2: { readonly [P in keyof T]: T[P] };
|
||||
var x3: Pick<T, K>;
|
||||
var x3: { [P in K]: T[P] };
|
||||
var x4: Record<K, U>;
|
||||
var x4: { [P in K]: U };
|
||||
}
|
||||
|
||||
type Proxy<T> = {
|
||||
@ -95,6 +90,16 @@ function f6(shape: DeepReadonly<Shape>) {
|
||||
}
|
||||
|
||||
//// [mappedTypes2.js]
|
||||
function verifyLibTypes() {
|
||||
var x1;
|
||||
var x1;
|
||||
var x2;
|
||||
var x2;
|
||||
var x3;
|
||||
var x3;
|
||||
var x4;
|
||||
var x4;
|
||||
}
|
||||
function f0(s1, s2) {
|
||||
assign(s1, { name: "circle" });
|
||||
assign(s2, { width: 10, height: 20 });
|
||||
@ -129,18 +134,7 @@ function f6(shape) {
|
||||
|
||||
|
||||
//// [mappedTypes2.d.ts]
|
||||
declare type Partial<T> = {
|
||||
[P in keyof T]?: T[P];
|
||||
};
|
||||
declare type Readonly<T> = {
|
||||
readonly [P in keyof T]: T[P];
|
||||
};
|
||||
declare type Pick<T, K extends keyof T> = {
|
||||
[P in K]: T[P];
|
||||
};
|
||||
declare type Record<K extends string | number, T> = {
|
||||
[_ in K]: T;
|
||||
};
|
||||
declare function verifyLibTypes<T, K extends keyof T, U>(): void;
|
||||
declare type Proxy<T> = {
|
||||
get(): T;
|
||||
set(value: T): void;
|
||||
|
||||
@ -1,331 +1,340 @@
|
||||
=== tests/cases/conformance/types/mapped/mappedTypes2.ts ===
|
||||
|
||||
type Partial<T> = {
|
||||
>Partial : Symbol(Partial, Decl(mappedTypes2.ts, 0, 0))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 1, 13))
|
||||
function verifyLibTypes<T, K extends keyof T, U>() {
|
||||
>verifyLibTypes : Symbol(verifyLibTypes, Decl(mappedTypes2.ts, 0, 0))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 1, 24))
|
||||
>K : Symbol(K, Decl(mappedTypes2.ts, 1, 26))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 1, 24))
|
||||
>U : Symbol(U, Decl(mappedTypes2.ts, 1, 45))
|
||||
|
||||
[P in keyof T]?: T[P];
|
||||
>P : Symbol(P, Decl(mappedTypes2.ts, 2, 5))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 1, 13))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 1, 13))
|
||||
>P : Symbol(P, Decl(mappedTypes2.ts, 2, 5))
|
||||
var x1: Partial<T>;
|
||||
>x1 : Symbol(x1, Decl(mappedTypes2.ts, 2, 7), Decl(mappedTypes2.ts, 3, 7))
|
||||
>Partial : Symbol(Partial, Decl(lib.d.ts, --, --))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 1, 24))
|
||||
|
||||
};
|
||||
var x1: { [P in keyof T]?: T[P] };
|
||||
>x1 : Symbol(x1, Decl(mappedTypes2.ts, 2, 7), Decl(mappedTypes2.ts, 3, 7))
|
||||
>P : Symbol(P, Decl(mappedTypes2.ts, 3, 15))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 1, 24))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 1, 24))
|
||||
>P : Symbol(P, Decl(mappedTypes2.ts, 3, 15))
|
||||
|
||||
type Readonly<T> = {
|
||||
>Readonly : Symbol(Readonly, Decl(mappedTypes2.ts, 3, 2))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 5, 14))
|
||||
var x2: Readonly<T>;
|
||||
>x2 : Symbol(x2, Decl(mappedTypes2.ts, 4, 7), Decl(mappedTypes2.ts, 5, 7))
|
||||
>Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 1, 24))
|
||||
|
||||
readonly [P in keyof T]: T[P];
|
||||
>P : Symbol(P, Decl(mappedTypes2.ts, 6, 14))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 5, 14))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 5, 14))
|
||||
>P : Symbol(P, Decl(mappedTypes2.ts, 6, 14))
|
||||
var x2: { readonly [P in keyof T]: T[P] };
|
||||
>x2 : Symbol(x2, Decl(mappedTypes2.ts, 4, 7), Decl(mappedTypes2.ts, 5, 7))
|
||||
>P : Symbol(P, Decl(mappedTypes2.ts, 5, 24))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 1, 24))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 1, 24))
|
||||
>P : Symbol(P, Decl(mappedTypes2.ts, 5, 24))
|
||||
|
||||
};
|
||||
var x3: Pick<T, K>;
|
||||
>x3 : Symbol(x3, Decl(mappedTypes2.ts, 6, 7), Decl(mappedTypes2.ts, 7, 7))
|
||||
>Pick : Symbol(Pick, Decl(lib.d.ts, --, --))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 1, 24))
|
||||
>K : Symbol(K, Decl(mappedTypes2.ts, 1, 26))
|
||||
|
||||
type Pick<T, K extends keyof T> = {
|
||||
>Pick : Symbol(Pick, Decl(mappedTypes2.ts, 7, 2))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 9, 10))
|
||||
>K : Symbol(K, Decl(mappedTypes2.ts, 9, 12))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 9, 10))
|
||||
var x3: { [P in K]: T[P] };
|
||||
>x3 : Symbol(x3, Decl(mappedTypes2.ts, 6, 7), Decl(mappedTypes2.ts, 7, 7))
|
||||
>P : Symbol(P, Decl(mappedTypes2.ts, 7, 15))
|
||||
>K : Symbol(K, Decl(mappedTypes2.ts, 1, 26))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 1, 24))
|
||||
>P : Symbol(P, Decl(mappedTypes2.ts, 7, 15))
|
||||
|
||||
[P in K]: T[P];
|
||||
>P : Symbol(P, Decl(mappedTypes2.ts, 10, 5))
|
||||
>K : Symbol(K, Decl(mappedTypes2.ts, 9, 12))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 9, 10))
|
||||
>P : Symbol(P, Decl(mappedTypes2.ts, 10, 5))
|
||||
}
|
||||
var x4: Record<K, U>;
|
||||
>x4 : Symbol(x4, Decl(mappedTypes2.ts, 8, 7), Decl(mappedTypes2.ts, 9, 7))
|
||||
>Record : Symbol(Record, Decl(lib.d.ts, --, --))
|
||||
>K : Symbol(K, Decl(mappedTypes2.ts, 1, 26))
|
||||
>U : Symbol(U, Decl(mappedTypes2.ts, 1, 45))
|
||||
|
||||
type Record<K extends string | number, T> = {
|
||||
>Record : Symbol(Record, Decl(mappedTypes2.ts, 11, 1))
|
||||
>K : Symbol(K, Decl(mappedTypes2.ts, 13, 12))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 13, 38))
|
||||
|
||||
[_ in K]: T;
|
||||
>_ : Symbol(_, Decl(mappedTypes2.ts, 14, 5))
|
||||
>K : Symbol(K, Decl(mappedTypes2.ts, 13, 12))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 13, 38))
|
||||
var x4: { [P in K]: U };
|
||||
>x4 : Symbol(x4, Decl(mappedTypes2.ts, 8, 7), Decl(mappedTypes2.ts, 9, 7))
|
||||
>P : Symbol(P, Decl(mappedTypes2.ts, 9, 15))
|
||||
>K : Symbol(K, Decl(mappedTypes2.ts, 1, 26))
|
||||
>U : Symbol(U, Decl(mappedTypes2.ts, 1, 45))
|
||||
}
|
||||
|
||||
type Proxy<T> = {
|
||||
>Proxy : Symbol(Proxy, Decl(mappedTypes2.ts, 15, 1))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 17, 11))
|
||||
>Proxy : Symbol(Proxy, Decl(mappedTypes2.ts, 10, 1))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 12, 11))
|
||||
|
||||
get(): T;
|
||||
>get : Symbol(get, Decl(mappedTypes2.ts, 17, 17))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 17, 11))
|
||||
>get : Symbol(get, Decl(mappedTypes2.ts, 12, 17))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 12, 11))
|
||||
|
||||
set(value: T): void;
|
||||
>set : Symbol(set, Decl(mappedTypes2.ts, 18, 13))
|
||||
>value : Symbol(value, Decl(mappedTypes2.ts, 19, 8))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 17, 11))
|
||||
>set : Symbol(set, Decl(mappedTypes2.ts, 13, 13))
|
||||
>value : Symbol(value, Decl(mappedTypes2.ts, 14, 8))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 12, 11))
|
||||
}
|
||||
|
||||
type Proxify<T> = {
|
||||
>Proxify : Symbol(Proxify, Decl(mappedTypes2.ts, 20, 1))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 22, 13))
|
||||
>Proxify : Symbol(Proxify, Decl(mappedTypes2.ts, 15, 1))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 17, 13))
|
||||
|
||||
[P in keyof T]: Proxy<T[P]>;
|
||||
>P : Symbol(P, Decl(mappedTypes2.ts, 23, 5))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 22, 13))
|
||||
>Proxy : Symbol(Proxy, Decl(mappedTypes2.ts, 15, 1))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 22, 13))
|
||||
>P : Symbol(P, Decl(mappedTypes2.ts, 23, 5))
|
||||
>P : Symbol(P, Decl(mappedTypes2.ts, 18, 5))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 17, 13))
|
||||
>Proxy : Symbol(Proxy, Decl(mappedTypes2.ts, 10, 1))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 17, 13))
|
||||
>P : Symbol(P, Decl(mappedTypes2.ts, 18, 5))
|
||||
}
|
||||
|
||||
type DeepReadonly<T> = {
|
||||
>DeepReadonly : Symbol(DeepReadonly, Decl(mappedTypes2.ts, 24, 1))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 26, 18))
|
||||
>DeepReadonly : Symbol(DeepReadonly, Decl(mappedTypes2.ts, 19, 1))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 21, 18))
|
||||
|
||||
readonly [P in keyof T]: DeepReadonly<T[P]>;
|
||||
>P : Symbol(P, Decl(mappedTypes2.ts, 27, 14))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 26, 18))
|
||||
>DeepReadonly : Symbol(DeepReadonly, Decl(mappedTypes2.ts, 24, 1))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 26, 18))
|
||||
>P : Symbol(P, Decl(mappedTypes2.ts, 27, 14))
|
||||
>P : Symbol(P, Decl(mappedTypes2.ts, 22, 14))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 21, 18))
|
||||
>DeepReadonly : Symbol(DeepReadonly, Decl(mappedTypes2.ts, 19, 1))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 21, 18))
|
||||
>P : Symbol(P, Decl(mappedTypes2.ts, 22, 14))
|
||||
|
||||
};
|
||||
|
||||
declare function assign<T>(obj: T, props: Partial<T>): void;
|
||||
>assign : Symbol(assign, Decl(mappedTypes2.ts, 28, 2))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 30, 24))
|
||||
>obj : Symbol(obj, Decl(mappedTypes2.ts, 30, 27))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 30, 24))
|
||||
>props : Symbol(props, Decl(mappedTypes2.ts, 30, 34))
|
||||
>Partial : Symbol(Partial, Decl(mappedTypes2.ts, 0, 0))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 30, 24))
|
||||
>assign : Symbol(assign, Decl(mappedTypes2.ts, 23, 2))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 25, 24))
|
||||
>obj : Symbol(obj, Decl(mappedTypes2.ts, 25, 27))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 25, 24))
|
||||
>props : Symbol(props, Decl(mappedTypes2.ts, 25, 34))
|
||||
>Partial : Symbol(Partial, Decl(lib.d.ts, --, --))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 25, 24))
|
||||
|
||||
declare function freeze<T>(obj: T): Readonly<T>;
|
||||
>freeze : Symbol(freeze, Decl(mappedTypes2.ts, 30, 60))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 31, 24))
|
||||
>obj : Symbol(obj, Decl(mappedTypes2.ts, 31, 27))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 31, 24))
|
||||
>Readonly : Symbol(Readonly, Decl(mappedTypes2.ts, 3, 2))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 31, 24))
|
||||
>freeze : Symbol(freeze, Decl(mappedTypes2.ts, 25, 60))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 26, 24))
|
||||
>obj : Symbol(obj, Decl(mappedTypes2.ts, 26, 27))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 26, 24))
|
||||
>Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 26, 24))
|
||||
|
||||
declare function pick<T, K extends keyof T>(obj: T, ...keys: K[]): Pick<T, K>;
|
||||
>pick : Symbol(pick, Decl(mappedTypes2.ts, 31, 48))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 32, 22))
|
||||
>K : Symbol(K, Decl(mappedTypes2.ts, 32, 24))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 32, 22))
|
||||
>obj : Symbol(obj, Decl(mappedTypes2.ts, 32, 44))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 32, 22))
|
||||
>keys : Symbol(keys, Decl(mappedTypes2.ts, 32, 51))
|
||||
>K : Symbol(K, Decl(mappedTypes2.ts, 32, 24))
|
||||
>Pick : Symbol(Pick, Decl(mappedTypes2.ts, 7, 2))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 32, 22))
|
||||
>K : Symbol(K, Decl(mappedTypes2.ts, 32, 24))
|
||||
>pick : Symbol(pick, Decl(mappedTypes2.ts, 26, 48))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 27, 22))
|
||||
>K : Symbol(K, Decl(mappedTypes2.ts, 27, 24))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 27, 22))
|
||||
>obj : Symbol(obj, Decl(mappedTypes2.ts, 27, 44))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 27, 22))
|
||||
>keys : Symbol(keys, Decl(mappedTypes2.ts, 27, 51))
|
||||
>K : Symbol(K, Decl(mappedTypes2.ts, 27, 24))
|
||||
>Pick : Symbol(Pick, Decl(lib.d.ts, --, --))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 27, 22))
|
||||
>K : Symbol(K, Decl(mappedTypes2.ts, 27, 24))
|
||||
|
||||
declare function mapObject<K extends string | number, T, U>(obj: Record<K, T>, f: (x: T) => U): Record<K, U>;
|
||||
>mapObject : Symbol(mapObject, Decl(mappedTypes2.ts, 32, 78))
|
||||
>K : Symbol(K, Decl(mappedTypes2.ts, 33, 27))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 33, 53))
|
||||
>U : Symbol(U, Decl(mappedTypes2.ts, 33, 56))
|
||||
>obj : Symbol(obj, Decl(mappedTypes2.ts, 33, 60))
|
||||
>Record : Symbol(Record, Decl(mappedTypes2.ts, 11, 1))
|
||||
>K : Symbol(K, Decl(mappedTypes2.ts, 33, 27))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 33, 53))
|
||||
>f : Symbol(f, Decl(mappedTypes2.ts, 33, 78))
|
||||
>x : Symbol(x, Decl(mappedTypes2.ts, 33, 83))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 33, 53))
|
||||
>U : Symbol(U, Decl(mappedTypes2.ts, 33, 56))
|
||||
>Record : Symbol(Record, Decl(mappedTypes2.ts, 11, 1))
|
||||
>K : Symbol(K, Decl(mappedTypes2.ts, 33, 27))
|
||||
>U : Symbol(U, Decl(mappedTypes2.ts, 33, 56))
|
||||
>mapObject : Symbol(mapObject, Decl(mappedTypes2.ts, 27, 78))
|
||||
>K : Symbol(K, Decl(mappedTypes2.ts, 28, 27))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 28, 53))
|
||||
>U : Symbol(U, Decl(mappedTypes2.ts, 28, 56))
|
||||
>obj : Symbol(obj, Decl(mappedTypes2.ts, 28, 60))
|
||||
>Record : Symbol(Record, Decl(lib.d.ts, --, --))
|
||||
>K : Symbol(K, Decl(mappedTypes2.ts, 28, 27))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 28, 53))
|
||||
>f : Symbol(f, Decl(mappedTypes2.ts, 28, 78))
|
||||
>x : Symbol(x, Decl(mappedTypes2.ts, 28, 83))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 28, 53))
|
||||
>U : Symbol(U, Decl(mappedTypes2.ts, 28, 56))
|
||||
>Record : Symbol(Record, Decl(lib.d.ts, --, --))
|
||||
>K : Symbol(K, Decl(mappedTypes2.ts, 28, 27))
|
||||
>U : Symbol(U, Decl(mappedTypes2.ts, 28, 56))
|
||||
|
||||
declare function proxify<T>(obj: T): Proxify<T>;
|
||||
>proxify : Symbol(proxify, Decl(mappedTypes2.ts, 33, 109))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 34, 25))
|
||||
>obj : Symbol(obj, Decl(mappedTypes2.ts, 34, 28))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 34, 25))
|
||||
>Proxify : Symbol(Proxify, Decl(mappedTypes2.ts, 20, 1))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 34, 25))
|
||||
>proxify : Symbol(proxify, Decl(mappedTypes2.ts, 28, 109))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 29, 25))
|
||||
>obj : Symbol(obj, Decl(mappedTypes2.ts, 29, 28))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 29, 25))
|
||||
>Proxify : Symbol(Proxify, Decl(mappedTypes2.ts, 15, 1))
|
||||
>T : Symbol(T, Decl(mappedTypes2.ts, 29, 25))
|
||||
|
||||
interface Shape {
|
||||
>Shape : Symbol(Shape, Decl(mappedTypes2.ts, 34, 48))
|
||||
>Shape : Symbol(Shape, Decl(mappedTypes2.ts, 29, 48))
|
||||
|
||||
name: string;
|
||||
>name : Symbol(Shape.name, Decl(mappedTypes2.ts, 36, 17))
|
||||
>name : Symbol(Shape.name, Decl(mappedTypes2.ts, 31, 17))
|
||||
|
||||
width: number;
|
||||
>width : Symbol(Shape.width, Decl(mappedTypes2.ts, 37, 17))
|
||||
>width : Symbol(Shape.width, Decl(mappedTypes2.ts, 32, 17))
|
||||
|
||||
height: number;
|
||||
>height : Symbol(Shape.height, Decl(mappedTypes2.ts, 38, 18))
|
||||
>height : Symbol(Shape.height, Decl(mappedTypes2.ts, 33, 18))
|
||||
|
||||
visible: boolean;
|
||||
>visible : Symbol(Shape.visible, Decl(mappedTypes2.ts, 39, 19))
|
||||
>visible : Symbol(Shape.visible, Decl(mappedTypes2.ts, 34, 19))
|
||||
}
|
||||
|
||||
interface PartialShape {
|
||||
>PartialShape : Symbol(PartialShape, Decl(mappedTypes2.ts, 41, 1))
|
||||
>PartialShape : Symbol(PartialShape, Decl(mappedTypes2.ts, 36, 1))
|
||||
|
||||
name?: string;
|
||||
>name : Symbol(PartialShape.name, Decl(mappedTypes2.ts, 43, 24))
|
||||
>name : Symbol(PartialShape.name, Decl(mappedTypes2.ts, 38, 24))
|
||||
|
||||
width?: number;
|
||||
>width : Symbol(PartialShape.width, Decl(mappedTypes2.ts, 44, 18))
|
||||
>width : Symbol(PartialShape.width, Decl(mappedTypes2.ts, 39, 18))
|
||||
|
||||
height?: number;
|
||||
>height : Symbol(PartialShape.height, Decl(mappedTypes2.ts, 45, 19))
|
||||
>height : Symbol(PartialShape.height, Decl(mappedTypes2.ts, 40, 19))
|
||||
|
||||
visible?: boolean;
|
||||
>visible : Symbol(PartialShape.visible, Decl(mappedTypes2.ts, 46, 20))
|
||||
>visible : Symbol(PartialShape.visible, Decl(mappedTypes2.ts, 41, 20))
|
||||
}
|
||||
|
||||
interface ReadonlyShape {
|
||||
>ReadonlyShape : Symbol(ReadonlyShape, Decl(mappedTypes2.ts, 48, 1))
|
||||
>ReadonlyShape : Symbol(ReadonlyShape, Decl(mappedTypes2.ts, 43, 1))
|
||||
|
||||
readonly name: string;
|
||||
>name : Symbol(ReadonlyShape.name, Decl(mappedTypes2.ts, 50, 25))
|
||||
>name : Symbol(ReadonlyShape.name, Decl(mappedTypes2.ts, 45, 25))
|
||||
|
||||
readonly width: number;
|
||||
>width : Symbol(ReadonlyShape.width, Decl(mappedTypes2.ts, 51, 26))
|
||||
>width : Symbol(ReadonlyShape.width, Decl(mappedTypes2.ts, 46, 26))
|
||||
|
||||
readonly height: number;
|
||||
>height : Symbol(ReadonlyShape.height, Decl(mappedTypes2.ts, 52, 27))
|
||||
>height : Symbol(ReadonlyShape.height, Decl(mappedTypes2.ts, 47, 27))
|
||||
|
||||
readonly visible: boolean;
|
||||
>visible : Symbol(ReadonlyShape.visible, Decl(mappedTypes2.ts, 53, 28))
|
||||
>visible : Symbol(ReadonlyShape.visible, Decl(mappedTypes2.ts, 48, 28))
|
||||
}
|
||||
|
||||
function f0(s1: Shape, s2: Shape) {
|
||||
>f0 : Symbol(f0, Decl(mappedTypes2.ts, 55, 1))
|
||||
>s1 : Symbol(s1, Decl(mappedTypes2.ts, 57, 12))
|
||||
>Shape : Symbol(Shape, Decl(mappedTypes2.ts, 34, 48))
|
||||
>s2 : Symbol(s2, Decl(mappedTypes2.ts, 57, 22))
|
||||
>Shape : Symbol(Shape, Decl(mappedTypes2.ts, 34, 48))
|
||||
>f0 : Symbol(f0, Decl(mappedTypes2.ts, 50, 1))
|
||||
>s1 : Symbol(s1, Decl(mappedTypes2.ts, 52, 12))
|
||||
>Shape : Symbol(Shape, Decl(mappedTypes2.ts, 29, 48))
|
||||
>s2 : Symbol(s2, Decl(mappedTypes2.ts, 52, 22))
|
||||
>Shape : Symbol(Shape, Decl(mappedTypes2.ts, 29, 48))
|
||||
|
||||
assign(s1, { name: "circle" });
|
||||
>assign : Symbol(assign, Decl(mappedTypes2.ts, 28, 2))
|
||||
>s1 : Symbol(s1, Decl(mappedTypes2.ts, 57, 12))
|
||||
>name : Symbol(name, Decl(mappedTypes2.ts, 58, 16))
|
||||
>assign : Symbol(assign, Decl(mappedTypes2.ts, 23, 2))
|
||||
>s1 : Symbol(s1, Decl(mappedTypes2.ts, 52, 12))
|
||||
>name : Symbol(name, Decl(mappedTypes2.ts, 53, 16))
|
||||
|
||||
assign(s2, { width: 10, height: 20 });
|
||||
>assign : Symbol(assign, Decl(mappedTypes2.ts, 28, 2))
|
||||
>s2 : Symbol(s2, Decl(mappedTypes2.ts, 57, 22))
|
||||
>width : Symbol(width, Decl(mappedTypes2.ts, 59, 16))
|
||||
>height : Symbol(height, Decl(mappedTypes2.ts, 59, 27))
|
||||
>assign : Symbol(assign, Decl(mappedTypes2.ts, 23, 2))
|
||||
>s2 : Symbol(s2, Decl(mappedTypes2.ts, 52, 22))
|
||||
>width : Symbol(width, Decl(mappedTypes2.ts, 54, 16))
|
||||
>height : Symbol(height, Decl(mappedTypes2.ts, 54, 27))
|
||||
}
|
||||
|
||||
function f1(shape: Shape) {
|
||||
>f1 : Symbol(f1, Decl(mappedTypes2.ts, 60, 1))
|
||||
>shape : Symbol(shape, Decl(mappedTypes2.ts, 62, 12))
|
||||
>Shape : Symbol(Shape, Decl(mappedTypes2.ts, 34, 48))
|
||||
>f1 : Symbol(f1, Decl(mappedTypes2.ts, 55, 1))
|
||||
>shape : Symbol(shape, Decl(mappedTypes2.ts, 57, 12))
|
||||
>Shape : Symbol(Shape, Decl(mappedTypes2.ts, 29, 48))
|
||||
|
||||
var frozen: ReadonlyShape;
|
||||
>frozen : Symbol(frozen, Decl(mappedTypes2.ts, 63, 7), Decl(mappedTypes2.ts, 64, 7), Decl(mappedTypes2.ts, 65, 7))
|
||||
>ReadonlyShape : Symbol(ReadonlyShape, Decl(mappedTypes2.ts, 48, 1))
|
||||
>frozen : Symbol(frozen, Decl(mappedTypes2.ts, 58, 7), Decl(mappedTypes2.ts, 59, 7), Decl(mappedTypes2.ts, 60, 7))
|
||||
>ReadonlyShape : Symbol(ReadonlyShape, Decl(mappedTypes2.ts, 43, 1))
|
||||
|
||||
var frozen: Readonly<Shape>;
|
||||
>frozen : Symbol(frozen, Decl(mappedTypes2.ts, 63, 7), Decl(mappedTypes2.ts, 64, 7), Decl(mappedTypes2.ts, 65, 7))
|
||||
>Readonly : Symbol(Readonly, Decl(mappedTypes2.ts, 3, 2))
|
||||
>Shape : Symbol(Shape, Decl(mappedTypes2.ts, 34, 48))
|
||||
>frozen : Symbol(frozen, Decl(mappedTypes2.ts, 58, 7), Decl(mappedTypes2.ts, 59, 7), Decl(mappedTypes2.ts, 60, 7))
|
||||
>Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --))
|
||||
>Shape : Symbol(Shape, Decl(mappedTypes2.ts, 29, 48))
|
||||
|
||||
var frozen = freeze(shape);
|
||||
>frozen : Symbol(frozen, Decl(mappedTypes2.ts, 63, 7), Decl(mappedTypes2.ts, 64, 7), Decl(mappedTypes2.ts, 65, 7))
|
||||
>freeze : Symbol(freeze, Decl(mappedTypes2.ts, 30, 60))
|
||||
>shape : Symbol(shape, Decl(mappedTypes2.ts, 62, 12))
|
||||
>frozen : Symbol(frozen, Decl(mappedTypes2.ts, 58, 7), Decl(mappedTypes2.ts, 59, 7), Decl(mappedTypes2.ts, 60, 7))
|
||||
>freeze : Symbol(freeze, Decl(mappedTypes2.ts, 25, 60))
|
||||
>shape : Symbol(shape, Decl(mappedTypes2.ts, 57, 12))
|
||||
}
|
||||
|
||||
function f2(shape: Shape) {
|
||||
>f2 : Symbol(f2, Decl(mappedTypes2.ts, 66, 1))
|
||||
>shape : Symbol(shape, Decl(mappedTypes2.ts, 68, 12))
|
||||
>Shape : Symbol(Shape, Decl(mappedTypes2.ts, 34, 48))
|
||||
>f2 : Symbol(f2, Decl(mappedTypes2.ts, 61, 1))
|
||||
>shape : Symbol(shape, Decl(mappedTypes2.ts, 63, 12))
|
||||
>Shape : Symbol(Shape, Decl(mappedTypes2.ts, 29, 48))
|
||||
|
||||
var partial: PartialShape;
|
||||
>partial : Symbol(partial, Decl(mappedTypes2.ts, 69, 7), Decl(mappedTypes2.ts, 70, 7), Decl(mappedTypes2.ts, 71, 7))
|
||||
>PartialShape : Symbol(PartialShape, Decl(mappedTypes2.ts, 41, 1))
|
||||
>partial : Symbol(partial, Decl(mappedTypes2.ts, 64, 7), Decl(mappedTypes2.ts, 65, 7), Decl(mappedTypes2.ts, 66, 7))
|
||||
>PartialShape : Symbol(PartialShape, Decl(mappedTypes2.ts, 36, 1))
|
||||
|
||||
var partial: Partial<Shape>;
|
||||
>partial : Symbol(partial, Decl(mappedTypes2.ts, 69, 7), Decl(mappedTypes2.ts, 70, 7), Decl(mappedTypes2.ts, 71, 7))
|
||||
>Partial : Symbol(Partial, Decl(mappedTypes2.ts, 0, 0))
|
||||
>Shape : Symbol(Shape, Decl(mappedTypes2.ts, 34, 48))
|
||||
>partial : Symbol(partial, Decl(mappedTypes2.ts, 64, 7), Decl(mappedTypes2.ts, 65, 7), Decl(mappedTypes2.ts, 66, 7))
|
||||
>Partial : Symbol(Partial, Decl(lib.d.ts, --, --))
|
||||
>Shape : Symbol(Shape, Decl(mappedTypes2.ts, 29, 48))
|
||||
|
||||
var partial: Partial<Shape> = {};
|
||||
>partial : Symbol(partial, Decl(mappedTypes2.ts, 69, 7), Decl(mappedTypes2.ts, 70, 7), Decl(mappedTypes2.ts, 71, 7))
|
||||
>Partial : Symbol(Partial, Decl(mappedTypes2.ts, 0, 0))
|
||||
>Shape : Symbol(Shape, Decl(mappedTypes2.ts, 34, 48))
|
||||
>partial : Symbol(partial, Decl(mappedTypes2.ts, 64, 7), Decl(mappedTypes2.ts, 65, 7), Decl(mappedTypes2.ts, 66, 7))
|
||||
>Partial : Symbol(Partial, Decl(lib.d.ts, --, --))
|
||||
>Shape : Symbol(Shape, Decl(mappedTypes2.ts, 29, 48))
|
||||
}
|
||||
|
||||
function f3(shape: Shape) {
|
||||
>f3 : Symbol(f3, Decl(mappedTypes2.ts, 72, 1))
|
||||
>shape : Symbol(shape, Decl(mappedTypes2.ts, 74, 12))
|
||||
>Shape : Symbol(Shape, Decl(mappedTypes2.ts, 34, 48))
|
||||
>f3 : Symbol(f3, Decl(mappedTypes2.ts, 67, 1))
|
||||
>shape : Symbol(shape, Decl(mappedTypes2.ts, 69, 12))
|
||||
>Shape : Symbol(Shape, Decl(mappedTypes2.ts, 29, 48))
|
||||
|
||||
const x = pick(shape, "name", "visible"); // { name: string, visible: boolean }
|
||||
>x : Symbol(x, Decl(mappedTypes2.ts, 75, 9))
|
||||
>pick : Symbol(pick, Decl(mappedTypes2.ts, 31, 48))
|
||||
>shape : Symbol(shape, Decl(mappedTypes2.ts, 74, 12))
|
||||
>x : Symbol(x, Decl(mappedTypes2.ts, 70, 9))
|
||||
>pick : Symbol(pick, Decl(mappedTypes2.ts, 26, 48))
|
||||
>shape : Symbol(shape, Decl(mappedTypes2.ts, 69, 12))
|
||||
}
|
||||
|
||||
function f4() {
|
||||
>f4 : Symbol(f4, Decl(mappedTypes2.ts, 76, 1))
|
||||
>f4 : Symbol(f4, Decl(mappedTypes2.ts, 71, 1))
|
||||
|
||||
const rec = { foo: "hello", bar: "world", baz: "bye" };
|
||||
>rec : Symbol(rec, Decl(mappedTypes2.ts, 79, 9))
|
||||
>foo : Symbol(foo, Decl(mappedTypes2.ts, 79, 17))
|
||||
>bar : Symbol(bar, Decl(mappedTypes2.ts, 79, 31))
|
||||
>baz : Symbol(baz, Decl(mappedTypes2.ts, 79, 45))
|
||||
>rec : Symbol(rec, Decl(mappedTypes2.ts, 74, 9))
|
||||
>foo : Symbol(foo, Decl(mappedTypes2.ts, 74, 17))
|
||||
>bar : Symbol(bar, Decl(mappedTypes2.ts, 74, 31))
|
||||
>baz : Symbol(baz, Decl(mappedTypes2.ts, 74, 45))
|
||||
|
||||
const lengths = mapObject(rec, s => s.length); // { foo: number, bar: number, baz: number }
|
||||
>lengths : Symbol(lengths, Decl(mappedTypes2.ts, 80, 9))
|
||||
>mapObject : Symbol(mapObject, Decl(mappedTypes2.ts, 32, 78))
|
||||
>rec : Symbol(rec, Decl(mappedTypes2.ts, 79, 9))
|
||||
>s : Symbol(s, Decl(mappedTypes2.ts, 80, 34))
|
||||
>lengths : Symbol(lengths, Decl(mappedTypes2.ts, 75, 9))
|
||||
>mapObject : Symbol(mapObject, Decl(mappedTypes2.ts, 27, 78))
|
||||
>rec : Symbol(rec, Decl(mappedTypes2.ts, 74, 9))
|
||||
>s : Symbol(s, Decl(mappedTypes2.ts, 75, 34))
|
||||
>s.length : Symbol(String.length, Decl(lib.d.ts, --, --))
|
||||
>s : Symbol(s, Decl(mappedTypes2.ts, 80, 34))
|
||||
>s : Symbol(s, Decl(mappedTypes2.ts, 75, 34))
|
||||
>length : Symbol(String.length, Decl(lib.d.ts, --, --))
|
||||
}
|
||||
|
||||
function f5(shape: Shape) {
|
||||
>f5 : Symbol(f5, Decl(mappedTypes2.ts, 81, 1))
|
||||
>shape : Symbol(shape, Decl(mappedTypes2.ts, 83, 12))
|
||||
>Shape : Symbol(Shape, Decl(mappedTypes2.ts, 34, 48))
|
||||
>f5 : Symbol(f5, Decl(mappedTypes2.ts, 76, 1))
|
||||
>shape : Symbol(shape, Decl(mappedTypes2.ts, 78, 12))
|
||||
>Shape : Symbol(Shape, Decl(mappedTypes2.ts, 29, 48))
|
||||
|
||||
const p = proxify(shape);
|
||||
>p : Symbol(p, Decl(mappedTypes2.ts, 84, 9))
|
||||
>proxify : Symbol(proxify, Decl(mappedTypes2.ts, 33, 109))
|
||||
>shape : Symbol(shape, Decl(mappedTypes2.ts, 83, 12))
|
||||
>p : Symbol(p, Decl(mappedTypes2.ts, 79, 9))
|
||||
>proxify : Symbol(proxify, Decl(mappedTypes2.ts, 28, 109))
|
||||
>shape : Symbol(shape, Decl(mappedTypes2.ts, 78, 12))
|
||||
|
||||
let name = p.name.get();
|
||||
>name : Symbol(name, Decl(mappedTypes2.ts, 85, 7))
|
||||
>p.name.get : Symbol(get, Decl(mappedTypes2.ts, 17, 17))
|
||||
>name : Symbol(name, Decl(mappedTypes2.ts, 80, 7))
|
||||
>p.name.get : Symbol(get, Decl(mappedTypes2.ts, 12, 17))
|
||||
>p.name : Symbol(name)
|
||||
>p : Symbol(p, Decl(mappedTypes2.ts, 84, 9))
|
||||
>p : Symbol(p, Decl(mappedTypes2.ts, 79, 9))
|
||||
>name : Symbol(name)
|
||||
>get : Symbol(get, Decl(mappedTypes2.ts, 17, 17))
|
||||
>get : Symbol(get, Decl(mappedTypes2.ts, 12, 17))
|
||||
|
||||
p.visible.set(false);
|
||||
>p.visible.set : Symbol(set, Decl(mappedTypes2.ts, 18, 13))
|
||||
>p.visible.set : Symbol(set, Decl(mappedTypes2.ts, 13, 13))
|
||||
>p.visible : Symbol(visible)
|
||||
>p : Symbol(p, Decl(mappedTypes2.ts, 84, 9))
|
||||
>p : Symbol(p, Decl(mappedTypes2.ts, 79, 9))
|
||||
>visible : Symbol(visible)
|
||||
>set : Symbol(set, Decl(mappedTypes2.ts, 18, 13))
|
||||
>set : Symbol(set, Decl(mappedTypes2.ts, 13, 13))
|
||||
}
|
||||
|
||||
function f6(shape: DeepReadonly<Shape>) {
|
||||
>f6 : Symbol(f6, Decl(mappedTypes2.ts, 87, 1))
|
||||
>shape : Symbol(shape, Decl(mappedTypes2.ts, 89, 12))
|
||||
>DeepReadonly : Symbol(DeepReadonly, Decl(mappedTypes2.ts, 24, 1))
|
||||
>Shape : Symbol(Shape, Decl(mappedTypes2.ts, 34, 48))
|
||||
>f6 : Symbol(f6, Decl(mappedTypes2.ts, 82, 1))
|
||||
>shape : Symbol(shape, Decl(mappedTypes2.ts, 84, 12))
|
||||
>DeepReadonly : Symbol(DeepReadonly, Decl(mappedTypes2.ts, 19, 1))
|
||||
>Shape : Symbol(Shape, Decl(mappedTypes2.ts, 29, 48))
|
||||
|
||||
let name = shape.name; // DeepReadonly<string>
|
||||
>name : Symbol(name, Decl(mappedTypes2.ts, 90, 7))
|
||||
>name : Symbol(name, Decl(mappedTypes2.ts, 85, 7))
|
||||
>shape.name : Symbol(name)
|
||||
>shape : Symbol(shape, Decl(mappedTypes2.ts, 89, 12))
|
||||
>shape : Symbol(shape, Decl(mappedTypes2.ts, 84, 12))
|
||||
>name : Symbol(name)
|
||||
|
||||
let length = name.length; // DeepReadonly<number>
|
||||
>length : Symbol(length, Decl(mappedTypes2.ts, 91, 7))
|
||||
>length : Symbol(length, Decl(mappedTypes2.ts, 86, 7))
|
||||
>name.length : Symbol(length)
|
||||
>name : Symbol(name, Decl(mappedTypes2.ts, 90, 7))
|
||||
>name : Symbol(name, Decl(mappedTypes2.ts, 85, 7))
|
||||
>length : Symbol(length)
|
||||
|
||||
let toString = length.toString; // DeepReadonly<(radix?: number) => string>
|
||||
>toString : Symbol(toString, Decl(mappedTypes2.ts, 92, 7))
|
||||
>toString : Symbol(toString, Decl(mappedTypes2.ts, 87, 7))
|
||||
>length.toString : Symbol(toString)
|
||||
>length : Symbol(length, Decl(mappedTypes2.ts, 91, 7))
|
||||
>length : Symbol(length, Decl(mappedTypes2.ts, 86, 7))
|
||||
>toString : Symbol(toString)
|
||||
}
|
||||
|
||||
@ -1,51 +1,60 @@
|
||||
=== tests/cases/conformance/types/mapped/mappedTypes2.ts ===
|
||||
|
||||
type Partial<T> = {
|
||||
function verifyLibTypes<T, K extends keyof T, U>() {
|
||||
>verifyLibTypes : <T, K extends keyof T, U>() => void
|
||||
>T : T
|
||||
>K : K
|
||||
>T : T
|
||||
>U : U
|
||||
|
||||
var x1: Partial<T>;
|
||||
>x1 : Partial<T>
|
||||
>Partial : Partial<T>
|
||||
>T : T
|
||||
|
||||
[P in keyof T]?: T[P];
|
||||
var x1: { [P in keyof T]?: T[P] };
|
||||
>x1 : Partial<T>
|
||||
>P : P
|
||||
>T : T
|
||||
>T : T
|
||||
>P : P
|
||||
|
||||
};
|
||||
|
||||
type Readonly<T> = {
|
||||
var x2: Readonly<T>;
|
||||
>x2 : Readonly<T>
|
||||
>Readonly : Readonly<T>
|
||||
>T : T
|
||||
|
||||
readonly [P in keyof T]: T[P];
|
||||
var x2: { readonly [P in keyof T]: T[P] };
|
||||
>x2 : Readonly<T>
|
||||
>P : P
|
||||
>T : T
|
||||
>T : T
|
||||
>P : P
|
||||
|
||||
};
|
||||
|
||||
type Pick<T, K extends keyof T> = {
|
||||
var x3: Pick<T, K>;
|
||||
>x3 : Pick<T, K>
|
||||
>Pick : Pick<T, K>
|
||||
>T : T
|
||||
>K : K
|
||||
>T : T
|
||||
|
||||
[P in K]: T[P];
|
||||
var x3: { [P in K]: T[P] };
|
||||
>x3 : Pick<T, K>
|
||||
>P : P
|
||||
>K : K
|
||||
>T : T
|
||||
>P : P
|
||||
}
|
||||
|
||||
type Record<K extends string | number, T> = {
|
||||
var x4: Record<K, U>;
|
||||
>x4 : Record<K, U>
|
||||
>Record : Record<K, T>
|
||||
>K : K
|
||||
>T : T
|
||||
>U : U
|
||||
|
||||
[_ in K]: T;
|
||||
>_ : _
|
||||
var x4: { [P in K]: U };
|
||||
>x4 : Record<K, U>
|
||||
>P : P
|
||||
>K : K
|
||||
>T : T
|
||||
>U : U
|
||||
}
|
||||
|
||||
type Proxy<T> = {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user