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
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
createDocument¶
▸ createDocument(mutation
): Promise
<any
>
Parameters
Name | Type |
---|---|
mutation |
any |
Returns
Promise
<any
>
Defined in
createIndex¶
▸ createIndex(fields
, indexOption?
): Promise
<PouchDbIndex
>
Create the PouchDB index if not existing
Parameters
Name | Type | Description |
---|---|---|
fields |
any [] |
Fields to index |
indexOption |
Object |
Options for the index |
indexOption.doctype |
string |
- |
indexOption.indexName |
string |
- |
indexOption.partialFilter |
any |
- |
Returns
Promise
<PouchDbIndex
>
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
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
<{ data
: any
= res.cozyPouchData; meta
: undefined
; next
: undefined
; skip
: undefined
= offset } | { data
: any
; meta
: { count
: any
= docs.length } ; next
: boolean
; skip
: any
= offset }>
Parameters
Name | Type |
---|---|
__namedParameters |
Object |
Returns
Promise
<{ data
: any
= res.cozyPouchData; meta
: undefined
; next
: undefined
; skip
: undefined
= offset } | { data
: any
; meta
: { count
: any
= docs.length } ; next
: boolean
; skip
: any
= offset }>
Defined in
findExistingIndex¶
▸ findExistingIndex(doctype
, options
, indexName
): PouchDbIndex
Retrieve the PouchDB index if exist, undefined otherwise
Parameters
Name | Type | Description |
---|---|---|
doctype |
string |
The query’s doctype |
options |
MangoQueryOptions |
The find options |
indexName |
string |
The index name |
Returns
PouchDbIndex
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
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(data
, forward?
): Promise
<void
>
Parameters
Name | Type | Default value |
---|---|---|
data |
any |
undefined |
forward |
(operation : any , result : any ) => void |
doNothing |
Returns
Promise
<void
>
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
sanitizeJsonApi¶
▸ sanitizeJsonApi(data
): Omit
<Pick
<any
, string
| number
| symbol
>, "attributes"
| "meta"
>
Parameters
Name | Type |
---|---|
data |
any |
Returns
Omit
<Pick
<any
, string
| number
| symbol
>, "attributes"
| "meta"
>
Defined in
startReplication¶
▸ startReplication(): 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
Returns
void
Defined in
startReplicationWithDebounce¶
▸ startReplicationWithDebounce(): void
Debounced version of startReplication() method
Debounce delay can be configured through constructor’s syncDebounceDelayInMs
option
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