Skip to content

Commit be84c0f

Browse files
authored
fix: promise with generic type arguments (#2291)
1 parent c3b9504 commit be84c0f

File tree

4 files changed

+23
-1
lines changed

4 files changed

+23
-1
lines changed

src/NodeParser/TypeReferenceNodeParser.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ export class TypeReferenceNodeParser implements SubNodeParser {
5656
return new AnyType();
5757
}
5858

59-
return this.childNodeParser.createType(node.typeArguments[0], this.createSubContext(node, context));
59+
return this.childNodeParser.createType(node.typeArguments[0], context);
6060
}
6161

6262
if (typeSymbol.name === "Array" || typeSymbol.name === "ReadonlyArray") {

test/valid-data-type.test.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,7 @@ describe("valid-data-type", () => {
149149
it("keyof-typeof-x", assertValidSchema("keyof-typeof-x", "MyType"));
150150

151151
it("promise-extensions", assertValidSchema("promise-extensions", "*"));
152+
it("promise-generics", assertValidSchema("promise-generics", "*"));
152153

153154
it("export-star", assertValidSchema("export-star", "*", undefined, { mainTsOnly: true }));
154155
it(
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export type HasPromise<T> = { a: Promise<T | undefined> };
2+
3+
export type ConcreteHasPromise = HasPromise<string>;
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{
2+
"$ref": "#/definitions/ConcreteHasPromise",
3+
"$schema": "http://json-schema.org/draft-07/schema#",
4+
"definitions": {
5+
"ConcreteHasPromise": {
6+
"$ref": "#/definitions/HasPromise%3Cstring%3E"
7+
},
8+
"HasPromise<string>": {
9+
"additionalProperties": false,
10+
"properties": {
11+
"a": {
12+
"type": "string"
13+
}
14+
},
15+
"type": "object"
16+
}
17+
}
18+
}

0 commit comments

Comments
 (0)