// Wrap JsFormatMetadata to add getters for format-specific metadata // This works around the limitation that #[napi(getter)] doesn't work on #[napi(object)] export function wrapFormatMetadata(fmt) { if (!fmt || typeof fmt !== "object") return fmt; const tag = fmt.format_type; const payload = fmt["0"]; if (!payload) return fmt; try { const data = JSON.parse(payload); // Add the typed variant property as a non-enumerable property Object.defineProperty(fmt, tag, { value: data, enumerable: false, writable: false, configurable: false, }); } catch (e) { // Ignore JSON parse errors } return fmt; }