@notjustcoders/ioc-arise
Version:
Arise type-safe IoC containers from your code. Zero overhead, zero coupling.
37 lines • 1.35 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const napi_1 = require("@ast-grep/napi");
const fs_1 = __importDefault(require("fs"));
const path_1 = __importDefault(require("path"));
const filePath = path_1.default.join(__dirname, '../examples/abstract-classes-example/abstracts/AbstractRepository.ts');
const sourceCode = fs_1.default.readFileSync(filePath, 'utf8');
const root = napi_1.ts.parse(sourceCode);
console.log('Source code:');
console.log(sourceCode);
console.log('\nAST root:');
console.log(root.toString());
// Find class declarations
const classNodes = root.findAll({
rule: {
kind: 'class_declaration'
}
});
console.log('\nClass declarations found:', classNodes.length);
classNodes.forEach((node, index) => {
console.log(`Class ${index + 1}:`, node.text());
console.log(`Class ${index + 1} AST:`, node.toString());
});
// Also try to find export declarations
const exportNodes = root.findAll({
rule: {
kind: 'export_statement'
}
});
console.log('\nExport statements found:', exportNodes.length);
exportNodes.forEach((node, index) => {
console.log(`Export ${index + 1}:`, node.text());
});
//# sourceMappingURL=debug-test.js.map