UNPKG

gnablib

Version:

A lean, zero dependency library to provide a useful base for your project.

2 lines 855 B
/*! Copyright 2023-2025 the gnablib contributors MPL-1.1 */ import{BitWriter as t}from"../primitive/BitWriter.js";import{DateTimeLocal as e}from"../datetime/dt.js";import{toGlScaleBytes as i}from"../primitive/number/xtUint.js";export class ACmd{constructor(t,e,i,s,n){this.started=e,this.plane=s,this.cmd=n,this.userId=t,this.table=i}toJSON(){return{started:this.started.toString(),plane:this.plane.human,cmd:this.cmd.human,userId:this.userId,table:this.table.name}}toBin(s=0){const n=new Uint8Array(Math.ceil(e.serialBits/8)),r=t.mount(n);this.started.serialize(r);const h=this.plane.toBin(),a=this.cmd.toBin(),l=i(this.userId),m=this.table.toBin(),o=i(s),d=new Uint8Array(n.length+h.length+a.length+l.length+m.length+o.length+s);let u=0;return d.set(n,u),u+=n.length,d.set(h,u++),d.set(a,u++),d.set(l,u),u+=l.length,d.set(m,u),u+=m.length,d.set(o,u),d}}