Security News
RubyGems.org Adds New Maintainer Role
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
action-chainer
Advanced tools
Chain async actions one after another. Makes it easy to do async actions when they depend on each other.
Chain async actions one after another. Makes it easy to do async actions when they depend on each other.
npm install action-chainer
This example will take the x-value
header from the previous call, and set it for the next one:
const Chainer = require('action-chainer');
const chainer = new Chainer({
// Sets the state after a successful action
reducer: function(res) {
var state = {
headers: {
'x-value': res ? res.headers.get('x-value') : null
}
};
return state;
},
// Prepares the action arguments based on the given arguments and state
argsTransformer: function([input, init], state) {
return [input, state];
}
});
// Wraps around the fetch API
const chainableFetch = (input, init) => chain(window.fetch, [input, init], window);
Promise.all([
chainableFetch('/foo'),
chainableFetch('/bar'),
chainableFetch('/baz')
]).then((responses) => {
// Handle the responses
// Fetch calls were done one after another and the `x-value` header was passed from one to another
});
The constructor accepts an options object that can contain two methods:
The reducer method receives the action result, and should return a new state
The argsTransformer receives a list of arguments given to the chained function (as an array) and the state returned by the reducer of the previous action. It should return an array of arguments that should be passed to the original wrapped action function
The chainer instance has only one method - chain. It receives the function we want to call, an array of arguments we want to pass to it and the context we want to use (optional). Chain can be used for one time chained calls, but it can also be used to wrap functions for multiple uses (like in the example above)
The MIT License
action-chainer is maintained and sponsored by Infinum.
FAQs
Chain async actions one after another. Makes it easy to do async actions when they depend on each other.
We found that action-chainer demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer 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.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.
Security News
Research
Socket's threat research team has detected five malicious npm packages targeting Roblox developers, deploying malware to steal credentials and personal data.