(flags, baseFactory)
| 22228 | */ |
| 22229 | /* @internal */ |
| 22230 | function createNodeFactory(flags, baseFactory) { |
| 22231 | var update = flags & 8 /* NodeFactoryFlags.NoOriginalNode */ ? updateWithoutOriginal : updateWithOriginal; |
| 22232 | // Lazily load the parenthesizer, node converters, and some factory methods until they are used. |
| 22233 | var parenthesizerRules = ts.memoize(function () { return flags & 1 /* NodeFactoryFlags.NoParenthesizerRules */ ? ts.nullParenthesizerRules : ts.createParenthesizerRules(factory); }); |
| 22234 | var converters = ts.memoize(function () { return flags & 2 /* NodeFactoryFlags.NoNodeConverters */ ? ts.nullNodeConverters : ts.createNodeConverters(factory); }); |
| 22235 | // lazy initializaton of common operator factories |
| 22236 | var getBinaryCreateFunction = ts.memoizeOne(function (operator) { return function (left, right) { return createBinaryExpression(left, operator, right); }; }); |
| 22237 | var getPrefixUnaryCreateFunction = ts.memoizeOne(function (operator) { return function (operand) { return createPrefixUnaryExpression(operator, operand); }; }); |
| 22238 | var getPostfixUnaryCreateFunction = ts.memoizeOne(function (operator) { return function (operand) { return createPostfixUnaryExpression(operand, operator); }; }); |
| 22239 | var getJSDocPrimaryTypeCreateFunction = ts.memoizeOne(function (kind) { return function () { return createJSDocPrimaryTypeWorker(kind); }; }); |
| 22240 | var getJSDocUnaryTypeCreateFunction = ts.memoizeOne(function (kind) { return function (type) { return createJSDocUnaryTypeWorker(kind, type); }; }); |
| 22241 | var getJSDocUnaryTypeUpdateFunction = ts.memoizeOne(function (kind) { return function (node, type) { return updateJSDocUnaryTypeWorker(kind, node, type); }; }); |
| 22242 | var getJSDocPrePostfixUnaryTypeCreateFunction = ts.memoizeOne(function (kind) { return function (type, postfix) { return createJSDocPrePostfixUnaryTypeWorker(kind, type, postfix); }; }); |
| 22243 | var getJSDocPrePostfixUnaryTypeUpdateFunction = ts.memoizeOne(function (kind) { return function (node, type) { return updateJSDocPrePostfixUnaryTypeWorker(kind, node, type); }; }); |
| 22244 | var getJSDocSimpleTagCreateFunction = ts.memoizeOne(function (kind) { return function (tagName, comment) { return createJSDocSimpleTagWorker(kind, tagName, comment); }; }); |
| 22245 | var getJSDocSimpleTagUpdateFunction = ts.memoizeOne(function (kind) { return function (node, tagName, comment) { return updateJSDocSimpleTagWorker(kind, node, tagName, comment); }; }); |
| 22246 | var getJSDocTypeLikeTagCreateFunction = ts.memoizeOne(function (kind) { return function (tagName, typeExpression, comment) { return createJSDocTypeLikeTagWorker(kind, tagName, typeExpression, comment); }; }); |
| 22247 | var getJSDocTypeLikeTagUpdateFunction = ts.memoizeOne(function (kind) { return function (node, tagName, typeExpression, comment) { return updateJSDocTypeLikeTagWorker(kind, node, tagName, typeExpression, comment); }; }); |
| 22248 | var factory = { |
| 22249 | get parenthesizer() { return parenthesizerRules(); }, |
| 22250 | get converters() { return converters(); }, |
| 22251 | baseFactory: baseFactory, |
| 22252 | flags: flags, |
| 22253 | createNodeArray: createNodeArray, |
| 22254 | createNumericLiteral: createNumericLiteral, |
| 22255 | createBigIntLiteral: createBigIntLiteral, |
| 22256 | createStringLiteral: createStringLiteral, |
| 22257 | createStringLiteralFromNode: createStringLiteralFromNode, |
| 22258 | createRegularExpressionLiteral: createRegularExpressionLiteral, |
| 22259 | createLiteralLikeNode: createLiteralLikeNode, |
| 22260 | createIdentifier: createIdentifier, |
| 22261 | updateIdentifier: updateIdentifier, |
| 22262 | createTempVariable: createTempVariable, |
| 22263 | createLoopVariable: createLoopVariable, |
| 22264 | createUniqueName: createUniqueName, |
| 22265 | getGeneratedNameForNode: getGeneratedNameForNode, |
| 22266 | createPrivateIdentifier: createPrivateIdentifier, |
| 22267 | createToken: createToken, |
| 22268 | createSuper: createSuper, |
| 22269 | createThis: createThis, |
| 22270 | createNull: createNull, |
| 22271 | createTrue: createTrue, |
| 22272 | createFalse: createFalse, |
| 22273 | createModifier: createModifier, |
| 22274 | createModifiersFromModifierFlags: createModifiersFromModifierFlags, |
| 22275 | createQualifiedName: createQualifiedName, |
| 22276 | updateQualifiedName: updateQualifiedName, |
| 22277 | createComputedPropertyName: createComputedPropertyName, |
| 22278 | updateComputedPropertyName: updateComputedPropertyName, |
| 22279 | createTypeParameterDeclaration: createTypeParameterDeclaration, |
| 22280 | updateTypeParameterDeclaration: updateTypeParameterDeclaration, |
| 22281 | createParameterDeclaration: createParameterDeclaration, |
| 22282 | updateParameterDeclaration: updateParameterDeclaration, |
| 22283 | createDecorator: createDecorator, |
| 22284 | updateDecorator: updateDecorator, |
| 22285 | createPropertySignature: createPropertySignature, |
| 22286 | updatePropertySignature: updatePropertySignature, |
| 22287 | createPropertyDeclaration: createPropertyDeclaration, |
no test coverage detected