···11+---
22+'@urql/svelte': patch
33+---
44+55+Improve `OperationStore` and `subscription` types to allow for result types of `data` that differ from the original `Data` type, which may be picked up from `TypedDocumentNode`.
+8-8
packages/svelte-urql/src/operationStore.ts
···1313 * This Svelte store wraps both a `GraphQLRequest` and an `OperationResult`.
1414 * It can be used to update the query and read the subsequent result back.
1515 */
1616-export interface OperationStore<Data = any, Vars = any>
1717- extends Readable<OperationStore<Data, Vars>> {
1616+export interface OperationStore<Data = any, Vars = any, Result = Data>
1717+ extends Readable<OperationStore<Data, Vars, Result>> {
1818 // Input properties
1919 query: DocumentNode | TypedDocumentNode<Data, Vars> | string;
2020 variables: Vars | null;
···2222 // Output properties
2323 readonly stale: boolean;
2424 readonly fetching: boolean;
2525- readonly data: Data | undefined;
2525+ readonly data: Result | undefined;
2626 readonly error: CombinedError | undefined;
2727 readonly extensions: Record<string, any> | undefined;
2828 // Writable properties
2929- set(value: Partial<OperationStore<Data, Vars>>): void;
3030- update(updater: Updater<Partial<OperationStore<Data, Vars>>>): void;
2929+ set(value: Partial<OperationStore<Data, Vars, Result>>): void;
3030+ update(updater: Updater<Partial<OperationStore<Data, Vars, Result>>>): void;
3131}
32323333-export function operationStore<Data = any, Vars = object>(
3333+export function operationStore<Data = any, Vars = object, Result = Data>(
3434 query: string | DocumentNode | TypedDocumentNode<Data, Vars>,
3535 variables?: Vars | null,
3636 context?: Partial<OperationContext & { pause: boolean }>
3737-): OperationStore<Data, Vars> {
3737+): OperationStore<Data, Vars, Result> {
3838 const internal = {
3939 query,
4040 variables: variables || null,
···4747 data: undefined,
4848 error: undefined,
4949 extensions: undefined,
5050- } as OperationStore<Data, Vars>;
5050+ } as OperationStore<Data, Vars, Result>;
51515252 const svelteStore = writable(state);
5353 let _internalUpdate = false;