gatsby-source-prismic
Version:
Gatsby source plugin for building websites using Prismic as a data source
29 lines (28 loc) • 1.06 kB
JavaScript
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