UNPKG

@cerbos/core

Version:
23 lines 1.11 kB
import { DeletePolicyErrorDetailsSchema, DisablePolicyErrorDetailsSchema, } from "@cerbos/api/cerbos/response/v1/response_pb"; import { policyStoreIntegrityViolationsFromProtobuf } from "../convert/fromProtobuf.js"; import { PolicyStoreIntegrityViolated } from "./external.js"; export class ErrorRegistry { registry = new Map(); add(schema, convert) { this.registry.set(`type.googleapis.com/${schema.typeName}`, { schema, convert, }); } get(typeUrl) { return this.registry.get(typeUrl); } } export const deletePoliciesErrorRegistry = new ErrorRegistry(); deletePoliciesErrorRegistry.add(DeletePolicyErrorDetailsSchema, policyStoreIntegrityViolated); export const disablePoliciesErrorRegistry = new ErrorRegistry(); disablePoliciesErrorRegistry.add(DisablePolicyErrorDetailsSchema, policyStoreIntegrityViolated); function policyStoreIntegrityViolated(code, message, { errors }, options) { return new PolicyStoreIntegrityViolated(code, message, policyStoreIntegrityViolationsFromProtobuf(errors), options); } //# sourceMappingURL=registry.js.map