| 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; |