@eddeee888/gcg-typescript-resolver-files
Version:
This [GraphQL Code Generator](https://www.the-guild.dev/graphql/codegen) plugin creates resolvers given GraphQL schema.
40 lines • 1.81 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseLocationForOutputDir = void 0;
const tslib_1 = require("tslib");
const path = tslib_1.__importStar(require("path"));
const utils_1 = require("../utils");
/**
* Parse location to see which module it belongs to.
* Also check against whitelisted and blacklisted to see if need to generate file.
*/
const parseLocationForOutputDir = ({ nestedDirs, mode, sourceMap, whitelistedModules, blacklistedModules, baseOutputDir, resolverRelativeTargetDir, location, }) => {
// If mode is "merged", there's only one module:
// - always generate a.k.a it's always whitelisted
// - put them together at designated relativeTargetDir
// - moduleName='' i.e. no module
if (mode === 'merged') {
return {
resolversOutputDir: path.posix.join(baseOutputDir, resolverRelativeTargetDir, ...nestedDirs),
moduleName: '',
relativePathFromBaseToModule: [],
};
}
// 2. mode is "modules", each module is the folder containing the schema files
// This means one or multiple schema files can add up to one module
const parsedSource = (0, utils_1.parseLocationForWhitelistedModule)({
location,
sourceMap,
whitelistedModules,
blacklistedModules,
});
return parsedSource
? {
resolversOutputDir: path.posix.join(baseOutputDir, ...parsedSource.relativePathFromBaseToModule, resolverRelativeTargetDir, ...nestedDirs),
moduleName: parsedSource.moduleName,
relativePathFromBaseToModule: parsedSource.relativePathFromBaseToModule,
}
: undefined;
};
exports.parseLocationForOutputDir = parseLocationForOutputDir;
//# sourceMappingURL=parseLocationForOutputDir.js.map
;