strapi/packages/plugins/graphql/server/services/utils/mappers/strapi-scalar-to-graphql-scalar.js

25 lines
718 B
JavaScript
Raw Normal View History

'use strict';
const { get, difference } = require('lodash/fp');
module.exports = ({ strapi }) => {
const { STRAPI_SCALARS, SCALARS_ASSOCIATIONS } = strapi.plugin('graphql').service('constants');
const missingStrapiScalars = difference(STRAPI_SCALARS, Object.keys(SCALARS_ASSOCIATIONS));
if (missingStrapiScalars.length > 0) {
throw new Error('Some Strapi scalars are not handled in the GraphQL scalars mapper');
}
return {
/**
* Used to transform a Strapi scalar type into its GraphQL equivalent
* @param {string} strapiScalar
* @return {NexusGenScalars}
*/
strapiScalarToGraphQLScalar(strapiScalar) {
return get(strapiScalar, SCALARS_ASSOCIATIONS);
},
};
};