@safeapi/safeapi
Version:
SafeAPI: Secure, deterministic, and tamper-resistant API policy engine for Node and browser.
16 lines (15 loc) • 630 B
TypeScript
/** @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;
}