UNPKG

graphql-mocks

Version:
48 lines (35 loc) 2.08 kB
function extractAllDependencies(context) { var _context$pack$depende, _context$pack; var packedDependencies = (_context$pack$depende = context === null || context === void 0 ? void 0 : (_context$pack = context.pack) === null || _context$pack === void 0 ? void 0 : _context$pack.dependencies) !== null && _context$pack$depende !== void 0 ? _context$pack$depende : {}; return packedDependencies; } // eslint-disable-next-line @typescript-eslint/explicit-function-return-type function extractDependencies(context, requestedDependencies) { var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : { required: true }; var packedDependencies = extractAllDependencies(context); if (!Array.isArray(requestedDependencies) || requestedDependencies.length === 0) { return packedDependencies; } options = typeof options !== 'object' ? { required: true } : options; options.required = 'required' in options ? options.required : true; // eslint-disable-next-line @typescript-eslint/no-explicit-any var extracted = {}; var missingRequiredDependencies = []; requestedDependencies.forEach(dependencyName => { var _options; var dependency = packedDependencies[dependencyName]; if (((_options = options) === null || _options === void 0 ? void 0 : _options.required) && dependency == null) { missingRequiredDependencies.push(dependencyName.toString()); } extracted[dependencyName] = dependency; }); if (missingRequiredDependencies.length > 0) { var missingKeys = missingRequiredDependencies.map(key => "\"".concat(key, "\"")).join(', '); throw new Error("Expected to find dependencies with keys: ".concat(missingKeys, "\n") + 'Either:\n' + ' * Add these to `dependencies` to your `GraphQLHandler` class or `pack` function\n' + ' * Use { required : false } as the third argument to `extractDependencies` and allow for these to be optional dependencies'); } return extracted; } export { extractAllDependencies, extractDependencies }; //# sourceMappingURL=extract-dependencies.js.map