@hocuspocus/provider 1.0.0-alpha.24 → 1.0.0-alpha.25
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/hocuspocus-provider.cjs +273 -63
- package/dist/hocuspocus-provider.cjs.map +1 -1
- package/dist/hocuspocus-provider.esm.js +273 -63
- package/dist/hocuspocus-provider.esm.js.map +1 -1
- package/dist/{shared/protocols → packages/common/src}/auth.d.ts +0 -0
- package/dist/packages/common/src/index.d.ts +1 -0
- package/dist/packages/server/src/Hocuspocus.d.ts +2 -3
- package/package.json +2 -2
- package/src/MessageReceiver.ts +1 -1
- package/src/OutgoingMessages/AuthenticationMessage.ts +1 -1
|
@@ -277,8 +277,8 @@ const min = (a, b) => a < b ? a : b;
|
|
|
277
277
|
const max = (a, b) => a > b ? a : b;
|
|
278
278
|
|
|
279
279
|
/* eslint-env browser */
|
|
280
|
-
const BIT8 = 128;
|
|
281
|
-
const BITS7 = 127;
|
|
280
|
+
const BIT8$1 = 128;
|
|
281
|
+
const BITS7$1 = 127;
|
|
282
282
|
|
|
283
283
|
/**
|
|
284
284
|
* Efficient schema-less binary encoding with support for variable length encoding.
|
|
@@ -369,7 +369,7 @@ const toUint8Array = encoder => {
|
|
|
369
369
|
* @param {Encoder} encoder
|
|
370
370
|
* @param {number} num The byte that is to be encoded.
|
|
371
371
|
*/
|
|
372
|
-
const write = (encoder, num) => {
|
|
372
|
+
const write$1 = (encoder, num) => {
|
|
373
373
|
const bufferLen = encoder.cbuf.length;
|
|
374
374
|
if (encoder.cpos === bufferLen) {
|
|
375
375
|
encoder.bufs.push(encoder.cbuf);
|
|
@@ -388,12 +388,12 @@ const write = (encoder, num) => {
|
|
|
388
388
|
* @param {Encoder} encoder
|
|
389
389
|
* @param {number} num The number that is to be encoded.
|
|
390
390
|
*/
|
|
391
|
-
const writeVarUint = (encoder, num) => {
|
|
392
|
-
while (num > BITS7) {
|
|
393
|
-
write(encoder, BIT8 | (BITS7 & num));
|
|
391
|
+
const writeVarUint$1 = (encoder, num) => {
|
|
392
|
+
while (num > BITS7$1) {
|
|
393
|
+
write$1(encoder, BIT8$1 | (BITS7$1 & num));
|
|
394
394
|
num >>>= 7;
|
|
395
395
|
}
|
|
396
|
-
write(encoder, BITS7 & num);
|
|
396
|
+
write$1(encoder, BITS7$1 & num);
|
|
397
397
|
};
|
|
398
398
|
|
|
399
399
|
/**
|
|
@@ -403,12 +403,12 @@ const writeVarUint = (encoder, num) => {
|
|
|
403
403
|
* @param {Encoder} encoder
|
|
404
404
|
* @param {String} str The string that is to be encoded.
|
|
405
405
|
*/
|
|
406
|
-
const writeVarString = (encoder, str) => {
|
|
406
|
+
const writeVarString$1 = (encoder, str) => {
|
|
407
407
|
const encodedString = unescape(encodeURIComponent(str));
|
|
408
408
|
const len = encodedString.length;
|
|
409
|
-
writeVarUint(encoder, len);
|
|
409
|
+
writeVarUint$1(encoder, len);
|
|
410
410
|
for (let i = 0; i < len; i++) {
|
|
411
|
-
write(encoder, /** @type {number} */ (encodedString.codePointAt(i)));
|
|
411
|
+
write$1(encoder, /** @type {number} */ (encodedString.codePointAt(i)));
|
|
412
412
|
}
|
|
413
413
|
};
|
|
414
414
|
|
|
@@ -446,7 +446,7 @@ const writeUint8Array = (encoder, uint8Array) => {
|
|
|
446
446
|
* @param {Uint8Array} uint8Array
|
|
447
447
|
*/
|
|
448
448
|
const writeVarUint8Array = (encoder, uint8Array) => {
|
|
449
|
-
writeVarUint(encoder, uint8Array.byteLength);
|
|
449
|
+
writeVarUint$1(encoder, uint8Array.byteLength);
|
|
450
450
|
writeUint8Array(encoder, uint8Array);
|
|
451
451
|
};
|
|
452
452
|
|
|
@@ -535,7 +535,7 @@ const readUint8Array = (decoder, len) => {
|
|
|
535
535
|
* @param {Decoder} decoder
|
|
536
536
|
* @return {Uint8Array}
|
|
537
537
|
*/
|
|
538
|
-
const readVarUint8Array = decoder => readUint8Array(decoder, readVarUint(decoder));
|
|
538
|
+
const readVarUint8Array = decoder => readUint8Array(decoder, readVarUint$1(decoder));
|
|
539
539
|
|
|
540
540
|
/**
|
|
541
541
|
* Read one byte as unsigned integer.
|
|
@@ -543,7 +543,7 @@ const readVarUint8Array = decoder => readUint8Array(decoder, readVarUint(decoder
|
|
|
543
543
|
* @param {Decoder} decoder The decoder instance
|
|
544
544
|
* @return {number} Unsigned 8-bit integer
|
|
545
545
|
*/
|
|
546
|
-
const readUint8 = decoder => decoder.arr[decoder.pos++];
|
|
546
|
+
const readUint8$1 = decoder => decoder.arr[decoder.pos++];
|
|
547
547
|
|
|
548
548
|
/**
|
|
549
549
|
* Read unsigned integer (32bit) with variable length.
|
|
@@ -555,14 +555,14 @@ const readUint8 = decoder => decoder.arr[decoder.pos++];
|
|
|
555
555
|
* @param {Decoder} decoder
|
|
556
556
|
* @return {number} An unsigned integer.length
|
|
557
557
|
*/
|
|
558
|
-
const readVarUint = decoder => {
|
|
558
|
+
const readVarUint$1 = decoder => {
|
|
559
559
|
let num = 0;
|
|
560
560
|
let len = 0;
|
|
561
561
|
while (true) {
|
|
562
562
|
const r = decoder.arr[decoder.pos++];
|
|
563
|
-
num = num | ((r & BITS7) << len);
|
|
563
|
+
num = num | ((r & BITS7$1) << len);
|
|
564
564
|
len += 7;
|
|
565
|
-
if (r < BIT8) {
|
|
565
|
+
if (r < BIT8$1) {
|
|
566
566
|
return num >>> 0 // return unsigned number!
|
|
567
567
|
}
|
|
568
568
|
/* istanbul ignore if */
|
|
@@ -585,15 +585,15 @@ const readVarUint = decoder => {
|
|
|
585
585
|
* @param {Decoder} decoder
|
|
586
586
|
* @return {String} The read String.
|
|
587
587
|
*/
|
|
588
|
-
const readVarString = decoder => {
|
|
589
|
-
let remainingLen = readVarUint(decoder);
|
|
588
|
+
const readVarString$1 = decoder => {
|
|
589
|
+
let remainingLen = readVarUint$1(decoder);
|
|
590
590
|
if (remainingLen === 0) {
|
|
591
591
|
return ''
|
|
592
592
|
} else {
|
|
593
|
-
let encodedString = String.fromCodePoint(readUint8(decoder)); // remember to decrease remainingLen
|
|
593
|
+
let encodedString = String.fromCodePoint(readUint8$1(decoder)); // remember to decrease remainingLen
|
|
594
594
|
if (--remainingLen < 100) { // do not create a Uint8Array for small strings
|
|
595
595
|
while (remainingLen--) {
|
|
596
|
-
encodedString += String.fromCodePoint(readUint8(decoder));
|
|
596
|
+
encodedString += String.fromCodePoint(readUint8$1(decoder));
|
|
597
597
|
}
|
|
598
598
|
} else {
|
|
599
599
|
while (remainingLen > 0) {
|
|
@@ -1206,14 +1206,14 @@ const removeAwarenessStates = (awareness, clients, origin) => {
|
|
|
1206
1206
|
const encodeAwarenessUpdate = (awareness, clients, states = awareness.states) => {
|
|
1207
1207
|
const len = clients.length;
|
|
1208
1208
|
const encoder = createEncoder();
|
|
1209
|
-
writeVarUint(encoder, len);
|
|
1209
|
+
writeVarUint$1(encoder, len);
|
|
1210
1210
|
for (let i = 0; i < len; i++) {
|
|
1211
1211
|
const clientID = clients[i];
|
|
1212
1212
|
const state = states.get(clientID) || null;
|
|
1213
1213
|
const clock = /** @type {MetaClientState} */ (awareness.meta.get(clientID)).clock;
|
|
1214
|
-
writeVarUint(encoder, clientID);
|
|
1215
|
-
writeVarUint(encoder, clock);
|
|
1216
|
-
writeVarString(encoder, JSON.stringify(state));
|
|
1214
|
+
writeVarUint$1(encoder, clientID);
|
|
1215
|
+
writeVarUint$1(encoder, clock);
|
|
1216
|
+
writeVarString$1(encoder, JSON.stringify(state));
|
|
1217
1217
|
}
|
|
1218
1218
|
return toUint8Array(encoder)
|
|
1219
1219
|
};
|
|
@@ -1230,11 +1230,11 @@ const applyAwarenessUpdate = (awareness, update, origin) => {
|
|
|
1230
1230
|
const updated = [];
|
|
1231
1231
|
const filteredUpdated = [];
|
|
1232
1232
|
const removed = [];
|
|
1233
|
-
const len = readVarUint(decoder);
|
|
1233
|
+
const len = readVarUint$1(decoder);
|
|
1234
1234
|
for (let i = 0; i < len; i++) {
|
|
1235
|
-
const clientID = readVarUint(decoder);
|
|
1236
|
-
let clock = readVarUint(decoder);
|
|
1237
|
-
const state = JSON.parse(readVarString(decoder));
|
|
1235
|
+
const clientID = readVarUint$1(decoder);
|
|
1236
|
+
let clock = readVarUint$1(decoder);
|
|
1237
|
+
const state = JSON.parse(readVarString$1(decoder));
|
|
1238
1238
|
const clientMeta = awareness.meta.get(clientID);
|
|
1239
1239
|
const prevState = awareness.states.get(clientID);
|
|
1240
1240
|
const currClock = clientMeta === undefined ? 0 : clientMeta.clock;
|
|
@@ -1378,13 +1378,13 @@ class IncomingMessage {
|
|
|
1378
1378
|
this.decoder = createDecoder(new Uint8Array(this.data));
|
|
1379
1379
|
}
|
|
1380
1380
|
readVarUint() {
|
|
1381
|
-
return readVarUint(this.decoder);
|
|
1381
|
+
return readVarUint$1(this.decoder);
|
|
1382
1382
|
}
|
|
1383
1383
|
readVarUint8Array() {
|
|
1384
1384
|
return readVarUint8Array(this.decoder);
|
|
1385
1385
|
}
|
|
1386
1386
|
writeVarUint(type) {
|
|
1387
|
-
return writeVarUint(this.encoder, type);
|
|
1387
|
+
return writeVarUint$1(this.encoder, type);
|
|
1388
1388
|
}
|
|
1389
1389
|
writeVarUint8Array(data) {
|
|
1390
1390
|
return writeVarUint8Array(this.encoder, data);
|
|
@@ -1438,7 +1438,7 @@ const messageYjsUpdate = 2;
|
|
|
1438
1438
|
* @param {Y.Doc} doc
|
|
1439
1439
|
*/
|
|
1440
1440
|
const writeSyncStep1 = (encoder, doc) => {
|
|
1441
|
-
writeVarUint(encoder, messageYjsSyncStep1);
|
|
1441
|
+
writeVarUint$1(encoder, messageYjsSyncStep1);
|
|
1442
1442
|
const sv = Y.encodeStateVector(doc);
|
|
1443
1443
|
writeVarUint8Array(encoder, sv);
|
|
1444
1444
|
};
|
|
@@ -1449,7 +1449,7 @@ const writeSyncStep1 = (encoder, doc) => {
|
|
|
1449
1449
|
* @param {Uint8Array} [encodedStateVector]
|
|
1450
1450
|
*/
|
|
1451
1451
|
const writeSyncStep2 = (encoder, doc, encodedStateVector) => {
|
|
1452
|
-
writeVarUint(encoder, messageYjsSyncStep2);
|
|
1452
|
+
writeVarUint$1(encoder, messageYjsSyncStep2);
|
|
1453
1453
|
writeVarUint8Array(encoder, Y.encodeStateAsUpdate(doc, encodedStateVector));
|
|
1454
1454
|
};
|
|
1455
1455
|
|
|
@@ -1484,7 +1484,7 @@ const readSyncStep2 = (decoder, doc, transactionOrigin) => {
|
|
|
1484
1484
|
* @param {Uint8Array} update
|
|
1485
1485
|
*/
|
|
1486
1486
|
const writeUpdate = (encoder, update) => {
|
|
1487
|
-
writeVarUint(encoder, messageYjsUpdate);
|
|
1487
|
+
writeVarUint$1(encoder, messageYjsUpdate);
|
|
1488
1488
|
writeVarUint8Array(encoder, update);
|
|
1489
1489
|
};
|
|
1490
1490
|
|
|
@@ -1504,7 +1504,7 @@ const readUpdate = readSyncStep2;
|
|
|
1504
1504
|
* @param {any} transactionOrigin
|
|
1505
1505
|
*/
|
|
1506
1506
|
const readSyncMessage = (decoder, encoder, doc, transactionOrigin) => {
|
|
1507
|
-
const messageType = readVarUint(decoder);
|
|
1507
|
+
const messageType = readVarUint$1(decoder);
|
|
1508
1508
|
switch (messageType) {
|
|
1509
1509
|
case messageYjsSyncStep1:
|
|
1510
1510
|
readSyncStep1(decoder, encoder, doc);
|
|
@@ -1521,6 +1521,239 @@ const readSyncMessage = (decoder, encoder, doc, transactionOrigin) => {
|
|
|
1521
1521
|
return messageType
|
|
1522
1522
|
};
|
|
1523
1523
|
|
|
1524
|
+
/* eslint-env browser */
|
|
1525
|
+
const BIT8 = 128;
|
|
1526
|
+
const BITS7 = 127;
|
|
1527
|
+
/**
|
|
1528
|
+
* Efficient schema-less binary decoding with support for variable length encoding.
|
|
1529
|
+
*
|
|
1530
|
+
* Use [lib0/decoding] with [lib0/encoding]. Every encoding function has a corresponding decoding function.
|
|
1531
|
+
*
|
|
1532
|
+
* Encodes numbers in little-endian order (least to most significant byte order)
|
|
1533
|
+
* and is compatible with Golang's binary encoding (https://golang.org/pkg/encoding/binary/)
|
|
1534
|
+
* which is also used in Protocol Buffers.
|
|
1535
|
+
*
|
|
1536
|
+
* ```js
|
|
1537
|
+
* // encoding step
|
|
1538
|
+
* const encoder = new encoding.createEncoder()
|
|
1539
|
+
* encoding.writeVarUint(encoder, 256)
|
|
1540
|
+
* encoding.writeVarString(encoder, 'Hello world!')
|
|
1541
|
+
* const buf = encoding.toUint8Array(encoder)
|
|
1542
|
+
* ```
|
|
1543
|
+
*
|
|
1544
|
+
* ```js
|
|
1545
|
+
* // decoding step
|
|
1546
|
+
* const decoder = new decoding.createDecoder(buf)
|
|
1547
|
+
* decoding.readVarUint(decoder) // => 256
|
|
1548
|
+
* decoding.readVarString(decoder) // => 'Hello world!'
|
|
1549
|
+
* decoding.hasContent(decoder) // => false - all data is read
|
|
1550
|
+
* ```
|
|
1551
|
+
*
|
|
1552
|
+
* @module decoding
|
|
1553
|
+
*/
|
|
1554
|
+
|
|
1555
|
+
/**
|
|
1556
|
+
* Read one byte as unsigned integer.
|
|
1557
|
+
* @function
|
|
1558
|
+
* @param {Decoder} decoder The decoder instance
|
|
1559
|
+
* @return {number} Unsigned 8-bit integer
|
|
1560
|
+
*/
|
|
1561
|
+
|
|
1562
|
+
const readUint8 = decoder => decoder.arr[decoder.pos++];
|
|
1563
|
+
/**
|
|
1564
|
+
* Read unsigned integer (32bit) with variable length.
|
|
1565
|
+
* 1/8th of the storage is used as encoding overhead.
|
|
1566
|
+
* * numbers < 2^7 is stored in one bytlength
|
|
1567
|
+
* * numbers < 2^14 is stored in two bylength
|
|
1568
|
+
*
|
|
1569
|
+
* @function
|
|
1570
|
+
* @param {Decoder} decoder
|
|
1571
|
+
* @return {number} An unsigned integer.length
|
|
1572
|
+
*/
|
|
1573
|
+
|
|
1574
|
+
|
|
1575
|
+
const readVarUint = decoder => {
|
|
1576
|
+
let num = 0;
|
|
1577
|
+
let len = 0;
|
|
1578
|
+
|
|
1579
|
+
while (true) {
|
|
1580
|
+
const r = decoder.arr[decoder.pos++];
|
|
1581
|
+
num = num | (r & BITS7) << len;
|
|
1582
|
+
len += 7;
|
|
1583
|
+
|
|
1584
|
+
if (r < BIT8) {
|
|
1585
|
+
return num >>> 0; // return unsigned number!
|
|
1586
|
+
}
|
|
1587
|
+
/* istanbul ignore if */
|
|
1588
|
+
|
|
1589
|
+
|
|
1590
|
+
if (len > 35) {
|
|
1591
|
+
throw new Error('Integer out of range!');
|
|
1592
|
+
}
|
|
1593
|
+
}
|
|
1594
|
+
};
|
|
1595
|
+
/**
|
|
1596
|
+
* Read string of variable length
|
|
1597
|
+
* * varUint is used to store the length of the string
|
|
1598
|
+
*
|
|
1599
|
+
* Transforming utf8 to a string is pretty expensive. The code performs 10x better
|
|
1600
|
+
* when String.fromCodePoint is fed with all characters as arguments.
|
|
1601
|
+
* But most environments have a maximum number of arguments per functions.
|
|
1602
|
+
* For effiency reasons we apply a maximum of 10000 characters at once.
|
|
1603
|
+
*
|
|
1604
|
+
* @function
|
|
1605
|
+
* @param {Decoder} decoder
|
|
1606
|
+
* @return {String} The read String.
|
|
1607
|
+
*/
|
|
1608
|
+
|
|
1609
|
+
|
|
1610
|
+
const readVarString = decoder => {
|
|
1611
|
+
let remainingLen = readVarUint(decoder);
|
|
1612
|
+
|
|
1613
|
+
if (remainingLen === 0) {
|
|
1614
|
+
return '';
|
|
1615
|
+
} else {
|
|
1616
|
+
let encodedString = String.fromCodePoint(readUint8(decoder)); // remember to decrease remainingLen
|
|
1617
|
+
|
|
1618
|
+
if (--remainingLen < 100) {
|
|
1619
|
+
// do not create a Uint8Array for small strings
|
|
1620
|
+
while (remainingLen--) {
|
|
1621
|
+
encodedString += String.fromCodePoint(readUint8(decoder));
|
|
1622
|
+
}
|
|
1623
|
+
} else {
|
|
1624
|
+
while (remainingLen > 0) {
|
|
1625
|
+
const nextLen = remainingLen < 10000 ? remainingLen : 10000; // this is dangerous, we create a fresh array view from the existing buffer
|
|
1626
|
+
|
|
1627
|
+
const bytes = decoder.arr.subarray(decoder.pos, decoder.pos + nextLen);
|
|
1628
|
+
decoder.pos += nextLen; // Starting with ES5.1 we can supply a generic array-like object as arguments
|
|
1629
|
+
|
|
1630
|
+
encodedString += String.fromCodePoint.apply(null,
|
|
1631
|
+
/** @type {any} */
|
|
1632
|
+
bytes);
|
|
1633
|
+
remainingLen -= nextLen;
|
|
1634
|
+
}
|
|
1635
|
+
}
|
|
1636
|
+
|
|
1637
|
+
return decodeURIComponent(escape(encodedString));
|
|
1638
|
+
}
|
|
1639
|
+
};
|
|
1640
|
+
/**
|
|
1641
|
+
* Efficient schema-less binary encoding with support for variable length encoding.
|
|
1642
|
+
*
|
|
1643
|
+
* Use [lib0/encoding] with [lib0/decoding]. Every encoding function has a corresponding decoding function.
|
|
1644
|
+
*
|
|
1645
|
+
* Encodes numbers in little-endian order (least to most significant byte order)
|
|
1646
|
+
* and is compatible with Golang's binary encoding (https://golang.org/pkg/encoding/binary/)
|
|
1647
|
+
* which is also used in Protocol Buffers.
|
|
1648
|
+
*
|
|
1649
|
+
* ```js
|
|
1650
|
+
* // encoding step
|
|
1651
|
+
* const encoder = new encoding.createEncoder()
|
|
1652
|
+
* encoding.writeVarUint(encoder, 256)
|
|
1653
|
+
* encoding.writeVarString(encoder, 'Hello world!')
|
|
1654
|
+
* const buf = encoding.toUint8Array(encoder)
|
|
1655
|
+
* ```
|
|
1656
|
+
*
|
|
1657
|
+
* ```js
|
|
1658
|
+
* // decoding step
|
|
1659
|
+
* const decoder = new decoding.createDecoder(buf)
|
|
1660
|
+
* decoding.readVarUint(decoder) // => 256
|
|
1661
|
+
* decoding.readVarString(decoder) // => 'Hello world!'
|
|
1662
|
+
* decoding.hasContent(decoder) // => false - all data is read
|
|
1663
|
+
* ```
|
|
1664
|
+
*
|
|
1665
|
+
* @module encoding
|
|
1666
|
+
*/
|
|
1667
|
+
|
|
1668
|
+
/**
|
|
1669
|
+
* Write one byte to the encoder.
|
|
1670
|
+
*
|
|
1671
|
+
* @function
|
|
1672
|
+
* @param {Encoder} encoder
|
|
1673
|
+
* @param {number} num The byte that is to be encoded.
|
|
1674
|
+
*/
|
|
1675
|
+
|
|
1676
|
+
|
|
1677
|
+
const write = (encoder, num) => {
|
|
1678
|
+
const bufferLen = encoder.cbuf.length;
|
|
1679
|
+
|
|
1680
|
+
if (encoder.cpos === bufferLen) {
|
|
1681
|
+
encoder.bufs.push(encoder.cbuf);
|
|
1682
|
+
encoder.cbuf = new Uint8Array(bufferLen * 2);
|
|
1683
|
+
encoder.cpos = 0;
|
|
1684
|
+
}
|
|
1685
|
+
|
|
1686
|
+
encoder.cbuf[encoder.cpos++] = num;
|
|
1687
|
+
};
|
|
1688
|
+
/**
|
|
1689
|
+
* Write a variable length unsigned integer.
|
|
1690
|
+
*
|
|
1691
|
+
* Encodes integers in the range from [0, 4294967295] / [0, 0xffffffff]. (max 32 bit unsigned integer)
|
|
1692
|
+
*
|
|
1693
|
+
* @function
|
|
1694
|
+
* @param {Encoder} encoder
|
|
1695
|
+
* @param {number} num The number that is to be encoded.
|
|
1696
|
+
*/
|
|
1697
|
+
|
|
1698
|
+
|
|
1699
|
+
const writeVarUint = (encoder, num) => {
|
|
1700
|
+
while (num > BITS7) {
|
|
1701
|
+
write(encoder, BIT8 | BITS7 & num);
|
|
1702
|
+
num >>>= 7;
|
|
1703
|
+
}
|
|
1704
|
+
|
|
1705
|
+
write(encoder, BITS7 & num);
|
|
1706
|
+
};
|
|
1707
|
+
/**
|
|
1708
|
+
* Write a variable length string.
|
|
1709
|
+
*
|
|
1710
|
+
* @function
|
|
1711
|
+
* @param {Encoder} encoder
|
|
1712
|
+
* @param {String} str The string that is to be encoded.
|
|
1713
|
+
*/
|
|
1714
|
+
|
|
1715
|
+
|
|
1716
|
+
const writeVarString = (encoder, str) => {
|
|
1717
|
+
const encodedString = unescape(encodeURIComponent(str));
|
|
1718
|
+
const len = encodedString.length;
|
|
1719
|
+
writeVarUint(encoder, len);
|
|
1720
|
+
|
|
1721
|
+
for (let i = 0; i < len; i++) {
|
|
1722
|
+
write(encoder,
|
|
1723
|
+
/** @type {number} */
|
|
1724
|
+
encodedString.codePointAt(i));
|
|
1725
|
+
}
|
|
1726
|
+
};
|
|
1727
|
+
|
|
1728
|
+
var AuthMessageType;
|
|
1729
|
+
|
|
1730
|
+
(function (AuthMessageType) {
|
|
1731
|
+
AuthMessageType[AuthMessageType["Token"] = 0] = "Token";
|
|
1732
|
+
AuthMessageType[AuthMessageType["PermissionDenied"] = 1] = "PermissionDenied";
|
|
1733
|
+
AuthMessageType[AuthMessageType["Authenticated"] = 2] = "Authenticated";
|
|
1734
|
+
})(AuthMessageType || (AuthMessageType = {}));
|
|
1735
|
+
|
|
1736
|
+
const writeAuthentication = (encoder, auth) => {
|
|
1737
|
+
writeVarUint(encoder, AuthMessageType.Token);
|
|
1738
|
+
writeVarString(encoder, auth);
|
|
1739
|
+
};
|
|
1740
|
+
|
|
1741
|
+
const readAuthMessage = (decoder, permissionDeniedHandler, authenticatedHandler) => {
|
|
1742
|
+
switch (readVarUint(decoder)) {
|
|
1743
|
+
case AuthMessageType.PermissionDenied:
|
|
1744
|
+
{
|
|
1745
|
+
permissionDeniedHandler(readVarString(decoder));
|
|
1746
|
+
break;
|
|
1747
|
+
}
|
|
1748
|
+
|
|
1749
|
+
case AuthMessageType.Authenticated:
|
|
1750
|
+
{
|
|
1751
|
+
authenticatedHandler();
|
|
1752
|
+
break;
|
|
1753
|
+
}
|
|
1754
|
+
}
|
|
1755
|
+
};
|
|
1756
|
+
|
|
1524
1757
|
var MessageType;
|
|
1525
1758
|
(function (MessageType) {
|
|
1526
1759
|
MessageType[MessageType["Sync"] = 0] = "Sync";
|
|
@@ -1529,29 +1762,6 @@ var MessageType;
|
|
|
1529
1762
|
MessageType[MessageType["QueryAwareness"] = 3] = "QueryAwareness";
|
|
1530
1763
|
})(MessageType || (MessageType = {}));
|
|
1531
1764
|
|
|
1532
|
-
var AuthMessageType;
|
|
1533
|
-
(function (AuthMessageType) {
|
|
1534
|
-
AuthMessageType[AuthMessageType["Token"] = 0] = "Token";
|
|
1535
|
-
AuthMessageType[AuthMessageType["PermissionDenied"] = 1] = "PermissionDenied";
|
|
1536
|
-
AuthMessageType[AuthMessageType["Authenticated"] = 2] = "Authenticated";
|
|
1537
|
-
})(AuthMessageType || (AuthMessageType = {}));
|
|
1538
|
-
const writeAuthentication = (encoder, auth) => {
|
|
1539
|
-
writeVarUint(encoder, AuthMessageType.Token);
|
|
1540
|
-
writeVarString(encoder, auth);
|
|
1541
|
-
};
|
|
1542
|
-
const readAuthMessage = (decoder, permissionDeniedHandler, authenticatedHandler) => {
|
|
1543
|
-
switch (readVarUint(decoder)) {
|
|
1544
|
-
case AuthMessageType.PermissionDenied: {
|
|
1545
|
-
permissionDeniedHandler(readVarString(decoder));
|
|
1546
|
-
break;
|
|
1547
|
-
}
|
|
1548
|
-
case AuthMessageType.Authenticated: {
|
|
1549
|
-
authenticatedHandler();
|
|
1550
|
-
break;
|
|
1551
|
-
}
|
|
1552
|
-
}
|
|
1553
|
-
};
|
|
1554
|
-
|
|
1555
1765
|
class OutgoingMessage {
|
|
1556
1766
|
constructor() {
|
|
1557
1767
|
this.encoder = createEncoder();
|
|
@@ -1657,7 +1867,7 @@ class SyncStepOneMessage extends OutgoingMessage {
|
|
|
1657
1867
|
if (typeof args.document === 'undefined') {
|
|
1658
1868
|
throw new Error('The sync step one message requires document as an argument');
|
|
1659
1869
|
}
|
|
1660
|
-
writeVarUint(this.encoder, this.type);
|
|
1870
|
+
writeVarUint$1(this.encoder, this.type);
|
|
1661
1871
|
writeSyncStep1(this.encoder, args.document);
|
|
1662
1872
|
return this.encoder;
|
|
1663
1873
|
}
|
|
@@ -1673,7 +1883,7 @@ class SyncStepTwoMessage extends OutgoingMessage {
|
|
|
1673
1883
|
if (typeof args.document === 'undefined') {
|
|
1674
1884
|
throw new Error('The sync step two message requires document as an argument');
|
|
1675
1885
|
}
|
|
1676
|
-
writeVarUint(this.encoder, this.type);
|
|
1886
|
+
writeVarUint$1(this.encoder, this.type);
|
|
1677
1887
|
writeSyncStep2(this.encoder, args.document);
|
|
1678
1888
|
return this.encoder;
|
|
1679
1889
|
}
|
|
@@ -1686,7 +1896,7 @@ class QueryAwarenessMessage extends OutgoingMessage {
|
|
|
1686
1896
|
this.description = 'Queries awareness states';
|
|
1687
1897
|
}
|
|
1688
1898
|
get(args) {
|
|
1689
|
-
writeVarUint(this.encoder, this.type);
|
|
1899
|
+
writeVarUint$1(this.encoder, this.type);
|
|
1690
1900
|
return this.encoder;
|
|
1691
1901
|
}
|
|
1692
1902
|
}
|
|
@@ -1701,7 +1911,7 @@ class AuthenticationMessage extends OutgoingMessage {
|
|
|
1701
1911
|
if (typeof args.token === 'undefined') {
|
|
1702
1912
|
throw new Error('The authentication message requires `token` as an argument.');
|
|
1703
1913
|
}
|
|
1704
|
-
writeVarUint(this.encoder, this.type);
|
|
1914
|
+
writeVarUint$1(this.encoder, this.type);
|
|
1705
1915
|
writeAuthentication(this.encoder, args.token);
|
|
1706
1916
|
return this.encoder;
|
|
1707
1917
|
}
|
|
@@ -1720,7 +1930,7 @@ class AwarenessMessage extends OutgoingMessage {
|
|
|
1720
1930
|
if (typeof args.clients === 'undefined') {
|
|
1721
1931
|
throw new Error('The awareness message requires clients as an argument');
|
|
1722
1932
|
}
|
|
1723
|
-
writeVarUint(this.encoder, this.type);
|
|
1933
|
+
writeVarUint$1(this.encoder, this.type);
|
|
1724
1934
|
let awarenessUpdate;
|
|
1725
1935
|
if (args.states === undefined) {
|
|
1726
1936
|
awarenessUpdate = encodeAwarenessUpdate(args.awareness, args.clients);
|
|
@@ -1740,7 +1950,7 @@ class UpdateMessage extends OutgoingMessage {
|
|
|
1740
1950
|
this.description = 'A document update';
|
|
1741
1951
|
}
|
|
1742
1952
|
get(args) {
|
|
1743
|
-
writeVarUint(this.encoder, this.type);
|
|
1953
|
+
writeVarUint$1(this.encoder, this.type);
|
|
1744
1954
|
writeUpdate(this.encoder, args.update);
|
|
1745
1955
|
return this.encoder;
|
|
1746
1956
|
}
|