@param {number} val
(val)
| 291 | |
| 292 | /** @param {number} val */ |
| 293 | writeVarint(val) { |
| 294 | val = +val || 0; |
| 295 | |
| 296 | if (val >= 0 && val < 0x80) { |
| 297 | if (this.pos >= this.length) this.realloc(1); |
| 298 | this.buf[this.pos++] = val; |
| 299 | return; |
| 300 | } |
| 301 | |
| 302 | if (val > 0xfffffff || val < 0) { |
| 303 | writeBigVarint(val, this); |
| 304 | return; |
| 305 | } |
| 306 | |
| 307 | this.realloc(4); |
| 308 | |
| 309 | this.buf[this.pos++] = val & 0x7f | (val > 0x7f ? 0x80 : 0); if (val <= 0x7f) return; |
| 310 | this.buf[this.pos++] = ((val >>>= 7) & 0x7f) | (val > 0x7f ? 0x80 : 0); if (val <= 0x7f) return; |
| 311 | this.buf[this.pos++] = ((val >>>= 7) & 0x7f) | (val > 0x7f ? 0x80 : 0); if (val <= 0x7f) return; |
| 312 | this.buf[this.pos++] = (val >>> 7) & 0x7f; |
| 313 | } |
| 314 | |
| 315 | /** @param {number} val */ |
| 316 | writeSVarint(val) { |
no test coverage detected