initial commit
[squeep-indie-auther] / src / db / errors.js
1 'use strict';
2
3 class DatabaseError extends Error {
4 constructor(...args) {
5 super(...args);
6 Error.captureStackTrace(DatabaseError);
7 }
8
9 get name() {
10 /* istanbul ignore next */
11 return this.constructor.name;
12 }
13 }
14
15 class DataValidation extends DatabaseError {
16 constructor(...args) {
17 super(...args);
18 Error.captureStackTrace(DataValidation);
19 }
20 }
21
22 class NotImplemented extends DatabaseError {
23 constructor(...args) {
24 super(...args);
25 Error.captureStackTrace(NotImplemented);
26 }
27 }
28
29 class UnexpectedResult extends DatabaseError {
30 constructor(...args) {
31 super(...args);
32 Error.captureStackTrace(UnexpectedResult);
33 }
34 }
35
36 class UnsupportedEngine extends DatabaseError {
37 constructor(...args) {
38 super(...args);
39 Error.captureStackTrace(UnsupportedEngine);
40 }
41 }
42
43 class MigrationNeeded extends DatabaseError {
44 constructor(...args) {
45 super(...args);
46 }
47 }
48
49 module.exports = {
50 DatabaseError,
51 DataValidation,
52 MigrationNeeded,
53 NotImplemented,
54 UnexpectedResult,
55 UnsupportedEngine,
56 };