{"version":3,"sources":["../../src/encode/jpg.ts"],"names":["normalizeQuality","canvasToBlob"],"mappings":";;;;;;AAKO,IAAM,IAAA,GAAmB;AAAA,EAC9B,GAAA,EAAK,KAAA;AAAA,EACL,OAAA,EAAS,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,EACxB,KAAA,EAAO,MAAA;AAAA,EACP,IAAA,EAAM,YAAA;AAAA,EACN,GAAA,EAAK,KAAA;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,IAAA;AAAA,EAC1B,oBAAA,EAAsB;AACxB;AAMA,eAAsB,MAAA,CACpB,QACA,OAAA,EACe;AACf,EAAA,MAAM,IAAIA,kCAAA,CAAiB,KAAA,EAAO,OAAA,EAAS,OAAA,IAAW,KAAK,cAAe,CAAA;AAC1E,EAAA,OAAOC,8BAAA,CAAa,MAAA,EAAQ,IAAA,CAAK,IAAA,EAAM,CAAC,CAAA;AAC1C","file":"jpg.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: 'jpg',\n  aliases: ['jpeg', 'jfif'],\n  label: 'JPEG',\n  mime: 'image/jpeg',\n  ext: 'jpg',\n  supportsCompression: true,\n  compressionType: 'lossy',\n  defaultQuality: 92,\n  qualityRange: [1, 100],\n  qualityHint: 'Lower = smaller file, more artifacts',\n  requiresAlphaCompositing: true,\n  supportsTransparency: false,\n};\n\n/**\n * Encode a Canvas to JPEG 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('jpg', options?.quality ?? meta.defaultQuality!);\n  return canvasToBlob(canvas, meta.mime, q);\n}\n"]}