@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
|
@@ -301,8 +301,8 @@ const min = (a, b) => a < b ? a : b;
|
|
|
301
301
|
const max = (a, b) => a > b ? a : b;
|
|
302
302
|
|
|
303
303
|
/* eslint-env browser */
|
|
304
|
-
const BIT8 = 128;
|
|
305
|
-
const BITS7 = 127;
|
|
304
|
+
const BIT8$1 = 128;
|
|
305
|
+
const BITS7$1 = 127;
|
|
306
306
|
|
|
307
307
|
/**
|
|
308
308
|
* Efficient schema-less binary encoding with support for variable length encoding.
|
|
@@ -393,7 +393,7 @@ const toUint8Array = encoder => {
|
|
|
393
393
|
* @param {Encoder} encoder
|
|
394
394
|
* @param {number} num The byte that is to be encoded.
|
|
395
395
|
*/
|
|
396
|
-
const write = (encoder, num) => {
|
|
396
|
+
const write$1 = (encoder, num) => {
|
|
397
397
|
const bufferLen = encoder.cbuf.length;
|
|
398
398
|
if (encoder.cpos === bufferLen) {
|
|
399
399
|
encoder.bufs.push(encoder.cbuf);
|
|
@@ -412,12 +412,12 @@ const write = (encoder, num) => {
|
|
|
412
412
|
* @param {Encoder} encoder
|
|
413
413
|
* @param {number} num The number that is to be encoded.
|
|
414
414
|
*/
|
|
415
|
-
const writeVarUint = (encoder, num) => {
|
|
416
|
-
while (num > BITS7) {
|
|
417
|
-
write(encoder, BIT8 | (BITS7 & num));
|
|
415
|
+
const writeVarUint$1 = (encoder, num) => {
|
|
416
|
+
while (num > BITS7$1) {
|
|
417
|
+
write$1(encoder, BIT8$1 | (BITS7$1 & num));
|
|
418
418
|
num >>>= 7;
|
|
419
419
|
}
|
|
420
|
-
write(encoder, BITS7 & num);
|
|
420
|
+
write$1(encoder, BITS7$1 & num);
|
|
421
421
|
};
|
|
422
422
|
|
|
423
423
|
/**
|
|
@@ -427,12 +427,12 @@ const writeVarUint = (encoder, num) => {
|
|
|
427
427
|
* @param {Encoder} encoder
|
|
428
428
|
* @param {String} str The string that is to be encoded.
|
|
429
429
|
*/
|
|
430
|
-
const writeVarString = (encoder, str) => {
|
|
430
|
+
const writeVarString$1 = (encoder, str) => {
|
|
431
431
|
const encodedString = unescape(encodeURIComponent(str));
|
|
432
432
|
const len = encodedString.length;
|
|
433
|
-
writeVarUint(encoder, len);
|
|
433
|
+
writeVarUint$1(encoder, len);
|
|
434
434
|
for (let i = 0; i < len; i++) {
|
|
435
|
-
write(encoder, /** @type {number} */ (encodedString.codePointAt(i)));
|
|
435
|
+
write$1(encoder, /** @type {number} */ (encodedString.codePointAt(i)));
|
|
436
436
|
}
|
|
437
437
|
};
|
|
438
438
|
|
|
@@ -470,7 +470,7 @@ const writeUint8Array = (encoder, uint8Array) => {
|
|
|
470
470
|
* @param {Uint8Array} uint8Array
|
|
471
471
|
*/
|
|
472
472
|
const writeVarUint8Array = (encoder, uint8Array) => {
|
|
473
|
-
writeVarUint(encoder, uint8Array.byteLength);
|
|
473
|
+
writeVarUint$1(encoder, uint8Array.byteLength);
|
|
474
474
|
writeUint8Array(encoder, uint8Array);
|
|
475
475
|
};
|
|
476
476
|
|
|
@@ -559,7 +559,7 @@ const readUint8Array = (decoder, len) => {
|
|
|
559
559
|
* @param {Decoder} decoder
|
|
560
560
|
* @return {Uint8Array}
|
|
561
561
|
*/
|
|
562
|
-
const readVarUint8Array = decoder => readUint8Array(decoder, readVarUint(decoder));
|
|
562
|
+
const readVarUint8Array = decoder => readUint8Array(decoder, readVarUint$1(decoder));
|
|
563
563
|
|
|
564
564
|
/**
|
|
565
565
|
* Read one byte as unsigned integer.
|
|
@@ -567,7 +567,7 @@ const readVarUint8Array = decoder => readUint8Array(decoder, readVarUint(decoder
|
|
|
567
567
|
* @param {Decoder} decoder The decoder instance
|
|
568
568
|
* @return {number} Unsigned 8-bit integer
|
|
569
569
|
*/
|
|
570
|
-
const readUint8 = decoder => decoder.arr[decoder.pos++];
|
|
570
|
+
const readUint8$1 = decoder => decoder.arr[decoder.pos++];
|
|
571
571
|
|
|
572
572
|
/**
|
|
573
573
|
* Read unsigned integer (32bit) with variable length.
|
|
@@ -579,14 +579,14 @@ const readUint8 = decoder => decoder.arr[decoder.pos++];
|
|
|
579
579
|
* @param {Decoder} decoder
|
|
580
580
|
* @return {number} An unsigned integer.length
|
|
581
581
|
*/
|
|
582
|
-
const readVarUint = decoder => {
|
|
582
|
+
const readVarUint$1 = decoder => {
|
|
583
583
|
let num = 0;
|
|
584
584
|
let len = 0;
|
|
585
585
|
while (true) {
|
|
586
586
|
const r = decoder.arr[decoder.pos++];
|
|
587
|
-
num = num | ((r & BITS7) << len);
|
|
587
|
+
num = num | ((r & BITS7$1) << len);
|
|
588
588
|
len += 7;
|
|
589
|
-
if (r < BIT8) {
|
|
589
|
+
if (r < BIT8$1) {
|
|
590
590
|
return num >>> 0 // return unsigned number!
|
|
591
591
|
}
|
|
592
592
|
/* istanbul ignore if */
|
|
@@ -609,15 +609,15 @@ const readVarUint = decoder => {
|
|
|
609
609
|
* @param {Decoder} decoder
|
|
610
610
|
* @return {String} The read String.
|
|
611
611
|
*/
|
|
612
|
-
const readVarString = decoder => {
|
|
613
|
-
let remainingLen = readVarUint(decoder);
|
|
612
|
+
const readVarString$1 = decoder => {
|
|
613
|
+
let remainingLen = readVarUint$1(decoder);
|
|
614
614
|
if (remainingLen === 0) {
|
|
615
615
|
return ''
|
|
616
616
|
} else {
|
|
617
|
-
let encodedString = String.fromCodePoint(readUint8(decoder)); // remember to decrease remainingLen
|
|
617
|
+
let encodedString = String.fromCodePoint(readUint8$1(decoder)); // remember to decrease remainingLen
|
|
618
618
|
if (--remainingLen < 100) { // do not create a Uint8Array for small strings
|
|
619
619
|
while (remainingLen--) {
|
|
620
|
-
encodedString += String.fromCodePoint(readUint8(decoder));
|
|
620
|
+
encodedString += String.fromCodePoint(readUint8$1(decoder));
|
|
621
621
|
}
|
|
622
622
|
} else {
|
|
623
623
|
while (remainingLen > 0) {
|
|
@@ -1230,14 +1230,14 @@ const removeAwarenessStates = (awareness, clients, origin) => {
|
|
|
1230
1230
|
const encodeAwarenessUpdate = (awareness, clients, states = awareness.states) => {
|
|
1231
1231
|
const len = clients.length;
|
|
1232
1232
|
const encoder = createEncoder();
|
|
1233
|
-
writeVarUint(encoder, len);
|
|
1233
|
+
writeVarUint$1(encoder, len);
|
|
1234
1234
|
for (let i = 0; i < len; i++) {
|
|
1235
1235
|
const clientID = clients[i];
|
|
1236
1236
|
const state = states.get(clientID) || null;
|
|
1237
1237
|
const clock = /** @type {MetaClientState} */ (awareness.meta.get(clientID)).clock;
|
|
1238
|
-
writeVarUint(encoder, clientID);
|
|
1239
|
-
writeVarUint(encoder, clock);
|
|
1240
|
-
writeVarString(encoder, JSON.stringify(state));
|
|
1238
|
+
writeVarUint$1(encoder, clientID);
|
|
1239
|
+
writeVarUint$1(encoder, clock);
|
|
1240
|
+
writeVarString$1(encoder, JSON.stringify(state));
|
|
1241
1241
|
}
|
|
1242
1242
|
return toUint8Array(encoder)
|
|
1243
1243
|
};
|
|
@@ -1254,11 +1254,11 @@ const applyAwarenessUpdate = (awareness, update, origin) => {
|
|
|
1254
1254
|
const updated = [];
|
|
1255
1255
|
const filteredUpdated = [];
|
|
1256
1256
|
const removed = [];
|
|
1257
|
-
const len = readVarUint(decoder);
|
|
1257
|
+
const len = readVarUint$1(decoder);
|
|
1258
1258
|
for (let i = 0; i < len; i++) {
|
|
1259
|
-
const clientID = readVarUint(decoder);
|
|
1260
|
-
let clock = readVarUint(decoder);
|
|
1261
|
-
const state = JSON.parse(readVarString(decoder));
|
|
1259
|
+
const clientID = readVarUint$1(decoder);
|
|
1260
|
+
let clock = readVarUint$1(decoder);
|
|
1261
|
+
const state = JSON.parse(readVarString$1(decoder));
|
|
1262
1262
|
const clientMeta = awareness.meta.get(clientID);
|
|
1263
1263
|
const prevState = awareness.states.get(clientID);
|
|
1264
1264
|
const currClock = clientMeta === undefined ? 0 : clientMeta.clock;
|
|
@@ -1402,13 +1402,13 @@ class IncomingMessage {
|
|
|
1402
1402
|
this.decoder = createDecoder(new Uint8Array(this.data));
|
|
1403
1403
|
}
|
|
1404
1404
|
readVarUint() {
|
|
1405
|
-
return readVarUint(this.decoder);
|
|
1405
|
+
return readVarUint$1(this.decoder);
|
|
1406
1406
|
}
|
|
1407
1407
|
readVarUint8Array() {
|
|
1408
1408
|
return readVarUint8Array(this.decoder);
|
|
1409
1409
|
}
|
|
1410
1410
|
writeVarUint(type) {
|
|
1411
|
-
return writeVarUint(this.encoder, type);
|
|
1411
|
+
return writeVarUint$1(this.encoder, type);
|
|
1412
1412
|
}
|
|
1413
1413
|
writeVarUint8Array(data) {
|
|
1414
1414
|
return writeVarUint8Array(this.encoder, data);
|
|
@@ -1462,7 +1462,7 @@ const messageYjsUpdate = 2;
|
|
|
1462
1462
|
* @param {Y.Doc} doc
|
|
1463
1463
|
*/
|
|
1464
1464
|
const writeSyncStep1 = (encoder, doc) => {
|
|
1465
|
-
writeVarUint(encoder, messageYjsSyncStep1);
|
|
1465
|
+
writeVarUint$1(encoder, messageYjsSyncStep1);
|
|
1466
1466
|
const sv = Y__namespace.encodeStateVector(doc);
|
|
1467
1467
|
writeVarUint8Array(encoder, sv);
|
|
1468
1468
|
};
|
|
@@ -1473,7 +1473,7 @@ const writeSyncStep1 = (encoder, doc) => {
|
|
|
1473
1473
|
* @param {Uint8Array} [encodedStateVector]
|
|
1474
1474
|
*/
|
|
1475
1475
|
const writeSyncStep2 = (encoder, doc, encodedStateVector) => {
|
|
1476
|
-
writeVarUint(encoder, messageYjsSyncStep2);
|
|
1476
|
+
writeVarUint$1(encoder, messageYjsSyncStep2);
|
|
1477
1477
|
writeVarUint8Array(encoder, Y__namespace.encodeStateAsUpdate(doc, encodedStateVector));
|
|
1478
1478
|
};
|
|
1479
1479
|
|
|
@@ -1508,7 +1508,7 @@ const readSyncStep2 = (decoder, doc, transactionOrigin) => {
|
|
|
1508
1508
|
* @param {Uint8Array} update
|
|
1509
1509
|
*/
|
|
1510
1510
|
const writeUpdate = (encoder, update) => {
|
|
1511
|
-
writeVarUint(encoder, messageYjsUpdate);
|
|
1511
|
+
writeVarUint$1(encoder, messageYjsUpdate);
|
|
1512
1512
|
writeVarUint8Array(encoder, update);
|
|
1513
1513
|
};
|
|
1514
1514
|
|
|
@@ -1528,7 +1528,7 @@ const readUpdate = readSyncStep2;
|
|
|
1528
1528
|
* @param {any} transactionOrigin
|
|
1529
1529
|
*/
|
|
1530
1530
|
const readSyncMessage = (decoder, encoder, doc, transactionOrigin) => {
|
|
1531
|
-
const messageType = readVarUint(decoder);
|
|
1531
|
+
const messageType = readVarUint$1(decoder);
|
|
1532
1532
|
switch (messageType) {
|
|
1533
1533
|
case messageYjsSyncStep1:
|
|
1534
1534
|
readSyncStep1(decoder, encoder, doc);
|
|
@@ -1545,6 +1545,239 @@ const readSyncMessage = (decoder, encoder, doc, transactionOrigin) => {
|
|
|
1545
1545
|
return messageType
|
|
1546
1546
|
};
|
|
1547
1547
|
|
|
1548
|
+
/* eslint-env browser */
|
|
1549
|
+
const BIT8 = 128;
|
|
1550
|
+
const BITS7 = 127;
|
|
1551
|
+
/**
|
|
1552
|
+
* Efficient schema-less binary decoding with support for variable length encoding.
|
|
1553
|
+
*
|
|
1554
|
+
* Use [lib0/decoding] with [lib0/encoding]. Every encoding function has a corresponding decoding function.
|
|
1555
|
+
*
|
|
1556
|
+
* Encodes numbers in little-endian order (least to most significant byte order)
|
|
1557
|
+
* and is compatible with Golang's binary encoding (https://golang.org/pkg/encoding/binary/)
|
|
1558
|
+
* which is also used in Protocol Buffers.
|
|
1559
|
+
*
|
|
1560
|
+
* ```js
|
|
1561
|
+
* // encoding step
|
|
1562
|
+
* const encoder = new encoding.createEncoder()
|
|
1563
|
+
* encoding.writeVarUint(encoder, 256)
|
|
1564
|
+
* encoding.writeVarString(encoder, 'Hello world!')
|
|
1565
|
+
* const buf = encoding.toUint8Array(encoder)
|
|
1566
|
+
* ```
|
|
1567
|
+
*
|
|
1568
|
+
* ```js
|
|
1569
|
+
* // decoding step
|
|
1570
|
+
* const decoder = new decoding.createDecoder(buf)
|
|
1571
|
+
* decoding.readVarUint(decoder) // => 256
|
|
1572
|
+
* decoding.readVarString(decoder) // => 'Hello world!'
|
|
1573
|
+
* decoding.hasContent(decoder) // => false - all data is read
|
|
1574
|
+
* ```
|
|
1575
|
+
*
|
|
1576
|
+
* @module decoding
|
|
1577
|
+
*/
|
|
1578
|
+
|
|
1579
|
+
/**
|
|
1580
|
+
* Read one byte as unsigned integer.
|
|
1581
|
+
* @function
|
|
1582
|
+
* @param {Decoder} decoder The decoder instance
|
|
1583
|
+
* @return {number} Unsigned 8-bit integer
|
|
1584
|
+
*/
|
|
1585
|
+
|
|
1586
|
+
const readUint8 = decoder => decoder.arr[decoder.pos++];
|
|
1587
|
+
/**
|
|
1588
|
+
* Read unsigned integer (32bit) with variable length.
|
|
1589
|
+
* 1/8th of the storage is used as encoding overhead.
|
|
1590
|
+
* * numbers < 2^7 is stored in one bytlength
|
|
1591
|
+
* * numbers < 2^14 is stored in two bylength
|
|
1592
|
+
*
|
|
1593
|
+
* @function
|
|
1594
|
+
* @param {Decoder} decoder
|
|
1595
|
+
* @return {number} An unsigned integer.length
|
|
1596
|
+
*/
|
|
1597
|
+
|
|
1598
|
+
|
|
1599
|
+
const readVarUint = decoder => {
|
|
1600
|
+
let num = 0;
|
|
1601
|
+
let len = 0;
|
|
1602
|
+
|
|
1603
|
+
while (true) {
|
|
1604
|
+
const r = decoder.arr[decoder.pos++];
|
|
1605
|
+
num = num | (r & BITS7) << len;
|
|
1606
|
+
len += 7;
|
|
1607
|
+
|
|
1608
|
+
if (r < BIT8) {
|
|
1609
|
+
return num >>> 0; // return unsigned number!
|
|
1610
|
+
}
|
|
1611
|
+
/* istanbul ignore if */
|
|
1612
|
+
|
|
1613
|
+
|
|
1614
|
+
if (len > 35) {
|
|
1615
|
+
throw new Error('Integer out of range!');
|
|
1616
|
+
}
|
|
1617
|
+
}
|
|
1618
|
+
};
|
|
1619
|
+
/**
|
|
1620
|
+
* Read string of variable length
|
|
1621
|
+
* * varUint is used to store the length of the string
|
|
1622
|
+
*
|
|
1623
|
+
* Transforming utf8 to a string is pretty expensive. The code performs 10x better
|
|
1624
|
+
* when String.fromCodePoint is fed with all characters as arguments.
|
|
1625
|
+
* But most environments have a maximum number of arguments per functions.
|
|
1626
|
+
* For effiency reasons we apply a maximum of 10000 characters at once.
|
|
1627
|
+
*
|
|
1628
|
+
* @function
|
|
1629
|
+
* @param {Decoder} decoder
|
|
1630
|
+
* @return {String} The read String.
|
|
1631
|
+
*/
|
|
1632
|
+
|
|
1633
|
+
|
|
1634
|
+
const readVarString = decoder => {
|
|
1635
|
+
let remainingLen = readVarUint(decoder);
|
|
1636
|
+
|
|
1637
|
+
if (remainingLen === 0) {
|
|
1638
|
+
return '';
|
|
1639
|
+
} else {
|
|
1640
|
+
let encodedString = String.fromCodePoint(readUint8(decoder)); // remember to decrease remainingLen
|
|
1641
|
+
|
|
1642
|
+
if (--remainingLen < 100) {
|
|
1643
|
+
// do not create a Uint8Array for small strings
|
|
1644
|
+
while (remainingLen--) {
|
|
1645
|
+
encodedString += String.fromCodePoint(readUint8(decoder));
|
|
1646
|
+
}
|
|
1647
|
+
} else {
|
|
1648
|
+
while (remainingLen > 0) {
|
|
1649
|
+
const nextLen = remainingLen < 10000 ? remainingLen : 10000; // this is dangerous, we create a fresh array view from the existing buffer
|
|
1650
|
+
|
|
1651
|
+
const bytes = decoder.arr.subarray(decoder.pos, decoder.pos + nextLen);
|
|
1652
|
+
decoder.pos += nextLen; // Starting with ES5.1 we can supply a generic array-like object as arguments
|
|
1653
|
+
|
|
1654
|
+
encodedString += String.fromCodePoint.apply(null,
|
|
1655
|
+
/** @type {any} */
|
|
1656
|
+
bytes);
|
|
1657
|
+
remainingLen -= nextLen;
|
|
1658
|
+
}
|
|
1659
|
+
}
|
|
1660
|
+
|
|
1661
|
+
return decodeURIComponent(escape(encodedString));
|
|
1662
|
+
}
|
|
1663
|
+
};
|
|
1664
|
+
/**
|
|
1665
|
+
* Efficient schema-less binary encoding with support for variable length encoding.
|
|
1666
|
+
*
|
|
1667
|
+
* Use [lib0/encoding] with [lib0/decoding]. Every encoding function has a corresponding decoding function.
|
|
1668
|
+
*
|
|
1669
|
+
* Encodes numbers in little-endian order (least to most significant byte order)
|
|
1670
|
+
* and is compatible with Golang's binary encoding (https://golang.org/pkg/encoding/binary/)
|
|
1671
|
+
* which is also used in Protocol Buffers.
|
|
1672
|
+
*
|
|
1673
|
+
* ```js
|
|
1674
|
+
* // encoding step
|
|
1675
|
+
* const encoder = new encoding.createEncoder()
|
|
1676
|
+
* encoding.writeVarUint(encoder, 256)
|
|
1677
|
+
* encoding.writeVarString(encoder, 'Hello world!')
|
|
1678
|
+
* const buf = encoding.toUint8Array(encoder)
|
|
1679
|
+
* ```
|
|
1680
|
+
*
|
|
1681
|
+
* ```js
|
|
1682
|
+
* // decoding step
|
|
1683
|
+
* const decoder = new decoding.createDecoder(buf)
|
|
1684
|
+
* decoding.readVarUint(decoder) // => 256
|
|
1685
|
+
* decoding.readVarString(decoder) // => 'Hello world!'
|
|
1686
|
+
* decoding.hasContent(decoder) // => false - all data is read
|
|
1687
|
+
* ```
|
|
1688
|
+
*
|
|
1689
|
+
* @module encoding
|
|
1690
|
+
*/
|
|
1691
|
+
|
|
1692
|
+
/**
|
|
1693
|
+
* Write one byte to the encoder.
|
|
1694
|
+
*
|
|
1695
|
+
* @function
|
|
1696
|
+
* @param {Encoder} encoder
|
|
1697
|
+
* @param {number} num The byte that is to be encoded.
|
|
1698
|
+
*/
|
|
1699
|
+
|
|
1700
|
+
|
|
1701
|
+
const write = (encoder, num) => {
|
|
1702
|
+
const bufferLen = encoder.cbuf.length;
|
|
1703
|
+
|
|
1704
|
+
if (encoder.cpos === bufferLen) {
|
|
1705
|
+
encoder.bufs.push(encoder.cbuf);
|
|
1706
|
+
encoder.cbuf = new Uint8Array(bufferLen * 2);
|
|
1707
|
+
encoder.cpos = 0;
|
|
1708
|
+
}
|
|
1709
|
+
|
|
1710
|
+
encoder.cbuf[encoder.cpos++] = num;
|
|
1711
|
+
};
|
|
1712
|
+
/**
|
|
1713
|
+
* Write a variable length unsigned integer.
|
|
1714
|
+
*
|
|
1715
|
+
* Encodes integers in the range from [0, 4294967295] / [0, 0xffffffff]. (max 32 bit unsigned integer)
|
|
1716
|
+
*
|
|
1717
|
+
* @function
|
|
1718
|
+
* @param {Encoder} encoder
|
|
1719
|
+
* @param {number} num The number that is to be encoded.
|
|
1720
|
+
*/
|
|
1721
|
+
|
|
1722
|
+
|
|
1723
|
+
const writeVarUint = (encoder, num) => {
|
|
1724
|
+
while (num > BITS7) {
|
|
1725
|
+
write(encoder, BIT8 | BITS7 & num);
|
|
1726
|
+
num >>>= 7;
|
|
1727
|
+
}
|
|
1728
|
+
|
|
1729
|
+
write(encoder, BITS7 & num);
|
|
1730
|
+
};
|
|
1731
|
+
/**
|
|
1732
|
+
* Write a variable length string.
|
|
1733
|
+
*
|
|
1734
|
+
* @function
|
|
1735
|
+
* @param {Encoder} encoder
|
|
1736
|
+
* @param {String} str The string that is to be encoded.
|
|
1737
|
+
*/
|
|
1738
|
+
|
|
1739
|
+
|
|
1740
|
+
const writeVarString = (encoder, str) => {
|
|
1741
|
+
const encodedString = unescape(encodeURIComponent(str));
|
|
1742
|
+
const len = encodedString.length;
|
|
1743
|
+
writeVarUint(encoder, len);
|
|
1744
|
+
|
|
1745
|
+
for (let i = 0; i < len; i++) {
|
|
1746
|
+
write(encoder,
|
|
1747
|
+
/** @type {number} */
|
|
1748
|
+
encodedString.codePointAt(i));
|
|
1749
|
+
}
|
|
1750
|
+
};
|
|
1751
|
+
|
|
1752
|
+
var AuthMessageType;
|
|
1753
|
+
|
|
1754
|
+
(function (AuthMessageType) {
|
|
1755
|
+
AuthMessageType[AuthMessageType["Token"] = 0] = "Token";
|
|
1756
|
+
AuthMessageType[AuthMessageType["PermissionDenied"] = 1] = "PermissionDenied";
|
|
1757
|
+
AuthMessageType[AuthMessageType["Authenticated"] = 2] = "Authenticated";
|
|
1758
|
+
})(AuthMessageType || (AuthMessageType = {}));
|
|
1759
|
+
|
|
1760
|
+
const writeAuthentication = (encoder, auth) => {
|
|
1761
|
+
writeVarUint(encoder, AuthMessageType.Token);
|
|
1762
|
+
writeVarString(encoder, auth);
|
|
1763
|
+
};
|
|
1764
|
+
|
|
1765
|
+
const readAuthMessage = (decoder, permissionDeniedHandler, authenticatedHandler) => {
|
|
1766
|
+
switch (readVarUint(decoder)) {
|
|
1767
|
+
case AuthMessageType.PermissionDenied:
|
|
1768
|
+
{
|
|
1769
|
+
permissionDeniedHandler(readVarString(decoder));
|
|
1770
|
+
break;
|
|
1771
|
+
}
|
|
1772
|
+
|
|
1773
|
+
case AuthMessageType.Authenticated:
|
|
1774
|
+
{
|
|
1775
|
+
authenticatedHandler();
|
|
1776
|
+
break;
|
|
1777
|
+
}
|
|
1778
|
+
}
|
|
1779
|
+
};
|
|
1780
|
+
|
|
1548
1781
|
exports.MessageType = void 0;
|
|
1549
1782
|
(function (MessageType) {
|
|
1550
1783
|
MessageType[MessageType["Sync"] = 0] = "Sync";
|
|
@@ -1553,29 +1786,6 @@ exports.MessageType = void 0;
|
|
|
1553
1786
|
MessageType[MessageType["QueryAwareness"] = 3] = "QueryAwareness";
|
|
1554
1787
|
})(exports.MessageType || (exports.MessageType = {}));
|
|
1555
1788
|
|
|
1556
|
-
var AuthMessageType;
|
|
1557
|
-
(function (AuthMessageType) {
|
|
1558
|
-
AuthMessageType[AuthMessageType["Token"] = 0] = "Token";
|
|
1559
|
-
AuthMessageType[AuthMessageType["PermissionDenied"] = 1] = "PermissionDenied";
|
|
1560
|
-
AuthMessageType[AuthMessageType["Authenticated"] = 2] = "Authenticated";
|
|
1561
|
-
})(AuthMessageType || (AuthMessageType = {}));
|
|
1562
|
-
const writeAuthentication = (encoder, auth) => {
|
|
1563
|
-
writeVarUint(encoder, AuthMessageType.Token);
|
|
1564
|
-
writeVarString(encoder, auth);
|
|
1565
|
-
};
|
|
1566
|
-
const readAuthMessage = (decoder, permissionDeniedHandler, authenticatedHandler) => {
|
|
1567
|
-
switch (readVarUint(decoder)) {
|
|
1568
|
-
case AuthMessageType.PermissionDenied: {
|
|
1569
|
-
permissionDeniedHandler(readVarString(decoder));
|
|
1570
|
-
break;
|
|
1571
|
-
}
|
|
1572
|
-
case AuthMessageType.Authenticated: {
|
|
1573
|
-
authenticatedHandler();
|
|
1574
|
-
break;
|
|
1575
|
-
}
|
|
1576
|
-
}
|
|
1577
|
-
};
|
|
1578
|
-
|
|
1579
1789
|
class OutgoingMessage {
|
|
1580
1790
|
constructor() {
|
|
1581
1791
|
this.encoder = createEncoder();
|
|
@@ -1681,7 +1891,7 @@ class SyncStepOneMessage extends OutgoingMessage {
|
|
|
1681
1891
|
if (typeof args.document === 'undefined') {
|
|
1682
1892
|
throw new Error('The sync step one message requires document as an argument');
|
|
1683
1893
|
}
|
|
1684
|
-
writeVarUint(this.encoder, this.type);
|
|
1894
|
+
writeVarUint$1(this.encoder, this.type);
|
|
1685
1895
|
writeSyncStep1(this.encoder, args.document);
|
|
1686
1896
|
return this.encoder;
|
|
1687
1897
|
}
|
|
@@ -1697,7 +1907,7 @@ class SyncStepTwoMessage extends OutgoingMessage {
|
|
|
1697
1907
|
if (typeof args.document === 'undefined') {
|
|
1698
1908
|
throw new Error('The sync step two message requires document as an argument');
|
|
1699
1909
|
}
|
|
1700
|
-
writeVarUint(this.encoder, this.type);
|
|
1910
|
+
writeVarUint$1(this.encoder, this.type);
|
|
1701
1911
|
writeSyncStep2(this.encoder, args.document);
|
|
1702
1912
|
return this.encoder;
|
|
1703
1913
|
}
|
|
@@ -1710,7 +1920,7 @@ class QueryAwarenessMessage extends OutgoingMessage {
|
|
|
1710
1920
|
this.description = 'Queries awareness states';
|
|
1711
1921
|
}
|
|
1712
1922
|
get(args) {
|
|
1713
|
-
writeVarUint(this.encoder, this.type);
|
|
1923
|
+
writeVarUint$1(this.encoder, this.type);
|
|
1714
1924
|
return this.encoder;
|
|
1715
1925
|
}
|
|
1716
1926
|
}
|
|
@@ -1725,7 +1935,7 @@ class AuthenticationMessage extends OutgoingMessage {
|
|
|
1725
1935
|
if (typeof args.token === 'undefined') {
|
|
1726
1936
|
throw new Error('The authentication message requires `token` as an argument.');
|
|
1727
1937
|
}
|
|
1728
|
-
writeVarUint(this.encoder, this.type);
|
|
1938
|
+
writeVarUint$1(this.encoder, this.type);
|
|
1729
1939
|
writeAuthentication(this.encoder, args.token);
|
|
1730
1940
|
return this.encoder;
|
|
1731
1941
|
}
|
|
@@ -1744,7 +1954,7 @@ class AwarenessMessage extends OutgoingMessage {
|
|
|
1744
1954
|
if (typeof args.clients === 'undefined') {
|
|
1745
1955
|
throw new Error('The awareness message requires clients as an argument');
|
|
1746
1956
|
}
|
|
1747
|
-
writeVarUint(this.encoder, this.type);
|
|
1957
|
+
writeVarUint$1(this.encoder, this.type);
|
|
1748
1958
|
let awarenessUpdate;
|
|
1749
1959
|
if (args.states === undefined) {
|
|
1750
1960
|
awarenessUpdate = encodeAwarenessUpdate(args.awareness, args.clients);
|
|
@@ -1764,7 +1974,7 @@ class UpdateMessage extends OutgoingMessage {
|
|
|
1764
1974
|
this.description = 'A document update';
|
|
1765
1975
|
}
|
|
1766
1976
|
get(args) {
|
|
1767
|
-
writeVarUint(this.encoder, this.type);
|
|
1977
|
+
writeVarUint$1(this.encoder, this.type);
|
|
1768
1978
|
writeUpdate(this.encoder, args.update);
|
|
1769
1979
|
return this.encoder;
|
|
1770
1980
|
}
|