mlld
Version:
mlld: llm scripting language
99 lines (97 loc) • 3.69 kB
JavaScript
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