json: fix arrays (disallow [,1]
)
This commit is contained in:
parent
87c91c0766
commit
09248e0897
2 changed files with 17 additions and 7 deletions
10
examples/commit.txt
Normal file
10
examples/commit.txt
Normal file
|
@ -0,0 +1,10 @@
|
|||
- Adds support for `required` vs. optional properties, without the risk for repetitions.
|
||||
- Adds support for `additionalProperties`
|
||||
- Fixes handling of Arrays (`[ , 1]` no longer possible)
|
||||
- Fixes ordering: retain original order unless overridden (rather than alphabetical)
|
||||
- Add support for `$ref`
|
||||
|
||||
https://github.com/vega/ts-json-schema-generator
|
||||
|
||||
|
||||
Before
|
|
@ -90,18 +90,18 @@ class SchemaConverter:
|
|||
list_item_operator = f'("," space {item_rule_name})'
|
||||
successive_items = ""
|
||||
min_items = schema.get("minItems", 0)
|
||||
max_items = schema.get("maxItems")
|
||||
if min_items > 0:
|
||||
first_item = f"({item_rule_name})"
|
||||
successive_items = list_item_operator * (min_items - 1)
|
||||
min_items -= 1
|
||||
else:
|
||||
first_item = f"({item_rule_name})?"
|
||||
max_items = schema.get("maxItems")
|
||||
if max_items is not None and max_items > min_items:
|
||||
successive_items += (list_item_operator + "?") * (max_items - min_items - 1)
|
||||
else:
|
||||
successive_items += list_item_operator + "*"
|
||||
rule = f'"[" space {first_item} {successive_items} "]" space'
|
||||
if min_items == 0:
|
||||
rule = f'"[" space ({item_rule_name} {successive_items})? "]" space'
|
||||
else:
|
||||
rule = f'"[" space {item_rule_name} {successive_items} "]" space'
|
||||
return self._add_rule(rule_name, rule)
|
||||
|
||||
else:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue