@liveblocks/client 0.15.0-alpha.3 → 0.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/README.md +5 -10
  2. package/lib/esm/index.js +2991 -5
  3. package/lib/esm/index.mjs +2991 -0
  4. package/lib/esm/internal.js +149 -0
  5. package/lib/esm/internal.mjs +149 -0
  6. package/lib/{esm/types.d.ts → index.d.ts} +253 -61
  7. package/lib/index.js +4237 -0
  8. package/lib/{esm/live.d.ts → internal.d.ts} +46 -34
  9. package/lib/internal.js +193 -0
  10. package/package.json +32 -10
  11. package/lib/cjs/AbstractCrdt.d.ts +0 -68
  12. package/lib/cjs/AbstractCrdt.js +0 -95
  13. package/lib/cjs/LiveList.d.ts +0 -144
  14. package/lib/cjs/LiveList.js +0 -530
  15. package/lib/cjs/LiveMap.d.ts +0 -91
  16. package/lib/cjs/LiveMap.js +0 -325
  17. package/lib/cjs/LiveObject.d.ts +0 -80
  18. package/lib/cjs/LiveObject.js +0 -485
  19. package/lib/cjs/LiveRegister.d.ts +0 -29
  20. package/lib/cjs/LiveRegister.js +0 -88
  21. package/lib/cjs/client.d.ts +0 -27
  22. package/lib/cjs/client.js +0 -123
  23. package/lib/cjs/immutable.d.ts +0 -9
  24. package/lib/cjs/immutable.js +0 -299
  25. package/lib/cjs/index.d.ts +0 -6
  26. package/lib/cjs/index.js +0 -18
  27. package/lib/cjs/live.d.ts +0 -181
  28. package/lib/cjs/live.js +0 -49
  29. package/lib/cjs/position.d.ts +0 -6
  30. package/lib/cjs/position.js +0 -113
  31. package/lib/cjs/room.d.ts +0 -159
  32. package/lib/cjs/room.js +0 -1129
  33. package/lib/cjs/types.d.ts +0 -502
  34. package/lib/cjs/types.js +0 -2
  35. package/lib/cjs/utils.d.ts +0 -15
  36. package/lib/cjs/utils.js +0 -225
  37. package/lib/esm/AbstractCrdt.d.ts +0 -68
  38. package/lib/esm/AbstractCrdt.js +0 -91
  39. package/lib/esm/LiveList.d.ts +0 -144
  40. package/lib/esm/LiveList.js +0 -526
  41. package/lib/esm/LiveMap.d.ts +0 -91
  42. package/lib/esm/LiveMap.js +0 -321
  43. package/lib/esm/LiveObject.d.ts +0 -80
  44. package/lib/esm/LiveObject.js +0 -481
  45. package/lib/esm/LiveRegister.d.ts +0 -29
  46. package/lib/esm/LiveRegister.js +0 -84
  47. package/lib/esm/client.d.ts +0 -27
  48. package/lib/esm/client.js +0 -119
  49. package/lib/esm/immutable.d.ts +0 -9
  50. package/lib/esm/immutable.js +0 -290
  51. package/lib/esm/index.d.ts +0 -6
  52. package/lib/esm/live.js +0 -46
  53. package/lib/esm/position.d.ts +0 -6
  54. package/lib/esm/position.js +0 -106
  55. package/lib/esm/room.d.ts +0 -159
  56. package/lib/esm/room.js +0 -1123
  57. package/lib/esm/types.js +0 -1
  58. package/lib/esm/utils.d.ts +0 -15
  59. package/lib/esm/utils.js +0 -213
package/lib/esm/room.d.ts DELETED
@@ -1,159 +0,0 @@
1
- import { Others, Presence, Room, MyPresenceCallback, OthersEventCallback, EventCallback, User, Connection, ErrorCallback, AuthenticationToken, ConnectionCallback, StorageCallback, StorageUpdate, BroadcastOptions, AuthorizeResponse, Authentication } from "./types";
2
- import { ClientMessage, Op } from "./live";
3
- import { LiveMap } from "./LiveMap";
4
- import { LiveObject } from "./LiveObject";
5
- import { LiveList } from "./LiveList";
6
- import { AbstractCrdt } from "./AbstractCrdt";
7
- declare type HistoryItem = Array<Op | {
8
- type: "presence";
9
- data: Presence;
10
- }>;
11
- declare type IdFactory = () => string;
12
- export declare type State = {
13
- connection: Connection;
14
- lastConnectionId: number | null;
15
- socket: WebSocket | null;
16
- lastFlushTime: number;
17
- buffer: {
18
- presence: Presence | null;
19
- messages: ClientMessage[];
20
- storageOperations: Op[];
21
- };
22
- timeoutHandles: {
23
- flush: number | null;
24
- reconnect: number;
25
- pongTimeout: number;
26
- };
27
- intervalHandles: {
28
- heartbeat: number;
29
- };
30
- listeners: {
31
- event: EventCallback[];
32
- others: OthersEventCallback[];
33
- "my-presence": MyPresenceCallback[];
34
- error: ErrorCallback[];
35
- connection: ConnectionCallback[];
36
- storage: StorageCallback[];
37
- };
38
- me: Presence;
39
- others: Others;
40
- users: {
41
- [connectionId: number]: User;
42
- };
43
- idFactory: IdFactory | null;
44
- numberOfRetry: number;
45
- defaultStorageRoot?: {
46
- [key: string]: any;
47
- };
48
- clock: number;
49
- opClock: number;
50
- items: Map<string, AbstractCrdt>;
51
- root: LiveObject | undefined;
52
- undoStack: HistoryItem[];
53
- redoStack: HistoryItem[];
54
- isHistoryPaused: boolean;
55
- pausedHistory: HistoryItem;
56
- isBatching: boolean;
57
- batch: {
58
- ops: Op[];
59
- reverseOps: HistoryItem;
60
- updates: {
61
- others: [];
62
- presence: boolean;
63
- storageUpdates: Map<string, StorageUpdate>;
64
- };
65
- };
66
- offlineOperations: Map<string, Op>;
67
- };
68
- export declare type Effects = {
69
- authenticate(auth: (room: string) => Promise<AuthorizeResponse>, createWebSocket: (token: string) => WebSocket): void;
70
- send(messages: ClientMessage[]): void;
71
- delayFlush(delay: number): number;
72
- startHeartbeatInterval(): number;
73
- schedulePongTimeout(): number;
74
- scheduleReconnect(delay: number): number;
75
- };
76
- declare type Context = {
77
- room: string;
78
- throttleDelay: number;
79
- fetchPolyfill?: typeof fetch;
80
- WebSocketPolyfill?: typeof WebSocket;
81
- authentication: Authentication;
82
- liveblocksServer: string;
83
- };
84
- export declare function makeStateMachine(state: State, context: Context, mockedEffects?: Effects): {
85
- onClose: (event: {
86
- code: number;
87
- wasClean: boolean;
88
- reason: any;
89
- }) => void;
90
- onMessage: (event: MessageEvent) => void;
91
- authenticationSuccess: (token: AuthenticationToken, socket: WebSocket) => void;
92
- heartbeat: () => void;
93
- onNavigatorOnline: () => void;
94
- simulateSocketClose: () => void;
95
- simulateSendCloseEvent: (event: {
96
- code: number;
97
- wasClean: boolean;
98
- reason: any;
99
- }) => void;
100
- onVisibilityChange: (visibilityState: VisibilityState) => void;
101
- getUndoStack: () => HistoryItem[];
102
- getItemsCount: () => number;
103
- connect: () => null | undefined;
104
- disconnect: () => void;
105
- subscribe: {
106
- (callback: (updates: StorageUpdate) => void): () => void;
107
- <TKey extends string, TValue>(liveMap: LiveMap<TKey, TValue>, callback: (liveMap: LiveMap<TKey, TValue>) => void): () => void;
108
- <TData>(liveObject: LiveObject<TData>, callback: (liveObject: LiveObject<TData>) => void): () => void;
109
- <TItem>(liveList: LiveList<TItem>, callback: (liveList: LiveList<TItem>) => void): () => void;
110
- <TItem_1 extends AbstractCrdt>(node: TItem_1, callback: (updates: StorageUpdate[]) => void, options: {
111
- isDeep: true;
112
- }): () => void;
113
- <T extends Presence>(type: "my-presence", listener: MyPresenceCallback<T>): () => void;
114
- <T_1 extends Presence>(type: "others", listener: OthersEventCallback<T_1>): () => void;
115
- (type: "event", listener: EventCallback): () => void;
116
- (type: "error", listener: ErrorCallback): () => void;
117
- (type: "connection", listener: ConnectionCallback): () => void;
118
- };
119
- unsubscribe: {
120
- <T_2 extends Presence>(type: "my-presence", listener: MyPresenceCallback<T_2>): void;
121
- <T_3 extends Presence>(type: "others", listener: OthersEventCallback<T_3>): void;
122
- (type: "event", listener: EventCallback): void;
123
- (type: "error", listener: ErrorCallback): void;
124
- (type: "connection", listener: ConnectionCallback): void;
125
- };
126
- updatePresence: <T_4 extends Presence>(overrides: Partial<T_4>, options?: {
127
- addToHistory: boolean;
128
- } | undefined) => void;
129
- broadcastEvent: (event: any, options?: BroadcastOptions) => void;
130
- batch: (callback: () => void) => void;
131
- undo: () => void;
132
- redo: () => void;
133
- pauseHistory: () => void;
134
- resumeHistory: () => void;
135
- getStorage: <TRoot>() => Promise<{
136
- root: LiveObject<TRoot>;
137
- }>;
138
- selectors: {
139
- getConnectionState: () => "failed" | "closed" | "connecting" | "open" | "authenticating" | "unavailable";
140
- getSelf: <TPresence extends Presence = Presence>() => User<TPresence> | null;
141
- getPresence: <T_5 extends Presence>() => T_5;
142
- getOthers: <T_6 extends Presence>() => Others<T_6>;
143
- };
144
- };
145
- export declare function defaultState(me?: Presence, defaultStorageRoot?: {
146
- [key: string]: any;
147
- }): State;
148
- export declare type InternalRoom = {
149
- room: Room;
150
- connect: () => void;
151
- disconnect: () => void;
152
- onNavigatorOnline: () => void;
153
- onVisibilityChange: (visibilityState: VisibilityState) => void;
154
- };
155
- export declare function createRoom(options: {
156
- defaultPresence?: Presence;
157
- defaultStorageRoot?: Record<string, any>;
158
- }, context: Context): InternalRoom;
159
- export {};