@baqhub/sdk
Version:
The official JavaScript SDK for the BAQ federated app platform.
37 lines (36 loc) • 1.78 kB
TypeScript
import { EntityLink } from "../links/entityLink.js";
import { AnyRecordLink } from "../links/recordLink.js";
import { VersionLink } from "../links/versionLink.js";
import { AnyRecord, UnknownRecord } from "../records/record.js";
export declare enum QueryLinkValueType {
TAG = "tag",
ENTITY = "entity",
RECORD = "record",
VERSION = "version"
}
type QueryLinkValueTag = [QueryLinkValueType.TAG, string];
type QueryLinkValueEntity = [QueryLinkValueType.ENTITY, EntityLink];
type QueryLinkValueRecord<T extends AnyRecord> = [
QueryLinkValueType.RECORD,
AnyRecordLink,
T
];
type QueryLinkValueVersion = [QueryLinkValueType.VERSION, VersionLink];
export type QueryLinkValue<T extends AnyRecord> = QueryLinkValueTag | QueryLinkValueEntity | QueryLinkValueRecord<T> | QueryLinkValueVersion;
declare function queryValueTag(tag: string): QueryLinkValueTag;
declare function queryValueEntity(entity: string): QueryLinkValueEntity;
declare function queryValueRecord<T extends AnyRecord = UnknownRecord>(recordLink: AnyRecordLink): QueryLinkValueRecord<T>;
declare function queryValueVersion(versionLink: VersionLink): QueryLinkValueVersion;
declare function queryLinkValueToString<T extends AnyRecord>(queryLinkValue: QueryLinkValue<T>): string;
declare function queryLinkValueIs(value: QueryLinkValue<AnyRecord>, obj: any): boolean;
declare function queryLinkValuesMatch(value1: QueryLinkValue<AnyRecord>, value2: QueryLinkValue<AnyRecord>): boolean;
export declare const QueryLinkValue: {
tag: typeof queryValueTag;
entity: typeof queryValueEntity;
record: typeof queryValueRecord;
version: typeof queryValueVersion;
is: typeof queryLinkValueIs;
match: typeof queryLinkValuesMatch;
toString: typeof queryLinkValueToString;
};
export {};