Skip to content

Commit 88f55c9

Browse files
committed
Add type-tests for @ember/reactive
1 parent 6eeb818 commit 88f55c9

File tree

2 files changed

+30
-1
lines changed

2 files changed

+30
-1
lines changed

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -281,6 +281,7 @@
281281
"@ember/object/promise-proxy-mixin.js": "ember-source/@ember/object/promise-proxy-mixin.js",
282282
"@ember/object/proxy.js": "ember-source/@ember/object/proxy.js",
283283
"@ember/owner/index.js": "ember-source/@ember/owner/index.js",
284+
"@ember/reactive/index.js": "ember-source/@ember/reactive/index.js",
284285
"@ember/renderer/index.js": "ember-source/@ember/renderer/index.js",
285286
"@ember/routing/-internals.js": "ember-source/@ember/routing/-internals.js",
286287
"@ember/routing/hash-location.js": "ember-source/@ember/routing/hash-location.js",
@@ -402,4 +403,4 @@
402403
}
403404
},
404405
"packageManager": "[email protected]"
405-
}
406+
}

type-tests/@ember/reactive-test.ts

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import { trackedArray, trackedObject, trackedWeakSet, trackedSet, trackedMap, trackedWeakMap } from '@ember/reactive';
2+
import { expectTypeOf } from 'expect-type';
3+
4+
5+
// ------- trackedArray -------
6+
expectTypeOf(trackedArray()).toEqualTypeOf<unknown[]>();
7+
expectTypeOf(trackedArray([1, 3])).toEqualTypeOf<number[]>();
8+
9+
// ------- trackedObject -------
10+
expectTypeOf(trackedObject()).toEqualTypeOf<object>();
11+
expectTypeOf(trackedObject({ foo: 2 } as const)).toEqualTypeOf<{ readonly foo: 2 }>();
12+
13+
// ------- trackedWeakSet -------
14+
expectTypeOf(trackedWeakSet<object>()).toEqualTypeOf<WeakSet<object>>();
15+
expectTypeOf(trackedWeakSet([{ foo: 2 } as const])).toEqualTypeOf<WeakSet<{ readonly foo: 2 }>>();
16+
17+
// ------- trackedSet -------
18+
expectTypeOf(trackedSet<number>()).toEqualTypeOf<Set<number>>();
19+
expectTypeOf(trackedSet(new Set([1, 2, 3]))).toEqualTypeOf<Set<number>>()
20+
21+
22+
// ------- trackedMap -------
23+
expectTypeOf(trackedMap<string, number>()).toEqualTypeOf<Map<string, number>>();
24+
expectTypeOf(trackedMap(new Map([['foo', 2]]))).toEqualTypeOf<Map<string, number>>();
25+
26+
// ------- trackedWeakMap -------
27+
expectTypeOf(trackedWeakMap<object, string>()).toEqualTypeOf<WeakMap<object, string>>();
28+
expectTypeOf(trackedWeakMap([[{ greet: 'hi'}, 2], [{greet: 'hello'}, 3]])).toEqualTypeOf<WeakMap<{ greet: string}, number>>();

0 commit comments

Comments
 (0)