MCPcopy Create free account
hub / github.com/mapbox/pbf / writeVarint

Method writeVarint

index.js:293–313  ·  view source on GitHub ↗

@param {number} val

(val)

Source from the content-addressed store, hash-verified

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

Callers 9

writeTagMethod · 0.95
writeSVarintMethod · 0.95
writeBooleanMethod · 0.95
writeStringMethod · 0.95
writeBytesMethod · 0.95
writeRawMessageMethod · 0.95
writeVarintFieldMethod · 0.95
writePackedVarintFunction · 0.80
pbf.test.jsFile · 0.80

Calls 2

reallocMethod · 0.95
writeBigVarintFunction · 0.85

Tested by

no test coverage detected