Comparing version 0.9.2 to 0.9.3
{ | ||
"name": "ssf", | ||
"version": "0.9.2", | ||
"version": "0.9.3", | ||
"author": "SheetJS", | ||
@@ -18,3 +18,3 @@ "description": "Format data using ECMA-376 spreadsheet Format Codes", | ||
"mocha":"", | ||
"uglify-js":"" | ||
"@sheetjs/uglify-js":"" | ||
}, | ||
@@ -21,0 +21,0 @@ "repository": { "type":"git", "url":"git://github.com/SheetJS/ssf.git" }, |
@@ -5,3 +5,3 @@ /* ssf.js (C) 2013-present SheetJS -- http://sheetjs.com */ | ||
var make_ssf = function make_ssf(SSF){ | ||
SSF.version = '0.9.2'; | ||
SSF.version = '0.9.3'; | ||
function _strrev(x/*:string*/)/*:string*/ { var o = "", i = x.length-1; while(i>=0) o += x.charAt(i--); return o; } | ||
@@ -105,3 +105,3 @@ function fill(c/*:string*/,l/*:number*/)/*:string*/ { var o = ""; while(o.length < l) o+=c; return o; } | ||
} | ||
function general_fmt_int(v/*:number*/, opts/*:?any*/)/*:string*/ { return ""+v; } | ||
function general_fmt_int(v/*:number*/)/*:string*/ { return ""+v; } | ||
SSF._general_int = general_fmt_int; | ||
@@ -126,7 +126,5 @@ var general_fmt_num = (function make_general_fmt_num() { | ||
function gfn5(o) { | ||
//for(var i = 0; i != o.length; ++i) if(o.charCodeAt(i) === 46) return o.replace(gnr2,"").replace(gnr1,".$1"); | ||
//return o; | ||
return o.indexOf(".") > -1 ? o.replace(gnr2,"").replace(gnr1,".$1") : o; | ||
} | ||
return function general_fmt_num(v/*:number*/, opts/*:?any*/)/*:string*/ { | ||
return function general_fmt_num(v/*:number*/)/*:string*/ { | ||
var V = Math.floor(Math.log(Math.abs(v))*Math.LOG10E), o; | ||
@@ -140,7 +138,7 @@ if(V >= -4 && V <= -1) o = v.toPrecision(10+V); | ||
SSF._general_num = general_fmt_num; | ||
function general_fmt(v/*:any*/, opts/*:?any*/) { | ||
function general_fmt(v/*:any*/) { | ||
switch(typeof v) { | ||
case 'string': return v; | ||
case 'boolean': return v ? "TRUE" : "FALSE"; | ||
case 'number': return (v|0) === v ? general_fmt_int(v, opts) : general_fmt_num(v, opts); | ||
case 'number': return (v|0) === v ? general_fmt_int(v/*, opts*/) : general_fmt_num(v/*, opts*/); | ||
case 'undefined': return ""; | ||
@@ -152,3 +150,3 @@ case 'object': if(v == null) return ""; | ||
SSF._general = general_fmt; | ||
function fix_hijri(date, o) { return 0; } | ||
function fix_hijri(/*date, o*/) { return 0; } | ||
function parse_date_code(v/*:number*/,opts/*:?any*/,b2/*:?boolean*/) { | ||
@@ -162,5 +160,5 @@ if(v > 2958465 || v < 0) return null; | ||
if(opts.date1904) date += 1462; | ||
if(out.u > 0.999) { | ||
if(out.u > 0.9999) { | ||
out.u = 0; | ||
if(++time == 86400) { time = 0; ++date; } | ||
if(++time == 86400) { out.T = time = 0; ++date; ++out.D; } | ||
} | ||
@@ -535,4 +533,3 @@ if(date === 60) {dout = b2 ? [1317,10,29] : [1900,2,29]; dow=3;} | ||
default: | ||
if(fmt.slice(-3) == ".00") return write_num_int(type, fmt.slice(0,-3), val) + ".00"; | ||
if(fmt.slice(-2) == ".0") return write_num_int(type, fmt.slice(0,-2), val) + ".0"; | ||
if(fmt.match(/\.[0#?]*$/)) return write_num_int(type, fmt.slice(0,fmt.lastIndexOf(".")), val) + hashq(fmt.slice(fmt.lastIndexOf("."))); | ||
} | ||
@@ -546,4 +543,4 @@ throw new Error("unsupported format |" + fmt + "|"); | ||
var out/*:Array<string>*/ = []; | ||
var in_str = false, cc; | ||
for(var i = 0, j = 0; i < fmt.length; ++i) switch((cc=fmt.charCodeAt(i))) { | ||
var in_str = false/*, cc*/; | ||
for(var i = 0, j = 0; i < fmt.length; ++i) switch((/*cc=*/fmt.charCodeAt(i))) { | ||
case 34: /* '"' */ | ||
@@ -564,7 +561,7 @@ in_str = !in_str; break; | ||
function fmt_is_date(fmt/*:string*/)/*:boolean*/ { | ||
var i = 0, cc = 0, c = "", o = ""; | ||
var i = 0, /*cc = 0,*/ c = "", o = ""; | ||
while(i < fmt.length) { | ||
switch((c = fmt.charAt(i))) { | ||
case 'G': if(isgeneral(fmt, i)) i+= 6; i++; break; | ||
case '"': for(;(cc=fmt.charCodeAt(++i)) !== 34 && i < fmt.length;) ++i; ++i; break; | ||
case '"': for(;(/*cc=*/fmt.charCodeAt(++i)) !== 34 && i < fmt.length;) ++i; ++i; break; | ||
case '\\': i+=2; break; | ||
@@ -591,9 +588,9 @@ case '_': i+=2; break; | ||
case '0': case '#': | ||
while(i < fmt.length && ("0#?.,E+-%".indexOf(c=fmt.charAt(++i)) > -1 || c=='\\' && fmt.charAt(i+1) == "-" && "0#".indexOf(fmt.charAt(i+2))>-1)){} | ||
while(i < fmt.length && ("0#?.,E+-%".indexOf(c=fmt.charAt(++i)) > -1 || (c=='\\' && fmt.charAt(i+1) == "-" && "0#".indexOf(fmt.charAt(i+2))>-1))){/* empty */} | ||
break; | ||
case '?': while(fmt.charAt(++i) === c){} break; | ||
case '?': while(fmt.charAt(++i) === c){/* empty */} break; | ||
case '*': ++i; if(fmt.charAt(i) == ' ' || fmt.charAt(i) == '*') ++i; break; | ||
case '(': case ')': ++i; break; | ||
case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': | ||
while(i < fmt.length && "0123456789".indexOf(fmt.charAt(++i)) > -1){} break; | ||
while(i < fmt.length && "0123456789".indexOf(fmt.charAt(++i)) > -1){/* empty */} break; | ||
case ' ': ++i; break; | ||
@@ -668,3 +665,3 @@ default: ++i; break; | ||
case '0': case '#': | ||
o = c; while(++i < fmt.length && "0#?.,E+-%".indexOf(c=fmt.charAt(i)) > -1 || c=='\\' && fmt.charAt(i+1) == "-" && i < fmt.length - 2 && "0#".indexOf(fmt.charAt(i+2))>-1) o += c; | ||
o = c; while((++i < fmt.length && "0#?.,E+-%".indexOf(c=fmt.charAt(i)) > -1) || (c=='\\' && fmt.charAt(i+1) == "-" && i < fmt.length - 2 && "0#".indexOf(fmt.charAt(i+2))>-1)) o += c; | ||
out[out.length] = {t:'n', v:o}; break; | ||
@@ -731,5 +728,5 @@ case '?': | ||
(c=out[jj].t) === "?" || c === "D" || | ||
(c === " " || c === "t") && out[jj+1] != null && (out[jj+1].t === '?' || out[jj+1].t === "t" && out[jj+1].v === '/') || | ||
out[i].t === '(' && (c === ' ' || c === 'n' || c === ')') || | ||
c === 't' && (out[jj].v === '/' || out[jj].v === ' ' && out[jj+1] != null && out[jj+1].t == '?') | ||
((c === " " || c === "t") && out[jj+1] != null && (out[jj+1].t === '?' || out[jj+1].t === "t" && out[jj+1].v === '/')) || | ||
(out[i].t === '(' && (c === ' ' || c === 'n' || c === ')')) || | ||
(c === 't' && (out[jj].v === '/' || out[jj].v === ' ' && out[jj+1] != null && out[jj+1].t == '?')) | ||
)) { | ||
@@ -788,3 +785,3 @@ out[i].v += out[jj].v; | ||
for(i=decpt; i<out.length; ++i) { | ||
if(out[i] == null || 'n?('.indexOf(out[i].t) === -1 && i !== decpt ) continue; | ||
if(out[i] == null || ('n?('.indexOf(out[i].t) === -1 && i !== decpt)) continue; | ||
j=out[i].v.indexOf(".")>-1&&i===decpt?out[i].v.indexOf(".")+1:0; | ||
@@ -791,0 +788,0 @@ vv = out[i].v.substr(0,j); |
45
ssf.js
@@ -5,3 +5,3 @@ /* ssf.js (C) 2013-present SheetJS -- http://sheetjs.com */ | ||
var make_ssf = function make_ssf(SSF){ | ||
SSF.version = '0.9.2'; | ||
SSF.version = '0.9.3'; | ||
function _strrev(x) { var o = "", i = x.length-1; while(i>=0) o += x.charAt(i--); return o; } | ||
@@ -105,3 +105,3 @@ function fill(c,l) { var o = ""; while(o.length < l) o+=c; return o; } | ||
} | ||
function general_fmt_int(v, opts) { return ""+v; } | ||
function general_fmt_int(v) { return ""+v; } | ||
SSF._general_int = general_fmt_int; | ||
@@ -126,7 +126,5 @@ var general_fmt_num = (function make_general_fmt_num() { | ||
function gfn5(o) { | ||
//for(var i = 0; i != o.length; ++i) if(o.charCodeAt(i) === 46) return o.replace(gnr2,"").replace(gnr1,".$1"); | ||
//return o; | ||
return o.indexOf(".") > -1 ? o.replace(gnr2,"").replace(gnr1,".$1") : o; | ||
} | ||
return function general_fmt_num(v, opts) { | ||
return function general_fmt_num(v) { | ||
var V = Math.floor(Math.log(Math.abs(v))*Math.LOG10E), o; | ||
@@ -140,7 +138,7 @@ if(V >= -4 && V <= -1) o = v.toPrecision(10+V); | ||
SSF._general_num = general_fmt_num; | ||
function general_fmt(v, opts) { | ||
function general_fmt(v) { | ||
switch(typeof v) { | ||
case 'string': return v; | ||
case 'boolean': return v ? "TRUE" : "FALSE"; | ||
case 'number': return (v|0) === v ? general_fmt_int(v, opts) : general_fmt_num(v, opts); | ||
case 'number': return (v|0) === v ? general_fmt_int(v/*, opts*/) : general_fmt_num(v/*, opts*/); | ||
case 'undefined': return ""; | ||
@@ -152,3 +150,3 @@ case 'object': if(v == null) return ""; | ||
SSF._general = general_fmt; | ||
function fix_hijri(date, o) { return 0; } | ||
function fix_hijri(/*date, o*/) { return 0; } | ||
function parse_date_code(v,opts,b2) { | ||
@@ -162,5 +160,5 @@ if(v > 2958465 || v < 0) return null; | ||
if(opts.date1904) date += 1462; | ||
if(out.u > 0.999) { | ||
if(out.u > 0.9999) { | ||
out.u = 0; | ||
if(++time == 86400) { time = 0; ++date; } | ||
if(++time == 86400) { out.T = time = 0; ++date; ++out.D; } | ||
} | ||
@@ -532,4 +530,3 @@ if(date === 60) {dout = b2 ? [1317,10,29] : [1900,2,29]; dow=3;} | ||
default: | ||
if(fmt.slice(-3) == ".00") return write_num_int(type, fmt.slice(0,-3), val) + ".00"; | ||
if(fmt.slice(-2) == ".0") return write_num_int(type, fmt.slice(0,-2), val) + ".0"; | ||
if(fmt.match(/\.[0#?]*$/)) return write_num_int(type, fmt.slice(0,fmt.lastIndexOf(".")), val) + hashq(fmt.slice(fmt.lastIndexOf("."))); | ||
} | ||
@@ -543,4 +540,4 @@ throw new Error("unsupported format |" + fmt + "|"); | ||
var out = []; | ||
var in_str = false, cc; | ||
for(var i = 0, j = 0; i < fmt.length; ++i) switch((cc=fmt.charCodeAt(i))) { | ||
var in_str = false/*, cc*/; | ||
for(var i = 0, j = 0; i < fmt.length; ++i) switch((/*cc=*/fmt.charCodeAt(i))) { | ||
case 34: /* '"' */ | ||
@@ -561,7 +558,7 @@ in_str = !in_str; break; | ||
function fmt_is_date(fmt) { | ||
var i = 0, cc = 0, c = "", o = ""; | ||
var i = 0, /*cc = 0,*/ c = "", o = ""; | ||
while(i < fmt.length) { | ||
switch((c = fmt.charAt(i))) { | ||
case 'G': if(isgeneral(fmt, i)) i+= 6; i++; break; | ||
case '"': for(;(cc=fmt.charCodeAt(++i)) !== 34 && i < fmt.length;) ++i; ++i; break; | ||
case '"': for(;(/*cc=*/fmt.charCodeAt(++i)) !== 34 && i < fmt.length;) ++i; ++i; break; | ||
case '\\': i+=2; break; | ||
@@ -588,9 +585,9 @@ case '_': i+=2; break; | ||
case '0': case '#': | ||
while(i < fmt.length && ("0#?.,E+-%".indexOf(c=fmt.charAt(++i)) > -1 || c=='\\' && fmt.charAt(i+1) == "-" && "0#".indexOf(fmt.charAt(i+2))>-1)){} | ||
while(i < fmt.length && ("0#?.,E+-%".indexOf(c=fmt.charAt(++i)) > -1 || (c=='\\' && fmt.charAt(i+1) == "-" && "0#".indexOf(fmt.charAt(i+2))>-1))){/* empty */} | ||
break; | ||
case '?': while(fmt.charAt(++i) === c){} break; | ||
case '?': while(fmt.charAt(++i) === c){/* empty */} break; | ||
case '*': ++i; if(fmt.charAt(i) == ' ' || fmt.charAt(i) == '*') ++i; break; | ||
case '(': case ')': ++i; break; | ||
case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': | ||
while(i < fmt.length && "0123456789".indexOf(fmt.charAt(++i)) > -1){} break; | ||
while(i < fmt.length && "0123456789".indexOf(fmt.charAt(++i)) > -1){/* empty */} break; | ||
case ' ': ++i; break; | ||
@@ -665,3 +662,3 @@ default: ++i; break; | ||
case '0': case '#': | ||
o = c; while(++i < fmt.length && "0#?.,E+-%".indexOf(c=fmt.charAt(i)) > -1 || c=='\\' && fmt.charAt(i+1) == "-" && i < fmt.length - 2 && "0#".indexOf(fmt.charAt(i+2))>-1) o += c; | ||
o = c; while((++i < fmt.length && "0#?.,E+-%".indexOf(c=fmt.charAt(i)) > -1) || (c=='\\' && fmt.charAt(i+1) == "-" && i < fmt.length - 2 && "0#".indexOf(fmt.charAt(i+2))>-1)) o += c; | ||
out[out.length] = {t:'n', v:o}; break; | ||
@@ -725,5 +722,5 @@ case '?': | ||
(c=out[jj].t) === "?" || c === "D" || | ||
(c === " " || c === "t") && out[jj+1] != null && (out[jj+1].t === '?' || out[jj+1].t === "t" && out[jj+1].v === '/') || | ||
out[i].t === '(' && (c === ' ' || c === 'n' || c === ')') || | ||
c === 't' && (out[jj].v === '/' || out[jj].v === ' ' && out[jj+1] != null && out[jj+1].t == '?') | ||
((c === " " || c === "t") && out[jj+1] != null && (out[jj+1].t === '?' || out[jj+1].t === "t" && out[jj+1].v === '/')) || | ||
(out[i].t === '(' && (c === ' ' || c === 'n' || c === ')')) || | ||
(c === 't' && (out[jj].v === '/' || out[jj].v === ' ' && out[jj+1] != null && out[jj+1].t == '?')) | ||
)) { | ||
@@ -782,3 +779,3 @@ out[i].v += out[jj].v; | ||
for(i=decpt; i<out.length; ++i) { | ||
if(out[i] == null || 'n?('.indexOf(out[i].t) === -1 && i !== decpt ) continue; | ||
if(out[i] == null || ('n?('.indexOf(out[i].t) === -1 && i !== decpt)) continue; | ||
j=out[i].v.indexOf(".")>-1&&i===decpt?out[i].v.indexOf(".")+1:0; | ||
@@ -785,0 +782,0 @@ vv = out[i].v.substr(0,j); |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
75490
6
1715