Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Socket
Sign inDemoInstall

@graphql-codegen/visitor-plugin-common

Package Overview
Dependencies
Maintainers
4
Versions
5985
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@graphql-codegen/visitor-plugin-common - npm Package Compare versions

Comparing version 5.5.0-alpha-20241014100208-600a6151e0f8f9a22b45645adc9f6f386123e16b to 5.5.0-alpha-20241014101258-aa3baf1b2bec24fd335a1182a601d63293fc1cf6

19

cjs/base-resolvers-visitor.js

@@ -47,5 +47,5 @@ "use strict";

__resolveReference: rawConfig.generateInternalResolversIfNeeded?.__resolveReference ?? false,
__isTypeOf: rawConfig.generateInternalResolversIfNeeded?.__isTypeOf ?? false,
},
resolversNonOptionalTypename: normalizeResolversNonOptionalTypename((0, utils_js_1.getConfigValue)(rawConfig.resolversNonOptionalTypename, false)),
avoidCheckingAbstractTypesRecursively: (0, utils_js_1.getConfigValue)(rawConfig.avoidCheckingAbstractTypesRecursively, false),
...additionalConfig,

@@ -63,4 +63,4 @@ });

this._resolversUnionTypes = {};
this._resolversUnionParentTypes = {};
this._resolversInterfaceTypes = {};
this._objectTypesWithIsTypeOf = {};
this._rootTypeNames = new Set();

@@ -272,9 +272,5 @@ this._globalDeclarations = new Set();

const { unionMember, excludeTypes } = this.config.resolversNonOptionalTypename;
const memberTypes = schemaType.getTypes();
for (const type of memberTypes) {
this._objectTypesWithIsTypeOf[type.name] = true;
}
res[typeName] = this.getAbstractMembersType({
typeName,
memberTypes,
memberTypes: schemaType.getTypes(),
isTypenameNonOptional: unionMember && !excludeTypes?.includes(typeName),

@@ -307,5 +303,2 @@ });

const { interfaceImplementingType, excludeTypes } = this.config.resolversNonOptionalTypename;
for (const type of implementingTypes) {
this._objectTypesWithIsTypeOf[type.name] = true;
}
res[typeName] = this.getAbstractMembersType({

@@ -735,5 +728,3 @@ typeName,

});
if (!rootType &&
(!this.config.generateInternalResolversIfNeeded.__isTypeOf ||
(this.config.generateInternalResolversIfNeeded.__isTypeOf && this._objectTypesWithIsTypeOf[typeName]))) {
if (!rootType) {
fieldsContent.push((0, utils_js_1.indent)(`${this.config.internalResolversPrefix}isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>${this.getPunctuation(declarationKind)}`));

@@ -918,3 +909,3 @@ }

let isObjectWithAbstractType = false;
if (isObject) {
if (isObject && !this.config.avoidCheckingAbstractTypesRecursively) {
isObjectWithAbstractType = checkIfObjectTypeHasAbstractTypesRecursively(baseType, {

@@ -921,0 +912,0 @@ isObjectWithAbstractType,

@@ -43,5 +43,5 @@ import { ApolloFederation, checkObjectTypeFederationDetails, getBaseType } from '@graphql-codegen/plugin-helpers';

__resolveReference: rawConfig.generateInternalResolversIfNeeded?.__resolveReference ?? false,
__isTypeOf: rawConfig.generateInternalResolversIfNeeded?.__isTypeOf ?? false,
},
resolversNonOptionalTypename: normalizeResolversNonOptionalTypename(getConfigValue(rawConfig.resolversNonOptionalTypename, false)),
avoidCheckingAbstractTypesRecursively: getConfigValue(rawConfig.avoidCheckingAbstractTypesRecursively, false),
...additionalConfig,

@@ -59,4 +59,4 @@ });

this._resolversUnionTypes = {};
this._resolversUnionParentTypes = {};
this._resolversInterfaceTypes = {};
this._objectTypesWithIsTypeOf = {};
this._rootTypeNames = new Set();

@@ -268,9 +268,5 @@ this._globalDeclarations = new Set();

const { unionMember, excludeTypes } = this.config.resolversNonOptionalTypename;
const memberTypes = schemaType.getTypes();
for (const type of memberTypes) {
this._objectTypesWithIsTypeOf[type.name] = true;
}
res[typeName] = this.getAbstractMembersType({
typeName,
memberTypes,
memberTypes: schemaType.getTypes(),
isTypenameNonOptional: unionMember && !excludeTypes?.includes(typeName),

@@ -303,5 +299,2 @@ });

const { interfaceImplementingType, excludeTypes } = this.config.resolversNonOptionalTypename;
for (const type of implementingTypes) {
this._objectTypesWithIsTypeOf[type.name] = true;
}
res[typeName] = this.getAbstractMembersType({

@@ -731,5 +724,3 @@ typeName,

});
if (!rootType &&
(!this.config.generateInternalResolversIfNeeded.__isTypeOf ||
(this.config.generateInternalResolversIfNeeded.__isTypeOf && this._objectTypesWithIsTypeOf[typeName]))) {
if (!rootType) {
fieldsContent.push(indent(`${this.config.internalResolversPrefix}isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>${this.getPunctuation(declarationKind)}`));

@@ -914,3 +905,3 @@ }

let isObjectWithAbstractType = false;
if (isObject) {
if (isObject && !this.config.avoidCheckingAbstractTypesRecursively) {
isObjectWithAbstractType = checkIfObjectTypeHasAbstractTypesRecursively(baseType, {

@@ -917,0 +908,0 @@ isObjectWithAbstractType,

{
"name": "@graphql-codegen/visitor-plugin-common",
"version": "5.5.0-alpha-20241014100208-600a6151e0f8f9a22b45645adc9f6f386123e16b",
"version": "5.5.0-alpha-20241014101258-aa3baf1b2bec24fd335a1182a601d63293fc1cf6",
"peerDependencies": {

@@ -9,3 +9,3 @@ "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"

"@graphql-tools/optimize": "^2.0.0",
"@graphql-codegen/plugin-helpers": "5.1.0-alpha-20241014100208-600a6151e0f8f9a22b45645adc9f6f386123e16b",
"@graphql-codegen/plugin-helpers": "5.1.0-alpha-20241014101258-aa3baf1b2bec24fd335a1182a601d63293fc1cf6",
"@graphql-tools/relay-operation-optimizer": "^7.0.0",

@@ -12,0 +12,0 @@ "@graphql-tools/utils": "^10.0.0",

@@ -34,2 +34,3 @@ import { ApolloFederation } from '@graphql-codegen/plugin-helpers';

resolversNonOptionalTypename: ResolversNonOptionalTypenameConfig;
avoidCheckingAbstractTypesRecursively: boolean;
}

@@ -542,5 +543,6 @@ type FieldDefinitionPrintFn = (parentName: string, avoidResolverOptionals: boolean) => string | null;

* @type object
* @default { __resolveReference: false, __isTypeOf: false }
* @default { __resolveReference: false }
* @description If relevant internal resolvers are set to `true`, the resolver type will only be generated if the right conditions are met.
* Enabling this allows a more correct type generation for the resolvers:
* Enabling this allows a more correct type generation for the resolvers.
* For example:
* - `__isTypeOf` is generated for implementing types and union members

@@ -605,2 +607,9 @@ * - `__resolveReference` is generated for federation types that have at least one resolvable `@key` directive

/**
* @type boolean
* @default false
* @description If true, recursively goes through all object type's fields, checks if they have abstract types and generates expected types correctly.
* This may not work for cases where provided default mapper types are also nested e.g. `defaultMapper: DeepPartial<{T}>` or `defaultMapper: Partial<{T}>`.
*/
avoidCheckingAbstractTypesRecursively?: boolean;
/**
* @ignore

@@ -643,4 +652,4 @@ */

protected _resolversUnionTypes: Record<string, string>;
protected _resolversUnionParentTypes: Record<string, string>;
protected _resolversInterfaceTypes: Record<string, string>;
protected _objectTypesWithIsTypeOf: Record<string, true>;
protected _rootTypeNames: Set<string>;

@@ -647,0 +656,0 @@ protected _globalDeclarations: Set<string>;

@@ -125,4 +125,3 @@ import { ASTNode, FragmentDefinitionNode, DirectiveNode } from 'graphql';

__resolveReference?: boolean;
__isTypeOf?: boolean;
}
export type NormalizedGenerateInternalResolversIfNeededConfig = Required<GenerateInternalResolversIfNeededConfig>;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc