Skip to content

Commit ed55a20

Browse files
committed
version bump 1.0.1: typings
- typescript definitions and types - flowtype definition refinement
1 parent 4838519 commit ed55a20

25 files changed

+172
-69
lines changed

.flowconfig

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
.*/node_modules/.*
33
.*/dist/.*
44
.*/test.js
5-
.*/printj.js
65

76
.*/bits/.*
87
.*/ctest/.*
@@ -13,6 +12,8 @@
1312
.*/demo/browser.js
1413
.*/shim.js
1514

15+
.*/printj.js
16+
1617
[include]
1718
printj.flow.js
1819
.*/bin/.*.njs

Makefile

+4
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,10 @@ old-lint: $(TARGET) ## Run jshint and jscs checks
8484
@jscs lib/*.js
8585
if [ -e $(CLOSURE) ]; then java -jar $(CLOSURE) $(FLOWTARGET) --jscomp_warning=reportUnknownTypes >/dev/null; fi
8686

87+
.PHONY: tslint
88+
tslint: $(TARGET) ## Run typescript checks
89+
#@npm install dtslint typescript
90+
@npm run-script dtslint
8791

8892
.PHONY: flow
8993
flow: lint ## Run flow checker

bin/printj.njs

+5-5
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,11 @@ function help() {
3333
}
3434

3535
function parse_arg(arg/*:string*/)/*:any*/ {
36-
var m = arg.substr(2), p/*:number*/;
37-
if(arg.charCodeAt(1) == 58) switch((p = arg.charCodeAt(0))) {
38-
case /*n*/ 110: return parseInt(m);
36+
var m = arg.substr(2), p/*:number*/ = 0;
37+
if(arg.charCodeAt(1) === 58) switch((p = arg.charCodeAt(0))) {
38+
case /*n*/ 110: return parseInt(m, 10);
3939
case /*f*/ 102: return parseFloat(m);
40-
case /*b*/ 98: return !(m.toUpperCase() == "FALSE" || m == "0");
40+
case /*b*/ 98: return !(m.toUpperCase() === "FALSE" || m === "0");
4141
case /*j*/ 106: return JSON.parse(m);
4242
case /*e*/ 101: return eval(m);
4343
case /*s*/ 115: return m;
@@ -56,7 +56,7 @@ for(var i = 2; i < argv.length; ++i) switch(argv[i]) {
5656
console.log(X.vsprintf(fmt, args));
5757
process.exit(0);
5858

59-
function dump(fmt) {
59+
function dump(fmt/*:string*/)/*:number*/ {
6060
if(!fmt) { console.error("printj: missing format argument"); return 1; }
6161
X._tokenize(fmt).forEach(function(x){console.log(x);});
6262
return 0;

bits/00_header.js

+7-7
Original file line numberDiff line numberDiff line change
@@ -2,26 +2,26 @@
22
/* vim: set ts=2: */
33
/*jshint sub:true, eqnull:true */
44
/*exported PRINTJ */
5-
/*:: declare var DO_NOT_EXPORT_PRINTJ: any; */
6-
/*:: declare var define: any; */
7-
var PRINTJ/*:any*/;
5+
/*:: declare var DO_NOT_EXPORT_PRINTJ:?boolean; */
6+
/*:: declare function define(cb:()=>any):void; */
7+
var PRINTJ/*:PRINTJModule*/;
88
(function (factory/*:(a:any)=>void*/)/*:void*/ {
99
/*jshint ignore:start */
1010
if(typeof DO_NOT_EXPORT_PRINTJ === 'undefined') {
1111
if('object' === typeof exports) {
1212
factory(exports);
1313
} else if ('function' === typeof define && define.amd) {
1414
define(function () {
15-
var module/*:any*/ = {};
15+
var module/*:PRINTJModule*/ = /*::(*/{}/*:: :any)*/;
1616
factory(module);
1717
return module;
1818
});
1919
} else {
20-
factory(PRINTJ = {});
20+
factory(PRINTJ = /*::(*/{}/*:: :any)*/);
2121
}
2222
} else {
23-
factory(PRINTJ = {});
23+
factory(PRINTJ = /*::(*/{}/*:: :any)*/);
2424
}
2525
/*jshint ignore:end */
26-
}(function(PRINTJ) {
26+
}(function(PRINTJ/*:PRINTJModule*/) {
2727
#include "01_version.js"

bits/01_version.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
PRINTJ.version = '1.0.0';
1+
PRINTJ.version = '1.0.1';

bits/40_macros.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#define isnan isNaN
22
//#define PAD_(x,c) (x >= 0 ? new Array(((x)|0) + 1).join((c)) : "")
3-
var padstr = {
3+
var padstr/*:{[s:string]:string}*/ = {
44
" ": " ",
55
"0": "000000000000000000000000000000000",
66
"7": "777777777777777777777777777777777",
@@ -37,7 +37,7 @@ function pads(x/*:number*/, c/*:string*/)/*:string*/ { return PAD_(x,c); }
3737
#error SIZEOF_WCHAR_T must be 1, 2, or 4
3838
#endif
3939

40-
#define CHAR_TO_STR(O,cc) cc &= MASK_CHAR; O = String.fromCharCode(cc);
40+
#define CHAR_TO_STR(O,cc) { cc &= MASK_CHAR; O = String.fromCharCode(cc); }
4141

4242
#if SIZEOF_SIZE_T > 4 /* TODO: negative ptrs? */
4343
#define CONV_SIZE_T(x) x = Math.abs(x);

bits/50_doit.js

+4-5
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
#include "30_ctypes.js"
22
#include "40_macros.js"
3-
/*:: declare var util:any; */
4-
/*:: declare var require: any; */
3+
/*:: var util = require('util'); */
54
/*global process:true, util:true, require:true */
65
if(typeof process !== 'undefined' && !!process.versions && !!process.versions.node) util=require("util");
76
var u_inspect/*:(o:any)=>string*/ = (typeof util != 'undefined') ? util.inspect : JSON.stringify;
@@ -12,8 +11,8 @@ function doit(t/*:ParsedFmt*/, args/*:Array<any>*/)/*:string*/ {
1211
var argidx/*:number*/ = 0, idx/*:number*/ = 0;
1312
var Vnum/*:number*/ = 0;
1413
var pad/*:string*/ = "";
15-
for(var i = 0; i < t.length; ++i) {
16-
var m/*:Array<any>*/ = t[i], c/*:number*/ = (m[0]/*:string*/).charCodeAt(0);
14+
for(var i/*:number*/ = 0; i < t.length; ++i) {
15+
var m/*:ParsedEntry*/ = t[i], c/*:number*/ = (m[0]/*:string*/).charCodeAt(0);
1716
/* m order: conv full param flags width prec length */
1817

1918
if(c === /*L*/ 76) { o.push(m[1]); continue; }
@@ -24,7 +23,7 @@ function doit(t/*:ParsedFmt*/, args/*:Array<any>*/)/*:string*/ {
2423

2524
/* flags */
2625
var flags/*:string*/ = m[IDX_FLAGS]||"";
27-
var alt = flags.indexOf("#") > -1;
26+
var alt/*:boolean*/ = flags.indexOf("#") > -1;
2827

2928
/* position */
3029
if(m[IDX_POS]) argidx = parseInt(m[IDX_POS])-1;

bits/51_convstr.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
if(c == 67 || len.charCodeAt(0) === /*l*/ 108) WCHAR_TO_STR(O, cc)
1616
else CHAR_TO_STR(O, cc)
1717
break;
18-
case "string": O = arg.charAt(0); break;
18+
case "string": O = /*::(*/arg/*:: :string)*/.charAt(0); break;
1919
default: O = String(arg).charAt(0);
2020
}
2121
WIDTH(O, width, flags)

bits/54_convmisc.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
/* store length in the `len` key */
1313
case /*n*/ 110:
14-
if(arg) { arg.len=0; for(var oo = 0; oo < o.length; ++oo) arg.len += o[oo].length; }
14+
if(arg) { arg.len=0; for(var oo/*:number*/ = 0; oo < o.length; ++oo) arg.len += o[oo].length; }
1515
continue;
1616

1717
/* process error */

bits/60_integer.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
} else {
3232
Vnum = (-Vnum) % 1e16;
3333
var d1/*:Array<number>*/ = [1,8,4,4,6,7,4,4,0,7,3,7,0,9,5,5,1,6,1,6];
34-
var di = d1.length - 1;
34+
var di/*:number*/ = d1.length - 1;
3535
while(Vnum > 0) {
3636
if((d1[di] -= (Vnum % 10)) < 0) { d1[di] += 10; d1[di-1]--; }
3737
--di; Vnum = Math.floor(Vnum / 10);

bits/70_float.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Vnum = Number(arg);
22
if(arg === null) Vnum = 0/0;
33
if(len == "L") bytes = 12;
4-
var isf = isFinite(Vnum);
4+
var isf/*:boolean*/ = isFinite(Vnum);
55
if(!isf) { /* Infinity or NaN */
66
if(Vnum < 0) O = "-";
77
else if(flags.indexOf("+") > -1) O = "+";
@@ -94,7 +94,7 @@
9494
O = Vnum.toString(16);
9595
if(O.length > 1) {
9696
if(O.length > prec+2 && O.charCodeAt(prec+2) >= 56) {
97-
var _f = O.charCodeAt(0) == 102;
97+
var _f/*:boolean*/ = O.charCodeAt(0) == 102;
9898
O = (Vnum + 8 * Math.pow(16, -prec-1)).toString(16);
9999
if(_f && O.charCodeAt(0) == 49) E += 4;
100100
}

bits/80_wrapper.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
function vsprintf(fmt/*:string*/, args/*:Array<any>*/) { return doit(tokenize(fmt), args); }
1+
function vsprintf(fmt/*:string*/, args/*:Args*/)/*:string*/ { return doit(tokenize(fmt), args); }
22

3-
function sprintf()/*:string*/ {
3+
function sprintf(/*:: ...argz*/)/*:string*/ {
44
var args/*:Array<any>*/ = new Array(arguments.length - 1);
5-
for(var i = 0; i < args.length; ++i) args[i] = arguments[i+1];
5+
for(var i/*:number*/ = 0; i < args.length; ++i) args[i] = arguments[i+1];
66
return doit(tokenize(arguments[0]), args);
77
}

bits/flow.js

+7-5
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
/*::
2-
type ParsedFmt = Array<Array<any>>;
2+
type ParsedEntry = Array<string>;
3+
type ParsedFmt = Array<ParsedEntry>;
34
type Args = Array<any>;
45
declare module "exit-on-epipe" { };
56
declare class PRINTJModule {
6-
sprintf(fmt:string, ...args:any):string;
7-
vsprintf(fmt:string, args:Args):string;
8-
_doit(t:ParsedFmt, args:Args):string;
9-
_tokenize(fmt:string):ParsedFmt;
7+
version:string;
8+
sprintf:(fmt:string, ...args:any)=>string;
9+
vsprintf:(fmt:string, args:Args)=>string;
10+
_doit:(t:ParsedFmt, args:Args)=>string;
11+
_tokenize:(fmt:string)=>ParsedFmt;
1012
};
1113
declare module "./" { declare var exports:PRINTJModule };
1214
declare module "../" { declare var exports:PRINTJModule };

ctest/printj.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ var PRINTJ;
2323
/*jshint ignore:end */
2424
}(function(PRINTJ) {
2525

26-
PRINTJ.version = '1.0.0';
26+
PRINTJ.version = '1.0.1';
2727

2828
function tokenize(fmt) {
2929
var out = [];
@@ -216,7 +216,7 @@ function doit(t, args) {
216216
case "number":
217217
var cc = arg;
218218
if(c == 67 || len.charCodeAt(0) === /*l*/ 108) { cc &= 0xFFFFFFFF; O = String.fromCharCode( cc); }
219-
else cc &= 0xFF; O = String.fromCharCode( cc);
219+
else { cc &= 0xFF; O = String.fromCharCode( cc); }
220220
break;
221221
case "string": O = arg.charAt(0); break;
222222
default: O = String(arg).charAt(0);

dist/printj.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ var PRINTJ;
2323
/*jshint ignore:end */
2424
}(function(PRINTJ) {
2525

26-
PRINTJ.version = '1.0.0';
26+
PRINTJ.version = '1.0.1';
2727

2828
function tokenize(fmt) {
2929
var out = [];
@@ -216,7 +216,7 @@ function doit(t, args) {
216216
case "number":
217217
var cc = arg;
218218
if(c == 67 || len.charCodeAt(0) === /*l*/ 108) { cc &= 0xFFFFFFFF; O = String.fromCharCode( cc); }
219-
else cc &= 0xFF; O = String.fromCharCode( cc);
219+
else { cc &= 0xFF; O = String.fromCharCode( cc); }
220220
break;
221221
case "string": O = arg.charAt(0); break;
222222
default: O = String(arg).charAt(0);

dist/printj.min.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)