obsidian-dev-utils
Version:
This is the collection of useful functions that you can use for your Obsidian plugin development
122 lines (119 loc) • 11.2 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){require=Object.assign(id=>requirePatched(id),originalRequire,{__isPatched:true})}const newFuncs={__extractDefault:__name(()=>extractDefault,"__extractDefault"),process:__name(()=>{const browserProcess={browser:true,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};return browserProcess},"process")};for(const key of Object.keys(newFuncs)){globalThisRecord[key]??=newFuncs[key]?.()}function name(obj){return obj}__name(name,"name");function extractDefault(module){return module&&module.__esModule&&"default"in module?module.default:module}__name(extractDefault,"extractDefault");function requirePatched(id){const module=originalRequire?.(id);if(module){return extractDefault(module)}if(id==="process"||id==="node:process"){console.error(`Module not found: ${id}. Fake process object is returned instead.`);return globalThis.process}console.error(`Module not found: ${id}. Empty object is returned instead.`);return{}}__name(requirePatched,"requirePatched")})();
;
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 {
/**
* The transformers to combine.
*
* @param transformers - The transformers to combine.
*/
constructor(transformers) {
super();
this.transformers = transformers;
}
/**
* The 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,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL1RyYW5zZm9ybWVycy9Hcm91cFRyYW5zZm9ybWVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIEEgdHJhbnNmb3JtZXIgdGhhdCBjb21iaW5lcyBtdWx0aXBsZSB0cmFuc2Zvcm1lcnMuXG4gKi9cblxuaW1wb3J0IHsgdGhyb3dFeHByZXNzaW9uIH0gZnJvbSAnLi4vRXJyb3IudHMnO1xuaW1wb3J0IHsgVHJhbnNmb3JtZXIgfSBmcm9tICcuL1RyYW5zZm9ybWVyLnRzJztcblxuLyoqXG4gKiBBIHRyYW5zZm9ybWVyIHRoYXQgY29tYmluZXMgbXVsdGlwbGUgdHJhbnNmb3JtZXJzLlxuICovXG5leHBvcnQgY2xhc3MgR3JvdXBUcmFuc2Zvcm1lciBleHRlbmRzIFRyYW5zZm9ybWVyIHtcbiAgLyoqXG4gICAqIFRoZSBpZCBvZiB0aGUgdHJhbnNmb3JtZXIuXG4gICAqXG4gICAqIEByZXR1cm5zIGBncm91cGAuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdncm91cCc7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHRyYW5zZm9ybWVycyB0byBjb21iaW5lLlxuICAgKlxuICAgKiBAcGFyYW0gdHJhbnNmb3JtZXJzIC0gVGhlIHRyYW5zZm9ybWVycyB0byBjb21iaW5lLlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgdHJhbnNmb3JtZXJzOiBUcmFuc2Zvcm1lcltdKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGlmIHRoZSB2YWx1ZSBjYW4gYmUgdHJhbnNmb3JtZWQgYnkgYW55IG9mIHRoZSB0cmFuc2Zvcm1lcnMuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICogQHBhcmFtIGtleSAtIFRoZSBrZXkgb2YgdGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgKiBAcmV0dXJucyBBIGJvb2xlYW4gaW5kaWNhdGluZyBpZiB0aGUgdmFsdWUgY2FuIGJlIHRyYW5zZm9ybWVkLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGNhblRyYW5zZm9ybSh2YWx1ZTogdW5rbm93biwga2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5nZXRGaXJzdFRyYW5zZm9ybWVyVGhhdENhblRyYW5zZm9ybSh2YWx1ZSwga2V5KSAhPT0gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSB0cmFuc2Zvcm1lciB3aXRoIHRoZSBnaXZlbiBpZC5cbiAgICpcbiAgICogQHBhcmFtIHRyYW5zZm9ybWVySWQgLSBUaGUgaWQgb2YgdGhlIHRyYW5zZm9ybWVyIHRvIGdldC5cbiAgICogQHJldHVybnMgVGhlIHRyYW5zZm9ybWVyIHdpdGggdGhlIGdpdmVuIGlkLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGdldFRyYW5zZm9ybWVyKHRyYW5zZm9ybWVySWQ6IHN0cmluZyk6IFRyYW5zZm9ybWVyIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2Zvcm1lcnMuZmluZCgodCkgPT4gdC5pZCA9PT0gdHJhbnNmb3JtZXJJZCkgPz8gdGhyb3dFeHByZXNzaW9uKGBObyB0cmFuc2Zvcm1lciB3aXRoIGlkICR7dHJhbnNmb3JtZXJJZH0gZm91bmRgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm1zIHRoZSB2YWx1ZSB1c2luZyB0aGUgZmlyc3QgdHJhbnNmb3JtZXIgdGhhdCBjYW4gdHJhbnNmb3JtIGl0LlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gdHJhbnNmb3JtLlxuICAgKiBAcGFyYW0ga2V5IC0gVGhlIGtleSBvZiB0aGUgdmFsdWUgdG8gdHJhbnNmb3JtLlxuICAgKiBAcmV0dXJucyBUaGUgdHJhbnNmb3JtZWQgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgdHJhbnNmb3JtVmFsdWUodmFsdWU6IHVua25vd24sIGtleTogc3RyaW5nKTogdW5rbm93biB7XG4gICAgY29uc3QgdHJhbnNmb3JtZXIgPSB0aGlzLmdldEZpcnN0VHJhbnNmb3JtZXJUaGF0Q2FuVHJhbnNmb3JtKHZhbHVlLCBrZXkpO1xuICAgIGlmICh0cmFuc2Zvcm1lciA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyB0cmFuc2Zvcm1lciBjYW4gdHJhbnNmb3JtIHRoZSB2YWx1ZScpO1xuICAgIH1cblxuICAgIHJldHVybiB0cmFuc2Zvcm1lci50cmFuc2Zvcm1WYWx1ZSh2YWx1ZSwga2V5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBpZCBvZiB0aGUgdHJhbnNmb3JtZXIgdGhhdCBjYW4gdHJhbnNmb3JtIHRoZSBnaXZlbiB2YWx1ZS5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIGdldCB0aGUgdHJhbnNmb3JtZXIgaWQgZm9yLlxuICAgKiBAcGFyYW0ga2V5IC0gVGhlIGtleSBvZiB0aGUgdmFsdWUgdG8gZ2V0IHRoZSB0cmFuc2Zvcm1lciBpZCBmb3IuXG4gICAqIEByZXR1cm5zIFRoZSBpZCBvZiB0aGUgdHJhbnNmb3JtZXIgdGhhdCBjYW4gdHJhbnNmb3JtIHRoZSBnaXZlbiB2YWx1ZS5cbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBnZXRUcmFuc2Zvcm1lcklkKHZhbHVlOiB1bmtub3duLCBrZXk6IHN0cmluZyk6IG51bGwgfCBzdHJpbmcge1xuICAgIGNvbnN0IHRyYW5zZm9ybWVyID0gdGhpcy5nZXRGaXJzdFRyYW5zZm9ybWVyVGhhdENhblRyYW5zZm9ybSh2YWx1ZSwga2V5KTtcbiAgICBpZiAodHJhbnNmb3JtZXIgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB0cmFuc2Zvcm1lci5pZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIHRyYW5zZm9ybWVyIGRvZXMgbm90IHN1cHBvcnQgcmVzdG9yaW5nIHZhbHVlcy5cbiAgICpcbiAgICogQHRocm93c1xuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlc3RvcmVWYWx1ZSgpOiBuZXZlciB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdHcm91cFRyYW5zZm9ybWVyIGRvZXMgbm90IHN1cHBvcnQgcmVzdG9yaW5nIHZhbHVlcycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGZpcnN0IHRyYW5zZm9ybWVyIHRoYXQgY2FuIHRyYW5zZm9ybSB0aGUgZ2l2ZW4gdmFsdWUuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBnZXQgdGhlIGZpcnN0IHRyYW5zZm9ybWVyIGZvci5cbiAgICogQHBhcmFtIGtleSAtIFRoZSBrZXkgb2YgdGhlIHZhbHVlIHRvIGdldCB0aGUgZmlyc3QgdHJhbnNmb3JtZXIgZm9yLlxuICAgKiBAcmV0dXJucyBUaGUgZmlyc3QgdHJhbnNmb3JtZXIgdGhhdCBjYW4gdHJhbnNmb3JtIHRoZSBnaXZlbiB2YWx1ZS5cbiAgICovXG4gIHByaXZhdGUgZ2V0Rmlyc3RUcmFuc2Zvcm1lclRoYXRDYW5UcmFuc2Zvcm0odmFsdWU6IHVua25vd24sIGtleTogc3RyaW5nKTogbnVsbCB8IFRyYW5zZm9ybWVyIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2Zvcm1lcnMuZmluZCgodCkgPT4gdC5jYW5UcmFuc2Zvcm0odmFsdWUsIGtleSkpID8/IG51bGw7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUEsbUJBQWdDO0FBQ2hDLHlCQUE0QjtBQUtyQixNQUFNLHlCQUF5QiwrQkFBWTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQWV6QyxZQUE2QixjQUE2QjtBQUMvRCxVQUFNO0FBRDRCO0FBQUEsRUFFcEM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFYQSxJQUFvQixLQUFhO0FBQy9CLFdBQU87QUFBQSxFQUNUO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQWtCZ0IsYUFBYSxPQUFnQixLQUFzQjtBQUNqRSxXQUFPLEtBQUssb0NBQW9DLE9BQU8sR0FBRyxNQUFNO0FBQUEsRUFDbEU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFnQixlQUFlLGVBQW9DO0FBQ2pFLFdBQU8sS0FBSyxhQUFhLEtBQUssQ0FBQyxNQUFNLEVBQUUsT0FBTyxhQUFhLFNBQUssOEJBQWdCLDBCQUEwQixhQUFhLFFBQVE7QUFBQSxFQUNqSTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTZ0IsZUFBZSxPQUFnQixLQUFzQjtBQUNuRSxVQUFNLGNBQWMsS0FBSyxvQ0FBb0MsT0FBTyxHQUFHO0FBQ3ZFLFFBQUksZ0JBQWdCLE1BQU07QUFDeEIsWUFBTSxJQUFJLE1BQU0sd0NBQXdDO0FBQUEsSUFDMUQ7QUFFQSxXQUFPLFlBQVksZUFBZSxPQUFPLEdBQUc7QUFBQSxFQUM5QztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTbUIsaUJBQWlCLE9BQWdCLEtBQTRCO0FBQzlFLFVBQU0sY0FBYyxLQUFLLG9DQUFvQyxPQUFPLEdBQUc7QUFDdkUsUUFBSSxnQkFBZ0IsTUFBTTtBQUN4QixhQUFPO0FBQUEsSUFDVDtBQUVBLFdBQU8sWUFBWTtBQUFBLEVBQ3JCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT21CLGVBQXNCO0FBQ3ZDLFVBQU0sSUFBSSxNQUFNLG9EQUFvRDtBQUFBLEVBQ3RFO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVNRLG9DQUFvQyxPQUFnQixLQUFpQztBQUMzRixXQUFPLEtBQUssYUFBYSxLQUFLLENBQUMsTUFBTSxFQUFFLGFBQWEsT0FBTyxHQUFHLENBQUMsS0FBSztBQUFBLEVBQ3RFO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==