FBL
  • About FBL
  • Flows
    • Hello World
    • Templates
    • Template Functions
    • Metadata Fields
  • Plugins
    • Flow Control
    • Context State
    • Execute (Shell & JavaScript)
    • File System
    • CLI Prompts
    • Execution Reporters
    • Common Options
  • Anti-Patterns & Pitfalls
    • Sequence Action Handler - "shareParameters" option
  • Packages
  • Glossary
Powered by GitBook
On this page

Was this helpful?

  1. Anti-Patterns & Pitfalls

Sequence Action Handler - "shareParameters" option

shareParameters allow to share parameters across child actions instead of creating cloned version to split branches.

Usage example:

# set default parameters
$parameters:
    test: false

'--':
    - fn: |-
        parameters.test = true

    - ctx:
        '$.test': 
            inline: $ref:parameters.test

As a result of execution ctx.test will have false value, ad -- clones parameters for each of the actions. Meaning fn function that modifies the parameters will have no affect on ctx.

But, if we add $shareParameters metadata, things will change:

# set default parameters
$parameters:
    test: false

'--':
  # tell action to share parameters
  shareParameters: true
  actions:
    - fn: |-
        parameters.test = true

    - ctx:
        '$.test': 
            inline: $ref:parameters.test

As a result of execution ctx.test will now have true value.

Note: this is actually an anti-pattern: parameters modification is shadowed and might not be obvious. Make sure to use shareParameters only when necessary.

PreviousAnti-Patterns & PitfallsNextPackages

Last updated 6 years ago

Was this helpful?