|
3 | 3 | from __future__ import annotations |
4 | 4 |
|
5 | 5 | from awkward._nplikes.numpy_like import NumpyMetadata |
6 | | -from awkward._typing import TYPE_CHECKING, TypeGuard, TypeVar |
| 6 | +from awkward._typing import TYPE_CHECKING |
7 | 7 |
|
8 | 8 | if TYPE_CHECKING: |
9 | | - from awkward._meta.bitmaskedmeta import BitMaskedMeta |
10 | | - from awkward._meta.bytemaskedmeta import ByteMaskedMeta |
11 | | - from awkward._meta.indexedmeta import IndexedMeta |
12 | | - from awkward._meta.indexedoptionmeta import IndexedOptionMeta |
13 | | - from awkward._meta.listmeta import ListMeta |
14 | | - from awkward._meta.listoffsetmeta import ListOffsetMeta |
15 | 9 | from awkward._meta.meta import Meta |
16 | | - from awkward._meta.numpymeta import NumpyMeta |
17 | | - from awkward._meta.recordmeta import RecordMeta |
18 | | - from awkward._meta.regularmeta import RegularMeta |
19 | | - from awkward._meta.unionmeta import UnionMeta |
20 | | - from awkward._meta.unmaskedmeta import UnmaskedMeta |
21 | 10 |
|
22 | 11 | np = NumpyMetadata.instance() |
23 | 12 |
|
24 | 13 |
|
25 | | -T = TypeVar("T", bound="Meta") |
26 | | - |
27 | | - |
28 | | -def is_option( |
29 | | - meta: Meta |
30 | | -) -> TypeGuard[IndexedOptionMeta | BitMaskedMeta | ByteMaskedMeta | UnmaskedMeta]: |
31 | | - return meta.is_option |
32 | | - |
33 | | - |
34 | | -def is_list(meta: Meta) -> TypeGuard[RegularMeta | ListOffsetMeta | ListMeta]: |
35 | | - return meta.is_list |
36 | | - |
37 | | - |
38 | | -def is_numpy(meta: Meta) -> TypeGuard[NumpyMeta]: |
39 | | - return meta.is_numpy |
40 | | - |
41 | | - |
42 | | -def is_regular(meta: Meta) -> TypeGuard[RegularMeta]: |
43 | | - return meta.is_regular |
44 | | - |
45 | | - |
46 | | -def is_union(meta: Meta) -> TypeGuard[UnionMeta]: |
47 | | - return meta.is_union |
48 | | - |
49 | | - |
50 | | -def is_record(meta: Meta) -> TypeGuard[RecordMeta]: |
51 | | - return meta.is_record |
52 | | - |
53 | | - |
54 | | -def is_indexed(meta: Meta) -> TypeGuard[IndexedOptionMeta, IndexedMeta]: |
55 | | - return meta.is_indexed |
56 | | - |
57 | | - |
58 | | -# FIXME: narrow this to have `is_tuple` be a const True |
59 | | -def is_record_tuple(meta: Meta) -> TypeGuard[RecordMeta]: |
60 | | - return meta.is_record and meta.is_tuple |
61 | | - |
62 | | - |
63 | | -# FIXME: narrow this to have `is_tuple` be a const False |
64 | | -def is_record_record(meta: Meta) -> TypeGuard[RecordMeta]: |
65 | | - return meta.is_record and not meta.is_tuple |
66 | | - |
67 | | - |
68 | 14 | def mergeable(one: Meta, two: Meta, mergebool: bool = True) -> bool: |
69 | 15 | return one._mergeable_next(two, mergebool=mergebool) |
0 commit comments