How to use the @ibm-functions/composer.try function in @ibm-functions/composer

To help you get started, we’ve selected a few @ibm-functions/composer examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github ibm-functions / shell / tests / data / composer-source / composer5.js View on Github external
*
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

'use strict'

const composer = require('@ibm-functions/composer')

// build action composition
const app = composer.try('RandomError', /* catch */ args => ({ message: args.error + ' is caught' }))

// output action composition
console.log(JSON.stringify(app, null, 4))

// invoke action composition
const wsk = composer.openwhisk({ignore_certs:true})
function print(obj) { console.log(JSON.stringify(obj.response ? obj.response.result : obj, null, 4)) }
wsk.actions.invoke({ name: 'conductor', params: { $run: app, n: 3, $blocking: true }, blocking: true }).then(print, console.error)
github ibm-functions / shell / app / plugins / modules / composer / lib / try.js View on Github external
.then( ([{entity:task,fsm:taskFSM}, {entity:handler,fsm:handlerFSM}]) => {
                // make the FSM
                const fsm = composer.try(taskFSM, handlerFSM)

                if (options.name) {
                    // we were asked to create a new action for this FSM
                    return create({ name: options.name, fsm, wsk, commandTree, execOptions, type })
                } else {
                    // replace the task entity with the fsm
                    return update({ name: taskName, entity: task, // taking over this entity's name
                                    fsm, wsk, commandTree, execOptions, type })
                }
            })
    }