poke-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] Added elementType to Array object in order to handle empty


From: Konstantinos Chasialis
Subject: Re: [PATCH] Added elementType to Array object in order to handle empty arrays correctly.
Date: Tue, 3 Aug 2021 00:49:20 +0300
User-agent: SquirrelMail/1.4.23 [email.uoa.gr]

> Hello!
>
> Previously, we inferred the array type by extracting the first element of
> the array and checking its type. This is not very robust and does not
> handle empty arrays. I have updated the schema to contain an string-enum
> elementType that declares that type of the array's elements.
>
> Please note that NULL is missing, do you believe it should be added?

An example of this :

{
    "PokeValue" : {
        "type": "Array",
        "elementType": "Integer",
        "elements" : [
            {
                "value" : {
                    "type" : "Integer",
                    "value" : 1,
                    "size" : 64
                },
                "boffset" : {
                    "type" : "UnsignedInteger",
                    "value" : 0,
                    "size" : 64
                }
            },
            {
                "value" : {
                    "type" : "Integer",
                    "value" : 2,
                    "size" : 64
                },
                "boffset" : {
                    "type" : "UnsignedInteger",
                    "value" : 64,
                    "size" : 64
                }
            },
            {
                "value" : {
                    "type" : "Integer",
                    "value" : 3,
                    "size" : 64
                },
                "boffset" : {
                    "type" : "UnsignedInteger",
                    "value" : 128,
                    "size" : 64
                }
            },
            {
                "value" : {
                    "type" : "Integer",
                    "value" : 15,
                    "size" : 64
                },
                "boffset" : {
                    "type" : "UnsignedInteger",
                    "value" : 192,
                    "size" : 64
                }
            },
            {
                "value" : {
                    "type" : "Integer",
                    "value" : 25,
                    "size" : 64
                },
                "boffset" : {
                    "type" : "UnsignedInteger",
                    "value" : 256,
                    "size" : 64
                }
            },
            {
                "value" : {
                    "type" : "Integer",
                    "value" : -35,
                    "size" : 64
                },
                "boffset" : {
                    "type" : "UnsignedInteger",
                    "value" : 320,
                    "size" : 64
                }
            },
            {
                "value" : {
                    "type" : "Integer",
                    "value" : 64,
                    "size" : 64
                },
                "boffset" : {
                    "type" : "UnsignedInteger",
                    "value" : 384,
                    "size" : 64
                }
            },
            {
                "value" : {
                    "type" : "Integer",
                    "value" : 123,
                    "size" : 64
                },
                "boffset" : {
                    "type" : "UnsignedInteger",
                    "value" : 448,
                    "size" : 64
                }
            }
        ],
        "mapping" : {
            "mapped": true,
            "strict": true,
            "IOS": 213,
            "offset": {
                "type": "Offset",
                "magnitude": {
                        "type": "UnsignedInteger",
                    "value": 123,
                    "size": 32
                },
                "unit": {
                        "type": "UnsignedInteger",
                    "value": 123,
                    "size": 64
                }
            }
        }
    }
}




reply via email to

[Prev in Thread] Current Thread [Next in Thread]