Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Functional async flow control library. Turn your asynchronous code into bite-sized synchronous looking functions.
npm install breeze
Node.js / Browserify
var breeze = require('breeze')
breeze(step)
- Initialize breeze flow system, supports initial .then
method..pass(value)
- Introduce new value into flow system, argument is appended to system arguments passed through next
..when(check, step)
- When check
is truthy, add step
to the stack.maybe(check, step)
- When check
is truthy, add step
to the stack, sugar for breeze.when
.some(check, step)
- When check
is truthy and no other some
or none
has ran, add to the stack.none(step)
- Whenever no some
have ran, add callback to the stack.then(step)
- Add callback to stack.each(iterables, iteratee, step)
- Iterate over an object / array and invoke a method for each entry. iterables
is not a reference therefore, you must properly store iterables
outside of the flow if you plan to update or modify the object..catch(step)
- Any error caught will terminate stack and be sent here.deferred()
- Returns a deferred promise system, allowing for a passable then / catch..reset()
- Reset current systemThe step
method passed through breeze has a very small API, providing any arguments
stored within the system passed through either the next
or .pass
methods, and the next
callback method which is explained below.
function step (next, arguments...)
The next
method is the step callback system, it provides utility for short-circuiting the step system with an error, passing additional arguments along the chain, and skipping steps completely.
return next(err, arguments...)
The next
method supports additional modes explained below.
When a truthy err
is passed the system will short-circuit (no other actions will be taken) and .catch
will be triggered.
When a promise
is passed the system will attach to either a then / catch
or .then(success, catch)
method style depending on the promise type passed.
Whenever the promises then / then success
method is invoked, any arguments
passed along with the initial promise are placed at the front of the arguments array, and the success arguments will be last.
This allows you to chain multiple promises while still passing values down the chain.
next(promise, arguments...)
When you pass the string skip
as the first argument in the next
method, the next step in the sequence will be skipped completely.
You can skip multiple steps by providing a number as the second argument to next
equalling the number of steps you wish to skip. Defaults to 1
.
next('skip', 1 /* optional; number of steps to skip */)
breeze
, then
, catch
)then
, next(promise)
)then
, pass
, each
, catch
)then
, when
)Check out the examples directory for more in-depth examples and tutorials of how to use breeze.
Licensed under The MIT License.
FAQs
Functional async flow control library
The npm package breeze receives a total of 113 weekly downloads. As such, breeze popularity was classified as not popular.
We found that breeze demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.