@twilio/flex-sdk
    Preparing search index...

    Interface LocalState<TResolvers, TContext>

    LocalState enables the use of @client fields in GraphQL operations.

    @client fields are resolved locally using resolver functions rather than being sent to the GraphQL server. This allows you to mix local and remote data in a single query.

    import { LocalState } from "@apollo/client/local-state";

    const localState = new LocalState({
    resolvers: {
    Query: {
    isLoggedIn: () => !!localStorage.getItem("token"),
    },
    },
    });

    const client = new ApolloClient({
    cache: new InMemoryCache(),
    localState,
    });
    interface LocalState<
        TResolvers extends Resolvers = Resolvers<DefaultContext>,
        TContext = InferContextValueFromResolvers<TResolvers>,
    > {
        addResolvers(resolvers: TResolvers): void;
        execute<
            TData = unknown,
            TVariables extends OperationVariables = OperationVariables,
        >(
            __namedParameters: {
                client: FlexDataClient;
                context: DefaultContext | undefined;
                document: DocumentNode | TypedDocumentNode<TData, TVariables>;
                fetchPolicy: WatchQueryFetchPolicy;
                onlyRunForcedResolvers?: boolean;
                remoteResult: FormattedExecutionResult<any, ObjMap<unknown>> | undefined;
                returnPartialData?: boolean;
                variables: TVariables | undefined;
            },
        ): Promise<FormattedExecutionResult<TData, ObjMap<unknown>>>;
        getExportedVariables<
            TVariables extends OperationVariables = OperationVariables,
        >(
            __namedParameters: {
                client: FlexDataClient;
                context: DefaultContext | undefined;
                document: DocumentNode | TypedDocumentNode<any, TVariables>;
                variables: Partial<NoInfer<TVariables>>;
            },
        ): Promise<TVariables>;
    }

    Type Parameters

    • TResolvers extends Resolvers = Resolvers<DefaultContext>

      The type of resolvers map for type checking

    • TContext = InferContextValueFromResolvers<TResolvers>

      The type of context value for resolvers

    Index

    Methods

    • Add resolvers to the local state. New resolvers will be merged with existing ones, with new resolvers taking precedence over existing ones for the same field.

      Parameters

      Returns void

      localState.addResolvers({
      Query: {
      newField: () => "Hello World",
      },
      });
    • Type Parameters

      • TData = unknown
      • TVariables extends OperationVariables = OperationVariables

      Parameters

      • __namedParameters: {
            client: FlexDataClient;
            context: DefaultContext | undefined;
            document: DocumentNode | TypedDocumentNode<TData, TVariables>;
            fetchPolicy: WatchQueryFetchPolicy;
            onlyRunForcedResolvers?: boolean;
            remoteResult: FormattedExecutionResult<any, ObjMap<unknown>> | undefined;
            returnPartialData?: boolean;
            variables: TVariables | undefined;
        }

      Returns Promise<FormattedExecutionResult<TData, ObjMap<unknown>>>