UNPKG

@diullei/codeguardian

Version:

Open-source developer tool to validate and enforce architectural rules, especially for AI-generated code

39 lines 1.84 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SelectCommandOutputBuilder = exports.SelectFileChangesBuilder = exports.SelectASTNodesBuilder = exports.SelectLinesBuilder = exports.SelectFilesBuilder = void 0; const selectors_1 = require("../../selectors"); class SelectFilesBuilder { build(config, _factory) { const status = config.status ? (Array.isArray(config.status) ? config.status : [config.status]) : undefined; return new selectors_1.SelectFilesRule(config.id || 'select_files', config.path_pattern, status, config.exclude_pattern, config.select_all || false); } } exports.SelectFilesBuilder = SelectFilesBuilder; class SelectLinesBuilder { build(config, _factory) { const pattern = new RegExp(config.pattern, config.flags || ''); return new selectors_1.SelectLinesRule(config.id || 'select_lines', pattern, config.include_context || 0); } } exports.SelectLinesBuilder = SelectLinesBuilder; class SelectASTNodesBuilder { build(config, _factory) { return new selectors_1.SelectASTNodesRule(config.id || 'select_ast_nodes', config.query, config.language); } } exports.SelectASTNodesBuilder = SelectASTNodesBuilder; class SelectFileChangesBuilder { build(config, _factory) { return new selectors_1.SelectFileChangesRule(config.id || 'select_file_changes', config.min_percentage, config.max_percentage); } } exports.SelectFileChangesBuilder = SelectFileChangesBuilder; class SelectCommandOutputBuilder { build(config, _factory) { return new selectors_1.SelectCommandOutputRule(config.id || `select_command_${config.command?.substring(0, 20)}`, config.command); } } exports.SelectCommandOutputBuilder = SelectCommandOutputBuilder; //# sourceMappingURL=SelectorBuilders.js.map