react 0.0.2 → 0.0.3

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/lib/react.js CHANGED
@@ -3,11 +3,18 @@
3
3
  var util = require('util');
4
4
 
5
5
  var reactOptions = {
6
- debugOutput: false
6
+ debugOutput: false,
7
+ stackTraceLimitMin: 30
7
8
  };
8
9
 
10
+
11
+
9
12
  /**
10
13
  @example
14
+ var reactMod = require('react');
15
+ reactMod.reactOptions.debugOutput = true;
16
+ var react = reactMod.react;
17
+
11
18
  var r = react('filename, uid, cb').define(
12
19
  loadUser, 'uid -> err, user',
13
20
  loadFile, 'filename -> err, filedata',
@@ -26,6 +33,12 @@ function fName(fn){
26
33
  return (typeof(fn) === 'string') ? fn : fn.name;
27
34
  }
28
35
 
36
+ function ensureStackTraceLimitSet(){
37
+ if (!Error.stackTraceLimit || Error.stackTraceLimit < reactOptions.stackTraceLimitMin) {
38
+ Error.stackTraceLimit = reactOptions.stackTraceLimitMin;
39
+ }
40
+ }
41
+
29
42
  function formatErrorMeta(err){
30
43
  if (!err.meta) return;
31
44
  var vcon = err.meta.vcon;
@@ -101,6 +114,7 @@ function parseTaskDefs(arrArgs){ // [fun, strArgsCbArgs, optObj]
101
114
 
102
115
 
103
116
  function react(inputDef){
117
+ ensureStackTraceLimitSet();
104
118
  inputDef = Array.prototype.slice.call(arguments).join(', '); //convert 'a', 'b', 'c' into 'a, b, c'
105
119
  var reactObj;
106
120
  var inOutDef = parseInOutDef(inputDef);
@@ -235,5 +249,6 @@ function react(inputDef){
235
249
  return reactObj;
236
250
  }
237
251
 
238
- module.exports.react = react;
239
- module.exports.reactOptions = reactOptions;
252
+ exports.react = react;
253
+ exports.reactOptions = reactOptions;
254
+
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.0.2",
4
+ "version": "0.0.3",
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" },
@@ -4,9 +4,9 @@
4
4
  Example setting the AST directly without using define
5
5
  */
6
6
 
7
- var react = require(__dirname+'/../lib/react.js').react;
8
- var reactOptions = require(__dirname+'/../lib/react.js').reactOptions;
9
- reactOptions.debugOutput = true;
7
+ var reactMod = require(__dirname+'/../lib/react.js');
8
+ reactMod.reactOptions.debugOutput = true;
9
+ var react = reactMod.react;
10
10
 
11
11
  function loadUser(uid, cb){ setTimeout(cb, 100, null, "User"+uid); }
12
12
  function loadFile(filename, cb){ setTimeout(cb, 100, null, 'Filedata'+filename); }
@@ -25,7 +25,7 @@ function useHtml(err, html, user, bytesWritten) {
25
25
  console.log('final result: %s, user: %s, written:%s', html, user, bytesWritten);
26
26
  }
27
27
 
28
- var r = react();
28
+ var r = reactMod.react();
29
29
  r.ast.inputNames = ['filename', 'uid', 'outDirname', 'cb'];
30
30
  r.ast.taskDefs = [
31
31
  { f:loadUser, a:['uid'], cb:['user'] },
@@ -4,8 +4,9 @@
4
4
  Example using functions with the simple DSL
5
5
  */
6
6
 
7
- var react = require(__dirname+'/../lib/react.js').react;
8
- var reactOptions = require(__dirname+'/../lib/react.js').reactOptions;
7
+ var reactMod = require(__dirname+'/../lib/react.js');
8
+ var react = reactMod.react;
9
+ var reactOptions = reactMod.reactOptions;
9
10
  reactOptions.debugOutput = true;
10
11
  reactOptions.stackTraceLimitMin = 20;
11
12
 
@@ -4,8 +4,9 @@
4
4
  AST directly without define, using object methods in addition to functions
5
5
  */
6
6
 
7
- var react = require(__dirname+'/../lib/react.js').react;
8
- var reactOptions = require(__dirname+'/../lib/react.js').reactOptions;
7
+ var reactMod = require(__dirname+'/../lib/react.js');
8
+ var react = reactMod.react;
9
+ var reactOptions = reactMod.reactOptions;
9
10
  reactOptions.debugOutput = true;
10
11
 
11
12
 
@@ -4,8 +4,9 @@
4
4
  Using object methods in addition to functions with simple DSL
5
5
  */
6
6
 
7
- var react = require(__dirname+'/../lib/react.js').react;
8
- var reactOptions = require(__dirname+'/../lib/react.js').reactOptions;
7
+ var reactMod = require(__dirname+'/../lib/react.js');
8
+ var react = reactMod.react;
9
+ var reactOptions = reactMod.reactOptions;
9
10
  reactOptions.debugOutput = true;
10
11
  reactOptions.stackTraceLimitMin = 20;
11
12
 
@@ -7,8 +7,9 @@
7
7
  to be there.
8
8
  */
9
9
 
10
- var react = require(__dirname+'/../lib/react.js').react;
11
- var reactOptions = require(__dirname+'/../lib/react.js').reactOptions;
10
+ var reactMod = require(__dirname+'/../lib/react.js');
11
+ var react = reactMod.react;
12
+ var reactOptions = reactMod.reactOptions;
12
13
  reactOptions.debugOutput = true;
13
14
 
14
15
 
@@ -7,8 +7,9 @@
7
7
  to be there.
8
8
  */
9
9
 
10
- var react = require(__dirname+'/../lib/react.js').react;
11
- var reactOptions = require(__dirname+'/../lib/react.js').reactOptions;
10
+ var reactMod = require(__dirname+'/../lib/react.js');
11
+ var react = reactMod.react;
12
+ var reactOptions = reactMod.reactOptions;
12
13
  reactOptions.debugOutput = true;
13
14
  reactOptions.stackTraceLimitMin = 20;
14
15