UNPKG

obsidian-dev-utils

Version:

This is the collection of useful functions that you can use for your Obsidian plugin development

129 lines (126 loc) 9.27 kB
/* THIS IS A GENERATED/BUNDLED FILE BY ESBUILD if you want to view the source, please visit the github repository of this plugin */ (function initEsm(){if(globalThis.process){return}const browserProcess={browser:true,cwd(){return"/"},env:{},platform:"android"};globalThis.process=browserProcess})(); class TwoWayMap { keyValueMap = /* @__PURE__ */ new Map(); valueKeyMap = /* @__PURE__ */ new Map(); /** * Creates a new two-way map. * * @param entries - Entries to initialize the map with. */ constructor(entries = []) { for (const [key, value] of entries) { this.set(key, value); } } /** * Clears the map. */ clear() { this.keyValueMap.clear(); this.valueKeyMap.clear(); } /** * Deletes a key from the map. * * @param key - The key. */ deleteKey(key) { const value = this.getValue(key); if (value !== void 0) { this.valueKeyMap.delete(value); } this.keyValueMap.delete(key); } /** * Deletes a value from the map. * * @param value - The value. */ deleteValue(value) { const key = this.getKey(value); if (key !== void 0) { this.keyValueMap.delete(key); } this.valueKeyMap.delete(value); } /** * Gets all entries in the map. * * @returns An iterator over all entries in the map. */ entries() { return this.keyValueMap.entries(); } /** * Gets a key by its value. * * @param value - The value. * @returns The key. */ getKey(value) { return this.valueKeyMap.get(value); } /** * Gets a value by its key. * * @param key - The key. * @returns The value. */ getValue(key) { return this.keyValueMap.get(key); } /** * Checks if the map has a key. * * @param key - The key. * @returns `true` if the map has the key, `false` otherwise. */ hasKey(key) { return this.keyValueMap.has(key); } /** * Checks if the map has a value. * * @param value - The value. * @returns `true` if the map has the value, `false` otherwise. */ hasValue(value) { return this.valueKeyMap.has(value); } /** * Gets all keys in the map. * * @returns An iterator over all keys in the map. */ keys() { return this.keyValueMap.keys(); } /** * Sets a key-value pair in the map. * * @param key - The key. * @param value - The value. */ set(key, value) { this.deleteKey(key); this.deleteValue(value); this.keyValueMap.set(key, value); this.valueKeyMap.set(value, key); } /** * Gets all values in the map. * * @returns An iterator over all values in the map. */ values() { return this.valueKeyMap.keys(); } } export { TwoWayMap }; //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL1R3b1dheU1hcC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqXG4gKiBUd28td2F5IG1hcC5cbiAqL1xuXG4vKipcbiAqIEEgbWFwIHRoYXQgYWxsb3dzIHlvdSB0byBsb29rIHVwIGEgdmFsdWUgYnkgaXRzIGtleSBhbmQgdmljZSB2ZXJzYS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIGNvbnN0IG1hcCA9IG5ldyBUd29XYXlNYXA8c3RyaW5nLCBudW1iZXI+KCk7XG4gKiBtYXAuc2V0KCdmb28nLCA0Mik7XG4gKiBtYXAuZ2V0VmFsdWUoJ2ZvbycpOyAvLyA0MlxuICogbWFwLmdldEtleSg0Mik7IC8vICdmb28nXG4gKiBtYXAuZGVsZXRlS2V5KCdmb28nKTtcbiAqIG1hcC5kZWxldGVWYWx1ZSg0Mik7XG4gKiBtYXAuY2xlYXIoKTtcbiAqIGBgYFxuICovXG5leHBvcnQgY2xhc3MgVHdvV2F5TWFwPEtleSwgVmFsdWU+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBrZXlWYWx1ZU1hcCA9IG5ldyBNYXA8S2V5LCBWYWx1ZT4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSB2YWx1ZUtleU1hcCA9IG5ldyBNYXA8VmFsdWUsIEtleT4oKTtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyB0d28td2F5IG1hcC5cbiAgICpcbiAgICogQHBhcmFtIGVudHJpZXMgLSBFbnRyaWVzIHRvIGluaXRpYWxpemUgdGhlIG1hcCB3aXRoLlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKGVudHJpZXM6IChyZWFkb25seSBba2V5OiBLZXksIHZhbHVlOiBWYWx1ZV0pW10gPSBbXSkge1xuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIGVudHJpZXMpIHtcbiAgICAgIHRoaXMuc2V0KGtleSwgdmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhcnMgdGhlIG1hcC5cbiAgICovXG4gIHB1YmxpYyBjbGVhcigpOiB2b2lkIHtcbiAgICB0aGlzLmtleVZhbHVlTWFwLmNsZWFyKCk7XG4gICAgdGhpcy52YWx1ZUtleU1hcC5jbGVhcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZXMgYSBrZXkgZnJvbSB0aGUgbWFwLlxuICAgKlxuICAgKiBAcGFyYW0ga2V5IC0gVGhlIGtleS5cbiAgICovXG4gIHB1YmxpYyBkZWxldGVLZXkoa2V5OiBLZXkpOiB2b2lkIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0VmFsdWUoa2V5KTtcbiAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy52YWx1ZUtleU1hcC5kZWxldGUodmFsdWUpO1xuICAgIH1cbiAgICB0aGlzLmtleVZhbHVlTWFwLmRlbGV0ZShrZXkpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZXMgYSB2YWx1ZSBmcm9tIHRoZSBtYXAuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZS5cbiAgICovXG4gIHB1YmxpYyBkZWxldGVWYWx1ZSh2YWx1ZTogVmFsdWUpOiB2b2lkIHtcbiAgICBjb25zdCBrZXkgPSB0aGlzLmdldEtleSh2YWx1ZSk7XG4gICAgaWYgKGtleSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmtleVZhbHVlTWFwLmRlbGV0ZShrZXkpO1xuICAgIH1cbiAgICB0aGlzLnZhbHVlS2V5TWFwLmRlbGV0ZSh2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBhbGwgZW50cmllcyBpbiB0aGUgbWFwLlxuICAgKlxuICAgKiBAcmV0dXJucyBBbiBpdGVyYXRvciBvdmVyIGFsbCBlbnRyaWVzIGluIHRoZSBtYXAuXG4gICAqL1xuICBwdWJsaWMgZW50cmllcygpOiBJdGVyYWJsZUl0ZXJhdG9yPHJlYWRvbmx5IFtrZXk6IEtleSwgdmFsdWU6IFZhbHVlXT4ge1xuICAgIHJldHVybiB0aGlzLmtleVZhbHVlTWFwLmVudHJpZXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGEga2V5IGJ5IGl0cyB2YWx1ZS5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlLlxuICAgKiBAcmV0dXJucyBUaGUga2V5LlxuICAgKi9cbiAgcHVibGljIGdldEtleSh2YWx1ZTogVmFsdWUpOiBLZXkgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnZhbHVlS2V5TWFwLmdldCh2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBhIHZhbHVlIGJ5IGl0cyBrZXkuXG4gICAqXG4gICAqIEBwYXJhbSBrZXkgLSBUaGUga2V5LlxuICAgKiBAcmV0dXJucyBUaGUgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgZ2V0VmFsdWUoa2V5OiBLZXkpOiB1bmRlZmluZWQgfCBWYWx1ZSB7XG4gICAgcmV0dXJuIHRoaXMua2V5VmFsdWVNYXAuZ2V0KGtleSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBtYXAgaGFzIGEga2V5LlxuICAgKlxuICAgKiBAcGFyYW0ga2V5IC0gVGhlIGtleS5cbiAgICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBtYXAgaGFzIHRoZSBrZXksIGBmYWxzZWAgb3RoZXJ3aXNlLlxuICAgKi9cbiAgcHVibGljIGhhc0tleShrZXk6IEtleSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmtleVZhbHVlTWFwLmhhcyhrZXkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgbWFwIGhhcyBhIHZhbHVlLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUuXG4gICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgbWFwIGhhcyB0aGUgdmFsdWUsIGBmYWxzZWAgb3RoZXJ3aXNlLlxuICAgKi9cbiAgcHVibGljIGhhc1ZhbHVlKHZhbHVlOiBWYWx1ZSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlS2V5TWFwLmhhcyh2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBhbGwga2V5cyBpbiB0aGUgbWFwLlxuICAgKlxuICAgKiBAcmV0dXJucyBBbiBpdGVyYXRvciBvdmVyIGFsbCBrZXlzIGluIHRoZSBtYXAuXG4gICAqL1xuICBwdWJsaWMga2V5cygpOiBJdGVyYWJsZUl0ZXJhdG9yPEtleT4ge1xuICAgIHJldHVybiB0aGlzLmtleVZhbHVlTWFwLmtleXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIGEga2V5LXZhbHVlIHBhaXIgaW4gdGhlIG1hcC5cbiAgICpcbiAgICogQHBhcmFtIGtleSAtIFRoZSBrZXkuXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZS5cbiAgICovXG4gIHB1YmxpYyBzZXQoa2V5OiBLZXksIHZhbHVlOiBWYWx1ZSk6IHZvaWQge1xuICAgIHRoaXMuZGVsZXRlS2V5KGtleSk7XG4gICAgdGhpcy5kZWxldGVWYWx1ZSh2YWx1ZSk7XG5cbiAgICB0aGlzLmtleVZhbHVlTWFwLnNldChrZXksIHZhbHVlKTtcbiAgICB0aGlzLnZhbHVlS2V5TWFwLnNldCh2YWx1ZSwga2V5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGFsbCB2YWx1ZXMgaW4gdGhlIG1hcC5cbiAgICpcbiAgICogQHJldHVybnMgQW4gaXRlcmF0b3Igb3ZlciBhbGwgdmFsdWVzIGluIHRoZSBtYXAuXG4gICAqL1xuICBwdWJsaWMgdmFsdWVzKCk6IEl0ZXJhYmxlSXRlcmF0b3I8VmFsdWU+IHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZUtleU1hcC5rZXlzKCk7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7QUFvQk8sTUFBTSxVQUFzQjtBQUFBLEVBQ2hCLGNBQWMsb0JBQUksSUFBZ0I7QUFBQSxFQUNsQyxjQUFjLG9CQUFJLElBQWdCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTzVDLFlBQVksVUFBaUQsQ0FBQyxHQUFHO0FBQ3RFLGVBQVcsQ0FBQyxLQUFLLEtBQUssS0FBSyxTQUFTO0FBQ2xDLFdBQUssSUFBSSxLQUFLLEtBQUs7QUFBQSxJQUNyQjtBQUFBLEVBQ0Y7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtPLFFBQWM7QUFDbkIsU0FBSyxZQUFZLE1BQU07QUFDdkIsU0FBSyxZQUFZLE1BQU07QUFBQSxFQUN6QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9PLFVBQVUsS0FBZ0I7QUFDL0IsVUFBTSxRQUFRLEtBQUssU0FBUyxHQUFHO0FBQy9CLFFBQUksVUFBVSxRQUFXO0FBQ3ZCLFdBQUssWUFBWSxPQUFPLEtBQUs7QUFBQSxJQUMvQjtBQUNBLFNBQUssWUFBWSxPQUFPLEdBQUc7QUFBQSxFQUM3QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9PLFlBQVksT0FBb0I7QUFDckMsVUFBTSxNQUFNLEtBQUssT0FBTyxLQUFLO0FBQzdCLFFBQUksUUFBUSxRQUFXO0FBQ3JCLFdBQUssWUFBWSxPQUFPLEdBQUc7QUFBQSxJQUM3QjtBQUNBLFNBQUssWUFBWSxPQUFPLEtBQUs7QUFBQSxFQUMvQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9PLFVBQStEO0FBQ3BFLFdBQU8sS0FBSyxZQUFZLFFBQVE7QUFBQSxFQUNsQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUU8sT0FBTyxPQUErQjtBQUMzQyxXQUFPLEtBQUssWUFBWSxJQUFJLEtBQUs7QUFBQSxFQUNuQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUU8sU0FBUyxLQUE2QjtBQUMzQyxXQUFPLEtBQUssWUFBWSxJQUFJLEdBQUc7QUFBQSxFQUNqQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUU8sT0FBTyxLQUFtQjtBQUMvQixXQUFPLEtBQUssWUFBWSxJQUFJLEdBQUc7QUFBQSxFQUNqQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUU8sU0FBUyxPQUF1QjtBQUNyQyxXQUFPLEtBQUssWUFBWSxJQUFJLEtBQUs7QUFBQSxFQUNuQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9PLE9BQThCO0FBQ25DLFdBQU8sS0FBSyxZQUFZLEtBQUs7QUFBQSxFQUMvQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUU8sSUFBSSxLQUFVLE9BQW9CO0FBQ3ZDLFNBQUssVUFBVSxHQUFHO0FBQ2xCLFNBQUssWUFBWSxLQUFLO0FBRXRCLFNBQUssWUFBWSxJQUFJLEtBQUssS0FBSztBQUMvQixTQUFLLFlBQVksSUFBSSxPQUFPLEdBQUc7QUFBQSxFQUNqQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9PLFNBQWtDO0FBQ3ZDLFdBQU8sS0FBSyxZQUFZLEtBQUs7QUFBQSxFQUMvQjtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=