mirror of
https://github.com/tiennm99/is-a-dev.git
synced 2026-05-17 20:59:28 +00:00
23 lines
639 B
JavaScript
23 lines
639 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: Cant 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};
|