refakts
Version:
TypeScript refactoring tool built for AI coding agents to perform precise refactoring operations via command line instead of requiring complete code regeneration.
50 lines • 1.69 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.VariableResultBuilder = void 0;
const usage_type_detector_1 = require("./usage-type-detector");
class VariableResultBuilder {
constructor() {
this.usageTypeDetector = new usage_type_detector_1.UsageTypeDetector();
}
buildLocationResult(variableName, declaration, usages) {
return {
variable: variableName,
declaration: this.createLocation(declaration, 'declaration'),
usages: usages.map(usage => this.createUsageLocation(usage))
};
}
buildNodeResult(variableName, declaration, usages) {
return {
variable: variableName,
declaration,
usages: usages.map(usage => ({
node: usage,
usageType: this.usageTypeDetector.determineUsageType(usage)
}))
};
}
createLocation(node, kind) {
const position = this.getNodePosition(node);
return {
kind,
line: position.line,
column: position.column,
text: node.getText()
};
}
createUsageLocation(node) {
const location = this.createLocation(node, 'usage');
const usageType = this.usageTypeDetector.determineUsageType(node);
return {
...location,
usageType
};
}
getNodePosition(node) {
const start = node.getStart();
const sourceFile = node.getSourceFile();
return sourceFile.getLineAndColumnAtPos(start);
}
}
exports.VariableResultBuilder = VariableResultBuilder;
//# sourceMappingURL=variable-result-builder.js.map