bontaki-engine
Version:
emotions to psychoanalytic metaphor conversion
63 lines (54 loc) • 1.51 kB
JavaScript
const data = require("../data");
module.exports = function (props) {
// private
function readdir(path) {
return new Promise((resolve, reject) => {
props.method.fs.readdir(path, (error, files) => {
if(error) {
reject(error);
}
resolve(files);
});
});
}
function readFile(path) {
return new Promise((resolve, reject) => {
props.method.fs.readFile(path, "utf8", (error, data) => {
if(error) {
reject(error);
}
resolve(data);
});
});
}
function writeFile(path, data) {
return new Promise((resolve, reject) => {
props.method.fs.writeFile(path, data, (error, data) => {
if(error) {
reject(error);
}
resolve(data);
});
});
}
async function getConcepts() {
const filepath = props.method.path.join(__dirname, "./concepts");
const files = await readdir(filepath);
var concepts = [];
for(var i = 0; i < files.length; ++i) {
const file = await readFile(props.method.path.join(filepath, files[i]));
concepts.push({ concept: files[i].replace(".txt", ""), body: file });
}
return concepts;
}
// privileged
this.createConceptData = async function() {
const concept_data = [].concat(...(await getConcepts()).map((raw) => {
return raw.body.split(".").map((utterance) => {
return { utterance: utterance, intent: raw.concept }
});
}));
console.log(concept_data);
await writeFile(props.method.path.join(__dirname, "../data/concepts.data.json"), JSON.stringify(concept_data));
}
};