This commit is contained in:
1 parent
2dba2a64da
commit
9c608d2ec1
4 files changed
+176
-8
No files matched your search
+10
-8
@@ -2405,17 +2405,19 @@ function genericPrintNoParens(path, options, print, args) {
|
||||
if (n.type !== "TSCallSignature") {
|
||||
parts.push("new ");
|
||||
}
|
||||
const isType = n.type === "TSConstructorType";
|
||||
|
||||
if (n.typeParameters) {
|
||||
parts.push(printTypeParameters(path, options, print, "typeParameters"));
|
||||
}
|
||||
parts.push(
|
||||
printFunctionParams(
|
||||
path,
|
||||
print,
|
||||
options,
|
||||
/* expandArg */ false,
|
||||
/* printTypeParams */ true
|
||||
)
|
||||
);
|
||||
|
||||
const params = n.params
|
||||
? path.map(print, "params")
|
||||
: path.map(print, "parameters");
|
||||
parts.push("(", join(", ", params), ")");
|
||||
if (n.typeAnnotation) {
|
||||
const isType = n.type === "TSConstructorType";
|
||||
parts.push(isType ? " => " : ": ", path.call(print, "typeAnnotation"));
|
||||
}
|
||||
return concat(parts);
|
||||
|
||||
@@ -0,0 +1,113 @@
|
||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`new-signature.ts 1`] = `
|
||||
interface FooConstructor {
|
||||
new (
|
||||
a: number,
|
||||
b: number,
|
||||
c: number,
|
||||
d: number,
|
||||
e: number,
|
||||
f: number,
|
||||
g: number,
|
||||
h: number
|
||||
): Foo;
|
||||
}
|
||||
|
||||
interface BarConstructor {
|
||||
new <A, B, C>(
|
||||
a: number,
|
||||
b: number,
|
||||
c: number,
|
||||
d: number,
|
||||
e: number,
|
||||
f: number,
|
||||
g: number,
|
||||
h: number
|
||||
): Foo;
|
||||
}
|
||||
|
||||
type BazConstructor = {
|
||||
new (
|
||||
a: number,
|
||||
b: number,
|
||||
c: number,
|
||||
d: number,
|
||||
e: number,
|
||||
f: number,
|
||||
g: number,
|
||||
h: number
|
||||
): Foo;
|
||||
}
|
||||
|
||||
|
||||
interface ConstructorBigGenerics {
|
||||
new <AAAAAAAAAAAAAAAAAAAAAAAA, AAAAAAAAAAAAAAAAAAAAAAAA, AAAAAAAAAAAAAAAAAAAAAAAA>(
|
||||
a: number,
|
||||
b: number,
|
||||
c: number,
|
||||
d: number,
|
||||
e: number,
|
||||
f: number,
|
||||
g: number,
|
||||
h: number
|
||||
): Foo;
|
||||
}
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
interface FooConstructor {
|
||||
new (
|
||||
a: number,
|
||||
b: number,
|
||||
c: number,
|
||||
d: number,
|
||||
e: number,
|
||||
f: number,
|
||||
g: number,
|
||||
h: number
|
||||
): Foo;
|
||||
}
|
||||
|
||||
interface BarConstructor {
|
||||
new <A, B, C>(
|
||||
a: number,
|
||||
b: number,
|
||||
c: number,
|
||||
d: number,
|
||||
e: number,
|
||||
f: number,
|
||||
g: number,
|
||||
h: number
|
||||
): Foo;
|
||||
}
|
||||
|
||||
type BazConstructor = {
|
||||
new (
|
||||
a: number,
|
||||
b: number,
|
||||
c: number,
|
||||
d: number,
|
||||
e: number,
|
||||
f: number,
|
||||
g: number,
|
||||
h: number
|
||||
): Foo;
|
||||
};
|
||||
|
||||
interface ConstructorBigGenerics {
|
||||
new <
|
||||
AAAAAAAAAAAAAAAAAAAAAAAA,
|
||||
AAAAAAAAAAAAAAAAAAAAAAAA,
|
||||
AAAAAAAAAAAAAAAAAAAAAAAA
|
||||
>(
|
||||
a: number,
|
||||
b: number,
|
||||
c: number,
|
||||
d: number,
|
||||
e: number,
|
||||
f: number,
|
||||
g: number,
|
||||
h: number
|
||||
): Foo;
|
||||
}
|
||||
|
||||
`;
|
||||
@@ -0,0 +1 @@
|
||||
run_spec(__dirname, { parser: "typescript" });
|
||||
@@ -0,0 +1,52 @@
|
||||
interface FooConstructor {
|
||||
new (
|
||||
a: number,
|
||||
b: number,
|
||||
c: number,
|
||||
d: number,
|
||||
e: number,
|
||||
f: number,
|
||||
g: number,
|
||||
h: number
|
||||
): Foo;
|
||||
}
|
||||
|
||||
interface BarConstructor {
|
||||
new <A, B, C>(
|
||||
a: number,
|
||||
b: number,
|
||||
c: number,
|
||||
d: number,
|
||||
e: number,
|
||||
f: number,
|
||||
g: number,
|
||||
h: number
|
||||
): Foo;
|
||||
}
|
||||
|
||||
type BazConstructor = {
|
||||
new (
|
||||
a: number,
|
||||
b: number,
|
||||
c: number,
|
||||
d: number,
|
||||
e: number,
|
||||
f: number,
|
||||
g: number,
|
||||
h: number
|
||||
): Foo;
|
||||
}
|
||||
|
||||
|
||||
interface ConstructorBigGenerics {
|
||||
new <AAAAAAAAAAAAAAAAAAAAAAAA, AAAAAAAAAAAAAAAAAAAAAAAA, AAAAAAAAAAAAAAAAAAAAAAAA>(
|
||||
a: number,
|
||||
b: number,
|
||||
c: number,
|
||||
d: number,
|
||||
e: number,
|
||||
f: number,
|
||||
g: number,
|
||||
h: number
|
||||
): Foo;
|
||||
}
|
||||
Reference in new issue
Block a user