Skip to content

Commit 88292c4

Browse files
committed
Build output
1 parent a98000b commit 88292c4

21 files changed

+20916
-125
lines changed

addons/Dexie.Observable/dist/README.md

Lines changed: 0 additions & 37 deletions
This file was deleted.
Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
// Type definitions for dexie-observable v1.0.0-beta.1
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+
//
55+
// Define Dexie.Observable
56+
//
57+
module Observable {
58+
//
59+
//
60+
//
61+
var createUUID: () => string;
62+
var on: Observable.ObservableEventSet;
63+
var localStorageImpl: {
64+
setItem(key: string, value: string): void,
65+
getItem(key: string): string,
66+
removeItem(key: string): void;
67+
};
68+
var _onStorage: (event: StorageEvent) => void;
69+
70+
//
71+
// Interfaces of Dexie.Observable
72+
//
73+
74+
interface SyncNodeConstructor {
75+
new() : SyncNode;
76+
}
77+
78+
/**
79+
* A SyncNode represents a local database instance that subscribes
80+
* to changes made on the database.
81+
* SyncNodes are stored in the _syncNodes table.
82+
*
83+
* Dexie.Syncable extends this interface and allows 'remote' nodes to be stored
84+
* as well.
85+
*/
86+
interface SyncNode {
87+
id?: number,
88+
myRevision: number,
89+
type: 'local' | 'remote',
90+
lastHeartBeat: number,
91+
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.
92+
isMaster: number // 1 if true. Not using Boolean because it's not possible to index Booleans.
93+
}
94+
95+
interface ObservableEventSet extends Dexie.DexieEventSet {
96+
(eventName: 'latestRevisionIncremented', subscriber: (dbName: string, latestRevision: number) => void): void;
97+
(eventName: 'suicideNurseCall', subscriber: (dbName: string, nodeID: number) => void): void;
98+
(eventName: 'intercomm', subscriber: (dbName: string) => void): void;
99+
(eventName: 'beforeunload', subscriber: () => void): void;
100+
}
101+
102+
// Object received by on('message') after sendMessage() or broadcastMessage()
103+
interface MessageEvent {
104+
id: number;
105+
type: string;
106+
message: any;
107+
destinationNode: number;
108+
wantReply?: boolean;
109+
resolve(result: any): void;
110+
reject(error: any): void;
111+
}
112+
}
113+
}
114+
}
115+
116+
export default Dexie.Observable;

0 commit comments

Comments
 (0)