jsonbinpack
Version:
A space-efficient schema-driven binary JSON serialization format based on JSON Schema
214 lines (213 loc) • 5.44 kB
JSON
{
"type": "object",
"encoding": "REQUIRED_ONLY_BOUNDED_TYPED_OBJECT",
"options": {
"propertyEncodings": {
"extends": {
"type": "string",
"encoding": "FLOOR_PREFIX_LENGTH_ENUM_VARINT",
"options": {
"minimum": 0
}
},
"parser": {
"type": "string",
"encoding": "FLOOR_PREFIX_LENGTH_ENUM_VARINT",
"options": {
"minimum": 0
}
},
"ecmaFeatures": {
"type": "enum",
"encoding": "BOUNDED_CHOICE_INDEX",
"options": {
"choices": [
{
"jsx": false
},
{
"jsx": true
}
]
}
},
"plugins": {
"type": "array",
"encoding": "FLOOR_TYPED_LENGTH_PREFIX",
"options": {
"minimum": 0,
"encoding": {
"type": "string",
"encoding": "FLOOR_PREFIX_LENGTH_ENUM_VARINT",
"options": {
"minimum": 0
}
},
"prefixEncodings": []
}
},
"env": {
"type": "enum",
"encoding": "BOUNDED_CHOICE_INDEX",
"options": {
"choices": [
{
"browser": false,
"node": false,
"es6": false
},
{
"browser": false,
"node": false,
"es6": true
},
{
"browser": false,
"node": true,
"es6": false
},
{
"browser": false,
"node": true,
"es6": true
},
{
"browser": true,
"node": false,
"es6": false
},
{
"browser": true,
"node": false,
"es6": true
},
{
"browser": true,
"node": true,
"es6": false
},
{
"browser": true,
"node": true,
"es6": true
}
]
}
},
"rules": {
"type": "object",
"encoding": "PACKED_BOUNDED_REQUIRED_OBJECT",
"options": {
"packedEncoding": {
"type": "integer",
"encoding": "BOUNDED_MULTIPLE_8BITS_ENUM_FIXED",
"options": {
"minimum": 0,
"maximum": 2,
"multiplier": 1
}
},
"packedRequiredProperties": [
"comma-dangle",
"eqeqeq",
"no-console",
"no-debugger",
"no-extra-parens",
"no-extra-semi",
"no-irregular-whitespace",
"no-undef",
"no-unused-vars",
"react/display-name",
"react/forbid-prop-types",
"react/jsx-boolean-value",
"react/jsx-closing-bracket-location",
"react/jsx-curly-spacing",
"react/jsx-indent-props",
"react/jsx-max-props-per-line",
"react/jsx-no-duplicate-props",
"react/jsx-no-literals",
"react/jsx-no-undef",
"react/jsx-sort-prop-types",
"react/jsx-sort-props",
"react/jsx-uses-react",
"react/jsx-uses-vars",
"react/no-danger",
"react/no-did-mount-set-state",
"react/no-did-update-set-state",
"react/no-direct-mutation-state",
"react/no-multi-comp",
"react/no-set-state",
"react/no-unknown-property",
"react/prop-types",
"react/react-in-jsx-scope",
"react/require-extension",
"react/self-closing-comp",
"react/sort-comp",
"react/wrap-multilines",
"semi",
"semi-spacing"
],
"propertyEncodings": {
"valid-jsdoc": {
"type": "enum",
"encoding": "BOUNDED_CHOICE_INDEX",
"options": {
"choices": [
[
0,
{
"requireReturn": false
}
],
[
0,
{
"requireReturn": true
}
],
[
1,
{
"requireReturn": false
}
],
[
1,
{
"requireReturn": true
}
],
[
2,
{
"requireReturn": false
}
],
[
2,
{
"requireReturn": true
}
]
]
}
}
},
"requiredProperties": [
"valid-jsdoc"
],
"booleanRequiredProperties": []
}
}
},
"requiredProperties": [
"ecmaFeatures",
"env",
"extends",
"parser",
"plugins",
"rules"
],
"booleanRequiredProperties": []
}
}