diff options
Diffstat (limited to 'apps/web/src/masks/index.ts')
| -rw-r--r-- | apps/web/src/masks/index.ts | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/apps/web/src/masks/index.ts b/apps/web/src/masks/index.ts new file mode 100644 index 00000000..3544e239 --- /dev/null +++ b/apps/web/src/masks/index.ts @@ -0,0 +1,18 @@ +import type { Mask, MaskDefaultContext, MaskType } from "@/masks/types";
+import { masksRegistry } from "./registry";
+import { generateUUID } from "@/utils/id";
+
+export { masksRegistry } from "./registry";
+export { registerDefaultMasks } from "./definitions";
+
+export function buildDefaultMaskInstance({
+ maskType,
+ elementSize,
+}: {
+ maskType: MaskType;
+ elementSize?: { width: number; height: number };
+}): Mask {
+ const definition = masksRegistry.get(maskType);
+ const context: MaskDefaultContext = { elementSize };
+ return { ...definition.buildDefault(context), id: generateUUID() } as Mask;
+}
|
