/**
 * The JSON Schema properties.
 */
const JSON_SCHEMA = [
  {
    name: 'bsonType',
    value: 'bsonType',
    label: 'bsonType',
    score: 1,
    meta: 'json-schema',
    version: '3.6.0',
    description: 'Accepts same string aliases used for the $type operator',
  },
  {
    name: 'enum',
    value: 'enum',
    label: 'enum',
    score: 1,
    meta: 'json-schema',
    version: '3.6.0',
    description: 'Enumerates all possible values of the field',
  },
  {
    name: 'type',
    value: 'type',
    label: 'type',
    score: 1,
    meta: 'json-schema',
    version: '3.6.0',
    description: 'Enumerates the possible JSON types of the field',
  },
  {
    name: 'allOf',
    value: 'allOf',
    label: 'allOf',
    score: 1,
    meta: 'json-schema',
    version: '3.6.0',
    description: 'Field must match all specified schemas',
  },
  {
    name: 'anyOf',
    value: 'anyOf',
    label: 'anyOf',
    score: 1,
    meta: 'json-schema',
    version: '3.6.0',
    description: 'Field must match at least one of the specified schemas',
  },
  {
    name: 'oneOf',
    value: 'oneOf',
    label: 'oneOf',
    score: 1,
    meta: 'json-schema',
    version: '3.6.0',
    description: 'Field must match exactly one of the specified schemas',
  },
  {
    name: 'not',
    value: 'not',
    label: 'not',
    score: 1,
    meta: 'json-schema',
    version: '3.6.0',
    description: 'Field must not match the schema',
  },
  {
    name: 'multipleOf',
    value: 'multipleOf',
    label: 'multipleOf',
    score: 1,
    meta: 'json-schema',
    version: '3.6.0',
    description: 'Field must be a multiple of this value',
  },
  {
    name: 'maximum',
    value: 'maximum',
    label: 'maximum',
    score: 1,
    meta: 'json-schema',
    version: '3.6.0',
    description: 'Indicates the maximum value of the field',
  },
  {
    name: 'exclusiveMaximum',
    value: 'exclusiveMaximum',
    label: 'exclusiveMaximum',
    score: 1,
    meta: 'json-schema',
    version: '3.6.0',
    description:
      'If true and field is a number, maximum is an exclusive maximum',
  },
  {
    name: 'minimum',
    value: 'minimum',
    label: 'minimum',
    score: 1,
    meta: 'json-schema',
    version: '3.6.0',
    description: 'Indicates the minimum value of the field',
  },
  {
    name: 'exclusiveMinimum',
    value: 'exclusiveMinimum',
    label: 'exclusiveMinimum',
    score: 1,
    meta: 'json-schema',
    version: '3.6.0',
    description: 'If true, minimum is an exclusive minimum',
  },
  {
    name: 'maxLength',
    value: 'maxLength',
    label: 'maxLength',
    score: 1,
    meta: 'json-schema',
    version: '3.6.0',
    description: 'Indicates the maximum length of the field',
  },
  {
    name: 'minLength',
    value: 'minLength',
    label: 'minLength',
    score: 1,
    meta: 'json-schema',
    version: '3.6.0',
    description: 'Indicates the minimum length of the field',
  },
  {
    name: 'pattern',
    value: 'pattern',
    label: 'pattern',
    score: 1,
    meta: 'json-schema',
    version: '3.6.0',
    description: 'Field must match the regular expression',
  },
  {
    name: 'maxProperties',
    value: 'maxProperties',
    label: 'maxProperties',
    score: 1,
    meta: 'json-schema',
    version: '3.6.0',
    description: 'Indicates the field’s maximum number of properties',
  },
  {
    name: 'minProperties',
    value: 'minProperties',
    label: 'minProperties',
    score: 1,
    meta: 'json-schema',
    version: '3.6.0',
    description: 'Indicates the field’s minimum number of properties',
  },
  {
    name: 'required',
    value: 'required',
    label: 'required',
    score: 1,
    meta: 'json-schema',
    version: '3.6.0',
    description:
      'Object’s property set must contain all the specified elements in the array',
  },
  {
    name: 'additionalProperties',
    value: 'additionalProperties',
    label: 'additionalProperties',
    score: 1,
    meta: 'json-schema',
    version: '3.6.0',
    description: 'If true, additional fields are allowed',
  },
  {
    name: 'properties',
    value: 'properties',
    label: 'properties',
    score: 1,
    meta: 'json-schema',
    version: '3.6.0',
    description:
      'A valid JSON Schema where each value is also a valid JSON Schema object',
  },
  {
    name: 'patternProperties',
    value: 'patternProperties',
    label: 'patternProperties',
    score: 1,
    meta: 'json-schema',
    version: '3.6.0',
    description:
      'In addition to properties requirements, each property name of this object must be a valid regular expression',
  },
  {
    name: 'dependencies',
    value: 'dependencies',
    label: 'dependencies',
    score: 1,
    meta: 'json-schema',
    version: '3.6.0',
    description: 'Describes field or schema dependencies',
  },
  {
    name: 'additionalItems',
    value: 'additionalItems',
    label: 'additionalItems',
    score: 1,
    meta: 'json-schema',
    version: '3.6.0',
    description: 'If an object, must be a valid JSON Schema',
  },
  {
    name: 'items',
    value: 'items',
    label: 'items',
    score: 1,
    meta: 'json-schema',
    version: '3.6.0',
    description:
      'Must be either a valid JSON Schema, or an array of valid JSON Schemas',
  },
  {
    name: 'maxItems',
    value: 'maxItems',
    label: 'maxItems',
    score: 1,
    meta: 'json-schema',
    version: '3.6.0',
    description: 'Indicates the maximum length of array',
  },
  {
    name: 'minItems',
    value: 'minItems',
    label: 'minItems',
    score: 1,
    meta: 'json-schema',
    version: '3.6.0',
    description: 'Indicates the minimum length of array',
  },
  {
    name: 'uniqueItems',
    value: 'uniqueItems',
    label: 'uniqueItems',
    score: 1,
    meta: 'json-schema',
    version: '3.6.0',
    description: 'If true, each item in the array must be unique',
  },
  {
    name: 'title',
    value: 'title',
    label: 'title',
    score: 1,
    meta: 'json-schema',
    version: '3.6.0',
    description: 'A descriptive title string with no effect',
  },
  {
    name: 'description',
    value: 'description',
    label: 'description',
    score: 1,
    meta: 'json-schema',
    version: '3.6.0',
    description: 'A string that describes the schema and has no effect.',
  },
] as const;

export { JSON_SCHEMA };
