| |
| 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)) |
| } |
| } |