blob: dfff8fe3d47b7f2655f75aeaec446fbe6326b910 [file] [log] [blame]
import {
INVALID_ID,
MISSING_ID,
RESERVED_ID,
createError
} from 'pouchdb-errors';
// Determine id an ID is valid
// - invalid IDs begin with an underescore that does not begin '_design' or
// '_local'
// - any other string value is a valid id
// Returns the specific error object for each case
function invalidIdError(id) {
var err;
if (!id) {
err = createError(MISSING_ID);
} else if (typeof id !== 'string') {
err = createError(INVALID_ID);
} else if (/^_/.test(id) && !(/^_(design|local)/).test(id)) {
err = createError(RESERVED_ID);
}
if (err) {
throw err;
}
}
export default invalidIdError;