UNPKG

nukak

Version:

flexible and efficient ORM, with declarative JSON syntax and smart type-safety

14 lines (13 loc) 647 B
/// <reference types="node" resolution-mode="require"/> /// <reference types="node" resolution-mode="require"/> export type Type<T> = new (...args: unknown[]) => T; export type BooleanLike = boolean | 0 | 1; export type MongoId = { toHexString: () => string; }; export type Scalar = string | number | boolean | bigint | Symbol | Date | RegExp | Buffer | MongoId; export type ExpandScalar<T> = null | (T extends Date ? Date | string : T); export type Writable<T> = { -readonly [K in keyof T]: T[K]; }; export type Unpacked<T> = T extends (infer U)[] ? U : T extends (...args: unknown[]) => infer U ? U : T extends Promise<infer U> ? U : T;