From f9a2ec27a90bbde6b04fb77b94a9f8845da7bb43 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Thu, 12 Feb 2015 11:39:27 -0300 Subject: [PATCH] add zeroPad --- lib/storage.js | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/lib/storage.js b/lib/storage.js index 81b237a..50bcf06 100644 --- a/lib/storage.js +++ b/lib/storage.js @@ -20,6 +20,9 @@ var Storage = function(opts) { }); }; +var zeroPad = function(x, length) { + return (Array(length).join('0') + parseInt(x)).slice(-length); +}; var walletPrefix = function(id) { return 'w!' + id; @@ -29,9 +32,9 @@ var opKey = function(key) { return key ? '!' + key : ''; }; -var MAX_TS = '999999999999'; +var MAX_TS = Array(14).join('9'); var opKeyTs = function(key) { - return key ? '!' + ('00000000000000' + key).slice(-14) : ''; + return key ? '!' + zeroPad(key, 14) : ''; }; @@ -155,8 +158,8 @@ Storage.prototype.fetchTxs = function(walletId, opts, cb) { var txs = []; opts = opts || {}; opts.limit = _.isNumber(opts.limit) ? parseInt(opts.limit) : -1; - opts.minTs = _.isNumber(opts.minTs) ? ('00000000000' + parseInt(opts.minTs)).slice(-11) : 0; - opts.maxTs = _.isNumber(opts.maxTs) ? ('00000000000' + parseInt(opts.maxTs)).slice(-11) : MAX_TS; + opts.minTs = _.isNumber(opts.minTs) ? zeroPad(opts.minTs, 11) : 0; + opts.maxTs = _.isNumber(opts.maxTs) ? zeroPad(opts.maxTs, 11) : MAX_TS; var key = KEY.TXP(walletId, opts.minTs); var endkey = KEY.TXP(walletId, opts.maxTs); @@ -192,8 +195,8 @@ Storage.prototype.fetchNotifications = function(walletId, opts, cb) { var txs = []; opts = opts || {}; opts.limit = _.isNumber(opts.limit) ? parseInt(opts.limit) : -1; - opts.minTs = _.isNumber(opts.minTs) ? ('00000000000000' + parseInt(opts.minTs)).slice(-14) : 0; - opts.maxTs = _.isNumber(opts.maxTs) ? ('00000000000000' + parseInt(opts.maxTs)).slice(-14) : MAX_TS; + opts.minTs = _.isNumber(opts.minTs) ? zeroPad(opts.minTs,11) : 0; + opts.maxTs = _.isNumber(opts.maxTs) ? zeroPad(opts.maxTs,11) : MAX_TS; var key = KEY.NOTIFICATION(walletId, opts.minTs); var endkey = KEY.NOTIFICATION(walletId, opts.maxTs);