react 0.2.5 → 0.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/lib/fstr.js +11 -2
- package/lib/pcode.js +11 -2
- package/lib/validate.js +1 -1
- package/package.json +1 -1
- package/test/chain.test.js +13 -0
- package/test/fstr.test.js +12 -0
- package/test/pcode.test.js +14 -0
- package/test/validate.test.js +1 -0
- package/lib/.#event-manager.js +0 -1
package/README.md
CHANGED
|
@@ -252,23 +252,23 @@ fn(2, 3, function (err, m, s) {
|
|
|
252
252
|
```bash
|
|
253
253
|
ok ast.test.js .................... 10/10
|
|
254
254
|
ok cb-task.test.js ................ 31/31
|
|
255
|
-
ok chain.test.js ..................
|
|
255
|
+
ok chain.test.js .................. 59/59
|
|
256
256
|
ok core.test.js ................... 98/98
|
|
257
257
|
ok dsl.test.js .................... 63/63
|
|
258
258
|
ok event-manager.test.js .......... 13/13
|
|
259
259
|
ok exec-options.test.js ............. 3/3
|
|
260
260
|
ok finalcb-task.test.js ............. 5/5
|
|
261
|
-
ok fstr.test.js ...................
|
|
261
|
+
ok fstr.test.js ................... 67/67
|
|
262
262
|
ok input-parser.test.js ........... 15/15
|
|
263
263
|
ok module-use.test.js ............. 64/64
|
|
264
|
-
ok pcode.test.js ..................
|
|
264
|
+
ok pcode.test.js .................. 68/68
|
|
265
265
|
ok ret-task.test.js ............... 31/31
|
|
266
266
|
ok task.test.js ..................... 1/1
|
|
267
267
|
ok validate-cb-task.test.js ......... 6/6
|
|
268
268
|
ok validate-ret-task.test.js ........ 7/7
|
|
269
269
|
ok validate.test.js ............... 31/31
|
|
270
270
|
ok vcon.test.js ................... 42/42
|
|
271
|
-
total ...........................
|
|
271
|
+
total ........................... 632/632
|
|
272
272
|
|
|
273
273
|
ok
|
|
274
274
|
```
|
package/lib/fstr.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
/*jshint regexp: false */
|
|
2
3
|
|
|
3
4
|
var sprintf = require('sprintf').sprintf;
|
|
4
5
|
var core = require('./core.js');
|
|
@@ -10,14 +11,22 @@ var OUTPARAMS_NO_MATCH = 'output params in wrong format, wanted "foo, bar" - fou
|
|
|
10
11
|
var INOUT_PARAMS_NO_MATCH = 'task params in wrong format, wanted "foo, bar -> err, baz" - found: %s';
|
|
11
12
|
var EXTRA_TASKARG = 'extra unmatched task arg: %s';
|
|
12
13
|
|
|
14
|
+
var ERR_NAMES_RE = /^err$/i; // err, ERR, Err, ...
|
|
15
|
+
|
|
16
|
+
function filterOutLeadingErrParam(args) { // if leading err param, filter it out
|
|
17
|
+
if (args.length && args[0].match(ERR_NAMES_RE)) args.shift();
|
|
18
|
+
return args;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
|
|
13
22
|
var inOutDefParse = {
|
|
14
|
-
regex: /^([
|
|
23
|
+
regex: /^([^\-]*)(->)?\s*(returns?\s+)?(.*)$/i,
|
|
15
24
|
fn: function (m) {
|
|
16
25
|
var reMatchReturns = /returns?/i;
|
|
17
26
|
return {
|
|
18
27
|
type: (m[3] && m[3].match(reMatchReturns)) ? 'ret' : 'cb',
|
|
19
28
|
inDef: parse.splitTrimFilterArgs(m[1]),
|
|
20
|
-
outDef: parse.splitTrimFilterArgs(m[4])
|
|
29
|
+
outDef: filterOutLeadingErrParam(parse.splitTrimFilterArgs(m[4]))
|
|
21
30
|
};
|
|
22
31
|
}
|
|
23
32
|
};
|
package/lib/pcode.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
/*jshint regexp: false */
|
|
2
3
|
|
|
3
4
|
var sprintf = require('sprintf').sprintf;
|
|
4
5
|
var core = require('./core.js');
|
|
@@ -10,6 +11,14 @@ var OUTPARAMS_NO_MATCH = 'output params in wrong format, wanted "cb(err, foo)" -
|
|
|
10
11
|
var INOUT_PARAMS_NO_MATCH = 'task params in wrong format, wanted "foo, bar := func(baz, cat, cb) " - found: %s';
|
|
11
12
|
var EXTRA_TASKARG = 'extra unmatched task arg: %s';
|
|
12
13
|
|
|
14
|
+
var ERR_NAMES_RE = /^err$/i; // err, ERR, Err, ...
|
|
15
|
+
|
|
16
|
+
function filterOutLeadingErrParam(args) { // if leading err param, filter it out
|
|
17
|
+
if (args.length && args[0].match(ERR_NAMES_RE)) args.shift();
|
|
18
|
+
return args;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
|
|
13
22
|
/**
|
|
14
23
|
Examples:
|
|
15
24
|
var react = require('react');
|
|
@@ -82,10 +91,10 @@ var retParse = {
|
|
|
82
91
|
};
|
|
83
92
|
|
|
84
93
|
var finalCbParse = {
|
|
85
|
-
regex: /^\s*(cb|callback)\s*\((
|
|
94
|
+
regex: /^\s*(cb|callback)\s*\(([^)]*)\)\s*;?$/i,
|
|
86
95
|
fn: function (m) {
|
|
87
96
|
return {
|
|
88
|
-
outDef: (m[
|
|
97
|
+
outDef: (m[2]) ? filterOutLeadingErrParam(parse.splitTrimFilterArgs(m[2])) : []
|
|
89
98
|
};
|
|
90
99
|
}
|
|
91
100
|
};
|
package/lib/validate.js
CHANGED
|
@@ -153,7 +153,7 @@ function validateNoMissingNames(ast) {
|
|
|
153
153
|
if (!isLiteralOrProp(p) && !names[p]) accum.push(sprintf(MISSING_INPUTS, p)); // add error if missing
|
|
154
154
|
return accum;
|
|
155
155
|
}, errors);
|
|
156
|
-
return errors;
|
|
156
|
+
return errors; //TODO reenable
|
|
157
157
|
}
|
|
158
158
|
|
|
159
159
|
module.exports = validate;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react",
|
|
3
3
|
"description": "React is a javascript module to make it easier to work with asynchronous code, by reducing boilerplate code and improving error and exception handling while allowing variable and task dependencies when defining flow.",
|
|
4
|
-
"version": "0.2.
|
|
4
|
+
"version": "0.2.6",
|
|
5
5
|
"author": "Jeff Barczewski <jeff.barczewski@gmail.com>",
|
|
6
6
|
"repository": { "type": "git", "url": "http://github.com/jeffbski/react.git" },
|
|
7
7
|
"bugs" : { "url": "http://github.com/jeffbski/react/issues" },
|
package/test/chain.test.js
CHANGED
|
@@ -75,6 +75,19 @@ test('single task, single out params', function (t) {
|
|
|
75
75
|
t.end();
|
|
76
76
|
});
|
|
77
77
|
|
|
78
|
+
test('single task, err params', function (t) {
|
|
79
|
+
var fn = chainDefine()
|
|
80
|
+
.out('err')
|
|
81
|
+
.async(falpha).in().out('err', 'c')
|
|
82
|
+
.end();
|
|
83
|
+
t.deepEqual(fn.ast.inParams, []);
|
|
84
|
+
t.deepEqual(fn.ast.tasks, [
|
|
85
|
+
{ f: falpha, type: 'cb', a: [], out: ['c'], name: 'falpha' }
|
|
86
|
+
]);
|
|
87
|
+
t.deepEqual(fn.ast.outTask, { a: [], type: 'finalcb' });
|
|
88
|
+
t.end();
|
|
89
|
+
});
|
|
90
|
+
|
|
78
91
|
test('single task, err and out params', function (t) {
|
|
79
92
|
var fn = chainDefine()
|
|
80
93
|
.out('err', 'c')
|
package/test/fstr.test.js
CHANGED
|
@@ -59,6 +59,18 @@ test('single task, single out params', function (t) {
|
|
|
59
59
|
t.end();
|
|
60
60
|
});
|
|
61
61
|
|
|
62
|
+
test('single task, err params', function (t) {
|
|
63
|
+
var r = fstrDefine('a, b', [
|
|
64
|
+
falpha, 'a, b -> err, c'
|
|
65
|
+
], 'err');
|
|
66
|
+
t.deepEqual(r.ast.inParams, ['a', 'b']);
|
|
67
|
+
t.deepEqual(r.ast.tasks, [
|
|
68
|
+
{ f: falpha, a: ['a', 'b'], out: ['c'], type: 'cb', name: 'falpha'}
|
|
69
|
+
]);
|
|
70
|
+
t.deepEqual(r.ast.outTask, { a: [], type: 'finalcb' });
|
|
71
|
+
t.end();
|
|
72
|
+
});
|
|
73
|
+
|
|
62
74
|
test('single task, err and out params', function (t) {
|
|
63
75
|
var r = fstrDefine('a, b', [
|
|
64
76
|
falpha, 'a, b -> err, c'
|
package/test/pcode.test.js
CHANGED
|
@@ -62,6 +62,20 @@ test('single task, single out params', function (t) {
|
|
|
62
62
|
t.end();
|
|
63
63
|
});
|
|
64
64
|
|
|
65
|
+
test('single task, single out params, cb(err)', function (t) {
|
|
66
|
+
var locals = { falpha: falpha };
|
|
67
|
+
var r = pcode('a, b', [
|
|
68
|
+
'c := falpha(a, b)',
|
|
69
|
+
'cb(err)'
|
|
70
|
+
], locals);
|
|
71
|
+
t.deepEqual(r.ast.inParams, ['a', 'b']);
|
|
72
|
+
t.deepEqual(r.ast.tasks, [
|
|
73
|
+
{ f: 'falpha', a: ['a', 'b'], out: ['c'], type: 'cb', name: 'falpha'}
|
|
74
|
+
]);
|
|
75
|
+
t.deepEqual(r.ast.outTask, { a: [], type: 'finalcb' });
|
|
76
|
+
t.end();
|
|
77
|
+
});
|
|
78
|
+
|
|
65
79
|
test('single task, err and out params', function (t) {
|
|
66
80
|
var locals = { falpha: falpha };
|
|
67
81
|
var r = pcode('a, b', [
|
package/test/validate.test.js
CHANGED
package/lib/.#event-manager.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
barczewskij@ELSSTLM-184670.local.99357
|