You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
It's at times useful to have multiple action functions run in succession. This makes it easier to keep things DRY when there's reusable logic and can help decompose large functions into smaller composable pieces.
Describe the solution you'd like
Much like Express, it seems reasonable to support multiple action functions with some mechanism to continue or not.
#!/usr/bin/env node
const{ program }=require("@caporal/core");program.action(({ args, options, next })=>{if(signedIn()){next();}else{thrownewError("You must sign in first");}});program.action(({ args, options })=>{console.log("Hello, world!");});program.run();
Describe alternatives you've considered
There's a workaround that looks like the following:
#!/usr/bin/env node
const{ program }=require("@caporal/core");program.action({ args, options }=>{signinRequired();console.log("Hello, world!");});program.run();functionsigninRequired(){if(signedIn()){next();}else{thrownewError("You must sign in first");}}
This works, but things could be tidier and simpler with separate functions. One problem the workaround requires dealing with is passing along arguments from the action handler ({ args, options }) to the signinRequired() function if they're needed.
Additional context
None.
Would you be able to work on it and provide a pull request ?
Yes
No
The text was updated successfully, but these errors were encountered:
Is your feature request related to a problem? Please describe.
It's at times useful to have multiple action functions run in succession. This makes it easier to keep things DRY when there's reusable logic and can help decompose large functions into smaller composable pieces.
Describe the solution you'd like
Much like Express, it seems reasonable to support multiple action functions with some mechanism to continue or not.
Describe alternatives you've considered
There's a workaround that looks like the following:
This works, but things could be tidier and simpler with separate functions. One problem the workaround requires dealing with is passing along arguments from the action handler (
{ args, options }
) to thesigninRequired()
function if they're needed.Additional context
None.
Would you be able to work on it and provide a pull request ?
The text was updated successfully, but these errors were encountered: