UNPKG

mrsel.db

Version:

Morsel.db is an advanced json database module.

48 lines (46 loc) 3.64 kB
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.'), };