@glint/type-test 1.5.0 → 2.0.1-unstable.4151d64
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/lib/index.d.ts +9 -8
- package/lib/index.d.ts.map +1 -0
- package/package.json +17 -3
package/README.md
CHANGED
|
@@ -17,7 +17,7 @@ It's similar in concept to (and built on) the [`expect-type`][et] library.
|
|
|
17
17
|
For strict-mode templates, the `expectTypeOf` helper and `to` collection of expectations are
|
|
18
18
|
both directly importable from `@glint/type-test`.
|
|
19
19
|
|
|
20
|
-
```
|
|
20
|
+
```glimmer-ts
|
|
21
21
|
import { expectTypeOf, to } from '@glint/type-test';
|
|
22
22
|
|
|
23
23
|
let letters = ['a', 'b', 'c'];
|
|
@@ -35,7 +35,7 @@ let letters = ['a', 'b', 'c'];
|
|
|
35
35
|
For "classic" loose-mode Ember templates, `@glint/type-test` provides a `typeTest` wrapper that
|
|
36
36
|
will pass `expectTypeOf` and `to` to your template as args:
|
|
37
37
|
|
|
38
|
-
```
|
|
38
|
+
```ts
|
|
39
39
|
import { typeTest } from '@glint/type-test';
|
|
40
40
|
import { hbs } from 'ember-cli-htmlbars';
|
|
41
41
|
|
|
@@ -52,7 +52,7 @@ typeTest(
|
|
|
52
52
|
You can also optionally provide an initial `this` value to `typeTest` to make values available
|
|
53
53
|
in your template to either test inference against or to use as a basis for comparing type equality.
|
|
54
54
|
|
|
55
|
-
```
|
|
55
|
+
```ts
|
|
56
56
|
import { typeTest } from '@glint/type-test';
|
|
57
57
|
import { hbs } from 'ember-cli-htmlbars';
|
|
58
58
|
|
|
@@ -72,7 +72,7 @@ typeTest(
|
|
|
72
72
|
This library provides a set of expectations to compare the type of a given value to common simple
|
|
73
73
|
types.
|
|
74
74
|
|
|
75
|
-
```
|
|
75
|
+
```glimmer-ts
|
|
76
76
|
import { expectTypeOf, to } from '@glint/type-test';
|
|
77
77
|
|
|
78
78
|
let symbolValue = Symbol('hi');
|
|
@@ -95,7 +95,7 @@ let neverValue: never = (null as never);
|
|
|
95
95
|
|
|
96
96
|
It also provides expectations that allow you to compare the type of one value to that of another.
|
|
97
97
|
|
|
98
|
-
```
|
|
98
|
+
```glimmer-ts
|
|
99
99
|
import { expectTypeOf, to } from '@glint/type-test';
|
|
100
100
|
|
|
101
101
|
let a: 'a' | 'b' = 'a';
|
package/lib/index.d.ts
CHANGED
|
@@ -16,15 +16,15 @@ interface BinaryExpectations<T, U> {
|
|
|
16
16
|
assignableTo: [Extends<T, U>, 'Expected first type to be assignable to the second'];
|
|
17
17
|
}
|
|
18
18
|
declare const Expectation: unique symbol;
|
|
19
|
-
|
|
19
|
+
type Expectation<T> = {
|
|
20
20
|
[Expectation]: T;
|
|
21
21
|
};
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
22
|
+
type UnaryExpectationKind = keyof UnaryExpectations<any>;
|
|
23
|
+
type UnaryExpectation<K extends UnaryExpectationKind> = Expectation<K>;
|
|
24
|
+
type BinaryExpectationKind = keyof BinaryExpectations<any, any>;
|
|
25
|
+
type BinaryExpectation<K extends BinaryExpectationKind> = Expectation<K>;
|
|
26
|
+
type UnmetExpectation<M, T> = [M, T];
|
|
27
|
+
type TypeTestTemplate<T> = abstract new () => HasContext<{
|
|
28
28
|
this: T;
|
|
29
29
|
args: {
|
|
30
30
|
expectTypeOf: typeof expectTypeOf;
|
|
@@ -33,7 +33,7 @@ declare type TypeTestTemplate<T> = abstract new () => HasContext<{
|
|
|
33
33
|
blocks: {};
|
|
34
34
|
element: unknown;
|
|
35
35
|
}>;
|
|
36
|
-
|
|
36
|
+
type ExpectTypeOf = DirectInvokable<{
|
|
37
37
|
<T, E extends UnaryExpectationKind>(actual: T, expectation: UnaryExpectation<E>): UnaryExpectations<T>[E] extends [false, infer M] ? UnmetExpectation<M, T> : void;
|
|
38
38
|
<T, E extends BinaryExpectationKind, U>(actual: T, expectation: BinaryExpectation<E>, expected: U): BinaryExpectations<T, U>[E] extends [false, infer M] ? UnmetExpectation<M, [T, U]> : void;
|
|
39
39
|
}>;
|
|
@@ -85,3 +85,4 @@ export declare function typeTest<T>(context: T, template: TypeTestTemplate<T>):
|
|
|
85
85
|
export declare function typeTest(template: TypeTestTemplate<null>): void;
|
|
86
86
|
export declare function typeTest(...args: Array<unknown>): void;
|
|
87
87
|
export {};
|
|
88
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@glint/type-test",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "2.0.1-unstable.4151d64",
|
|
4
4
|
"repository": "typed-ember/glint",
|
|
5
5
|
"description": "Tools for testing inferred types in Glint-enabled templates",
|
|
6
6
|
"license": "MIT",
|
|
@@ -15,13 +15,27 @@
|
|
|
15
15
|
"lib"
|
|
16
16
|
],
|
|
17
17
|
"scripts": {
|
|
18
|
-
"test": "
|
|
18
|
+
"test": "echo 'no standalone tests within this project'",
|
|
19
|
+
"test:typecheck": "glint -p __tests__",
|
|
20
|
+
"test:tsc": "echo 'no standalone tsc within this project'"
|
|
19
21
|
},
|
|
20
22
|
"dependencies": {
|
|
21
23
|
"expect-type": "^0.15.0"
|
|
22
24
|
},
|
|
23
25
|
"peerDependencies": {
|
|
24
|
-
"@glint/template": "
|
|
26
|
+
"@glint/template": "1.4.1-unstable.4151d64"
|
|
27
|
+
},
|
|
28
|
+
"devDependencies": {
|
|
29
|
+
"@glint/template": "1.4.1-unstable.4151d64"
|
|
30
|
+
},
|
|
31
|
+
"release-plan": {
|
|
32
|
+
"semverIncrementAs": {
|
|
33
|
+
"major": "prerelease",
|
|
34
|
+
"minor": "prerelease",
|
|
35
|
+
"patch": "prerelease"
|
|
36
|
+
},
|
|
37
|
+
"semverIncrementTag": "alpha",
|
|
38
|
+
"publishTag": "alpha"
|
|
25
39
|
},
|
|
26
40
|
"publishConfig": {
|
|
27
41
|
"access": "public"
|