irx.analysis.collections

irx.analysis.collections

Source: packages/irx/src/irx/analysis/collections.py

title: Collection capability helpers for semantic analysis.
summary: >-
  Centralize collection-kind detection, item-type extraction, and method
  capability records for list, tuple, set, and dictionary operations.

Functions

collection_kind(type_: astx.DataType | None) -> CollectionKind | None

title: Return the collection kind represented by one type.
parameters:
  type_:
    type: astx.DataType | None
returns:
  type: CollectionKind | None

is_collection_type(type_: astx.DataType | None) -> bool

title: Return whether one type is a supported collection type.
parameters:
  type_:
    type: astx.DataType | None
returns:
  type: bool

collection_value_types(type_: astx.DataType | None) -> tuple[astx.DataType, ...]

title: Return value-like element types for one collection.
summary: >-
  Lists and sets expose their element type, tuples expose all positional
  member types, and dictionaries expose their value type.
parameters:
  type_:
    type: astx.DataType | None
returns:
  type: tuple[astx.DataType, Ellipsis]

collection_contains_types(type_: astx.DataType | None) -> tuple[astx.DataType, ...]

title: Return accepted containment probe types for one collection.
summary: >-
  Dictionaries use key containment; other collections use value/element
  containment.
parameters:
  type_:
    type: astx.DataType | None
returns:
  type: tuple[astx.DataType, Ellipsis]

collection_supports_sequence_search(type_: astx.DataType | None) -> bool

title: Return whether a collection supports index/count queries.
parameters:
  type_:
    type: astx.DataType | None
returns:
  type: bool

Classes

CollectionKind(str, Enum)

title: Stable semantic collection-kind names.