diff options
Diffstat (limited to 'apps/web/src/lib/masks/index.ts')
| -rw-r--r-- | apps/web/src/lib/masks/index.ts | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/apps/web/src/lib/masks/index.ts b/apps/web/src/lib/masks/index.ts new file mode 100644 index 00000000..bc9f20b0 --- /dev/null +++ b/apps/web/src/lib/masks/index.ts @@ -0,0 +1,18 @@ +import type { Mask, MaskDefaultContext, MaskType } from "@/lib/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; +} |
