bind method

Projection<R, O> bind(
  1. List<SlotBinding<Object?>> bindings
)

Captures one complete binding in the descriptor's declared order.

Implementation

Projection<R, O> bind(List<SlotBinding<Object?>> bindings) {
  final frozen = List<SlotBinding<Object?>>.unmodifiable(bindings);
  if (frozen.length != slots.length ||
      frozen.indexed.any((e) => !identical(e.$2.slot, slots[e.$1]))) {
    throw const OrmException(
      'PROJECTION.BINDING',
      'Bind every declared slot once, in declaration order.',
    );
  }
  return Projection._(this, frozen);
}