invoice-fs
Version:
Nostalgic command-line invoicing application producing plain text invoices and JSON data structures. Uses the file system as a database
27 lines (22 loc) • 678 B
JavaScript
var Api = require('invoice-api'),
issuerFile = './data/issuer.json',
issuerAscii = './data/issuer.ascii',
out = require('./out'),
fs = require('fs'),
writeDataSync = require('./writeDataSync');
function Issuer() {
this.type = 'issuer';
this.open();
}
Issuer.prototype.open = function() {
try {
this.data = new Api.Issuer(JSON.parse(fs.readFileSync(issuerFile, 'utf8')));
this.data.asciiArt = fs.readFileSync(issuerAscii, 'utf8');
} catch (e) {
this.data = new Api.Issuer();
}
};
Issuer.prototype.save = function(callback) {
writeDataSync(issuerFile, this.data, callback);
};
module.exports = new Issuer();