@baqhub/sdk
Version:
The official JavaScript SDK for the BAQ federated app platform.
22 lines (21 loc) • 949 B
TypeScript
export type Handler = () => void;
export type HandlerOf<T> = (arg: T) => void;
export type Predicate = () => boolean;
export type PredicateOf<T> = (arg: T) => boolean;
export interface Dictionary<T> {
[K: string]: T;
}
export declare function noop(): void;
export declare function unreachable(_x: never): never;
export declare function isDefined<T>(value: T | undefined): value is T;
export declare function isDefinedOr<T>(value: T | undefined, backup: T): T;
export declare function isPromise(value: unknown): boolean;
export type IsUnion<T, U extends T = T> = (T extends any ? (U extends T ? false : true) : never) extends false ? false : true;
type Expand<T> = T extends object ? {
[K in keyof T]: Expand<T[K]>;
} : T;
type AllKeys<T> = T extends unknown ? keyof T : never;
export type ExclusiveUnion<T, K extends PropertyKey = AllKeys<T>> = T extends unknown ? Expand<T & {
[P in Exclude<K, keyof T>]?: never;
}> : never;
export {};