apollo-codegen-scala
Version:
Scala generator module for Apollo Codegen
96 lines • 4.65 kB
JavaScript
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.propertyFromLegacyField = exports.propertyFromInputField = exports.traitNameForInlineFragment = exports.traitNameForFragmentName = exports.traitNameForPropertyName = exports.operationClassName = exports.enumCaseName = void 0;
const change_case_1 = require("change-case");
const Inflector = __importStar(require("inflected"));
const printing_1 = require("apollo-codegen-core/lib/utilities/printing");
const language_1 = require("./language");
const types_1 = require("./types");
const graphql_1 = require("graphql");
function enumCaseName(name) {
return (0, change_case_1.camelCase)(name);
}
exports.enumCaseName = enumCaseName;
function operationClassName(name) {
return (0, change_case_1.pascalCase)(name);
}
exports.operationClassName = operationClassName;
function traitNameForPropertyName(propertyName) {
return (0, change_case_1.pascalCase)(Inflector.singularize(propertyName));
}
exports.traitNameForPropertyName = traitNameForPropertyName;
function traitNameForFragmentName(fragmentName) {
return (0, change_case_1.pascalCase)(fragmentName);
}
exports.traitNameForFragmentName = traitNameForFragmentName;
function traitNameForInlineFragment(inlineFragment) {
return "As" + (0, change_case_1.pascalCase)(String(inlineFragment.typeCondition));
}
exports.traitNameForInlineFragment = traitNameForInlineFragment;
function propertyFromInputField(context, field, namespace, parentTraitName) {
const name = field.name;
const unescapedPropertyName = isMetaFieldName(name) ? name : (0, change_case_1.camelCase)(name);
const propertyName = (0, language_1.escapeIdentifierIfNeeded)(unescapedPropertyName);
const type = field.type;
const isList = (0, graphql_1.isListType)(type);
const isOptional = !(0, graphql_1.isNonNullType)(type);
const bareType = (0, graphql_1.getNamedType)(type);
const bareTypeName = (0, graphql_1.isCompositeType)(bareType)
? (0, printing_1.join)([
namespace,
parentTraitName,
(0, language_1.escapeIdentifierIfNeeded)((0, change_case_1.pascalCase)(Inflector.singularize(name))),
], ".")
: undefined;
const typeName = (0, types_1.typeNameFromGraphQLType)(context, type, bareTypeName, isOptional, true);
return Object.assign(Object.assign({}, field), { propertyName,
typeName,
isOptional,
isList, description: field.description || undefined });
}
exports.propertyFromInputField = propertyFromInputField;
function propertyFromLegacyField(context, field, namespace, parentTraitName) {
const name = field.responseName;
const propertyName = (0, language_1.escapeIdentifierIfNeeded)(name);
const type = field.type;
const isList = (0, graphql_1.isListType)(type);
const isOptional = field.isConditional || !(0, graphql_1.isNonNullType)(type);
const bareType = (0, graphql_1.getNamedType)(type);
const bareTypeName = (0, graphql_1.isCompositeType)(bareType)
? (0, printing_1.join)([
namespace,
parentTraitName,
(0, language_1.escapeIdentifierIfNeeded)((0, change_case_1.pascalCase)(Inflector.singularize(name))),
], ".")
: undefined;
const typeName = (0, types_1.typeNameFromGraphQLType)(context, type, bareTypeName, isOptional);
return Object.assign(Object.assign({}, field), { propertyName, typeName, isOptional, isList });
}
exports.propertyFromLegacyField = propertyFromLegacyField;
function isMetaFieldName(name) {
return name.startsWith("__");
}
//# sourceMappingURL=naming.js.map
;