mirror of
https://github.com/tiennm99/is-a-dev.git
synced 2026-05-16 22:59:15 +00:00
28 lines
718 B
JavaScript
28 lines
718 B
JavaScript
const fs = require("fs");
|
|
const path = require("path");
|
|
const R = require("ramda");
|
|
const { DOMAINS_PATH } = require("./constants");
|
|
|
|
const toDomain = (str) => path.join(DOMAINS_PATH, str);
|
|
|
|
const parseDomain = (name) => (str) => {
|
|
try {
|
|
return JSON.parse(str);
|
|
} catch (e) {
|
|
throw new Error(`Error: Could not parse ${name} => ${str}`);
|
|
}
|
|
};
|
|
|
|
const toDomainData = (name) =>
|
|
R.compose(parseDomain(name), R.toString, fs.readFileSync, toDomain)(name);
|
|
|
|
const getDomains = () =>
|
|
fs.promises.readdir(DOMAINS_PATH, {}).then(
|
|
R.map((name) => ({
|
|
...toDomainData(name),
|
|
name: name.replace(/\.json$/, ""),
|
|
})),
|
|
);
|
|
|
|
module.exports = { getDomains };
|