-
Notifications
You must be signed in to change notification settings - Fork 0
/
serializer.js
31 lines (27 loc) · 882 Bytes
/
serializer.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
const fs = require('fs')
const path = require('path')
const dest = 'params.json'
function serialize(data, file = path.join(__dirname, dest)) {
if (fs.existsSync(file)) {
saveFn(file, data)
console.log(`...Serialized to ${file}...`)
}
else {
fs.writeFileSync(file, JSON.stringify([], null, '\t'), 'utf-8')
saveFn(file, data)
console.log('File created and data serialized successfully.')
}
}
function saveFn(file, data) {
const tempArr = []
tempArr.push(data)
let fileContent = fs.readFileSync(file, 'utf8')
fileContent = JSON.parse(fileContent)
fileContent.push(tempArr)
fileContent = fileContent.flat()
fs.writeFileSync(file, JSON.stringify(fileContent, null, '\t'), 'utf8')
}
function deserialize(file = path.join(__dirname, dest)){
return JSON.parse(fs.readFileSync(file, 'utf8')).pop()
}
module.exports = {serialize, deserialize}