UNPKG

obsidian-dev-utils

Version:

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

45 lines (42 loc) 6.6 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 initEsm(){if(globalThis.process){return}const browserProcess={browser:true,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=browserProcess})(); import { parse } from "shell-quote"; import { throwExpression } from "../Error.mjs"; import { replaceAll } from "../String.mjs"; import { resolveValue } from "../ValueProvider.mjs"; import { process } from "./Vault.mjs"; function getCodeBlockArguments(ctx, el) { const sectionInfo = ctx.getSectionInfo(el); if (!sectionInfo) { return []; } const lines = sectionInfo.text.split("\n"); const codeBlockHeader = lines[sectionInfo.lineStart] ?? throwExpression(new Error("Code block header not found")); const match = /^(?:`{3,}|~{3,})\S+\s+(?<Arguments>.*)$/.exec(codeBlockHeader); if (!match) { return []; } return 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 resolveValue(codeBlockProvider, oldCodeBlock); const newSectionText = `${prefix} ${newCodeBlock}${newCodeBlock ? "\n" : ""}${suffix}`; await process(app, ctx.sourcePath, (content) => replaceAll(content, sectionInfo.text, newSectionText)); } export { getCodeBlockArguments, replaceCodeBlock }; //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL01hcmtkb3duQ29kZUJsb2NrUHJvY2Vzc29yLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBwcm9jZXNzaW5nIGNvZGUgYmxvY2tzIGluIE9ic2lkaWFuLlxuICovXG5cbmltcG9ydCB0eXBlIHtcbiAgQXBwLFxuICBNYXJrZG93blBvc3RQcm9jZXNzb3JDb250ZXh0XG59IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHsgcGFyc2UgfSBmcm9tICdzaGVsbC1xdW90ZSc7XG5cbmltcG9ydCB0eXBlIHsgVmFsdWVQcm92aWRlciB9IGZyb20gJy4uL1ZhbHVlUHJvdmlkZXIudHMnO1xuXG5pbXBvcnQgeyB0aHJvd0V4cHJlc3Npb24gfSBmcm9tICcuLi9FcnJvci50cyc7XG5pbXBvcnQgeyByZXBsYWNlQWxsIH0gZnJvbSAnLi4vU3RyaW5nLnRzJztcbmltcG9ydCB7IHJlc29sdmVWYWx1ZSB9IGZyb20gJy4uL1ZhbHVlUHJvdmlkZXIudHMnO1xuaW1wb3J0IHsgcHJvY2VzcyB9IGZyb20gJy4vVmF1bHQudHMnO1xuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgYXJndW1lbnQgb2YgYSBjb2RlIGJsb2NrIGZyb20gdGhlIGdpdmVuIE1hcmtkb3duUG9zdFByb2Nlc3NvckNvbnRleHQgYW5kIEhUTUxFbGVtZW50LlxuICpcbiAqIEBwYXJhbSBjdHggLSBUaGUgTWFya2Rvd25Qb3N0UHJvY2Vzc29yQ29udGV4dCBvYmplY3QuXG4gKiBAcGFyYW0gZWwgLSBUaGUgSFRNTEVsZW1lbnQgcmVwcmVzZW50aW5nIHRoZSBjb2RlIGJsb2NrLlxuICogQHJldHVybnMgVGhlIGFyZ3VtZW50IG9mIHRoZSBjb2RlIGJsb2NrIGFzIGEgc3RyaW5nLCBvciBudWxsIGlmIG5vIGFyZ3VtZW50IGlzIGZvdW5kLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29kZUJsb2NrQXJndW1lbnRzKGN0eDogTWFya2Rvd25Qb3N0UHJvY2Vzc29yQ29udGV4dCwgZWw6IEhUTUxFbGVtZW50KTogc3RyaW5nW10ge1xuICBjb25zdCBzZWN0aW9uSW5mbyA9IGN0eC5nZXRTZWN0aW9uSW5mbyhlbCk7XG4gIGlmICghc2VjdGlvbkluZm8pIHtcbiAgICByZXR1cm4gW107XG4gIH1cbiAgY29uc3QgbGluZXMgPSBzZWN0aW9uSW5mby50ZXh0LnNwbGl0KCdcXG4nKTtcbiAgY29uc3QgY29kZUJsb2NrSGVhZGVyID0gbGluZXNbc2VjdGlvbkluZm8ubGluZVN0YXJ0XSA/PyB0aHJvd0V4cHJlc3Npb24obmV3IEVycm9yKCdDb2RlIGJsb2NrIGhlYWRlciBub3QgZm91bmQnKSk7XG4gIGNvbnN0IG1hdGNoID0gL14oPzpgezMsfXx+ezMsfSlcXFMrXFxzKyg/PEFyZ3VtZW50cz4uKikkLy5leGVjKGNvZGVCbG9ja0hlYWRlcik7XG4gIGlmICghbWF0Y2gpIHtcbiAgICByZXR1cm4gW107XG4gIH1cbiAgcmV0dXJuIHBhcnNlKG1hdGNoLmdyb3Vwcz8uWydBcmd1bWVudHMnXSA/PyAnJykubWFwKFN0cmluZyk7XG59XG5cbi8qKlxuICogUmVwbGFjZXMgdGhlIGNvZGUgYmxvY2suXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBBcHAgb2JqZWN0LlxuICogQHBhcmFtIGN0eCAtIFRoZSBNYXJrZG93blBvc3RQcm9jZXNzb3JDb250ZXh0IG9iamVjdC5cbiAqIEBwYXJhbSBlbCAtIFRoZSBIVE1MRWxlbWVudCByZXByZXNlbnRpbmcgdGhlIGNvZGUgYmxvY2suXG4gKiBAcGFyYW0gY29kZUJsb2NrUHJvdmlkZXIgLSBUaGUgVmFsdWVQcm92aWRlciB0aGF0IHByb3ZpZGVzIHRoZSBuZXcgY29kZSBibG9jay5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlcGxhY2VDb2RlQmxvY2soXG4gIGFwcDogQXBwLFxuICBjdHg6IE1hcmtkb3duUG9zdFByb2Nlc3NvckNvbnRleHQsXG4gIGVsOiBIVE1MRWxlbWVudCxcbiAgY29kZUJsb2NrUHJvdmlkZXI6IFZhbHVlUHJvdmlkZXI8c3RyaW5nLCBbc3RyaW5nXT5cbik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBzZWN0aW9uSW5mbyA9IGN0eC5nZXRTZWN0aW9uSW5mbyhlbCk7XG4gIGlmICghc2VjdGlvbkluZm8pIHtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgbGluZXMgPSBzZWN0aW9uSW5mby50ZXh0LnNwbGl0KCdcXG4nKTtcbiAgY29uc3QgcHJlZml4ID0gbGluZXMuc2xpY2UoMCwgc2VjdGlvbkluZm8ubGluZVN0YXJ0KS5qb2luKCdcXG4nKTtcbiAgY29uc3Qgb2xkQ29kZUJsb2NrID0gbGluZXMuc2xpY2Uoc2VjdGlvbkluZm8ubGluZVN0YXJ0LCBzZWN0aW9uSW5mby5saW5lRW5kICsgMSkuam9pbignXFxuJyk7XG4gIGNvbnN0IHN1ZmZpeCA9IGxpbmVzLnNsaWNlKHNlY3Rpb25JbmZvLmxpbmVFbmQgKyAxKS5qb2luKCdcXG4nKTtcbiAgY29uc3QgbmV3Q29kZUJsb2NrID0gYXdhaXQgcmVzb2x2ZVZhbHVlKGNvZGVCbG9ja1Byb3ZpZGVyLCBvbGRDb2RlQmxvY2spO1xuICBjb25zdCBuZXdTZWN0aW9uVGV4dCA9IGAke3ByZWZpeH1cXG4ke25ld0NvZGVCbG9ja30ke25ld0NvZGVCbG9jayA/ICdcXG4nIDogJyd9JHtzdWZmaXh9YDtcbiAgYXdhaXQgcHJvY2VzcyhhcHAsIGN0eC5zb3VyY2VQYXRoLCAoY29udGVudCkgPT4gcmVwbGFjZUFsbChjb250ZW50LCBzZWN0aW9uSW5mby50ZXh0LCBuZXdTZWN0aW9uVGV4dCkpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7OztBQVdBLFNBQVMsYUFBYTtBQUl0QixTQUFTLHVCQUF1QjtBQUNoQyxTQUFTLGtCQUFrQjtBQUMzQixTQUFTLG9CQUFvQjtBQUM3QixTQUFTLGVBQWU7QUFTakIsU0FBUyxzQkFBc0IsS0FBbUMsSUFBMkI7QUFDbEcsUUFBTSxjQUFjLElBQUksZUFBZSxFQUFFO0FBQ3pDLE1BQUksQ0FBQyxhQUFhO0FBQ2hCLFdBQU8sQ0FBQztBQUFBLEVBQ1Y7QUFDQSxRQUFNLFFBQVEsWUFBWSxLQUFLLE1BQU0sSUFBSTtBQUN6QyxRQUFNLGtCQUFrQixNQUFNLFlBQVksU0FBUyxLQUFLLGdCQUFnQixJQUFJLE1BQU0sNkJBQTZCLENBQUM7QUFDaEgsUUFBTSxRQUFRLDBDQUEwQyxLQUFLLGVBQWU7QUFDNUUsTUFBSSxDQUFDLE9BQU87QUFDVixXQUFPLENBQUM7QUFBQSxFQUNWO0FBQ0EsU0FBTyxNQUFNLE1BQU0sU0FBUyxXQUFXLEtBQUssRUFBRSxFQUFFLElBQUksTUFBTTtBQUM1RDtBQVVBLGVBQXNCLGlCQUNwQixLQUNBLEtBQ0EsSUFDQSxtQkFDZTtBQUNmLFFBQU0sY0FBYyxJQUFJLGVBQWUsRUFBRTtBQUN6QyxNQUFJLENBQUMsYUFBYTtBQUNoQjtBQUFBLEVBQ0Y7QUFDQSxRQUFNLFFBQVEsWUFBWSxLQUFLLE1BQU0sSUFBSTtBQUN6QyxRQUFNLFNBQVMsTUFBTSxNQUFNLEdBQUcsWUFBWSxTQUFTLEVBQUUsS0FBSyxJQUFJO0FBQzlELFFBQU0sZUFBZSxNQUFNLE1BQU0sWUFBWSxXQUFXLFlBQVksVUFBVSxDQUFDLEVBQUUsS0FBSyxJQUFJO0FBQzFGLFFBQU0sU0FBUyxNQUFNLE1BQU0sWUFBWSxVQUFVLENBQUMsRUFBRSxLQUFLLElBQUk7QUFDN0QsUUFBTSxlQUFlLE1BQU0sYUFBYSxtQkFBbUIsWUFBWTtBQUN2RSxRQUFNLGlCQUFpQixHQUFHLE1BQU07QUFBQSxFQUFLLFlBQVksR0FBRyxlQUFlLE9BQU8sRUFBRSxHQUFHLE1BQU07QUFDckYsUUFBTSxRQUFRLEtBQUssSUFBSSxZQUFZLENBQUMsWUFBWSxXQUFXLFNBQVMsWUFBWSxNQUFNLGNBQWMsQ0FBQztBQUN2RzsiLAogICJuYW1lcyI6IFtdCn0K