@@ -7,8 +7,8 @@ declare function keysOfNonPrimitive(o: object): string[];
77>keysOfNonPrimitive : Symbol(keysOfNonPrimitive, Decl(contextualNarrowingFromUnknownToObjects.ts, 0, 52))
88>o : Symbol(o, Decl(contextualNarrowingFromUnknownToObjects.ts, 1, 36))
99
10- namespace explicitConstraints {
11- >explicitConstraints : Symbol(explicitConstraints , Decl(contextualNarrowingFromUnknownToObjects.ts, 1, 57))
10+ namespace implicitConstraints {
11+ >implicitConstraints : Symbol(implicitConstraints , Decl(contextualNarrowingFromUnknownToObjects.ts, 1, 57))
1212
1313 export function keyLengthsEqualUsingEmptyObjectFn<T>(a: T, b: T): [T, T] | undefined {
1414>keyLengthsEqualUsingEmptyObjectFn : Symbol(keyLengthsEqualUsingEmptyObjectFn, Decl(contextualNarrowingFromUnknownToObjects.ts, 3, 31))
@@ -92,13 +92,13 @@ namespace explicitConstraints {
9292 return undefined;
9393>undefined : Symbol(undefined)
9494 }
95- if (keysOfEmptyObject (a).length !== keysOfEmptyObject (b).length) {
96- >keysOfEmptyObject (a).length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --))
97- >keysOfEmptyObject : Symbol(keysOfEmptyObject , Decl(contextualNarrowingFromUnknownToObjects.ts, 0, 0 ))
95+ if (keysOfNonPrimitive (a).length !== keysOfNonPrimitive (b).length) {
96+ >keysOfNonPrimitive (a).length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --))
97+ >keysOfNonPrimitive : Symbol(keysOfNonPrimitive , Decl(contextualNarrowingFromUnknownToObjects.ts, 0, 52 ))
9898>a : Symbol(a, Decl(contextualNarrowingFromUnknownToObjects.ts, 17, 58))
9999>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --))
100- >keysOfEmptyObject (b).length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --))
101- >keysOfEmptyObject : Symbol(keysOfEmptyObject , Decl(contextualNarrowingFromUnknownToObjects.ts, 0, 0 ))
100+ >keysOfNonPrimitive (b).length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --))
101+ >keysOfNonPrimitive : Symbol(keysOfNonPrimitive , Decl(contextualNarrowingFromUnknownToObjects.ts, 0, 52 ))
102102>b : Symbol(b, Decl(contextualNarrowingFromUnknownToObjects.ts, 17, 63))
103103>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --))
104104
@@ -115,21 +115,21 @@ namespace explicitConstraints {
115115namespace explicitConstraintsOfUnknown {
116116>explicitConstraintsOfUnknown : Symbol(explicitConstraintsOfUnknown, Decl(contextualNarrowingFromUnknownToObjects.ts, 29, 1))
117117
118- export function keyLengthsEqualUsingEmptyObjectFn<T>(a: T, b: T): [T, T] | undefined {
118+ export function keyLengthsEqualUsingEmptyObjectFn<T extends unknown >(a: T, b: T): [T, T] | undefined {
119119>keyLengthsEqualUsingEmptyObjectFn : Symbol(keyLengthsEqualUsingEmptyObjectFn, Decl(contextualNarrowingFromUnknownToObjects.ts, 32, 40))
120120>T : Symbol(T, Decl(contextualNarrowingFromUnknownToObjects.ts, 33, 54))
121- >a : Symbol(a, Decl(contextualNarrowingFromUnknownToObjects.ts, 33, 57 ))
121+ >a : Symbol(a, Decl(contextualNarrowingFromUnknownToObjects.ts, 33, 73 ))
122122>T : Symbol(T, Decl(contextualNarrowingFromUnknownToObjects.ts, 33, 54))
123- >b : Symbol(b, Decl(contextualNarrowingFromUnknownToObjects.ts, 33, 62 ))
123+ >b : Symbol(b, Decl(contextualNarrowingFromUnknownToObjects.ts, 33, 78 ))
124124>T : Symbol(T, Decl(contextualNarrowingFromUnknownToObjects.ts, 33, 54))
125125>T : Symbol(T, Decl(contextualNarrowingFromUnknownToObjects.ts, 33, 54))
126126>T : Symbol(T, Decl(contextualNarrowingFromUnknownToObjects.ts, 33, 54))
127127
128128 if (typeof a !== "object" || typeof b !== "object" || !a || !b) {
129- >a : Symbol(a, Decl(contextualNarrowingFromUnknownToObjects.ts, 33, 57 ))
130- >b : Symbol(b, Decl(contextualNarrowingFromUnknownToObjects.ts, 33, 62 ))
131- >a : Symbol(a, Decl(contextualNarrowingFromUnknownToObjects.ts, 33, 57 ))
132- >b : Symbol(b, Decl(contextualNarrowingFromUnknownToObjects.ts, 33, 62 ))
129+ >a : Symbol(a, Decl(contextualNarrowingFromUnknownToObjects.ts, 33, 73 ))
130+ >b : Symbol(b, Decl(contextualNarrowingFromUnknownToObjects.ts, 33, 78 ))
131+ >a : Symbol(a, Decl(contextualNarrowingFromUnknownToObjects.ts, 33, 73 ))
132+ >b : Symbol(b, Decl(contextualNarrowingFromUnknownToObjects.ts, 33, 78 ))
133133
134134 return undefined;
135135>undefined : Symbol(undefined)
@@ -138,48 +138,48 @@ namespace explicitConstraintsOfUnknown {
138138>Array.isArray : Symbol(ArrayConstructor.isArray, Decl(lib.es5.d.ts, --, --))
139139>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --) ... and 3 more)
140140>isArray : Symbol(ArrayConstructor.isArray, Decl(lib.es5.d.ts, --, --))
141- >a : Symbol(a, Decl(contextualNarrowingFromUnknownToObjects.ts, 33, 57 ))
141+ >a : Symbol(a, Decl(contextualNarrowingFromUnknownToObjects.ts, 33, 73 ))
142142>Array.isArray : Symbol(ArrayConstructor.isArray, Decl(lib.es5.d.ts, --, --))
143143>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --) ... and 3 more)
144144>isArray : Symbol(ArrayConstructor.isArray, Decl(lib.es5.d.ts, --, --))
145- >b : Symbol(b, Decl(contextualNarrowingFromUnknownToObjects.ts, 33, 62 ))
145+ >b : Symbol(b, Decl(contextualNarrowingFromUnknownToObjects.ts, 33, 78 ))
146146
147147 return undefined;
148148>undefined : Symbol(undefined)
149149 }
150150 if (keysOfEmptyObject(a).length !== keysOfEmptyObject(b).length) {
151151>keysOfEmptyObject(a).length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --))
152152>keysOfEmptyObject : Symbol(keysOfEmptyObject, Decl(contextualNarrowingFromUnknownToObjects.ts, 0, 0))
153- >a : Symbol(a, Decl(contextualNarrowingFromUnknownToObjects.ts, 33, 57 ))
153+ >a : Symbol(a, Decl(contextualNarrowingFromUnknownToObjects.ts, 33, 73 ))
154154>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --))
155155>keysOfEmptyObject(b).length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --))
156156>keysOfEmptyObject : Symbol(keysOfEmptyObject, Decl(contextualNarrowingFromUnknownToObjects.ts, 0, 0))
157- >b : Symbol(b, Decl(contextualNarrowingFromUnknownToObjects.ts, 33, 62 ))
157+ >b : Symbol(b, Decl(contextualNarrowingFromUnknownToObjects.ts, 33, 78 ))
158158>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --))
159159
160160 return [a, b];
161- >a : Symbol(a, Decl(contextualNarrowingFromUnknownToObjects.ts, 33, 57 ))
162- >b : Symbol(b, Decl(contextualNarrowingFromUnknownToObjects.ts, 33, 62 ))
161+ >a : Symbol(a, Decl(contextualNarrowingFromUnknownToObjects.ts, 33, 73 ))
162+ >b : Symbol(b, Decl(contextualNarrowingFromUnknownToObjects.ts, 33, 78 ))
163163 }
164164 return undefined;
165165>undefined : Symbol(undefined)
166166 }
167167
168- export function keyLengthsEqualUsingNonPrimitiveFn<T>(a: T, b: T): [T, T] | undefined {
168+ export function keyLengthsEqualUsingNonPrimitiveFn<T extends unknown >(a: T, b: T): [T, T] | undefined {
169169>keyLengthsEqualUsingNonPrimitiveFn : Symbol(keyLengthsEqualUsingNonPrimitiveFn, Decl(contextualNarrowingFromUnknownToObjects.ts, 44, 5))
170170>T : Symbol(T, Decl(contextualNarrowingFromUnknownToObjects.ts, 46, 55))
171- >a : Symbol(a, Decl(contextualNarrowingFromUnknownToObjects.ts, 46, 58 ))
171+ >a : Symbol(a, Decl(contextualNarrowingFromUnknownToObjects.ts, 46, 74 ))
172172>T : Symbol(T, Decl(contextualNarrowingFromUnknownToObjects.ts, 46, 55))
173- >b : Symbol(b, Decl(contextualNarrowingFromUnknownToObjects.ts, 46, 63 ))
173+ >b : Symbol(b, Decl(contextualNarrowingFromUnknownToObjects.ts, 46, 79 ))
174174>T : Symbol(T, Decl(contextualNarrowingFromUnknownToObjects.ts, 46, 55))
175175>T : Symbol(T, Decl(contextualNarrowingFromUnknownToObjects.ts, 46, 55))
176176>T : Symbol(T, Decl(contextualNarrowingFromUnknownToObjects.ts, 46, 55))
177177
178178 if (typeof a !== "object" || typeof b !== "object" || !a || !b) {
179- >a : Symbol(a, Decl(contextualNarrowingFromUnknownToObjects.ts, 46, 58 ))
180- >b : Symbol(b, Decl(contextualNarrowingFromUnknownToObjects.ts, 46, 63 ))
181- >a : Symbol(a, Decl(contextualNarrowingFromUnknownToObjects.ts, 46, 58 ))
182- >b : Symbol(b, Decl(contextualNarrowingFromUnknownToObjects.ts, 46, 63 ))
179+ >a : Symbol(a, Decl(contextualNarrowingFromUnknownToObjects.ts, 46, 74 ))
180+ >b : Symbol(b, Decl(contextualNarrowingFromUnknownToObjects.ts, 46, 79 ))
181+ >a : Symbol(a, Decl(contextualNarrowingFromUnknownToObjects.ts, 46, 74 ))
182+ >b : Symbol(b, Decl(contextualNarrowingFromUnknownToObjects.ts, 46, 79 ))
183183
184184 return undefined;
185185>undefined : Symbol(undefined)
@@ -188,28 +188,28 @@ namespace explicitConstraintsOfUnknown {
188188>Array.isArray : Symbol(ArrayConstructor.isArray, Decl(lib.es5.d.ts, --, --))
189189>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --) ... and 3 more)
190190>isArray : Symbol(ArrayConstructor.isArray, Decl(lib.es5.d.ts, --, --))
191- >a : Symbol(a, Decl(contextualNarrowingFromUnknownToObjects.ts, 46, 58 ))
191+ >a : Symbol(a, Decl(contextualNarrowingFromUnknownToObjects.ts, 46, 74 ))
192192>Array.isArray : Symbol(ArrayConstructor.isArray, Decl(lib.es5.d.ts, --, --))
193193>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --) ... and 3 more)
194194>isArray : Symbol(ArrayConstructor.isArray, Decl(lib.es5.d.ts, --, --))
195- >b : Symbol(b, Decl(contextualNarrowingFromUnknownToObjects.ts, 46, 63 ))
195+ >b : Symbol(b, Decl(contextualNarrowingFromUnknownToObjects.ts, 46, 79 ))
196196
197197 return undefined;
198198>undefined : Symbol(undefined)
199199 }
200- if (keysOfEmptyObject (a).length !== keysOfEmptyObject (b).length) {
201- >keysOfEmptyObject (a).length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --))
202- >keysOfEmptyObject : Symbol(keysOfEmptyObject , Decl(contextualNarrowingFromUnknownToObjects.ts, 0, 0 ))
203- >a : Symbol(a, Decl(contextualNarrowingFromUnknownToObjects.ts, 46, 58 ))
200+ if (keysOfNonPrimitive (a).length !== keysOfNonPrimitive (b).length) {
201+ >keysOfNonPrimitive (a).length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --))
202+ >keysOfNonPrimitive : Symbol(keysOfNonPrimitive , Decl(contextualNarrowingFromUnknownToObjects.ts, 0, 52 ))
203+ >a : Symbol(a, Decl(contextualNarrowingFromUnknownToObjects.ts, 46, 74 ))
204204>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --))
205- >keysOfEmptyObject (b).length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --))
206- >keysOfEmptyObject : Symbol(keysOfEmptyObject , Decl(contextualNarrowingFromUnknownToObjects.ts, 0, 0 ))
207- >b : Symbol(b, Decl(contextualNarrowingFromUnknownToObjects.ts, 46, 63 ))
205+ >keysOfNonPrimitive (b).length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --))
206+ >keysOfNonPrimitive : Symbol(keysOfNonPrimitive , Decl(contextualNarrowingFromUnknownToObjects.ts, 0, 52 ))
207+ >b : Symbol(b, Decl(contextualNarrowingFromUnknownToObjects.ts, 46, 79 ))
208208>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --))
209209
210210 return [a, b];
211- >a : Symbol(a, Decl(contextualNarrowingFromUnknownToObjects.ts, 46, 58 ))
212- >b : Symbol(b, Decl(contextualNarrowingFromUnknownToObjects.ts, 46, 63 ))
211+ >a : Symbol(a, Decl(contextualNarrowingFromUnknownToObjects.ts, 46, 74 ))
212+ >b : Symbol(b, Decl(contextualNarrowingFromUnknownToObjects.ts, 46, 79 ))
213213 }
214214 return undefined;
215215>undefined : Symbol(undefined)
0 commit comments