1 line
13 KiB
JSON
1 line
13 KiB
JSON
{"ast":null,"code":"import { ProtoError } from \"../../errors.js\";\nimport { VARINT, FIXED_64, LENGTH_DELIMITED, FIXED_32 } from \"./util.js\";\nclass MessageReader {\n #array;\n #view;\n #pos;\n constructor(array) {\n this.#array = array;\n this.#view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n this.#pos = 0;\n }\n varint() {\n let value = 0;\n for (let shift = 0;; shift += 7) {\n const byte = this.#array[this.#pos++];\n value |= (byte & 0x7f) << shift;\n if (!(byte & 0x80)) {\n break;\n }\n }\n return value;\n }\n varintBig() {\n let value = 0n;\n for (let shift = 0n;; shift += 7n) {\n const byte = this.#array[this.#pos++];\n value |= BigInt(byte & 0x7f) << shift;\n if (!(byte & 0x80)) {\n break;\n }\n }\n return value;\n }\n bytes(length) {\n const array = new Uint8Array(this.#array.buffer, this.#array.byteOffset + this.#pos, length);\n this.#pos += length;\n return array;\n }\n double() {\n const value = this.#view.getFloat64(this.#pos, true);\n this.#pos += 8;\n return value;\n }\n skipVarint() {\n for (;;) {\n const byte = this.#array[this.#pos++];\n if (!(byte & 0x80)) {\n break;\n }\n }\n }\n skip(count) {\n this.#pos += count;\n }\n eof() {\n return this.#pos >= this.#array.byteLength;\n }\n}\nexport class FieldReader {\n #reader;\n #wireType;\n constructor(reader) {\n this.#reader = reader;\n this.#wireType = -1;\n }\n setup(wireType) {\n this.#wireType = wireType;\n }\n #expect(expectedWireType) {\n if (this.#wireType !== expectedWireType) {\n throw new ProtoError(`Expected wire type ${expectedWireType}, got ${this.#wireType}`);\n }\n this.#wireType = -1;\n }\n bytes() {\n this.#expect(LENGTH_DELIMITED);\n const length = this.#reader.varint();\n return this.#reader.bytes(length);\n }\n string() {\n return new TextDecoder().decode(this.bytes());\n }\n message(def) {\n return readProtobufMessage(this.bytes(), def);\n }\n int32() {\n this.#expect(VARINT);\n return this.#reader.varint();\n }\n uint32() {\n return this.int32();\n }\n bool() {\n return this.int32() !== 0;\n }\n uint64() {\n this.#expect(VARINT);\n return this.#reader.varintBig();\n }\n sint64() {\n const value = this.uint64();\n return value >> 1n ^ -(value & 1n);\n }\n double() {\n this.#expect(FIXED_64);\n return this.#reader.double();\n }\n maybeSkip() {\n if (this.#wireType < 0) {\n return;\n } else if (this.#wireType === VARINT) {\n this.#reader.skipVarint();\n } else if (this.#wireType === FIXED_64) {\n this.#reader.skip(8);\n } else if (this.#wireType === LENGTH_DELIMITED) {\n const length = this.#reader.varint();\n this.#reader.skip(length);\n } else if (this.#wireType === FIXED_32) {\n this.#reader.skip(4);\n } else {\n throw new ProtoError(`Unexpected wire type ${this.#wireType}`);\n }\n this.#wireType = -1;\n }\n}\nexport function readProtobufMessage(data, def) {\n const msgReader = new MessageReader(data);\n const fieldReader = new FieldReader(msgReader);\n let value = def.default();\n while (!msgReader.eof()) {\n const key = msgReader.varint();\n const tag = key >> 3;\n const wireType = key & 0x7;\n fieldReader.setup(wireType);\n const tagFun = def[tag];\n if (tagFun !== undefined) {\n const returnedValue = tagFun(fieldReader, value);\n if (returnedValue !== undefined) {\n value = returnedValue;\n }\n }\n fieldReader.maybeSkip();\n }\n return value;\n}","map":{"version":3,"names":["ProtoError","VARINT","FIXED_64","LENGTH_DELIMITED","FIXED_32","MessageReader","array","view","pos","constructor","DataView","buffer","byteOffset","byteLength","varint","value","shift","byte","varintBig","BigInt","bytes","length","Uint8Array","double","getFloat64","skipVarint","skip","count","eof","FieldReader","reader","wireType","setup","expect","#expect","expectedWireType","string","TextDecoder","decode","message","def","readProtobufMessage","int32","uint32","bool","uint64","sint64","maybeSkip","data","msgReader","fieldReader","default","key","tag","tagFun","undefined","returnedValue"],"sources":["/Users/shoofle/Projects/the-forest/node_modules/@libsql/hrana-client/lib-esm/encoding/protobuf/decode.js"],"sourcesContent":["import { ProtoError } from \"../../errors.js\";\nimport { VARINT, FIXED_64, LENGTH_DELIMITED, FIXED_32 } from \"./util.js\";\nclass MessageReader {\n #array;\n #view;\n #pos;\n constructor(array) {\n this.#array = array;\n this.#view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n this.#pos = 0;\n }\n varint() {\n let value = 0;\n for (let shift = 0;; shift += 7) {\n const byte = this.#array[this.#pos++];\n value |= (byte & 0x7f) << shift;\n if (!(byte & 0x80)) {\n break;\n }\n }\n return value;\n }\n varintBig() {\n let value = 0n;\n for (let shift = 0n;; shift += 7n) {\n const byte = this.#array[this.#pos++];\n value |= BigInt(byte & 0x7f) << shift;\n if (!(byte & 0x80)) {\n break;\n }\n }\n return value;\n }\n bytes(length) {\n const array = new Uint8Array(this.#array.buffer, this.#array.byteOffset + this.#pos, length);\n this.#pos += length;\n return array;\n }\n double() {\n const value = this.#view.getFloat64(this.#pos, true);\n this.#pos += 8;\n return value;\n }\n skipVarint() {\n for (;;) {\n const byte = this.#array[this.#pos++];\n if (!(byte & 0x80)) {\n break;\n }\n }\n }\n skip(count) {\n this.#pos += count;\n }\n eof() {\n return this.#pos >= this.#array.byteLength;\n }\n}\nexport class FieldReader {\n #reader;\n #wireType;\n constructor(reader) {\n this.#reader = reader;\n this.#wireType = -1;\n }\n setup(wireType) {\n this.#wireType = wireType;\n }\n #expect(expectedWireType) {\n if (this.#wireType !== expectedWireType) {\n throw new ProtoError(`Expected wire type ${expectedWireType}, got ${this.#wireType}`);\n }\n this.#wireType = -1;\n }\n bytes() {\n this.#expect(LENGTH_DELIMITED);\n const length = this.#reader.varint();\n return this.#reader.bytes(length);\n }\n string() {\n return new TextDecoder().decode(this.bytes());\n }\n message(def) {\n return readProtobufMessage(this.bytes(), def);\n }\n int32() {\n this.#expect(VARINT);\n return this.#reader.varint();\n }\n uint32() {\n return this.int32();\n }\n bool() {\n return this.int32() !== 0;\n }\n uint64() {\n this.#expect(VARINT);\n return this.#reader.varintBig();\n }\n sint64() {\n const value = this.uint64();\n return (value >> 1n) ^ (-(value & 1n));\n }\n double() {\n this.#expect(FIXED_64);\n return this.#reader.double();\n }\n maybeSkip() {\n if (this.#wireType < 0) {\n return;\n }\n else if (this.#wireType === VARINT) {\n this.#reader.skipVarint();\n }\n else if (this.#wireType === FIXED_64) {\n this.#reader.skip(8);\n }\n else if (this.#wireType === LENGTH_DELIMITED) {\n const length = this.#reader.varint();\n this.#reader.skip(length);\n }\n else if (this.#wireType === FIXED_32) {\n this.#reader.skip(4);\n }\n else {\n throw new ProtoError(`Unexpected wire type ${this.#wireType}`);\n }\n this.#wireType = -1;\n }\n}\nexport function readProtobufMessage(data, def) {\n const msgReader = new MessageReader(data);\n const fieldReader = new FieldReader(msgReader);\n let value = def.default();\n while (!msgReader.eof()) {\n const key = msgReader.varint();\n const tag = key >> 3;\n const wireType = key & 0x7;\n fieldReader.setup(wireType);\n const tagFun = def[tag];\n if (tagFun !== undefined) {\n const returnedValue = tagFun(fieldReader, value);\n if (returnedValue !== undefined) {\n value = returnedValue;\n }\n }\n fieldReader.maybeSkip();\n }\n return value;\n}\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} |