UNPKG

jsonbinpack

Version:

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

122 lines (121 loc) 3.76 kB
{ "type": "object", "encoding": "REQUIRED_ONLY_BOUNDED_TYPED_OBJECT", "options": { "propertyEncodings": { "rules": { "type": "object", "encoding": "REQUIRED_ONLY_BOUNDED_TYPED_OBJECT", "options": { "propertyEncodings": { "scope-case": { "type": "array", "encoding": "BOUNDED_8BITS_TYPED_LENGTH_PREFIX", "options": { "minimum": 3, "maximum": 3, "prefixEncodings": [ { "type": "integer", "encoding": "FLOOR_MULTIPLE_ENUM_VARINT", "options": { "minimum": 0, "multiplier": 1 } }, { "type": "enum", "encoding": "BOUNDED_CHOICE_INDEX", "options": { "choices": [ "always", "never" ] } }, { "type": "array", "encoding": "FLOOR_TYPED_LENGTH_PREFIX", "options": { "minimum": 0, "encoding": { "type": "string", "encoding": "FLOOR_PREFIX_LENGTH_ENUM_VARINT", "options": { "minimum": 0 } }, "prefixEncodings": [] } } ], "encoding": { "type": "any", "encoding": "ANY_PACKED_TYPE_TAG_BYTE_PREFIX", "options": {} } } }, "subject-case": { "type": "array", "encoding": "BOUNDED_8BITS_TYPED_LENGTH_PREFIX", "options": { "minimum": 3, "maximum": 3, "prefixEncodings": [ { "type": "integer", "encoding": "FLOOR_MULTIPLE_ENUM_VARINT", "options": { "minimum": 0, "multiplier": 1 } }, { "type": "enum", "encoding": "BOUNDED_CHOICE_INDEX", "options": { "choices": [ "always", "never" ] } }, { "type": "array", "encoding": "FLOOR_TYPED_LENGTH_PREFIX", "options": { "minimum": 0, "encoding": { "type": "string", "encoding": "FLOOR_PREFIX_LENGTH_ENUM_VARINT", "options": { "minimum": 0 } }, "prefixEncodings": [] } } ], "encoding": { "type": "any", "encoding": "ANY_PACKED_TYPE_TAG_BYTE_PREFIX", "options": {} } } } }, "requiredProperties": [ "scope-case", "subject-case" ], "booleanRequiredProperties": [] } } }, "requiredProperties": [ "rules" ], "booleanRequiredProperties": [] } }