Files
webstudio/app/shared/tree-utils/create-instance.ts
T
Oleg Isonen 5116ea4140 predefined breakpoints now loaded from server
in preparation to be loaded form db
2022-04-20 17:34:42 +01:00

29 lines
680 B
TypeScript

import ObjectId from "bson-objectid";
import { type CssRule, type Instance } from "@webstudio-is/sdk";
import { primitives } from "~/shared/component";
export const createInstance = ({
component,
id,
children,
cssRules,
}: {
component: Instance["component"];
id?: Instance["id"];
children?: Instance["children"];
cssRules?: Array<CssRule>;
}): Instance => {
const primitive = primitives[component];
return {
component,
id: id === undefined ? ObjectId().toString() : id,
cssRules: cssRules ?? [],
children:
children === undefined
? "children" in primitive
? primitive.children
: []
: children,
};
};