vespa-ts
Version:
A reusable TypeScript package for interacting with Vespa search engine with dependency injection support
60 lines (57 loc) • 1.91 kB
JavaScript
;
var VespaDbOp;
(function (VespaDbOp) {
VespaDbOp["Search"] = "Search";
})(VespaDbOp || (VespaDbOp = {}));
var DbOp;
(function (DbOp) {
DbOp["Create"] = "Create";
DbOp["READ"] = "Read";
DbOp["Update"] = "Update";
DbOp["Delete"] = "Delete";
})(DbOp || (DbOp = {}));
class VespaError extends Error {
constructor({ message, sources, op, docId, cause }) {
let fullMessage = `${message}: for source ${sources} and op: ${op}`;
if (docId)
fullMessage += ` for docId: ${docId}`;
super(fullMessage, { cause });
Error.captureStackTrace(this, this.constructor);
}
}
class ErrorDeletingDocuments extends VespaError {
constructor(errorOpts) {
super({ ...errorOpts, op: DbOp.READ });
this.name = this.constructor.name;
}
}
class ErrorRetrievingDocuments extends VespaError {
constructor(vespaErrOpts) {
let { message, cause } = vespaErrOpts;
if (!message) {
message = "Error retrieving documents";
}
super({ ...vespaErrOpts, message, cause, op: DbOp.READ });
this.name = this.constructor.name;
}
}
class ErrorPerformingSearch extends VespaError {
constructor(vespaErrOpts) {
super({ ...vespaErrOpts, op: VespaDbOp.Search });
this.name = this.constructor.name;
}
}
class ErrorInsertingDocument extends VespaError {
constructor(vespaErrOpts) {
let { message, cause } = vespaErrOpts;
if (!message) {
message = `Error inserting document`;
}
super({ ...vespaErrOpts, message, cause, op: DbOp.Create });
this.name = this.constructor.name;
}
}
exports.ErrorDeletingDocuments = ErrorDeletingDocuments;
exports.ErrorInsertingDocument = ErrorInsertingDocument;
exports.ErrorPerformingSearch = ErrorPerformingSearch;
exports.ErrorRetrievingDocuments = ErrorRetrievingDocuments;