agsamantha/node_modules/langchain/dist/util/parse.js

22 lines
706 B
JavaScript
Raw Normal View History

2024-10-02 15:15:21 -05:00
import * as yaml from "yaml";
import { extname } from "./extname.js";
export const loadFileContents = (contents, format) => {
switch (format) {
case ".json":
return JSON.parse(contents);
case ".yml":
case ".yaml":
return yaml.parse(contents);
default:
throw new Error(`Unsupported filetype ${format}`);
}
};
export const parseFileConfig = (text, path, supportedTypes) => {
const suffix = extname(path);
if (![".json", ".yaml"].includes(suffix) ||
(supportedTypes && !supportedTypes.includes(suffix))) {
throw new Error(`Unsupported filetype ${suffix}`);
}
return loadFileContents(text, suffix);
};