import { parsePreparedOdp } from "./odp"; import { parsePreparedOds } from "./ods"; import { parsePreparedOdt } from "./odt"; import { prepareOdfPackage } from "./package"; import type { OdfDocument, OdfParseOptions } from "./types"; export { DEFAULT_ODF_LIMITS } from "./limits"; export { parseOdp } from "./odp"; export { parseOds } from "./ods"; export { parseOdt } from "./odt"; export { OdfParseError } from "./types"; export type * from "./types"; export function parseOpenDocument( input: ArrayBuffer, options: OdfParseOptions = {}, ): OdfDocument { const prepared = prepareOdfPackage(input, options); if (prepared.format === "odt") return parsePreparedOdt(prepared); if (prepared.format === "ods") return parsePreparedOds(prepared); return parsePreparedOdp(prepared); } export function collectOdfTransferables(document: OdfDocument): ArrayBuffer[] { return document.assets.map((asset) => asset.data); }