in packages/sdk/src/Value.ts [57:69]
export function clone<T extends Value>(value: T): T {
if (isStruct(value)) {
const cloned: Record<string, Value> = {};
for (const key of Object.keys(value)) {
cloned[key] = clone(value[key]);
}
return Object.freeze(cloned) as T;
}
if (isList(value)) {
return Object.freeze(value.map(clone)) as T;
}
return value;
}