ajv-validator / ajv-validator/ajv-cli

Cannot use "constructor" as object property name

Aberta
#223 0 comentários 0 reações 0 responsáveis Ver no GitHub
Linguagem predominante
TypeScript
Estrelas
316
Forks
77
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

schema:
```json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "array",
"items": {
"type": "object",
"required": [ "answer" ],
"additionalProperties": false,
"properties": {
"answer": {
"type": "object",
"additionalProperties": false,
"properties": {
"constructor": {
"type": "object"
}
}
}
}
}
}
```
json
```json
[
{
"answer": {
"constructor": {
"key": "value"
}
}
},
{
"answer": {}
}
]
```

The above json is deemed invalid. Both array entries should be valid, however ajv deems the last entry to be invalid: `data/1/answer/constructor must be object`

At first it seems like ajv treats the `constructor` property as a required property. However if I rename the property from `constructor` to `constructor2` everything works as expected. (see [Recording](https://user-images.githubusercontent.com/13716661/197217108-5cd375ac-ea0e-4349-b967-83b06a60901a.webm))

**command**: `ajv validate -s schema.json -d data.json --spec=draft2020 --errors=text`
**version**: `ajv-cli@5.0.0`

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.