Skip to content

useFragment with array of nullable can't find type overload #10277

@igolka97

Description

@igolka97

Which packages are impacted by your issue?

@graphql-codegen/client-preset

Describe the bug

When using fragment and fragment masking on a graphql field with type like [Film]! or [Film] typescript returns error about it cant find matching overload.

Your Example Website or App

https://codesandbox.io/p/devbox/gifted-brook-d5q8gx?workspaceId=ws_3UmFdMnhnojzcbNhGuKYwW

Steps to Reproduce the Bug or Issue

  1. Create graphql query like users: [User]!
  2. Create type User and it's fragment
  3. Generate with client-preset
  4. try to use useFragment with User fragment
  5. got TS error

Expected behavior

No TS error

Screenshots or Videos

Image

Platform

see repro

Codegen Config File

import { CodegenConfig } from "@graphql-codegen/cli";

const config: CodegenConfig = {
  schema: "schema.graphql",
  documents: "document.graphql",
  generates: {
    "graphql/generated/": {
      preset: "client",
      plugins: [],
    },
  },
};

export default config;

Additional context

I found out that there are no overloads for useFragment in generated fragment-masking.ts for arrays with nullable elements

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions