{"version":3,"sources":["../../src/encode/webp.ts"],"names":["normalizeQuality","canvasToBlob"],"mappings":";;;;;;AAKO,IAAM,IAAA,GAAmB;AAAA,EAC9B,GAAA,EAAK,MAAA;AAAA,EACL,SAAS,EAAC;AAAA,EACV,KAAA,EAAO,MAAA;AAAA,EACP,IAAA,EAAM,YAAA;AAAA,EACN,GAAA,EAAK,MAAA;AAAA,EACL,mBAAA,EAAqB,IAAA;AAAA,EACrB,eAAA,EAAiB,OAAA;AAAA,EACjB,cAAA,EAAgB,EAAA;AAAA,EAChB,YAAA,EAAc,CAAC,CAAA,EAAG,GAAG,CAAA;AAAA,EACrB,WAAA,EAAa,sCAAA;AAAA,EACb,wBAAA,EAA0B,KAAA;AAAA,EAC1B,oBAAA,EAAsB;AACxB;AAMA,eAAsB,MAAA,CACpB,QACA,OAAA,EACe;AACf,EAAA,MAAM,IAAIA,kCAAA,CAAiB,MAAA,EAAQ,OAAA,EAAS,OAAA,IAAW,KAAK,cAAe,CAAA;AAC3E,EAAA,OAAOC,8BAAA,CAAa,MAAA,EAAQ,IAAA,CAAK,IAAA,EAAM,CAAC,CAAA;AAC1C","file":"webp.cjs","sourcesContent":["import type { FormatMeta, EncodeOptions } from '../types.js';\n\nimport { canvasToBlob } from '../transform/canvas.js';\nimport { normalizeQuality } from '../compression/normalize.js';\n\nexport const meta: FormatMeta = {\n  key: 'webp',\n  aliases: [],\n  label: 'WebP',\n  mime: 'image/webp',\n  ext: 'webp',\n  supportsCompression: true,\n  compressionType: 'lossy',\n  defaultQuality: 92,\n  qualityRange: [1, 100],\n  qualityHint: 'Lower = smaller file, more artifacts',\n  requiresAlphaCompositing: false,\n  supportsTransparency: true,\n};\n\n/**\n * Encode a Canvas to WebP via Canvas.toBlob().\n * Quality 0-100 is normalized to Canvas's 0.0-1.0.\n */\nexport async function encode(\n  canvas: HTMLCanvasElement | OffscreenCanvas,\n  options?: EncodeOptions,\n): Promise<Blob> {\n  const q = normalizeQuality('webp', options?.quality ?? meta.defaultQuality!);\n  return canvasToBlob(canvas, meta.mime, q);\n}\n"]}