UNPKG

mlld

Version:

mlld: llm scripting language

99 lines (97 loc) 3.69 kB
import { __name } from './chunk-NJQWMXLH.mjs'; // interpreter/core/interpolation-context.ts var InterpolationContext = /* @__PURE__ */ ((InterpolationContext2) => { InterpolationContext2["Default"] = "default"; InterpolationContext2["ShellCommand"] = "shell-command"; InterpolationContext2["ShellCode"] = "shell-code"; InterpolationContext2["Url"] = "url"; InterpolationContext2["Template"] = "template"; InterpolationContext2["DataValue"] = "data-value"; InterpolationContext2["FilePath"] = "file-path"; return InterpolationContext2; })(InterpolationContext || {}); var _EscapingStrategyFactory = class _EscapingStrategyFactory { static register(context, strategy) { this.strategies.set(context, strategy); } static getStrategy(context) { const strategy = this.strategies.get(context); if (!strategy) { return this.strategies.get("default" /* Default */); } return strategy; } }; __name(_EscapingStrategyFactory, "EscapingStrategyFactory"); _EscapingStrategyFactory.strategies = /* @__PURE__ */ new Map(); var EscapingStrategyFactory = _EscapingStrategyFactory; var _DefaultEscapingStrategy = class _DefaultEscapingStrategy { escape(value) { return value; } getContext() { return "default" /* Default */; } }; __name(_DefaultEscapingStrategy, "DefaultEscapingStrategy"); var DefaultEscapingStrategy = _DefaultEscapingStrategy; var _ShellCommandEscapingStrategy = class _ShellCommandEscapingStrategy { escape(value) { if (!value) return ""; return value.replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/\$/g, "\\$").replace(/`/g, "\\`"); } getContext() { return "shell-command" /* ShellCommand */; } }; __name(_ShellCommandEscapingStrategy, "ShellCommandEscapingStrategy"); var ShellCommandEscapingStrategy = _ShellCommandEscapingStrategy; var _TemplateEscapingStrategy = class _TemplateEscapingStrategy { escape(value) { return value; } getContext() { return "template" /* Template */; } }; __name(_TemplateEscapingStrategy, "TemplateEscapingStrategy"); var TemplateEscapingStrategy = _TemplateEscapingStrategy; var _DataValueEscapingStrategy = class _DataValueEscapingStrategy { escape(value) { return value; } getContext() { return "data-value" /* DataValue */; } }; __name(_DataValueEscapingStrategy, "DataValueEscapingStrategy"); var DataValueEscapingStrategy = _DataValueEscapingStrategy; EscapingStrategyFactory.register("default" /* Default */, new DefaultEscapingStrategy()); EscapingStrategyFactory.register("shell-command" /* ShellCommand */, new ShellCommandEscapingStrategy()); EscapingStrategyFactory.register("template" /* Template */, new TemplateEscapingStrategy()); EscapingStrategyFactory.register("data-value" /* DataValue */, new DataValueEscapingStrategy()); function getInterpolationContext(directiveType, subtype) { if (!directiveType) return "default" /* Default */; switch (directiveType) { case "run": if (subtype === "runCommand" || subtype === "runExec" || subtype === "runCode") { return "shell-command" /* ShellCommand */; } break; case "exec": return "shell-command" /* ShellCommand */; case "text": return "template" /* Template */; case "data": return "data-value" /* DataValue */; case "path": return "file-path" /* FilePath */; case "add": return "template" /* Template */; } return "default" /* Default */; } __name(getInterpolationContext, "getInterpolationContext"); export { EscapingStrategyFactory, InterpolationContext, getInterpolationContext }; //# sourceMappingURL=chunk-J5DAGGL3.mjs.map //# sourceMappingURL=chunk-J5DAGGL3.mjs.map