{"version":3,"file":"well-known-parser12.cjs","sources":["../src/binarywriter.ts"],"sourcesContent":["/**\n * A class for writing binary data with different endianness options\n */\nexport class BinaryWriter {\n  buffer: Buffer;\n  position: number;\n  allowResize: boolean;\n\n  constructor(size: number, allowResize: boolean = false) {\n    this.buffer = Buffer.alloc(size);\n    this.position = 0;\n    this.allowResize = allowResize;\n  }\n\n  ensureSize(size: number): void {\n    if (this.buffer.length < this.position + size) {\n      if (this.allowResize) {\n        const tempBuffer = Buffer.alloc(this.position + size);\n        this.buffer.copy(tempBuffer, 0, 0, this.buffer.length);\n        this.buffer = tempBuffer;\n      } else {\n        throw new RangeError('index out of range');\n      }\n    }\n  }\n\n  writeUInt8(value: number): void {\n    this.ensureSize(1);\n    this.buffer.writeUInt8(value, this.position);\n    this.position += 1;\n  }\n\n  writeUInt16LE(value: number): void {\n    this.ensureSize(2);\n    this.buffer.writeUInt16LE(value, this.position);\n    this.position += 2;\n  }\n\n  writeUInt16BE(value: number): void {\n    this.ensureSize(2);\n    this.buffer.writeUInt16BE(value, this.position);\n    this.position += 2;\n  }\n\n  writeUInt32LE(value: number): void {\n    this.ensureSize(4);\n    this.buffer.writeUInt32LE(value, this.position);\n    this.position += 4;\n  }\n\n  writeUInt32BE(value: number): void {\n    this.ensureSize(4);\n    this.buffer.writeUInt32BE(value, this.position);\n    this.position += 4;\n  }\n\n  writeInt8(value: number): void {\n    this.ensureSize(1);\n    this.buffer.writeInt8(value, this.position);\n    this.position += 1;\n  }\n\n  writeInt16LE(value: number): void {\n    this.ensureSize(2);\n    this.buffer.writeInt16LE(value, this.position);\n    this.position += 2;\n  }\n\n  writeInt16BE(value: number): void {\n    this.ensureSize(2);\n    this.buffer.writeInt16BE(value, this.position);\n    this.position += 2;\n  }\n\n  writeInt32LE(value: number): void {\n    this.ensureSize(4);\n    this.buffer.writeInt32LE(value, this.position);\n    this.position += 4;\n  }\n\n  writeInt32BE(value: number): void {\n    this.ensureSize(4);\n    this.buffer.writeInt32BE(value, this.position);\n    this.position += 4;\n  }\n\n  writeFloatLE(value: number): void {\n    this.ensureSize(4);\n    this.buffer.writeFloatLE(value, this.position);\n    this.position += 4;\n  }\n\n  writeFloatBE(value: number): void {\n    this.ensureSize(4);\n    this.buffer.writeFloatBE(value, this.position);\n    this.position += 4;\n  }\n\n  writeDoubleLE(value: number): void {\n    this.ensureSize(8);\n    this.buffer.writeDoubleLE(value, this.position);\n    this.position += 8;\n  }\n\n  writeDoubleBE(value: number): void {\n    this.ensureSize(8);\n    this.buffer.writeDoubleBE(value, this.position);\n    this.position += 8;\n  }\n\n  writeBuffer(buffer: Buffer): void {\n    this.ensureSize(buffer.length);\n    buffer.copy(this.buffer, this.position, 0, buffer.length);\n    this.position += buffer.length;\n  }\n\n  writeVarInt(value: number): number {\n    let length = 1;\n\n    while ((value & 0xffffff80) !== 0) {\n      this.writeUInt8((value & 0x7f) | 0x80);\n      value >>>= 7;\n      length++;\n    }\n\n    this.writeUInt8(value & 0x7f);\n\n    return length;\n  }\n}\n"],"names":["BinaryWriter","size","allowResize","tempBuffer","value","buffer","length"],"mappings":"gFAGO,MAAMA,CAAa,CAKxB,YAAYC,EAAcC,EAAuB,GAAO,CACtD,KAAK,OAAS,OAAO,MAAMD,CAAI,EAC/B,KAAK,SAAW,EAChB,KAAK,YAAcC,CACrB,CAEA,WAAWD,EAAoB,CAC7B,GAAI,KAAK,OAAO,OAAS,KAAK,SAAWA,EACvC,GAAI,KAAK,YAAa,CACpB,MAAME,EAAa,OAAO,MAAM,KAAK,SAAWF,CAAI,EACpD,KAAK,OAAO,KAAKE,EAAY,EAAG,EAAG,KAAK,OAAO,MAAM,EACrD,KAAK,OAASA,CAChB,KACE,OAAM,IAAI,WAAW,oBAAoB,CAG/C,CAEA,WAAWC,EAAqB,CAC9B,KAAK,WAAW,CAAC,EACjB,KAAK,OAAO,WAAWA,EAAO,KAAK,QAAQ,EAC3C,KAAK,UAAY,CACnB,CAEA,cAAcA,EAAqB,CACjC,KAAK,WAAW,CAAC,EACjB,KAAK,OAAO,cAAcA,EAAO,KAAK,QAAQ,EAC9C,KAAK,UAAY,CACnB,CAEA,cAAcA,EAAqB,CACjC,KAAK,WAAW,CAAC,EACjB,KAAK,OAAO,cAAcA,EAAO,KAAK,QAAQ,EAC9C,KAAK,UAAY,CACnB,CAEA,cAAcA,EAAqB,CACjC,KAAK,WAAW,CAAC,EACjB,KAAK,OAAO,cAAcA,EAAO,KAAK,QAAQ,EAC9C,KAAK,UAAY,CACnB,CAEA,cAAcA,EAAqB,CACjC,KAAK,WAAW,CAAC,EACjB,KAAK,OAAO,cAAcA,EAAO,KAAK,QAAQ,EAC9C,KAAK,UAAY,CACnB,CAEA,UAAUA,EAAqB,CAC7B,KAAK,WAAW,CAAC,EACjB,KAAK,OAAO,UAAUA,EAAO,KAAK,QAAQ,EAC1C,KAAK,UAAY,CACnB,CAEA,aAAaA,EAAqB,CAChC,KAAK,WAAW,CAAC,EACjB,KAAK,OAAO,aAAaA,EAAO,KAAK,QAAQ,EAC7C,KAAK,UAAY,CACnB,CAEA,aAAaA,EAAqB,CAChC,KAAK,WAAW,CAAC,EACjB,KAAK,OAAO,aAAaA,EAAO,KAAK,QAAQ,EAC7C,KAAK,UAAY,CACnB,CAEA,aAAaA,EAAqB,CAChC,KAAK,WAAW,CAAC,EACjB,KAAK,OAAO,aAAaA,EAAO,KAAK,QAAQ,EAC7C,KAAK,UAAY,CACnB,CAEA,aAAaA,EAAqB,CAChC,KAAK,WAAW,CAAC,EACjB,KAAK,OAAO,aAAaA,EAAO,KAAK,QAAQ,EAC7C,KAAK,UAAY,CACnB,CAEA,aAAaA,EAAqB,CAChC,KAAK,WAAW,CAAC,EACjB,KAAK,OAAO,aAAaA,EAAO,KAAK,QAAQ,EAC7C,KAAK,UAAY,CACnB,CAEA,aAAaA,EAAqB,CAChC,KAAK,WAAW,CAAC,EACjB,KAAK,OAAO,aAAaA,EAAO,KAAK,QAAQ,EAC7C,KAAK,UAAY,CACnB,CAEA,cAAcA,EAAqB,CACjC,KAAK,WAAW,CAAC,EACjB,KAAK,OAAO,cAAcA,EAAO,KAAK,QAAQ,EAC9C,KAAK,UAAY,CACnB,CAEA,cAAcA,EAAqB,CACjC,KAAK,WAAW,CAAC,EACjB,KAAK,OAAO,cAAcA,EAAO,KAAK,QAAQ,EAC9C,KAAK,UAAY,CACnB,CAEA,YAAYC,EAAsB,CAChC,KAAK,WAAWA,EAAO,MAAM,EAC7BA,EAAO,KAAK,KAAK,OAAQ,KAAK,SAAU,EAAGA,EAAO,MAAM,EACxD,KAAK,UAAYA,EAAO,MAC1B,CAEA,YAAYD,EAAuB,CACjC,IAAIE,EAAS,EAEb,MAAQF,EAAQ,cAAgB,GAC9B,KAAK,WAAYA,EAAQ,IAAQ,GAAI,EACrCA,KAAW,EACXE,IAGF,YAAK,WAAWF,EAAQ,GAAI,EAErBE,CACT,CACF"}