hector-rubic-sdk
Version:
Simplify dApp creation
6 lines (5 loc) • 804 B
TypeScript
import BigNumber from 'bignumber.js';
import { Builtin, IsUnknown } from 'ts-essentials/dist/types';
export declare type DeepReadonly<T> = T extends Builtin ? T : T extends Map<infer K, infer V> ? ReadonlyMap<DeepReadonly<K>, DeepReadonly<V>> : T extends ReadonlyMap<infer K, infer V> ? ReadonlyMap<DeepReadonly<K>, DeepReadonly<V>> : T extends WeakMap<infer K, infer V> ? WeakMap<DeepReadonly<K>, DeepReadonly<V>> : T extends Set<infer U> ? ReadonlySet<DeepReadonly<U>> : T extends ReadonlySet<infer U> ? ReadonlySet<DeepReadonly<U>> : T extends WeakSet<infer U> ? WeakSet<DeepReadonly<U>> : T extends Promise<infer U> ? Promise<DeepReadonly<U>> : T extends BigNumber ? BigNumber : T extends {} ? {
readonly [K in keyof T]: DeepReadonly<T[K]>;
} : IsUnknown<T> extends true ? unknown : Readonly<T>;