UNPKG

obsidian-dev-utils

Version:

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

218 lines (204 loc) 12.9 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 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 {}; } })(); "use strict"; 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 GroupTransformer_exports = {}; __export(GroupTransformer_exports, { GroupTransformer: () => GroupTransformer }); module.exports = __toCommonJS(GroupTransformer_exports); var import_Error = require('../Error.cjs'); var import_Transformer = require('./Transformer.cjs'); class GroupTransformer extends import_Transformer.Transformer { /** * Transformers to combine. * * @param transformers - The transformers to combine. */ constructor(transformers) { super(); this.transformers = transformers; } /** * An id of the transformer. * * @returns `group`. */ get id() { return "group"; } /** * Determines if the value can be transformed by any of the transformers. * * @param value - The value to check. * @param key - The key of the value to check. * @returns A boolean indicating if the value can be transformed. */ canTransform(value, key) { return this.getFirstTransformerThatCanTransform(value, key) !== null; } /** * Gets the transformer with the given id. * * @param transformerId - The id of the transformer to get. * @returns The transformer with the given id. */ getTransformer(transformerId) { return this.transformers.find((t) => t.id === transformerId) ?? (0, import_Error.throwExpression)(`No transformer with id ${transformerId} found`); } /** * Transforms the value using the first transformer that can transform it. * * @param value - The value to transform. * @param key - The key of the value to transform. * @returns The transformed value. */ transformValue(value, key) { const transformer = this.getFirstTransformerThatCanTransform(value, key); if (transformer === null) { throw new Error("No transformer can transform the value"); } return transformer.transformValue(value, key); } /** * Gets the id of the transformer that can transform the given value. * * @param value - The value to get the transformer id for. * @param key - The key of the value to get the transformer id for. * @returns The id of the transformer that can transform the given value. */ getTransformerId(value, key) { const transformer = this.getFirstTransformerThatCanTransform(value, key); if (transformer === null) { return null; } return transformer.id; } /** * This transformer does not support restoring values. * * @throws */ restoreValue() { throw new Error("GroupTransformer does not support restoring values"); } /** * Gets the first transformer that can transform the given value. * * @param value - The value to get the first transformer for. * @param key - The key of the value to get the first transformer for. * @returns The first transformer that can transform the given value. */ getFirstTransformerThatCanTransform(value, key) { return this.transformers.find((t) => t.canTransform(value, key)) ?? null; } } // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { GroupTransformer }); //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL1RyYW5zZm9ybWVycy9Hcm91cFRyYW5zZm9ybWVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIEEgdHJhbnNmb3JtZXIgdGhhdCBjb21iaW5lcyBtdWx0aXBsZSB0cmFuc2Zvcm1lcnMuXG4gKi9cblxuaW1wb3J0IHsgdGhyb3dFeHByZXNzaW9uIH0gZnJvbSAnLi4vRXJyb3IudHMnO1xuaW1wb3J0IHsgVHJhbnNmb3JtZXIgfSBmcm9tICcuL1RyYW5zZm9ybWVyLnRzJztcblxuLyoqXG4gKiBBIHRyYW5zZm9ybWVyIHRoYXQgY29tYmluZXMgbXVsdGlwbGUgdHJhbnNmb3JtZXJzLlxuICovXG5leHBvcnQgY2xhc3MgR3JvdXBUcmFuc2Zvcm1lciBleHRlbmRzIFRyYW5zZm9ybWVyIHtcbiAgLyoqXG4gICAqIEFuIGlkIG9mIHRoZSB0cmFuc2Zvcm1lci5cbiAgICpcbiAgICogQHJldHVybnMgYGdyb3VwYC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ2dyb3VwJztcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm1lcnMgdG8gY29tYmluZS5cbiAgICpcbiAgICogQHBhcmFtIHRyYW5zZm9ybWVycyAtIFRoZSB0cmFuc2Zvcm1lcnMgdG8gY29tYmluZS5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHRyYW5zZm9ybWVyczogVHJhbnNmb3JtZXJbXSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyBpZiB0aGUgdmFsdWUgY2FuIGJlIHRyYW5zZm9ybWVkIGJ5IGFueSBvZiB0aGUgdHJhbnNmb3JtZXJzLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAqIEBwYXJhbSBrZXkgLSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICogQHJldHVybnMgQSBib29sZWFuIGluZGljYXRpbmcgaWYgdGhlIHZhbHVlIGNhbiBiZSB0cmFuc2Zvcm1lZC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBjYW5UcmFuc2Zvcm0odmFsdWU6IHVua25vd24sIGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Rmlyc3RUcmFuc2Zvcm1lclRoYXRDYW5UcmFuc2Zvcm0odmFsdWUsIGtleSkgIT09IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgdHJhbnNmb3JtZXIgd2l0aCB0aGUgZ2l2ZW4gaWQuXG4gICAqXG4gICAqIEBwYXJhbSB0cmFuc2Zvcm1lcklkIC0gVGhlIGlkIG9mIHRoZSB0cmFuc2Zvcm1lciB0byBnZXQuXG4gICAqIEByZXR1cm5zIFRoZSB0cmFuc2Zvcm1lciB3aXRoIHRoZSBnaXZlbiBpZC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBnZXRUcmFuc2Zvcm1lcih0cmFuc2Zvcm1lcklkOiBzdHJpbmcpOiBUcmFuc2Zvcm1lciB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNmb3JtZXJzLmZpbmQoKHQpID0+IHQuaWQgPT09IHRyYW5zZm9ybWVySWQpID8/IHRocm93RXhwcmVzc2lvbihgTm8gdHJhbnNmb3JtZXIgd2l0aCBpZCAke3RyYW5zZm9ybWVySWR9IGZvdW5kYCk7XG4gIH1cblxuICAvKipcbiAgICogVHJhbnNmb3JtcyB0aGUgdmFsdWUgdXNpbmcgdGhlIGZpcnN0IHRyYW5zZm9ybWVyIHRoYXQgY2FuIHRyYW5zZm9ybSBpdC5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIHRyYW5zZm9ybS5cbiAgICogQHBhcmFtIGtleSAtIFRoZSBrZXkgb2YgdGhlIHZhbHVlIHRvIHRyYW5zZm9ybS5cbiAgICogQHJldHVybnMgVGhlIHRyYW5zZm9ybWVkIHZhbHVlLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHRyYW5zZm9ybVZhbHVlKHZhbHVlOiB1bmtub3duLCBrZXk6IHN0cmluZyk6IHVua25vd24ge1xuICAgIGNvbnN0IHRyYW5zZm9ybWVyID0gdGhpcy5nZXRGaXJzdFRyYW5zZm9ybWVyVGhhdENhblRyYW5zZm9ybSh2YWx1ZSwga2V5KTtcbiAgICBpZiAodHJhbnNmb3JtZXIgPT09IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm8gdHJhbnNmb3JtZXIgY2FuIHRyYW5zZm9ybSB0aGUgdmFsdWUnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJhbnNmb3JtZXIudHJhbnNmb3JtVmFsdWUodmFsdWUsIGtleSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgaWQgb2YgdGhlIHRyYW5zZm9ybWVyIHRoYXQgY2FuIHRyYW5zZm9ybSB0aGUgZ2l2ZW4gdmFsdWUuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBnZXQgdGhlIHRyYW5zZm9ybWVyIGlkIGZvci5cbiAgICogQHBhcmFtIGtleSAtIFRoZSBrZXkgb2YgdGhlIHZhbHVlIHRvIGdldCB0aGUgdHJhbnNmb3JtZXIgaWQgZm9yLlxuICAgKiBAcmV0dXJucyBUaGUgaWQgb2YgdGhlIHRyYW5zZm9ybWVyIHRoYXQgY2FuIHRyYW5zZm9ybSB0aGUgZ2l2ZW4gdmFsdWUuXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZ2V0VHJhbnNmb3JtZXJJZCh2YWx1ZTogdW5rbm93biwga2V5OiBzdHJpbmcpOiBudWxsIHwgc3RyaW5nIHtcbiAgICBjb25zdCB0cmFuc2Zvcm1lciA9IHRoaXMuZ2V0Rmlyc3RUcmFuc2Zvcm1lclRoYXRDYW5UcmFuc2Zvcm0odmFsdWUsIGtleSk7XG4gICAgaWYgKHRyYW5zZm9ybWVyID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJhbnNmb3JtZXIuaWQ7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyB0cmFuc2Zvcm1lciBkb2VzIG5vdCBzdXBwb3J0IHJlc3RvcmluZyB2YWx1ZXMuXG4gICAqXG4gICAqIEB0aHJvd3NcbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZXN0b3JlVmFsdWUoKTogbmV2ZXIge1xuICAgIHRocm93IG5ldyBFcnJvcignR3JvdXBUcmFuc2Zvcm1lciBkb2VzIG5vdCBzdXBwb3J0IHJlc3RvcmluZyB2YWx1ZXMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBmaXJzdCB0cmFuc2Zvcm1lciB0aGF0IGNhbiB0cmFuc2Zvcm0gdGhlIGdpdmVuIHZhbHVlLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gZ2V0IHRoZSBmaXJzdCB0cmFuc2Zvcm1lciBmb3IuXG4gICAqIEBwYXJhbSBrZXkgLSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byBnZXQgdGhlIGZpcnN0IHRyYW5zZm9ybWVyIGZvci5cbiAgICogQHJldHVybnMgVGhlIGZpcnN0IHRyYW5zZm9ybWVyIHRoYXQgY2FuIHRyYW5zZm9ybSB0aGUgZ2l2ZW4gdmFsdWUuXG4gICAqL1xuICBwcml2YXRlIGdldEZpcnN0VHJhbnNmb3JtZXJUaGF0Q2FuVHJhbnNmb3JtKHZhbHVlOiB1bmtub3duLCBrZXk6IHN0cmluZyk6IG51bGwgfCBUcmFuc2Zvcm1lciB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNmb3JtZXJzLmZpbmQoKHQpID0+IHQuY2FuVHJhbnNmb3JtKHZhbHVlLCBrZXkpKSA/PyBudWxsO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BLG1CQUFnQztBQUNoQyx5QkFBNEI7QUFLckIsTUFBTSx5QkFBeUIsK0JBQVk7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFlekMsWUFBNkIsY0FBNkI7QUFDL0QsVUFBTTtBQUQ0QjtBQUFBLEVBRXBDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBWEEsSUFBb0IsS0FBYTtBQUMvQixXQUFPO0FBQUEsRUFDVDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFrQmdCLGFBQWEsT0FBZ0IsS0FBc0I7QUFDakUsV0FBTyxLQUFLLG9DQUFvQyxPQUFPLEdBQUcsTUFBTTtBQUFBLEVBQ2xFO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRZ0IsZUFBZSxlQUFvQztBQUNqRSxXQUFPLEtBQUssYUFBYSxLQUFLLENBQUMsTUFBTSxFQUFFLE9BQU8sYUFBYSxTQUFLLDhCQUFnQiwwQkFBMEIsYUFBYSxRQUFRO0FBQUEsRUFDakk7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU2dCLGVBQWUsT0FBZ0IsS0FBc0I7QUFDbkUsVUFBTSxjQUFjLEtBQUssb0NBQW9DLE9BQU8sR0FBRztBQUN2RSxRQUFJLGdCQUFnQixNQUFNO0FBQ3hCLFlBQU0sSUFBSSxNQUFNLHdDQUF3QztBQUFBLElBQzFEO0FBRUEsV0FBTyxZQUFZLGVBQWUsT0FBTyxHQUFHO0FBQUEsRUFDOUM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU21CLGlCQUFpQixPQUFnQixLQUE0QjtBQUM5RSxVQUFNLGNBQWMsS0FBSyxvQ0FBb0MsT0FBTyxHQUFHO0FBQ3ZFLFFBQUksZ0JBQWdCLE1BQU07QUFDeEIsYUFBTztBQUFBLElBQ1Q7QUFFQSxXQUFPLFlBQVk7QUFBQSxFQUNyQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9tQixlQUFzQjtBQUN2QyxVQUFNLElBQUksTUFBTSxvREFBb0Q7QUFBQSxFQUN0RTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTUSxvQ0FBb0MsT0FBZ0IsS0FBaUM7QUFDM0YsV0FBTyxLQUFLLGFBQWEsS0FBSyxDQUFDLE1BQU0sRUFBRSxhQUFhLE9BQU8sR0FBRyxDQUFDLEtBQUs7QUFBQSxFQUN0RTtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=