@liveblocks/core 2.24.0-deque1 → 2.24.0-sub1

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.cjs CHANGED
@@ -6,7 +6,7 @@ var __export = (target, all) => {
6
6
 
7
7
  // src/version.ts
8
8
  var PKG_NAME = "@liveblocks/core";
9
- var PKG_VERSION = "2.24.0-deque1";
9
+ var PKG_VERSION = "2.24.0-sub1";
10
10
  var PKG_FORMAT = "cjs";
11
11
 
12
12
  // src/dupe-detection.ts
@@ -118,6 +118,13 @@ function convertToInboxNotificationData(data) {
118
118
  readAt
119
119
  };
120
120
  }
121
+ function convertToSubscriptionData(data) {
122
+ const createdAt = new Date(data.createdAt);
123
+ return {
124
+ ...data,
125
+ createdAt
126
+ };
127
+ }
121
128
  function convertToThreadDeleteInfo(data) {
122
129
  const deletedAt = new Date(data.deletedAt);
123
130
  return {
@@ -132,6 +139,13 @@ function convertToInboxNotificationDeleteInfo(data) {
132
139
  deletedAt
133
140
  };
134
141
  }
142
+ function convertToSubscriptionDeleteInfo(data) {
143
+ const deletedAt = new Date(data.deletedAt);
144
+ return {
145
+ ...data,
146
+ deletedAt
147
+ };
148
+ }
135
149
 
136
150
  // src/lib/fancy-console.ts
137
151
  var fancy_console_exports = {};
@@ -1115,6 +1129,12 @@ function createApiClient({
1115
1129
  convertToInboxNotificationDeleteInfo
1116
1130
  )
1117
1131
  },
1132
+ subscriptions: {
1133
+ updated: result.subscriptions.map(convertToSubscriptionData),
1134
+ deleted: result.deletedSubscriptions.map(
1135
+ convertToSubscriptionDeleteInfo
1136
+ )
1137
+ },
1118
1138
  requestedAt: new Date(result.meta.requestedAt),
1119
1139
  permissionHints: result.meta.permissionHints
1120
1140
  };
@@ -1143,6 +1163,7 @@ function createApiClient({
1143
1163
  inboxNotifications: result.inboxNotifications.map(
1144
1164
  convertToInboxNotificationData
1145
1165
  ),
1166
+ subscriptions: result.subscriptions.map(convertToSubscriptionData),
1146
1167
  nextCursor: result.meta.nextCursor,
1147
1168
  requestedAt: new Date(result.meta.requestedAt),
1148
1169
  permissionHints: result.meta.permissionHints
@@ -1152,6 +1173,7 @@ function createApiClient({
1152
1173
  return {
1153
1174
  threads: [],
1154
1175
  inboxNotifications: [],
1176
+ subscriptions: [],
1155
1177
  nextCursor: null,
1156
1178
  //
1157
1179
  // HACK
@@ -1210,12 +1232,14 @@ function createApiClient({
1210
1232
  const json = await response.json();
1211
1233
  return {
1212
1234
  thread: convertToThreadData(json.thread),
1213
- inboxNotification: json.inboxNotification ? convertToInboxNotificationData(json.inboxNotification) : void 0
1235
+ inboxNotification: json.inboxNotification ? convertToInboxNotificationData(json.inboxNotification) : void 0,
1236
+ subscription: json.subscription ? convertToSubscriptionData(json.subscription) : void 0
1214
1237
  };
1215
1238
  } else if (response.status === 404) {
1216
1239
  return {
1217
1240
  thread: void 0,
1218
- inboxNotification: void 0
1241
+ inboxNotification: void 0,
1242
+ subscription: void 0
1219
1243
  };
1220
1244
  } else {
1221
1245
  throw new Error(
@@ -1310,6 +1334,25 @@ function createApiClient({
1310
1334
  })
1311
1335
  );
1312
1336
  }
1337
+ async function subscribeToThread(options) {
1338
+ const subscription = await httpClient.post(
1339
+ url`/v2/c/rooms/${options.roomId}/threads/${options.threadId}/subscribe`,
1340
+ await authManager.getAuthValue({
1341
+ requestedScope: "comments:read",
1342
+ roomId: options.roomId
1343
+ })
1344
+ );
1345
+ return convertToSubscriptionData(subscription);
1346
+ }
1347
+ async function unsubscribeFromThread(options) {
1348
+ await httpClient.post(
1349
+ url`/v2/c/rooms/${options.roomId}/threads/${options.threadId}/unsubscribe`,
1350
+ await authManager.getAuthValue({
1351
+ requestedScope: "comments:read",
1352
+ roomId: options.roomId
1353
+ })
1354
+ );
1355
+ }
1313
1356
  async function uploadAttachment(options) {
1314
1357
  const roomId = options.roomId;
1315
1358
  const abortSignal = options.signal;
@@ -1480,9 +1523,9 @@ function createApiClient({
1480
1523
  const batch2 = getOrCreateAttachmentUrlsStore(options.roomId).batch;
1481
1524
  return batch2.get(options.attachmentId);
1482
1525
  }
1483
- async function getNotificationSettings(options) {
1526
+ async function getSubscriptionSettings(options) {
1484
1527
  return httpClient.get(
1485
- url`/v2/c/rooms/${options.roomId}/notification-settings`,
1528
+ url`/v2/c/rooms/${options.roomId}/subscription-settings`,
1486
1529
  await authManager.getAuthValue({
1487
1530
  requestedScope: "comments:read",
1488
1531
  roomId: options.roomId
@@ -1493,9 +1536,9 @@ function createApiClient({
1493
1536
  }
1494
1537
  );
1495
1538
  }
1496
- async function updateNotificationSettings(options) {
1539
+ async function updateSubscriptionSettings(options) {
1497
1540
  return httpClient.post(
1498
- url`/v2/c/rooms/${options.roomId}/notification-settings`,
1541
+ url`/v2/c/rooms/${options.roomId}/subscription-settings`,
1499
1542
  await authManager.getAuthValue({
1500
1543
  requestedScope: "comments:read",
1501
1544
  roomId: options.roomId
@@ -1676,6 +1719,7 @@ function createApiClient({
1676
1719
  convertToInboxNotificationData
1677
1720
  ),
1678
1721
  threads: json.threads.map(convertToThreadData),
1722
+ subscriptions: json.subscriptions.map(convertToSubscriptionData),
1679
1723
  nextCursor: json.meta.nextCursor,
1680
1724
  requestedAt: new Date(json.meta.requestedAt)
1681
1725
  };
@@ -1698,6 +1742,10 @@ function createApiClient({
1698
1742
  updated: json.threads.map(convertToThreadData),
1699
1743
  deleted: json.deletedThreads.map(convertToThreadDeleteInfo)
1700
1744
  },
1745
+ subscriptions: {
1746
+ updated: json.subscriptions.map(convertToSubscriptionData),
1747
+ deleted: json.deletedSubscriptions.map(convertToSubscriptionDeleteInfo)
1748
+ },
1701
1749
  requestedAt: new Date(json.meta.requestedAt)
1702
1750
  };
1703
1751
  }
@@ -1749,7 +1797,7 @@ function createApiClient({
1749
1797
  await authManager.getAuthValue({ requestedScope: "comments:read" })
1750
1798
  );
1751
1799
  }
1752
- async function getUserNotificationSettings(options) {
1800
+ async function getNotificationSettings(options) {
1753
1801
  return httpClient.get(
1754
1802
  url`/v2/c/notification-settings`,
1755
1803
  await authManager.getAuthValue({ requestedScope: "comments:read" }),
@@ -1757,7 +1805,7 @@ function createApiClient({
1757
1805
  { signal: _optionalChain([options, 'optionalAccess', _18 => _18.signal]) }
1758
1806
  );
1759
1807
  }
1760
- async function updateUserNotificationSettings(settings) {
1808
+ async function updateNotificationSettings(settings) {
1761
1809
  return httpClient.post(
1762
1810
  url`/v2/c/notification-settings`,
1763
1811
  await authManager.getAuthValue({ requestedScope: "comments:read" }),
@@ -1784,6 +1832,7 @@ function createApiClient({
1784
1832
  inboxNotifications: json.inboxNotifications.map(
1785
1833
  convertToInboxNotificationData
1786
1834
  ),
1835
+ subscriptions: json.subscriptions.map(convertToSubscriptionData),
1787
1836
  nextCursor: json.meta.nextCursor,
1788
1837
  requestedAt: new Date(json.meta.requestedAt),
1789
1838
  permissionHints: json.meta.permissionHints
@@ -1807,6 +1856,10 @@ function createApiClient({
1807
1856
  convertToInboxNotificationDeleteInfo
1808
1857
  )
1809
1858
  },
1859
+ subscriptions: {
1860
+ updated: json.subscriptions.map(convertToSubscriptionData),
1861
+ deleted: json.deletedSubscriptions.map(convertToSubscriptionDeleteInfo)
1862
+ },
1810
1863
  requestedAt: new Date(json.meta.requestedAt),
1811
1864
  permissionHints: json.meta.permissionHints
1812
1865
  };
@@ -1826,10 +1879,12 @@ function createApiClient({
1826
1879
  removeReaction,
1827
1880
  markThreadAsResolved,
1828
1881
  markThreadAsUnresolved,
1882
+ subscribeToThread,
1883
+ unsubscribeFromThread,
1829
1884
  markRoomInboxNotificationAsRead,
1830
- // Room notifications
1831
- getNotificationSettings,
1832
- updateNotificationSettings,
1885
+ // Room subscription settings
1886
+ getSubscriptionSettings,
1887
+ updateSubscriptionSettings,
1833
1888
  // Room text editor
1834
1889
  createTextMention,
1835
1890
  deleteTextMention,
@@ -1845,7 +1900,7 @@ function createApiClient({
1845
1900
  // Room storage
1846
1901
  streamStorage,
1847
1902
  sendMessages,
1848
- // Notification
1903
+ // Notifications
1849
1904
  getInboxNotifications,
1850
1905
  getInboxNotificationsSince,
1851
1906
  getUnreadInboxNotificationsCount,
@@ -1853,8 +1908,8 @@ function createApiClient({
1853
1908
  markInboxNotificationAsRead,
1854
1909
  deleteAllInboxNotifications,
1855
1910
  deleteInboxNotification,
1856
- getUserNotificationSettings,
1857
- updateUserNotificationSettings,
1911
+ getNotificationSettings,
1912
+ updateNotificationSettings,
1858
1913
  // User threads
1859
1914
  getUserThreads_experimental,
1860
1915
  getUserThreadsSince_experimental,
@@ -3603,9 +3658,9 @@ function unlinkDevTools(roomId) {
3603
3658
  });
3604
3659
  }
3605
3660
 
3606
- // src/protocol/UserNotificationSettings.ts
3607
- var kPlain = Symbol("user-notification-settings-plain");
3608
- function createUserNotificationSettings(plain) {
3661
+ // src/protocol/NotificationSettings.ts
3662
+ var kPlain = Symbol("notification-settings-plain");
3663
+ function createNotificationSettings(plain) {
3609
3664
  const channels = [
3610
3665
  "email",
3611
3666
  "slack",
@@ -3629,8 +3684,8 @@ function createUserNotificationSettings(plain) {
3629
3684
  * no enforced shape for ⁠this. And so the standard library definitions have to remain as broad as possible
3630
3685
  * to support any valid JavaScript usage (e.g `Object.defineProperty`).
3631
3686
  *
3632
- * So we can safely tells that this getter is typed as `this: UserNotificationSettings` because we're
3633
- * creating a well known shaped object → `UserNotificationSettings`.
3687
+ * So we can safely tells that this getter is typed as `this: NotificationSettings` because we're
3688
+ * creating a well known shaped object → `NotificationSettings`.
3634
3689
  */
3635
3690
  get() {
3636
3691
  const value = this[kPlain][channel];
@@ -3646,8 +3701,8 @@ function createUserNotificationSettings(plain) {
3646
3701
  }
3647
3702
  return create(null, descriptors);
3648
3703
  }
3649
- function patchUserNotificationSettings(existing, patch) {
3650
- const outcoming = createUserNotificationSettings({
3704
+ function patchNotificationSettings(existing, patch) {
3705
+ const outcoming = createNotificationSettings({
3651
3706
  ...existing[kPlain]
3652
3707
  });
3653
3708
  for (const channel of keys(patch)) {
@@ -6509,6 +6564,10 @@ function defaultMessageFromContext(context) {
6509
6564
  return "Could not mark thread as resolved";
6510
6565
  case "MARK_THREAD_AS_UNRESOLVED_ERROR":
6511
6566
  return "Could not mark thread as unresolved";
6567
+ case "SUBSCRIBE_TO_THREAD_ERROR":
6568
+ return "Could not subscribe to thread";
6569
+ case "UNSUBSCRIBE_FROM_THREAD_ERROR":
6570
+ return "Could not unsubscribe from thread";
6512
6571
  case "CREATE_COMMENT_ERROR":
6513
6572
  return "Could not create new comment";
6514
6573
  case "EDIT_COMMENT_ERROR":
@@ -6529,8 +6588,10 @@ function defaultMessageFromContext(context) {
6529
6588
  return "Could not delete all inbox notifications";
6530
6589
  case "UPDATE_NOTIFICATION_SETTINGS_ERROR":
6531
6590
  return "Could not update notification settings";
6591
+ case "UPDATE_ROOM_SUBSCRIPTION_SETTINGS_ERROR":
6592
+ return "Could not update room subscription settings";
6532
6593
  case "UPDATE_USER_NOTIFICATION_SETTINGS_ERROR":
6533
- return "Could not update user notification settings";
6594
+ return "Could not update notification settings";
6534
6595
  default:
6535
6596
  return assertNever(context, "Unhandled case");
6536
6597
  }
@@ -7717,6 +7778,12 @@ ${Array.from(traces).join("\n\n")}`
7717
7778
  threadId
7718
7779
  });
7719
7780
  }
7781
+ async function subscribeToThread(threadId) {
7782
+ return httpClient.subscribeToThread({ roomId, threadId });
7783
+ }
7784
+ async function unsubscribeFromThread(threadId) {
7785
+ return httpClient.unsubscribeFromThread({ roomId, threadId });
7786
+ }
7720
7787
  async function createComment(options2) {
7721
7788
  return httpClient.createComment({
7722
7789
  roomId,
@@ -7781,14 +7848,14 @@ ${Array.from(traces).join("\n\n")}`
7781
7848
  function getAttachmentUrl(attachmentId) {
7782
7849
  return httpClient.getAttachmentUrl({ roomId, attachmentId });
7783
7850
  }
7784
- function getNotificationSettings(options2) {
7785
- return httpClient.getNotificationSettings({
7851
+ function getSubscriptionSettings(options2) {
7852
+ return httpClient.getSubscriptionSettings({
7786
7853
  roomId,
7787
7854
  signal: _optionalChain([options2, 'optionalAccess', _158 => _158.signal])
7788
7855
  });
7789
7856
  }
7790
- function updateNotificationSettings(settings) {
7791
- return httpClient.updateNotificationSettings({ roomId, settings });
7857
+ function updateSubscriptionSettings(settings) {
7858
+ return httpClient.updateSubscriptionSettings({ roomId, settings });
7792
7859
  }
7793
7860
  async function markInboxNotificationAsRead(inboxNotificationId) {
7794
7861
  await httpClient.markRoomInboxNotificationAsRead({
@@ -7915,6 +7982,8 @@ ${Array.from(traces).join("\n\n")}`
7915
7982
  editThreadMetadata,
7916
7983
  markThreadAsResolved,
7917
7984
  markThreadAsUnresolved,
7985
+ subscribeToThread,
7986
+ unsubscribeFromThread,
7918
7987
  createComment,
7919
7988
  editComment,
7920
7989
  deleteComment,
@@ -7924,8 +7993,10 @@ ${Array.from(traces).join("\n\n")}`
7924
7993
  uploadAttachment,
7925
7994
  getAttachmentUrl,
7926
7995
  // Notifications
7927
- getNotificationSettings,
7928
- updateNotificationSettings,
7996
+ getNotificationSettings: getSubscriptionSettings,
7997
+ getSubscriptionSettings,
7998
+ updateNotificationSettings: updateSubscriptionSettings,
7999
+ updateSubscriptionSettings,
7929
8000
  markInboxNotificationAsRead
7930
8001
  },
7931
8002
  // Explictly make the internal field non-enumerable, to avoid aggressive
@@ -8275,13 +8346,13 @@ function createClient(options) {
8275
8346
  _optionalChain([win, 'optionalAccess', _185 => _185.addEventListener, 'call', _186 => _186("beforeunload", maybePreventClose)]);
8276
8347
  }
8277
8348
  async function getNotificationSettings(options2) {
8278
- const plainSettings = await httpClient.getUserNotificationSettings(options2);
8279
- const settings = createUserNotificationSettings(plainSettings);
8349
+ const plainSettings = await httpClient.getNotificationSettings(options2);
8350
+ const settings = createNotificationSettings(plainSettings);
8280
8351
  return settings;
8281
8352
  }
8282
8353
  async function updateNotificationSettings(settings) {
8283
- const plainSettings = await httpClient.updateUserNotificationSettings(settings);
8284
- const settingsObject = createUserNotificationSettings(plainSettings);
8354
+ const plainSettings = await httpClient.updateNotificationSettings(settings);
8355
+ const settingsObject = createNotificationSettings(plainSettings);
8285
8356
  return settingsObject;
8286
8357
  }
8287
8358
  const client = Object.defineProperty(
@@ -8297,7 +8368,7 @@ function createClient(options) {
8297
8368
  markInboxNotificationAsRead: httpClient.markInboxNotificationAsRead,
8298
8369
  deleteAllInboxNotifications: httpClient.deleteAllInboxNotifications,
8299
8370
  deleteInboxNotification: httpClient.deleteInboxNotification,
8300
- // Public user notification settings API
8371
+ // Public notification settings API
8301
8372
  getNotificationSettings,
8302
8373
  updateNotificationSettings,
8303
8374
  // Advanced resolvers APIs
@@ -9166,6 +9237,9 @@ function makePoller(callback, intervalMs, options) {
9166
9237
  fsm.send({ type: "POLL" });
9167
9238
  }
9168
9239
  }
9240
+ function markAsStale() {
9241
+ context.lastSuccessfulPollAt = performance.now() - maxStaleTimeMs - 1;
9242
+ }
9169
9243
  function setInForeground(inForeground) {
9170
9244
  context.inForeground = inForeground;
9171
9245
  startOrStop();
@@ -9182,6 +9256,7 @@ function makePoller(callback, intervalMs, options) {
9182
9256
  inc,
9183
9257
  dec,
9184
9258
  pollNowIfStale,
9259
+ markAsStale,
9185
9260
  // Internal API, used by unit tests only to simulate visibility events
9186
9261
  setInForeground
9187
9262
  };
@@ -9298,6 +9373,14 @@ var SortedList = class _SortedList {
9298
9373
  }
9299
9374
  };
9300
9375
 
9376
+ // src/protocol/Subscriptions.ts
9377
+ function getSubscriptionKey(subscription, subjectId) {
9378
+ if (typeof subscription === "string") {
9379
+ return `${subscription}:${subjectId}`;
9380
+ }
9381
+ return `${subscription.kind}:${subscription.subjectId}`;
9382
+ }
9383
+
9301
9384
  // src/types/Others.ts
9302
9385
  var TextEditorType = /* @__PURE__ */ ((TextEditorType2) => {
9303
9386
  TextEditorType2["Lexical"] = "lexical";
@@ -9405,5 +9488,5 @@ var NotificationsApiError = HttpError;
9405
9488
 
9406
9489
 
9407
9490
 
9408
- exports.ClientMsgCode = ClientMsgCode; exports.CommentsApiError = CommentsApiError; exports.CrdtType = CrdtType; exports.DefaultMap = DefaultMap; exports.Deque = Deque; exports.DerivedSignal = DerivedSignal; exports.HttpError = HttpError; exports.LiveList = LiveList; exports.LiveMap = LiveMap; exports.LiveObject = LiveObject; exports.LiveblocksError = LiveblocksError; exports.MutableSignal = MutableSignal; exports.NotificationsApiError = NotificationsApiError; exports.OpCode = OpCode; exports.Permission = Permission; exports.Promise_withResolvers = Promise_withResolvers; exports.ServerMsgCode = ServerMsgCode; exports.Signal = Signal; exports.SortedList = SortedList; exports.TextEditorType = TextEditorType; exports.WebsocketCloseCodes = WebsocketCloseCodes; exports.ackOp = ackOp; exports.asPos = asPos; exports.assert = assert; exports.assertNever = assertNever; exports.autoRetry = autoRetry; exports.b64decode = b64decode; exports.batch = batch; exports.checkBounds = checkBounds; exports.chunk = chunk; exports.cloneLson = cloneLson; exports.compactObject = compactObject; exports.console = fancy_console_exports; exports.convertToCommentData = convertToCommentData; exports.convertToCommentUserReaction = convertToCommentUserReaction; exports.convertToInboxNotificationData = convertToInboxNotificationData; exports.convertToThreadData = convertToThreadData; exports.createClient = createClient; exports.createCommentAttachmentId = createCommentAttachmentId; exports.createCommentId = createCommentId; exports.createInboxNotificationId = createInboxNotificationId; exports.createManagedPool = createManagedPool; exports.createThreadId = createThreadId; exports.createUserNotificationSettings = createUserNotificationSettings; exports.deprecate = deprecate; exports.deprecateIf = deprecateIf; exports.detectDupes = detectDupes; exports.entries = entries; exports.errorIf = errorIf; exports.freeze = freeze; exports.generateCommentUrl = generateCommentUrl; exports.getMentionedIdsFromCommentBody = getMentionedIdsFromCommentBody; exports.html = html; exports.htmlSafe = htmlSafe; exports.isChildCrdt = isChildCrdt; exports.isCommentBodyLink = isCommentBodyLink; exports.isCommentBodyMention = isCommentBodyMention; exports.isCommentBodyText = isCommentBodyText; exports.isJsonArray = isJsonArray; exports.isJsonObject = isJsonObject; exports.isJsonScalar = isJsonScalar; exports.isLiveNode = isLiveNode; exports.isNotificationChannelEnabled = isNotificationChannelEnabled; exports.isPlainObject = isPlainObject; exports.isRootCrdt = isRootCrdt; exports.isStartsWithOperator = isStartsWithOperator; exports.kInternal = kInternal; exports.keys = keys; exports.legacy_patchImmutableObject = legacy_patchImmutableObject; exports.lsonToJson = lsonToJson; exports.makeAbortController = makeAbortController; exports.makeEventSource = makeEventSource; exports.makePoller = makePoller; exports.makePosition = makePosition; exports.mapValues = mapValues; exports.memoizeOnSuccess = memoizeOnSuccess; exports.nanoid = nanoid; exports.nn = nn; exports.objectToQuery = objectToQuery; exports.patchLiveObjectKey = patchLiveObjectKey; exports.patchUserNotificationSettings = patchUserNotificationSettings; exports.raise = raise; exports.resolveUsersInCommentBody = resolveUsersInCommentBody; exports.shallow = shallow; exports.stableStringify = stableStringify; exports.stringifyCommentBody = stringifyCommentBody; exports.throwUsageError = throwUsageError; exports.toAbsoluteUrl = toAbsoluteUrl; exports.toPlainLson = toPlainLson; exports.tryParseJson = tryParseJson; exports.url = url; exports.urljoin = urljoin; exports.wait = wait; exports.withTimeout = withTimeout;
9491
+ exports.ClientMsgCode = ClientMsgCode; exports.CommentsApiError = CommentsApiError; exports.CrdtType = CrdtType; exports.DefaultMap = DefaultMap; exports.DerivedSignal = DerivedSignal; exports.HttpError = HttpError; exports.LiveList = LiveList; exports.LiveMap = LiveMap; exports.LiveObject = LiveObject; exports.LiveblocksError = LiveblocksError; exports.MutableSignal = MutableSignal; exports.NotificationsApiError = NotificationsApiError; exports.OpCode = OpCode; exports.Permission = Permission; exports.Promise_withResolvers = Promise_withResolvers; exports.ServerMsgCode = ServerMsgCode; exports.Signal = Signal; exports.SortedList = SortedList; exports.TextEditorType = TextEditorType; exports.WebsocketCloseCodes = WebsocketCloseCodes; exports.ackOp = ackOp; exports.asPos = asPos; exports.assert = assert; exports.assertNever = assertNever; exports.autoRetry = autoRetry; exports.b64decode = b64decode; exports.batch = batch; exports.checkBounds = checkBounds; exports.chunk = chunk; exports.cloneLson = cloneLson; exports.compactObject = compactObject; exports.console = fancy_console_exports; exports.convertToCommentData = convertToCommentData; exports.convertToCommentUserReaction = convertToCommentUserReaction; exports.convertToInboxNotificationData = convertToInboxNotificationData; exports.convertToThreadData = convertToThreadData; exports.createClient = createClient; exports.createCommentAttachmentId = createCommentAttachmentId; exports.createCommentId = createCommentId; exports.createInboxNotificationId = createInboxNotificationId; exports.createManagedPool = createManagedPool; exports.createNotificationSettings = createNotificationSettings; exports.createThreadId = createThreadId; exports.deprecate = deprecate; exports.deprecateIf = deprecateIf; exports.detectDupes = detectDupes; exports.entries = entries; exports.errorIf = errorIf; exports.freeze = freeze; exports.generateCommentUrl = generateCommentUrl; exports.getMentionedIdsFromCommentBody = getMentionedIdsFromCommentBody; exports.getSubscriptionKey = getSubscriptionKey; exports.html = html; exports.htmlSafe = htmlSafe; exports.isChildCrdt = isChildCrdt; exports.isCommentBodyLink = isCommentBodyLink; exports.isCommentBodyMention = isCommentBodyMention; exports.isCommentBodyText = isCommentBodyText; exports.isJsonArray = isJsonArray; exports.isJsonObject = isJsonObject; exports.isJsonScalar = isJsonScalar; exports.isLiveNode = isLiveNode; exports.isNotificationChannelEnabled = isNotificationChannelEnabled; exports.isPlainObject = isPlainObject; exports.isRootCrdt = isRootCrdt; exports.isStartsWithOperator = isStartsWithOperator; exports.kInternal = kInternal; exports.keys = keys; exports.legacy_patchImmutableObject = legacy_patchImmutableObject; exports.lsonToJson = lsonToJson; exports.makeAbortController = makeAbortController; exports.makeEventSource = makeEventSource; exports.makePoller = makePoller; exports.makePosition = makePosition; exports.mapValues = mapValues; exports.memoizeOnSuccess = memoizeOnSuccess; exports.nanoid = nanoid; exports.nn = nn; exports.objectToQuery = objectToQuery; exports.patchLiveObjectKey = patchLiveObjectKey; exports.patchNotificationSettings = patchNotificationSettings; exports.raise = raise; exports.resolveUsersInCommentBody = resolveUsersInCommentBody; exports.shallow = shallow; exports.stableStringify = stableStringify; exports.stringifyCommentBody = stringifyCommentBody; exports.throwUsageError = throwUsageError; exports.toAbsoluteUrl = toAbsoluteUrl; exports.toPlainLson = toPlainLson; exports.tryParseJson = tryParseJson; exports.url = url; exports.urljoin = urljoin; exports.wait = wait; exports.withTimeout = withTimeout;
9409
9492
  //# sourceMappingURL=index.cjs.map