select method

  1. @override
FutureOr<Iterable<O>> select(
  1. EntityMatcher matcher, {
  2. Object? parameters,
  3. List? positionalParameters,
  4. Map<String, Object?>? namedParameters,
  5. Transaction? transaction,
  6. int? limit,
  7. EntityResolutionRules? resolutionRules,
})
override

Implementation

@override
FutureOr<Iterable<O>> select(EntityMatcher matcher,
    {Object? parameters,
    List? positionalParameters,
    Map<String, Object?>? namedParameters,
    Transaction? transaction,
    int? limit,
    EntityResolutionRules? resolutionRules}) {
  if (matcher is ConditionID) {
    return _selectByID(transaction, matcher, parameters ?? namedParameters,
            resolutionRules)
        .resolveMapped((res) => res != null ? <O>[res] : <O>[]);
  }

  if (matcher is ConditionIdIN) {
    return _selectByIDs(
        transaction, matcher, parameters ?? namedParameters, resolutionRules);
  }

  if (matcher is ConditionANY) {
    return _selectAll(transaction, matcher, resolutionRules);
  }

  throw UnsupportedError(
      "Relationship select not supported for: (${matcher.runtimeTypeNameUnsafe}) $matcher @ $tableName ($this)");
}