{
  "extends": null,
  "skipTransform": false,
  "transformations": {
    "mappings": [
      {
        "source": "$.spec.messageBody",
        "target": "$.transform.messageBody"
      },
      {
        "source": "$.spec.variable",
        "target": "$.transform.variable"
      },
      {
        "source": "$.spec.messageUriPath",
        "target": "$.transform.messageUriPath"
      },
      {
        "source": "$.spec.telemetry",
        "target": "$.transform.telemetry"
      }
    ],
    "replacements": [
      {
        "target": "$.transform.distributedVariable",
        "value": {
          "expire": "{{$.spec.distributedVariable.expireIn}}",
          "name": "{{$.spec.distributedVariable.name}}",
          "jsonataTransforms": "{{$.spec.distributedVariable.jsonataTransforms}}"
        },
        "condition": "$.spec.distributedVariable"
      },
      {
        "target": "$.transform.messageHeader",
        "value": {
          "messageName": "{{$.spec.messageHeader.messageName}}",
          "jsonataTransforms": []
        },
        "precedence": 10,
        "condition": "$.spec.messageHeader"
      },
      {
        "target": "$.transform.messageHeader.jsonataTransforms",
        "value": {
          "headerNames": {
            "names": "{{$.spec.messageHeader.jsonataTransforms[*].headerNames}}"
          },
          "transform": "{{$.spec.messageHeader.jsonataTransforms[*].transform}}"
        },
        "operation": "push",
        "precedence": 20,
        "condition": "$.spec.messageHeader.jsonataTransforms[*].headerNames"
      },
      {
        "target": "$.transform.messageUriQuery",
        "value": {
          "messageName": "{{$.spec.messageUriQuery.messageName}}",
          "jsonataTransforms": []
        },
        "precedence": 10,
        "condition": "$.spec.messageUriQuery"
      },
      {
        "target": "$.transform.messageUriQuery.jsonataTransforms",
        "value": {
          "queryNames": {
            "action": "{{$.spec.messageUriQuery.jsonataTransforms[*].action}}",
            "names": "{{$.spec.messageUriQuery.jsonataTransforms[*].queryNames}}"
          },
          "transform": "{{$.spec.messageUriQuery.jsonataTransforms[*].transform}}"
        },
        "operation": "push",
        "precedence": 20,
        "condition": "$.spec.messageUriQuery.jsonataTransforms[*].queryNames"
      }
    ]
  }
}