This commit is contained in:
1 parent
026f9b4de7
commit
ec7d99439d
4 files changed
+80
-10
No files matched your search
+33
-10
@@ -429,8 +429,6 @@ function genericPrintNoParens(path, options, print, args) {
|
||||
parts.push("async ");
|
||||
}
|
||||
|
||||
parts.push(printFunctionTypeParameters(path, options, print));
|
||||
|
||||
if (canPrintParamsWithoutParens(n)) {
|
||||
parts.push(path.call(print, "params", 0));
|
||||
} else {
|
||||
@@ -441,7 +439,9 @@ function genericPrintNoParens(path, options, print, args) {
|
||||
path,
|
||||
print,
|
||||
options,
|
||||
args && (args.expandLastArg || args.expandFirstArg)
|
||||
/* expandLast */ args &&
|
||||
(args.expandLastArg || args.expandFirstArg),
|
||||
/* printTypeParams */ true
|
||||
),
|
||||
printReturnType(path, print)
|
||||
])
|
||||
@@ -1966,8 +1966,13 @@ function genericPrintNoParens(path, options, print, args) {
|
||||
}
|
||||
|
||||
parts.push(
|
||||
printFunctionTypeParameters(path, options, print),
|
||||
printFunctionParams(path, print, options)
|
||||
printFunctionParams(
|
||||
path,
|
||||
print,
|
||||
options,
|
||||
/* expandArg */ false,
|
||||
/* printTypeParams */ true
|
||||
)
|
||||
);
|
||||
|
||||
// The returnType is not wrapped in a TypeAnnotation, so the colon
|
||||
@@ -2459,8 +2464,13 @@ function genericPrintNoParens(path, options, print, args) {
|
||||
path.call(print, "key"),
|
||||
n.computed ? "]" : "",
|
||||
n.optional ? "?" : "",
|
||||
printFunctionTypeParameters(path, options, print),
|
||||
printFunctionParams(path, print, options)
|
||||
printFunctionParams(
|
||||
path,
|
||||
print,
|
||||
options,
|
||||
/* expandArg */ false,
|
||||
/* printTypeParams */ true
|
||||
)
|
||||
);
|
||||
|
||||
if (n.typeAnnotation) {
|
||||
@@ -2889,10 +2899,14 @@ function printFunctionTypeParameters(path, options, print) {
|
||||
return "";
|
||||
}
|
||||
|
||||
function printFunctionParams(path, print, options, expandArg) {
|
||||
function printFunctionParams(path, print, options, expandArg, printTypeParams) {
|
||||
const fun = path.getValue();
|
||||
const paramsField = fun.parameters ? "parameters" : "params";
|
||||
|
||||
const typeParams = printTypeParams
|
||||
? printFunctionTypeParameters(path, options, print)
|
||||
: "";
|
||||
|
||||
let printed = [];
|
||||
if (fun[paramsField]) {
|
||||
printed = path.map(print, paramsField);
|
||||
@@ -2915,6 +2929,7 @@ function printFunctionParams(path, print, options, expandArg) {
|
||||
|
||||
if (printed.length === 0) {
|
||||
return concat([
|
||||
typeParams,
|
||||
"(",
|
||||
comments.printDanglingComments(path, options, /* sameIndent */ true),
|
||||
")"
|
||||
@@ -2934,7 +2949,14 @@ function printFunctionParams(path, print, options, expandArg) {
|
||||
// }) ) => {
|
||||
// })
|
||||
if (expandArg) {
|
||||
return group(concat(["(", join(", ", printed.map(removeLines)), ")"]));
|
||||
return group(
|
||||
concat([
|
||||
removeLines(typeParams),
|
||||
"(",
|
||||
join(", ", printed.map(removeLines)),
|
||||
")"
|
||||
])
|
||||
);
|
||||
}
|
||||
|
||||
// Single object destructuring should hug
|
||||
@@ -2945,7 +2967,7 @@ function printFunctionParams(path, print, options, expandArg) {
|
||||
// c
|
||||
// }) {}
|
||||
if (shouldHugArguments(fun)) {
|
||||
return concat(["(", join(", ", printed), ")"]);
|
||||
return concat([typeParams, "(", join(", ", printed), ")"]);
|
||||
}
|
||||
|
||||
const parent = path.getParentNode();
|
||||
@@ -2993,6 +3015,7 @@ function printFunctionParams(path, print, options, expandArg) {
|
||||
!(lastParam && lastParam.type === "RestElement") && !fun.rest;
|
||||
|
||||
return concat([
|
||||
typeParams,
|
||||
"(",
|
||||
indent(concat([softline, join(concat([",", line]), printed)])),
|
||||
ifBreak(
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`long-function-arg.ts 1`] = `
|
||||
export const forwardS = R.curry(
|
||||
<V,T>(prop: string, reducer: ReducerFunction<V, T>, value: V, state: {[name: string]: T}) =>
|
||||
R.assoc(prop, reducer(value, state[prop]), state)
|
||||
)
|
||||
|
||||
export const forwardS = R.curry(
|
||||
<VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV, TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT>(prop: string, reducer: ReducerFunction<V, T>, value: V, state: {[name: string]: T}) =>
|
||||
R.assoc(prop, reducer(value, state[prop]), state)
|
||||
)
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
export const forwardS = R.curry(
|
||||
<V, T>(
|
||||
prop: string,
|
||||
reducer: ReducerFunction<V, T>,
|
||||
value: V,
|
||||
state: { [name: string]: T }
|
||||
) => R.assoc(prop, reducer(value, state[prop]), state)
|
||||
);
|
||||
|
||||
export const forwardS = R.curry(
|
||||
<
|
||||
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV,
|
||||
TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
|
||||
>(
|
||||
prop: string,
|
||||
reducer: ReducerFunction<V, T>,
|
||||
value: V,
|
||||
state: { [name: string]: T }
|
||||
) => R.assoc(prop, reducer(value, state[prop]), state)
|
||||
);
|
||||
|
||||
`;
|
||||
@@ -0,0 +1 @@
|
||||
run_spec(__dirname, { parser: "typescript" });
|
||||
@@ -0,0 +1,10 @@
|
||||
export const forwardS = R.curry(
|
||||
<V,T>(prop: string, reducer: ReducerFunction<V, T>, value: V, state: {[name: string]: T}) =>
|
||||
R.assoc(prop, reducer(value, state[prop]), state)
|
||||
)
|
||||
|
||||
export const forwardS = R.curry(
|
||||
<VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV, TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT>(prop: string, reducer: ReducerFunction<V, T>, value: V, state: {[name: string]: T}) =>
|
||||
R.assoc(prop, reducer(value, state[prop]), state)
|
||||
)
|
||||
|
||||
Reference in new issue
Block a user