summaryrefslogtreecommitdiff
path: root/packages/integrations/image/src/utils.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/integrations/image/src/utils.ts')
-rw-r--r--packages/integrations/image/src/utils.ts14
1 files changed, 14 insertions, 0 deletions
diff --git a/packages/integrations/image/src/utils.ts b/packages/integrations/image/src/utils.ts
index 95e0fb2a1..44c338cf4 100644
--- a/packages/integrations/image/src/utils.ts
+++ b/packages/integrations/image/src/utils.ts
@@ -58,3 +58,17 @@ export function propsToFilename({ src, width, height, format }: TransformOptions
return format ? src.replace(ext, format) : src;
}
+
+export function parseAspectRatio(aspectRatio: TransformOptions['aspectRatio']) {
+ if (!aspectRatio) {
+ return undefined;
+ }
+
+ // parse aspect ratio strings, if required (ex: "16:9")
+ if (typeof aspectRatio === 'number') {
+ return aspectRatio;
+ } else {
+ const [width, height] = aspectRatio.split(':');
+ return parseInt(width) / parseInt(height);
+ }
+}