Browse Source

add mapping

pull/9837/head
JONEMI19 3 years ago
parent
commit
b11f63c052
  1. 13
      fastapi/_compat.py

13
fastapi/_compat.py

@ -286,6 +286,7 @@ else:
SHAPE_SINGLETON, SHAPE_SINGLETON,
SHAPE_TUPLE, SHAPE_TUPLE,
SHAPE_TUPLE_ELLIPSIS, SHAPE_TUPLE_ELLIPSIS,
SHAPE_MAPPING,
) )
from pydantic.fields import FieldInfo as FieldInfo from pydantic.fields import FieldInfo as FieldInfo
from pydantic.fields import ( # type: ignore[no-redef,attr-defined] from pydantic.fields import ( # type: ignore[no-redef,attr-defined]
@ -332,9 +333,6 @@ else:
SHAPE_TUPLE_ELLIPSIS, SHAPE_TUPLE_ELLIPSIS,
} }
mapping_shapes = {
SHAPE_MAPPING,
}
sequence_shape_to_type = { sequence_shape_to_type = {
SHAPE_LIST: list, SHAPE_LIST: list,
SHAPE_SET: set, SHAPE_SET: set,
@ -343,6 +341,11 @@ else:
SHAPE_TUPLE_ELLIPSIS: list, SHAPE_TUPLE_ELLIPSIS: list,
} }
mapping_shapes = {
SHAPE_MAPPING,
}
mapping_shapes_to_type = {SHAPE_MAPPING: Mapping}
@dataclass @dataclass
class GenerateJsonSchema: # type: ignore[no-redef] class GenerateJsonSchema: # type: ignore[no-redef]
ref_template: str ref_template: str
@ -505,10 +508,10 @@ else:
return is_pv1_scalar_sequence_field(field) return is_pv1_scalar_sequence_field(field)
def is_scalar_sequence_mapping_field(field: ModelField) -> bool: def is_scalar_sequence_mapping_field(field: ModelField) -> bool:
return is_pv1_scalar_sequence_field(field) return is_pv1_scalar_sequence_mapping_field(field)
def is_scalar_mapping_field(field: ModelField) -> bool: def is_scalar_mapping_field(field: ModelField) -> bool:
return is_pv1_scalar_sequence_field(field) return is_pv1_scalar_mapping_field(field)
def is_bytes_field(field: ModelField) -> bool: def is_bytes_field(field: ModelField) -> bool:
return lenient_issubclass(field.type_, bytes) return lenient_issubclass(field.type_, bytes)

Loading…
Cancel
Save