Skip to content

Class: TypeMetadataStorage

Defined in: packages/apollo/src/storages/type-metadata.storage.ts:67

Global storage for GraphQL type metadata. Fields are stored separately from type declarations. globalThis ensures a single instance even with symlink-based module resolution.

Constructors

Constructor

ts
new TypeMetadataStorage(): TypeMetadataStorage;

Returns

TypeMetadataStorage

Methods

addEnum()

ts
addEnum(target, metadata): void;

Defined in: packages/apollo/src/storages/type-metadata.storage.ts:152

Registers an enum type.

Parameters

ParameterTypeDescription
targetobjectThe enum object.
metadataEnumMetadataEnum metadata.

Returns

void


addField()

ts
addField(constructor, field): void;

Defined in: packages/apollo/src/storages/type-metadata.storage.ts:181

Adds a field to a type.

Parameters

ParameterTypeDescription
constructorobjectThe class constructor.
fieldTypeFieldMetadataField metadata.

Returns

void


addFieldResolver()

ts
addFieldResolver(metadata): void;

Defined in: packages/apollo/src/storages/type-metadata.storage.ts:244

Registers a field resolver.

Parameters

ParameterTypeDescription
metadataResolverFieldMetadataField resolver metadata.

Returns

void


addInputType()

ts
addInputType(target, metadata): void;

Defined in: packages/apollo/src/storages/type-metadata.storage.ts:131

Registers an input type.

Parameters

ParameterTypeDescription
targetobjectThe class constructor.
metadataInputTypeMetadataInput type metadata.

Returns

void


addInterfaceType()

ts
addInterfaceType(target, metadata): void;

Defined in: packages/apollo/src/storages/type-metadata.storage.ts:143

Registers an interface type.

Parameters

ParameterTypeDescription
targetobjectThe class constructor.
metadataInterfaceTypeMetadataInterface type metadata.

Returns

void


addMutation()

ts
addMutation(metadata): void;

Defined in: packages/apollo/src/storages/type-metadata.storage.ts:228

Registers a mutation resolver.

Parameters

ParameterTypeDescription
metadataResolverFieldMetadataMutation metadata.

Returns

void


addObjectType()

ts
addObjectType(target, metadata): void;

Defined in: packages/apollo/src/storages/type-metadata.storage.ts:119

Registers an object type.

Parameters

ParameterTypeDescription
targetobjectThe class constructor.
metadataObjectTypeMetadataObject type metadata.

Returns

void


addQuery()

ts
addQuery(metadata): void;

Defined in: packages/apollo/src/storages/type-metadata.storage.ts:220

Registers a query resolver.

Parameters

ParameterTypeDescription
metadataResolverFieldMetadataQuery metadata.

Returns

void


addScalar()

ts
addScalar(target, metadata): void;

Defined in: packages/apollo/src/storages/type-metadata.storage.ts:161

Registers a scalar type.

Parameters

ParameterTypeDescription
targetobjectThe class constructor.
metadataScalarMetadataScalar metadata.

Returns

void


addSubscription()

ts
addSubscription(metadata): void;

Defined in: packages/apollo/src/storages/type-metadata.storage.ts:236

Registers a subscription resolver.

Parameters

ParameterTypeDescription
metadataResolverFieldMetadataSubscription metadata.

Returns

void


addUnion()

ts
addUnion(target, metadata): void;

Defined in: packages/apollo/src/storages/type-metadata.storage.ts:170

Registers a union type.

Parameters

ParameterTypeDescription
targetobjectThe class constructor.
metadataUnionMetadataUnion metadata.

Returns

void


clear()

ts
clear(): void;

Defined in: packages/apollo/src/storages/type-metadata.storage.ts:89

Clears all registered metadata in-place. Preserves the same instance so module-level imports remain valid.

Returns

void


getEnums()

ts
getEnums(): EnumMetadata & {
  target: object;
}[];

Defined in: packages/apollo/src/storages/type-metadata.storage.ts:296

Gets all registered enums.

Returns

EnumMetadata & { target: object; }[]

Array of enum metadata.


getFieldResolvers()

ts
getFieldResolvers(): ResolverFieldMetadata[];

Defined in: packages/apollo/src/storages/type-metadata.storage.ts:353

Gets all registered field resolvers.

Returns

ResolverFieldMetadata[]

Array of field resolver metadata.


getFieldsByConstructor()

ts
getFieldsByConstructor(constructor): TypeFieldMetadata[];

Defined in: packages/apollo/src/storages/type-metadata.storage.ts:195

Gets all fields for a constructor.

Parameters

ParameterTypeDescription
constructorobjectThe class constructor.

Returns

TypeFieldMetadata[]

Array of field metadata.


getInputTypes()

ts
getInputTypes(): InputTypeMetadata & {
  fields: TypeFieldMetadata[];
  target: object;
}[];

Defined in: packages/apollo/src/storages/type-metadata.storage.ts:268

Gets all registered input types with their fields.

Returns

InputTypeMetadata & { fields: TypeFieldMetadata[]; target: object; }[]

Array of input type metadata with fields.


getInterfaceTypes()

ts
getInterfaceTypes(): InterfaceTypeMetadata & {
  fields: TypeFieldMetadata[];
  target: object;
}[];

Defined in: packages/apollo/src/storages/type-metadata.storage.ts:282

Gets all registered interface types with their fields.

Returns

InterfaceTypeMetadata & { fields: TypeFieldMetadata[]; target: object; }[]

Array of interface type metadata with fields.


getMutations()

ts
getMutations(): ResolverFieldMetadata[];

Defined in: packages/apollo/src/storages/type-metadata.storage.ts:337

Gets all registered mutations.

Returns

ResolverFieldMetadata[]

Array of mutation metadata.


getObjectTypes()

ts
getObjectTypes(): ObjectTypeMetadata & {
  fields: TypeFieldMetadata[];
  target: object;
}[];

Defined in: packages/apollo/src/storages/type-metadata.storage.ts:254

Gets all registered object types with their fields.

Returns

ObjectTypeMetadata & { fields: TypeFieldMetadata[]; target: object; }[]

Array of object type metadata with fields.


getQueries()

ts
getQueries(): ResolverFieldMetadata[];

Defined in: packages/apollo/src/storages/type-metadata.storage.ts:329

Gets all registered queries.

Returns

ResolverFieldMetadata[]

Array of query metadata.


getScalars()

ts
getScalars(): ScalarMetadata & {
  target: object;
}[];

Defined in: packages/apollo/src/storages/type-metadata.storage.ts:307

Gets all registered scalars.

Returns

ScalarMetadata & { target: object; }[]

Array of scalar metadata.


getSubscriptions()

ts
getSubscriptions(): ResolverFieldMetadata[];

Defined in: packages/apollo/src/storages/type-metadata.storage.ts:345

Gets all registered subscriptions.

Returns

ResolverFieldMetadata[]

Array of subscription metadata.


getUnions()

ts
getUnions(): UnionMetadata & {
  target: object;
}[];

Defined in: packages/apollo/src/storages/type-metadata.storage.ts:318

Gets all registered unions.

Returns

UnionMetadata & { target: object; }[]

Array of union metadata.


removeField()

ts
removeField(constructor, fieldName): void;

Defined in: packages/apollo/src/storages/type-metadata.storage.ts:204

Removes a field from a type.

Parameters

ParameterTypeDescription
constructorobjectThe class constructor.
fieldNamestringName of the field to remove.

Returns

void


reset()

ts
static reset(): void;

Defined in: packages/apollo/src/storages/type-metadata.storage.ts:108

Resets the global metadata storage by clearing the singleton in-place. Module-level imports of typeMetadataStorage remain valid after calling this. Useful for testing to ensure clean state between test cases.

Returns

void

Released under the MIT License.