@baqhub/sdk
Version:
The official JavaScript SDK for the BAQ federated app platform.
34 lines (33 loc) • 1.52 kB
TypeScript
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 {};