diff --git a/package.json b/package.json index cdf56dd..9e6a92f 100644 --- a/package.json +++ b/package.json @@ -96,7 +96,7 @@ "typescript-4-8-2": "npm:typescript@4.8.2" }, "dependencies": { - "compatfactory": "^2.0.6" + "compatfactory": "^2.0.7" }, "peerDependencies": { "typescript": "^3.x || ^4.x" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2d0d7e6..14c5d6d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,7 +9,7 @@ specifiers: '@wessberg/prettier-config': 1.0.0 '@wessberg/ts-config': ^2.0.4 ava: ^3.15.0 - compatfactory: ^2.0.6 + compatfactory: ^2.0.7 crosspath: 2.0.0 dotcjs: 1.0.1 eslint: ^8.31.0 @@ -53,7 +53,7 @@ specifiers: typescript-4-8-2: npm:typescript@4.8.2 dependencies: - compatfactory: 2.0.6_typescript@4.9.4 + compatfactory: 2.0.7_typescript@4.9.4 devDependencies: '@types/node': 18.11.18 @@ -1524,8 +1524,8 @@ packages: typescript: 4.9.4 dev: true - /compatfactory/2.0.6_typescript@4.9.4: - resolution: {integrity: sha512-UPChJj2VZtEy/cTLhAtlhapR6hOD7uD1fsjneZZkon6SYSoQbqIku9a/tvS1ELN0vMQ+OzY/Mpogm71dwJVOPw==} + /compatfactory/2.0.7_typescript@4.9.4: + resolution: {integrity: sha512-CyG+b2Rx301B3Uxy3xyilnLgbm3TPP41mOG6m+NeA9bZodNQaYeaGtbTJ+DSGGQIaP+qSMIiw14dwod+vkk2IA==} engines: {node: '>=14.9.0'} peerDependencies: typescript: '>=3.x || >= 4.x' diff --git a/src/clone-node/clone-node.ts b/src/clone-node/clone-node.ts index 69de22d..7dce543 100644 --- a/src/clone-node/clone-node.ts +++ b/src/clone-node/clone-node.ts @@ -252,7 +252,7 @@ import {cloneAssertClause} from "./clone-assert-clause.js"; import {cloneAssertEntry} from "./clone-assert-entry.js"; import {isImportTypeAssertionContainer} from "./util/is-import-type-assertion-container.js"; import {cloneImportTypeAssertionContainer} from "./clone-import-type-assertion-container.js"; -import { cloneSatisfiesExpression } from "./clone-satisfies-expression.js"; +import {cloneSatisfiesExpression} from "./clone-satisfies-expression.js"; export function setParentNodes(node: T, options: Partial): T { return setParents(node, toSetParentNodesOptions(options)); @@ -496,7 +496,7 @@ function executeCloneNode(node: T | undefined, options: Clon return cloneThrowStatement(node, options as unknown as CloneNodeVisitorOptions); } else if (options.typescript.isReturnStatement(node)) { return cloneReturnStatement(node, options as unknown as CloneNodeVisitorOptions); - } else if (options.typescript.isSatisfiesExpression?.(node)) { + } else if (options.typescript.isSatisfiesExpression?.(node)) { return cloneSatisfiesExpression(node, options as unknown as CloneNodeVisitorOptions); } else if (options.typescript.isNewExpression(node)) { return cloneNewExpression(node, options as unknown as CloneNodeVisitorOptions); @@ -550,7 +550,7 @@ function executeCloneNode(node: T | undefined, options: Clon return cloneAsExpression(node, options as unknown as CloneNodeVisitorOptions); } else if ( ("isTypeAssertionExpression" in options.typescript && options.typescript.isTypeAssertionExpression(node)) || - ("isTypeAssertion" in options.typescript && options.typescript.isTypeAssertion(node)) + (!("isTypeAssertionExpression" in options.typescript) && "isTypeAssertion" in options.typescript && (options.typescript as typeof TS).isTypeAssertion(node)) ) { return cloneTypeAssertion(node, options as unknown as CloneNodeVisitorOptions); } else if (options.typescript.isAwaitExpression(node)) { diff --git a/src/clone-node/clone-type-parameter-declaration.ts b/src/clone-node/clone-type-parameter-declaration.ts index be18d90..94f5256 100644 --- a/src/clone-node/clone-type-parameter-declaration.ts +++ b/src/clone-node/clone-type-parameter-declaration.ts @@ -3,6 +3,7 @@ import {TS} from "./type/ts.js"; export function cloneTypeParameterDeclaration(node: TS.TypeParameterDeclaration, options: CloneNodeVisitorOptions): TS.TypeParameterDeclaration { return options.factory.createTypeParameterDeclaration( + options.hook("modifiers", options.nextNodes(node.modifiers), node.modifiers), options.hook("name", options.nextNode(node.name), node.name), options.hook("constraint", options.nextNode(node.constraint), node.constraint), options.hook("default", options.nextNode(node.default), node.default)