@liberquack/utils
Version:
Quack utilities
38 lines (37 loc) • 1.29 kB
TypeScript
import type { Struct } from "superstruct";
export declare type Dictionary<T> = {
[x: string]: T;
};
export declare type UnPartial<T> = T extends Partial<infer U> ? U : never;
export declare type Nullable<T> = T | null;
export declare type Undefinable<T> = T | undefined;
/** @deprecated Use ValuesType from "utility-types" instead */
export declare type UnArray<T> = T extends Array<infer U> ? U : never;
export declare type StructType<T extends Struct<any, any>> = T extends Struct<infer U, any> ? U : never;
export declare type ConditionalType<Boolean, X, Y> = Boolean extends true ? X : Y;
declare type NativeType = Date | number | string | boolean | undefined | null;
export declare type Pojo = {
[x: string]: NativeType | NativeType[] | Pojo | Pojo[];
};
declare global {
interface Navigator {
getInstalledRelatedApps(): Promise<{
platform: "webapp";
url: string;
}[]>;
}
}
export interface BeforeInstallPromptEvent extends Event {
readonly platforms: string[];
readonly userChoice: Promise<{
outcome: "accepted" | "dismissed";
platform: string;
}>;
prompt(): Promise<void>;
}
declare global {
interface WindowEventMap {
beforeinstallprompt: BeforeInstallPromptEvent;
}
}
export {};