summaryrefslogtreecommitdiff
path: root/apps/web/src/lib/stickers/providers/index.ts
diff options
context:
space:
mode:
Diffstat (limited to 'apps/web/src/lib/stickers/providers/index.ts')
-rw-r--r--apps/web/src/lib/stickers/providers/index.ts26
1 files changed, 26 insertions, 0 deletions
diff --git a/apps/web/src/lib/stickers/providers/index.ts b/apps/web/src/lib/stickers/providers/index.ts
new file mode 100644
index 00000000..3c4faee9
--- /dev/null
+++ b/apps/web/src/lib/stickers/providers/index.ts
@@ -0,0 +1,26 @@
+import { hasProvider, registerProvider } from "../registry";
+import type { StickerProvider } from "@/types/stickers";
+import { emojiProvider } from "./emoji";
+import { flagsProvider } from "./flags";
+import { iconsProvider } from "./icons";
+import { shapesProvider } from "./shapes";
+
+const defaultProviders: StickerProvider[] = [
+ iconsProvider,
+ emojiProvider,
+ flagsProvider,
+ shapesProvider,
+];
+
+export function registerDefaultStickerProviders({
+ providersToRegister = defaultProviders,
+}: {
+ providersToRegister?: StickerProvider[];
+} = {}): void {
+ for (const provider of providersToRegister) {
+ if (hasProvider({ providerId: provider.id })) {
+ continue;
+ }
+ registerProvider({ provider });
+ }
+}