Remote / foldkit-remote-drizzle

CursorRead

const · packages/remote-drizzle/src/cursor.ts:238

const CursorRead: { readonly Id: Data.TaggedEnum.ConstructorFrom<{ readonly _tag: "Id"; readonly id: string; }, "_tag">; readonly Keys: Data.TaggedEnum.ConstructorFrom<{ readonly _tag: "Keys"; readonly values: ReadonlyArray<unknown>; }, "_tag">; readonly Invalid: Data.TaggedEnum.ConstructorFrom<{ readonly _tag: "Invalid"; }, "_tag">; readonly $is: <Tag extends "Id" | "Keys" | "Invalid">(tag: Tag) => (u: unknown) => u is Extract<{ readonly _tag: "Id"; readonly id: string; }, { readonly _tag: Tag; }> | Extract<{ readonly _tag: "Keys"; readonly values: ReadonlyArray<unknown>; }, { readonly _tag: Tag; }> | Extract<{ readonly _tag: "Invalid"; }, { readonly _tag: Tag; }>; readonly $match: { <Cases extends { readonly Id: (args: { readonly _tag: "Id"; readonly id: string; }) => any; readonly Keys: (args: { readonly _tag: "Keys"; readonly values: ReadonlyArray<unknown>; }) => any; readonly Invalid: (args: { readonly _tag: "Invalid"; }) => any; }>(cases: Cases): (value: { readonly _tag: "Id"; readonly id: string; } | { readonly _tag: "Keys"; readonly values: ReadonlyArray<unknown>; } | { readonly _tag: "Invalid"; }) => Unify<ReturnType<Cases["Id" | "Keys" | "Invalid"]>>; <Cases extends { readonly Id: (args: { readonly _tag: "Id"; readonly id: string; }) => any; readonly Keys: (args: { readonly _tag: "Keys"; readonly values: ReadonlyArray<unknown>; }) => any; readonly Invalid: (args: { readonly _tag: "Invalid"; }) => any; }>(value: { readonly _tag: "Id"; readonly id: string; } | { readonly _tag: "Keys";  …;

Its type

type CursorRead = Data.TaggedEnum<{
  Keys: {
    readonly values: ReadonlyArray<unknown>
  }
  Id: {
    readonly id: string
  }
  Invalid: {}
}>

What a cursor says: where its page ended, an id from before keys, or nothing this server minted.