diff --git a/src/language/printer.ts b/src/language/printer.ts index e91c8c03f7..9363c6ec46 100644 --- a/src/language/printer.ts +++ b/src/language/printer.ts @@ -143,7 +143,6 @@ const printDocASTReducer: ASTReducer = { FloatValue: { leave: ({ value }) => value }, StringValue: { leave: ({ value, block: isBlockString }) => - // @ts-expect-error FIXME: it's a problem with ASTReducer, will be fixed in separate PR isBlockString === true ? printBlockString(value) : printString(value), }, BooleanValue: { leave: ({ value }) => (value ? 'true' : 'false') }, diff --git a/src/language/visitor.ts b/src/language/visitor.ts index e5a9aa89e8..65df78d099 100644 --- a/src/language/visitor.ts +++ b/src/language/visitor.ts @@ -71,11 +71,11 @@ type ASTReducerFn = ( ancestors: ReadonlyArray>, ) => R; -type ReducedField = T extends null | undefined - ? T - : T extends ReadonlyArray +type ReducedField = T extends ASTNode + ? R + : T extends ReadonlyArray ? ReadonlyArray - : R; + : T; /** * A KeyMap describes each the traversable properties of each kind of node.