hedera-web/js/vn/value.js

66 lines
1.1 KiB
JavaScript

var VnDate = require ('./date');
module.exports =
{
regexpNumber: /%\.([0-9]+)d/g
,regexpString: /%s/g
,compare: function (a, b)
{
if (a === b)
return true;
if (typeof a === typeof b && a instanceof Date)
return a.getTime () === b.getTime ();
return false;
}
,format: function (value, format)
{
if (value === null || value === undefined)
return '';
if (format)
switch (typeof value)
{
case 'number':
return format.replace (this.regexpNumber,
this.replaceNumber.bind (null, value));
case 'string':
return format.replace (this.regexpString,
this.replaceString.bind (null, value));
case 'object':
if (value instanceof Date)
return VnDate.strftime (value, format);
}
return value;
}
,replaceNumber: function (value, token, digits)
{
return new Number (value).toFixed (parseInt (digits));
}
,replaceString: function (value)
{
return value;
}
};
window.sprintf = function (formatString)
{
var args = arguments;
if (args.length <= 1)
return formatString;
var i = 1;
return formatString.replace (/%[s|d]/g, function ()
{
return args[i++];
});
}