resolveNodes function

Map<String, dynamic> resolveNodes(
  1. dynamic node,
  2. dynamic inputValues,
  3. dynamic nodeType,
  4. dynamic context,
)

Implementation

Map<String, dynamic> resolveNodes(
  dynamic node,
  dynamic inputValues,
  dynamic nodeType,
  dynamic context,
) {
  final nodeMap = _castToStringMap(node) ?? {};
  final inputValuesMap = _castToStringMap(inputValues) ?? {};
  final contextMap = _castToStringMap(context) ?? {};

  final nodeTypeStr = nodeMap['type'] as String? ?? '';

  switch (nodeTypeStr) {
    case 'jmesPath':
      return _resolveJmesPath(inputValuesMap);

    case 'string':
      return {'string': inputValuesMap['string']};

    case 'boolean':
      return {'boolean': inputValuesMap['boolean']};

    case 'number':
      return {'number': inputValuesMap['number']};

    case 'statuscode':
      return {'statuscode': inputValuesMap['statuscode']};

    case 'StringConcat':
      return _resolveStringConcat(inputValuesMap);

    case 'EventClick':
      return _resolveEventClick(inputValuesMap, contextMap);

    case 'click1':
      return _resolveClick1(inputValuesMap, contextMap);

    case 'sendTealiumTagClick':
      return _resolveSendTealiumTagClick(inputValuesMap, contextMap);

    case 'sendTealiumTagView':
      return _resolveSendTealiumTagView(inputValuesMap, contextMap);

    case 'sendTealiumTag':
      return _resolveSendTealiumTag(inputValuesMap, contextMap);

    case 'reverseBoolean':
      return {'boolean': !_safeCastToBool(inputValuesMap['boolean'], false)};

    case 'generartag':
      return _resolveGenerateTag(inputValuesMap);

    case 'getvariable':
      return _resolveGetVariable(inputValuesMap, contextMap);

    case 'getRequest':
      return _resolveGetRequest(contextMap);

    case 'getView':
      return _resolveGetView(contextMap);

    case 'logicalCompare':
      return _resolveLogicalCompare(inputValuesMap, contextMap);

    case 'and':
      return _resolveAnd(inputValuesMap);

    case 'or':
      return _resolveOr(inputValuesMap);

    case 'not':
      return _resolveNot(inputValuesMap);

    case 'generatevariable':
      return _resolveGenerateVariable(inputValuesMap);

    case 'dictionary':
      return _resolveDictionary(inputValuesMap, contextMap);

    case 'dictionaryAttribute':
      return _resolveDictionaryAttribute(inputValuesMap);

    case 'createMetric':
      return _resolveCreateMetric(inputValuesMap, contextMap);

    case 'action':
      return _resolveAction(inputValuesMap);

    case 'actionPerformance':
      return _resolveActionPerformance(inputValuesMap);

    case 'changeDataType':
      return _resolveChangeDataType(inputValuesMap);

    case 'textReplacer':
      return _resolveTextReplacer(inputValuesMap);

    case 'valueFallback':
      return _resolveValueFallback(inputValuesMap);

    case 'logicalNumbers':
      return _resolveLogicalNumbers(inputValuesMap);

    case 'logicalArray':
      return _resolveLogicalArray(inputValuesMap);

    case 'textControlCheck':
      return _resolveTextControlCheck(inputValuesMap, contextMap);

    case 'nativeElementSearch':
      return _resolveNativeElementSearch(inputValuesMap, contextMap);

    case 'doActions':
      return _resolveDoActions(inputValuesMap);

    default:
      return inputValuesMap;
  }
}