diff --git a/libs/params.mjs b/libs/params.mjs new file mode 100644 index 0000000..3edf508 --- /dev/null +++ b/libs/params.mjs @@ -0,0 +1,21 @@ +import { path } from "ramda"; +import { parse } from "yaml"; +import { fs } from "zx"; + +const loadParamsYaml = async () => { + const yaml = await fs.readFile("params.yaml", "utf-8"); + const params = parse(yaml); + return params; +} + +/** @typedef {import("ramda").Path} Path */ + +/** @param {Path} p */ +const getParam = async (p) => { + const params = await loadParamsYaml(); + return path(p, params); +} + +export { + getParam +} diff --git a/package-lock.json b/package-lock.json index 428e538..e208581 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,7 @@ "license": "MIT", "dependencies": { "ramda": "^0.28.0", + "yaml": "^2.1.1", "zx": "^7.0.7" }, "devDependencies": { diff --git a/package.json b/package.json index 96dd144..022c5e1 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,7 @@ "license": "MIT", "dependencies": { "ramda": "^0.28.0", + "yaml": "^2.1.1", "zx": "^7.0.7" }, "devDependencies": {