| This functionality is Sneak Peek status. This means that the APIs may change. We welcome your feedback, ideas, and code, but please use caution if you use this new functionality. |
| This page is still a rough draft. |
fluid.model.transformWithRules(model, rules)
Rules
Rules objects take the form of:
Transformation Expanders
The Framework currently provides the following expanders that can be used as part of a model transformation.
- fluid.model.transform.value
- fluid.model.transform.arrayValue
- fluid.model.transform.firstValue
- fluid.model.transform.merge
Each of these is described below.
fluid.model.transform.value
This extracts and/or the value of a given path, and can be used for the following purposes:
To rename a property:
|
Start: |
|
Rule to rename "cat" to "feline": |
|
Result: |
To set a default value:
|
Start: |
|
Rule to set default value of "gerbil": |
|
Result: Note that if "gerbil" has a value initially, it will be unaffected. |
To specify a literal value:
|
Start: |
|
Rule to set a value for "kangaroo": |
|
Result: |
To change the structure/nesting:
|
Start: |
|
Rule to change the nesting: |
|
Result: |
fluid.model.transform.arrayValue
The arrayValue expander will transform a value into an aray. If the value is already an array, the expander will have no effect.
For example:
|
Start: |
|
Rule to convert to arrays: |
|
Result: Note that the value of cat is now an array, but the value of sheep is unaffected. |
fluid.model.transform.firstValue
fluid.model.transform.merge
Example
In this example, description here...