mlld
Version:
mlld: a modular prompt scripting language
44 lines (42 loc) • 1.09 kB
JavaScript
import { MlldParseError } from './chunk-YMCO2JI3.mjs';
import { __name } from './chunk-OMKLS24H.mjs';
import matter from 'gray-matter';
import * as yaml from 'js-yaml';
function parseFrontmatter(content) {
try {
const fullDocument = `---
${content}
---
`;
const parsed = matter(fullDocument, {
engines: {
yaml: {
parse: /* @__PURE__ */ __name((input) => yaml.load(input, {
schema: yaml.FAILSAFE_SCHEMA
}), "parse"),
stringify: /* @__PURE__ */ __name((obj) => yaml.dump(obj, {
schema: yaml.FAILSAFE_SCHEMA
}), "stringify")
}
}
});
return parsed.data || {};
} catch (error) {
throw new MlldParseError(`Invalid YAML frontmatter: ${error.message}`, {
start: {
line: 1,
column: 1,
offset: 0
},
end: {
line: 1,
column: 1,
offset: 0
}
});
}
}
__name(parseFrontmatter, "parseFrontmatter");
export { parseFrontmatter };
//# sourceMappingURL=chunk-UUW3GA6G.mjs.map
//# sourceMappingURL=chunk-UUW3GA6G.mjs.map