obsidian-dev-utils
Version:
This is the collection of useful functions that you can use for your Obsidian plugin development
170 lines (156 loc) • 8.59 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 MultipleFileComponent_exports = {};
__export(MultipleFileComponent_exports, {
MultipleFileComponent: () => MultipleFileComponent
});
module.exports = __toCommonJS(MultipleFileComponent_exports);
var import_CssClass = require('../../../CssClass.cjs');
var import_TypedTextComponent = require('./TypedTextComponent.cjs');
class MultipleFileComponent extends import_TypedTextComponent.TypedTextComponent {
/**
* Creates a new multiple file component.
*
* @param containerEl - The container element of the component.
*/
constructor(containerEl) {
super(containerEl, "file", import_CssClass.CssClass.MultipleFileComponent);
this.inputEl.multiple = true;
}
/**
* Gets the value of the component.
*
* @returns The value of the component.
*/
getValue() {
return Array.from(this.inputEl.files ?? []);
}
/**
* Converts a string to a file.
*
* @returns The file.
*/
valueFromString() {
return this.getValue();
}
/**
* Converts a file to a string.
*
* @param value - The file to convert.
* @returns The string.
*/
valueToString(value) {
return value[0]?.name ?? "";
}
}
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
MultipleFileComponent
});
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0NvbXBvbmVudHMvU2V0dGluZ0NvbXBvbmVudHMvTXVsdGlwbGVGaWxlQ29tcG9uZW50LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIENvbnRhaW5zIGEgY29tcG9uZW50IHRoYXQgZGlzcGxheXMgYW5kIGVkaXRzIG11bHRpcGxlIGZpbGVzLlxuICovXG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgLS0gV2UgbmVlZCB0byBpbXBvcnQgYGluaXRQbHVnaW5Db250ZXh0YCB0byB1c2UgaXQgaW4gdGhlIHRzZG9jcy5cbmltcG9ydCB0eXBlIHsgaW5pdFBsdWdpbkNvbnRleHQgfSBmcm9tICcuLi8uLi9QbHVnaW4vUGx1Z2luQ29udGV4dC50cyc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzIC0tIFdlIG5lZWQgdG8gaW1wb3J0IGBTZXR0aW5nRXhgIHRvIHVzZSBpdCBpbiB0aGUgdHNkb2NzLlxuaW1wb3J0IHR5cGUgeyBTZXR0aW5nRXggfSBmcm9tICcuLi8uLi9TZXR0aW5nRXgudHMnO1xuXG5pbXBvcnQgeyBDc3NDbGFzcyB9IGZyb20gJy4uLy4uLy4uL0Nzc0NsYXNzLnRzJztcbmltcG9ydCB7IFR5cGVkVGV4dENvbXBvbmVudCB9IGZyb20gJy4vVHlwZWRUZXh0Q29tcG9uZW50LnRzJztcblxuLyoqXG4gKiBBIGNvbXBvbmVudCB0aGF0IGRpc3BsYXlzIGFuZCBlZGl0cyBtdWx0aXBsZSBmaWxlcy5cbiAqXG4gKiBZb3UgY2FuIGFkZCB0aGlzIGNvbXBvbmVudCB1c2luZyB7QGxpbmsgU2V0dGluZ0V4LmFkZE11bHRpcGxlRmlsZX0uXG4gKlxuICogSW4gb3JkZXIgdG8gYWRkIHRoZSBzdHlsZXMgZm9yIHRoZSBjb21wb25lbnQsIHVzZSB7QGxpbmsgaW5pdFBsdWdpbkNvbnRleHR9IGluIHlvdXIgcGx1Z2luJ3MgYG9ubG9hZCgpYCBmdW5jdGlvbi5cbiAqXG4gKiBBbHRlcm5hdGl2ZWx5LCB5b3UgY2FuIGNvcHkgc3R5bGVzIGZyb20ge0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9tbmFvdW1vdi9vYnNpZGlhbi1kZXYtdXRpbHMvcmVsZWFzZXMvbGF0ZXN0L2Rvd25sb2FkL3N0eWxlcy5jc3N9LlxuICovXG5leHBvcnQgY2xhc3MgTXVsdGlwbGVGaWxlQ29tcG9uZW50IGV4dGVuZHMgVHlwZWRUZXh0Q29tcG9uZW50PHJlYWRvbmx5IEZpbGVbXT4ge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBtdWx0aXBsZSBmaWxlIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHBhcmFtIGNvbnRhaW5lckVsIC0gVGhlIGNvbnRhaW5lciBlbGVtZW50IG9mIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IoY29udGFpbmVyRWw6IEhUTUxFbGVtZW50KSB7XG4gICAgc3VwZXIoY29udGFpbmVyRWwsICdmaWxlJywgQ3NzQ2xhc3MuTXVsdGlwbGVGaWxlQ29tcG9uZW50KTtcbiAgICB0aGlzLmlucHV0RWwubXVsdGlwbGUgPSB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHZhbHVlIG9mIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSB2YWx1ZSBvZiB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGdldFZhbHVlKCk6IHJlYWRvbmx5IEZpbGVbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5pbnB1dEVsLmZpbGVzID8/IFtdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBhIHN0cmluZyB0byBhIGZpbGUuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBmaWxlLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHZhbHVlRnJvbVN0cmluZygpOiByZWFkb25seSBGaWxlW10ge1xuICAgIHJldHVybiB0aGlzLmdldFZhbHVlKCk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYSBmaWxlIHRvIGEgc3RyaW5nLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgZmlsZSB0byBjb252ZXJ0LlxuICAgKiBAcmV0dXJucyBUaGUgc3RyaW5nLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHZhbHVlVG9TdHJpbmcodmFsdWU6IHJlYWRvbmx5IEZpbGVbXSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHZhbHVlWzBdPy5uYW1lID8/ICcnO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdBLHNCQUF5QjtBQUN6QixnQ0FBbUM7QUFXNUIsTUFBTSw4QkFBOEIsNkNBQW9DO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTXRFLFlBQVksYUFBMEI7QUFDM0MsVUFBTSxhQUFhLFFBQVEseUJBQVMscUJBQXFCO0FBQ3pELFNBQUssUUFBUSxXQUFXO0FBQUEsRUFDMUI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPZ0IsV0FBNEI7QUFDMUMsV0FBTyxNQUFNLEtBQUssS0FBSyxRQUFRLFNBQVMsQ0FBQyxDQUFDO0FBQUEsRUFDNUM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPZ0Isa0JBQW1DO0FBQ2pELFdBQU8sS0FBSyxTQUFTO0FBQUEsRUFDdkI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFnQixjQUFjLE9BQWdDO0FBQzVELFdBQU8sTUFBTSxDQUFDLEdBQUcsUUFBUTtBQUFBLEVBQzNCO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==