gatsby-source-prismic
Version:
Gatsby source plugin for building websites using Prismic as a data source
29 lines (28 loc) • 1.25 kB
JavaScript
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const defaultTransformFieldName = require("./defaultTransformFieldName.cjs");
const fieldModelToGraphQLConfig = require("./fieldModelToGraphQLConfig.cjs");
const pascalCase = require("./pascalCase.cjs");
const fieldModelsRecordToGraphQLType = (args) => {
const type = args.gatsbyNodeArgs.schema.buildObjectType({
name: pascalCase.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.defaultTransformFieldName(fieldName);
if (type.config.fields) {
const graphQLConfig = fieldModelToGraphQLConfig.fieldModelToGraphQLConfig({
...args,
model,
path: [...args.path, fieldName]
});
if (graphQLConfig) {
type.config.fields[transformedFieldName] = graphQLConfig;
}
}
}
return type;
};
exports.fieldModelsRecordToGraphQLType = fieldModelsRecordToGraphQLType;
//# sourceMappingURL=fieldModelsRecordToGraphQLType.cjs.map
;