|
48 | 48 | "from fastcore.nb_imports import *\n", |
49 | 49 | "\n", |
50 | 50 | "from time import sleep\n", |
51 | | - "import shutil,tempfile,pickle,random" |
| 51 | + "import shutil,tempfile,pickle,random\n", |
| 52 | + "from dataclasses import dataclass" |
52 | 53 | ] |
53 | 54 | }, |
54 | 55 | { |
|
2678 | 2679 | "def nullable_dc(cls):\n", |
2679 | 2680 | " \"Like `dataclass`, but default of `None` added to fields without defaults\"\n", |
2680 | 2681 | " from dataclasses import dataclass, field\n", |
2681 | | - " from inspect import get_annotations\n", |
2682 | | - " for k,v in get_annotations(cls).items():\n", |
| 2682 | + " for k,v in get_annotations_ex(cls)[0].items():\n", |
2683 | 2683 | " if not hasattr(cls,k): setattr(cls, k, field(default=None))\n", |
2684 | 2684 | " return dataclass(cls)" |
2685 | 2685 | ] |
|
2809 | 2809 | "#| export\n", |
2810 | 2810 | "def mk_dataclass(cls):\n", |
2811 | 2811 | " from dataclasses import dataclass, field, is_dataclass, MISSING\n", |
2812 | | - " from inspect import get_annotations\n", |
2813 | 2812 | " if is_dataclass(cls): return make_nullable(cls)\n", |
2814 | | - " for k,v in get_annotations(cls).items():\n", |
| 2813 | + " for k,v in get_annotations_ex(cls)[0].items():\n", |
2815 | 2814 | " if not hasattr(cls,k) or getattr(cls,k) is MISSING:\n", |
2816 | 2815 | " setattr(cls, k, field(default=None))\n", |
2817 | 2816 | " dataclass(cls, init=True, repr=True, eq=True, order=False, unsafe_hash=False, frozen=False)" |
|
0 commit comments