@liveblocks/react 0.15.6 → 0.15.9
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.
- package/lib/esm/index.js +14 -14
- package/lib/esm/index.mjs +14 -14
- package/lib/index.js +20 -32
- package/package.json +4 -3
package/lib/esm/index.js
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import { LiveMap, LiveList, LiveObject } from '@liveblocks/client';
|
|
2
2
|
import * as React from 'react';
|
|
3
|
+
import { useReducer } from 'react';
|
|
4
|
+
|
|
5
|
+
function useRerender() {
|
|
6
|
+
const [, update] = useReducer((x) => x + 1, 0);
|
|
7
|
+
return update;
|
|
8
|
+
}
|
|
3
9
|
|
|
4
10
|
const ClientContext = React.createContext(null);
|
|
5
11
|
const RoomContext = React.createContext(null);
|
|
@@ -123,13 +129,10 @@ function useEventListener(callback) {
|
|
|
123
129
|
}
|
|
124
130
|
function useSelf() {
|
|
125
131
|
const room = useRoom();
|
|
126
|
-
const
|
|
132
|
+
const rerender = useRerender();
|
|
127
133
|
React.useEffect(() => {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
}
|
|
131
|
-
const unsubscribePresence = room.subscribe("my-presence", onChange);
|
|
132
|
-
const unsubscribeConnection = room.subscribe("connection", onChange);
|
|
134
|
+
const unsubscribePresence = room.subscribe("my-presence", rerender);
|
|
135
|
+
const unsubscribeConnection = room.subscribe("connection", rerender);
|
|
133
136
|
return () => {
|
|
134
137
|
unsubscribePresence();
|
|
135
138
|
unsubscribeConnection();
|
|
@@ -180,7 +183,7 @@ function useCrdt(key, initialCrdt) {
|
|
|
180
183
|
var _a;
|
|
181
184
|
const room = useRoom();
|
|
182
185
|
const [root] = useStorage();
|
|
183
|
-
const
|
|
186
|
+
const rerender = useRerender();
|
|
184
187
|
React.useEffect(() => {
|
|
185
188
|
if (root == null) {
|
|
186
189
|
return;
|
|
@@ -190,21 +193,18 @@ function useCrdt(key, initialCrdt) {
|
|
|
190
193
|
crdt = initialCrdt;
|
|
191
194
|
root.set(key, crdt);
|
|
192
195
|
}
|
|
193
|
-
function onChange() {
|
|
194
|
-
setCount((x) => x + 1);
|
|
195
|
-
}
|
|
196
196
|
function onRootChange() {
|
|
197
197
|
const newCrdt = root.get(key);
|
|
198
198
|
if (newCrdt !== crdt) {
|
|
199
199
|
unsubscribeCrdt();
|
|
200
200
|
crdt = newCrdt;
|
|
201
|
-
unsubscribeCrdt = room.subscribe(crdt,
|
|
202
|
-
|
|
201
|
+
unsubscribeCrdt = room.subscribe(crdt, rerender);
|
|
202
|
+
rerender();
|
|
203
203
|
}
|
|
204
204
|
}
|
|
205
|
-
let unsubscribeCrdt = room.subscribe(crdt,
|
|
205
|
+
let unsubscribeCrdt = room.subscribe(crdt, rerender);
|
|
206
206
|
const unsubscribeRoot = room.subscribe(root, onRootChange);
|
|
207
|
-
|
|
207
|
+
rerender();
|
|
208
208
|
return () => {
|
|
209
209
|
unsubscribeRoot();
|
|
210
210
|
unsubscribeCrdt();
|
package/lib/esm/index.mjs
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import { LiveMap, LiveList, LiveObject } from '@liveblocks/client';
|
|
2
2
|
import * as React from 'react';
|
|
3
|
+
import { useReducer } from 'react';
|
|
4
|
+
|
|
5
|
+
function useRerender() {
|
|
6
|
+
const [, update] = useReducer((x) => x + 1, 0);
|
|
7
|
+
return update;
|
|
8
|
+
}
|
|
3
9
|
|
|
4
10
|
const ClientContext = React.createContext(null);
|
|
5
11
|
const RoomContext = React.createContext(null);
|
|
@@ -123,13 +129,10 @@ function useEventListener(callback) {
|
|
|
123
129
|
}
|
|
124
130
|
function useSelf() {
|
|
125
131
|
const room = useRoom();
|
|
126
|
-
const
|
|
132
|
+
const rerender = useRerender();
|
|
127
133
|
React.useEffect(() => {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
}
|
|
131
|
-
const unsubscribePresence = room.subscribe("my-presence", onChange);
|
|
132
|
-
const unsubscribeConnection = room.subscribe("connection", onChange);
|
|
134
|
+
const unsubscribePresence = room.subscribe("my-presence", rerender);
|
|
135
|
+
const unsubscribeConnection = room.subscribe("connection", rerender);
|
|
133
136
|
return () => {
|
|
134
137
|
unsubscribePresence();
|
|
135
138
|
unsubscribeConnection();
|
|
@@ -180,7 +183,7 @@ function useCrdt(key, initialCrdt) {
|
|
|
180
183
|
var _a;
|
|
181
184
|
const room = useRoom();
|
|
182
185
|
const [root] = useStorage();
|
|
183
|
-
const
|
|
186
|
+
const rerender = useRerender();
|
|
184
187
|
React.useEffect(() => {
|
|
185
188
|
if (root == null) {
|
|
186
189
|
return;
|
|
@@ -190,21 +193,18 @@ function useCrdt(key, initialCrdt) {
|
|
|
190
193
|
crdt = initialCrdt;
|
|
191
194
|
root.set(key, crdt);
|
|
192
195
|
}
|
|
193
|
-
function onChange() {
|
|
194
|
-
setCount((x) => x + 1);
|
|
195
|
-
}
|
|
196
196
|
function onRootChange() {
|
|
197
197
|
const newCrdt = root.get(key);
|
|
198
198
|
if (newCrdt !== crdt) {
|
|
199
199
|
unsubscribeCrdt();
|
|
200
200
|
crdt = newCrdt;
|
|
201
|
-
unsubscribeCrdt = room.subscribe(crdt,
|
|
202
|
-
|
|
201
|
+
unsubscribeCrdt = room.subscribe(crdt, rerender);
|
|
202
|
+
rerender();
|
|
203
203
|
}
|
|
204
204
|
}
|
|
205
|
-
let unsubscribeCrdt = room.subscribe(crdt,
|
|
205
|
+
let unsubscribeCrdt = room.subscribe(crdt, rerender);
|
|
206
206
|
const unsubscribeRoot = room.subscribe(root, onRootChange);
|
|
207
|
-
|
|
207
|
+
rerender();
|
|
208
208
|
return () => {
|
|
209
209
|
unsubscribeRoot();
|
|
210
210
|
unsubscribeCrdt();
|
package/lib/index.js
CHANGED
|
@@ -61,6 +61,15 @@ function _asyncToGenerator(fn) {
|
|
|
61
61
|
};
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
+
function useRerender() {
|
|
65
|
+
var _useReducer = React.useReducer(function (x) {
|
|
66
|
+
return x + 1;
|
|
67
|
+
}, 0),
|
|
68
|
+
update = _useReducer[1];
|
|
69
|
+
|
|
70
|
+
return update;
|
|
71
|
+
}
|
|
72
|
+
|
|
64
73
|
var ClientContext = React__namespace.createContext(null);
|
|
65
74
|
var RoomContext = React__namespace.createContext(null);
|
|
66
75
|
function LiveblocksProvider(props) {
|
|
@@ -217,19 +226,10 @@ function useEventListener(callback) {
|
|
|
217
226
|
}
|
|
218
227
|
function useSelf() {
|
|
219
228
|
var room = useRoom();
|
|
220
|
-
|
|
221
|
-
var _React$useState3 = React__namespace.useState(0),
|
|
222
|
-
update = _React$useState3[1];
|
|
223
|
-
|
|
229
|
+
var rerender = useRerender();
|
|
224
230
|
React__namespace.useEffect(function () {
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
return x + 1;
|
|
228
|
-
});
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
var unsubscribePresence = room.subscribe("my-presence", onChange);
|
|
232
|
-
var unsubscribeConnection = room.subscribe("connection", onChange);
|
|
231
|
+
var unsubscribePresence = room.subscribe("my-presence", rerender);
|
|
232
|
+
var unsubscribeConnection = room.subscribe("connection", rerender);
|
|
233
233
|
return function () {
|
|
234
234
|
unsubscribePresence();
|
|
235
235
|
unsubscribeConnection();
|
|
@@ -240,9 +240,9 @@ function useSelf() {
|
|
|
240
240
|
function useStorage() {
|
|
241
241
|
var room = useRoom();
|
|
242
242
|
|
|
243
|
-
var _React$
|
|
244
|
-
root = _React$
|
|
245
|
-
setState = _React$
|
|
243
|
+
var _React$useState3 = React__namespace.useState(null),
|
|
244
|
+
root = _React$useState3[0],
|
|
245
|
+
setState = _React$useState3[1];
|
|
246
246
|
|
|
247
247
|
React__namespace.useEffect(function () {
|
|
248
248
|
var didCancel = false;
|
|
@@ -315,9 +315,7 @@ function useCrdt(key, initialCrdt) {
|
|
|
315
315
|
var _useStorage = useStorage(),
|
|
316
316
|
root = _useStorage[0];
|
|
317
317
|
|
|
318
|
-
var
|
|
319
|
-
setCount = _React$useState5[1];
|
|
320
|
-
|
|
318
|
+
var rerender = useRerender();
|
|
321
319
|
React__namespace.useEffect(function () {
|
|
322
320
|
if (root == null) {
|
|
323
321
|
return;
|
|
@@ -330,30 +328,20 @@ function useCrdt(key, initialCrdt) {
|
|
|
330
328
|
root.set(key, crdt);
|
|
331
329
|
}
|
|
332
330
|
|
|
333
|
-
function onChange() {
|
|
334
|
-
setCount(function (x) {
|
|
335
|
-
return x + 1;
|
|
336
|
-
});
|
|
337
|
-
}
|
|
338
|
-
|
|
339
331
|
function onRootChange() {
|
|
340
332
|
var newCrdt = root.get(key);
|
|
341
333
|
|
|
342
334
|
if (newCrdt !== crdt) {
|
|
343
335
|
unsubscribeCrdt();
|
|
344
336
|
crdt = newCrdt;
|
|
345
|
-
unsubscribeCrdt = room.subscribe(crdt,
|
|
346
|
-
|
|
347
|
-
return x + 1;
|
|
348
|
-
});
|
|
337
|
+
unsubscribeCrdt = room.subscribe(crdt, rerender);
|
|
338
|
+
rerender();
|
|
349
339
|
}
|
|
350
340
|
}
|
|
351
341
|
|
|
352
|
-
var unsubscribeCrdt = room.subscribe(crdt,
|
|
342
|
+
var unsubscribeCrdt = room.subscribe(crdt, rerender);
|
|
353
343
|
var unsubscribeRoot = room.subscribe(root, onRootChange);
|
|
354
|
-
|
|
355
|
-
return x + 1;
|
|
356
|
-
});
|
|
344
|
+
rerender();
|
|
357
345
|
return function () {
|
|
358
346
|
unsubscribeRoot();
|
|
359
347
|
unsubscribeCrdt();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@liveblocks/react",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.9",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
},
|
|
34
34
|
"license": "Apache-2.0",
|
|
35
35
|
"peerDependencies": {
|
|
36
|
-
"@liveblocks/client": "0.15.
|
|
36
|
+
"@liveblocks/client": "0.15.9",
|
|
37
37
|
"react": "^16.14.0 || ^17"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
@@ -48,6 +48,7 @@
|
|
|
48
48
|
"@testing-library/react": "^11.2.5",
|
|
49
49
|
"@types/jest": "^26.0.20",
|
|
50
50
|
"@types/react": "^16.14.0",
|
|
51
|
+
"@types/react-dom": "^17.0.14",
|
|
51
52
|
"babel-core": "^6.26.3",
|
|
52
53
|
"babel-jest": "^26.6.3",
|
|
53
54
|
"babel-runtime": "^6.26.0",
|
|
@@ -65,4 +66,4 @@
|
|
|
65
66
|
"url": "https://github.com/liveblocks/liveblocks.git",
|
|
66
67
|
"directory": "packages/liveblocks-react"
|
|
67
68
|
}
|
|
68
|
-
}
|
|
69
|
+
}
|