UNPKG

@baqhub/sdk

Version:

The official JavaScript SDK for the BAQ federated app platform.

34 lines (33 loc) 1.52 kB
import { AnyRecord, UnknownRecord } from "../records/record.js"; import { QueryLinkValue } from "./queryLinkValue.js"; export declare enum QueryLinkType { LINK = "link", PATH_LINK = "path_link", EMPTY_PATH_LINK = "empty_path_link" } type QueryLinkLink<T extends AnyRecord> = [ QueryLinkType.LINK, QueryLinkValue<T> ]; type QueryLinkPathLink<T extends AnyRecord> = [ QueryLinkType.PATH_LINK, string, QueryLinkValue<T> ]; type QueryLinkEmptyPathLink = [QueryLinkType.EMPTY_PATH_LINK, string]; export type QueryLink<T extends AnyRecord> = QueryLinkLink<T> | QueryLinkPathLink<T> | QueryLinkEmptyPathLink; declare function buildLink<T extends AnyRecord = UnknownRecord>(value: QueryLinkValue<T>): QueryLinkLink<T>; declare function buildPathLink<T extends AnyRecord = UnknownRecord>(path: string, value: QueryLinkValue<T>): QueryLinkPathLink<T>; declare function buildEmptyPathLink(path: string): QueryLinkEmptyPathLink; declare function queryLinkToString<T extends AnyRecord>(queryLink: QueryLink<T>): string; declare function linkIsInRecord<T extends AnyRecord>(record: T, queryLink: QueryLink<T>): boolean; declare function queryLinkIsSuperset(link1: QueryLink<AnyRecord>, link2: QueryLink<AnyRecord>): boolean; export declare const QueryLink: { link: typeof buildLink; pathLink: typeof buildPathLink; emptyPathLink: typeof buildEmptyPathLink; isInRecord: typeof linkIsInRecord; toString: typeof queryLinkToString; isSuperset: typeof queryLinkIsSuperset; }; export {};