Skip to content

Command Piping

Grisgram edited this page Oct 3, 2025 · 5 revisions

Description

Command piping works very similarly to Command Batching
In fact, it is like batching, but with separate parameters for each command in the chain.
When used correctly, this feature becomes very powerful.

Syntax

member: { "key": "#first:params|#second:params|#third:params" }
key: no implementation

Example

Before Applyment

Note

When using piping the #ref command can be omitted.
For example:#file:my/path|without/ref

// some_file.json located in 'datafiles'
{
     "some_color": "#color:c_blue",
     "some_struct": {}
}

{
    "some_struct": {
        "some_function": "#func:do_something"
    },

    "ref_color1": "#file:some_file|#ref:some_color",
    "ref_color2": "#file:some_file|some_color",          // <-- #ref is not required

    "copy_struct": "#file:some_file|#copy:some_struct",
    "function_result": "#ref:some_struct|#invoke:some_function"
}

After Applyment

{
    "some_struct": {
        "some_function": _function pointer_
    },

    "ref_color1": _runtime color value_,             // "#file:some_file|#ref:some_color"
    "ref_color2": _runtime color value_,             // "#file:some_file|some_color"

    "copy_struct": {},                               // "#file:some_file|#copy:some_struct"
    "function_result": "Hello World!"                // "#ref:some_struct|#invoke:some_function"
}

Author’s Recommendation: next read Array Access

Clone this wiki locally