Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

1. Setting values inside Record Token using recordset actor

recordset actor allows you to set/modify values inside Record Token. It works following way:

  1. If there is no field inside Record Token, it will add it into Record Token

    Code Block
    { a = 1 } -> inputRecord -+
                              |
                               >- { a = 1, b = 2 }
                              |
    2         -> b           -+                    // I am passing value 2 into port with the name b - new 
                                                   // entry inside record will be created
  2. If there is a field with given name inside Record Token, it will be replaced

    Code Block
    { a = 1, b = 1 } -> inputRecord -+
                                     |
                                      >- { a = 1, b = 2 }
                                     |
    2                -> b           -+             // I am passing value 2 into port with the name b - old 
                                                   // value will be replaced with new one
  3. If there is a field with given name inside Record Token, the type of field may change if you pass different type in the input

     

    Code Block
    { a = 1, b = 1 }  -> inputRecord -+
                                      |
                                       >- { a = 1, b = { c = 2 } }
                                      |
    { c = 2 }         -> b           -+            // I am passing record { c = 2 } into port b - old value 
                                                   // will be replaced with Record Token element (nested Record Token)
  4. You can modify nested Record Type values by separating names of elements with /. E.g. you can specify "a/b"

    Code Block
    { a = { b = 1} }  -> inputRecord -+
                                      |
                                       >- { a = 1, b = { c = 2 } }
                                      |
    2                 -> a/b         -+            // I am passing value 2 into port a/b - this time, I modify element a.b inside Record Token
                                                   // note that we have to use "/" in port name due to the fact Kepler 
                                                   // doesn't allow to use "." as name separator

 

 

Image Modified

2. Getting values from Record Token using recordget actor

 

This recordget actor allows you to retrieve values from Record Token. Comparing to expressions, you can:

  • get the whole Record Token as it is (e.g. to pass it further) via "//" port
  • you can get multiple fields at the same time by specifying their names using output ports
  • you can get nested values directly from the Record Token

  RecordToken