@liveblocks/core 1.1.0-yjs5 → 1.1.1-internal1
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/dist/index.d.ts +9 -42
- package/dist/index.js +18 -83
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -669,31 +669,6 @@ declare type Delegates<T extends BaseAuthResult> = {
|
|
|
669
669
|
createSocket: (token: T) => IWebSocketInstance;
|
|
670
670
|
};
|
|
671
671
|
|
|
672
|
-
declare type AppOnlyAuthToken = {
|
|
673
|
-
appId: string;
|
|
674
|
-
roomId?: never;
|
|
675
|
-
scopes: string[];
|
|
676
|
-
};
|
|
677
|
-
declare type RoomAuthToken = {
|
|
678
|
-
appId: string;
|
|
679
|
-
roomId: string;
|
|
680
|
-
scopes: string[];
|
|
681
|
-
actor: number;
|
|
682
|
-
maxConnectionsPerRoom?: number;
|
|
683
|
-
info?: Json;
|
|
684
|
-
groupIds?: string[];
|
|
685
|
-
} & ({
|
|
686
|
-
id: string;
|
|
687
|
-
anonymousId?: never;
|
|
688
|
-
} | {
|
|
689
|
-
id?: never;
|
|
690
|
-
anonymousId: string;
|
|
691
|
-
});
|
|
692
|
-
declare type AuthToken = AppOnlyAuthToken | RoomAuthToken;
|
|
693
|
-
declare function isAppOnlyAuthToken(data: JsonObject): data is AppOnlyAuthToken;
|
|
694
|
-
declare function isRoomAuthToken(data: JsonObject): data is RoomAuthToken;
|
|
695
|
-
declare function isAuthToken(data: JsonObject): data is AuthToken;
|
|
696
|
-
|
|
697
672
|
declare type ReadonlyArrayWithLegacyMethods<T> = readonly T[] & {
|
|
698
673
|
/**
|
|
699
674
|
* @deprecated Prefer the normal .length property on arrays.
|
|
@@ -1077,17 +1052,6 @@ declare type Room<TPresence extends JsonObject, TStorage extends LsonObject, TUs
|
|
|
1077
1052
|
*/
|
|
1078
1053
|
addToHistory: boolean;
|
|
1079
1054
|
}): void;
|
|
1080
|
-
/**
|
|
1081
|
-
*
|
|
1082
|
-
* Sends YJS document updates to liveblocks server
|
|
1083
|
-
*
|
|
1084
|
-
* @param {string} data the doc update to send to the server, base64 encoded uint8array
|
|
1085
|
-
*/
|
|
1086
|
-
updateYDoc(data: string): void;
|
|
1087
|
-
/**
|
|
1088
|
-
* Sends a request for the current document from liveblocks server
|
|
1089
|
-
*/
|
|
1090
|
-
getYDoc(stateVector: string): void;
|
|
1091
1055
|
/**
|
|
1092
1056
|
* Broadcasts an event to other users in the room. Event broadcasted to the room can be listened with {@link Room.subscribe}("event").
|
|
1093
1057
|
* @param {any} event the event to broadcast. Should be serializable to JSON
|
|
@@ -1145,7 +1109,6 @@ declare type Room<TPresence extends JsonObject, TStorage extends LsonObject, TUs
|
|
|
1145
1109
|
*/
|
|
1146
1110
|
readonly storageDidLoad: Observable<void>;
|
|
1147
1111
|
readonly storageStatus: Observable<StorageStatus>;
|
|
1148
|
-
readonly docUpdated: Observable<string>;
|
|
1149
1112
|
};
|
|
1150
1113
|
/**
|
|
1151
1114
|
* Batches modifications made during the given function.
|
|
@@ -1469,7 +1432,7 @@ declare enum ClientMsgCode {
|
|
|
1469
1432
|
BROADCAST_EVENT = 103,
|
|
1470
1433
|
FETCH_STORAGE = 200,
|
|
1471
1434
|
UPDATE_STORAGE = 201,
|
|
1472
|
-
|
|
1435
|
+
FETCH_YDOC = 300,
|
|
1473
1436
|
UPDATE_YDOC = 301
|
|
1474
1437
|
}
|
|
1475
1438
|
/**
|
|
@@ -1514,7 +1477,7 @@ declare type FetchStorageClientMsg = {
|
|
|
1514
1477
|
readonly type: ClientMsgCode.FETCH_STORAGE;
|
|
1515
1478
|
};
|
|
1516
1479
|
declare type FetchYDocClientMsg = {
|
|
1517
|
-
readonly type: ClientMsgCode.
|
|
1480
|
+
readonly type: ClientMsgCode.FETCH_YDOC;
|
|
1518
1481
|
readonly vector: string;
|
|
1519
1482
|
};
|
|
1520
1483
|
declare type UpdateYDocClientMsg = {
|
|
@@ -1571,7 +1534,7 @@ declare enum ServerMsgCode {
|
|
|
1571
1534
|
INITIAL_STORAGE_STATE = 200,
|
|
1572
1535
|
UPDATE_STORAGE = 201,
|
|
1573
1536
|
REJECT_STORAGE_OP = 299,
|
|
1574
|
-
|
|
1537
|
+
UPDATE_YDOC = 300
|
|
1575
1538
|
}
|
|
1576
1539
|
/**
|
|
1577
1540
|
* Messages that can be sent from the server to the client.
|
|
@@ -1659,8 +1622,12 @@ declare type UserLeftServerMsg = {
|
|
|
1659
1622
|
readonly type: ServerMsgCode.USER_LEFT;
|
|
1660
1623
|
readonly actor: number;
|
|
1661
1624
|
};
|
|
1625
|
+
/**
|
|
1626
|
+
* Sent by the WebSocket server when the ydoc is updated or when requested based on stateVector passed.
|
|
1627
|
+
* Contains a base64 encoded update
|
|
1628
|
+
*/
|
|
1662
1629
|
declare type YDocUpdate = {
|
|
1663
|
-
readonly type: ServerMsgCode.
|
|
1630
|
+
readonly type: ServerMsgCode.UPDATE_YDOC;
|
|
1664
1631
|
readonly update: string;
|
|
1665
1632
|
};
|
|
1666
1633
|
/**
|
|
@@ -1911,4 +1878,4 @@ declare type EnsureJson<T> = [
|
|
|
1911
1878
|
[K in keyof T]: EnsureJson<T[K]>;
|
|
1912
1879
|
};
|
|
1913
1880
|
|
|
1914
|
-
export { AckOp,
|
|
1881
|
+
export { AckOp, BaseAuthResult, BaseUserMeta, BroadcastEventClientMsg, BroadcastOptions, BroadcastedEventServerMsg, Client, ClientMsg, ClientMsgCode, CrdtType, CreateChildOp, CreateListOp, CreateMapOp, CreateObjectOp, CreateOp, CreateRegisterOp, CreateRootObjectOp, Delegates, DeleteCrdtOp, DeleteObjectKeyOp, DevToolsTreeNode as DevTools, protocol as DevToolsMsg, EnsureJson, FetchStorageClientMsg, FetchYDocClientMsg, History, IWebSocket, IWebSocketCloseEvent, IWebSocketEvent, IWebSocketInstance, IWebSocketMessageEvent, IdTuple, Immutable, InitialDocumentStateServerMsg, Json, JsonArray, JsonObject, JsonScalar, LegacyConnectionStatus, LiveList, LiveListUpdate, LiveMap, LiveMapUpdate, LiveNode, LiveObject, LiveObjectUpdate, LiveStructure, LostConnectionEvent, Lson, LsonObject, NodeMap, Op, OpCode, Others, ParentToChildNodeMap, PlainLson, PlainLsonFields, PlainLsonList, PlainLsonMap, PlainLsonObject, RejectedStorageOpServerMsg, Resolve, Room, RoomInitializers, RoomStateServerMsg, SerializedChild, SerializedCrdt, SerializedList, SerializedMap, SerializedObject, SerializedRegister, SerializedRootObject, ServerMsg, ServerMsgCode, SetParentKeyOp, Status, StorageStatus, StorageUpdate, ToImmutable, ToJson, UpdateObjectOp, UpdatePresenceClientMsg, UpdatePresenceServerMsg, UpdateStorageClientMsg, UpdateStorageServerMsg, UpdateYDocClientMsg, User, UserJoinServerMsg, UserLeftServerMsg, WebsocketCloseCodes, asArrayWithLegacyMethods, asPos, assert, assertNever, b64decode, createClient, deprecate, deprecateIf, errorIf, freeze, isChildCrdt, isJsonArray, isJsonObject, isJsonScalar, isPlainObject, isRootCrdt, legacy_patchImmutableObject, lsonToJson, makePosition, nn, patchLiveObjectKey, shallow, throwUsageError, toPlainLson, tryParseJson, withTimeout };
|
package/dist/index.js
CHANGED
|
@@ -17,18 +17,6 @@ var __spreadValues = (a, b) => {
|
|
|
17
17
|
return a;
|
|
18
18
|
};
|
|
19
19
|
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
-
var __objRest = (source, exclude) => {
|
|
21
|
-
var target = {};
|
|
22
|
-
for (var prop in source)
|
|
23
|
-
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
24
|
-
target[prop] = source[prop];
|
|
25
|
-
if (source != null && __getOwnPropSymbols)
|
|
26
|
-
for (var prop of __getOwnPropSymbols(source)) {
|
|
27
|
-
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
28
|
-
target[prop] = source[prop];
|
|
29
|
-
}
|
|
30
|
-
return target;
|
|
31
|
-
};
|
|
32
20
|
var __async = (__this, __arguments, generator) => {
|
|
33
21
|
return new Promise((resolve, reject) => {
|
|
34
22
|
var fulfilled = (value) => {
|
|
@@ -157,7 +145,7 @@ var onMessageFromPanel = eventSource.observable;
|
|
|
157
145
|
// src/devtools/index.ts
|
|
158
146
|
var VERSION = true ? (
|
|
159
147
|
/* istanbul ignore next */
|
|
160
|
-
"1.1.
|
|
148
|
+
"1.1.1-internal1"
|
|
161
149
|
) : "dev";
|
|
162
150
|
var _devtoolsSetupHasRun = false;
|
|
163
151
|
function setupDevTools(getAllRooms) {
|
|
@@ -3924,13 +3912,6 @@ function isJsonObject(data) {
|
|
|
3924
3912
|
}
|
|
3925
3913
|
|
|
3926
3914
|
// src/protocol/AuthToken.ts
|
|
3927
|
-
function hasJwtMeta(data) {
|
|
3928
|
-
if (!isPlainObject(data)) {
|
|
3929
|
-
return false;
|
|
3930
|
-
}
|
|
3931
|
-
const { iat, exp } = data;
|
|
3932
|
-
return typeof iat === "number" && typeof exp === "number";
|
|
3933
|
-
}
|
|
3934
3915
|
function isTokenExpired(token) {
|
|
3935
3916
|
const now = Date.now() / 1e3;
|
|
3936
3917
|
const valid = now <= token.exp - 300 && now >= token.iat - 300;
|
|
@@ -3939,44 +3920,23 @@ function isTokenExpired(token) {
|
|
|
3939
3920
|
function isStringList(value) {
|
|
3940
3921
|
return Array.isArray(value) && value.every((i) => typeof i === "string");
|
|
3941
3922
|
}
|
|
3942
|
-
function
|
|
3943
|
-
return typeof data.
|
|
3923
|
+
function isMinimalTokenPayload(data) {
|
|
3924
|
+
return isPlainObject(data) && typeof data.iat === "number" && typeof data.exp === "number" && typeof data.actor === "number" && (data.id === void 0 || typeof data.id === "string") && isStringList(data.scopes);
|
|
3944
3925
|
}
|
|
3945
|
-
function
|
|
3946
|
-
|
|
3947
|
-
}
|
|
3948
|
-
function isAuthToken(data) {
|
|
3949
|
-
return isAppOnlyAuthToken(data) || isRoomAuthToken(data);
|
|
3950
|
-
}
|
|
3951
|
-
function parseJwtToken(token) {
|
|
3952
|
-
const tokenParts = token.split(".");
|
|
3926
|
+
function parseAuthToken(rawTokenString) {
|
|
3927
|
+
const tokenParts = rawTokenString.split(".");
|
|
3953
3928
|
if (tokenParts.length !== 3) {
|
|
3954
3929
|
throw new Error("Authentication error: invalid JWT token");
|
|
3955
3930
|
}
|
|
3956
|
-
const
|
|
3957
|
-
if (
|
|
3958
|
-
return data;
|
|
3959
|
-
} else {
|
|
3960
|
-
throw new Error("Authentication error: missing JWT metadata");
|
|
3961
|
-
}
|
|
3962
|
-
}
|
|
3963
|
-
function parseRoomAuthToken(tokenString) {
|
|
3964
|
-
const data = parseJwtToken(tokenString);
|
|
3965
|
-
if (!(data && isRoomAuthToken(data))) {
|
|
3931
|
+
const payload = tryParseJson(b64decode(tokenParts[1]));
|
|
3932
|
+
if (!(payload && isMinimalTokenPayload(payload))) {
|
|
3966
3933
|
throw new Error(
|
|
3967
3934
|
"Authentication error: we expected a room token but did not get one. Hint: if you are using a callback, ensure the room is passed when creating the token. For more information: https://liveblocks.io/docs/api-reference/liveblocks-client#createClientCallback"
|
|
3968
3935
|
);
|
|
3969
3936
|
}
|
|
3970
|
-
const _a = data, {
|
|
3971
|
-
maxConnections: _legacyField
|
|
3972
|
-
} = _a, parsedToken = __objRest(_a, [
|
|
3973
|
-
// If this legacy field is found on the token, pretend it wasn't there,
|
|
3974
|
-
// to make all internally used token payloads uniform
|
|
3975
|
-
"maxConnections"
|
|
3976
|
-
]);
|
|
3977
3937
|
return {
|
|
3978
|
-
raw:
|
|
3979
|
-
parsed:
|
|
3938
|
+
raw: rawTokenString,
|
|
3939
|
+
parsed: payload
|
|
3980
3940
|
};
|
|
3981
3941
|
}
|
|
3982
3942
|
|
|
@@ -3986,7 +3946,7 @@ var ClientMsgCode = /* @__PURE__ */ ((ClientMsgCode2) => {
|
|
|
3986
3946
|
ClientMsgCode2[ClientMsgCode2["BROADCAST_EVENT"] = 103] = "BROADCAST_EVENT";
|
|
3987
3947
|
ClientMsgCode2[ClientMsgCode2["FETCH_STORAGE"] = 200] = "FETCH_STORAGE";
|
|
3988
3948
|
ClientMsgCode2[ClientMsgCode2["UPDATE_STORAGE"] = 201] = "UPDATE_STORAGE";
|
|
3989
|
-
ClientMsgCode2[ClientMsgCode2["
|
|
3949
|
+
ClientMsgCode2[ClientMsgCode2["FETCH_YDOC"] = 300] = "FETCH_YDOC";
|
|
3990
3950
|
ClientMsgCode2[ClientMsgCode2["UPDATE_YDOC"] = 301] = "UPDATE_YDOC";
|
|
3991
3951
|
return ClientMsgCode2;
|
|
3992
3952
|
})(ClientMsgCode || {});
|
|
@@ -4001,7 +3961,7 @@ var ServerMsgCode = /* @__PURE__ */ ((ServerMsgCode2) => {
|
|
|
4001
3961
|
ServerMsgCode2[ServerMsgCode2["INITIAL_STORAGE_STATE"] = 200] = "INITIAL_STORAGE_STATE";
|
|
4002
3962
|
ServerMsgCode2[ServerMsgCode2["UPDATE_STORAGE"] = 201] = "UPDATE_STORAGE";
|
|
4003
3963
|
ServerMsgCode2[ServerMsgCode2["REJECT_STORAGE_OP"] = 299] = "REJECT_STORAGE_OP";
|
|
4004
|
-
ServerMsgCode2[ServerMsgCode2["
|
|
3964
|
+
ServerMsgCode2[ServerMsgCode2["UPDATE_YDOC"] = 300] = "UPDATE_YDOC";
|
|
4005
3965
|
return ServerMsgCode2;
|
|
4006
3966
|
})(ServerMsgCode || {});
|
|
4007
3967
|
|
|
@@ -4434,8 +4394,7 @@ function createRoom(options, config) {
|
|
|
4434
4394
|
storage: makeEventSource(),
|
|
4435
4395
|
history: makeEventSource(),
|
|
4436
4396
|
storageDidLoad: makeEventSource(),
|
|
4437
|
-
storageStatus: makeEventSource()
|
|
4438
|
-
docUpdated: makeEventSource()
|
|
4397
|
+
storageStatus: makeEventSource()
|
|
4439
4398
|
};
|
|
4440
4399
|
function sendMessages(messageOrMessages) {
|
|
4441
4400
|
var _a2, _b2;
|
|
@@ -4856,10 +4815,6 @@ function createRoom(options, config) {
|
|
|
4856
4815
|
}
|
|
4857
4816
|
break;
|
|
4858
4817
|
}
|
|
4859
|
-
case 300 /* YDOC_UPDATE */: {
|
|
4860
|
-
eventHub.docUpdated.notify(message.update);
|
|
4861
|
-
break;
|
|
4862
|
-
}
|
|
4863
4818
|
case 104 /* ROOM_STATE */: {
|
|
4864
4819
|
updates.others.push(onRoomStateMessage(message));
|
|
4865
4820
|
break;
|
|
@@ -4978,13 +4933,6 @@ ${Array.from(traces).join("\n\n")}`
|
|
|
4978
4933
|
}
|
|
4979
4934
|
return messages;
|
|
4980
4935
|
}
|
|
4981
|
-
function updateYDoc(update) {
|
|
4982
|
-
context.buffer.messages.push({
|
|
4983
|
-
type: 301 /* UPDATE_YDOC */,
|
|
4984
|
-
update
|
|
4985
|
-
});
|
|
4986
|
-
flushNowOrSoon();
|
|
4987
|
-
}
|
|
4988
4936
|
function broadcastEvent(event, options2 = {
|
|
4989
4937
|
shouldQueueEventIfNotReady: false
|
|
4990
4938
|
}) {
|
|
@@ -5044,13 +4992,6 @@ ${Array.from(traces).join("\n\n")}`
|
|
|
5044
4992
|
};
|
|
5045
4993
|
});
|
|
5046
4994
|
}
|
|
5047
|
-
function getYDoc(vector) {
|
|
5048
|
-
context.buffer.messages.push({
|
|
5049
|
-
type: 300 /* FETCH_YDOC_UPDATE */,
|
|
5050
|
-
vector
|
|
5051
|
-
});
|
|
5052
|
-
flushNowOrSoon();
|
|
5053
|
-
}
|
|
5054
4995
|
function undo() {
|
|
5055
4996
|
if (context.activeBatch) {
|
|
5056
4997
|
throw new Error("undo is not allowed during a batch");
|
|
@@ -5172,8 +5113,7 @@ ${Array.from(traces).join("\n\n")}`
|
|
|
5172
5113
|
storage: eventHub.storage.observable,
|
|
5173
5114
|
history: eventHub.history.observable,
|
|
5174
5115
|
storageDidLoad: eventHub.storageDidLoad.observable,
|
|
5175
|
-
storageStatus: eventHub.storageStatus.observable
|
|
5176
|
-
docUpdated: eventHub.docUpdated.observable
|
|
5116
|
+
storageStatus: eventHub.storageStatus.observable
|
|
5177
5117
|
};
|
|
5178
5118
|
return {
|
|
5179
5119
|
/* NOTE: Exposing __internal here only to allow testing implementation details in unit tests */
|
|
@@ -5208,7 +5148,6 @@ ${Array.from(traces).join("\n\n")}`
|
|
|
5208
5148
|
destroy: () => managedSocket.destroy(),
|
|
5209
5149
|
// Presence
|
|
5210
5150
|
updatePresence,
|
|
5211
|
-
updateYDoc,
|
|
5212
5151
|
broadcastEvent,
|
|
5213
5152
|
// Storage
|
|
5214
5153
|
batch,
|
|
@@ -5220,7 +5159,6 @@ ${Array.from(traces).join("\n\n")}`
|
|
|
5220
5159
|
pause: pauseHistory,
|
|
5221
5160
|
resume: resumeHistory
|
|
5222
5161
|
},
|
|
5223
|
-
getYDoc,
|
|
5224
5162
|
getStorage,
|
|
5225
5163
|
getStorageSnapshot,
|
|
5226
5164
|
getStorageStatus,
|
|
@@ -5336,7 +5274,7 @@ function makeCreateSocketDelegateForRoom(liveblocksServer, WebSocketPolyfill) {
|
|
|
5336
5274
|
// @ts-ignore (__PACKAGE_VERSION__ will be injected by the build script)
|
|
5337
5275
|
true ? (
|
|
5338
5276
|
/* istanbul ignore next */
|
|
5339
|
-
"1.1.
|
|
5277
|
+
"1.1.1-internal1"
|
|
5340
5278
|
) : "dev"}`
|
|
5341
5279
|
);
|
|
5342
5280
|
};
|
|
@@ -5367,7 +5305,7 @@ function makeAuthDelegateForRoom(roomId, authentication, fetchPolyfill) {
|
|
|
5367
5305
|
return fetchAuthEndpoint(fetcher, authentication.url, {
|
|
5368
5306
|
room: roomId,
|
|
5369
5307
|
publicApiKey: authentication.publicApiKey
|
|
5370
|
-
}).then(({ token }) =>
|
|
5308
|
+
}).then(({ token }) => parseAuthToken(token));
|
|
5371
5309
|
});
|
|
5372
5310
|
} else if (authentication.type === "private") {
|
|
5373
5311
|
return () => __async(this, null, function* () {
|
|
@@ -5378,7 +5316,7 @@ function makeAuthDelegateForRoom(roomId, authentication, fetchPolyfill) {
|
|
|
5378
5316
|
}
|
|
5379
5317
|
return fetchAuthEndpoint(fetcher, authentication.url, {
|
|
5380
5318
|
room: roomId
|
|
5381
|
-
}).then(({ token }) =>
|
|
5319
|
+
}).then(({ token }) => parseAuthToken(token));
|
|
5382
5320
|
});
|
|
5383
5321
|
} else if (authentication.type === "custom") {
|
|
5384
5322
|
return () => __async(this, null, function* () {
|
|
@@ -5388,7 +5326,7 @@ function makeAuthDelegateForRoom(roomId, authentication, fetchPolyfill) {
|
|
|
5388
5326
|
'We expect the authentication callback to return a token, but it does not. Hint: the return value should look like: { token: "..." }'
|
|
5389
5327
|
);
|
|
5390
5328
|
}
|
|
5391
|
-
return
|
|
5329
|
+
return parseAuthToken(response.token);
|
|
5392
5330
|
});
|
|
5393
5331
|
} else {
|
|
5394
5332
|
throw new Error("Internal error. Unexpected authentication type");
|
|
@@ -5989,7 +5927,4 @@ var WebsocketCloseCodes = /* @__PURE__ */ ((WebsocketCloseCodes2) => {
|
|
|
5989
5927
|
|
|
5990
5928
|
|
|
5991
5929
|
|
|
5992
|
-
|
|
5993
|
-
|
|
5994
|
-
|
|
5995
|
-
exports.ClientMsgCode = ClientMsgCode; exports.CrdtType = CrdtType; exports.LiveList = LiveList; exports.LiveMap = LiveMap; exports.LiveObject = LiveObject; exports.OpCode = OpCode; exports.ServerMsgCode = ServerMsgCode; exports.WebsocketCloseCodes = WebsocketCloseCodes; exports.asArrayWithLegacyMethods = asArrayWithLegacyMethods; exports.asPos = asPos; exports.assert = assert; exports.assertNever = assertNever; exports.b64decode = b64decode; exports.createClient = createClient; exports.deprecate = deprecate; exports.deprecateIf = deprecateIf; exports.errorIf = errorIf; exports.freeze = freeze; exports.isAppOnlyAuthToken = isAppOnlyAuthToken; exports.isAuthToken = isAuthToken; exports.isChildCrdt = isChildCrdt; exports.isJsonArray = isJsonArray; exports.isJsonObject = isJsonObject; exports.isJsonScalar = isJsonScalar; exports.isPlainObject = isPlainObject; exports.isRoomAuthToken = isRoomAuthToken; exports.isRootCrdt = isRootCrdt; exports.legacy_patchImmutableObject = legacy_patchImmutableObject; exports.lsonToJson = lsonToJson; exports.makePosition = makePosition; exports.nn = nn; exports.patchLiveObjectKey = patchLiveObjectKey; exports.shallow = shallow; exports.throwUsageError = throwUsageError; exports.tryParseJson = tryParseJson; exports.withTimeout = withTimeout;
|
|
5930
|
+
exports.ClientMsgCode = ClientMsgCode; exports.CrdtType = CrdtType; exports.LiveList = LiveList; exports.LiveMap = LiveMap; exports.LiveObject = LiveObject; exports.OpCode = OpCode; exports.ServerMsgCode = ServerMsgCode; exports.WebsocketCloseCodes = WebsocketCloseCodes; exports.asArrayWithLegacyMethods = asArrayWithLegacyMethods; exports.asPos = asPos; exports.assert = assert; exports.assertNever = assertNever; exports.b64decode = b64decode; exports.createClient = createClient; exports.deprecate = deprecate; exports.deprecateIf = deprecateIf; exports.errorIf = errorIf; exports.freeze = freeze; exports.isChildCrdt = isChildCrdt; exports.isJsonArray = isJsonArray; exports.isJsonObject = isJsonObject; exports.isJsonScalar = isJsonScalar; exports.isPlainObject = isPlainObject; exports.isRootCrdt = isRootCrdt; exports.legacy_patchImmutableObject = legacy_patchImmutableObject; exports.lsonToJson = lsonToJson; exports.makePosition = makePosition; exports.nn = nn; exports.patchLiveObjectKey = patchLiveObjectKey; exports.shallow = shallow; exports.throwUsageError = throwUsageError; exports.tryParseJson = tryParseJson; exports.withTimeout = withTimeout;
|