/
mkudmi
/
RUF-API-Platform
Обзор
Документация
Войти
/
mkudmi
/
RUF-API-Platform
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/modules/tests/functionParser.ts
44 строки
1 KB
mkudmi
JS tests functional has been added
20 фев 2026, 21:46
20 фев 2026, 21:46
be70709
Код
Авторство
О чём код?
import type { TestClass, TestFunctionRef } from './types' export function extractFunctionNamesFromCode(code: string): string[] { const out: string[] = [] const seen = new Set<string>() const src = code || '' const fnDecl = /function\s+([A-Za-z_$][\w$]*)\s*\(/g for (let m = fnDecl.exec(src); m; m = fnDecl.exec(src)) { const name = m[1] if (!seen.has(name)) { seen.add(name) out.push(name) } } const fnExpr = /(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s*=\s*(?:async\s*)?\([^)]*\)\s*=>/g for (let m = fnExpr.exec(src); m; m = fnExpr.exec(src)) { const name = m[1] if (!seen.has(name)) { seen.add(name) out.push(name) } } return out } export function buildAvailableTestFunctions(classes: TestClass[]): TestFunctionRef[] { return classes.flatMap(testClass => { const className = testClass.name.trim() || 'UnnamedClass' return extractFunctionNamesFromCode(testClass.code).map(functionName => ({ className, functionName, code: testClass.code, })) }) } export function sanitizeTestClasses(classes: TestClass[]): TestClass[] { return classes .map(testClass => ({ ...testClass, name: testClass.name.trim() })) .filter(testClass => !!testClass.name) }