UNPKG

my-own-words

Version:

A small tool that I have created to keep safe all those words/expressions that I come across when I'm learning a new language

80 lines (62 loc) 1.6 kB
const fs = require('fs'); const os = require('os'); const home = os.homedir(); const route = `${home}\\.my-own-words`; function dirExists() { return fs.existsSync(route); } function createDir() { return fs.mkdirSync(route); } function listExists(listName) { return fs.existsSync(`${route}\\${listName}.json`); } function createFile(listName, extension = 'json') { return fs.writeFileSync( `${route}\\${listName}.${extension}`, `${extension === 'json' ? '{}' : ''}`, ); } function getLists() { return fs.readdirSync(route); } function removeList(listName) { return fs.unlinkSync(`${route}\\${listName}.json`); } function getWords(listName) { return fs.readFileSync(`${route}\\${listName}.json`).toString(); } function parseWords(json) { return JSON.parse(json); } function getAndParseWords(listName) { return parseWords(getWords(listName)); } function sortWords(words) { const unsortedWords = Object.entries(words).sort(); const sortedWords = {}; unsortedWords.map(word => (sortedWords[word[0]] = word[1].sort())); return sortedWords; } function saveWords(listName, words) { return fs.writeFileSync(`${route}\\${listName}.json`, JSON.stringify(words)); } function sortAndSaveWords(listName, words) { return saveWords(listName, sortWords(words)); } function saveIntoMarkdown(listName, word) { return fs.appendFileSync(`${route}\\${listName}.md`, `${word}`); } module.exports = { dirExists, createDir, listExists, createFile, getLists, removeList, getAndParseWords, sortWords, saveWords, sortAndSaveWords, saveIntoMarkdown, };