mirror of
https://github.com/hanzoai/next.js.git
synced 2026-10-30 14:46:38 +00:00
## Description This PR ensures that the default prettier config is used for examples and templates. This config is compatible with `prettier@3` as well (upgrading prettier is bigger change that can be a future PR). ## Changes - Updated `.prettierrc.json` in root with `"trailingComma": "es5"` (will be needed upgrading to prettier@3) - Added `examples/.prettierrc.json` with default config (this will change every example) - Added `packages/create-next-app/templates/.prettierrc.json` with default config (this will change every template) ## Related - Fixes #54402 - Closes #54409
45 lines
1.7 KiB
TypeScript
45 lines
1.7 KiB
TypeScript
import { TypedDocumentNode as DocumentNode } from "@graphql-typed-document-node/core";
|
|
|
|
export type FragmentType<TDocumentType extends DocumentNode<any, any>> =
|
|
TDocumentType extends DocumentNode<infer TType, any>
|
|
? TType extends { " $fragmentName"?: infer TKey }
|
|
? TKey extends string
|
|
? { " $fragmentRefs"?: { [key in TKey]: TType } }
|
|
: never
|
|
: never
|
|
: never;
|
|
|
|
// return non-nullable if `fragmentType` is non-nullable
|
|
export function useFragment<TType>(
|
|
_documentNode: DocumentNode<TType, any>,
|
|
fragmentType: FragmentType<DocumentNode<TType, any>>,
|
|
): TType;
|
|
// return nullable if `fragmentType` is nullable
|
|
export function useFragment<TType>(
|
|
_documentNode: DocumentNode<TType, any>,
|
|
fragmentType: FragmentType<DocumentNode<TType, any>> | null | undefined,
|
|
): TType | null | undefined;
|
|
// return array of non-nullable if `fragmentType` is array of non-nullable
|
|
export function useFragment<TType>(
|
|
_documentNode: DocumentNode<TType, any>,
|
|
fragmentType: ReadonlyArray<FragmentType<DocumentNode<TType, any>>>,
|
|
): ReadonlyArray<TType>;
|
|
// return array of nullable if `fragmentType` is array of nullable
|
|
export function useFragment<TType>(
|
|
_documentNode: DocumentNode<TType, any>,
|
|
fragmentType:
|
|
| ReadonlyArray<FragmentType<DocumentNode<TType, any>>>
|
|
| null
|
|
| undefined,
|
|
): ReadonlyArray<TType> | null | undefined;
|
|
export function useFragment<TType>(
|
|
_documentNode: DocumentNode<TType, any>,
|
|
fragmentType:
|
|
| FragmentType<DocumentNode<TType, any>>
|
|
| ReadonlyArray<FragmentType<DocumentNode<TType, any>>>
|
|
| null
|
|
| undefined,
|
|
): TType | ReadonlyArray<TType> | null | undefined {
|
|
return fragmentType as any;
|
|
}
|