composition/src/normalization/normalization.ts (46 lines of code) (raw):

import { batchNormalize as batchNormalizeV1, normalizeSubgraph as normalizeSubgraphV1, normalizeSubgraphFromString as normalizeSubgraphFromStringV1, } from '../v1/normalization/normalization-factory'; import { ROUTER_COMPATIBILITY_VERSION_ONE, SupportedRouterCompatibilityVersion, } from '../router-compatibility-version/router-compatibility-version'; import { BatchNormalizationResult, NormalizationResult } from './types'; import { DocumentNode } from 'graphql'; import { Graph } from '../resolvability-graph/graph'; import { Subgraph } from '../subgraph/types'; export function normalizeSubgraphFromString( schema: string, noLocation = true, version: SupportedRouterCompatibilityVersion = ROUTER_COMPATIBILITY_VERSION_ONE, ): NormalizationResult { switch (version) { default: { return normalizeSubgraphFromStringV1(schema, noLocation); } } } export function normalizeSubgraph( document: DocumentNode, subgraphName?: string, internalGraph?: Graph, version: SupportedRouterCompatibilityVersion = ROUTER_COMPATIBILITY_VERSION_ONE, ): NormalizationResult { switch (version) { default: { return normalizeSubgraphV1(document, subgraphName, internalGraph); } } } export function batchNormalize( subgraphs: Array<Subgraph>, version: SupportedRouterCompatibilityVersion = ROUTER_COMPATIBILITY_VERSION_ONE, ): BatchNormalizationResult { switch (version) { default: { return batchNormalizeV1(subgraphs); } } }