UNPKG

@remnawave/xtls-sdk

Version:

A Typescript SDK for XRAY (XTLS) Core GRPC Api

1,028 lines (1,027 loc) 36 kB
"use strict"; // Code generated by protoc-gen-ts_proto. DO NOT EDIT. // versions: // protoc-gen-ts_proto v2.11.2 // protoc v6.33.4 // source: common/geodata/geodat.proto Object.defineProperty(exports, "__esModule", { value: true }); exports.IPRule = exports.GeoIPRule = exports.GeoIPList = exports.GeoIP = exports.CIDRRule = exports.CIDR = exports.DomainRule = exports.GeoSiteRule = exports.GeoSiteList = exports.GeoSite = exports.Domain_Attribute = exports.Domain = exports.Domain_Type = exports.protobufPackage = void 0; exports.domain_TypeFromJSON = domain_TypeFromJSON; exports.domain_TypeToJSON = domain_TypeToJSON; /* eslint-disable */ const wire_1 = require("@bufbuild/protobuf/wire"); const typeRegistry_1 = require("../../typeRegistry"); exports.protobufPackage = "xray.common.geodata"; /** Type of domain value. */ var Domain_Type; (function (Domain_Type) { /** Substr - The value is used as a sub string. */ Domain_Type[Domain_Type["Substr"] = 0] = "Substr"; /** Regex - The value is used as a regular expression. */ Domain_Type[Domain_Type["Regex"] = 1] = "Regex"; /** Domain - The value is a domain. */ Domain_Type[Domain_Type["Domain"] = 2] = "Domain"; /** Full - The value is a full domain. */ Domain_Type[Domain_Type["Full"] = 3] = "Full"; Domain_Type[Domain_Type["UNRECOGNIZED"] = -1] = "UNRECOGNIZED"; })(Domain_Type || (exports.Domain_Type = Domain_Type = {})); function domain_TypeFromJSON(object) { switch (object) { case 0: case "Substr": return Domain_Type.Substr; case 1: case "Regex": return Domain_Type.Regex; case 2: case "Domain": return Domain_Type.Domain; case 3: case "Full": return Domain_Type.Full; case -1: case "UNRECOGNIZED": default: return Domain_Type.UNRECOGNIZED; } } function domain_TypeToJSON(object) { switch (object) { case Domain_Type.Substr: return "Substr"; case Domain_Type.Regex: return "Regex"; case Domain_Type.Domain: return "Domain"; case Domain_Type.Full: return "Full"; case Domain_Type.UNRECOGNIZED: default: return "UNRECOGNIZED"; } } function createBaseDomain() { return { $type: "xray.common.geodata.Domain", type: 0, value: "", attribute: [] }; } exports.Domain = { $type: "xray.common.geodata.Domain", encode(message, writer = new wire_1.BinaryWriter()) { if (message.type !== 0) { writer.uint32(8).int32(message.type); } if (message.value !== "") { writer.uint32(18).string(message.value); } for (const v of message.attribute) { exports.Domain_Attribute.encode(v, writer.uint32(26).fork()).join(); } return writer; }, decode(input, length) { const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input); const end = length === undefined ? reader.len : reader.pos + length; const message = createBaseDomain(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 8) { break; } message.type = reader.int32(); continue; } case 2: { if (tag !== 18) { break; } message.value = reader.string(); continue; } case 3: { if (tag !== 26) { break; } message.attribute.push(exports.Domain_Attribute.decode(reader, reader.uint32())); continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, fromJSON(object) { return { $type: exports.Domain.$type, type: isSet(object.type) ? domain_TypeFromJSON(object.type) : 0, value: isSet(object.value) ? globalThis.String(object.value) : "", attribute: globalThis.Array.isArray(object?.attribute) ? object.attribute.map((e) => exports.Domain_Attribute.fromJSON(e)) : [], }; }, toJSON(message) { const obj = {}; if (message.type !== 0) { obj.type = domain_TypeToJSON(message.type); } if (message.value !== "") { obj.value = message.value; } if (message.attribute?.length) { obj.attribute = message.attribute.map((e) => exports.Domain_Attribute.toJSON(e)); } return obj; }, create(base) { return exports.Domain.fromPartial(base ?? {}); }, fromPartial(object) { const message = createBaseDomain(); message.type = object.type ?? 0; message.value = object.value ?? ""; message.attribute = object.attribute?.map((e) => exports.Domain_Attribute.fromPartial(e)) || []; return message; }, }; typeRegistry_1.messageTypeRegistry.set(exports.Domain.$type, exports.Domain); function createBaseDomain_Attribute() { return { $type: "xray.common.geodata.Domain.Attribute", key: "", boolValue: undefined, intValue: undefined }; } exports.Domain_Attribute = { $type: "xray.common.geodata.Domain.Attribute", encode(message, writer = new wire_1.BinaryWriter()) { if (message.key !== "") { writer.uint32(10).string(message.key); } if (message.boolValue !== undefined) { writer.uint32(16).bool(message.boolValue); } if (message.intValue !== undefined) { writer.uint32(24).int64(message.intValue); } return writer; }, decode(input, length) { const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input); const end = length === undefined ? reader.len : reader.pos + length; const message = createBaseDomain_Attribute(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 10) { break; } message.key = reader.string(); continue; } case 2: { if (tag !== 16) { break; } message.boolValue = reader.bool(); continue; } case 3: { if (tag !== 24) { break; } message.intValue = longToNumber(reader.int64()); continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, fromJSON(object) { return { $type: exports.Domain_Attribute.$type, key: isSet(object.key) ? globalThis.String(object.key) : "", boolValue: isSet(object.boolValue) ? globalThis.Boolean(object.boolValue) : isSet(object.bool_value) ? globalThis.Boolean(object.bool_value) : undefined, intValue: isSet(object.intValue) ? globalThis.Number(object.intValue) : isSet(object.int_value) ? globalThis.Number(object.int_value) : undefined, }; }, toJSON(message) { const obj = {}; if (message.key !== "") { obj.key = message.key; } if (message.boolValue !== undefined) { obj.boolValue = message.boolValue; } if (message.intValue !== undefined) { obj.intValue = Math.round(message.intValue); } return obj; }, create(base) { return exports.Domain_Attribute.fromPartial(base ?? {}); }, fromPartial(object) { const message = createBaseDomain_Attribute(); message.key = object.key ?? ""; message.boolValue = object.boolValue ?? undefined; message.intValue = object.intValue ?? undefined; return message; }, }; typeRegistry_1.messageTypeRegistry.set(exports.Domain_Attribute.$type, exports.Domain_Attribute); function createBaseGeoSite() { return { $type: "xray.common.geodata.GeoSite", code: "", domain: [] }; } exports.GeoSite = { $type: "xray.common.geodata.GeoSite", encode(message, writer = new wire_1.BinaryWriter()) { if (message.code !== "") { writer.uint32(10).string(message.code); } for (const v of message.domain) { exports.Domain.encode(v, writer.uint32(18).fork()).join(); } return writer; }, decode(input, length) { const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input); const end = length === undefined ? reader.len : reader.pos + length; const message = createBaseGeoSite(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 10) { break; } message.code = reader.string(); continue; } case 2: { if (tag !== 18) { break; } message.domain.push(exports.Domain.decode(reader, reader.uint32())); continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, fromJSON(object) { return { $type: exports.GeoSite.$type, code: isSet(object.code) ? globalThis.String(object.code) : "", domain: globalThis.Array.isArray(object?.domain) ? object.domain.map((e) => exports.Domain.fromJSON(e)) : [], }; }, toJSON(message) { const obj = {}; if (message.code !== "") { obj.code = message.code; } if (message.domain?.length) { obj.domain = message.domain.map((e) => exports.Domain.toJSON(e)); } return obj; }, create(base) { return exports.GeoSite.fromPartial(base ?? {}); }, fromPartial(object) { const message = createBaseGeoSite(); message.code = object.code ?? ""; message.domain = object.domain?.map((e) => exports.Domain.fromPartial(e)) || []; return message; }, }; typeRegistry_1.messageTypeRegistry.set(exports.GeoSite.$type, exports.GeoSite); function createBaseGeoSiteList() { return { $type: "xray.common.geodata.GeoSiteList", entry: [] }; } exports.GeoSiteList = { $type: "xray.common.geodata.GeoSiteList", encode(message, writer = new wire_1.BinaryWriter()) { for (const v of message.entry) { exports.GeoSite.encode(v, writer.uint32(10).fork()).join(); } return writer; }, decode(input, length) { const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input); const end = length === undefined ? reader.len : reader.pos + length; const message = createBaseGeoSiteList(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 10) { break; } message.entry.push(exports.GeoSite.decode(reader, reader.uint32())); continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, fromJSON(object) { return { $type: exports.GeoSiteList.$type, entry: globalThis.Array.isArray(object?.entry) ? object.entry.map((e) => exports.GeoSite.fromJSON(e)) : [], }; }, toJSON(message) { const obj = {}; if (message.entry?.length) { obj.entry = message.entry.map((e) => exports.GeoSite.toJSON(e)); } return obj; }, create(base) { return exports.GeoSiteList.fromPartial(base ?? {}); }, fromPartial(object) { const message = createBaseGeoSiteList(); message.entry = object.entry?.map((e) => exports.GeoSite.fromPartial(e)) || []; return message; }, }; typeRegistry_1.messageTypeRegistry.set(exports.GeoSiteList.$type, exports.GeoSiteList); function createBaseGeoSiteRule() { return { $type: "xray.common.geodata.GeoSiteRule", file: "", code: "", attrs: "" }; } exports.GeoSiteRule = { $type: "xray.common.geodata.GeoSiteRule", encode(message, writer = new wire_1.BinaryWriter()) { if (message.file !== "") { writer.uint32(10).string(message.file); } if (message.code !== "") { writer.uint32(18).string(message.code); } if (message.attrs !== "") { writer.uint32(26).string(message.attrs); } return writer; }, decode(input, length) { const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input); const end = length === undefined ? reader.len : reader.pos + length; const message = createBaseGeoSiteRule(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 10) { break; } message.file = reader.string(); continue; } case 2: { if (tag !== 18) { break; } message.code = reader.string(); continue; } case 3: { if (tag !== 26) { break; } message.attrs = reader.string(); continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, fromJSON(object) { return { $type: exports.GeoSiteRule.$type, file: isSet(object.file) ? globalThis.String(object.file) : "", code: isSet(object.code) ? globalThis.String(object.code) : "", attrs: isSet(object.attrs) ? globalThis.String(object.attrs) : "", }; }, toJSON(message) { const obj = {}; if (message.file !== "") { obj.file = message.file; } if (message.code !== "") { obj.code = message.code; } if (message.attrs !== "") { obj.attrs = message.attrs; } return obj; }, create(base) { return exports.GeoSiteRule.fromPartial(base ?? {}); }, fromPartial(object) { const message = createBaseGeoSiteRule(); message.file = object.file ?? ""; message.code = object.code ?? ""; message.attrs = object.attrs ?? ""; return message; }, }; typeRegistry_1.messageTypeRegistry.set(exports.GeoSiteRule.$type, exports.GeoSiteRule); function createBaseDomainRule() { return { $type: "xray.common.geodata.DomainRule", geosite: undefined, custom: undefined }; } exports.DomainRule = { $type: "xray.common.geodata.DomainRule", encode(message, writer = new wire_1.BinaryWriter()) { if (message.geosite !== undefined) { exports.GeoSiteRule.encode(message.geosite, writer.uint32(10).fork()).join(); } if (message.custom !== undefined) { exports.Domain.encode(message.custom, writer.uint32(18).fork()).join(); } return writer; }, decode(input, length) { const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input); const end = length === undefined ? reader.len : reader.pos + length; const message = createBaseDomainRule(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 10) { break; } message.geosite = exports.GeoSiteRule.decode(reader, reader.uint32()); continue; } case 2: { if (tag !== 18) { break; } message.custom = exports.Domain.decode(reader, reader.uint32()); continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, fromJSON(object) { return { $type: exports.DomainRule.$type, geosite: isSet(object.geosite) ? exports.GeoSiteRule.fromJSON(object.geosite) : undefined, custom: isSet(object.custom) ? exports.Domain.fromJSON(object.custom) : undefined, }; }, toJSON(message) { const obj = {}; if (message.geosite !== undefined) { obj.geosite = exports.GeoSiteRule.toJSON(message.geosite); } if (message.custom !== undefined) { obj.custom = exports.Domain.toJSON(message.custom); } return obj; }, create(base) { return exports.DomainRule.fromPartial(base ?? {}); }, fromPartial(object) { const message = createBaseDomainRule(); message.geosite = (object.geosite !== undefined && object.geosite !== null) ? exports.GeoSiteRule.fromPartial(object.geosite) : undefined; message.custom = (object.custom !== undefined && object.custom !== null) ? exports.Domain.fromPartial(object.custom) : undefined; return message; }, }; typeRegistry_1.messageTypeRegistry.set(exports.DomainRule.$type, exports.DomainRule); function createBaseCIDR() { return { $type: "xray.common.geodata.CIDR", ip: new Uint8Array(0), prefix: 0 }; } exports.CIDR = { $type: "xray.common.geodata.CIDR", encode(message, writer = new wire_1.BinaryWriter()) { if (message.ip.length !== 0) { writer.uint32(10).bytes(message.ip); } if (message.prefix !== 0) { writer.uint32(16).uint32(message.prefix); } return writer; }, decode(input, length) { const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input); const end = length === undefined ? reader.len : reader.pos + length; const message = createBaseCIDR(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 10) { break; } message.ip = reader.bytes(); continue; } case 2: { if (tag !== 16) { break; } message.prefix = reader.uint32(); continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, fromJSON(object) { return { $type: exports.CIDR.$type, ip: isSet(object.ip) ? bytesFromBase64(object.ip) : new Uint8Array(0), prefix: isSet(object.prefix) ? globalThis.Number(object.prefix) : 0, }; }, toJSON(message) { const obj = {}; if (message.ip.length !== 0) { obj.ip = base64FromBytes(message.ip); } if (message.prefix !== 0) { obj.prefix = Math.round(message.prefix); } return obj; }, create(base) { return exports.CIDR.fromPartial(base ?? {}); }, fromPartial(object) { const message = createBaseCIDR(); message.ip = object.ip ?? new Uint8Array(0); message.prefix = object.prefix ?? 0; return message; }, }; typeRegistry_1.messageTypeRegistry.set(exports.CIDR.$type, exports.CIDR); function createBaseCIDRRule() { return { $type: "xray.common.geodata.CIDRRule", cidr: undefined, reverseMatch: false }; } exports.CIDRRule = { $type: "xray.common.geodata.CIDRRule", encode(message, writer = new wire_1.BinaryWriter()) { if (message.cidr !== undefined) { exports.CIDR.encode(message.cidr, writer.uint32(10).fork()).join(); } if (message.reverseMatch !== false) { writer.uint32(16).bool(message.reverseMatch); } return writer; }, decode(input, length) { const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input); const end = length === undefined ? reader.len : reader.pos + length; const message = createBaseCIDRRule(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 10) { break; } message.cidr = exports.CIDR.decode(reader, reader.uint32()); continue; } case 2: { if (tag !== 16) { break; } message.reverseMatch = reader.bool(); continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, fromJSON(object) { return { $type: exports.CIDRRule.$type, cidr: isSet(object.cidr) ? exports.CIDR.fromJSON(object.cidr) : undefined, reverseMatch: isSet(object.reverseMatch) ? globalThis.Boolean(object.reverseMatch) : isSet(object.reverse_match) ? globalThis.Boolean(object.reverse_match) : false, }; }, toJSON(message) { const obj = {}; if (message.cidr !== undefined) { obj.cidr = exports.CIDR.toJSON(message.cidr); } if (message.reverseMatch !== false) { obj.reverseMatch = message.reverseMatch; } return obj; }, create(base) { return exports.CIDRRule.fromPartial(base ?? {}); }, fromPartial(object) { const message = createBaseCIDRRule(); message.cidr = (object.cidr !== undefined && object.cidr !== null) ? exports.CIDR.fromPartial(object.cidr) : undefined; message.reverseMatch = object.reverseMatch ?? false; return message; }, }; typeRegistry_1.messageTypeRegistry.set(exports.CIDRRule.$type, exports.CIDRRule); function createBaseGeoIP() { return { $type: "xray.common.geodata.GeoIP", code: "", cidr: [], reverseMatch: false }; } exports.GeoIP = { $type: "xray.common.geodata.GeoIP", encode(message, writer = new wire_1.BinaryWriter()) { if (message.code !== "") { writer.uint32(10).string(message.code); } for (const v of message.cidr) { exports.CIDR.encode(v, writer.uint32(18).fork()).join(); } if (message.reverseMatch !== false) { writer.uint32(24).bool(message.reverseMatch); } return writer; }, decode(input, length) { const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input); const end = length === undefined ? reader.len : reader.pos + length; const message = createBaseGeoIP(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 10) { break; } message.code = reader.string(); continue; } case 2: { if (tag !== 18) { break; } message.cidr.push(exports.CIDR.decode(reader, reader.uint32())); continue; } case 3: { if (tag !== 24) { break; } message.reverseMatch = reader.bool(); continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, fromJSON(object) { return { $type: exports.GeoIP.$type, code: isSet(object.code) ? globalThis.String(object.code) : "", cidr: globalThis.Array.isArray(object?.cidr) ? object.cidr.map((e) => exports.CIDR.fromJSON(e)) : [], reverseMatch: isSet(object.reverseMatch) ? globalThis.Boolean(object.reverseMatch) : isSet(object.reverse_match) ? globalThis.Boolean(object.reverse_match) : false, }; }, toJSON(message) { const obj = {}; if (message.code !== "") { obj.code = message.code; } if (message.cidr?.length) { obj.cidr = message.cidr.map((e) => exports.CIDR.toJSON(e)); } if (message.reverseMatch !== false) { obj.reverseMatch = message.reverseMatch; } return obj; }, create(base) { return exports.GeoIP.fromPartial(base ?? {}); }, fromPartial(object) { const message = createBaseGeoIP(); message.code = object.code ?? ""; message.cidr = object.cidr?.map((e) => exports.CIDR.fromPartial(e)) || []; message.reverseMatch = object.reverseMatch ?? false; return message; }, }; typeRegistry_1.messageTypeRegistry.set(exports.GeoIP.$type, exports.GeoIP); function createBaseGeoIPList() { return { $type: "xray.common.geodata.GeoIPList", entry: [] }; } exports.GeoIPList = { $type: "xray.common.geodata.GeoIPList", encode(message, writer = new wire_1.BinaryWriter()) { for (const v of message.entry) { exports.GeoIP.encode(v, writer.uint32(10).fork()).join(); } return writer; }, decode(input, length) { const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input); const end = length === undefined ? reader.len : reader.pos + length; const message = createBaseGeoIPList(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 10) { break; } message.entry.push(exports.GeoIP.decode(reader, reader.uint32())); continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, fromJSON(object) { return { $type: exports.GeoIPList.$type, entry: globalThis.Array.isArray(object?.entry) ? object.entry.map((e) => exports.GeoIP.fromJSON(e)) : [], }; }, toJSON(message) { const obj = {}; if (message.entry?.length) { obj.entry = message.entry.map((e) => exports.GeoIP.toJSON(e)); } return obj; }, create(base) { return exports.GeoIPList.fromPartial(base ?? {}); }, fromPartial(object) { const message = createBaseGeoIPList(); message.entry = object.entry?.map((e) => exports.GeoIP.fromPartial(e)) || []; return message; }, }; typeRegistry_1.messageTypeRegistry.set(exports.GeoIPList.$type, exports.GeoIPList); function createBaseGeoIPRule() { return { $type: "xray.common.geodata.GeoIPRule", file: "", code: "", reverseMatch: false }; } exports.GeoIPRule = { $type: "xray.common.geodata.GeoIPRule", encode(message, writer = new wire_1.BinaryWriter()) { if (message.file !== "") { writer.uint32(10).string(message.file); } if (message.code !== "") { writer.uint32(18).string(message.code); } if (message.reverseMatch !== false) { writer.uint32(24).bool(message.reverseMatch); } return writer; }, decode(input, length) { const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input); const end = length === undefined ? reader.len : reader.pos + length; const message = createBaseGeoIPRule(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 10) { break; } message.file = reader.string(); continue; } case 2: { if (tag !== 18) { break; } message.code = reader.string(); continue; } case 3: { if (tag !== 24) { break; } message.reverseMatch = reader.bool(); continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, fromJSON(object) { return { $type: exports.GeoIPRule.$type, file: isSet(object.file) ? globalThis.String(object.file) : "", code: isSet(object.code) ? globalThis.String(object.code) : "", reverseMatch: isSet(object.reverseMatch) ? globalThis.Boolean(object.reverseMatch) : isSet(object.reverse_match) ? globalThis.Boolean(object.reverse_match) : false, }; }, toJSON(message) { const obj = {}; if (message.file !== "") { obj.file = message.file; } if (message.code !== "") { obj.code = message.code; } if (message.reverseMatch !== false) { obj.reverseMatch = message.reverseMatch; } return obj; }, create(base) { return exports.GeoIPRule.fromPartial(base ?? {}); }, fromPartial(object) { const message = createBaseGeoIPRule(); message.file = object.file ?? ""; message.code = object.code ?? ""; message.reverseMatch = object.reverseMatch ?? false; return message; }, }; typeRegistry_1.messageTypeRegistry.set(exports.GeoIPRule.$type, exports.GeoIPRule); function createBaseIPRule() { return { $type: "xray.common.geodata.IPRule", geoip: undefined, custom: undefined }; } exports.IPRule = { $type: "xray.common.geodata.IPRule", encode(message, writer = new wire_1.BinaryWriter()) { if (message.geoip !== undefined) { exports.GeoIPRule.encode(message.geoip, writer.uint32(10).fork()).join(); } if (message.custom !== undefined) { exports.CIDRRule.encode(message.custom, writer.uint32(18).fork()).join(); } return writer; }, decode(input, length) { const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input); const end = length === undefined ? reader.len : reader.pos + length; const message = createBaseIPRule(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 10) { break; } message.geoip = exports.GeoIPRule.decode(reader, reader.uint32()); continue; } case 2: { if (tag !== 18) { break; } message.custom = exports.CIDRRule.decode(reader, reader.uint32()); continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, fromJSON(object) { return { $type: exports.IPRule.$type, geoip: isSet(object.geoip) ? exports.GeoIPRule.fromJSON(object.geoip) : undefined, custom: isSet(object.custom) ? exports.CIDRRule.fromJSON(object.custom) : undefined, }; }, toJSON(message) { const obj = {}; if (message.geoip !== undefined) { obj.geoip = exports.GeoIPRule.toJSON(message.geoip); } if (message.custom !== undefined) { obj.custom = exports.CIDRRule.toJSON(message.custom); } return obj; }, create(base) { return exports.IPRule.fromPartial(base ?? {}); }, fromPartial(object) { const message = createBaseIPRule(); message.geoip = (object.geoip !== undefined && object.geoip !== null) ? exports.GeoIPRule.fromPartial(object.geoip) : undefined; message.custom = (object.custom !== undefined && object.custom !== null) ? exports.CIDRRule.fromPartial(object.custom) : undefined; return message; }, }; typeRegistry_1.messageTypeRegistry.set(exports.IPRule.$type, exports.IPRule); function bytesFromBase64(b64) { if (globalThis.Buffer) { return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); } else { const bin = globalThis.atob(b64); const arr = new Uint8Array(bin.length); for (let i = 0; i < bin.length; ++i) { arr[i] = bin.charCodeAt(i); } return arr; } } function base64FromBytes(arr) { if (globalThis.Buffer) { return globalThis.Buffer.from(arr).toString("base64"); } else { const bin = []; arr.forEach((byte) => { bin.push(globalThis.String.fromCharCode(byte)); }); return globalThis.btoa(bin.join("")); } } function longToNumber(int64) { const num = globalThis.Number(int64.toString()); if (num > globalThis.Number.MAX_SAFE_INTEGER) { throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); } if (num < globalThis.Number.MIN_SAFE_INTEGER) { throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); } return num; } function isSet(value) { return value !== null && value !== undefined; }