aboutsummaryrefslogtreecommitdiff
path: root/node_modules/typedoc/dist/lib/converter/plugins/DecoratorPlugin.js.map
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/typedoc/dist/lib/converter/plugins/DecoratorPlugin.js.map')
-rw-r--r--node_modules/typedoc/dist/lib/converter/plugins/DecoratorPlugin.js.map2
1 files changed, 1 insertions, 1 deletions
diff --git a/node_modules/typedoc/dist/lib/converter/plugins/DecoratorPlugin.js.map b/node_modules/typedoc/dist/lib/converter/plugins/DecoratorPlugin.js.map
index a9751643a..7f1c8f698 100644
--- a/node_modules/typedoc/dist/lib/converter/plugins/DecoratorPlugin.js.map
+++ b/node_modules/typedoc/dist/lib/converter/plugins/DecoratorPlugin.js.map
@@ -1 +1 @@
-{"version":3,"file":"DecoratorPlugin.js","sourceRoot":"","sources":["../../../../src/lib/converter/plugins/DecoratorPlugin.ts"],"names":[],"mappings":"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","sourcesContent":["import * as ts from 'typescript';\nimport * as _ts from '../../ts-internal';\n\nimport {ReferenceType} from '../../models/types/index';\nimport {Reflection, Decorator} from '../../models/reflections/index';\nimport {Component, ConverterComponent} from '../components';\nimport {Converter} from '../converter';\nimport {Context} from '../context';\n\n/**\n * A plugin that detects decorators.\n */\n@Component({name: 'decorator'})\nexport class DecoratorPlugin extends ConverterComponent {\n private usages: {[symbolID: number]: ReferenceType[]};\n\n /**\n * Create a new ImplementsPlugin instance.\n */\n initialize() {\n this.listenTo(this.owner, {\n [Converter.EVENT_BEGIN]: this.onBegin,\n [Converter.EVENT_CREATE_DECLARATION]: this.onDeclaration,\n [Converter.EVENT_CREATE_PARAMETER]: this.onDeclaration,\n [Converter.EVENT_RESOLVE]: this.onBeginResolve\n });\n }\n\n /**\n * Create an object describing the arguments a decorator is set with.\n *\n * @param args The arguments resolved from the decorator's call expression.\n * @param signature The signature definition of the decorator being used.\n * @returns An object describing the decorator parameters,\n */\n private extractArguments(args: ts.NodeArray<ts.Expression>, signature: ts.Signature): any {\n const result = {};\n args.forEach((arg: ts.Expression, index: number) => {\n if (index < signature.parameters.length) {\n const parameter = signature.parameters[index];\n result[parameter.name] = _ts.getTextOfNode(arg);\n } else {\n if (!result['...']) {\n result['...'] = [];\n }\n result['...'].push(_ts.getTextOfNode(arg));\n }\n });\n\n return result;\n }\n\n /**\n * Triggered when the converter begins converting a project.\n *\n * @param context The context object describing the current state the converter is in.\n */\n private onBegin(context: Context) {\n this.usages = {};\n }\n\n /**\n * Triggered when the converter has created a declaration or signature reflection.\n *\n * @param context The context object describing the current state the converter is in.\n * @param reflection The reflection that is currently processed.\n * @param node The node that is currently processed if available.\n */\n private onDeclaration(context: Context, reflection: Reflection, node?: ts.Node) {\n if (!node || !node.decorators) {\n return;\n }\n node.decorators.forEach((decorator: ts.Decorator) => {\n let callExpression: ts.CallExpression;\n let identifier: ts.Expression;\n\n switch (decorator.expression.kind) {\n case ts.SyntaxKind.Identifier:\n identifier = decorator.expression;\n break;\n case ts.SyntaxKind.CallExpression:\n callExpression = <ts.CallExpression> decorator.expression;\n identifier = callExpression.expression;\n break;\n default:\n return;\n }\n\n const info: Decorator = {\n name: _ts.getTextOfNode(identifier)\n };\n\n const type = context.checker.getTypeAtLocation(identifier);\n if (type && type.symbol) {\n const symbolID = context.getSymbolID(type.symbol);\n info.type = new ReferenceType(info.name, symbolID);\n\n if (callExpression && callExpression.arguments) {\n const signature = context.checker.getResolvedSignature(callExpression);\n if (signature) {\n info.arguments = this.extractArguments(callExpression.arguments, signature);\n }\n }\n\n if (!this.usages[symbolID]) {\n this.usages[symbolID] = [];\n }\n this.usages[symbolID].push(new ReferenceType(reflection.name, ReferenceType.SYMBOL_ID_RESOLVED, reflection));\n }\n\n if (!reflection.decorators) {\n reflection.decorators = [];\n }\n reflection.decorators.push(info);\n });\n }\n\n /**\n * Triggered when the converter resolves a reflection.\n *\n * @param context The context object describing the current state the converter is in.\n * @param reflection The reflection that is currently resolved.\n */\n private onBeginResolve(context: Context) {\n for (let symbolID in this.usages) {\n if (!this.usages.hasOwnProperty(symbolID)) {\n continue;\n }\n\n const id = context.project.symbolMapping[symbolID];\n if (!id) {\n continue;\n }\n\n const reflection = context.project.reflections[id];\n if (reflection) {\n reflection.decorates = this.usages[symbolID];\n }\n }\n }\n}\n"]} \ No newline at end of file
+{"version":3,"file":"DecoratorPlugin.js","sourceRoot":"","sources":["../../../../src/lib/converter/plugins/DecoratorPlugin.ts"],"names":[],"mappings":"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","sourcesContent":["import * as ts from 'typescript';\nimport * as _ts from '../../ts-internal';\n\nimport { ReferenceType } from '../../models/types/index';\nimport { Reflection, Decorator } from '../../models/reflections/index';\nimport { Component, ConverterComponent } from '../components';\nimport { Converter } from '../converter';\nimport { Context } from '../context';\n\n/**\n * A plugin that detects decorators.\n */\n@Component({name: 'decorator'})\nexport class DecoratorPlugin extends ConverterComponent {\n private usages: {[symbolID: number]: ReferenceType[]};\n\n /**\n * Create a new ImplementsPlugin instance.\n */\n initialize() {\n this.listenTo(this.owner, {\n [Converter.EVENT_BEGIN]: this.onBegin,\n [Converter.EVENT_CREATE_DECLARATION]: this.onDeclaration,\n [Converter.EVENT_CREATE_PARAMETER]: this.onDeclaration,\n [Converter.EVENT_RESOLVE]: this.onBeginResolve\n });\n }\n\n /**\n * Create an object describing the arguments a decorator is set with.\n *\n * @param args The arguments resolved from the decorator's call expression.\n * @param signature The signature definition of the decorator being used.\n * @returns An object describing the decorator parameters,\n */\n private extractArguments(args: ts.NodeArray<ts.Expression>, signature: ts.Signature): any {\n const result = {};\n args.forEach((arg: ts.Expression, index: number) => {\n if (index < signature.parameters.length) {\n const parameter = signature.parameters[index];\n result[parameter.name] = _ts.getTextOfNode(arg);\n } else {\n if (!result['...']) {\n result['...'] = [];\n }\n result['...'].push(_ts.getTextOfNode(arg));\n }\n });\n\n return result;\n }\n\n /**\n * Triggered when the converter begins converting a project.\n *\n * @param context The context object describing the current state the converter is in.\n */\n private onBegin(context: Context) {\n this.usages = {};\n }\n\n /**\n * Triggered when the converter has created a declaration or signature reflection.\n *\n * @param context The context object describing the current state the converter is in.\n * @param reflection The reflection that is currently processed.\n * @param node The node that is currently processed if available.\n */\n private onDeclaration(context: Context, reflection: Reflection, node?: ts.Node) {\n if (!node || !node.decorators) {\n return;\n }\n node.decorators.forEach((decorator: ts.Decorator) => {\n let callExpression: ts.CallExpression;\n let identifier: ts.Expression;\n\n switch (decorator.expression.kind) {\n case ts.SyntaxKind.Identifier:\n identifier = decorator.expression;\n break;\n case ts.SyntaxKind.CallExpression:\n callExpression = <ts.CallExpression> decorator.expression;\n identifier = callExpression.expression;\n break;\n default:\n return;\n }\n\n const info: Decorator = {\n name: _ts.getTextOfNode(identifier)\n };\n\n const type = context.checker.getTypeAtLocation(identifier);\n if (type && type.symbol) {\n const symbolID = context.getSymbolID(type.symbol);\n info.type = new ReferenceType(info.name, symbolID);\n\n if (callExpression && callExpression.arguments) {\n const signature = context.checker.getResolvedSignature(callExpression);\n if (signature) {\n info.arguments = this.extractArguments(callExpression.arguments, signature);\n }\n }\n\n if (!this.usages[symbolID]) {\n this.usages[symbolID] = [];\n }\n this.usages[symbolID].push(new ReferenceType(reflection.name, ReferenceType.SYMBOL_ID_RESOLVED, reflection));\n }\n\n if (!reflection.decorators) {\n reflection.decorators = [];\n }\n reflection.decorators.push(info);\n });\n }\n\n /**\n * Triggered when the converter resolves a reflection.\n *\n * @param context The context object describing the current state the converter is in.\n * @param reflection The reflection that is currently resolved.\n */\n private onBeginResolve(context: Context) {\n for (let symbolID in this.usages) {\n if (!this.usages.hasOwnProperty(symbolID)) {\n continue;\n }\n\n const id = context.project.symbolMapping[symbolID];\n if (!id) {\n continue;\n }\n\n const reflection = context.project.reflections[id];\n if (reflection) {\n reflection.decorates = this.usages[symbolID];\n }\n }\n }\n}\n"]} \ No newline at end of file