diff --git a/.api-reports/api-report-cache.api.md b/.api-reports/api-report-cache.api.md index 6c52897efbb..359812c3f7b 100644 --- a/.api-reports/api-report-cache.api.md +++ b/.api-reports/api-report-cache.api.md @@ -766,14 +766,13 @@ export function makeVar(value: T): ReactiveVar; // Warning: (ae-forgotten-export) The symbol "DataMasking" needs to be exported by the entry point index.d.ts // Warning: (ae-forgotten-export) The symbol "RemoveMaskedMarker" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "ContainsFragmentsRefs" needs to be exported by the entry point index.d.ts // // @public type MaybeMasked = DataMasking extends { mode: "unmask"; } ? TData extends any ? true extends IsAny ? TData : TData extends { __masked?: true; -} ? Prettify> : true extends ContainsFragmentsRefs ? Unmasked : TData : never : DataMasking extends { +} ? Prettify> : Unmasked : never : DataMasking extends { mode: "preserveTypes"; } ? TData : TData; @@ -1113,11 +1112,12 @@ export type TypePolicy = { // @public (undocumented) type unionToIntersection = (T extends unknown ? (x: T) => unknown : never) extends ((x: infer U) => unknown) ? U : never; +// Warning: (ae-forgotten-export) The symbol "ContainsFragmentsRefs" needs to be exported by the entry point index.d.ts // Warning: (ae-forgotten-export) The symbol "UnwrapFragmentRefs" needs to be exported by the entry point index.d.ts // Warning: (ae-forgotten-export) The symbol "RemoveFragmentName" needs to be exported by the entry point index.d.ts // // @public -type Unmasked = true extends IsAny ? TData : TData extends object ? UnwrapFragmentRefs>> : TData; +type Unmasked = true extends IsAny ? TData : TData extends object ? true extends ContainsFragmentsRefs ? UnwrapFragmentRefs>> : TData : TData; // @public (undocumented) type UnwrapFragmentRefs = true extends IsAny ? TData : TData extends any ? string extends keyof TData ? TData : keyof TData extends never ? TData : TData extends { diff --git a/.api-reports/api-report-core.api.md b/.api-reports/api-report-core.api.md index f1d74960f19..8047e356cd6 100644 --- a/.api-reports/api-report-core.api.md +++ b/.api-reports/api-report-core.api.md @@ -1409,14 +1409,13 @@ interface MaskOperationOptions { type MaybeAsync = T | PromiseLike; // Warning: (ae-forgotten-export) The symbol "RemoveMaskedMarker" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "ContainsFragmentsRefs" needs to be exported by the entry point index.d.ts // // @public export type MaybeMasked = DataMasking extends { mode: "unmask"; } ? TData extends any ? true extends IsAny ? TData : TData extends { __masked?: true; -} ? Prettify> : true extends ContainsFragmentsRefs ? Unmasked : TData : never : DataMasking extends { +} ? Prettify> : Unmasked : never : DataMasking extends { mode: "preserveTypes"; } ? TData : TData; @@ -2410,11 +2409,12 @@ type UnionToIntersection = (U extends any ? (k: U) => void : never) extends ( // @public (undocumented) type unionToIntersection = (T extends unknown ? (x: T) => unknown : never) extends ((x: infer U) => unknown) ? U : never; +// Warning: (ae-forgotten-export) The symbol "ContainsFragmentsRefs" needs to be exported by the entry point index.d.ts // Warning: (ae-forgotten-export) The symbol "UnwrapFragmentRefs" needs to be exported by the entry point index.d.ts // Warning: (ae-forgotten-export) The symbol "RemoveFragmentName" needs to be exported by the entry point index.d.ts // // @public -export type Unmasked = true extends IsAny ? TData : TData extends object ? UnwrapFragmentRefs>> : TData; +export type Unmasked = true extends IsAny ? TData : TData extends object ? true extends ContainsFragmentsRefs ? UnwrapFragmentRefs>> : TData : TData; // @public (undocumented) type UnwrapFragmentRefs = true extends IsAny ? TData : TData extends any ? string extends keyof TData ? TData : keyof TData extends never ? TData : TData extends { diff --git a/.api-reports/api-report-masking.api.md b/.api-reports/api-report-masking.api.md index 04786e31bbd..cb7d0207d49 100644 --- a/.api-reports/api-report-masking.api.md +++ b/.api-reports/api-report-masking.api.md @@ -437,14 +437,13 @@ export function maskFragment(data: TData, document: TypedDocume export function maskOperation(data: TData, document: DocumentNode | TypedDocumentNode, cache: ApolloCache): TData; // Warning: (ae-forgotten-export) The symbol "RemoveMaskedMarker" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "ContainsFragmentsRefs" needs to be exported by the entry point index.d.ts // // @public export type MaybeMasked = DataMasking extends { mode: "unmask"; } ? TData extends any ? true extends IsAny ? TData : TData extends { __masked?: true; -} ? Prettify> : true extends ContainsFragmentsRefs ? Unmasked : TData : never : DataMasking extends { +} ? Prettify> : Unmasked : never : DataMasking extends { mode: "preserveTypes"; } ? TData : TData; @@ -612,11 +611,12 @@ type Transaction = (c: ApolloCache) => void; // @public (undocumented) type unionToIntersection = (T extends unknown ? (x: T) => unknown : never) extends ((x: infer U) => unknown) ? U : never; +// Warning: (ae-forgotten-export) The symbol "ContainsFragmentsRefs" needs to be exported by the entry point index.d.ts // Warning: (ae-forgotten-export) The symbol "UnwrapFragmentRefs" needs to be exported by the entry point index.d.ts // Warning: (ae-forgotten-export) The symbol "RemoveFragmentName" needs to be exported by the entry point index.d.ts // // @public -export type Unmasked = true extends IsAny ? TData : TData extends object ? UnwrapFragmentRefs>> : TData; +export type Unmasked = true extends IsAny ? TData : TData extends object ? true extends ContainsFragmentsRefs ? UnwrapFragmentRefs>> : TData : TData; // @public (undocumented) type UnwrapFragmentRefs = true extends IsAny ? TData : TData extends any ? string extends keyof TData ? TData : keyof TData extends never ? TData : TData extends { diff --git a/.api-reports/api-report-react.api.md b/.api-reports/api-report-react.api.md index 904d5977115..20f8f310d1a 100644 --- a/.api-reports/api-report-react.api.md +++ b/.api-reports/api-report-react.api.md @@ -1155,14 +1155,13 @@ type MaybeAsync = T | PromiseLike; // Warning: (ae-forgotten-export) The symbol "DataMasking" needs to be exported by the entry point index.d.ts // Warning: (ae-forgotten-export) The symbol "RemoveMaskedMarker" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "ContainsFragmentsRefs" needs to be exported by the entry point index.d.ts // // @public type MaybeMasked = DataMasking extends { mode: "unmask"; } ? TData extends any ? true extends IsAny ? TData : TData extends { __masked?: true; -} ? Prettify> : true extends ContainsFragmentsRefs ? Unmasked : TData : never : DataMasking extends { +} ? Prettify> : Unmasked : never : DataMasking extends { mode: "preserveTypes"; } ? TData : TData; @@ -2206,11 +2205,12 @@ type UnionToIntersection = (U extends any ? (k: U) => void : never) extends ( // @public (undocumented) type unionToIntersection = (T extends unknown ? (x: T) => unknown : never) extends ((x: infer U) => unknown) ? U : never; +// Warning: (ae-forgotten-export) The symbol "ContainsFragmentsRefs" needs to be exported by the entry point index.d.ts // Warning: (ae-forgotten-export) The symbol "UnwrapFragmentRefs" needs to be exported by the entry point index.d.ts // Warning: (ae-forgotten-export) The symbol "RemoveFragmentName" needs to be exported by the entry point index.d.ts // // @public -type Unmasked = true extends IsAny ? TData : TData extends object ? UnwrapFragmentRefs>> : TData; +type Unmasked = true extends IsAny ? TData : TData extends object ? true extends ContainsFragmentsRefs ? UnwrapFragmentRefs>> : TData : TData; // @public (undocumented) type UnwrapFragmentRefs = true extends IsAny ? TData : TData extends any ? string extends keyof TData ? TData : keyof TData extends never ? TData : TData extends { diff --git a/.api-reports/api-report-react_components.api.md b/.api-reports/api-report-react_components.api.md index 1238640825e..5f9586fb590 100644 --- a/.api-reports/api-report-react_components.api.md +++ b/.api-reports/api-report-react_components.api.md @@ -1018,14 +1018,13 @@ type MaybeAsync = T | PromiseLike; // Warning: (ae-forgotten-export) The symbol "DataMasking" needs to be exported by the entry point index.d.ts // Warning: (ae-forgotten-export) The symbol "RemoveMaskedMarker" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "ContainsFragmentsRefs" needs to be exported by the entry point index.d.ts // // @public type MaybeMasked = DataMasking extends { mode: "unmask"; } ? TData extends any ? true extends IsAny ? TData : TData extends { __masked?: true; -} ? Prettify> : true extends ContainsFragmentsRefs ? Unmasked : TData : never : DataMasking extends { +} ? Prettify> : Unmasked : never : DataMasking extends { mode: "preserveTypes"; } ? TData : TData; @@ -1939,11 +1938,12 @@ type UnionToIntersection = (U extends any ? (k: U) => void : never) extends ( // @public (undocumented) type unionToIntersection = (T extends unknown ? (x: T) => unknown : never) extends ((x: infer U) => unknown) ? U : never; +// Warning: (ae-forgotten-export) The symbol "ContainsFragmentsRefs" needs to be exported by the entry point index.d.ts // Warning: (ae-forgotten-export) The symbol "UnwrapFragmentRefs" needs to be exported by the entry point index.d.ts // Warning: (ae-forgotten-export) The symbol "RemoveFragmentName" needs to be exported by the entry point index.d.ts // // @public -type Unmasked = true extends IsAny ? TData : TData extends object ? UnwrapFragmentRefs>> : TData; +type Unmasked = true extends IsAny ? TData : TData extends object ? true extends ContainsFragmentsRefs ? UnwrapFragmentRefs>> : TData : TData; // @public (undocumented) type UnwrapFragmentRefs = true extends IsAny ? TData : TData extends any ? string extends keyof TData ? TData : keyof TData extends never ? TData : TData extends { diff --git a/.api-reports/api-report-react_context.api.md b/.api-reports/api-report-react_context.api.md index 3fdc6fa3414..2e299c662af 100644 --- a/.api-reports/api-report-react_context.api.md +++ b/.api-reports/api-report-react_context.api.md @@ -1015,14 +1015,13 @@ type MaybeAsync = T | PromiseLike; // Warning: (ae-forgotten-export) The symbol "DataMasking" needs to be exported by the entry point index.d.ts // Warning: (ae-forgotten-export) The symbol "RemoveMaskedMarker" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "ContainsFragmentsRefs" needs to be exported by the entry point index.d.ts // // @public type MaybeMasked = DataMasking extends { mode: "unmask"; } ? TData extends any ? true extends IsAny ? TData : TData extends { __masked?: true; -} ? Prettify> : true extends ContainsFragmentsRefs ? Unmasked : TData : never : DataMasking extends { +} ? Prettify> : Unmasked : never : DataMasking extends { mode: "preserveTypes"; } ? TData : TData; @@ -1859,11 +1858,12 @@ type UnionToIntersection = (U extends any ? (k: U) => void : never) extends ( // @public (undocumented) type unionToIntersection = (T extends unknown ? (x: T) => unknown : never) extends ((x: infer U) => unknown) ? U : never; +// Warning: (ae-forgotten-export) The symbol "ContainsFragmentsRefs" needs to be exported by the entry point index.d.ts // Warning: (ae-forgotten-export) The symbol "UnwrapFragmentRefs" needs to be exported by the entry point index.d.ts // Warning: (ae-forgotten-export) The symbol "RemoveFragmentName" needs to be exported by the entry point index.d.ts // // @public -type Unmasked = true extends IsAny ? TData : TData extends object ? UnwrapFragmentRefs>> : TData; +type Unmasked = true extends IsAny ? TData : TData extends object ? true extends ContainsFragmentsRefs ? UnwrapFragmentRefs>> : TData : TData; // @public (undocumented) type UnwrapFragmentRefs = true extends IsAny ? TData : TData extends any ? string extends keyof TData ? TData : keyof TData extends never ? TData : TData extends { diff --git a/.api-reports/api-report-react_hoc.api.md b/.api-reports/api-report-react_hoc.api.md index 6fe263dd146..72d4ff340a0 100644 --- a/.api-reports/api-report-react_hoc.api.md +++ b/.api-reports/api-report-react_hoc.api.md @@ -1022,14 +1022,13 @@ type MaybeAsync = T | PromiseLike; // Warning: (ae-forgotten-export) The symbol "DataMasking" needs to be exported by the entry point index.d.ts // Warning: (ae-forgotten-export) The symbol "RemoveMaskedMarker" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "ContainsFragmentsRefs" needs to be exported by the entry point index.d.ts // // @public type MaybeMasked = DataMasking extends { mode: "unmask"; } ? TData extends any ? true extends IsAny ? TData : TData extends { __masked?: true; -} ? Prettify> : true extends ContainsFragmentsRefs ? Unmasked : TData : never : DataMasking extends { +} ? Prettify> : Unmasked : never : DataMasking extends { mode: "preserveTypes"; } ? TData : TData; @@ -1863,11 +1862,12 @@ type UnionToIntersection = (U extends any ? (k: U) => void : never) extends ( // @public (undocumented) type unionToIntersection = (T extends unknown ? (x: T) => unknown : never) extends ((x: infer U) => unknown) ? U : never; +// Warning: (ae-forgotten-export) The symbol "ContainsFragmentsRefs" needs to be exported by the entry point index.d.ts // Warning: (ae-forgotten-export) The symbol "UnwrapFragmentRefs" needs to be exported by the entry point index.d.ts // Warning: (ae-forgotten-export) The symbol "RemoveFragmentName" needs to be exported by the entry point index.d.ts // // @public -type Unmasked = true extends IsAny ? TData : TData extends object ? UnwrapFragmentRefs>> : TData; +type Unmasked = true extends IsAny ? TData : TData extends object ? true extends ContainsFragmentsRefs ? UnwrapFragmentRefs>> : TData : TData; // @public (undocumented) type UnwrapFragmentRefs = true extends IsAny ? TData : TData extends any ? string extends keyof TData ? TData : keyof TData extends never ? TData : TData extends { diff --git a/.api-reports/api-report-react_hooks.api.md b/.api-reports/api-report-react_hooks.api.md index 1c5b8fb2058..2ee9cf537ef 100644 --- a/.api-reports/api-report-react_hooks.api.md +++ b/.api-reports/api-report-react_hooks.api.md @@ -1104,14 +1104,13 @@ type MaybeAsync = T | PromiseLike; // Warning: (ae-forgotten-export) The symbol "DataMasking" needs to be exported by the entry point index.d.ts // Warning: (ae-forgotten-export) The symbol "RemoveMaskedMarker" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "ContainsFragmentsRefs" needs to be exported by the entry point index.d.ts // // @public type MaybeMasked = DataMasking extends { mode: "unmask"; } ? TData extends any ? true extends IsAny ? TData : TData extends { __masked?: true; -} ? Prettify> : true extends ContainsFragmentsRefs ? Unmasked : TData : never : DataMasking extends { +} ? Prettify> : Unmasked : never : DataMasking extends { mode: "preserveTypes"; } ? TData : TData; @@ -2029,11 +2028,12 @@ type UnionToIntersection = (U extends any ? (k: U) => void : never) extends ( // @public (undocumented) type unionToIntersection = (T extends unknown ? (x: T) => unknown : never) extends ((x: infer U) => unknown) ? U : never; +// Warning: (ae-forgotten-export) The symbol "ContainsFragmentsRefs" needs to be exported by the entry point index.d.ts // Warning: (ae-forgotten-export) The symbol "UnwrapFragmentRefs" needs to be exported by the entry point index.d.ts // Warning: (ae-forgotten-export) The symbol "RemoveFragmentName" needs to be exported by the entry point index.d.ts // // @public -type Unmasked = true extends IsAny ? TData : TData extends object ? UnwrapFragmentRefs>> : TData; +type Unmasked = true extends IsAny ? TData : TData extends object ? true extends ContainsFragmentsRefs ? UnwrapFragmentRefs>> : TData : TData; // @public (undocumented) type UnwrapFragmentRefs = true extends IsAny ? TData : TData extends any ? string extends keyof TData ? TData : keyof TData extends never ? TData : TData extends { diff --git a/.api-reports/api-report-react_internal.api.md b/.api-reports/api-report-react_internal.api.md index 92a7a3747e6..2672be8d5eb 100644 --- a/.api-reports/api-report-react_internal.api.md +++ b/.api-reports/api-report-react_internal.api.md @@ -1114,14 +1114,13 @@ type MaybeAsync = T | PromiseLike; // Warning: (ae-forgotten-export) The symbol "DataMasking" needs to be exported by the entry point index.d.ts // Warning: (ae-forgotten-export) The symbol "RemoveMaskedMarker" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "ContainsFragmentsRefs" needs to be exported by the entry point index.d.ts // // @public type MaybeMasked = DataMasking extends { mode: "unmask"; } ? TData extends any ? true extends IsAny ? TData : TData extends { __masked?: true; -} ? Prettify> : true extends ContainsFragmentsRefs ? Unmasked : TData : never : DataMasking extends { +} ? Prettify> : Unmasked : never : DataMasking extends { mode: "preserveTypes"; } ? TData : TData; @@ -2081,11 +2080,12 @@ type UnionToIntersection = (U extends any ? (k: U) => void : never) extends ( // @public (undocumented) type unionToIntersection = (T extends unknown ? (x: T) => unknown : never) extends ((x: infer U) => unknown) ? U : never; +// Warning: (ae-forgotten-export) The symbol "ContainsFragmentsRefs" needs to be exported by the entry point index.d.ts // Warning: (ae-forgotten-export) The symbol "UnwrapFragmentRefs" needs to be exported by the entry point index.d.ts // Warning: (ae-forgotten-export) The symbol "RemoveFragmentName" needs to be exported by the entry point index.d.ts // // @public -type Unmasked = true extends IsAny ? TData : TData extends object ? UnwrapFragmentRefs>> : TData; +type Unmasked = true extends IsAny ? TData : TData extends object ? true extends ContainsFragmentsRefs ? UnwrapFragmentRefs>> : TData : TData; // @public (undocumented) type UnwrapFragmentRefs = true extends IsAny ? TData : TData extends any ? string extends keyof TData ? TData : keyof TData extends never ? TData : TData extends { diff --git a/.api-reports/api-report-react_ssr.api.md b/.api-reports/api-report-react_ssr.api.md index 83958f92452..581bf4efb1b 100644 --- a/.api-reports/api-report-react_ssr.api.md +++ b/.api-reports/api-report-react_ssr.api.md @@ -1000,14 +1000,13 @@ type MaybeAsync = T | PromiseLike; // Warning: (ae-forgotten-export) The symbol "DataMasking" needs to be exported by the entry point index.d.ts // Warning: (ae-forgotten-export) The symbol "RemoveMaskedMarker" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "ContainsFragmentsRefs" needs to be exported by the entry point index.d.ts // // @public type MaybeMasked = DataMasking extends { mode: "unmask"; } ? TData extends any ? true extends IsAny ? TData : TData extends { __masked?: true; -} ? Prettify> : true extends ContainsFragmentsRefs ? Unmasked : TData : never : DataMasking extends { +} ? Prettify> : Unmasked : never : DataMasking extends { mode: "preserveTypes"; } ? TData : TData; @@ -1844,11 +1843,12 @@ type UnionToIntersection = (U extends any ? (k: U) => void : never) extends ( // @public (undocumented) type unionToIntersection = (T extends unknown ? (x: T) => unknown : never) extends ((x: infer U) => unknown) ? U : never; +// Warning: (ae-forgotten-export) The symbol "ContainsFragmentsRefs" needs to be exported by the entry point index.d.ts // Warning: (ae-forgotten-export) The symbol "UnwrapFragmentRefs" needs to be exported by the entry point index.d.ts // Warning: (ae-forgotten-export) The symbol "RemoveFragmentName" needs to be exported by the entry point index.d.ts // // @public -type Unmasked = true extends IsAny ? TData : TData extends object ? UnwrapFragmentRefs>> : TData; +type Unmasked = true extends IsAny ? TData : TData extends object ? true extends ContainsFragmentsRefs ? UnwrapFragmentRefs>> : TData : TData; // @public (undocumented) type UnwrapFragmentRefs = true extends IsAny ? TData : TData extends any ? string extends keyof TData ? TData : keyof TData extends never ? TData : TData extends { diff --git a/.api-reports/api-report-testing.api.md b/.api-reports/api-report-testing.api.md index 18bbb81892d..09c0be41e58 100644 --- a/.api-reports/api-report-testing.api.md +++ b/.api-reports/api-report-testing.api.md @@ -989,14 +989,13 @@ type MaybeAsync = T | PromiseLike; // Warning: (ae-forgotten-export) The symbol "DataMasking" needs to be exported by the entry point index.d.ts // Warning: (ae-forgotten-export) The symbol "RemoveMaskedMarker" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "ContainsFragmentsRefs" needs to be exported by the entry point index.d.ts // // @public type MaybeMasked = DataMasking extends { mode: "unmask"; } ? TData extends any ? true extends IsAny ? TData : TData extends { __masked?: true; -} ? Prettify> : true extends ContainsFragmentsRefs ? Unmasked : TData : never : DataMasking extends { +} ? Prettify> : Unmasked : never : DataMasking extends { mode: "preserveTypes"; } ? TData : TData; @@ -1895,11 +1894,12 @@ type UnionToIntersection = (U extends any ? (k: U) => void : never) extends ( // @public (undocumented) type unionToIntersection = (T extends unknown ? (x: T) => unknown : never) extends ((x: infer U) => unknown) ? U : never; +// Warning: (ae-forgotten-export) The symbol "ContainsFragmentsRefs" needs to be exported by the entry point index.d.ts // Warning: (ae-forgotten-export) The symbol "UnwrapFragmentRefs" needs to be exported by the entry point index.d.ts // Warning: (ae-forgotten-export) The symbol "RemoveFragmentName" needs to be exported by the entry point index.d.ts // // @public -type Unmasked = true extends IsAny ? TData : TData extends object ? UnwrapFragmentRefs>> : TData; +type Unmasked = true extends IsAny ? TData : TData extends object ? true extends ContainsFragmentsRefs ? UnwrapFragmentRefs>> : TData : TData; // @public (undocumented) type UnwrapFragmentRefs = true extends IsAny ? TData : TData extends any ? string extends keyof TData ? TData : keyof TData extends never ? TData : TData extends { diff --git a/.api-reports/api-report-testing_core.api.md b/.api-reports/api-report-testing_core.api.md index 9b98b8e17de..fbf3f238903 100644 --- a/.api-reports/api-report-testing_core.api.md +++ b/.api-reports/api-report-testing_core.api.md @@ -988,14 +988,13 @@ type MaybeAsync = T | PromiseLike; // Warning: (ae-forgotten-export) The symbol "DataMasking" needs to be exported by the entry point index.d.ts // Warning: (ae-forgotten-export) The symbol "RemoveMaskedMarker" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "ContainsFragmentsRefs" needs to be exported by the entry point index.d.ts // // @public type MaybeMasked = DataMasking extends { mode: "unmask"; } ? TData extends any ? true extends IsAny ? TData : TData extends { __masked?: true; -} ? Prettify> : true extends ContainsFragmentsRefs ? Unmasked : TData : never : DataMasking extends { +} ? Prettify> : Unmasked : never : DataMasking extends { mode: "preserveTypes"; } ? TData : TData; @@ -1852,11 +1851,12 @@ type UnionToIntersection = (U extends any ? (k: U) => void : never) extends ( // @public (undocumented) type unionToIntersection = (T extends unknown ? (x: T) => unknown : never) extends ((x: infer U) => unknown) ? U : never; +// Warning: (ae-forgotten-export) The symbol "ContainsFragmentsRefs" needs to be exported by the entry point index.d.ts // Warning: (ae-forgotten-export) The symbol "UnwrapFragmentRefs" needs to be exported by the entry point index.d.ts // Warning: (ae-forgotten-export) The symbol "RemoveFragmentName" needs to be exported by the entry point index.d.ts // // @public -type Unmasked = true extends IsAny ? TData : TData extends object ? UnwrapFragmentRefs>> : TData; +type Unmasked = true extends IsAny ? TData : TData extends object ? true extends ContainsFragmentsRefs ? UnwrapFragmentRefs>> : TData : TData; // @public (undocumented) type UnwrapFragmentRefs = true extends IsAny ? TData : TData extends any ? string extends keyof TData ? TData : keyof TData extends never ? TData : TData extends { diff --git a/.api-reports/api-report-utilities.api.md b/.api-reports/api-report-utilities.api.md index 6905e929046..dfdc8e611c2 100644 --- a/.api-reports/api-report-utilities.api.md +++ b/.api-reports/api-report-utilities.api.md @@ -1697,14 +1697,13 @@ export function maybeDeepFreeze(obj: T): T; // Warning: (ae-forgotten-export) The symbol "DataMasking" needs to be exported by the entry point index.d.ts // Warning: (ae-forgotten-export) The symbol "RemoveMaskedMarker" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "ContainsFragmentsRefs" needs to be exported by the entry point index.d.ts // // @public type MaybeMasked = DataMasking extends { mode: "unmask"; } ? TData extends any ? true extends IsAny ? TData : TData extends { __masked?: true; -} ? Prettify> : true extends ContainsFragmentsRefs ? Unmasked : TData : never : DataMasking extends { +} ? Prettify> : Unmasked : never : DataMasking extends { mode: "preserveTypes"; } ? TData : TData; @@ -2773,11 +2772,12 @@ type unionToIntersection = (T extends unknown ? (x: T) => unknown : never) ex // @public (undocumented) type UnionToIntersection_2 = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never; +// Warning: (ae-forgotten-export) The symbol "ContainsFragmentsRefs" needs to be exported by the entry point index.d.ts // Warning: (ae-forgotten-export) The symbol "UnwrapFragmentRefs" needs to be exported by the entry point index.d.ts // Warning: (ae-forgotten-export) The symbol "RemoveFragmentName" needs to be exported by the entry point index.d.ts // // @public -type Unmasked = true extends IsAny ? TData : TData extends object ? UnwrapFragmentRefs>> : TData; +type Unmasked = true extends IsAny ? TData : TData extends object ? true extends ContainsFragmentsRefs ? UnwrapFragmentRefs>> : TData : TData; // @public (undocumented) type UnwrapFragmentRefs = true extends IsAny ? TData : TData extends any ? string extends keyof TData ? TData : keyof TData extends never ? TData : TData extends { diff --git a/.api-reports/api-report.api.md b/.api-reports/api-report.api.md index 42e41d0e105..ba939adbf2d 100644 --- a/.api-reports/api-report.api.md +++ b/.api-reports/api-report.api.md @@ -1590,14 +1590,13 @@ interface MaskOperationOptions { type MaybeAsync = T | PromiseLike; // Warning: (ae-forgotten-export) The symbol "RemoveMaskedMarker" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "ContainsFragmentsRefs" needs to be exported by the entry point index.d.ts // // @public export type MaybeMasked = DataMasking extends { mode: "unmask"; } ? TData extends any ? true extends IsAny ? TData : TData extends { __masked?: true; -} ? Prettify> : true extends ContainsFragmentsRefs ? Unmasked : TData : never : DataMasking extends { +} ? Prettify> : Unmasked : never : DataMasking extends { mode: "preserveTypes"; } ? TData : TData; @@ -2875,11 +2874,12 @@ type UnionToIntersection = (U extends any ? (k: U) => void : never) extends ( // @public (undocumented) type unionToIntersection = (T extends unknown ? (x: T) => unknown : never) extends ((x: infer U) => unknown) ? U : never; +// Warning: (ae-forgotten-export) The symbol "ContainsFragmentsRefs" needs to be exported by the entry point index.d.ts // Warning: (ae-forgotten-export) The symbol "UnwrapFragmentRefs" needs to be exported by the entry point index.d.ts // Warning: (ae-forgotten-export) The symbol "RemoveFragmentName" needs to be exported by the entry point index.d.ts // // @public -export type Unmasked = true extends IsAny ? TData : TData extends object ? UnwrapFragmentRefs>> : TData; +export type Unmasked = true extends IsAny ? TData : TData extends object ? true extends ContainsFragmentsRefs ? UnwrapFragmentRefs>> : TData : TData; // @public (undocumented) type UnwrapFragmentRefs = true extends IsAny ? TData : TData extends any ? string extends keyof TData ? TData : keyof TData extends never ? TData : TData extends { diff --git a/.changeset/beige-eggs-nail.md b/.changeset/beige-eggs-nail.md new file mode 100644 index 00000000000..73dfcefcd7b --- /dev/null +++ b/.changeset/beige-eggs-nail.md @@ -0,0 +1,5 @@ +--- +"@apollo/client": patch +--- + +Maintain the `TData` type when used with `Unmasked` when `TData` is not a masked type generated from GraphQL Codegen. diff --git a/src/masking/__benches__/types.bench.ts b/src/masking/__benches__/types.bench.ts index 97a67e69b4e..1ea136c1d6e 100644 --- a/src/masking/__benches__/types.bench.ts +++ b/src/masking/__benches__/types.bench.ts @@ -248,7 +248,7 @@ test("unmasks DeepPartial types", (prefix) => { test("Unmasked handles odd types", (prefix) => { bench(prefix + "empty type instantiations", () => { attest<{}, Unmasked<{}>>(); - }).types([80, "instantiations"]); + }).types([111, "instantiations"]); bench(prefix + "empty type functionality", () => { expectTypeOf>().toEqualTypeOf<{}>(); @@ -256,7 +256,7 @@ test("Unmasked handles odd types", (prefix) => { bench(prefix + "generic record type instantiations", () => { attest, Unmasked>>(); - }).types([99, "instantiations"]); + }).types([115, "instantiations"]); bench(prefix + "generic record type functionality", () => { expectTypeOf>>().toEqualTypeOf< @@ -284,7 +284,7 @@ test("Unmasked handles odd types", (prefix) => { test("MaybeMasked handles odd types", (prefix) => { bench(prefix + "empty type instantiations", () => { attest<{}, MaybeMasked<{}>>(); - }).types([76, "instantiations"]); + }).types([41, "instantiations"]); bench(prefix + "empty type functionality", () => { expectTypeOf>().toEqualTypeOf<{}>(); @@ -292,7 +292,7 @@ test("MaybeMasked handles odd types", (prefix) => { bench(prefix + "generic record type instantiations", () => { attest, MaybeMasked>>(); - }).types([93, "instantiations"]); + }).types([46, "instantiations"]); bench(prefix + "generic record type functionality", () => { expectTypeOf>>().toEqualTypeOf< Record @@ -301,14 +301,14 @@ test("MaybeMasked handles odd types", (prefix) => { bench(prefix + "unknown instantiations", () => { attest>(); - }).types([54, "instantiations"]); + }).types([41, "instantiations"]); bench(prefix + "unknown functionality", () => { expectTypeOf>().toBeUnknown(); }); bench(prefix + "any instantiations", () => { attest>(); - }).types([49, "instantiations"]); + }).types([43, "instantiations"]); bench(prefix + "any functionality", () => { expectTypeOf>().toBeAny(); }); @@ -321,13 +321,13 @@ test("distributed members on MaybeMasked", (prefix) => { [MaybeMasked | null | undefined], [MaybeMasked] >(); - }).types([55, "instantiations"]); + }).types([49, "instantiations"]); })(); (function unresolvedGenerics() { bench(prefix + "two unresolved generics distribute", () => { attest<[MaybeMasked | MaybeMasked], [MaybeMasked]>(); - }).types([61, "instantiations"]); + }).types([50, "instantiations"]); })(); }); @@ -475,7 +475,7 @@ test("does not detect `$fragmentRefs` if type contains `any`", (prefix) => { bench(prefix + "instantiations", () => { return {} as MaybeMasked; - }).types([6, "instantiations"]); + }).types([1, "instantiations"]); bench(prefix + "functionality", () => { const x = {} as MaybeMasked; @@ -514,7 +514,7 @@ test("does not detect `$fragmentRefs` if type is a record type", (prefix) => { bench(prefix + "instantiations", () => { return {} as MaybeMasked; - }).types([6, "instantiations"]); + }).types([1, "instantiations"]); bench(prefix + "functionality", () => { const x = {} as MaybeMasked; @@ -532,7 +532,7 @@ test("does not detect `$fragmentRefs` on types with index signatures", (prefix) bench(prefix + "instantiations", () => { return {} as MaybeMasked; - }).types([6, "instantiations"]); + }).types([1, "instantiations"]); bench(prefix + "functionality", () => { const x = {} as MaybeMasked; @@ -565,7 +565,7 @@ test("detects `$fragmentRefs` on types with index signatures", (prefix) => { bench(prefix + "instantiations", () => { return {} as MaybeMasked; - }).types([6, "instantiations"]); + }).types([1, "instantiations"]); bench(prefix + "functionality", () => { const x = {} as Unmasked; @@ -588,7 +588,7 @@ test("recursive types: no error 'Type instantiation is excessively deep and poss bench(prefix + "instantiations", () => { return {} as MaybeMasked; - }).types([6, "instantiations"]); + }).types([1, "instantiations"]); bench(prefix + "functionality", () => { const x = {} as MaybeMasked; @@ -604,7 +604,7 @@ test("MaybeMasked can be called with a generic if `mode` is not set to `unmask`" bench(prefix + "Result generic - instantiations", () => { const maybeMasked: MaybeMasked = arg; return maybeMasked; - }).types(); + }).types([1, "instantiations"]); bench(prefix + "Result generic - functionality", () => { const maybeMasked: MaybeMasked = arg; @@ -615,7 +615,7 @@ test("MaybeMasked can be called with a generic if `mode` is not set to `unmask`" bench(prefix + "Result generic - instantiations", () => { const maybeMasked: MaybeMasked = arg; return maybeMasked; - }).types(); + }).types([1, "instantiations"]); bench(prefix + "Result generic - functionality", () => { const maybeMasked: MaybeMasked = arg; diff --git a/src/masking/types.ts b/src/masking/types.ts index f2c5f4cb4ca..62c43e9075a 100644 --- a/src/masking/types.ts +++ b/src/masking/types.ts @@ -45,8 +45,7 @@ export type MaybeMasked = // prevent "Type instantiation is excessively deep and possibly infinite." true extends IsAny ? TData : TData extends { __masked?: true } ? Prettify> - : true extends ContainsFragmentsRefs ? Unmasked - : TData + : Unmasked : never : DataMasking extends { mode: "preserveTypes" } ? TData : TData; @@ -57,5 +56,7 @@ export type MaybeMasked = export type Unmasked = true extends IsAny ? TData : TData extends object ? - UnwrapFragmentRefs>> + true extends ContainsFragmentsRefs ? + UnwrapFragmentRefs>> + : TData : TData;