Wrap schema with default schema if default value or `default_factory` are available. Args: field_info: The field info object. schema: The schema to apply default on. Returns: Updated schema by default value or `default_factory`.
(field_info: FieldInfo, schema: core_schema.CoreSchema)
| 2657 | |
| 2658 | |
| 2659 | def wrap_default(field_info: FieldInfo, schema: core_schema.CoreSchema) -> core_schema.CoreSchema: |
| 2660 | """Wrap schema with default schema if default value or `default_factory` are available. |
| 2661 | |
| 2662 | Args: |
| 2663 | field_info: The field info object. |
| 2664 | schema: The schema to apply default on. |
| 2665 | |
| 2666 | Returns: |
| 2667 | Updated schema by default value or `default_factory`. |
| 2668 | """ |
| 2669 | if field_info.default_factory: |
| 2670 | return core_schema.with_default_schema( |
| 2671 | schema, |
| 2672 | default_factory=field_info.default_factory, |
| 2673 | default_factory_takes_data=takes_validated_data_argument(field_info.default_factory), |
| 2674 | validate_default=field_info.validate_default, |
| 2675 | ) |
| 2676 | elif field_info.default is not PydanticUndefined: |
| 2677 | return core_schema.with_default_schema( |
| 2678 | schema, default=field_info.default, validate_default=field_info.validate_default |
| 2679 | ) |
| 2680 | else: |
| 2681 | return schema |
| 2682 | |
| 2683 | |
| 2684 | def _extract_get_pydantic_json_schema(tp: Any) -> GetJsonSchemaFunction | None: |
no test coverage detected