cozy-pouch-link / PouchLink
Class: PouchLink¶
Link to be passed to a CozyClient instance to support CouchDB. It instantiates
PouchDB collections for each doctype that it supports and knows how
to respond to queries and mutations.
Hierarchy¶
-
default↳
PouchLink
Constructors¶
constructor¶
• new PouchLink(opts)
constructor - Initializes a new PouchLink
Parameters
| Name | Type |
|---|---|
opts |
PouchLinkOptions |
Overrides
CozyLink.constructor
Defined in
Properties¶
client¶
• client: any
Defined in
doctypes¶
• doctypes: string[]
Defined in
doctypesReplicationOptions¶
• doctypesReplicationOptions: Record<string, any>
Defined in
indexes¶
• indexes: Object
Defined in
initialSync¶
• initialSync: boolean
Defined in
options¶
• options: { replicationInterval: number } & PouchLinkOptions
Defined in
performanceApi¶
• performanceApi: any
Defined in
periodicSync¶
• periodicSync: boolean
Defined in
pouches¶
• pouches: any
Defined in
queryEngine¶
• queryEngine: DatabaseQueryEngine | typeof default
Defined in
replicationStatus¶
• replicationStatus: Record<string, ReplicationStatus>
Defined in
storage¶
• storage: PouchLocalStorage
Defined in
Methods¶
addReferencesTo¶
▸ addReferencesTo(mutation): Promise<void>
Parameters
| Name | Type |
|---|---|
mutation |
any |
Returns
Promise<void>
Defined in
bulkMutation¶
▸ bulkMutation(mutation): Promise<any[]>
Parameters
| Name | Type |
|---|---|
mutation |
any |
Returns
Promise<any[]>
Defined in
createDocument¶
▸ createDocument(mutation): Promise<any>
Parameters
| Name | Type |
|---|---|
mutation |
any |
Returns
Promise<any>
Defined in
createDocuments¶
▸ createDocuments(mutation): Promise<any[]>
Parameters
| Name | Type |
|---|---|
mutation |
any |
Returns
Promise<any[]>
Defined in
dbMethod¶
▸ dbMethod(method, mutation): Promise<any>
Parameters
| Name | Type |
|---|---|
method |
any |
mutation |
any |
Returns
Promise<any>
Defined in
deleteDocument¶
▸ deleteDocument(mutation): Promise<any>
Parameters
| Name | Type |
|---|---|
mutation |
any |
Returns
Promise<any>
Defined in
deleteDocuments¶
▸ deleteDocuments(mutation): Promise<any[]>
Parameters
| Name | Type |
|---|---|
mutation |
any |
Returns
Promise<any[]>
Defined in
executeMutation¶
▸ executeMutation(mutation, options, result, forward): Promise<any>
Parameters
| Name | Type |
|---|---|
mutation |
any |
options |
any |
result |
any |
forward |
any |
Returns
Promise<any>
Defined in
executeQuery¶
▸ executeQuery(__namedParameters): Promise<any>
Parameters
| Name | Type |
|---|---|
__namedParameters |
Object |
Returns
Promise<any>
Defined in
getChanges¶
▸ getChanges(doctype, options): Promise<PouchDBChangesResults>
Get PouchDB changes See https://pouchdb.com/api.html#changes
Parameters
| Name | Type | Description |
|---|---|---|
doctype |
string |
The PouchDB database’s doctype |
options |
any |
The changes options. See https://pouchdb.com/api.html#changes |
Returns
Promise<PouchDBChangesResults>
The changes
Defined in
getDbInfo¶
▸ getDbInfo(doctype): Promise<PouchDBInfo>
Get PouchDB database info See https://pouchdb.com/api.html#database_information
Parameters
| Name | Type | Description |
|---|---|---|
doctype |
string |
The PouchDB database’s doctype |
Returns
Promise<PouchDBInfo>
The db info
Defined in
getPouch¶
▸ getPouch(doctype): any
Parameters
| Name | Type |
|---|---|
doctype |
any |
Returns
any
Defined in
getQueryEngineFromDoctype¶
▸ getQueryEngineFromDoctype(doctype): any
Parameters
| Name | Type |
|---|---|
doctype |
any |
Returns
any
Defined in
getReplicationURL¶
▸ getReplicationURL(doctype): string
Parameters
| Name | Type |
|---|---|
doctype |
any |
Returns
string
Defined in
getSyncInfo¶
▸ getSyncInfo(doctype): any
Parameters
| Name | Type |
|---|---|
doctype |
any |
Returns
any
Defined in
handleDoctypeSyncEnd¶
▸ handleDoctypeSyncEnd(doctype): void
Parameters
| Name | Type |
|---|---|
doctype |
any |
Returns
void
Defined in
handleDoctypeSyncStart¶
▸ handleDoctypeSyncStart(doctype): void
Parameters
| Name | Type |
|---|---|
doctype |
any |
Returns
void
Defined in
handleOnSync¶
▸ handleOnSync(doctypeUpdates): void
Receives PouchDB updates (documents grouped by doctype). Normalizes the data (.id -> ._id, .rev -> _rev). Passes the data to the client and to the onSync handler.
Emits an event (pouchlink:sync:end) when the sync (all doctypes) is done
Parameters
| Name | Type |
|---|---|
doctypeUpdates |
any |
Returns
void
Defined in
hasIndex¶
▸ hasIndex(name): boolean
Parameters
| Name | Type |
|---|---|
name |
any |
Returns
boolean
Defined in
migrateAdapter¶
▸ migrateAdapter(params): Promise<void>
Migrate the current adapter
property {string} [fromAdapter] - The current adapter type, e.g. ‘idb’
property {string} [toAdapter] - The new adapter type, e.g. ‘indexeddb’
property {string} [url] - The Cozy URL
property {Array
Parameters
| Name | Type | Description |
|---|---|---|
params |
MigrationParams |
Migration params |
Returns
Promise<void>
Defined in
needsToWaitWarmup¶
▸ needsToWaitWarmup(doctype): Promise<boolean>
Check if there is warmup queries for this doctype and return if those queries are already warmed up or not
Parameters
| Name | Type | Description |
|---|---|---|
doctype |
string |
Doctype to check |
Returns
Promise<boolean>
the need to wait for the warmup
Defined in
onLogin¶
▸ onLogin(): Promise<void>
Returns
Promise<void>
Defined in
onSyncError¶
▸ onSyncError(error): Promise<void>
Parameters
| Name | Type |
|---|---|
error |
any |
Returns
Promise<void>
Defined in
persistCozyData¶
▸ persistCozyData(doc, forward?): Promise<any>
We persist in the local Pouch database all the documents that do not exist on the remote Couch database.
Those documents are computed by the cozy-stack then are sent to the client using JSON-API format
Parameters
| Name | Type | Default value |
|---|---|---|
doc |
any |
undefined |
forward |
(operation: any, result: any) => void |
doNothing |
Returns
Promise<any>
Overrides
CozyLink.persistCozyData
Defined in
registerClient¶
▸ registerClient(client): Promise<void>
Parameters
| Name | Type |
|---|---|
client |
any |
Returns
Promise<void>
Defined in
request¶
▸ request(operation, options, result?, forward?): Promise<any>
Parameters
| Name | Type | Default value |
|---|---|---|
operation |
any |
undefined |
options |
any |
undefined |
result |
any |
null |
forward |
(operation: any, result: any) => void |
doNothing |
Returns
Promise<any>
Overrides
CozyLink.request
Defined in
reset¶
▸ reset(): Promise<void>
Returns
Promise<void>
Overrides
CozyLink.reset
Defined in
startReplication¶
▸ startReplication(options?): void
User of the link can call this to start ongoing replications. Typically, it can be used when the application regains focus.
Emits pouchlink:sync:start event when the replication begins
Parameters
| Name | Type | Description |
|---|---|---|
options |
Object |
The options |
options.waitForReplications |
boolean |
- |
Returns
void
Defined in
startReplicationWithDebounce¶
▸ startReplicationWithDebounce(options?): void
Debounced version of startReplication() method
Debounce delay can be configured through constructor’s syncDebounceDelayInMs option
Parameters
| Name | Type | Description |
|---|---|---|
options |
Object |
The options |
options.waitForReplications |
boolean |
- |
Returns
void
Defined in
stopReplication¶
▸ stopReplication(): void
User of the link can call this to stop ongoing replications. Typically, it can be used when the applications loses focus.
Emits pouchlink:sync:stop event
Returns
void
Defined in
supportsOperation¶
▸ supportsOperation(operation): boolean
Parameters
| Name | Type |
|---|---|
operation |
any |
Returns
boolean
Defined in
syncImmediately¶
▸ syncImmediately(): Promise<void>
Returns
Promise<void>
Defined in
updateDocument¶
▸ updateDocument(mutation): Promise<any>
Parameters
| Name | Type |
|---|---|
mutation |
any |
Returns
Promise<any>
Defined in
updateDocuments¶
▸ updateDocuments(mutation): Promise<any[]>
Parameters
| Name | Type |
|---|---|
mutation |
any |
Returns
Promise<any[]>
Defined in
getPouchAdapterName¶
▸ Static getPouchAdapterName(localStorage): Promise<string>
Return the PouchDB adapter name. Should be IndexedDB for newest adapters.
Parameters
| Name | Type | Description |
|---|---|---|
localStorage |
LocalStorage |
Methods to access local storage |
Returns
Promise<string>
The adapter name
Defined in