Adds Docs for Array, Bool and Numeric
This commit is contained in:
86
docs/source/usage.array.rst
Normal file
86
docs/source/usage.array.rst
Normal file
@@ -0,0 +1,86 @@
|
||||
Array Type
|
||||
=================
|
||||
|
||||
|
||||
The Array type has the following required properties:
|
||||
|
||||
- items: Schema for the items in the array, which can be a type or a schema object.
|
||||
|
||||
And the additional supported properties:
|
||||
|
||||
- maxItems: Maximum number of items in the array.
|
||||
- minItems: Minimum number of items in the array.
|
||||
- uniqueItems: If true, all items in the array must be unique.
|
||||
|
||||
And the additional generic properties:
|
||||
|
||||
- default: Default value for the array.
|
||||
- description: Description of the array field.
|
||||
|
||||
|
||||
Examples
|
||||
-----------------
|
||||
|
||||
|
||||
1. Basic Array with maxItems and minItems:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
from jambo import SchemaConverter
|
||||
|
||||
|
||||
schema = {
|
||||
"title": "ArrayExample",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"tags": {
|
||||
"type": "array",
|
||||
"items": {"type": "string"},
|
||||
"minItems": 1,
|
||||
"maxItems": 5,
|
||||
},
|
||||
},
|
||||
"required": ["tags"],
|
||||
}
|
||||
|
||||
Model = SchemaConverter.build(schema)
|
||||
|
||||
obj = Model(tags=["python", "jambo", "pydantic"])
|
||||
print(obj) # Output: ArrayExample(tags=['python', 'jambo', 'pydantic'])
|
||||
|
||||
|
||||
try:
|
||||
obj = Model(tags=[]) # This will raise a validation error
|
||||
except ValueError as e:
|
||||
print("Validation fails as expected:", e) # Output: Validation fails as expected: 1 validation error for ArrayExample
|
||||
|
||||
|
||||
2. Array with uniqueItems:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
from jambo import SchemaConverter
|
||||
|
||||
|
||||
schema = {
|
||||
"title": "UniqueArrayExample",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"unique_tags": {
|
||||
"type": "array",
|
||||
"items": {"type": "string"},
|
||||
"uniqueItems": True,
|
||||
},
|
||||
},
|
||||
"required": ["unique_tags"],
|
||||
}
|
||||
|
||||
Model = SchemaConverter.build(schema)
|
||||
|
||||
obj = Model(unique_tags=["python", "jambo", "pydantic"])
|
||||
print(obj) # Output: UniqueArrayExample(unique_tags={'python', 'jambo', 'pydantic'})
|
||||
|
||||
try:
|
||||
obj = Model(unique_tags=["python", "jambo", "python"]) # This will raise a validation error
|
||||
except ValueError as e:
|
||||
print("Validation fails as expected:", e) # Output: Validation fails as expected: 1 validation error for UniqueArrayExample
|
||||
Reference in New Issue
Block a user