obsidian-dev-utils
Version:
This is the collection of useful functions that you can use for your Obsidian plugin development
159 lines (145 loc) • 7.65 kB
JavaScript
/*
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
if you want to view the source, please visit the github repository of this plugin
*/
(function initCjs() {
const globalThisRecord = globalThis;
globalThisRecord['__name'] ??= name;
const originalRequire = require;
if (originalRequire && !originalRequire.__isPatched) {
// eslint-disable-next-line no-global-assign, no-implicit-globals -- We need to patch the `require()` function.
require = Object.assign(
(id) => requirePatched(id),
originalRequire,
{
__isPatched: true
}
);
}
const newFuncs = {
__extractDefault() {
return extractDefault;
},
process() {
const browserProcess = {
browser: true,
cwd() {
return '/';
},
env: {},
platform: 'android'
};
return browserProcess;
}
};
for (const key of Object.keys(newFuncs)) {
globalThisRecord[key] ??= newFuncs[key]?.();
}
function name(obj) {
return obj;
}
function extractDefault(module) {
return module && module.__esModule && 'default' in module ? module.default : module;
}
const OBSIDIAN_BUILT_IN_MODULE_NAMES = [
'obsidian',
'@codemirror/autocomplete',
'@codemirror/collab',
'@codemirror/commands',
'@codemirror/language',
'@codemirror/lint',
'@codemirror/search',
'@codemirror/state',
'@codemirror/text',
'@codemirror/view',
'@lezer/common',
'@lezer/lr',
'@lezer/highlight'];
const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = [
'@codemirror/closebrackets',
'@codemirror/comment',
'@codemirror/fold',
'@codemirror/gutter',
'@codemirror/highlight',
'@codemirror/history',
'@codemirror/matchbrackets',
'@codemirror/panel',
'@codemirror/rangeset',
'@codemirror/rectangular-selection',
'@codemirror/stream-parser',
'@codemirror/tooltip'];
function requirePatched(id) {
if (OBSIDIAN_BUILT_IN_MODULE_NAMES.includes(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.includes(id)) {
return originalRequire?.(id);
}
// eslint-disable-next-line @typescript-eslint/no-deprecated, @typescript-eslint/no-unnecessary-condition -- We need access to app here which might not be available yet.
if (globalThis?.app?.isMobile) {
if (id === 'process' || id === 'node:process') {
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
return globalThis.process;
}
} else {
const module = originalRequire?.(id);
if (module) {
return extractDefault(module);
}
}
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
return {};
}
})();
;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var ModalBase_exports = {};
__export(ModalBase_exports, {
ModalBase: () => ModalBase,
showModal: () => showModal
});
module.exports = __toCommonJS(ModalBase_exports);
var import_obsidian = require('obsidian');
var import_PluginContext = require('../Plugin/PluginContext.cjs');
class ModalBase extends import_obsidian.Modal {
/**
* Creates a new modal.
*
* @param options - The options.
* @param resolve - The resolve function.
* @param modalCssClass - The modal CSS class.
*/
constructor(options, resolve, modalCssClass) {
super(options.app);
this.resolve = resolve;
(0, import_PluginContext.addPluginCssClasses)(this.containerEl, modalCssClass);
if (options.cssClass) {
this.containerEl.addClass(options.cssClass);
}
}
}
async function showModal(modalCreator) {
return await new Promise((resolve) => {
const modal = modalCreator(resolve);
modal.open();
});
}
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
ModalBase,
showModal
});
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL01vZGFscy9Nb2RhbEJhc2UudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKlxuICogVGhpcyBtb2R1bGUgZXhwb3J0cyBhIGJhc2UgY2xhc3MgZm9yIGRpc3BsYXlpbmcgbW9kYWxzIGluIE9ic2lkaWFuLlxuICovXG5cbmltcG9ydCB0eXBlIHsgQXBwIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBNb2RhbCB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHR5cGUgeyBQcm9taXNlUmVzb2x2ZSB9IGZyb20gJy4uLy4uL0FzeW5jLnRzJztcblxuaW1wb3J0IHsgYWRkUGx1Z2luQ3NzQ2xhc3NlcyB9IGZyb20gJy4uL1BsdWdpbi9QbHVnaW5Db250ZXh0LnRzJztcblxuLyoqXG4gKiBCYXNlIG9wdGlvbnMgZm9yIGEgbW9kYWwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTW9kYWxPcHRpb25zQmFzZSB7XG4gIC8qKlxuICAgKiBBbiBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICBhcHA6IEFwcDtcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgdG8gYXBwbHkgdG8gdGhlIG1vZGFsLlxuICAgKi9cbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBiYXNlIGNsYXNzIGZvciBkaXNwbGF5aW5nIG1vZGFscyBpbiBPYnNpZGlhbi5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE1vZGFsQmFzZTxWYWx1ZSwgT3B0aW9ucyBleHRlbmRzIE1vZGFsT3B0aW9uc0Jhc2U+IGV4dGVuZHMgTW9kYWwge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBtb2RhbC5cbiAgICpcbiAgICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucy5cbiAgICogQHBhcmFtIHJlc29sdmUgLSBUaGUgcmVzb2x2ZSBmdW5jdGlvbi5cbiAgICogQHBhcmFtIG1vZGFsQ3NzQ2xhc3MgLSBUaGUgbW9kYWwgQ1NTIGNsYXNzLlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKG9wdGlvbnM6IE9wdGlvbnMsIHByb3RlY3RlZCByZXNvbHZlOiBQcm9taXNlUmVzb2x2ZTxWYWx1ZT4sIG1vZGFsQ3NzQ2xhc3M6IHN0cmluZykge1xuICAgIHN1cGVyKG9wdGlvbnMuYXBwKTtcbiAgICBhZGRQbHVnaW5Dc3NDbGFzc2VzKHRoaXMuY29udGFpbmVyRWwsIG1vZGFsQ3NzQ2xhc3MpO1xuICAgIGlmIChvcHRpb25zLmNzc0NsYXNzKSB7XG4gICAgICB0aGlzLmNvbnRhaW5lckVsLmFkZENsYXNzKG9wdGlvbnMuY3NzQ2xhc3MpO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIERpc3BsYXlzIGEgbW9kYWwgaW4gT2JzaWRpYW4uXG4gKlxuICogQHBhcmFtIG1vZGFsQ3JlYXRvciAtIEEgZnVuY3Rpb24gdGhhdCBjcmVhdGVzIGEgbW9kYWwuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIG1vZGFsIGlzIGNsb3NlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNob3dNb2RhbDxUPihtb2RhbENyZWF0b3I6IChyZXNvbHZlOiBQcm9taXNlUmVzb2x2ZTxUPikgPT4gTW9kYWwpOiBQcm9taXNlPFQ+IHtcbiAgcmV0dXJuIGF3YWl0IG5ldyBQcm9taXNlPFQ+KChyZXNvbHZlKSA9PiB7XG4gICAgY29uc3QgbW9kYWwgPSBtb2RhbENyZWF0b3IocmVzb2x2ZSk7XG4gICAgbW9kYWwub3BlbigpO1xuICB9KTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQSxzQkFBc0I7QUFJdEIsMkJBQW9DO0FBb0I3QixNQUFlLGtCQUEyRCxzQkFBTTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFROUUsWUFBWSxTQUE0QixTQUFnQyxlQUF1QjtBQUNwRyxVQUFNLFFBQVEsR0FBRztBQUQ0QjtBQUU3QyxrREFBb0IsS0FBSyxhQUFhLGFBQWE7QUFDbkQsUUFBSSxRQUFRLFVBQVU7QUFDcEIsV0FBSyxZQUFZLFNBQVMsUUFBUSxRQUFRO0FBQUEsSUFDNUM7QUFBQSxFQUNGO0FBQ0Y7QUFRQSxlQUFzQixVQUFhLGNBQWlFO0FBQ2xHLFNBQU8sTUFBTSxJQUFJLFFBQVcsQ0FBQyxZQUFZO0FBQ3ZDLFVBQU0sUUFBUSxhQUFhLE9BQU87QUFDbEMsVUFBTSxLQUFLO0FBQUEsRUFDYixDQUFDO0FBQ0g7IiwKICAibmFtZXMiOiBbXQp9Cg==