0.0.13-2023.1.1 • Published 3 months ago

@itentialopensource/separate-array-of-objects v0.0.13-2023.1.1

Weekly downloads
-
License
Apache-2.0
Repository
-
Last release
3 months ago

Deprecation Notice

This Pre-Built has been deprecated as of 01-15-2024 and will be end of life on 01-15-2025. The capabilities of this Pre-Built have been replaced by the IAP - Data Manipulation

Separate Array of Objects

Table of Contents

Overview

This Pre-Built Transformation allows you to separate an array of objects into an array of matching items and an array of non-matching elements by providing a key and value that needs to be matched. This pre-built is closely related to the Filter Array of Objects pre-built, with the only difference being that the non-matching elements array is returned by default without the need for the user to set a flag to obtain it.

Installation Prerequisites

Users must satisfy the following prerequisites:

  • Itential Automation Platform: 2022.1

How to Install

To install the pre-built:

  • Verify you are running a supported version of the Itential Automation Platform (IAP) as listed above in the Prerequisites section.
  • The pre-built can be installed from within App-Admin_Essential. Simply search for the name of your desired pre-built and click the install button.

How to Run

Use the following to run the pre-built: 1. Once the JST is installed as outlined in the How to Install section above, navigate to the section in your workflow where you would like to separate an array of objects and add a JSON Transformation task.

  1. Inside the Transformation task, search for and select separateArrayofOfObjects (the name of the internal JST).

  2. After selecting the task, the transformation dialog will display. Based on which items need to match, the inputs to the JST would be the array of objects, the key and the value.

  3. The output of the JST can be used in any task in the Workflow Builder that comes after the JSON Transformation task.

  4. Save your input and outputs.

  5. The task is ready to run inside of IAP.

Attributes

Attributes for the pre-built are outlined in the following tables.

Input

Output

Examples

Below are examples describing how the pre-built will work for different inputs.

Example 1

Input

{
  "dataArray": [
    {
      "city": "Atlanta",
      "state": "GA"
    },
    {
      "city": "Sandy Springs",
      "state": "GA"
    },
    {
      "city": "Dallas",
      "state": "TX"
    },
    {
      "city": "Orlando",
      "state": "FL"
    }
  ],
  "key": "state",
  "value": "GA"
}

Output

{
  "matchingItems": [
    {
      "city": "Atlanta",
      "state": "GA"
    },
    {
      "city": "Sandy Springs",
      "state": "GA"
    }
  ],
  "nonmatchingItems": [
    {
      "city": "Dallas",
      "state": "TX"
    },
    {
      "city": "Orlando",
      "state": "FL"
    }
  ]
}

Example 2

Input

{
  "dataArray": [
    {
      "store": "Costco",
      "item": "orange"
    },
    {
      "store": "Winn Dixie",
      "item": "Apple"
    },
    {
      "store": "Costco",
      "item": "milk"
    },
    {
      "store": "Kroger",
      "item": "yam"
    },
    {
      "store": "Home Depot",
      "item": "ladder"
    },
    {
      "store": "CVS",
      "item": "batteries"
    }
  ],
  "key": "store",
  "value": "Walmart"
}

Output

{
  "matchingItems": [],
  "nonmatchingItems": [
    {
      "store": "Costco",
      "item": "orange"
    },
    {
      "store": "Winn Dixie",
      "item": "Apple"
    },
    {
      "store": "Costco",
      "item": "milk"
    },
    {
      "store": "Kroger",
      "item": "yam"
    },
    {
      "store": "Home Depot",
      "item": "ladder"
    },
    {
      "store": "CVS",
      "item": "batteries"
    }
  ]
}

Additional Information

Please use your Itential Customer Success account if you need support when using this Pre-Built Transformation.