{"version":3,"file":"index.cjs","sources":["../src/utils/fileDetection.ts","../src/converters/pdf.ts","../src/utils/markdown.ts","../src/converters/html.ts","../src/converters/docx.ts","../src/converters/text.ts","../src/converters/notebook.ts","../src/converters/xml.ts","../src/converters/spreadsheet.ts","../node_modules/image-size/dist/index.mjs","../src/converters/media.ts","../src/converters/archive.ts","../src/types/index.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,"// lib/types/utils.ts\nvar decoder = new TextDecoder();\nvar toUTF8String = (input, start = 0, end = input.length) => decoder.decode(input.slice(start, end));\nvar toHexString = (input, start = 0, end = input.length) => input.slice(start, end).reduce((memo, i) => memo + `0${i.toString(16)}`.slice(-2), \"\");\nvar getView = (input, offset) => new DataView(input.buffer, input.byteOffset + offset);\nvar readInt16LE = (input, offset = 0) => getView(input, offset).getInt16(0, true);\nvar readUInt16BE = (input, offset = 0) => getView(input, offset).getUint16(0, false);\nvar readUInt16LE = (input, offset = 0) => getView(input, offset).getUint16(0, true);\nvar readUInt24LE = (input, offset = 0) => {\n  const view = getView(input, offset);\n  return view.getUint16(0, true) + (view.getUint8(2) << 16);\n};\nvar readInt32LE = (input, offset = 0) => getView(input, offset).getInt32(0, true);\nvar readUInt32BE = (input, offset = 0) => getView(input, offset).getUint32(0, false);\nvar readUInt32LE = (input, offset = 0) => getView(input, offset).getUint32(0, true);\nvar readUInt64 = (input, offset, isBigEndian) => getView(input, offset).getBigUint64(0, !isBigEndian);\nvar methods = {\n  readUInt16BE,\n  readUInt16LE,\n  readUInt32BE,\n  readUInt32LE\n};\nfunction readUInt(input, bits, offset = 0, isBigEndian = false) {\n  const endian = isBigEndian ? \"BE\" : \"LE\";\n  const methodName = `readUInt${bits}${endian}`;\n  return methods[methodName](input, offset);\n}\nfunction readBox(input, offset) {\n  if (input.length - offset < 4) return;\n  const boxSize = readUInt32BE(input, offset);\n  if (input.length - offset < boxSize) return;\n  return {\n    name: toUTF8String(input, 4 + offset, 8 + offset),\n    offset,\n    size: boxSize\n  };\n}\nfunction findBox(input, boxName, currentOffset) {\n  while (currentOffset < input.length) {\n    const box = readBox(input, currentOffset);\n    if (!box) break;\n    if (box.name === boxName) return box;\n    currentOffset += box.size > 0 ? box.size : 8;\n  }\n}\n\n// lib/types/bmp.ts\nvar BMP = {\n  validate: (input) => toUTF8String(input, 0, 2) === \"BM\",\n  calculate: (input) => ({\n    height: Math.abs(readInt32LE(input, 22)),\n    width: readUInt32LE(input, 18)\n  })\n};\n\n// lib/types/ico.ts\nvar TYPE_ICON = 1;\nvar SIZE_HEADER = 2 + 2 + 2;\nvar SIZE_IMAGE_ENTRY = 1 + 1 + 1 + 1 + 2 + 2 + 4 + 4;\nfunction getSizeFromOffset(input, offset) {\n  const value = input[offset];\n  return value === 0 ? 256 : value;\n}\nfunction getImageSize(input, imageIndex) {\n  const offset = SIZE_HEADER + imageIndex * SIZE_IMAGE_ENTRY;\n  return {\n    height: getSizeFromOffset(input, offset + 1),\n    width: getSizeFromOffset(input, offset)\n  };\n}\nvar ICO = {\n  validate(input) {\n    const reserved = readUInt16LE(input, 0);\n    const imageCount = readUInt16LE(input, 4);\n    if (reserved !== 0 || imageCount === 0) return false;\n    const imageType = readUInt16LE(input, 2);\n    return imageType === TYPE_ICON;\n  },\n  calculate(input) {\n    const nbImages = readUInt16LE(input, 4);\n    const imageSize2 = getImageSize(input, 0);\n    if (nbImages === 1) return imageSize2;\n    const images = [];\n    for (let imageIndex = 0; imageIndex < nbImages; imageIndex += 1) {\n      images.push(getImageSize(input, imageIndex));\n    }\n    return {\n      width: imageSize2.width,\n      height: imageSize2.height,\n      images\n    };\n  }\n};\n\n// lib/types/cur.ts\nvar TYPE_CURSOR = 2;\nvar CUR = {\n  validate(input) {\n    const reserved = readUInt16LE(input, 0);\n    const imageCount = readUInt16LE(input, 4);\n    if (reserved !== 0 || imageCount === 0) return false;\n    const imageType = readUInt16LE(input, 2);\n    return imageType === TYPE_CURSOR;\n  },\n  calculate: (input) => ICO.calculate(input)\n};\n\n// lib/types/dds.ts\nvar DDS = {\n  validate: (input) => readUInt32LE(input, 0) === 542327876,\n  calculate: (input) => ({\n    height: readUInt32LE(input, 12),\n    width: readUInt32LE(input, 16)\n  })\n};\n\n// lib/types/gif.ts\nvar gifRegexp = /^GIF8[79]a/;\nvar GIF = {\n  validate: (input) => gifRegexp.test(toUTF8String(input, 0, 6)),\n  calculate: (input) => ({\n    height: readUInt16LE(input, 8),\n    width: readUInt16LE(input, 6)\n  })\n};\n\n// lib/types/heif.ts\nvar brandMap = {\n  avif: \"avif\",\n  mif1: \"heif\",\n  msf1: \"heif\",\n  // heif-sequence\n  heic: \"heic\",\n  heix: \"heic\",\n  hevc: \"heic\",\n  // heic-sequence\n  hevx: \"heic\"\n  // heic-sequence\n};\nvar HEIF = {\n  validate(input) {\n    const boxType = toUTF8String(input, 4, 8);\n    if (boxType !== \"ftyp\") return false;\n    const ftypBox = findBox(input, \"ftyp\", 0);\n    if (!ftypBox) return false;\n    const brand = toUTF8String(input, ftypBox.offset + 8, ftypBox.offset + 12);\n    return brand in brandMap;\n  },\n  calculate(input) {\n    const metaBox = findBox(input, \"meta\", 0);\n    const iprpBox = metaBox && findBox(input, \"iprp\", metaBox.offset + 12);\n    const ipcoBox = iprpBox && findBox(input, \"ipco\", iprpBox.offset + 8);\n    if (!ipcoBox) {\n      throw new TypeError(\"Invalid HEIF, no ipco box found\");\n    }\n    const type = toUTF8String(input, 8, 12);\n    const images = [];\n    let currentOffset = ipcoBox.offset + 8;\n    while (currentOffset < ipcoBox.offset + ipcoBox.size) {\n      const ispeBox = findBox(input, \"ispe\", currentOffset);\n      if (!ispeBox) break;\n      const rawWidth = readUInt32BE(input, ispeBox.offset + 12);\n      const rawHeight = readUInt32BE(input, ispeBox.offset + 16);\n      const clapBox = findBox(input, \"clap\", currentOffset);\n      let width = rawWidth;\n      let height = rawHeight;\n      if (clapBox && clapBox.offset < ipcoBox.offset + ipcoBox.size) {\n        const cropRight = readUInt32BE(input, clapBox.offset + 12);\n        width = rawWidth - cropRight;\n      }\n      images.push({ height, width });\n      currentOffset = ispeBox.offset + ispeBox.size;\n    }\n    if (images.length === 0) {\n      throw new TypeError(\"Invalid HEIF, no sizes found\");\n    }\n    return {\n      width: images[0].width,\n      height: images[0].height,\n      type,\n      ...images.length > 1 ? { images } : {}\n    };\n  }\n};\n\n// lib/types/icns.ts\nvar SIZE_HEADER2 = 4 + 4;\nvar FILE_LENGTH_OFFSET = 4;\nvar ENTRY_LENGTH_OFFSET = 4;\nvar ICON_TYPE_SIZE = {\n  ICON: 32,\n  \"ICN#\": 32,\n  // m => 16 x 16\n  \"icm#\": 16,\n  icm4: 16,\n  icm8: 16,\n  // s => 16 x 16\n  \"ics#\": 16,\n  ics4: 16,\n  ics8: 16,\n  is32: 16,\n  s8mk: 16,\n  icp4: 16,\n  // l => 32 x 32\n  icl4: 32,\n  icl8: 32,\n  il32: 32,\n  l8mk: 32,\n  icp5: 32,\n  ic11: 32,\n  // h => 48 x 48\n  ich4: 48,\n  ich8: 48,\n  ih32: 48,\n  h8mk: 48,\n  // . => 64 x 64\n  icp6: 64,\n  ic12: 32,\n  // t => 128 x 128\n  it32: 128,\n  t8mk: 128,\n  ic07: 128,\n  // . => 256 x 256\n  ic08: 256,\n  ic13: 256,\n  // . => 512 x 512\n  ic09: 512,\n  ic14: 512,\n  // . => 1024 x 1024\n  ic10: 1024\n};\nfunction readImageHeader(input, imageOffset) {\n  const imageLengthOffset = imageOffset + ENTRY_LENGTH_OFFSET;\n  return [\n    toUTF8String(input, imageOffset, imageLengthOffset),\n    readUInt32BE(input, imageLengthOffset)\n  ];\n}\nfunction getImageSize2(type) {\n  const size = ICON_TYPE_SIZE[type];\n  return { width: size, height: size, type };\n}\nvar ICNS = {\n  validate: (input) => toUTF8String(input, 0, 4) === \"icns\",\n  calculate(input) {\n    const inputLength = input.length;\n    const fileLength = readUInt32BE(input, FILE_LENGTH_OFFSET);\n    let imageOffset = SIZE_HEADER2;\n    const images = [];\n    while (imageOffset < fileLength && imageOffset < inputLength) {\n      const imageHeader = readImageHeader(input, imageOffset);\n      const imageSize2 = getImageSize2(imageHeader[0]);\n      images.push(imageSize2);\n      imageOffset += imageHeader[1];\n    }\n    if (images.length === 0) {\n      throw new TypeError(\"Invalid ICNS, no sizes found\");\n    }\n    return {\n      width: images[0].width,\n      height: images[0].height,\n      ...images.length > 1 ? { images } : {}\n    };\n  }\n};\n\n// lib/types/j2c.ts\nvar J2C = {\n  // TODO: this doesn't seem right. SIZ marker doesn't have to be right after the SOC\n  validate: (input) => readUInt32BE(input, 0) === 4283432785,\n  calculate: (input) => ({\n    height: readUInt32BE(input, 12),\n    width: readUInt32BE(input, 8)\n  })\n};\n\n// lib/types/jp2.ts\nvar JP2 = {\n  validate(input) {\n    const boxType = toUTF8String(input, 4, 8);\n    if (boxType !== \"jP  \") return false;\n    const ftypBox = findBox(input, \"ftyp\", 0);\n    if (!ftypBox) return false;\n    const brand = toUTF8String(input, ftypBox.offset + 8, ftypBox.offset + 12);\n    return brand === \"jp2 \";\n  },\n  calculate(input) {\n    const jp2hBox = findBox(input, \"jp2h\", 0);\n    const ihdrBox = jp2hBox && findBox(input, \"ihdr\", jp2hBox.offset + 8);\n    if (ihdrBox) {\n      return {\n        height: readUInt32BE(input, ihdrBox.offset + 8),\n        width: readUInt32BE(input, ihdrBox.offset + 12)\n      };\n    }\n    throw new TypeError(\"Unsupported JPEG 2000 format\");\n  }\n};\n\n// lib/types/jpg.ts\nvar EXIF_MARKER = \"45786966\";\nvar APP1_DATA_SIZE_BYTES = 2;\nvar EXIF_HEADER_BYTES = 6;\nvar TIFF_BYTE_ALIGN_BYTES = 2;\nvar BIG_ENDIAN_BYTE_ALIGN = \"4d4d\";\nvar LITTLE_ENDIAN_BYTE_ALIGN = \"4949\";\nvar IDF_ENTRY_BYTES = 12;\nvar NUM_DIRECTORY_ENTRIES_BYTES = 2;\nfunction isEXIF(input) {\n  return toHexString(input, 2, 6) === EXIF_MARKER;\n}\nfunction extractSize(input, index) {\n  return {\n    height: readUInt16BE(input, index),\n    width: readUInt16BE(input, index + 2)\n  };\n}\nfunction extractOrientation(exifBlock, isBigEndian) {\n  const idfOffset = 8;\n  const offset = EXIF_HEADER_BYTES + idfOffset;\n  const idfDirectoryEntries = readUInt(exifBlock, 16, offset, isBigEndian);\n  for (let directoryEntryNumber = 0; directoryEntryNumber < idfDirectoryEntries; directoryEntryNumber++) {\n    const start = offset + NUM_DIRECTORY_ENTRIES_BYTES + directoryEntryNumber * IDF_ENTRY_BYTES;\n    const end = start + IDF_ENTRY_BYTES;\n    if (start > exifBlock.length) {\n      return;\n    }\n    const block = exifBlock.slice(start, end);\n    const tagNumber = readUInt(block, 16, 0, isBigEndian);\n    if (tagNumber === 274) {\n      const dataFormat = readUInt(block, 16, 2, isBigEndian);\n      if (dataFormat !== 3) {\n        return;\n      }\n      const numberOfComponents = readUInt(block, 32, 4, isBigEndian);\n      if (numberOfComponents !== 1) {\n        return;\n      }\n      return readUInt(block, 16, 8, isBigEndian);\n    }\n  }\n}\nfunction validateExifBlock(input, index) {\n  const exifBlock = input.slice(APP1_DATA_SIZE_BYTES, index);\n  const byteAlign = toHexString(\n    exifBlock,\n    EXIF_HEADER_BYTES,\n    EXIF_HEADER_BYTES + TIFF_BYTE_ALIGN_BYTES\n  );\n  const isBigEndian = byteAlign === BIG_ENDIAN_BYTE_ALIGN;\n  const isLittleEndian = byteAlign === LITTLE_ENDIAN_BYTE_ALIGN;\n  if (isBigEndian || isLittleEndian) {\n    return extractOrientation(exifBlock, isBigEndian);\n  }\n}\nfunction validateInput(input, index) {\n  if (index > input.length) {\n    throw new TypeError(\"Corrupt JPG, exceeded buffer limits\");\n  }\n}\nvar JPG = {\n  validate: (input) => toHexString(input, 0, 2) === \"ffd8\",\n  calculate(_input) {\n    let input = _input.slice(4);\n    let orientation;\n    let next;\n    while (input.length) {\n      const i = readUInt16BE(input, 0);\n      validateInput(input, i);\n      if (input[i] !== 255) {\n        input = input.slice(1);\n        continue;\n      }\n      if (isEXIF(input)) {\n        orientation = validateExifBlock(input, i);\n      }\n      next = input[i + 1];\n      if (next === 192 || next === 193 || next === 194) {\n        const size = extractSize(input, i + 5);\n        if (!orientation) {\n          return size;\n        }\n        return {\n          height: size.height,\n          orientation,\n          width: size.width\n        };\n      }\n      input = input.slice(i + 2);\n    }\n    throw new TypeError(\"Invalid JPG, no size found\");\n  }\n};\n\n// lib/utils/bit-reader.ts\nvar BitReader = class {\n  constructor(input, endianness) {\n    this.input = input;\n    this.endianness = endianness;\n    // Skip the first 16 bits (2 bytes) of signature\n    this.byteOffset = 2;\n    this.bitOffset = 0;\n  }\n  /** Reads a specified number of bits, and move the offset */\n  getBits(length = 1) {\n    let result = 0;\n    let bitsRead = 0;\n    while (bitsRead < length) {\n      if (this.byteOffset >= this.input.length) {\n        throw new Error(\"Reached end of input\");\n      }\n      const currentByte = this.input[this.byteOffset];\n      const bitsLeft = 8 - this.bitOffset;\n      const bitsToRead = Math.min(length - bitsRead, bitsLeft);\n      if (this.endianness === \"little-endian\") {\n        const mask = (1 << bitsToRead) - 1;\n        const bits = currentByte >> this.bitOffset & mask;\n        result |= bits << bitsRead;\n      } else {\n        const mask = (1 << bitsToRead) - 1 << 8 - this.bitOffset - bitsToRead;\n        const bits = (currentByte & mask) >> 8 - this.bitOffset - bitsToRead;\n        result = result << bitsToRead | bits;\n      }\n      bitsRead += bitsToRead;\n      this.bitOffset += bitsToRead;\n      if (this.bitOffset === 8) {\n        this.byteOffset++;\n        this.bitOffset = 0;\n      }\n    }\n    return result;\n  }\n};\n\n// lib/types/jxl-stream.ts\nfunction calculateImageDimension(reader, isSmallImage) {\n  if (isSmallImage) {\n    return 8 * (1 + reader.getBits(5));\n  }\n  const sizeClass = reader.getBits(2);\n  const extraBits = [9, 13, 18, 30][sizeClass];\n  return 1 + reader.getBits(extraBits);\n}\nfunction calculateImageWidth(reader, isSmallImage, widthMode, height) {\n  if (isSmallImage && widthMode === 0) {\n    return 8 * (1 + reader.getBits(5));\n  }\n  if (widthMode === 0) {\n    return calculateImageDimension(reader, false);\n  }\n  const aspectRatios = [1, 1.2, 4 / 3, 1.5, 16 / 9, 5 / 4, 2];\n  return Math.floor(height * aspectRatios[widthMode - 1]);\n}\nvar JXLStream = {\n  validate: (input) => {\n    return toHexString(input, 0, 2) === \"ff0a\";\n  },\n  calculate(input) {\n    const reader = new BitReader(input, \"little-endian\");\n    const isSmallImage = reader.getBits(1) === 1;\n    const height = calculateImageDimension(reader, isSmallImage);\n    const widthMode = reader.getBits(3);\n    const width = calculateImageWidth(reader, isSmallImage, widthMode, height);\n    return { width, height };\n  }\n};\n\n// lib/types/jxl.ts\nfunction extractCodestream(input) {\n  const jxlcBox = findBox(input, \"jxlc\", 0);\n  if (jxlcBox) {\n    return input.slice(jxlcBox.offset + 8, jxlcBox.offset + jxlcBox.size);\n  }\n  const partialStreams = extractPartialStreams(input);\n  if (partialStreams.length > 0) {\n    return concatenateCodestreams(partialStreams);\n  }\n  return void 0;\n}\nfunction extractPartialStreams(input) {\n  const partialStreams = [];\n  let offset = 0;\n  while (offset < input.length) {\n    const jxlpBox = findBox(input, \"jxlp\", offset);\n    if (!jxlpBox) break;\n    partialStreams.push(\n      input.slice(jxlpBox.offset + 12, jxlpBox.offset + jxlpBox.size)\n    );\n    offset = jxlpBox.offset + jxlpBox.size;\n  }\n  return partialStreams;\n}\nfunction concatenateCodestreams(partialCodestreams) {\n  const totalLength = partialCodestreams.reduce(\n    (acc, curr) => acc + curr.length,\n    0\n  );\n  const codestream = new Uint8Array(totalLength);\n  let position = 0;\n  for (const partial of partialCodestreams) {\n    codestream.set(partial, position);\n    position += partial.length;\n  }\n  return codestream;\n}\nvar JXL = {\n  validate: (input) => {\n    const boxType = toUTF8String(input, 4, 8);\n    if (boxType !== \"JXL \") return false;\n    const ftypBox = findBox(input, \"ftyp\", 0);\n    if (!ftypBox) return false;\n    const brand = toUTF8String(input, ftypBox.offset + 8, ftypBox.offset + 12);\n    return brand === \"jxl \";\n  },\n  calculate(input) {\n    const codestream = extractCodestream(input);\n    if (codestream) return JXLStream.calculate(codestream);\n    throw new Error(\"No codestream found in JXL container\");\n  }\n};\n\n// lib/types/ktx.ts\nvar KTX = {\n  validate: (input) => {\n    const signature = toUTF8String(input, 1, 7);\n    return [\"KTX 11\", \"KTX 20\"].includes(signature);\n  },\n  calculate: (input) => {\n    const type = input[5] === 49 ? \"ktx\" : \"ktx2\";\n    const offset = type === \"ktx\" ? 36 : 20;\n    return {\n      height: readUInt32LE(input, offset + 4),\n      width: readUInt32LE(input, offset),\n      type\n    };\n  }\n};\n\n// lib/types/png.ts\nvar pngSignature = \"PNG\\r\\n\u001a\\n\";\nvar pngImageHeaderChunkName = \"IHDR\";\nvar pngFriedChunkName = \"CgBI\";\nvar PNG = {\n  validate(input) {\n    if (pngSignature === toUTF8String(input, 1, 8)) {\n      let chunkName = toUTF8String(input, 12, 16);\n      if (chunkName === pngFriedChunkName) {\n        chunkName = toUTF8String(input, 28, 32);\n      }\n      if (chunkName !== pngImageHeaderChunkName) {\n        throw new TypeError(\"Invalid PNG\");\n      }\n      return true;\n    }\n    return false;\n  },\n  calculate(input) {\n    if (toUTF8String(input, 12, 16) === pngFriedChunkName) {\n      return {\n        height: readUInt32BE(input, 36),\n        width: readUInt32BE(input, 32)\n      };\n    }\n    return {\n      height: readUInt32BE(input, 20),\n      width: readUInt32BE(input, 16)\n    };\n  }\n};\n\n// lib/types/pnm.ts\nvar PNMTypes = {\n  P1: \"pbm/ascii\",\n  P2: \"pgm/ascii\",\n  P3: \"ppm/ascii\",\n  P4: \"pbm\",\n  P5: \"pgm\",\n  P6: \"ppm\",\n  P7: \"pam\",\n  PF: \"pfm\"\n};\nvar handlers = {\n  default: (lines) => {\n    let dimensions = [];\n    while (lines.length > 0) {\n      const line = lines.shift();\n      if (line[0] === \"#\") {\n        continue;\n      }\n      dimensions = line.split(\" \");\n      break;\n    }\n    if (dimensions.length === 2) {\n      return {\n        height: Number.parseInt(dimensions[1], 10),\n        width: Number.parseInt(dimensions[0], 10)\n      };\n    }\n    throw new TypeError(\"Invalid PNM\");\n  },\n  pam: (lines) => {\n    const size = {};\n    while (lines.length > 0) {\n      const line = lines.shift();\n      if (line.length > 16 || line.charCodeAt(0) > 128) {\n        continue;\n      }\n      const [key, value] = line.split(\" \");\n      if (key && value) {\n        size[key.toLowerCase()] = Number.parseInt(value, 10);\n      }\n      if (size.height && size.width) {\n        break;\n      }\n    }\n    if (size.height && size.width) {\n      return {\n        height: size.height,\n        width: size.width\n      };\n    }\n    throw new TypeError(\"Invalid PAM\");\n  }\n};\nvar PNM = {\n  validate: (input) => toUTF8String(input, 0, 2) in PNMTypes,\n  calculate(input) {\n    const signature = toUTF8String(input, 0, 2);\n    const type = PNMTypes[signature];\n    const lines = toUTF8String(input, 3).split(/[\\r\\n]+/);\n    const handler = handlers[type] || handlers.default;\n    return handler(lines);\n  }\n};\n\n// lib/types/psd.ts\nvar PSD = {\n  validate: (input) => toUTF8String(input, 0, 4) === \"8BPS\",\n  calculate: (input) => ({\n    height: readUInt32BE(input, 14),\n    width: readUInt32BE(input, 18)\n  })\n};\n\n// lib/types/svg.ts\nvar svgReg = /<svg\\s([^>\"']|\"[^\"]*\"|'[^']*')*>/;\nvar extractorRegExps = {\n  height: /\\sheight=(['\"])([^%]+?)\\1/,\n  root: svgReg,\n  viewbox: /\\sviewBox=(['\"])(.+?)\\1/i,\n  width: /\\swidth=(['\"])([^%]+?)\\1/\n};\nvar INCH_CM = 2.54;\nvar units = {\n  in: 96,\n  cm: 96 / INCH_CM,\n  em: 16,\n  ex: 8,\n  m: 96 / INCH_CM * 100,\n  mm: 96 / INCH_CM / 10,\n  pc: 96 / 72 / 12,\n  pt: 96 / 72,\n  px: 1\n};\nvar unitsReg = new RegExp(\n  `^([0-9.]+(?:e\\\\d+)?)(${Object.keys(units).join(\"|\")})?$`\n);\nfunction parseLength(len) {\n  const m = unitsReg.exec(len);\n  if (!m) {\n    return void 0;\n  }\n  return Math.round(Number(m[1]) * (units[m[2]] || 1));\n}\nfunction parseViewbox(viewbox) {\n  const bounds = viewbox.split(\" \");\n  return {\n    height: parseLength(bounds[3]),\n    width: parseLength(bounds[2])\n  };\n}\nfunction parseAttributes(root) {\n  const width = root.match(extractorRegExps.width);\n  const height = root.match(extractorRegExps.height);\n  const viewbox = root.match(extractorRegExps.viewbox);\n  return {\n    height: height && parseLength(height[2]),\n    viewbox: viewbox && parseViewbox(viewbox[2]),\n    width: width && parseLength(width[2])\n  };\n}\nfunction calculateByDimensions(attrs) {\n  return {\n    height: attrs.height,\n    width: attrs.width\n  };\n}\nfunction calculateByViewbox(attrs, viewbox) {\n  const ratio = viewbox.width / viewbox.height;\n  if (attrs.width) {\n    return {\n      height: Math.floor(attrs.width / ratio),\n      width: attrs.width\n    };\n  }\n  if (attrs.height) {\n    return {\n      height: attrs.height,\n      width: Math.floor(attrs.height * ratio)\n    };\n  }\n  return {\n    height: viewbox.height,\n    width: viewbox.width\n  };\n}\nvar SVG = {\n  // Scan only the first kilo-byte to speed up the check on larger files\n  validate: (input) => svgReg.test(toUTF8String(input, 0, 1e3)),\n  calculate(input) {\n    const root = toUTF8String(input).match(extractorRegExps.root);\n    if (root) {\n      const attrs = parseAttributes(root[0]);\n      if (attrs.width && attrs.height) {\n        return calculateByDimensions(attrs);\n      }\n      if (attrs.viewbox) {\n        return calculateByViewbox(attrs, attrs.viewbox);\n      }\n    }\n    throw new TypeError(\"Invalid SVG\");\n  }\n};\n\n// lib/types/tga.ts\nvar TGA = {\n  validate(input) {\n    return readUInt16LE(input, 0) === 0 && readUInt16LE(input, 4) === 0;\n  },\n  calculate(input) {\n    return {\n      height: readUInt16LE(input, 14),\n      width: readUInt16LE(input, 12)\n    };\n  }\n};\n\n// lib/types/tiff.ts\nvar CONSTANTS = {\n  TAG: {\n    WIDTH: 256,\n    HEIGHT: 257,\n    COMPRESSION: 259\n  },\n  TYPE: {\n    SHORT: 3,\n    LONG: 4,\n    LONG8: 16\n  },\n  ENTRY_SIZE: {\n    STANDARD: 12,\n    BIG: 20\n  },\n  COUNT_SIZE: {\n    STANDARD: 2,\n    BIG: 8\n  }\n};\nfunction readIFD(input, { isBigEndian, isBigTiff }) {\n  const ifdOffset = isBigTiff ? Number(readUInt64(input, 8, isBigEndian)) : readUInt(input, 32, 4, isBigEndian);\n  const entryCountSize = isBigTiff ? CONSTANTS.COUNT_SIZE.BIG : CONSTANTS.COUNT_SIZE.STANDARD;\n  return input.slice(ifdOffset + entryCountSize);\n}\nfunction readTagValue(input, type, offset, isBigEndian) {\n  switch (type) {\n    case CONSTANTS.TYPE.SHORT:\n      return readUInt(input, 16, offset, isBigEndian);\n    case CONSTANTS.TYPE.LONG:\n      return readUInt(input, 32, offset, isBigEndian);\n    case CONSTANTS.TYPE.LONG8: {\n      const value = Number(readUInt64(input, offset, isBigEndian));\n      if (value > Number.MAX_SAFE_INTEGER) {\n        throw new TypeError(\"Value too large\");\n      }\n      return value;\n    }\n    default:\n      return 0;\n  }\n}\nfunction nextTag(input, isBigTiff) {\n  const entrySize = isBigTiff ? CONSTANTS.ENTRY_SIZE.BIG : CONSTANTS.ENTRY_SIZE.STANDARD;\n  if (input.length > entrySize) {\n    return input.slice(entrySize);\n  }\n}\nfunction extractTags(input, { isBigEndian, isBigTiff }) {\n  const tags = {};\n  let temp = input;\n  while (temp?.length) {\n    const code = readUInt(temp, 16, 0, isBigEndian);\n    const type = readUInt(temp, 16, 2, isBigEndian);\n    const length = isBigTiff ? Number(readUInt64(temp, 4, isBigEndian)) : readUInt(temp, 32, 4, isBigEndian);\n    if (code === 0) break;\n    if (length === 1 && (type === CONSTANTS.TYPE.SHORT || type === CONSTANTS.TYPE.LONG || isBigTiff && type === CONSTANTS.TYPE.LONG8)) {\n      const valueOffset = isBigTiff ? 12 : 8;\n      tags[code] = readTagValue(temp, type, valueOffset, isBigEndian);\n    }\n    temp = nextTag(temp, isBigTiff);\n  }\n  return tags;\n}\nfunction determineFormat(input) {\n  const signature = toUTF8String(input, 0, 2);\n  const version = readUInt(input, 16, 2, signature === \"MM\");\n  return {\n    isBigEndian: signature === \"MM\",\n    isBigTiff: version === 43\n  };\n}\nfunction validateBigTIFFHeader(input, isBigEndian) {\n  const byteSize = readUInt(input, 16, 4, isBigEndian);\n  const reserved = readUInt(input, 16, 6, isBigEndian);\n  if (byteSize !== 8 || reserved !== 0) {\n    throw new TypeError(\"Invalid BigTIFF header\");\n  }\n}\nvar signatures = /* @__PURE__ */ new Set([\n  \"49492a00\",\n  // Little Endian\n  \"4d4d002a\",\n  // Big Endian\n  \"49492b00\",\n  // BigTIFF Little Endian\n  \"4d4d002b\"\n  // BigTIFF Big Endian\n]);\nvar TIFF = {\n  validate: (input) => {\n    const signature = toHexString(input, 0, 4);\n    return signatures.has(signature);\n  },\n  calculate(input) {\n    const format = determineFormat(input);\n    if (format.isBigTiff) {\n      validateBigTIFFHeader(input, format.isBigEndian);\n    }\n    const ifdBuffer = readIFD(input, format);\n    const tags = extractTags(ifdBuffer, format);\n    const info = {\n      height: tags[CONSTANTS.TAG.HEIGHT],\n      width: tags[CONSTANTS.TAG.WIDTH],\n      type: format.isBigTiff ? \"bigtiff\" : \"tiff\"\n    };\n    if (tags[CONSTANTS.TAG.COMPRESSION]) {\n      info.compression = tags[CONSTANTS.TAG.COMPRESSION];\n    }\n    if (!info.width || !info.height) {\n      throw new TypeError(\"Invalid Tiff. Missing tags\");\n    }\n    return info;\n  }\n};\n\n// lib/types/webp.ts\nfunction calculateExtended(input) {\n  return {\n    height: 1 + readUInt24LE(input, 7),\n    width: 1 + readUInt24LE(input, 4)\n  };\n}\nfunction calculateLossless(input) {\n  return {\n    height: 1 + ((input[4] & 15) << 10 | input[3] << 2 | (input[2] & 192) >> 6),\n    width: 1 + ((input[2] & 63) << 8 | input[1])\n  };\n}\nfunction calculateLossy(input) {\n  return {\n    height: readInt16LE(input, 8) & 16383,\n    width: readInt16LE(input, 6) & 16383\n  };\n}\nvar WEBP = {\n  validate(input) {\n    const riffHeader = \"RIFF\" === toUTF8String(input, 0, 4);\n    const webpHeader = \"WEBP\" === toUTF8String(input, 8, 12);\n    const vp8Header = \"VP8\" === toUTF8String(input, 12, 15);\n    return riffHeader && webpHeader && vp8Header;\n  },\n  calculate(_input) {\n    const chunkHeader = toUTF8String(_input, 12, 16);\n    const input = _input.slice(20, 30);\n    if (chunkHeader === \"VP8X\") {\n      const extendedHeader = input[0];\n      const validStart = (extendedHeader & 192) === 0;\n      const validEnd = (extendedHeader & 1) === 0;\n      if (validStart && validEnd) {\n        return calculateExtended(input);\n      }\n      throw new TypeError(\"Invalid WebP\");\n    }\n    if (chunkHeader === \"VP8 \" && input[0] !== 47) {\n      return calculateLossy(input);\n    }\n    const signature = toHexString(input, 3, 6);\n    if (chunkHeader === \"VP8L\" && signature !== \"9d012a\") {\n      return calculateLossless(input);\n    }\n    throw new TypeError(\"Invalid WebP\");\n  }\n};\n\n// lib/types/index.ts\nvar typeHandlers = /* @__PURE__ */ new Map([\n  [\"bmp\", BMP],\n  [\"cur\", CUR],\n  [\"dds\", DDS],\n  [\"gif\", GIF],\n  [\"heif\", HEIF],\n  [\"icns\", ICNS],\n  [\"ico\", ICO],\n  [\"j2c\", J2C],\n  [\"jp2\", JP2],\n  [\"jpg\", JPG],\n  [\"jxl\", JXL],\n  [\"jxl-stream\", JXLStream],\n  [\"ktx\", KTX],\n  [\"png\", PNG],\n  [\"pnm\", PNM],\n  [\"psd\", PSD],\n  [\"svg\", SVG],\n  [\"tga\", TGA],\n  [\"tiff\", TIFF],\n  [\"webp\", WEBP]\n]);\nvar types = Array.from(typeHandlers.keys());\n\n// lib/detector.ts\nvar firstBytes = /* @__PURE__ */ new Map([\n  [0, \"heif\"],\n  [56, \"psd\"],\n  [66, \"bmp\"],\n  [68, \"dds\"],\n  [71, \"gif\"],\n  [73, \"tiff\"],\n  [77, \"tiff\"],\n  [82, \"webp\"],\n  [105, \"icns\"],\n  [137, \"png\"],\n  [255, \"jpg\"]\n]);\nfunction detector(input) {\n  const byte = input[0];\n  const type = firstBytes.get(byte);\n  if (type && typeHandlers.get(type).validate(input)) {\n    return type;\n  }\n  return types.find((type2) => typeHandlers.get(type2).validate(input));\n}\n\n// lib/lookup.ts\nvar globalOptions = {\n  disabledTypes: []\n};\nfunction imageSize(input) {\n  const type = detector(input);\n  if (typeof type !== \"undefined\") {\n    if (globalOptions.disabledTypes.indexOf(type) > -1) {\n      throw new TypeError(`disabled file type: ${type}`);\n    }\n    const size = typeHandlers.get(type).calculate(input);\n    if (size !== void 0) {\n      size.type = size.type ?? type;\n      if (size.images && size.images.length > 1) {\n        const largestImage = size.images.reduce((largest, current) => {\n          return current.width * current.height > largest.width * largest.height ? current : largest;\n        }, size.images[0]);\n        size.width = largestImage.width;\n        size.height = largestImage.height;\n      }\n      return size;\n    }\n  }\n  throw new TypeError(`unsupported file type: ${type}`);\n}\nvar disableTypes = (types2) => {\n  globalOptions.disabledTypes = types2;\n};\n\nexport { imageSize as default, disableTypes, imageSize, types };\n",null,null,null,null],"names":["lookup","extension","fromBuffer","existsSync","readFileSync","extname","load","convertToHtml","parseStringPromise","read","utils","parse","sizeOf","parseBuffer","join","writeFileSync","unlinkSync","FileExtension","isAbsolute","mkdirSync"],"mappings":"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","x_google_ignoreList":[9]}