obsidian-dev-utils
Version:
This is the collection of useful functions that you can use for your Obsidian plugin development
98 lines (95 loc) • 10.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){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 Callout_exports = {};
__export(Callout_exports, {
CalloutMode: () => CalloutMode,
renderCallout: () => renderCallout,
wrapForCallout: () => wrapForCallout
});
module.exports = __toCommonJS(Callout_exports);
var import_Error = require('../Error.cjs');
var import_ValueProvider = require('../ValueProvider.cjs');
var import_Dataview = require('./Dataview.cjs');
var import_Queue = require('./Queue.cjs');
var CalloutMode = /* @__PURE__ */ ((CalloutMode2) => {
CalloutMode2[CalloutMode2["Default"] = 0] = "Default";
CalloutMode2[CalloutMode2["FoldableCollapsed"] = 1] = "FoldableCollapsed";
CalloutMode2[CalloutMode2["FoldableExpanded"] = 2] = "FoldableExpanded";
return CalloutMode2;
})(CalloutMode || {});
function renderCallout(options) {
const {
contentProvider = "",
dv,
header = "",
mode = 1 /* FoldableCollapsed */,
type = "NOTE"
} = options;
const modifier = getModifier(mode);
const callout = dv.paragraph(`> [!${type}]${modifier} ${header}
>
> <div class="content"></div>`);
const contentDiv = callout.querySelector(".content") ?? (0, import_Error.throwExpression)(new Error("Content div not found"));
dv.paragraph("Loading... \u23F3", { container: contentDiv });
const observer = new IntersectionObserver((entries) => {
for (const entry of entries) {
if (entry.isIntersecting) {
observer.unobserve(entry.target);
(0, import_Queue.addToQueue)(dv.app, loadContent);
}
}
});
observer.observe(contentDiv);
async function loadContent() {
let content;
const paragraph = await (0, import_Dataview.getRenderedContainer)(dv, async () => {
content = await (0, import_ValueProvider.resolveValue)(contentProvider);
});
content ??= paragraph;
contentDiv.empty();
dv.paragraph(content, { container: contentDiv });
}
}
function wrapForCallout(content) {
const lines = content.split("\n");
const prefixedLines = lines.map((line) => `> ${line}`);
return prefixedLines.join("\n");
}
function getModifier(mode) {
switch (mode) {
case 1 /* FoldableCollapsed */:
return "-";
case 2 /* FoldableExpanded */:
return "+";
default:
return "";
}
}
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
CalloutMode,
renderCallout,
wrapForCallout
});
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0NhbGxvdXQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKlxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIHJlbmRlcmluZyBjYWxsb3V0cyBpbiBEYXRhdmlldy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IE1heWJlUmV0dXJuIH0gZnJvbSAnLi4vVHlwZS50cyc7XG5pbXBvcnQgdHlwZSB7IFZhbHVlUHJvdmlkZXIgfSBmcm9tICcuLi9WYWx1ZVByb3ZpZGVyLnRzJztcbmltcG9ydCB0eXBlIHsgRGF0YXZpZXdJbmxpbmVBcGkgfSBmcm9tICcuL0RhdGF2aWV3LnRzJztcblxuaW1wb3J0IHsgdGhyb3dFeHByZXNzaW9uIH0gZnJvbSAnLi4vRXJyb3IudHMnO1xuaW1wb3J0IHsgcmVzb2x2ZVZhbHVlIH0gZnJvbSAnLi4vVmFsdWVQcm92aWRlci50cyc7XG5pbXBvcnQgeyBnZXRSZW5kZXJlZENvbnRhaW5lciB9IGZyb20gJy4vRGF0YXZpZXcudHMnO1xuaW1wb3J0IHsgYWRkVG9RdWV1ZSB9IGZyb20gJy4vUXVldWUudHMnO1xuXG4vKipcbiAqIEVudW0gcmVwcmVzZW50aW5nIHRoZSBtb2RlIG9mIGEgY2FsbG91dC5cbiAqL1xuZXhwb3J0IGVudW0gQ2FsbG91dE1vZGUge1xuICAvKiogRGVmYXVsdCBtb2RlLCB3aXRoIG5vIHNwZWNpYWwgYmVoYXZpb3IuICovXG4gIERlZmF1bHQsXG5cbiAgLyoqIEZvbGRhYmxlIG1vZGUgd2l0aCB0aGUgY2FsbG91dCBjb2xsYXBzZWQuICovXG4gIEZvbGRhYmxlQ29sbGFwc2VkLFxuXG4gIC8qKiBGb2xkYWJsZSBtb2RlIHdpdGggdGhlIGNhbGxvdXQgZXhwYW5kZWQuICovXG4gIEZvbGRhYmxlRXhwYW5kZWRcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciByZW5kZXJpbmcgYSBjYWxsb3V0IGJsb2NrIGluIERhdGF2aWV3LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlbmRlckNhbGxvdXRPcHRpb25zIHtcbiAgLyoqXG4gICAqIEFuIG9wdGlvbmFsIHByb3ZpZGVyIGZvciB0aGUgY29udGVudCwgd2hpY2ggY2FuIGJlIGVpdGhlciBhIHN0cmluZyBvciBhIE5vZGUuXG4gICAqL1xuICBjb250ZW50UHJvdmlkZXI/OiBWYWx1ZVByb3ZpZGVyPE1heWJlUmV0dXJuPE5vZGUgfCBzdHJpbmc+PjtcblxuICAvKipcbiAgICogVGhlIERhdGF2aWV3SW5saW5lQXBpIGluc3RhbmNlLlxuICAgKi9cbiAgZHY6IERhdGF2aWV3SW5saW5lQXBpO1xuXG4gIC8qKlxuICAgKiBUaGUgaGVhZGVyIHRleHQgb2YgdGhlIGNhbGxvdXQsIGRlZmF1bHQgaXMgYW4gZW1wdHkgc3RyaW5nLlxuICAgKi9cbiAgaGVhZGVyPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgY2FsbG91dCBtb2RlLCBkZWZhdWx0IGlzIGBDYWxsb3V0TW9kZS5Gb2xkYWJsZUNvbGxhcHNlZGAuXG4gICAqL1xuICBtb2RlPzogQ2FsbG91dE1vZGU7XG5cbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIHRoZSBjYWxsb3V0LCBkZWZhdWx0IGlzIGBcIk5PVEVcImAuXG4gICAqL1xuICB0eXBlPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlbmRlcnMgYSBjYWxsb3V0IGJsb2NrIGluIERhdGF2aWV3LlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIHJlbmRlcmluZyB0aGUgY2FsbG91dC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbmRlckNhbGxvdXQob3B0aW9uczogUmVuZGVyQ2FsbG91dE9wdGlvbnMpOiB2b2lkIHtcbiAgY29uc3Qge1xuICAgIGNvbnRlbnRQcm92aWRlciA9ICcnLFxuICAgIGR2LFxuICAgIGhlYWRlciA9ICcnLFxuICAgIG1vZGUgPSBDYWxsb3V0TW9kZS5Gb2xkYWJsZUNvbGxhcHNlZCxcbiAgICB0eXBlID0gJ05PVEUnXG4gIH0gPSBvcHRpb25zO1xuICBjb25zdCBtb2RpZmllciA9IGdldE1vZGlmaWVyKG1vZGUpO1xuICBjb25zdCBjYWxsb3V0ID0gZHYucGFyYWdyYXBoKGA+IFshJHt0eXBlfV0ke21vZGlmaWVyfSAke2hlYWRlcn1cXG4+XFxuPiA8ZGl2IGNsYXNzPVwiY29udGVudFwiPjwvZGl2PmApO1xuICBjb25zdCBjb250ZW50RGl2ID0gY2FsbG91dC5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PignLmNvbnRlbnQnKSA/PyB0aHJvd0V4cHJlc3Npb24obmV3IEVycm9yKCdDb250ZW50IGRpdiBub3QgZm91bmQnKSk7XG4gIGR2LnBhcmFncmFwaCgnTG9hZGluZy4uLiBcdTIzRjMnLCB7IGNvbnRhaW5lcjogY29udGVudERpdiB9KTtcblxuICBjb25zdCBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigoZW50cmllczogSW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeVtdKSA9PiB7XG4gICAgZm9yIChjb25zdCBlbnRyeSBvZiBlbnRyaWVzKSB7XG4gICAgICBpZiAoZW50cnkuaXNJbnRlcnNlY3RpbmcpIHtcbiAgICAgICAgb2JzZXJ2ZXIudW5vYnNlcnZlKGVudHJ5LnRhcmdldCk7XG4gICAgICAgIGFkZFRvUXVldWUoZHYuYXBwLCBsb2FkQ29udGVudCk7XG4gICAgICB9XG4gICAgfVxuICB9KTtcbiAgb2JzZXJ2ZXIub2JzZXJ2ZShjb250ZW50RGl2KTtcblxuICBhc3luYyBmdW5jdGlvbiBsb2FkQ29udGVudCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBsZXQgY29udGVudDogTWF5YmVSZXR1cm48Tm9kZSB8IHN0cmluZyB8IHVuZGVmaW5lZD47XG5cbiAgICBjb25zdCBwYXJhZ3JhcGggPSBhd2FpdCBnZXRSZW5kZXJlZENvbnRhaW5lcihkdiwgYXN5bmMgKCkgPT4ge1xuICAgICAgY29udGVudCA9IGF3YWl0IHJlc29sdmVWYWx1ZShjb250ZW50UHJvdmlkZXIpO1xuICAgIH0pO1xuXG4gICAgY29udGVudCA/Pz0gcGFyYWdyYXBoO1xuXG4gICAgY29udGVudERpdi5lbXB0eSgpO1xuICAgIGR2LnBhcmFncmFwaChjb250ZW50LCB7IGNvbnRhaW5lcjogY29udGVudERpdiB9KTtcbiAgfVxufVxuXG4vKipcbiAqIFdyYXBzIHRoZSBwcm92aWRlZCBjb250ZW50IGluIGJsb2NrcXVvdGUgc3ludGF4IGZvciBhIGNhbGxvdXQuXG4gKlxuICogQHBhcmFtIGNvbnRlbnQgLSBUaGUgY29udGVudCB0byB3cmFwLlxuICogQHJldHVybnMgVGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBibG9ja3F1b3RlIHN5bnRheC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdyYXBGb3JDYWxsb3V0KGNvbnRlbnQ6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IGxpbmVzID0gY29udGVudC5zcGxpdCgnXFxuJyk7XG4gIGNvbnN0IHByZWZpeGVkTGluZXMgPSBsaW5lcy5tYXAoKGxpbmUpID0+IGA+ICR7bGluZX1gKTtcbiAgcmV0dXJuIHByZWZpeGVkTGluZXMuam9pbignXFxuJyk7XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgbW9kaWZpZXIgc3RyaW5nIGJhc2VkIG9uIHRoZSBjYWxsb3V0IG1vZGUuXG4gKlxuICogQHBhcmFtIG1vZGUgLSBUaGUgbW9kZSBvZiB0aGUgY2FsbG91dC5cbiAqIEByZXR1cm5zIFRoZSBjb3JyZXNwb25kaW5nIG1vZGlmaWVyIHN0cmluZy5cbiAqL1xuZnVuY3Rpb24gZ2V0TW9kaWZpZXIobW9kZTogQ2FsbG91dE1vZGUpOiBzdHJpbmcge1xuICBzd2l0Y2ggKG1vZGUpIHtcbiAgICBjYXNlIENhbGxvdXRNb2RlLkZvbGRhYmxlQ29sbGFwc2VkOlxuICAgICAgcmV0dXJuICctJztcbiAgICBjYXNlIENhbGxvdXRNb2RlLkZvbGRhYmxlRXhwYW5kZWQ6XG4gICAgICByZXR1cm4gJysnO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gJyc7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVVBLG1CQUFnQztBQUNoQywyQkFBNkI7QUFDN0Isc0JBQXFDO0FBQ3JDLG1CQUEyQjtBQUtwQixJQUFLLGNBQUwsa0JBQUtBLGlCQUFMO0FBRUwsRUFBQUEsMEJBQUE7QUFHQSxFQUFBQSwwQkFBQTtBQUdBLEVBQUFBLDBCQUFBO0FBUlUsU0FBQUE7QUFBQSxHQUFBO0FBOENMLFNBQVMsY0FBYyxTQUFxQztBQUNqRSxRQUFNO0FBQUEsSUFDSixrQkFBa0I7QUFBQSxJQUNsQjtBQUFBLElBQ0EsU0FBUztBQUFBLElBQ1QsT0FBTztBQUFBLElBQ1AsT0FBTztBQUFBLEVBQ1QsSUFBSTtBQUNKLFFBQU0sV0FBVyxZQUFZLElBQUk7QUFDakMsUUFBTSxVQUFVLEdBQUcsVUFBVSxPQUFPLElBQUksSUFBSSxRQUFRLElBQUksTUFBTTtBQUFBO0FBQUEsOEJBQW9DO0FBQ2xHLFFBQU0sYUFBYSxRQUFRLGNBQThCLFVBQVUsU0FBSyw4QkFBZ0IsSUFBSSxNQUFNLHVCQUF1QixDQUFDO0FBQzFILEtBQUcsVUFBVSxxQkFBZ0IsRUFBRSxXQUFXLFdBQVcsQ0FBQztBQUV0RCxRQUFNLFdBQVcsSUFBSSxxQkFBcUIsQ0FBQyxZQUF5QztBQUNsRixlQUFXLFNBQVMsU0FBUztBQUMzQixVQUFJLE1BQU0sZ0JBQWdCO0FBQ3hCLGlCQUFTLFVBQVUsTUFBTSxNQUFNO0FBQy9CLHFDQUFXLEdBQUcsS0FBSyxXQUFXO0FBQUEsTUFDaEM7QUFBQSxJQUNGO0FBQUEsRUFDRixDQUFDO0FBQ0QsV0FBUyxRQUFRLFVBQVU7QUFFM0IsaUJBQWUsY0FBNkI7QUFDMUMsUUFBSTtBQUVKLFVBQU0sWUFBWSxVQUFNLHNDQUFxQixJQUFJLFlBQVk7QUFDM0QsZ0JBQVUsVUFBTSxtQ0FBYSxlQUFlO0FBQUEsSUFDOUMsQ0FBQztBQUVELGdCQUFZO0FBRVosZUFBVyxNQUFNO0FBQ2pCLE9BQUcsVUFBVSxTQUFTLEVBQUUsV0FBVyxXQUFXLENBQUM7QUFBQSxFQUNqRDtBQUNGO0FBUU8sU0FBUyxlQUFlLFNBQXlCO0FBQ3RELFFBQU0sUUFBUSxRQUFRLE1BQU0sSUFBSTtBQUNoQyxRQUFNLGdCQUFnQixNQUFNLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxFQUFFO0FBQ3JELFNBQU8sY0FBYyxLQUFLLElBQUk7QUFDaEM7QUFRQSxTQUFTLFlBQVksTUFBMkI7QUFDOUMsVUFBUSxNQUFNO0FBQUEsSUFDWixLQUFLO0FBQ0gsYUFBTztBQUFBLElBQ1QsS0FBSztBQUNILGFBQU87QUFBQSxJQUNUO0FBQ0UsYUFBTztBQUFBLEVBQ1g7QUFDRjsiLAogICJuYW1lcyI6IFsiQ2FsbG91dE1vZGUiXQp9Cg==