import "web-streams-polyfill/dist/polyfill.min.js"; import { TextEncoder, TextDecoder } from "util"; window.TextEncoder = TextEncoder; window.TextDecoder = TextDecoder; // Polyfill Obsidian's Node.doc / Node.win augmentation so plugin code that // reads `element.doc` / `element.win` works under jsdom. if (typeof Node !== "undefined" && !Object.prototype.hasOwnProperty.call(Node.prototype, "doc")) { Object.defineProperty(Node.prototype, "doc", { get() { return this.ownerDocument ?? window.document; }, configurable: true, }); } if (typeof Node !== "undefined" && !Object.prototype.hasOwnProperty.call(Node.prototype, "win")) { Object.defineProperty(Node.prototype, "win", { get() { return this.ownerDocument?.defaultView ?? window; }, configurable: true, }); }