Implement query execution, scoped RPC enrichment, live collections, and scaffold integration
This commit is contained in:
Vendored
+38
@@ -0,0 +1,38 @@
|
||||
import { type QxValueType } from "./bindings.js";
|
||||
import type { QueryResponse } from "./camino/api_pb.js";
|
||||
import type { QxObjectRef } from "./references.js";
|
||||
export type QxQueryPartial<T> = T extends QxObjectRef ? T : T extends readonly (infer Item)[] ? QxQueryPartial<Item>[] : T extends object ? {
|
||||
[Key in keyof T]?: QxQueryPartial<T[Key]>;
|
||||
} : T;
|
||||
export type QxQuerySnapshot<T> = {
|
||||
runId: string;
|
||||
sequence: bigint;
|
||||
dataVersion: string;
|
||||
bindingDigest: string;
|
||||
consistency: string;
|
||||
fields: {
|
||||
path: readonly (string | number)[];
|
||||
status: "pending" | "error";
|
||||
error?: string;
|
||||
}[];
|
||||
} & ({
|
||||
status: "ready";
|
||||
data: T;
|
||||
} | {
|
||||
status: "partial";
|
||||
data: QxQueryPartial<T>;
|
||||
});
|
||||
declare const queryTypes: unique symbol;
|
||||
/** Generated shape evidence, not permission to run a query. */
|
||||
export interface QxQueryDescriptor<Variables, Result, Root extends string = string> {
|
||||
readonly id: string;
|
||||
readonly definitionDigest: string;
|
||||
readonly rootInterfaceRevisionId: Root;
|
||||
readonly variables: QxValueType;
|
||||
readonly output: QxValueType;
|
||||
readonly watch: boolean;
|
||||
readonly [queryTypes]?: (variables: Variables, result: Result) => [Variables, Result];
|
||||
}
|
||||
export declare function decodeQuerySnapshot<T>(response: QueryResponse, output: QxValueType, runId: string, sequence: bigint): QxQuerySnapshot<T>;
|
||||
export {};
|
||||
//# sourceMappingURL=queries.d.ts.map
|
||||
Reference in New Issue
Block a user