@remnawave/xtls-sdk
Version:
A Typescript SDK for XRAY (XTLS) Core GRPC Api
1,028 lines (1,027 loc) • 36 kB
JavaScript
"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;
}