@graphql-inspector/cli
Version:
Tooling for GraphQL. Compare GraphQL Schemas, check documents, find breaking changes, find similar types.
106 lines (105 loc) • 4.47 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.schemaQueryTypeChangedFromMeta = schemaQueryTypeChangedFromMeta;
exports.schemaQueryTypeChanged = schemaQueryTypeChanged;
exports.schemaMutationTypeChangedFromMeta = schemaMutationTypeChangedFromMeta;
exports.schemaMutationTypeChanged = schemaMutationTypeChanged;
exports.schemaSubscriptionTypeChangedFromMeta = schemaSubscriptionTypeChangedFromMeta;
exports.schemaSubscriptionTypeChanged = schemaSubscriptionTypeChanged;
const change_js_1 = require("./change.js");
function buildSchemaQueryTypeChangedMessage(args) {
if (args.oldQueryTypeName === null) {
return `Schema query root type was set to '${args.newQueryTypeName}'.`;
}
if (args.newQueryTypeName === null) {
return `Schema query root type '${args.oldQueryTypeName}' was removed.`;
}
return `Schema query root type was changed from '${args.oldQueryTypeName}' to '${args.newQueryTypeName}'`;
}
function schemaQueryTypeChangedFromMeta(args) {
return {
type: change_js_1.ChangeType.SchemaQueryTypeChanged,
criticality: {
level: args.meta.oldQueryTypeName === null
? change_js_1.CriticalityLevel.NonBreaking
: change_js_1.CriticalityLevel.Breaking,
},
message: buildSchemaQueryTypeChangedMessage(args.meta),
meta: args.meta,
};
}
function schemaQueryTypeChanged(oldSchema, newSchema) {
const oldName = oldSchema?.getQueryType()?.name || null;
const newName = newSchema?.getQueryType()?.name || null;
return schemaQueryTypeChangedFromMeta({
type: change_js_1.ChangeType.SchemaQueryTypeChanged,
meta: {
oldQueryTypeName: oldName,
newQueryTypeName: newName,
},
});
}
function buildSchemaMutationTypeChangedMessage(args) {
if (args.oldMutationTypeName === null) {
return `Schema mutation type was set to '${args.newMutationTypeName}'.`;
}
if (args.newMutationTypeName === null) {
return `Schema mutation type '${args.oldMutationTypeName}' was removed.`;
}
return `Schema mutation type was changed from '${args.oldMutationTypeName}' to '${args.newMutationTypeName}'`;
}
function schemaMutationTypeChangedFromMeta(args) {
return {
type: change_js_1.ChangeType.SchemaMutationTypeChanged,
criticality: {
level: args.meta.oldMutationTypeName === null
? change_js_1.CriticalityLevel.NonBreaking
: change_js_1.CriticalityLevel.Breaking,
},
message: buildSchemaMutationTypeChangedMessage(args.meta),
meta: args.meta,
};
}
function schemaMutationTypeChanged(oldSchema, newSchema) {
const oldName = oldSchema?.getMutationType()?.name || null;
const newName = newSchema?.getMutationType()?.name || null;
return schemaMutationTypeChangedFromMeta({
type: change_js_1.ChangeType.SchemaMutationTypeChanged,
meta: {
newMutationTypeName: newName,
oldMutationTypeName: oldName,
},
});
}
function buildSchemaSubscriptionTypeChangedMessage(args) {
if (args.oldSubscriptionTypeName === null) {
return `Schema subscription type was set to '${args.newSubscriptionTypeName}'.`;
}
if (args.newSubscriptionTypeName === null) {
return `Schema subscription type '${args.oldSubscriptionTypeName}' was removed.`;
}
return `Schema subscription type was changed from '${args.oldSubscriptionTypeName}' to '${args.newSubscriptionTypeName}'`;
}
function schemaSubscriptionTypeChangedFromMeta(args) {
return {
type: change_js_1.ChangeType.SchemaSubscriptionTypeChanged,
criticality: {
level: args.meta.oldSubscriptionTypeName === null
? change_js_1.CriticalityLevel.NonBreaking
: change_js_1.CriticalityLevel.Breaking,
},
message: buildSchemaSubscriptionTypeChangedMessage(args.meta),
meta: args.meta,
};
}
function schemaSubscriptionTypeChanged(oldSchema, newSchema) {
const oldName = oldSchema?.getSubscriptionType()?.name || null;
const newName = newSchema?.getSubscriptionType()?.name || null;
return schemaSubscriptionTypeChangedFromMeta({
type: change_js_1.ChangeType.SchemaSubscriptionTypeChanged,
meta: {
newSubscriptionTypeName: newName,
oldSubscriptionTypeName: oldName,
},
});
}