| // Checks if a PouchDB object is "remote" or not. This is |
| // designed to opt-in to certain optimizations, such as |
| // avoiding checks for "dependentDbs" and other things that |
| // we know only apply to local databases. In general, "remote" |
| // should be true for the http adapter, and for third-party |
| // adapters with similar expensive boundaries to cross for |
| // every API call, such as socket-pouch and worker-pouch. |
| // Previously, this was handled via db.type() === 'http' |
| // which is now deprecated. |
| |
| import guardedConsole from './guardedConsole'; |
| |
| function isRemote(db) { |
| if (typeof db._remote === 'boolean') { |
| return db._remote; |
| } |
| /* istanbul ignore next */ |
| if (typeof db.type === 'function') { |
| guardedConsole('warn', |
| 'db.type() is deprecated and will be removed in ' + |
| 'a future version of PouchDB'); |
| return db.type() === 'http'; |
| } |
| /* istanbul ignore next */ |
| return false; |
| } |
| |
| export default isRemote; |