UNPKG

@nestjs/graphql

Version:

Nest - modern, fast, powerful node.js web framework (@graphql)

18 lines (17 loc) 786 B
import { mergePluginOptions } from './merge-options.js'; import { isFilenameMatched } from './utils/is-filename-matched.util.js'; import { resolvePluginOptionsForFile } from './utils/module-format.util.js'; import { ModelClassVisitor } from './visitors/model-class.visitor.js'; const typeClassVisitor = new ModelClassVisitor(); export const before = (options, program) => { options = mergePluginOptions(options); return (ctx) => { return (sf) => { if (isFilenameMatched(options.typeFileNameSuffix, sf.fileName)) { const fileOptions = resolvePluginOptionsForFile(options, sf, program.getCompilerOptions()); return typeClassVisitor.visit(sf, ctx, program, fileOptions); } return sf; }; }; };