#!/usr/bin/env -S node --no-warnings --loader ts-node/esm --experimental-vm-modules "use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const tstest_1 = require("tstest"); const fs_1 = __importDefault(require("fs")); const path_1 = __importDefault(require("path")); const extract_class_names_js_1 = require("./extract-class-names.js"); const cjs_js_1 = require("../cjs.js"); (0, tstest_1.test)('extractClassNameListFromSource()', async (t) => { const TS = ` @Sidecar( targetProgram(), loadAgentSource(), ) class ChatboxSidecar extends SidecarBody {} @Sidecar( targetProgram(), loadAgentSource(), ) class ChatboxSidecar2 extends SidecarBody {} `; const EXPECTED = ['ChatboxSidecar', 'ChatboxSidecar2']; const classNameList = await (0, extract_class_names_js_1.extractClassNameListFromSource)(TS); t.same(classNameList, EXPECTED, 'should extract the class name correct'); }); (0, tstest_1.test)('extractClassNameListFromSource() with export', async (t) => { const TS = ` @Sidecar( targetProgram(), loadAgentSource(), ) export class ChatboxSidecar extends SidecarBody {} `; const EXPECTED = ['ChatboxSidecar']; const classNameList = await (0, extract_class_names_js_1.extractClassNameListFromSource)(TS); t.same(classNameList, EXPECTED, 'should extract the exported class name correct'); }); (0, tstest_1.test)('extractClassNameListFromSource() with examples/chatbox-sidebar.ts', async (t) => { const TS = await fs_1.default.readFileSync(path_1.default.join(cjs_js_1.codeRoot, 'examples', 'chatbox-sidecar.ts')).toString(); const EXPECTED = ['ChatboxSidecar']; const classNameList = await (0, extract_class_names_js_1.extractClassNameListFromSource)(TS); t.same(classNameList, EXPECTED, 'should extract the class name correct'); }); //# sourceMappingURL=extract-class-names.spec.js.map