con un clic
setup-chain
create new actions, functions or workflows for logdna/setup-chain
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
create new actions, functions or workflows for logdna/setup-chain
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación 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()