UNPKG

jsonbinpack

Version:

A space-efficient schema-driven binary JSON serialization format based on JSON Schema

136 lines (135 loc) 4.08 kB
{ "type": "array", "encoding": "FLOOR_TYPED_LENGTH_PREFIX", "options": { "minimum": 0, "encoding": { "type": "object", "encoding": "REQUIRED_ONLY_BOUNDED_TYPED_OBJECT", "options": { "propertyEncodings": { "dt": { "type": "integer", "encoding": "FLOOR_MULTIPLE_ENUM_VARINT", "options": { "minimum": 0, "multiplier": 1 } }, "coord": { "type": "array", "encoding": "BOUNDED_8BITS_TYPED_LENGTH_PREFIX", "options": { "minimum": 2, "maximum": 2, "encoding": { "type": "number", "encoding": "DOUBLE_VARINT_TUPLE", "options": {} }, "prefixEncodings": [] } }, "weather": { "type": "object", "encoding": "MIXED_BOUNDED_TYPED_OBJECT", "options": { "propertyEncodings": { "temp": { "type": "number", "encoding": "DOUBLE_VARINT_TUPLE", "options": {} }, "wind_speed": { "type": "number", "encoding": "DOUBLE_VARINT_TUPLE", "options": {} }, "wind_deg": { "type": "integer", "encoding": "FLOOR_MULTIPLE_ENUM_VARINT", "options": { "minimum": 0, "multiplier": 1 } }, "precipitation_intensity": { "type": "number", "encoding": "DOUBLE_VARINT_TUPLE", "options": {} }, "dew_point": { "type": "number", "encoding": "DOUBLE_VARINT_TUPLE", "options": {} } }, "optionalProperties": [ "precipitation_intensity" ], "requiredProperties": [ "dew_point", "temp", "wind_deg", "wind_speed" ], "booleanRequiredProperties": [] } }, "alerts": { "type": "array", "encoding": "FLOOR_TYPED_LENGTH_PREFIX", "options": { "minimum": 0, "encoding": { "type": "object", "encoding": "REQUIRED_ONLY_BOUNDED_TYPED_OBJECT", "options": { "propertyEncodings": { "sender_name": { "type": "string", "encoding": "FLOOR_PREFIX_LENGTH_ENUM_VARINT", "options": { "minimum": 0 } }, "event": { "type": "string", "encoding": "FLOOR_PREFIX_LENGTH_ENUM_VARINT", "options": { "minimum": 0 } }, "event_level": { "type": "integer", "encoding": "FLOOR_MULTIPLE_ENUM_VARINT", "options": { "minimum": 0, "multiplier": 1 } } }, "requiredProperties": [ "event", "event_level", "sender_name" ], "booleanRequiredProperties": [] } }, "prefixEncodings": [] } } }, "requiredProperties": [ "alerts", "coord", "dt", "weather" ], "booleanRequiredProperties": [] } }, "prefixEncodings": [] } }