MCPcopy Create free account
hub / github.com/CoderLine/alphaTab / generateClass

Function generateClass

packages/alphatab/scripts/EmitterBase.ts:62–82  ·  view source on GitHub ↗
(
    program: ts.Program,
    classDeclaration: ts.ClassDeclaration,
    generate: (program: ts.Program, classDeclaration: ts.ClassDeclaration) => ts.SourceFile
)

Source from the content-addressed store, hash-verified

60}
61
62export function generateClass(
63 program: ts.Program,
64 classDeclaration: ts.ClassDeclaration,
65 generate: (program: ts.Program, classDeclaration: ts.ClassDeclaration) => ts.SourceFile
66) {
67 const sourceFileName = path.relative(
68 path.join(path.dirname(program.getCompilerOptions().configFilePath as string), 'src'),
69 path.resolve(classDeclaration.getSourceFile().fileName)
70 );
71
72 const result = generate(program, classDeclaration);
73 const defaultClass = result.statements.find(
74 stmt =>
75 (ts.isClassDeclaration(stmt) || ts.isInterfaceDeclaration(stmt)) &&
76 stmt.modifiers!.find(m => m.kind === ts.SyntaxKind.ExportKeyword)
77 ) as ts.DeclarationStatement;
78
79 const targetFileName = path.join(path.dirname(sourceFileName), `${defaultClass.name!.text}.ts`);
80
81 generateFile(program, result, targetFileName);
82}
83
84export default function createEmitter(
85 jsDocMarker: string,

Callers 1

scanSourceFileFunction · 0.85

Calls 3

generateFileFunction · 0.70
joinMethod · 0.45
resolveMethod · 0.45

Tested by

no test coverage detected