1 | export = deepFreeze;
|
2 |
|
3 | declare function deepFreeze<T>(a: T[]): ReadonlyArray<deepFreeze.DeepReadonly<T>>;
|
4 | declare function deepFreeze<T extends Function>(f: T): T;
|
5 | declare function deepFreeze<T>(o: T): deepFreeze.DeepReadonly<T>;
|
6 |
|
7 | declare namespace deepFreeze {
|
8 | type DeepReadonly<T> = T extends (...args: any) => any ? T
|
9 | : { readonly [P in keyof T]: DeepReadonly<T[P]> };
|
10 | }
|