UNPKG

invoice-fs

Version:

Nostalgic command-line invoicing application producing plain text invoices and JSON data structures. Uses the file system as a database

18 lines (13 loc) 706 B
var obj = require('javascript-object-paraphernalia'), state = require('./state'); function InvoiceNumberGenerator() {} InvoiceNumberGenerator.prototype.padWhenNarrow = function(width, number) { var text = "" + number; return text.length >= width ? text : new Array((width + 1) - text.length).join('0') + text; }; InvoiceNumberGenerator.prototype.getInvoiceNumber = function(callback) { var invoiceNumber = state.get("numberPrefix") + this.padWhenNarrow(state.get("minimumNumberWidth"), state.get("number")) + state.get("numberSuffix"); state.set('number', parseInt(state.get("number"), 10) + 1, callback); return invoiceNumber; }; module.exports = new InvoiceNumberGenerator();