Skip to content

Commit 74d4b8e

Browse files
update type tests
1 parent efb0dc4 commit 74d4b8e

File tree

1 file changed

+25
-11
lines changed

1 file changed

+25
-11
lines changed

index.test-d.ts

Lines changed: 25 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {expectType} from 'tsd';
1+
import {expectAssignable, expectError} from 'tsd';
22
import packageJson, {
33
type FullMetadata,
44
type FullVersion,
@@ -8,29 +8,43 @@ import packageJson, {
88
VersionNotFoundError,
99
} from './index.js';
1010

11-
expectType<Promise<AbbreviatedMetadata>>(packageJson('package-json'));
12-
expectType<Promise<AbbreviatedMetadata>>(
11+
expectAssignable<Promise<AbbreviatedVersion>>(packageJson('package-json'));
12+
expectAssignable<Promise<AbbreviatedVersion>>(
1313
packageJson('package-json', {version: '1.2.3'}),
1414
);
15-
expectType<Promise<AbbreviatedMetadata>>(
15+
expectAssignable<Promise<AbbreviatedMetadata>>(
1616
packageJson('package-json', {allVersions: true}),
1717
);
18-
expectType<Promise<FullMetadata>>(
18+
expectAssignable<Promise<FullVersion>>(
1919
packageJson('package-json', {fullMetadata: true}),
2020
);
21+
expectAssignable<Promise<FullMetadata>>(
22+
packageJson('package-json', {fullMetadata: true, allVersions: true}),
23+
);
2124

2225
const abbreviatedMetadata = await packageJson('package-json');
23-
expectType<AbbreviatedVersion>(abbreviatedMetadata.versions['1.2.3']);
26+
expectAssignable<string>(abbreviatedMetadata.version);
27+
expectError(abbreviatedMetadata.versions);
28+
2429
const fullMetadata = await packageJson('package-json', {fullMetadata: true});
25-
expectType<FullVersion>(fullMetadata.versions['1.2.3']);
30+
expectAssignable<string>(fullMetadata.version);
31+
expectError(fullMetadata.versions);
32+
33+
const abbreviatedVersions = await packageJson('package-json', {allVersions: true});
34+
expectAssignable<AbbreviatedVersion | undefined>(abbreviatedVersions.versions['1.2.3']);
35+
expectError(abbreviatedVersions.version);
36+
37+
const fullVersions = await packageJson('package-json', {fullMetadata: true, allVersions: true});
38+
expectAssignable<FullVersion | undefined>(fullVersions.versions['1.2.3']);
39+
expectError(fullVersions.version);
2640

27-
expectType<typeof PackageNotFoundError>(PackageNotFoundError);
28-
expectType<typeof VersionNotFoundError>(VersionNotFoundError);
41+
expectAssignable<typeof PackageNotFoundError>(PackageNotFoundError);
42+
expectAssignable<typeof VersionNotFoundError>(VersionNotFoundError);
2943

3044
const packageNotFoundError = new PackageNotFoundError('foo');
3145
packageNotFoundError instanceof PackageNotFoundError; // eslint-disable-line @typescript-eslint/no-unused-expressions
32-
expectType<PackageNotFoundError>(packageNotFoundError);
46+
expectAssignable<PackageNotFoundError>(packageNotFoundError);
3347

3448
const versionNotFoundError = new VersionNotFoundError('foo', 'bar');
3549
versionNotFoundError instanceof VersionNotFoundError; // eslint-disable-line @typescript-eslint/no-unused-expressions
36-
expectType<VersionNotFoundError>(versionNotFoundError);
50+
expectAssignable<VersionNotFoundError>(versionNotFoundError);

0 commit comments

Comments
 (0)