UNPKG

@safeapi/safeapi

Version:

SafeAPI: Secure, deterministic, and tamper-resistant API policy engine for Node and browser.

16 lines (15 loc) 630 B
/** @internal */ export type Primitive = string | number | boolean | bigint | symbol | null | undefined; /** @internal */ export type Frozen<T> = T extends Primitive ? T : T extends Array<infer U> ? ReadonlyArray<Frozen<U>> : T extends Map<infer K, infer V> ? ReadonlyMap<Frozen<K>, Frozen<V>> : T extends Set<infer S> ? ReadonlySet<Frozen<S>> : { readonly [K in keyof T]: Frozen<T[K]>; }; /** @internal */ export type ImmutableRecord<T extends Record<string, unknown>> = { readonly [K in keyof T]: T[K]; }; /** @internal */ export interface AuditMetaBase { readonly timestamp: string; readonly source?: string; }