From 1d56b34fce57399cbfb8a10eed72e0e5a94b4521 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 5 Oct 2026 18:09:24 +0000 Subject: [PATCH] internal: Regenerate playground editor types for set() row types #4179 changed set() row types after #4189 added the editor-types check, so master's committed core.d.ts was stale. Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01N2JUxvTqcHCdBX8Xi1nQq6 --- .../editor-types/@data-client/core.d.ts | 29 ++++++------------- 1 file changed, 9 insertions(+), 20 deletions(-) diff --git a/website/src/components/Playground/editor-types/@data-client/core.d.ts b/website/src/components/Playground/editor-types/@data-client/core.d.ts index 4ecd94b5f5dd..bceab8c9bba3 100644 --- a/website/src/components/Playground/editor-types/@data-client/core.d.ts +++ b/website/src/components/Playground/editor-types/@data-client/core.d.ts @@ -446,24 +446,20 @@ type FunctionKeys = { /** Raw input for one field: numbers and strings coerce (literals stay exact); * objects are pre-normalize */ type SetField = T extends number ? number extends T ? T | string : T : T extends string ? string extends T ? T | number : T : T extends object ? unknown : T; -/** Non-function keys of any member of U */ -type FieldKeys = U extends unknown ? Exclude> : never; -/** Input for field K, from each member of U that has it */ -type MemberField = U extends unknown ? K extends keyof U ? SetField : never : never; -/** Fields of one row (or a coerced primitive); like EntityFields, but without - * key remapping (TS 4.0). A Union's members merge into one object type: checking - * a row against it costs one comparison instead of one per member. */ +/** Fields of one row (or a coerced primitive); like EntityFields, but distributive + * and without key remapping (TS 4.0). A Union gets one row per member, so a + * discriminator like `type` selects the member the other fields are checked against. */ type SetRow = 0 extends 1 & U ? { readonly [k: string]: any; -} : [U] extends [object] ? { - readonly [K in FieldKeys]?: MemberField; +} : U extends object ? { + readonly [K in Exclude>]?: SetField; } : SetField; /** Keeps S inferred from the schema alone: inferring it from the value too would * walk the value's type against every conditional in SetValue (TS 5.4 has NoInfer) */ type SkipInfer = [T][S extends unknown ? 0 : never]; type SetManyValue = S extends readonly (infer E)[] ? true extends IsUnion ? readonly { 'Use a Union schema for several Entity types': never; -}[] : readonly SetItem>[] : SetValue; +}[] : readonly SetRow>[] : SetValue; /** Raw input `set()` normalizes for a Queryable */ type SetValue = InputSchema>> extends infer N ? N extends EntityInterface ? SetRow> : SetInput> : never; /** Query normalizes with its inner schema; its process() output is not input @@ -478,16 +474,9 @@ type InputSchema = S extends ({ /** Raw input for a denormalized value, like a Collection's list or a Union's row */ type SetInput = 0 extends 1 & T ? any : [ T -] extends [readonly (infer U)[]] ? readonly SetItem[] : string extends keyof T ? { - readonly [k: string]: SetItem; -} : SetItem; -/** - * One member of a list or keyed object. Polymorphic rows may carry a - * discriminator that is not an Entity field. - */ -type SetItem = true extends IsUnion ? SetRow & { - readonly [k: string]: unknown; -} : SetRow; +] extends [readonly (infer U)[]] ? readonly SetRow[] : string extends keyof T ? { + readonly [k: string]: SetRow; +} : SetRow; type ResultEntry = E['schema'] extends undefined | null ? ResolveType : Normalize; type EndpointUpdateFunction = Record> = (source: ResultEntry, ...args: any) => {