registerPolicyBindingsSafely<TContext> function

Set<String> registerPolicyBindingsSafely<TContext>(
  1. AuthGateRegistry<TContext> registry,
  2. List<PolicyBinding<Object>> bindings, {
  3. Set<String> managed = const <String>{},
})

Registers policy abilities without overriding unmanaged entries.

Empty trimmed prefixes are skipped. Managed duplicate names are replaced; unmanaged duplicates remain unchanged. Returns normalized names registered.

Implementation

Set<String> registerPolicyBindingsSafely<TContext>(
  AuthGateRegistry<TContext> registry,
  List<PolicyBinding> bindings, {
  Set<String> managed = const <String>{},
}) {
  final registered = <String>{};
  for (final binding in bindings) {
    registered.addAll(
      _registerPolicyBindingSafely<TContext>(
        registry,
        binding,
        managed: managed,
      ),
    );
  }
  return registered;
}