-
-
Notifications
You must be signed in to change notification settings - Fork 33
/
actionContexts.ts
30 lines (24 loc) · 944 Bytes
/
actionContexts.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import { join } from 'path'
import { createFolderIfNotExists } from './fileFolder.js'
import { toPascalCase } from './formatString.js'
import { write } from './readWrite.js'
export function actionContext(ctxModules: { ctxName: string; moduleName: string }[], outputFolder: string) {
const dataCtxModules = []
ctxModules.forEach(ctx => {
dataCtxModules.push(
`import { getCtx${toPascalCase(ctx.ctxName)} } from '../../modules/${ctx.moduleName}/providers/_ctx${toPascalCase(
ctx.ctxName
)}';`
)
})
dataCtxModules.push(``)
dataCtxModules.push(`export function getCtxModules(prisma: any) {`)
dataCtxModules.push(` return {`)
ctxModules.forEach(ctx => {
dataCtxModules.push(` ...getCtx${toPascalCase(ctx.ctxName)}(prisma),`)
})
dataCtxModules.push(` };`)
dataCtxModules.push(`}`)
createFolderIfNotExists(join(outputFolder))
write(join(outputFolder, '_ctxModules.ts'), dataCtxModules)
}