mirror of
https://github.com/johndoe6345789/metabuilder.git
synced 2026-04-25 06:14:59 +00:00
29 lines
1.1 KiB
TypeScript
29 lines
1.1 KiB
TypeScript
import * as path from 'path'
|
|
import { extractFunctions } from './parsing/extract-functions'
|
|
import { extractImportsAndTypes } from './parsing/extract-imports-and-types'
|
|
import { buildFunctionContent } from './io/build-function-content'
|
|
import { buildClassWrapper } from './io/build-class-wrapper'
|
|
import { buildIndexContent } from './io/build-index-content'
|
|
import { writeFileSafely } from './io/write-file'
|
|
import { runLintFix } from './workflow/run-lint'
|
|
import { FunctionInfo } from './lambda/types'
|
|
|
|
export async function writeFunctions(
|
|
functions: FunctionInfo[],
|
|
imports: string[],
|
|
types: string[],
|
|
functionsDir: string,
|
|
result: RefactorResult
|
|
) {
|
|
for (const func of functions) {
|
|
const kebabName = this.toKebabCase(func.name)
|
|
const funcFilePath = path.join(functionsDir, `${kebabName}.ts`)
|
|
const content = buildFunctionContent(func, imports, types)
|
|
|
|
await writeFileSafely(funcFilePath, content, this.dryRun)
|
|
|
|
result.newFiles.push(funcFilePath)
|
|
this.log(` ✓ ${kebabName}.ts`)
|
|
}
|
|
}
|