UNPKG

bontaki-engine

Version:
63 lines (54 loc) 1.51 kB
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)); } };