function-tree
Advanced tools
Comparing version
@@ -6,5 +6,3 @@ 'use strict'; | ||
}); | ||
function createDebounce(time) { | ||
var execution = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { timer: null, resolve: null }; | ||
function createDebounce(time, execution) { | ||
function debounce(_ref) { | ||
@@ -15,3 +13,3 @@ var path = _ref.path; | ||
if (execution.timer) { | ||
execution.resolve(path.discarded()); | ||
execution.resolve(path.discard()); | ||
clearTimeout(execution.timer); | ||
@@ -21,3 +19,3 @@ } | ||
execution.timer = setTimeout(function () { | ||
execution.resolve(path.accepted()); | ||
execution.resolve(path.continue()); | ||
execution.timer = null; | ||
@@ -34,17 +32,15 @@ execution.resolve = null; | ||
function debounceFactory(time, continueBranch) { | ||
return [createDebounce(time), { | ||
accepted: continueBranch, | ||
discarded: [] | ||
}]; | ||
function debounceFactory(time) { | ||
// New execution on every call | ||
var execution = { timer: null, resolve: null }; | ||
return createDebounce(time, execution); | ||
} | ||
debounceFactory.shared = function () { | ||
// Shared execution | ||
var execution = { timer: null, resolve: null }; | ||
return function debounceSharedFactory(time, continueBranch) { | ||
return [createDebounce(time, execution), { | ||
accepted: continueBranch, | ||
discarded: [] | ||
}]; | ||
return function debounceSharedFactory(time) { | ||
return createDebounce(time, execution); | ||
}; | ||
@@ -51,0 +47,0 @@ }; |
{ | ||
"name": "function-tree", | ||
"version": "0.5.0-0-alpha.9a0b482e", | ||
"version": "0.5.0-0-alpha.a4b3173e", | ||
"description": "When a function is not enough", | ||
@@ -15,3 +15,4 @@ "main": "lib/index.js", | ||
"chalk": "^1.1.3", | ||
"eventemitter3": "^2.0.2" | ||
"eventemitter3": "^2.0.2", | ||
"ws": "^1.1.1" | ||
}, | ||
@@ -18,0 +19,0 @@ "directories": { |
@@ -91,2 +91,45 @@ # function-tree | ||
#### Devtools | ||
Download the function tree standalone debugger for [Mac](https://drive.google.com/file/d/0B1pYKovu9Upyb1Bkdm5IbkdBN3c/view?usp=sharing), [Windows](https://drive.google.com/file/d/0B1pYKovu9UpyMGRRbG45dWR6R1k/view?usp=sharing) or [Linux](https://drive.google.com/file/d/0B1pYKovu9UpyMFQ5dEdnSy1aN0E/view?usp=sharing). | ||
```js | ||
import Devtools from 'function-tree/devtools' | ||
// Instantiate the devtools with the port | ||
// you are running the debugger on | ||
const devtools = Devtools({ | ||
remoteDebugger: 'localhost:8585' | ||
}) | ||
// Add the provider to any instantiated | ||
// function tree you want to pass | ||
// information from | ||
const execute = FunctionTree([ | ||
devtools.Provider({ | ||
colors: { | ||
someContextProvider: 'green' | ||
} | ||
}) | ||
]) | ||
// Watch execution of the tree | ||
devtools.watchExecution(execute) | ||
export default execute; | ||
``` | ||
You can now do: | ||
```js | ||
function someFunction(context) { | ||
context.debugger.send({ | ||
method: 'someMethod', | ||
args: ['foo', 'bar'], | ||
color: 'red' | ||
}) | ||
} | ||
``` | ||
This is used by **ContextProvider** under the hood, but you are free to use this at your own leisure :) | ||
#### Extending the context | ||
@@ -93,0 +136,0 @@ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
277020
9.01%45
4.65%1683
18.27%531
8.81%3
50%1
Infinity%+ Added
+ Added
+ Added
+ Added