diff options
Diffstat (limited to 'apps/web/src/lib/stickers/resolver.ts')
| -rw-r--r-- | apps/web/src/lib/stickers/resolver.ts | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/apps/web/src/lib/stickers/resolver.ts b/apps/web/src/lib/stickers/resolver.ts new file mode 100644 index 00000000..3252cd60 --- /dev/null +++ b/apps/web/src/lib/stickers/resolver.ts @@ -0,0 +1,22 @@ +import { getProvider } from "./registry"; +import { parseStickerId } from "./sticker-id"; +import { registerDefaultStickerProviders } from "./providers"; +import type { StickerResolveOptions } from "@/types/stickers"; + +export function resolveStickerId({ + stickerId, + options, +}: { + stickerId: string; + options?: StickerResolveOptions; +}): string { + registerDefaultStickerProviders(); + + const parsedStickerId = parseStickerId({ stickerId }); + return getProvider({ + providerId: parsedStickerId.providerId, + }).resolveUrl({ + stickerId, + options, + }); +} |
