houdini icon indicating copy to clipboard operation
houdini copied to clipboard

Align Result and QueryResult

Open gschulze opened this issue 1 year ago • 4 comments

Describe the feature

I discovered that there are two types that are quite similar: Result and QueryResult.

One is defined as:

export type Result<DataType> = {
    isFetching: boolean
    partial: boolean
    source?: DataSource | null
    data?: DataType | null
    error?: Error | null
}

the other one as

export type QueryResult<_Data = GraphQLObject, _Input = GraphQLVariables> = {
    data: _Data | null;
    errors: {
        message: string;
    }[] | null;
    fetching: boolean;
    partial: boolean;
    stale: boolean;
    source: DataSources | null;
    variables: _Input | null;
};

Why is it called isFetching one time and fetching the other? I'm asking because our project uses derived stores, which propagate the fetching field with a transformed data field. Instead of defining our own Result type, I would rather use an existing one, so I discovered the inconsistency.

It would be nice if these types used the same name for all fields.

Criticality

None

gschulze avatar May 29 '24 10:05 gschulze

Yea this is a bit of a wart that has developed over the years. I'll leave this issue open to remind us when we set up for 2.0

AlecAivazis avatar Jun 11 '24 05:06 AlecAivazis

@SeppahBaws what to do think about getting this done along with the upcoming 2.0 release?

AlecAivazis avatar Jul 08 '24 23:07 AlecAivazis

Yep sounds good. Are you talking about houdini-svelte 2.0 or houdini 2.0 here?

Maybe it's also worth creating a milestone or two here in github so we have a more clear view of what we want to add/fix when?

SeppahBaws avatar Jul 09 '24 00:07 SeppahBaws

Are you talking about houdini-svelte 2.0 or houdini 2.0 here?

Whichever needs the change. We're going to have to roll out 2.0 versions for both since the graphql version will change

Maybe it's also worth creating a milestone

Good idea! I went ahead and did that.

AlecAivazis avatar Jul 09 '24 17:07 AlecAivazis