UNPKG

5.16 kBSource Map (JSON)View Raw
1{"version":3,"file":"index.cjs.js","sources":["../../../dist/transforms/filter-schema/src/index.js"],"sourcesContent":["import { matcher } from 'micromatch';\nimport { FilterRootFields, FilterObjectFields, FilterInputObjectFields, FilterTypes } from '@graphql-tools/wrap';\nimport { applyRequestTransforms, applyResultTransforms, applySchemaTransforms } from '@graphql-mesh/utils';\nexport default class FilterTransform {\n constructor(options) {\n this.transforms = [];\n const { config } = options;\n for (const filter of config) {\n const [typeName, fieldGlob] = filter.split('.');\n if (!fieldGlob) {\n const isMatch = matcher(typeName);\n this.transforms.push(new FilterTypes(type => {\n return !isMatch(type.name);\n }));\n }\n else {\n let fixedFieldGlob = fieldGlob;\n if (fixedFieldGlob.includes('{') && !fixedFieldGlob.includes(',')) {\n fixedFieldGlob = fieldGlob.replace('{', '').replace('}', '');\n }\n fixedFieldGlob = fixedFieldGlob.split(', ').join(',');\n const isMatch = matcher(fixedFieldGlob.trim());\n this.transforms.push(new FilterRootFields((rootTypeName, rootFieldName) => {\n if (rootTypeName === typeName) {\n return isMatch(rootFieldName);\n }\n return true;\n }));\n this.transforms.push(new FilterObjectFields((objectTypeName, objectFieldName) => {\n if (objectTypeName === typeName) {\n return isMatch(objectFieldName);\n }\n return true;\n }));\n this.transforms.push(new FilterInputObjectFields((inputObjectTypeName, inputObjectFieldName) => {\n if (inputObjectTypeName === typeName) {\n return isMatch(inputObjectFieldName);\n }\n return true;\n }));\n }\n }\n }\n transformSchema(originalWrappingSchema, subschemaConfig, transformedSchema) {\n return applySchemaTransforms(originalWrappingSchema, subschemaConfig, transformedSchema, this.transforms);\n }\n transformRequest(originalRequest, delegationContext, transformationContext) {\n return applyRequestTransforms(originalRequest, delegationContext, transformationContext, this.transforms);\n }\n transformResult(originalResult, delegationContext, transformationContext) {\n return applyResultTransforms(originalResult, delegationContext, transformationContext, this.transforms);\n }\n}\n//# sourceMappingURL=index.js.map"],"names":["matcher","FilterTypes","FilterRootFields","FilterObjectFields","FilterInputObjectFields","applySchemaTransforms","applyRequestTransforms","applyResultTransforms"],"mappings":"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"}
\No newline at end of file