UNPKG

taglib-wasm

Version:

TagLib-Wasm is the universal tagging library for TypeScript/JavaScript platforms: Browsers, Node.js, Deno, Bun, Cloudflare Workers, and Electron apps

42 lines (41 loc) 1.02 kB
import { decodeBext, encodeBext } from "../bwf/bext.js"; import { UnsupportedFormatError } from "../errors.js"; const BWF_FORMATS = /* @__PURE__ */ new Set(["WAV", "FLAC"]); function requireBwf(format) { if (!BWF_FORMATS.has(format)) { throw new UnsupportedFormatError(format, ["WAV", "FLAC"], { operation: "BWF metadata" }); } } function getBextData(handle) { const raw = handle.getBextData(); return raw && raw.length > 0 ? raw : void 0; } function setBextData(handle, format, data) { requireBwf(format); handle.setBextData(data); } function getBext(handle) { const raw = handle.getBextData(); return raw && raw.length > 0 ? decodeBext(raw) : void 0; } function setBext(handle, format, bext) { requireBwf(format); handle.setBextData(encodeBext(bext)); } function getIxml(handle) { return handle.getIxml(); } function setIxml(handle, format, data) { requireBwf(format); handle.setIxml(data); } export { getBext, getBextData, getIxml, setBext, setBextData, setIxml };