{"id":40786113,"url":"https://github.com/jarwol/graphql-schema-utils","last_synced_at":"2026-01-21T19:40:09.600Z","repository":{"id":57253632,"uuid":"78953908","full_name":"jarwol/graphql-schema-utils","owner":"jarwol","description":"Extensions for graphql-js to support diffing and merging types and schemas.","archived":false,"fork":false,"pushed_at":"2019-03-20T01:59:44.000Z","size":48,"stargazers_count":9,"open_issues_count":0,"forks_count":6,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-28T00:37:57.706Z","etag":null,"topics":["graphql","graphql-js"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jarwol.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-01-14T17:06:46.000Z","updated_at":"2022-09-05T14:31:17.000Z","dependencies_parsed_at":"2022-08-31T22:30:33.857Z","dependency_job_id":null,"html_url":"https://github.com/jarwol/graphql-schema-utils","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jarwol/graphql-schema-utils","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jarwol%2Fgraphql-schema-utils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jarwol%2Fgraphql-schema-utils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jarwol%2Fgraphql-schema-utils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jarwol%2Fgraphql-schema-utils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jarwol","download_url":"https://codeload.github.com/jarwol/graphql-schema-utils/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jarwol%2Fgraphql-schema-utils/sbom","scorecard":{"id":506905,"data":{"date":"2025-08-11","repo":{"name":"github.com/jarwol/graphql-schema-utils","commit":"1152adbfc9cf06bbc28be951d92a13dcae47f00e"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.8,"checks":[{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Code-Review","score":2,"reason":"Found 5/23 approved changesets -- score normalized to 2","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":6,"reason":"4 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-f8q6-p94x-37v3","Warn: Project is vulnerable to: GHSA-vh95-rmgr-6w4m","Warn: Project is vulnerable to: GHSA-xvch-5gv4-984h"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 9 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-19T23:26:46.772Z","repository_id":57253632,"created_at":"2025-08-19T23:26:46.772Z","updated_at":"2025-08-19T23:26:46.772Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28641279,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-21T18:04:35.752Z","status":"ssl_error","status_checked_at":"2026-01-21T18:03:55.054Z","response_time":86,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["graphql","graphql-js"],"created_at":"2026-01-21T19:40:08.874Z","updated_at":"2026-01-21T19:40:09.588Z","avatar_url":"https://github.com/jarwol.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# graphql-schema-utils\nExtensions for graphql-js to support diffing and merging types and schemas.\n\n# Getting Started\n**Install it**\n```\nnpm install --save graphql-schema-utils\n```\n\n**Require it**\n```\n# graphql-js prototypes are automatically extended\nrequire('graphql-schema-utils');\n```\n\n**Use it**\n```\n# Operate on GraphQLSchemas\nconst thisSchema = buildSchema(...);\nconst otherSchema = buildSchema(...);\nconst diffs = schema1.diff(schema2);\nconst mergedSchema = schema1.merge(schema2);\n```\n```\n# Operate on GraphQL types\nconst thisType = new GraphQLObjectType(...);\nconst otherType = new GraphQLObjectType(...);\nconst diffs = thisType.diff(otherType);\nconst mergedType = thisType.merge(otherType);\n```\n# API Docs\n## Classes\n\u003cdl\u003e\n\u003cdt\u003e\u003ca href=\"#external_GraphQLSchema\"\u003eGraphQLSchema\u003c/a\u003e\u003c/dt\u003e\n\u003cdd\u003e\u003cp\u003eGraphQL schema.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003ca href=\"#external_GraphQLUnionType\"\u003eGraphQLUnionType\u003c/a\u003e\u003c/dt\u003e\n\u003cdd\u003e\u003cp\u003eGraphQL union type.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003ca href=\"#external_GraphQLObjectType\"\u003eGraphQLObjectType\u003c/a\u003e\u003c/dt\u003e\n\u003cdd\u003e\u003cp\u003eGraphQL object type.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003ca href=\"#external_GraphQLInterfaceType\"\u003eGraphQLInterfaceType\u003c/a\u003e\u003c/dt\u003e\n\u003cdd\u003e\u003cp\u003eGraphQL interface type.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003ca href=\"#external_GraphQLScalarType\"\u003eGraphQLScalarType\u003c/a\u003e\u003c/dt\u003e\n\u003cdd\u003e\u003cp\u003eGraphQL scalar type.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003ca href=\"#external_GraphQLEnumType\"\u003eGraphQLEnumType\u003c/a\u003e\u003c/dt\u003e\n\u003cdd\u003e\u003cp\u003eGraphQL enum type.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003ca href=\"#external_GraphQLInputObjectType\"\u003eGraphQLInputObjectType\u003c/a\u003e\u003c/dt\u003e\n\u003cdd\u003e\u003cp\u003eGraphQL input object type.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003ca href=\"#GraphQLDiff\"\u003eGraphQLDiff\u003c/a\u003e\u003c/dt\u003e\n\u003cdd\u003e\u003cp\u003eObject containing metadata about a diff between two GraphQL types.\u003c/p\u003e\n\u003c/dd\u003e\n\u003c/dl\u003e\n\n## Constants\n\n\u003cdl\u003e\n\u003cdt\u003e\u003ca href=\"#DiffType\"\u003eDiffType\u003c/a\u003e : \u003ccode\u003eObject\u003c/code\u003e\u003c/dt\u003e\n\u003cdd\u003e\u003cp\u003eConstants representing valid types of GraphQLDiffs.\u003c/p\u003e\n\u003c/dd\u003e\n\u003c/dl\u003e\n\u003ca name=\"external_GraphQLSchema\"\u003e\u003c/a\u003e\n\n## GraphQLSchema\nGraphQL schema.\n\n**Kind**: global external  \n**See**: [https://github.com/graphql/graphql-js/blob/master/src/type/schema.js](https://github.com/graphql/graphql-js/blob/master/src/type/schema.js)  \n\n* [GraphQLSchema](#external_GraphQLSchema)\n    * [.diff(other, [options])](#external_GraphQLSchema+diff) ⇒ \u003ccode\u003eArray.\u0026lt;GraphQLDiff\u0026gt;\u003c/code\u003e\n    * [.merge(other)](#external_GraphQLSchema+merge) ⇒ \u003ccode\u003eGraphQLSchema\u003c/code\u003e\n\n\u003ca name=\"external_GraphQLSchema+diff\"\u003e\u003c/a\u003e\n\n### graphQLSchema.diff(other, [options]) ⇒ \u003ccode\u003eArray.\u0026lt;GraphQLDiff\u0026gt;\u003c/code\u003e\nReports differences between this GraphQLSchema and another one by diffing all of the types.\n\n**Kind**: instance method of \u003ccode\u003e[GraphQLSchema](#external_GraphQLSchema)\u003c/code\u003e  \n**Returns**: \u003ccode\u003eArray.\u0026lt;GraphQLDiff\u0026gt;\u003c/code\u003e - array of differences between the schemas  \n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| other | \u003ccode\u003eGraphQLSchema\u003c/code\u003e |  | another GraphQLSchema |\n| [options] | \u003ccode\u003eObject\u003c/code\u003e |  | optional properties to modify the behavior of the diff operation |\n| [options.labelForThis] | \u003ccode\u003eString\u003c/code\u003e | \u003ccode\u003e\u0026quot;this schema\u0026quot;\u003c/code\u003e | specifies a custom name to refer to the schema on which .diff(...) was called. |\n| [options.labelForOther] | \u003ccode\u003eString\u003c/code\u003e | \u003ccode\u003e\u0026quot;other schema\u0026quot;\u003c/code\u003e | specifies a custom name to refer to the schema against which this schema is being diffed. |\n\n\u003ca name=\"external_GraphQLSchema+merge\"\u003e\u003c/a\u003e\n\n### graphQLSchema.merge(other) ⇒ \u003ccode\u003eGraphQLSchema\u003c/code\u003e\nMerge this GraphQLSchema with another one. This schema's types and fields take precedence over other's.\nDoes not modify either schema, but instead returns a new one.\n\n**Kind**: instance method of \u003ccode\u003e[GraphQLSchema](#external_GraphQLSchema)\u003c/code\u003e  \n**Returns**: \u003ccode\u003eGraphQLSchema\u003c/code\u003e - new GraphQLSchema representing this merged with other  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| other | \u003ccode\u003eGraphQLSchema\u003c/code\u003e | another GraphQLSchema to merge with this one |\n\n\u003ca name=\"external_GraphQLUnionType\"\u003e\u003c/a\u003e\n\n## GraphQLUnionType\nGraphQL union type.\n\n**Kind**: global external  \n**See**: [https://github.com/graphql/graphql-js/blob/master/src/type/definition.js](https://github.com/graphql/graphql-js/blob/master/src/type/definition.js)  \n\n* [GraphQLUnionType](#external_GraphQLUnionType)\n    * [.diff(other, [options])](#external_GraphQLUnionType+diff) ⇒ \u003ccode\u003eArray.\u0026lt;GraphQLDiff\u0026gt;\u003c/code\u003e\n    * [.merge(other)](#external_GraphQLUnionType+merge) ⇒ \u003ccode\u003eGraphQLUnionType\u003c/code\u003e\n\n\u003ca name=\"external_GraphQLUnionType+diff\"\u003e\u003c/a\u003e\n\n### graphQLUnionType.diff(other, [options]) ⇒ \u003ccode\u003eArray.\u0026lt;GraphQLDiff\u0026gt;\u003c/code\u003e\nReports differences between this GraphQLUnionType and another GraphQLUnionType.\n\n**Kind**: instance method of \u003ccode\u003e[GraphQLUnionType](#external_GraphQLUnionType)\u003c/code\u003e  \n**Returns**: \u003ccode\u003eArray.\u0026lt;GraphQLDiff\u0026gt;\u003c/code\u003e - array of differences  \n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| other | \u003ccode\u003eGraphQLUnionType\u003c/code\u003e |  | another GraphQLUnionType |\n| [options] | \u003ccode\u003eObject\u003c/code\u003e |  | optional properties to modify the behavior of the diff operation |\n| [options.labelForThis] | \u003ccode\u003eString\u003c/code\u003e | \u003ccode\u003e\u0026quot;this type\u0026quot;\u003c/code\u003e | specifies a custom name to refer to the object on which .diff(...) was called. |\n| [options.labelForOther] | \u003ccode\u003eString\u003c/code\u003e | \u003ccode\u003e\u0026quot;other type\u0026quot;\u003c/code\u003e | specifies a custom name to refer to the object against which this object is being diffed. |\n\n\u003ca name=\"external_GraphQLUnionType+merge\"\u003e\u003c/a\u003e\n\n### graphQLUnionType.merge(other) ⇒ \u003ccode\u003eGraphQLUnionType\u003c/code\u003e\nMerges this GraphQLUnionType with another GraphQLUnionType by taking the union of the types included in both.\n\n**Kind**: instance method of \u003ccode\u003e[GraphQLUnionType](#external_GraphQLUnionType)\u003c/code\u003e  \n**Returns**: \u003ccode\u003eGraphQLUnionType\u003c/code\u003e - a new GraphQLUnionType resulting from merging `this` and `other`  \n\n| Param | Description |\n| --- | --- |\n| other | another GraphQLUnionType to merge with this one |\n\n\u003ca name=\"external_GraphQLObjectType\"\u003e\u003c/a\u003e\n\n## GraphQLObjectType\nGraphQL object type.\n\n**Kind**: global external  \n**See**: [https://github.com/graphql/graphql-js/blob/master/src/type/definition.js](https://github.com/graphql/graphql-js/blob/master/src/type/definition.js)  \n\n* [GraphQLObjectType](#external_GraphQLObjectType)\n    * [.diff(other, [options])](#external_GraphQLObjectType+diff) ⇒ \u003ccode\u003eArray.\u0026lt;GraphQLDiff\u0026gt;\u003c/code\u003e\n    * [.merge(other)](#external_GraphQLObjectType+merge) ⇒ \u003ccode\u003eGraphQLObjectType\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLInterfaceType\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLInputObjectType\u003c/code\u003e\n\n\u003ca name=\"external_GraphQLObjectType+diff\"\u003e\u003c/a\u003e\n### graphQLObjectType.diff(other, [options]) ⇒ \u003ccode\u003eArray.\u0026lt;GraphQLDiff\u0026gt;\u003c/code\u003e\nReports differences between this GraphQLObjectType, GraphQLInterfaceType, or GraphQLInputObjectType and another. Fields and implemented interfaces are compared.\n\n**Kind**: instance method of \u003ccode\u003e[GraphQLObjectType](#external_GraphQLObjectType)\u003c/code\u003e\n**Returns**: \u003ccode\u003eArray.\u0026lt;GraphQLDiff\u0026gt;\u003c/code\u003e - array of differences\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| other | \u003ccode\u003eGraphQLObjectType\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLInterfaceType\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLInputObjectType\u003c/code\u003e |  | another GraphQLObjectType, GraphQLInterfaceType, or GraphQLInputObjectType |\n| [options] | \u003ccode\u003eObject\u003c/code\u003e |  | optional properties to modify the behavior of the diff operation |\n| [options.labelForThis] | \u003ccode\u003eString\u003c/code\u003e | \u003ccode\u003e\u0026quot;this type\u0026quot;\u003c/code\u003e | specifies a custom name to refer to the object on which .diff(...) was called. |\n| [options.labelForOther] | \u003ccode\u003eString\u003c/code\u003e | \u003ccode\u003e\u0026quot;other type\u0026quot;\u003c/code\u003e | specifies a custom name to refer to the object against which this object is being diffed. |\n\n\u003ca name=\"external_GraphQLObjectType+merge\"\u003e\u003c/a\u003e\n\n### graphQLObjectType.merge(other) ⇒ \u003ccode\u003eGraphQLObjectType\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLInterfaceType\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLInputObjectType\u003c/code\u003e\nMerges another GraphQLObjectType or GraphQLInterfaceType with this one by taking the union of all fields in both types, overwriting this type's\nfields with the other's if there are conflicts. For GraphQLObjectTypes, implemented interfaces are also merged.\n\n**Kind**: instance method of \u003ccode\u003e[GraphQLObjectType](#external_GraphQLObjectType)\u003c/code\u003e\n**Returns**: \u003ccode\u003eGraphQLObjectType\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLInterfaceType\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLInputObjectType\u003c/code\u003e - a new graphql type resulting from merging `this` and `other`\n\n| Param | Description |\n| --- | --- |\n| other | another GraphQL type to merge with this one |\n\n## GraphQLInterfaceType\nGraphQL interface type.\n\n**Kind**: global external  \n**See**: [https://github.com/graphql/graphql-js/blob/master/src/type/definition.js](https://github.com/graphql/graphql-js/blob/master/src/type/definition.js)\n\n* [GraphQLInterfaceType](#external_GraphQLInterfaceType)\n    * [.diff(other, [options])](#external_GraphQLInterfaceType+diff) ⇒ \u003ccode\u003eArray.\u0026lt;GraphQLDiff\u0026gt;\u003c/code\u003e\n    * [.merge(other)](#external_GraphQLInterfaceType+merge) ⇒ \u003ccode\u003eGraphQLObjectType\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLInterfaceType\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLInputObjectType\u003c/code\u003e\n\n\u003ca name=\"external_GraphQLInterfaceType+diff\"\u003e\u003c/a\u003e\n### graphQLInterfaceType.diff(other, [options]) ⇒ \u003ccode\u003eArray.\u0026lt;GraphQLDiff\u0026gt;\u003c/code\u003e\nReports differences between this GraphQLObjectType, GraphQLInterfaceType, or GraphQLInputObjectType and another. Fields and implemented interfaces are compared.\n\n**Kind**: instance method of \u003ccode\u003e[GraphQLInterfaceType](#external_GraphQLInterfaceType)\u003c/code\u003e\n**Returns**: \u003ccode\u003eArray.\u0026lt;GraphQLDiff\u0026gt;\u003c/code\u003e - array of differences\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| other | \u003ccode\u003eGraphQLObjectType\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLInterfaceType\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLInputObjectType\u003c/code\u003e |  | another GraphQLObjectType, GraphQLInterfaceType, or GraphQLInputObjectType |\n| [options] | \u003ccode\u003eObject\u003c/code\u003e |  | optional properties to modify the behavior of the diff operation |\n| [options.labelForThis] | \u003ccode\u003eString\u003c/code\u003e | \u003ccode\u003e\u0026quot;this type\u0026quot;\u003c/code\u003e | specifies a custom name to refer to the object on which .diff(...) was called. |\n| [options.labelForOther] | \u003ccode\u003eString\u003c/code\u003e | \u003ccode\u003e\u0026quot;other type\u0026quot;\u003c/code\u003e | specifies a custom name to refer to the object against which this object is being diffed. |\n\n\u003ca name=\"external_GraphQLInterfaceType+merge\"\u003e\u003c/a\u003e\n\n### graphQLInterfaceType.merge(other) ⇒ \u003ccode\u003eGraphQLObjectType\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLInterfaceType\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLInputObjectType\u003c/code\u003e\nMerges another GraphQLObjectType or GraphQLInterfaceType with this one by taking the union of all fields in both types, overwriting this type's\nfields with the other's if there are conflicts. For GraphQLObjectTypes, implemented interfaces are also merged.\n\n**Kind**: instance method of \u003ccode\u003e[GraphQLInterfaceType](#external_GraphQLInterfaceType)\u003c/code\u003e\n**Returns**: \u003ccode\u003eGraphQLObjectType\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLInterfaceType\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLInputObjectType\u003c/code\u003e - a new graphql type resulting from merging `this` and `other`\n\n| Param | Description |\n| --- | --- |\n| other | another GraphQL type to merge with this one |\n\n\u003ca name=\"external_GraphQLScalarType\"\u003e\u003c/a\u003e\n## GraphQLScalarType\nGraphQL scalar type.\n\n**Kind**: global external  \n**See**: [https://github.com/graphql/graphql-js/blob/master/src/type/definition.js](https://github.com/graphql/graphql-js/blob/master/src/type/definition.js)  \n\u003ca name=\"external_GraphQLScalarType+diff\"\u003e\u003c/a\u003e\n\n### graphQLScalarType.diff(other, [options]) ⇒ \u003ccode\u003eArray.\u0026lt;GraphQLDiff\u0026gt;\u003c/code\u003e\nReports differences between this GraphQLScalarType and another.\n\n**Kind**: instance method of \u003ccode\u003e[GraphQLScalarType](#external_GraphQLScalarType)\u003c/code\u003e  \n**Returns**: \u003ccode\u003eArray.\u0026lt;GraphQLDiff\u0026gt;\u003c/code\u003e - array of differences  \n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| other | \u003ccode\u003eGraphQLScalarType\u003c/code\u003e |  | another GraphQLScalarType |\n| [options] | \u003ccode\u003eObject\u003c/code\u003e |  | optional properties to modify the behavior of the diff operation |\n| [options.labelForThis] | \u003ccode\u003eString\u003c/code\u003e | \u003ccode\u003e\u0026quot;this type\u0026quot;\u003c/code\u003e | specifies a custom name to refer to the object on which .diff(...) was called. |\n| [options.labelForOther] | \u003ccode\u003eString\u003c/code\u003e | \u003ccode\u003e\u0026quot;other type\u0026quot;\u003c/code\u003e | specifies a custom name to refer to the object against which this object is being diffed. |\n\n\u003ca name=\"external_GraphQLEnumType\"\u003e\u003c/a\u003e\n\n## GraphQLEnumType\nGraphQL enum type.\n\n**Kind**: global external  \n**See**: [https://github.com/graphql/graphql-js/blob/master/src/type/definition.js](https://github.com/graphql/graphql-js/blob/master/src/type/definition.js)  \n\n* [GraphQLEnumType](#external_GraphQLEnumType)\n    * [.diff(other, [options])](#external_GraphQLEnumType+diff) ⇒ \u003ccode\u003eArray.\u0026lt;GraphQLDiff\u0026gt;\u003c/code\u003e\n    * [.merge(other)](#external_GraphQLEnumType+merge) ⇒ \u003ccode\u003eGraphQLList\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLNonNull\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLScalarType\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLEnumType\u003c/code\u003e\n\n\u003ca name=\"external_GraphQLEnumType+diff\"\u003e\u003c/a\u003e\n\n### graphQLEnumType.diff(other, [options]) ⇒ \u003ccode\u003eArray.\u0026lt;GraphQLDiff\u0026gt;\u003c/code\u003e\nReports differences between this GraphQLEnumType and another. The name and enum values are compared.\n\n**Kind**: instance method of \u003ccode\u003e[GraphQLEnumType](#external_GraphQLEnumType)\u003c/code\u003e  \n**Returns**: \u003ccode\u003eArray.\u0026lt;GraphQLDiff\u0026gt;\u003c/code\u003e - array of differences  \n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| other | \u003ccode\u003eGraphQLEnumType\u003c/code\u003e |  | another GraphQLEnumType |\n| [options] | \u003ccode\u003eObject\u003c/code\u003e |  | optional properties to modify the behavior of the diff operation |\n| [options.labelForThis] | \u003ccode\u003eString\u003c/code\u003e | \u003ccode\u003e\u0026quot;this type\u0026quot;\u003c/code\u003e | specifies a custom name to refer to the object on which .diff(...) was called. |\n| [options.labelForOther] | \u003ccode\u003eString\u003c/code\u003e | \u003ccode\u003e\u0026quot;other type\u0026quot;\u003c/code\u003e | specifies a custom name to refer to the object against which this object is being diffed. |\n\n\u003ca name=\"external_GraphQLEnumType+merge\"\u003e\u003c/a\u003e\n\n### graphQLEnumType.merge(other) ⇒ \u003ccode\u003eGraphQLList\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLNonNull\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLScalarType\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLEnumType\u003c/code\u003e\nMerges a type by simply overwriting this type with other if it exists.\n\n**Kind**: instance method of \u003ccode\u003e[GraphQLEnumType](#external_GraphQLEnumType)\u003c/code\u003e  \n**Returns**: \u003ccode\u003eGraphQLList\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLNonNull\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLScalarType\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLEnumType\u003c/code\u003e - other if it exists, otherwise this.  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| other | \u003ccode\u003eGraphQLList\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLNonNull\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLScalarType\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLEnumType\u003c/code\u003e | another GraphQL type object to merge with this |\n\n\u003ca name=\"external_GraphQLInputObjectType\"\u003e\u003c/a\u003e\n\n## GraphQLInputObjectType\nGraphQL input object type.\n\n**Kind**: global external  \n**See**: [https://github.com/graphql/graphql-js/blob/master/src/type/definition.js](https://github.com/graphql/graphql-js/blob/master/src/type/definition.js)  \n\n* [GraphQLInputObjectType](#external_GraphQLInputObjectType)\n    * [.diff(other, [options])](#external_GraphQLInputObjectType+diff) ⇒ \u003ccode\u003eArray.\u0026lt;GraphQLDiff\u0026gt;\u003c/code\u003e\n    * [.merge(other)](#external_GraphQLInputObjectType+merge) ⇒ \u003ccode\u003eGraphQLObjectType\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLInterfaceType\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLInputObjectType\u003c/code\u003e\n\n\u003ca name=\"external_GraphQLInputObjectType+diff\"\u003e\u003c/a\u003e\n\n### graphQLInputObjectType.diff(other, [options]) ⇒ \u003ccode\u003eArray.\u0026lt;GraphQLDiff\u0026gt;\u003c/code\u003e\nReports differences between this GraphQLObjectType, GraphQLInterfaceType, or GraphQLInputObjectType and another. Fields and implemented interfaces are compared.\n\n**Kind**: instance method of \u003ccode\u003e[GraphQLInputObjectType](#external_GraphQLInputObjectType)\u003c/code\u003e  \n**Returns**: \u003ccode\u003eArray.\u0026lt;GraphQLDiff\u0026gt;\u003c/code\u003e - array of differences  \n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| other | \u003ccode\u003eGraphQLObjectType\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLInterfaceType\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLInputObjectType\u003c/code\u003e |  | another GraphQLObjectType, GraphQLInterfaceType, or GraphQLInputObjectType |\n| [options] | \u003ccode\u003eObject\u003c/code\u003e |  | optional properties to modify the behavior of the diff operation |\n| [options.labelForThis] | \u003ccode\u003eString\u003c/code\u003e | \u003ccode\u003e\u0026quot;this type\u0026quot;\u003c/code\u003e | specifies a custom name to refer to the object on which .diff(...) was called. |\n| [options.labelForOther] | \u003ccode\u003eString\u003c/code\u003e | \u003ccode\u003e\u0026quot;other type\u0026quot;\u003c/code\u003e | specifies a custom name to refer to the object against which this object is being diffed. |\n\n\u003ca name=\"external_GraphQLInputObjectType+merge\"\u003e\u003c/a\u003e\n\n### graphQLInputObjectType.merge(other) ⇒ \u003ccode\u003eGraphQLObjectType\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLInterfaceType\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLInputObjectType\u003c/code\u003e\nMerges another GraphQLObjectType or GraphQLInterfaceType with this one by taking the union of all fields in both types, overwriting this type's\nfields with the other's if there are conflicts. For GraphQLObjectTypes, implemented interfaces are also merged.\n\n**Kind**: instance method of \u003ccode\u003e[GraphQLInputObjectType](#external_GraphQLInputObjectType)\u003c/code\u003e  \n**Returns**: \u003ccode\u003eGraphQLObjectType\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLInterfaceType\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLInputObjectType\u003c/code\u003e - a new graphql type resulting from merging `this` and `other`  \n\n| Param | Description |\n| --- | --- |\n| other | another GraphQL type to merge with this one |\n\n\u003ca name=\"GraphQLDiff\"\u003e\u003c/a\u003e\n\n## GraphQLDiff\nObject containing metadata about a diff between two GraphQL types.\n\n**Kind**: global class  \n\u003ca name=\"new_GraphQLDiff_new\"\u003e\u003c/a\u003e\n\n### new GraphQLDiff(thisType, otherType, diffType, description, backwardsCompatible)\nCreate a new instance of a GraphQLDiff, containing metadata about a difference between two GraphQL types.\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| thisType | \u003ccode\u003eGraphQLObjectType\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLScalarType\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLEnumType\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLNonNull\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLList\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLUnionType\u003c/code\u003e | the GraphQL type instance on which the `diff` method was executed |\n| otherType | \u003ccode\u003eGraphQLObjectType\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLScalarType\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLEnumType\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLNonNull\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLList\u003c/code\u003e \u0026#124; \u003ccode\u003eGraphQLUnionType\u003c/code\u003e | the GraphQL type instance which was compared to thisType |\n| diffType | \u003ccode\u003estring\u003c/code\u003e | the specific kind of difference between thisType and otherType |\n| description | \u003ccode\u003estring\u003c/code\u003e |  |\n| backwardsCompatible | \u003ccode\u003eboolean\u003c/code\u003e | true if this is a non-breaking change when interpreted as thisType changing to otherType |\n\n\u003ca name=\"DiffType\"\u003e\u003c/a\u003e\n\n## DiffType : \u003ccode\u003eObject\u003c/code\u003e\nConstants representing valid types of GraphQLDiffs.\n\n**Kind**: global constant  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjarwol%2Fgraphql-schema-utils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjarwol%2Fgraphql-schema-utils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjarwol%2Fgraphql-schema-utils/lists"}