@dkoul/auto-testid-core
Version:
Core AST parsing and transformation logic for React and Vue.js attribute generation
60 lines • 2.42 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.vueParser = exports.reactParser = void 0;
exports.createParser = createParser;
exports.detectParser = detectParser;
// Parser exports
__exportStar(require("./react-parser"), exports);
__exportStar(require("./vue-parser"), exports);
// TODO: Add other parsers when implemented
// export * from './angular-parser';
// export * from './html-parser';
// Re-export parser instances
var react_parser_1 = require("./react-parser");
Object.defineProperty(exports, "reactParser", { enumerable: true, get: function () { return react_parser_1.reactParser; } });
var vue_parser_1 = require("./vue-parser");
Object.defineProperty(exports, "vueParser", { enumerable: true, get: function () { return vue_parser_1.vueParser; } });
const react_parser_2 = require("./react-parser");
const vue_parser_2 = require("./vue-parser");
function createParser(framework) {
switch (framework) {
case 'react':
return react_parser_2.reactParser;
case 'vue':
return vue_parser_2.vueParser;
case 'angular':
// TODO: return angularParser when implemented
return null;
case 'html':
// TODO: return htmlParser when implemented
return null;
default:
return null;
}
}
// Auto-detect parser based on file path
function detectParser(filePath) {
if (react_parser_2.reactParser.canParse(filePath)) {
return react_parser_2.reactParser;
}
if (vue_parser_2.vueParser.canParse(filePath)) {
return vue_parser_2.vueParser;
}
// TODO: Add other parser detection when implemented
return null;
}
//# sourceMappingURL=index.js.map