UNPKG

@tanstack/db

Version:

A reactive client store for building super fast apps on sync

36 lines (35 loc) • 2.23 kB
import { NamespacedRow } from '../../types.js'; export declare const CALLBACK_INPUT: unique symbol; export declare const CALLBACK_SELECTED: unique symbol; export declare const INCLUDES_PUBLIC_KEY: unique symbol; export declare const INCLUDES_ROUTING: unique symbol; export type RouteMetadata = { correlationKey: unknown; parentContext: unknown; }; export type RoutedScalarMetadata = { value: unknown; correlationKey: unknown; parentContext: unknown; publicKey: unknown; }; export declare function attachRouteMetadata<T extends object>(value: T, correlationKey: unknown, parentContext: unknown): T; export declare function getRouteMetadata(value: unknown): RouteMetadata | undefined; export declare function getNamespacedRouteMetadata(row: unknown, source: string): RouteMetadata | undefined; export declare function stripRouteMetadata<T extends object>(value: T): T; export declare function attachRouteMetadataToResult(value: unknown, correlationKey: unknown, parentContext: unknown, publicKey: unknown): unknown; export declare function getRoutedScalarMetadata(value: unknown): RoutedScalarMetadata | undefined; /** Give FROM and JOIN rows the same route and callback namespace. */ export declare function wrapInputRow(alias: string, row: unknown, callbackValue?: unknown): NamespacedRow; /** A namespace keeps authored values beside its callback source overrides. * A one-element tuple denotes a flat union view: absent fields must disappear, * whereas named overrides replace only their own source aliases. */ export declare function getCallbackInput<T extends object>(row: T): T; /** Copy public containers while removing private route state at every depth. */ export declare function stripInternalRouteMetadata(value: unknown): unknown; /** Remove every compiler-owned key before invoking user code. */ export declare function stripInternalCallbackMetadata(value: unknown): unknown; /** Copy only paths changed by a leaf transform or an omitted private key. */ export declare function transformPublicContainers(value: unknown, transformLeaf: (value: unknown) => unknown, omittedKeys: ReadonlySet<PropertyKey>): unknown; export declare function isPublicContainer(value: unknown): value is object;