Skip to content

Contracts produce error when effect result doesn't extends contract result #510

@SQReder

Description

@SQReder

createQuery resolves to Query<any, unknown, unknown, null> if effect result doesn't match with contract output

import { createQuery, Contract } from '@farfetched/core';
import { Effect } from 'effector';

// Declared somewhere else
declare interface DateObjectDto {
    date: string
}

declare const dtoFx: Effect<void, DateObjectDto, Error>
declare const coolResponseContract: Contract<unknown, { date: Date; }>

export const coolNumbersQuery = createQuery({
    initialData: { numbers: [] },
    effect: dtoFx,
    contract: coolResponseContract, // No overload matches this call.
})

Reproduce https://tsplay.dev/NBKnDm

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions