obsidian-dev-utils
Version:
This is the collection of useful functions that you can use for your Obsidian plugin development
162 lines (148 loc) • 9 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 TextBasedComponent_exports = {};
__export(TextBasedComponent_exports, {
getTextBasedComponentValue: () => getTextBasedComponentValue
});
module.exports = __toCommonJS(TextBasedComponent_exports);
var import_obsidian = require('obsidian');
class AbstractTextComponentWrapper {
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- `unknown` doesn't work, getting compiler errors.
constructor(abstractTextComponent) {
this.abstractTextComponent = abstractTextComponent;
}
empty() {
this.abstractTextComponent.setValue("");
}
isEmpty() {
return this.abstractTextComponent.getValue() === "";
}
setPlaceholderValue(placeholderValue) {
this.abstractTextComponent.setPlaceholder(placeholderValue);
return this;
}
}
function getTextBasedComponentValue(obj) {
if (isTextBasedComponent(obj)) {
return obj;
}
if (obj instanceof import_obsidian.AbstractTextComponent) {
return new AbstractTextComponentWrapper(obj);
}
return null;
}
function isTextBasedComponent(component) {
const textBasedComponent = component;
return typeof textBasedComponent.setPlaceholderValue === "function" && typeof textBasedComponent.isEmpty === "function";
}
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
getTextBasedComponentValue
});
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0NvbXBvbmVudHMvU2V0dGluZ0NvbXBvbmVudHMvVGV4dEJhc2VkQ29tcG9uZW50LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIFRleHQgYmFzZWQgY29tcG9uZW50IHV0aWxpdGllcy5cbiAqL1xuXG5pbXBvcnQgeyBBYnN0cmFjdFRleHRDb21wb25lbnQgfSBmcm9tICdvYnNpZGlhbic7XG5cbi8qKlxuICogQSBjb21wb25lbnQgYmFzZWQgb24gYSB0ZXh0IGlucHV0LlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFRoZSB0eXBlIG9mIHRoZSB2YWx1ZSB0byBzZXQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dEJhc2VkQ29tcG9uZW50PFQ+IHtcbiAgLyoqXG4gICAqIEVtcHRpZXMgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIGVtcHR5KCk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgY29tcG9uZW50IGlzIGVtcHR5LlxuICAgKlxuICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGNvbXBvbmVudCBpcyBlbXB0eSwgYGZhbHNlYCBvdGhlcndpc2UuXG4gICAqL1xuICBpc0VtcHR5KCk6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHBsYWNlaG9sZGVyIHZhbHVlIG9mIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBwbGFjZWhvbGRlclZhbHVlIC0gVGhlIHBsYWNlaG9sZGVyIHZhbHVlIHRvIHNldC5cbiAgICogQHJldHVybnMgVGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHNldFBsYWNlaG9sZGVyVmFsdWUocGxhY2Vob2xkZXJWYWx1ZTogVCk6IHRoaXM7XG59XG5cbmNsYXNzIEFic3RyYWN0VGV4dENvbXBvbmVudFdyYXBwZXI8VD4gaW1wbGVtZW50cyBUZXh0QmFzZWRDb21wb25lbnQ8VD4ge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAtLSBgdW5rbm93bmAgZG9lc24ndCB3b3JrLCBnZXR0aW5nIGNvbXBpbGVyIGVycm9ycy5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYWJzdHJhY3RUZXh0Q29tcG9uZW50OiBBYnN0cmFjdFRleHRDb21wb25lbnQ8YW55Pikge31cblxuICBwdWJsaWMgZW1wdHkoKTogdm9pZCB7XG4gICAgdGhpcy5hYnN0cmFjdFRleHRDb21wb25lbnQuc2V0VmFsdWUoJycpO1xuICB9XG5cbiAgcHVibGljIGlzRW1wdHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYWJzdHJhY3RUZXh0Q29tcG9uZW50LmdldFZhbHVlKCkgPT09ICcnO1xuICB9XG5cbiAgcHVibGljIHNldFBsYWNlaG9sZGVyVmFsdWUocGxhY2Vob2xkZXJWYWx1ZTogVCk6IHRoaXMge1xuICAgIHRoaXMuYWJzdHJhY3RUZXh0Q29tcG9uZW50LnNldFBsYWNlaG9sZGVyKHBsYWNlaG9sZGVyVmFsdWUgYXMgc3RyaW5nKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxufVxuXG4vKipcbiAqIEdldHMgdGhlIHRleHQgYmFzZWQgY29tcG9uZW50IHZhbHVlIG9mIHRoZSBjb21wb25lbnQuXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIHZhbHVlIHRvIGdldC5cbiAqIEBwYXJhbSBvYmogLSBBbnkgb2JqZWN0LlxuICogQHJldHVybnMgVGhlIHRleHQgYmFzZWQgY29tcG9uZW50IHZhbHVlIG9mIHRoZSBjb21wb25lbnQgb3IgYG51bGxgIGlmIHRoZSBjb21wb25lbnQgaXMgbm90IGEgdGV4dCBiYXNlZCBjb21wb25lbnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRUZXh0QmFzZWRDb21wb25lbnRWYWx1ZTxUPihvYmo6IHVua25vd24pOiBudWxsIHwgVGV4dEJhc2VkQ29tcG9uZW50PFQ+IHtcbiAgaWYgKGlzVGV4dEJhc2VkQ29tcG9uZW50KG9iaikpIHtcbiAgICByZXR1cm4gb2JqO1xuICB9XG5cbiAgaWYgKG9iaiBpbnN0YW5jZW9mIEFic3RyYWN0VGV4dENvbXBvbmVudCkge1xuICAgIHJldHVybiBuZXcgQWJzdHJhY3RUZXh0Q29tcG9uZW50V3JhcHBlcjxUPihvYmopO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIGlzVGV4dEJhc2VkQ29tcG9uZW50PFQ+KGNvbXBvbmVudDogdW5rbm93bik6IGNvbXBvbmVudCBpcyBUZXh0QmFzZWRDb21wb25lbnQ8VD4ge1xuICBjb25zdCB0ZXh0QmFzZWRDb21wb25lbnQgPSBjb21wb25lbnQgYXMgUGFydGlhbDxUZXh0QmFzZWRDb21wb25lbnQ8VD4+O1xuICByZXR1cm4gdHlwZW9mIHRleHRCYXNlZENvbXBvbmVudC5zZXRQbGFjZWhvbGRlclZhbHVlID09PSAnZnVuY3Rpb24nICYmIHR5cGVvZiB0ZXh0QmFzZWRDb21wb25lbnQuaXNFbXB0eSA9PT0gJ2Z1bmN0aW9uJztcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUEsc0JBQXNDO0FBNkJ0QyxNQUFNLDZCQUFpRTtBQUFBO0FBQUEsRUFFOUQsWUFBNkIsdUJBQW1EO0FBQW5EO0FBQUEsRUFBb0Q7QUFBQSxFQUVqRixRQUFjO0FBQ25CLFNBQUssc0JBQXNCLFNBQVMsRUFBRTtBQUFBLEVBQ3hDO0FBQUEsRUFFTyxVQUFtQjtBQUN4QixXQUFPLEtBQUssc0JBQXNCLFNBQVMsTUFBTTtBQUFBLEVBQ25EO0FBQUEsRUFFTyxvQkFBb0Isa0JBQTJCO0FBQ3BELFNBQUssc0JBQXNCLGVBQWUsZ0JBQTBCO0FBQ3BFLFdBQU87QUFBQSxFQUNUO0FBQ0Y7QUFTTyxTQUFTLDJCQUE4QixLQUE0QztBQUN4RixNQUFJLHFCQUFxQixHQUFHLEdBQUc7QUFDN0IsV0FBTztBQUFBLEVBQ1Q7QUFFQSxNQUFJLGVBQWUsdUNBQXVCO0FBQ3hDLFdBQU8sSUFBSSw2QkFBZ0MsR0FBRztBQUFBLEVBQ2hEO0FBRUEsU0FBTztBQUNUO0FBRUEsU0FBUyxxQkFBd0IsV0FBd0Q7QUFDdkYsUUFBTSxxQkFBcUI7QUFDM0IsU0FBTyxPQUFPLG1CQUFtQix3QkFBd0IsY0FBYyxPQUFPLG1CQUFtQixZQUFZO0FBQy9HOyIsCiAgIm5hbWVzIjogW10KfQo=