Методы преобразования данных

В некоторых шагах можно самостоятельно определить алгоритм обработки данных. К таким шагам относятся HashJoin, MergeJoin, Map, Rollup. Пользовательский алгоритм преобразования в этих шагах определяется в атрибуте с именем "transform" с помощью JavaScript:

<Node id="m" type="Map">
    <Attr name="transform">
        <![CDATA[//...]]>
    </Attr>
</Node>

В шагах, использующих функцию преобразования, можно применять методы для работы с записями, описанные в примере ниже:

<Node id="map" guiX="250" guiY="100" guiName="map" type="Map">
    <Attr name="transform"><![CDATA[//
        $out[0].person = $in[0].name.toString() + "_" + $in[0].surname.toString();
        $out[1].person = $in[0].name.toString().toUpperCase() + " " + $in[0].surname.toString().toUpperCase();
        
        return ALL;

Param(param_name) возвращает значение param_name, но выдает ошибку unknown parameter 'param_name', если имя параметра не определено

                0 => $out[0].obj_type = param("X"),
                1 => $out[0].obj_type = param("RbISb"),
                2 => $out[0].obj_type = format!("secure number is {}", param("FILE_PRM_NUM")),

Param_or(param_name, default_value) возвращает значение параметра или default_value, если параметра нет


                3 => $out[0].obj_type = input.obj_type + " is not " + &param_or("XX", "goose") + "!",

Try_param(param_name) возвращает Some(value) (value является строкой) в случае, если параметр есть, None, если параметра нет


                4 => $out[0].obj_type = if let Some(obj_type) = try_param("X") { obj_type } else { "tuturu".to_string() },

Param_parse_or(param_name, default_value) возвращает преобразованное значение параметра, если он есть или default_value. Возвращает ошибку, если значение параметра не преобразуется к типу

                5 | 6 => {
                    $out[0].y_coord = param_parse_or("X", 24);
                    $out[0].obj_type = param_parse_or("X", "tururu".to_string());
                }
                 _ => $out[0].obj_type = input.obj_type,
            
                index += 1;

                return ALL;