34 lines
846 B
JavaScript
34 lines
846 B
JavaScript
|
|
import * as Y from 'yjs' // eslint-disable-line
|
|
import * as encoding from 'lib0/encoding'
|
|
import * as decoding from 'lib0/decoding'
|
|
|
|
export const messagePermissionDenied = 0
|
|
|
|
/**
|
|
* @param {encoding.Encoder} encoder
|
|
* @param {string} reason
|
|
*/
|
|
export const writePermissionDenied = (encoder, reason) => {
|
|
encoding.writeVarUint(encoder, messagePermissionDenied)
|
|
encoding.writeVarString(encoder, reason)
|
|
}
|
|
|
|
/**
|
|
* @callback PermissionDeniedHandler
|
|
* @param {any} y
|
|
* @param {string} reason
|
|
*/
|
|
|
|
/**
|
|
*
|
|
* @param {decoding.Decoder} decoder
|
|
* @param {Y.Doc} y
|
|
* @param {PermissionDeniedHandler} permissionDeniedHandler
|
|
*/
|
|
export const readAuthMessage = (decoder, y, permissionDeniedHandler) => {
|
|
switch (decoding.readVarUint(decoder)) {
|
|
case messagePermissionDenied: permissionDeniedHandler(y, decoding.readVarString(decoder))
|
|
}
|
|
}
|