UNPKG

graphql-codegen-core

Version:

GraphQL types and code generator based on schema

49 lines 1.51 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var graphql_1 = require("graphql"); var debugging_1 = require("../debugging"); function isRequired(type) { var stringType = String(type); return stringType.lastIndexOf('!') === stringType.length - 1; } exports.isRequired = isRequired; function isNullable(type) { var stringType = String(type); return isArray(type) && !stringType.includes('!]'); } exports.isNullable = isNullable; function isArray(type) { return String(type).indexOf('[') > -1; } exports.isArray = isArray; function dimensionOfArray(type) { if (isArray(type)) { var dimension = 0; var characters = Array.from(String(type)); for (var _i = 0, characters_1 = characters; _i < characters_1.length; _i++) { var char = characters_1[_i]; if (char !== '[') { return dimension; } else { dimension++; } } } return -1; } exports.dimensionOfArray = dimensionOfArray; function resolveType(type) { var name = graphql_1.getNamedType(type).name; debugging_1.debugLog("[resolveType] resolving type " + name); return { name: name, raw: String(type), isRequired: isRequired(type), isArray: isArray(type), isNullableArray: isNullable(type), dimensionOfArray: dimensionOfArray(type) }; } exports.resolveType = resolveType; //# sourceMappingURL=resolve-type.js.map