Files
webstudio/app/shared/props-utils/clone-props.ts
T

16 lines
500 B
TypeScript

import ObjectId from "bson-objectid";
import produce from "immer";
import { type InstanceProps, type Instance } from "@webstudio-is/sdk";
export const cloneProps = (
instanceProps: InstanceProps,
{ instanceId }: { instanceId: Instance["id"] }
) =>
produce((instanceProps: InstanceProps) => {
instanceProps.id = ObjectId().toString();
instanceProps.instanceId = instanceId;
for (const prop of instanceProps.props) {
prop.id = ObjectId().toString();
}
})(instanceProps);