UNPKG

@libp2p/peer-record

Version:

Used to transfer signed peer data across the network

125 lines 5.02 kB
/* eslint-disable import/export */ /* eslint-disable complexity */ /* eslint-disable @typescript-eslint/no-namespace */ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ /* eslint-disable @typescript-eslint/no-empty-interface */ import { decodeMessage, encodeMessage, MaxLengthError, message } from 'protons-runtime'; import { alloc as uint8ArrayAlloc } from 'uint8arrays/alloc'; export var PeerRecord; (function (PeerRecord) { let AddressInfo; (function (AddressInfo) { let _codec; AddressInfo.codec = () => { if (_codec == null) { _codec = message((obj, w, opts = {}) => { if (opts.lengthDelimited !== false) { w.fork(); } if ((obj.multiaddr != null && obj.multiaddr.byteLength > 0)) { w.uint32(10); w.bytes(obj.multiaddr); } if (opts.lengthDelimited !== false) { w.ldelim(); } }, (reader, length, opts = {}) => { const obj = { multiaddr: uint8ArrayAlloc(0) }; const end = length == null ? reader.len : reader.pos + length; while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { obj.multiaddr = reader.bytes(); break; } default: { reader.skipType(tag & 7); break; } } } return obj; }); } return _codec; }; AddressInfo.encode = (obj) => { return encodeMessage(obj, AddressInfo.codec()); }; AddressInfo.decode = (buf, opts) => { return decodeMessage(buf, AddressInfo.codec(), opts); }; })(AddressInfo = PeerRecord.AddressInfo || (PeerRecord.AddressInfo = {})); let _codec; PeerRecord.codec = () => { if (_codec == null) { _codec = message((obj, w, opts = {}) => { if (opts.lengthDelimited !== false) { w.fork(); } if ((obj.peerId != null && obj.peerId.byteLength > 0)) { w.uint32(10); w.bytes(obj.peerId); } if ((obj.seq != null && obj.seq !== 0n)) { w.uint32(16); w.uint64(obj.seq); } if (obj.addresses != null) { for (const value of obj.addresses) { w.uint32(26); PeerRecord.AddressInfo.codec().encode(value, w); } } if (opts.lengthDelimited !== false) { w.ldelim(); } }, (reader, length, opts = {}) => { const obj = { peerId: uint8ArrayAlloc(0), seq: 0n, addresses: [] }; const end = length == null ? reader.len : reader.pos + length; while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { obj.peerId = reader.bytes(); break; } case 2: { obj.seq = reader.uint64(); break; } case 3: { if (opts.limits?.addresses != null && obj.addresses.length === opts.limits.addresses) { throw new MaxLengthError('Decode error - map field "addresses" had too many elements'); } obj.addresses.push(PeerRecord.AddressInfo.codec().decode(reader, reader.uint32(), { limits: opts.limits?.addresses$ })); break; } default: { reader.skipType(tag & 7); break; } } } return obj; }); } return _codec; }; PeerRecord.encode = (obj) => { return encodeMessage(obj, PeerRecord.codec()); }; PeerRecord.decode = (buf, opts) => { return decodeMessage(buf, PeerRecord.codec(), opts); }; })(PeerRecord || (PeerRecord = {})); //# sourceMappingURL=peer-record.js.map