Files
webstudio/apps/designer/app/shared/tree-utils/clone-instance.ts
T
2022-07-14 11:18:16 +02:00

15 lines
421 B
TypeScript

import ObjectId from "bson-objectid";
import produce from "immer";
import { type Instance } from "@webstudio-is/react-sdk";
const updateIds = (instance: Instance) => {
instance.id = ObjectId().toString();
for (const child of instance.children) {
if (typeof child === "string") continue;
updateIds(child);
}
};
export const cloneInstance = (instance: Instance): Instance =>
produce(updateIds)(instance);