UNPKG

@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
"use strict"; 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, }, }); }