Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit f890feb

Browse files
committed
refactor: Factor out SelectionPredicateComposition
Utilizes vega#3668
1 parent a8e1ea1 commit f890feb

File tree

1 file changed

+21
-30
lines changed

1 file changed

+21
-30
lines changed

altair/vegalite/v5/_api_rfc.py

Lines changed: 21 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
from altair.utils.core import TYPECODE_MAP as _TYPE_CODE
2121
from altair.utils.core import parse_shorthand as _parse
2222
from altair.utils.schemapi import Optional, SchemaBase, Undefined
23-
from altair.vegalite.v5.api import Parameter, SelectionPredicateComposition
23+
from altair.vegalite.v5.api import Parameter
2424
from altair.vegalite.v5.schema import channels
2525
from altair.vegalite.v5.schema._typing import (
2626
BinnedTimeUnit_T,
@@ -93,10 +93,6 @@ def _parse_aggregate(
9393
raise TypeError(msg)
9494

9595

96-
def _wrap_composition(predicate: Predicate, /) -> SelectionPredicateComposition:
97-
return SelectionPredicateComposition(predicate.to_dict())
98-
99-
10096
def _one_of_flatten(
10197
values: tuple[OneOfType, ...] | tuple[Sequence[OneOfType]] | tuple[Any, ...], /
10298
) -> Sequence[OneOfType]:
@@ -305,7 +301,10 @@ class field:
305301
{'field': 'Origin', 'type': 'nominal'}
306302
307303
>>> field.one_of("Origin", "Japan", "Europe")
308-
SelectionPredicateComposition({'field': 'Origin', 'oneOf': ['Japan', 'Europe']})
304+
FieldOneOfPredicate({
305+
field: 'Origin',
306+
oneOf: ('Japan', 'Europe')
307+
})
309308
"""
310309

311310
def __new__( # type: ignore[misc]
@@ -320,60 +319,52 @@ def one_of(
320319
/,
321320
*values: OneOfType | Sequence[OneOfType],
322321
timeUnit: TimeUnitType = Undefined,
323-
) -> SelectionPredicateComposition:
322+
) -> Predicate:
324323
seq = _one_of_flatten(values)
325324
one_of = _one_of_variance(*seq)
326-
p = FieldOneOfPredicate(field=field, oneOf=one_of, timeUnit=timeUnit)
327-
return _wrap_composition(p)
325+
return FieldOneOfPredicate(field=field, oneOf=one_of, timeUnit=timeUnit)
328326

329327
@classmethod
330328
def eq(
331329
cls, field: str, value: ValueType, /, *, timeUnit: TimeUnitType = Undefined
332-
) -> SelectionPredicateComposition:
333-
p = FieldEqualPredicate(field=field, equal=value, timeUnit=timeUnit)
334-
return _wrap_composition(p)
330+
) -> Predicate:
331+
return FieldEqualPredicate(field=field, equal=value, timeUnit=timeUnit)
335332

336333
@classmethod
337334
def lt(
338335
cls, field: str, value: ValueType, /, *, timeUnit: TimeUnitType = Undefined
339-
) -> SelectionPredicateComposition:
340-
p = FieldLTPredicate(field=field, lt=value, timeUnit=timeUnit)
341-
return _wrap_composition(p)
336+
) -> Predicate:
337+
return FieldLTPredicate(field=field, lt=value, timeUnit=timeUnit)
342338

343339
@classmethod
344340
def lte(
345341
cls, field: str, value: ValueType, /, *, timeUnit: TimeUnitType = Undefined
346-
) -> SelectionPredicateComposition:
347-
p = FieldLTEPredicate(field=field, lte=value, timeUnit=timeUnit)
348-
return _wrap_composition(p)
342+
) -> Predicate:
343+
return FieldLTEPredicate(field=field, lte=value, timeUnit=timeUnit)
349344

350345
@classmethod
351346
def gt(
352347
cls, field: str, value: ValueType, /, *, timeUnit: TimeUnitType = Undefined
353-
) -> SelectionPredicateComposition:
354-
p = FieldGTPredicate(field=field, gt=value, timeUnit=timeUnit)
355-
return _wrap_composition(p)
348+
) -> Predicate:
349+
return FieldGTPredicate(field=field, gt=value, timeUnit=timeUnit)
356350

357351
@classmethod
358352
def gte(
359353
cls, field: str, value: ValueType, /, *, timeUnit: TimeUnitType = Undefined
360-
) -> SelectionPredicateComposition:
361-
p = FieldGTEPredicate(field=field, gte=value, timeUnit=timeUnit)
362-
return _wrap_composition(p)
354+
) -> Predicate:
355+
return FieldGTEPredicate(field=field, gte=value, timeUnit=timeUnit)
363356

364357
@classmethod
365358
def valid(
366359
cls, field: str, value: bool, /, *, timeUnit: TimeUnitType = Undefined
367-
) -> SelectionPredicateComposition:
368-
p = FieldValidPredicate(field=field, valid=value, timeUnit=timeUnit)
369-
return _wrap_composition(p)
360+
) -> Predicate:
361+
return FieldValidPredicate(field=field, valid=value, timeUnit=timeUnit)
370362

371363
@classmethod
372364
def range(
373365
cls, field: str, value: RangeType, /, *, timeUnit: TimeUnitType = Undefined
374-
) -> SelectionPredicateComposition:
375-
p = FieldRangePredicate(field=field, range=value, timeUnit=timeUnit)
376-
return _wrap_composition(p)
366+
) -> Predicate:
367+
return FieldRangePredicate(field=field, range=value, timeUnit=timeUnit)
377368

378369

379370
# NOTE: Ignore everything below #

0 commit comments

Comments
 (0)