UNPKG

@eddeee888/gcg-typescript-resolver-files

Version:

This [GraphQL Code Generator](https://www.the-guild.dev/graphql/codegen) plugin creates resolvers given GraphQL schema.

38 lines 1.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.parseSources = parseSources; const tslib_1 = require("tslib"); const path = tslib_1.__importStar(require("path")); function parseSources({ sources, baseOutputDir, moduleNamingMode, }) { return sources.reduce((result, source) => { if (!source.location) { throw new Error('Missing source location'); } const sourcePath = path.parse(source.location); const relativePathFromBaseToModule = path .relative(path.resolve(baseOutputDir), path.resolve(sourcePath.dir)) .split(path.sep); const moduleName = selectModuleName({ moduleNamingMode, relativePathFromBaseToModule, }); result.sourceMap[source.location] = { source, sourcePath, moduleName, relativePathFromBaseToModule, }; return result; }, { sourceMap: {} }); } const selectModuleName = ({ moduleNamingMode, relativePathFromBaseToModule, }) => { const wrappedModuleNamingMode = moduleNamingMode >= 0 ? moduleNamingMode : relativePathFromBaseToModule.length + moduleNamingMode; if (wrappedModuleNamingMode < 0 || wrappedModuleNamingMode >= relativePathFromBaseToModule.length) { throw new Error(`"moduleNamingMode" ${moduleNamingMode} exceeds path ${relativePathFromBaseToModule.join('/')}`); } return relativePathFromBaseToModule[wrappedModuleNamingMode]; }; //# sourceMappingURL=parseSources.js.map