@nestjs/graphql
Version:
Nest - modern, fast, powerful node.js web framework (@graphql)
18 lines (17 loc) • 786 B
JavaScript
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;
};
};
};