Example - Transformation formats
Scripts
One script is associated with a Manufacturer and
                    Model for encoding and decoding the uplink/downlink messages
                respectively, in the transformation gateway script engine. These scripts are stored
                in the database.
Script is written in JavaScript (ECMAScript 2020 edition). The script has two
                functions, encode() and decode(). The script
                function encode(), returns a raw data specific to the device. While
                the function decode(), returns a decoded data in JSON format.
Any utility functions can be defined in a separate util.js file.
Note: Scripts contain two sections; the  main codec script and a utility script. The
                utility script is optional. When an upload operation is to be performed, the main
                script must have a file name as, codec.js or
                    encode.js. Whereas, the utility script must have a file
                name as, util.js or utility.js.
            Adding scripts to IMPACT IoT
        Scripts can be added
                    using either of the following ways:
- Scripts can be added or updated directly from IMPACT IoT Console or using REST APIs.
- Scripts can be uploaded as a zip file in IMPACT IoT Console or using REST APIs.Note: The main script and the utility script must be zipped together and uploaded but not as a folder.
Supported data formats
The following device data formats are supported in IMPACT IoT.
            - Hexa decimal (HEX)
- Binary (B64)
- JSON
Note: The script can handle the mixed payload and parse the preceding data
                formats.
            Subsequent sections provide more details on each of these data formats.