mrsel.db
Version:
Morsel.db is an advanced json database module.
48 lines (46 loc) • 3.64 kB
JavaScript
class DatabaseError extends Error {
constructor(message) {
super(message);
this.name = 'DatabaseError';
}
}
module.exports = {
FILE_NOT_FOUND: new DatabaseError('The database file could not be found.'),
FILE_PATH_NOT_STRING: new DatabaseError('The file path is invalid. File paths must be strings.'),
INVALID_JSON: new DatabaseError('The database file contains invalid JSON.'),
INVALID_VALUE: new DatabaseError('The value provided cannot be null or undefined.'),
KEY_NOT_FOUND: new DatabaseError('The requested key does not exist in the database.'),
OBJECT_NOT_FOUND: new DatabaseError('The requested key is not an object.'),
ARRAY_NOT_FOUND: new DatabaseError('The requested key is not an array.'),
STRING_EXPECTED: new DatabaseError('A string was expected but a different type was provided.'),
NUMBER_EXPECTED: new DatabaseError('A number was expected but a different type was provided.'),
BOOLEAN_EXPECTED: new DatabaseError('A boolean was expected but a different type was provided.'),
FUNCTION_EXPECTED: new DatabaseError('A function was expected but a different type was provided.'),
OBJECT_EXPECTED: new DatabaseError('An object was expected but a different type was provided.'),
ARRAY_EXPECTED: new DatabaseError('An array was expected but a different type was provided.'),
KEY_INVALID: new DatabaseError('The key provided is invalid or not a string.'),
VALUE_INVALID: new DatabaseError('The value provided is invalid or not the expected type.'),
INDEX_OUT_OF_BOUNDS: new DatabaseError('The index provided is out of bounds for the array.'),
DIVISION_BY_ZERO: new DatabaseError('Division by zero is not allowed.'),
// Specific errors for database operations
SET_KEY_INVALID: new DatabaseError('The key provided for setting value is invalid.'),
SET_VALUE_INVALID: new DatabaseError('The value provided for setting is invalid.'),
PUSH_KEY_INVALID: new DatabaseError('The key provided for pushing value is invalid.'),
PUSH_VALUE_INVALID: new DatabaseError('The value provided for pushing is invalid.'),
OBJECT_FETCH_KEY_INVALID: new DatabaseError('The key provided for fetching sub-value is invalid.'),
OBJECT_FETCH_SUBKEY_INVALID: new DatabaseError('The sub-key provided for fetching is invalid.'),
ARRAY_FETCH_KEY_INVALID: new DatabaseError('The key provided for fetching array value is invalid.'),
ARRAY_FETCH_INDEX_INVALID: new DatabaseError('The index provided for fetching array value is invalid.'),
REMOVE_KEY_INVALID: new DatabaseError('The key provided for removal is invalid.'),
DELETE_VALUE_INVALID: new DatabaseError('The value provided for deletion from array is invalid.'),
DELETE_SUBKEY_INVALID: new DatabaseError('The sub-key provided for deletion from object is invalid.'),
DELETE_EACH_KEY_INVALID: new DatabaseError('The key prefix provided for deletion is invalid.'),
ADD_KEY_INVALID: new DatabaseError('The key provided for adding number is invalid.'),
ADD_VALUE_INVALID: new DatabaseError('The value provided for adding number is invalid.'),
SUBTRACT_KEY_INVALID: new DatabaseError('The key provided for subtracting number is invalid.'),
SUBTRACT_VALUE_INVALID: new DatabaseError('The value provided for subtracting number is invalid.'),
MULTIPLY_KEY_INVALID: new DatabaseError('The key provided for multiplying number is invalid.'),
MULTIPLY_VALUE_INVALID: new DatabaseError('The value provided for multiplying number is invalid.'),
DIVIDE_KEY_INVALID: new DatabaseError('The key provided for dividing number is invalid.'),
DIVIDE_VALUE_INVALID: new DatabaseError('The value provided for dividing number is invalid.'),
};