Skip to main content
Version: v0.0.4

Function: deepFreeze()

deepFreeze<T>(value): T

Recursively freeze an object graph (objects and arrays), returning the same reference typed as deeply readonly. Cyclic graphs are not produced by the parser, so a simple recursive walk suffices.

Type Parameters

T

T

Parameters

value

T

The value to freeze in place.

Returns

T

The same value, now deeply frozen.

Example

import { deepFreeze } from "@cosyte/astm";
const frozen = deepFreeze({ a: [1, 2] });
Object.isFrozen(frozen.a); // true