File: msgspec_union_default_object.py

package info (click to toggle)
python-datamodel-code-generator 0.45.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 9,052 kB
  • sloc: python: 29,621; makefile: 15
file content (24 lines) | stat: -rw-r--r-- 742 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# generated by datamodel-codegen:
#   filename:  union_default_object.yaml
#   timestamp: 2019-07-26T00:00:00+00:00

from __future__ import annotations

from typing import Dict, Union

from msgspec import UNSET, Struct, UnsetType, convert, field


class Interval(Struct):
    start: Union[int, UnsetType] = UNSET
    end: Union[int, UnsetType] = UNSET


class Container(Struct):
    interval_or_string: Union[Interval, str, UnsetType] = field(
        default_factory=lambda: convert({'start': 2009, 'end': 2019}, type=Interval)
    )
    string_or_interval: Union[Interval, str, UnsetType] = 'some string value'
    dict_or_interval: Union[Dict[str, str], Interval, UnsetType] = field(
        default_factory=lambda: {'key': 'value'}
    )