UNPKG

gatsby-source-prismic

Version:

Gatsby source plugin for building websites using Prismic as a data source

29 lines (28 loc) 1.06 kB
import { defaultTransformFieldName } from "./defaultTransformFieldName.js"; import { fieldModelToGraphQLConfig } from "./fieldModelToGraphQLConfig.js"; import { pascalCase } from "./pascalCase.js"; const fieldModelsRecordToGraphQLType = (args) => { const type = args.gatsbyNodeArgs.schema.buildObjectType({ name: pascalCase("Prismic", args.pluginOptions.typePrefix, args.path.join(" ")), fields: {} }); for (const fieldName in args.models) { const model = args.models[fieldName]; const transformedFieldName = args.pluginOptions.transformFieldName ? args.pluginOptions.transformFieldName(fieldName) : defaultTransformFieldName(fieldName); if (type.config.fields) { const graphQLConfig = fieldModelToGraphQLConfig({ ...args, model, path: [...args.path, fieldName] }); if (graphQLConfig) { type.config.fields[transformedFieldName] = graphQLConfig; } } } return type; }; export { fieldModelsRecordToGraphQLType }; //# sourceMappingURL=fieldModelsRecordToGraphQLType.js.map