// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 import { isApiGraphQLConfig } from './internals/utils/runtimeTypeGuards/isApiGraphQLProviderConfig'; import { ClientExtensionsSSRCookies, ClientExtensionsSSRRequest, } from './client'; import { generateCustomQueriesProperty, generateCustomMutationsProperty, generateEnumsProperty, upgradeClientCancellation, } from './internals'; import { generateModelsProperty as generateModelsPropertyServer } from './internals/server'; import { BaseClient, ClientInternalsGetter } from './bridge-types'; // TODO: separate import path export function addSchemaToClientWithInstance>( client: BaseClient, params: any, getInternals: ClientInternalsGetter, ): BaseClient & (ClientExtensionsSSRCookies | ClientExtensionsSSRRequest) { const apiGraphqlConfig = params.config?.API?.GraphQL; if (isApiGraphQLConfig(apiGraphqlConfig)) { upgradeClientCancellation(client); (client as any).models = generateModelsPropertyServer( client as any, params, getInternals, ); (client as any).enums = generateEnumsProperty(apiGraphqlConfig); (client as any).queries = generateCustomQueriesProperty( client as any, apiGraphqlConfig, getInternals, ); (client as any).mutations = generateCustomMutationsProperty( client as any, apiGraphqlConfig, getInternals, ); } return client as any; }