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
JavaScript
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
};