obsidian-dev-utils
Version:
This is the collection of useful functions that you can use for your Obsidian plugin development
70 lines (67 loc) • 8.86 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 MarkdownCodeBlockProcessor_exports = {};
__export(MarkdownCodeBlockProcessor_exports, {
getCodeBlockArguments: () => getCodeBlockArguments,
replaceCodeBlock: () => replaceCodeBlock
});
module.exports = __toCommonJS(MarkdownCodeBlockProcessor_exports);
var import_shell_quote = require('shell-quote');
var import_Error = require('../Error.cjs');
var import_String = require('../String.cjs');
var import_ValueProvider = require('../ValueProvider.cjs');
var import_Vault = require('./Vault.cjs');
function getCodeBlockArguments(ctx, el) {
const sectionInfo = ctx.getSectionInfo(el);
if (!sectionInfo) {
return [];
}
const lines = sectionInfo.text.split("\n");
const codeBlockHeader = lines[sectionInfo.lineStart] ?? (0, import_Error.throwExpression)(new Error("Code block header not found"));
const match = /^(?:`{3,}|~{3,})\S+\s+(?<Arguments>.*)$/.exec(codeBlockHeader);
if (!match) {
return [];
}
return (0, import_shell_quote.parse)(match.groups?.["Arguments"] ?? "").map(String);
}
async function replaceCodeBlock(app, ctx, el, codeBlockProvider) {
const sectionInfo = ctx.getSectionInfo(el);
if (!sectionInfo) {
return;
}
const lines = sectionInfo.text.split("\n");
const prefix = lines.slice(0, sectionInfo.lineStart).join("\n");
const oldCodeBlock = lines.slice(sectionInfo.lineStart, sectionInfo.lineEnd + 1).join("\n");
const suffix = lines.slice(sectionInfo.lineEnd + 1).join("\n");
const newCodeBlock = await (0, import_ValueProvider.resolveValue)(codeBlockProvider, oldCodeBlock);
const newSectionText = `${prefix}
${newCodeBlock}${newCodeBlock ? "\n" : ""}${suffix}`;
await (0, import_Vault.process)(app, ctx.sourcePath, (content) => (0, import_String.replaceAll)(content, sectionInfo.text, newSectionText));
}
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
getCodeBlockArguments,
replaceCodeBlock
});
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL01hcmtkb3duQ29kZUJsb2NrUHJvY2Vzc29yLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBwcm9jZXNzaW5nIGNvZGUgYmxvY2tzIGluIE9ic2lkaWFuLlxuICovXG5cbmltcG9ydCB0eXBlIHtcbiAgQXBwLFxuICBNYXJrZG93blBvc3RQcm9jZXNzb3JDb250ZXh0XG59IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHsgcGFyc2UgfSBmcm9tICdzaGVsbC1xdW90ZSc7XG5cbmltcG9ydCB0eXBlIHsgVmFsdWVQcm92aWRlciB9IGZyb20gJy4uL1ZhbHVlUHJvdmlkZXIudHMnO1xuXG5pbXBvcnQgeyB0aHJvd0V4cHJlc3Npb24gfSBmcm9tICcuLi9FcnJvci50cyc7XG5pbXBvcnQgeyByZXBsYWNlQWxsIH0gZnJvbSAnLi4vU3RyaW5nLnRzJztcbmltcG9ydCB7IHJlc29sdmVWYWx1ZSB9IGZyb20gJy4uL1ZhbHVlUHJvdmlkZXIudHMnO1xuaW1wb3J0IHsgcHJvY2VzcyB9IGZyb20gJy4vVmF1bHQudHMnO1xuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgYXJndW1lbnQgb2YgYSBjb2RlIGJsb2NrIGZyb20gdGhlIGdpdmVuIE1hcmtkb3duUG9zdFByb2Nlc3NvckNvbnRleHQgYW5kIEhUTUxFbGVtZW50LlxuICpcbiAqIEBwYXJhbSBjdHggLSBUaGUgTWFya2Rvd25Qb3N0UHJvY2Vzc29yQ29udGV4dCBvYmplY3QuXG4gKiBAcGFyYW0gZWwgLSBUaGUgSFRNTEVsZW1lbnQgcmVwcmVzZW50aW5nIHRoZSBjb2RlIGJsb2NrLlxuICogQHJldHVybnMgVGhlIGFyZ3VtZW50IG9mIHRoZSBjb2RlIGJsb2NrIGFzIGEgc3RyaW5nLCBvciBudWxsIGlmIG5vIGFyZ3VtZW50IGlzIGZvdW5kLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29kZUJsb2NrQXJndW1lbnRzKGN0eDogTWFya2Rvd25Qb3N0UHJvY2Vzc29yQ29udGV4dCwgZWw6IEhUTUxFbGVtZW50KTogc3RyaW5nW10ge1xuICBjb25zdCBzZWN0aW9uSW5mbyA9IGN0eC5nZXRTZWN0aW9uSW5mbyhlbCk7XG4gIGlmICghc2VjdGlvbkluZm8pIHtcbiAgICByZXR1cm4gW107XG4gIH1cbiAgY29uc3QgbGluZXMgPSBzZWN0aW9uSW5mby50ZXh0LnNwbGl0KCdcXG4nKTtcbiAgY29uc3QgY29kZUJsb2NrSGVhZGVyID0gbGluZXNbc2VjdGlvbkluZm8ubGluZVN0YXJ0XSA/PyB0aHJvd0V4cHJlc3Npb24obmV3IEVycm9yKCdDb2RlIGJsb2NrIGhlYWRlciBub3QgZm91bmQnKSk7XG4gIGNvbnN0IG1hdGNoID0gL14oPzpgezMsfXx+ezMsfSlcXFMrXFxzKyg/PEFyZ3VtZW50cz4uKikkLy5leGVjKGNvZGVCbG9ja0hlYWRlcik7XG4gIGlmICghbWF0Y2gpIHtcbiAgICByZXR1cm4gW107XG4gIH1cbiAgcmV0dXJuIHBhcnNlKG1hdGNoLmdyb3Vwcz8uWydBcmd1bWVudHMnXSA/PyAnJykubWFwKFN0cmluZyk7XG59XG5cbi8qKlxuICogUmVwbGFjZXMgdGhlIGNvZGUgYmxvY2suXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBBcHAgb2JqZWN0LlxuICogQHBhcmFtIGN0eCAtIFRoZSBNYXJrZG93blBvc3RQcm9jZXNzb3JDb250ZXh0IG9iamVjdC5cbiAqIEBwYXJhbSBlbCAtIFRoZSBIVE1MRWxlbWVudCByZXByZXNlbnRpbmcgdGhlIGNvZGUgYmxvY2suXG4gKiBAcGFyYW0gY29kZUJsb2NrUHJvdmlkZXIgLSBUaGUgVmFsdWVQcm92aWRlciB0aGF0IHByb3ZpZGVzIHRoZSBuZXcgY29kZSBibG9jay5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlcGxhY2VDb2RlQmxvY2soXG4gIGFwcDogQXBwLFxuICBjdHg6IE1hcmtkb3duUG9zdFByb2Nlc3NvckNvbnRleHQsXG4gIGVsOiBIVE1MRWxlbWVudCxcbiAgY29kZUJsb2NrUHJvdmlkZXI6IFZhbHVlUHJvdmlkZXI8c3RyaW5nLCBbc3RyaW5nXT5cbik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBzZWN0aW9uSW5mbyA9IGN0eC5nZXRTZWN0aW9uSW5mbyhlbCk7XG4gIGlmICghc2VjdGlvbkluZm8pIHtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgbGluZXMgPSBzZWN0aW9uSW5mby50ZXh0LnNwbGl0KCdcXG4nKTtcbiAgY29uc3QgcHJlZml4ID0gbGluZXMuc2xpY2UoMCwgc2VjdGlvbkluZm8ubGluZVN0YXJ0KS5qb2luKCdcXG4nKTtcbiAgY29uc3Qgb2xkQ29kZUJsb2NrID0gbGluZXMuc2xpY2Uoc2VjdGlvbkluZm8ubGluZVN0YXJ0LCBzZWN0aW9uSW5mby5saW5lRW5kICsgMSkuam9pbignXFxuJyk7XG4gIGNvbnN0IHN1ZmZpeCA9IGxpbmVzLnNsaWNlKHNlY3Rpb25JbmZvLmxpbmVFbmQgKyAxKS5qb2luKCdcXG4nKTtcbiAgY29uc3QgbmV3Q29kZUJsb2NrID0gYXdhaXQgcmVzb2x2ZVZhbHVlKGNvZGVCbG9ja1Byb3ZpZGVyLCBvbGRDb2RlQmxvY2spO1xuICBjb25zdCBuZXdTZWN0aW9uVGV4dCA9IGAke3ByZWZpeH1cXG4ke25ld0NvZGVCbG9ja30ke25ld0NvZGVCbG9jayA/ICdcXG4nIDogJyd9JHtzdWZmaXh9YDtcbiAgYXdhaXQgcHJvY2VzcyhhcHAsIGN0eC5zb3VyY2VQYXRoLCAoY29udGVudCkgPT4gcmVwbGFjZUFsbChjb250ZW50LCBzZWN0aW9uSW5mby50ZXh0LCBuZXdTZWN0aW9uVGV4dCkpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdBLHlCQUFzQjtBQUl0QixtQkFBZ0M7QUFDaEMsb0JBQTJCO0FBQzNCLDJCQUE2QjtBQUM3QixtQkFBd0I7QUFTakIsU0FBUyxzQkFBc0IsS0FBbUMsSUFBMkI7QUFDbEcsUUFBTSxjQUFjLElBQUksZUFBZSxFQUFFO0FBQ3pDLE1BQUksQ0FBQyxhQUFhO0FBQ2hCLFdBQU8sQ0FBQztBQUFBLEVBQ1Y7QUFDQSxRQUFNLFFBQVEsWUFBWSxLQUFLLE1BQU0sSUFBSTtBQUN6QyxRQUFNLGtCQUFrQixNQUFNLFlBQVksU0FBUyxTQUFLLDhCQUFnQixJQUFJLE1BQU0sNkJBQTZCLENBQUM7QUFDaEgsUUFBTSxRQUFRLDBDQUEwQyxLQUFLLGVBQWU7QUFDNUUsTUFBSSxDQUFDLE9BQU87QUFDVixXQUFPLENBQUM7QUFBQSxFQUNWO0FBQ0EsYUFBTywwQkFBTSxNQUFNLFNBQVMsV0FBVyxLQUFLLEVBQUUsRUFBRSxJQUFJLE1BQU07QUFDNUQ7QUFVQSxlQUFzQixpQkFDcEIsS0FDQSxLQUNBLElBQ0EsbUJBQ2U7QUFDZixRQUFNLGNBQWMsSUFBSSxlQUFlLEVBQUU7QUFDekMsTUFBSSxDQUFDLGFBQWE7QUFDaEI7QUFBQSxFQUNGO0FBQ0EsUUFBTSxRQUFRLFlBQVksS0FBSyxNQUFNLElBQUk7QUFDekMsUUFBTSxTQUFTLE1BQU0sTUFBTSxHQUFHLFlBQVksU0FBUyxFQUFFLEtBQUssSUFBSTtBQUM5RCxRQUFNLGVBQWUsTUFBTSxNQUFNLFlBQVksV0FBVyxZQUFZLFVBQVUsQ0FBQyxFQUFFLEtBQUssSUFBSTtBQUMxRixRQUFNLFNBQVMsTUFBTSxNQUFNLFlBQVksVUFBVSxDQUFDLEVBQUUsS0FBSyxJQUFJO0FBQzdELFFBQU0sZUFBZSxVQUFNLG1DQUFhLG1CQUFtQixZQUFZO0FBQ3ZFLFFBQU0saUJBQWlCLEdBQUcsTUFBTTtBQUFBLEVBQUssWUFBWSxHQUFHLGVBQWUsT0FBTyxFQUFFLEdBQUcsTUFBTTtBQUNyRixZQUFNLHNCQUFRLEtBQUssSUFBSSxZQUFZLENBQUMsZ0JBQVksMEJBQVcsU0FBUyxZQUFZLE1BQU0sY0FBYyxDQUFDO0FBQ3ZHOyIsCiAgIm5hbWVzIjogW10KfQo=