Skip to content

Commit 5baf5cc

Browse files
committed
Build output
1 parent 9f49ca6 commit 5baf5cc

25 files changed

+24551
-125
lines changed

addons/Dexie.Observable/dist/README.md

Lines changed: 0 additions & 37 deletions
This file was deleted.
Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
// Type definitions for dexie-observable v1.0.0-beta.4
2+
// Project: https://github.com/dfahlander/Dexie.js/tree/master/addons/Dexie.Observable
3+
// Definitions by: David Fahlander <http://github.com/dfahlander>
4+
5+
import Dexie from 'dexie';
6+
import { IDatabaseChange } from '../api';
7+
8+
//
9+
// Extend Dexie interface
10+
//
11+
declare module 'dexie' {
12+
// Extend methods on db (db.sendMessage(), ...)
13+
interface Dexie {
14+
// Placeholder where to access the SyncNode class constructor.
15+
// (makes it valid to do new db.observable.SyncNode())
16+
observable: {
17+
SyncNode: Dexie.Observable.SyncNodeConstructor;
18+
sendMessage(
19+
type: string, // Don't use 'response' as it is used internally by the framework
20+
message: any, // anything that can be saved by IndexedDB
21+
destinationNode: number,
22+
options: {
23+
wantReply?: boolean;
24+
}
25+
): Promise<any> | void; // When wantReply is undefined or false return is void
26+
27+
broadcastMessage(
28+
type: string,
29+
message: any, // anything that can be saved by IndexedDB
30+
bIncludeSelf: boolean
31+
): void;
32+
}
33+
34+
readonly _localSyncNode: Dexie.Observable.SyncNode;
35+
36+
_changes: Dexie.Table<IDatabaseChange & {rev: number}, number>;
37+
_syncNodes: Dexie.Table<Dexie.Observable.SyncNode, number>;
38+
_intercomm: Dexie.Table<any, number>;
39+
}
40+
41+
module Dexie {
42+
// Extended events db.on('changes', subscriber), ...
43+
interface DbEvents {
44+
(eventName: 'changes', subscriber: (changes: IDatabaseChange[], partial: boolean)=>void): void;
45+
(eventName: 'cleanup', subscriber: ()=>any): void;
46+
(eventName: 'message', subscriber: (msg: Dexie.Observable.MessageEvent)=>any): void;
47+
}
48+
49+
// Extended IndexSpec with uuid boolean for primary key.
50+
interface IndexSpec {
51+
uuid: boolean;
52+
}
53+
54+
var Observable: {
55+
(db: Dexie) : void;
56+
57+
//
58+
//
59+
//
60+
createUUID: () => string;
61+
on: Observable.ObservableEventSet;
62+
localStorageImpl: {
63+
setItem(key: string, value: string): void,
64+
getItem(key: string): string,
65+
removeItem(key: string): void;
66+
};
67+
_onStorage: (event: StorageEvent) => void;
68+
}
69+
70+
//
71+
// Define Dexie.Observable
72+
//
73+
module Observable {
74+
//
75+
// Interfaces of Dexie.Observable
76+
//
77+
78+
interface SyncNodeConstructor {
79+
new() : SyncNode;
80+
}
81+
82+
/**
83+
* A SyncNode represents a local database instance that subscribes
84+
* to changes made on the database.
85+
* SyncNodes are stored in the _syncNodes table.
86+
*
87+
* Dexie.Syncable extends this interface and allows 'remote' nodes to be stored
88+
* as well.
89+
*/
90+
interface SyncNode {
91+
id?: number,
92+
myRevision: number,
93+
type: 'local' | 'remote',
94+
lastHeartBeat: number,
95+
deleteTimeStamp: number, // In case lastHeartBeat is too old, a value of now + HIBERNATE_GRACE_PERIOD will be set here. If reached before node wakes up, node will be deleted.
96+
isMaster: number // 1 if true. Not using Boolean because it's not possible to index Booleans.
97+
}
98+
99+
interface ObservableEventSet extends Dexie.DexieEventSet {
100+
(eventName: 'latestRevisionIncremented', subscriber: (dbName: string, latestRevision: number) => void): void;
101+
(eventName: 'suicideNurseCall', subscriber: (dbName: string, nodeID: number) => void): void;
102+
(eventName: 'intercomm', subscriber: (dbName: string) => void): void;
103+
(eventName: 'beforeunload', subscriber: () => void): void;
104+
}
105+
106+
// Object received by on('message') after sendMessage() or broadcastMessage()
107+
interface MessageEvent {
108+
id: number;
109+
type: string;
110+
message: any;
111+
destinationNode: number;
112+
wantReply?: boolean;
113+
resolve(result: any): void;
114+
reject(error: any): void;
115+
}
116+
}
117+
}
118+
}
119+
120+
export default Dexie.Observable;

0 commit comments

Comments
 (0)