volleyball-dev-frontend/node_modules/restructure/src/Buffer.js
2025-06-02 16:42:16 +00:00

39 lines
795 B
JavaScript

import {Base} from './Base.js';
import {Number as NumberT} from './Number.js';
import * as utils from './utils.js';
export class BufferT extends Base {
constructor(length) {
super();
this.length = length;
}
decode(stream, parent) {
const length = utils.resolveLength(this.length, stream, parent);
return stream.readBuffer(length);
}
size(val, parent) {
if (!val) {
return utils.resolveLength(this.length, null, parent);
}
let len = val.length;
if (this.length instanceof NumberT) {
len += this.length.size();
}
return len;
}
encode(stream, buf, parent) {
if (this.length instanceof NumberT) {
this.length.encode(stream, buf.length);
}
return stream.writeBuffer(buf);
}
}
export {BufferT as Buffer};