com um clique
setup-chain
create new actions, functions or workflows for logdna/setup-chain
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
create new actions, functions or workflows for logdna/setup-chain
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Baseado na classificação ocupacional SOC
| name | setup-chain |
| description | create new actions, functions or workflows for logdna/setup-chain |
| license | MIT |
| metadata | {"author":"Mezmo Inc,."} |
Adds new actions and functions to logdna setup-chain
node executable is installed on the host@logdna/setup-chain in dependencies or devDependenciesIf any of the above are not met, explain what is missing. Do not proceed with custom action creation.
Follow these steps to create and wire up a custom action:
Define the action function in an actions object
async functions or return a Promiseconst actions = {
myAction: async (opts) => {
return opts.value || 'default'
}
}
Create or extend SetupChain class
class MyChain extends SetupChain {
constructor(state) {
super(state, actions)
}
}
Use the action in your chain
await new MyChain().myAction({value: 'test'}, 'result').execute()
// state: {result: 'test'}
Validate your implementation works as expected
Only manually push this.tasks when action signature deviates from (opts, label):
class MyChain extends SetupChain {
constructor(state) {
super(state, yourActions)
}
customAction(arg1, arg2, label) {
this.tasks.push(['customAction', label, arg1, arg2])
return this
}
}
See create-action.md for detailed patterns and examples.
SetupChain implements chain-of-responsibility pattern. Actions are available as top level functions on a chain instance. Chain actions, execute, and results are stored in state.
const chain = new MyChain()
const state = await chain
.set('user', 'alice')
.map('#user', n => n * 2, 'doubled')
.execute()
// state: {user: 'alice', doubled: [2, 4, 6]}
Best practices:
.action1().action2().execute()new SetupChain(state2)const chain = new MyChain()
// test scenerio 1
chain
.account({}, 'account_one')
.user({account: '#account_one'}, 'user_one')
// test scenerio 1
chain
.account({}, 'account_two')
.user({account: '#account_two'}, 'user_two')
const state = await chain.execute()