ts-lit-plugin
Version:
Typescript plugin that adds type checking and code completion to lit-html
46 lines (45 loc) • 1.62 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.translateDefinition = void 0;
var ts_module_js_1 = require("../../ts-module.js");
var translate_range_js_1 = require("./translate-range.js");
function translateDefinition(definition) {
return {
definitions: definition.targets.map(translateDefinitionInfo),
textSpan: (0, translate_range_js_1.translateRange)(definition.fromRange)
};
}
exports.translateDefinition = translateDefinition;
function translateDefinitionInfo(target) {
var targetStart;
var targetEnd;
var targetFileName;
var targetName;
switch (target.kind) {
case "range":
targetStart = target.range.start;
targetEnd = target.range.end;
targetFileName = target.sourceFile.fileName;
targetName = target.name || "";
break;
case "node": {
var node = target.node;
targetStart = node.getStart();
targetEnd = node.getEnd();
targetFileName = node.getSourceFile().fileName;
targetName = target.name || (ts_module_js_1.tsModule.ts.isIdentifier(node) ? node.getText() : "");
break;
}
}
return {
name: targetName,
textSpan: {
start: targetStart,
length: targetEnd - targetStart
},
fileName: targetFileName,
containerName: targetFileName,
kind: ts_module_js_1.tsModule.ts.ScriptElementKind.memberVariableElement,
containerKind: ts_module_js_1.tsModule.ts.ScriptElementKind.functionElement
};
}