UNPKG

obsidian-dev-utils

Version:

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

46 lines (43 loc) 5.13 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:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=browserProcess})(); import { throwExpression } from "../Error.mjs"; import { noop } from "../Function.mjs"; class ValueWrapper { /** * Creates a new value wrapper. * * @param value - The value to wrap. */ constructor(value) { this.value = value; noop(); } } function getApp() { try { return globalThis.require('obsidian/app'); } catch { return globalThis.app ?? throwExpression(new Error("Obsidian app not found")); } } function getObsidianDevUtilsState(app, key, defaultValue) { const holder = app ?? getAppOrNull() ?? globalThis; const sharedStateWrapper = holder; sharedStateWrapper.obsidianDevUtilsState ??= {}; return sharedStateWrapper.obsidianDevUtilsState[key] ??= new ValueWrapper(defaultValue); } function getAppOrNull() { if (typeof window === "undefined") { return null; } return getApp(); } export { ValueWrapper, getApp, getObsidianDevUtilsState }; //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0FwcC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqXG4gKiBQcm92aWRlcyBhIHV0aWxpdHkgdG8gcmV0cmlldmUgdGhlIE9ic2lkaWFuIGBBcHBgIGluc3RhbmNlLlxuICovXG5cbmltcG9ydCB0eXBlIHsgQXBwIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgdHlwZSB7IEdlbmVyaWNPYmplY3QgfSBmcm9tICcuLi9PYmplY3RVdGlscy50cyc7XG5cbmltcG9ydCB7IHRocm93RXhwcmVzc2lvbiB9IGZyb20gJy4uL0Vycm9yLnRzJztcbmltcG9ydCB7IG5vb3AgfSBmcm9tICcuLi9GdW5jdGlvbi50cyc7XG5cbi8qKlxuICogV3JhcHBlciB0eXBlIGZvciBhY2Nlc3NpbmcgdGhlIGBBcHBgIGluc3RhbmNlIGdsb2JhbGx5LlxuICovXG5pbnRlcmZhY2UgQXBwV3JhcHBlciB7XG4gIC8qKlxuICAgKiBBbiBvcHRpb25hbCByZWZlcmVuY2UgdG8gdGhlIE9ic2lkaWFuIGBBcHBgIGluc3RhbmNlLlxuICAgKi9cbiAgYXBwOiBBcHA7XG59XG5cbmludGVyZmFjZSBPYnNpZGlhbkRldlV0aWxzU3RhdGVXcmFwcGVyIHtcbiAgb2JzaWRpYW5EZXZVdGlsc1N0YXRlOiBHZW5lcmljT2JqZWN0O1xufVxuXG4vKipcbiAqIFdyYXBwZXIgdHlwZSBmb3Igc3RvcmluZyBzaGFyZWQgc3RhdGUgaW4gdGhlIE9ic2lkaWFuIGFwcC5cbiAqL1xuZXhwb3J0IGNsYXNzIFZhbHVlV3JhcHBlcjxUPiB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IHZhbHVlIHdyYXBwZXIuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byB3cmFwLlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKHB1YmxpYyB2YWx1ZTogVCkge1xuICAgIG5vb3AoKTtcbiAgfVxufVxuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgT2JzaWRpYW4gYEFwcGAgaW5zdGFuY2UuXG4gKlxuICogQHJldHVybnMgVGhlIGBBcHBgIGluc3RhbmNlLlxuICogQHRocm93cyBXaWxsIHRocm93IGFuIGVycm9yIGlmIHRoZSBgQXBwYCBpbnN0YW5jZSBjYW5ub3QgYmUgZm91bmQuXG4gKlxuICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL21uYW91bW92L29ic2lkaWFuLWNvZGVzY3JpcHQtdG9vbGtpdD90YWI9cmVhZG1lLW92LWZpbGUjb2JzaWRpYW5hcHAtbW9kdWxlfVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QXBwKCk6IEFwcCB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGdsb2JhbFRoaXMucmVxdWlyZSgnb2JzaWRpYW4vYXBwJykgYXMgQXBwO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gKGdsb2JhbFRoaXMgYXMgUGFydGlhbDxBcHBXcmFwcGVyPikuYXBwID8/IHRocm93RXhwcmVzc2lvbihuZXcgRXJyb3IoJ09ic2lkaWFuIGFwcCBub3QgZm91bmQnKSk7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgb3IgY3JlYXRlcyBhIHNoYXJlZCBzdGF0ZSB3cmFwcGVyIG9iamVjdCBmb3IgYSBnaXZlbiBrZXkgaW4gdGhlIE9ic2lkaWFuIGFwcC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBrZXkgLSBUaGUga2V5IHRvIHN0b3JlIG9yIHJldHJpZXZlIHRoZSBzaGFyZWQgc3RhdGUuXG4gKiBAcGFyYW0gZGVmYXVsdFZhbHVlIC0gVGhlIGRlZmF1bHQgdmFsdWUgdG8gdXNlIGlmIHRoZSBzaGFyZWQgc3RhdGUgZG9lcyBub3QgZXhpc3QuXG4gKiBAcmV0dXJucyBUaGUgVmFsdWVXcmFwcGVyIG9iamVjdCB0aGF0IHN0b3JlcyB0aGUgc2hhcmVkIHN0YXRlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0T2JzaWRpYW5EZXZVdGlsc1N0YXRlPFQ+KGFwcDogQXBwIHwgbnVsbCwga2V5OiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogVCk6IFZhbHVlV3JhcHBlcjxUPiB7XG4gIGNvbnN0IGhvbGRlciA9IGFwcCA/PyBnZXRBcHBPck51bGwoKSA/PyBnbG9iYWxUaGlzO1xuICBjb25zdCBzaGFyZWRTdGF0ZVdyYXBwZXIgPSBob2xkZXIgYXMgUGFydGlhbDxPYnNpZGlhbkRldlV0aWxzU3RhdGVXcmFwcGVyPjtcbiAgc2hhcmVkU3RhdGVXcmFwcGVyLm9ic2lkaWFuRGV2VXRpbHNTdGF0ZSA/Pz0ge307XG4gIHJldHVybiAoc2hhcmVkU3RhdGVXcmFwcGVyLm9ic2lkaWFuRGV2VXRpbHNTdGF0ZVtrZXldID8/PSBuZXcgVmFsdWVXcmFwcGVyPFQ+KGRlZmF1bHRWYWx1ZSkpIGFzIFZhbHVlV3JhcHBlcjxUPjtcbn1cblxuZnVuY3Rpb24gZ2V0QXBwT3JOdWxsKCk6IEFwcCB8IG51bGwge1xuICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBnZXRBcHAoKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7QUFVQSxTQUFTLHVCQUF1QjtBQUNoQyxTQUFTLFlBQVk7QUFtQmQsTUFBTSxhQUFnQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1wQixZQUFtQixPQUFVO0FBQVY7QUFDeEIsU0FBSztBQUFBLEVBQ1A7QUFDRjtBQVVPLFNBQVMsU0FBYztBQUM1QixNQUFJO0FBQ0YsV0FBTyxXQUFXLFFBQVEsY0FBYztBQUFBLEVBQzFDLFFBQVE7QUFDTixXQUFRLFdBQW1DLE9BQU8sZ0JBQWdCLElBQUksTUFBTSx3QkFBd0IsQ0FBQztBQUFBLEVBQ3ZHO0FBQ0Y7QUFVTyxTQUFTLHlCQUE0QixLQUFpQixLQUFhLGNBQWtDO0FBQzFHLFFBQU0sU0FBUyxPQUFPLGFBQWEsS0FBSztBQUN4QyxRQUFNLHFCQUFxQjtBQUMzQixxQkFBbUIsMEJBQTBCLENBQUM7QUFDOUMsU0FBUSxtQkFBbUIsc0JBQXNCLEdBQUcsTUFBTSxJQUFJLGFBQWdCLFlBQVk7QUFDNUY7QUFFQSxTQUFTLGVBQTJCO0FBQ2xDLE1BQUksT0FBTyxXQUFXLGFBQWE7QUFDakMsV0FBTztBQUFBLEVBQ1Q7QUFFQSxTQUFPLE9BQU87QUFDaEI7IiwKICAibmFtZXMiOiBbXQp9Cg==