asObjects method

List<PsDescriptor> asObjects()

Returns nested descriptors from either one object or a list of objects.

Implementation

List<PsDescriptor> asObjects() => switch (this) {
  PsListValue(:final List<PsDescriptorValue> values) => List<PsDescriptor>.unmodifiable(<PsDescriptor>[
    for (final PsDescriptorValue value in values)
      if (value case PsObjectValue(:final PsDescriptor value)) value,
  ]),
  PsObjectValue(:final PsDescriptor value) => <PsDescriptor>[value],
  _ => const <PsDescriptor>[],
};