@kurrent/kurrentdb-client
Version:
KurrentDB gRPC NodeJS Client SDK
31 lines • 1.54 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.convertBridgeError = void 0;
const CommandError_1 = require("./CommandError");
const debug_1 = require("./debug");
const convertBridgeError = (error, streamName) => {
const stream = streamName ?? "unknown stream";
// Bridge errors are plain Error objects from the Rust native addon with
// name, message, and metadata (plain object). They lack gRPC-specific
// ServiceError properties (code, details) but CommandErrorBase handles this.
const serviceError = error;
switch (error.name) {
case "StreamNotFoundError":
return new CommandError_1.StreamNotFoundError(serviceError, stream);
case "StreamDeletedError":
return CommandError_1.StreamDeletedError.fromStreamName(stream);
case "NotLeaderError":
return new CommandError_1.NotLeaderError(serviceError);
case "AccessDeniedError":
return new CommandError_1.AccessDeniedError(serviceError);
case "UnavailableError":
return new CommandError_1.UnavailableError(serviceError);
case "DeadlineExceededError":
return new CommandError_1.DeadlineExceededError(serviceError);
default:
debug_1.debug.connection("Unrecognized bridge error type '%s': %s", error.name, error.message);
return new CommandError_1.UnknownError(serviceError);
}
};
exports.convertBridgeError = convertBridgeError;
//# sourceMappingURL=convertBridgeError.js.map