@remnawave/xtls-sdk
Version:
A Typescript SDK for XRAY (XTLS) Core GRPC Api
903 lines (902 loc) • 33.3 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: proxy/freedom/config.proto
Object.defineProperty(exports, "__esModule", { value: true });
exports.Config = exports.FinalRuleConfig = exports.Range = exports.Noise = exports.Fragment = exports.DestinationOverride = exports.RuleAction = exports.protobufPackage = void 0;
exports.ruleActionFromJSON = ruleActionFromJSON;
exports.ruleActionToJSON = ruleActionToJSON;
/* eslint-disable */
const wire_1 = require("@bufbuild/protobuf/wire");
const geodat_1 = require("../../common/geodata/geodat");
const network_1 = require("../../common/net/network");
const port_1 = require("../../common/net/port");
const server_spec_1 = require("../../common/protocol/server_spec");
const config_1 = require("../../transport/internet/config");
const typeRegistry_1 = require("../../typeRegistry");
exports.protobufPackage = "xray.proxy.freedom";
var RuleAction;
(function (RuleAction) {
RuleAction[RuleAction["Allow"] = 0] = "Allow";
RuleAction[RuleAction["Block"] = 1] = "Block";
RuleAction[RuleAction["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(RuleAction || (exports.RuleAction = RuleAction = {}));
function ruleActionFromJSON(object) {
switch (object) {
case 0:
case "Allow":
return RuleAction.Allow;
case 1:
case "Block":
return RuleAction.Block;
case -1:
case "UNRECOGNIZED":
default:
return RuleAction.UNRECOGNIZED;
}
}
function ruleActionToJSON(object) {
switch (object) {
case RuleAction.Allow:
return "Allow";
case RuleAction.Block:
return "Block";
case RuleAction.UNRECOGNIZED:
default:
return "UNRECOGNIZED";
}
}
function createBaseDestinationOverride() {
return { $type: "xray.proxy.freedom.DestinationOverride", server: undefined };
}
exports.DestinationOverride = {
$type: "xray.proxy.freedom.DestinationOverride",
encode(message, writer = new wire_1.BinaryWriter()) {
if (message.server !== undefined) {
server_spec_1.ServerEndpoint.encode(message.server, 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 = createBaseDestinationOverride();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1: {
if (tag !== 10) {
break;
}
message.server = server_spec_1.ServerEndpoint.decode(reader, reader.uint32());
continue;
}
}
if ((tag & 7) === 4 || tag === 0) {
break;
}
reader.skip(tag & 7);
}
return message;
},
fromJSON(object) {
return {
$type: exports.DestinationOverride.$type,
server: isSet(object.server) ? server_spec_1.ServerEndpoint.fromJSON(object.server) : undefined,
};
},
toJSON(message) {
const obj = {};
if (message.server !== undefined) {
obj.server = server_spec_1.ServerEndpoint.toJSON(message.server);
}
return obj;
},
create(base) {
return exports.DestinationOverride.fromPartial(base ?? {});
},
fromPartial(object) {
const message = createBaseDestinationOverride();
message.server = (object.server !== undefined && object.server !== null)
? server_spec_1.ServerEndpoint.fromPartial(object.server)
: undefined;
return message;
},
};
typeRegistry_1.messageTypeRegistry.set(exports.DestinationOverride.$type, exports.DestinationOverride);
function createBaseFragment() {
return {
$type: "xray.proxy.freedom.Fragment",
packetsFrom: 0,
packetsTo: 0,
lengthMin: 0,
lengthMax: 0,
intervalMin: 0,
intervalMax: 0,
maxSplitMin: 0,
maxSplitMax: 0,
};
}
exports.Fragment = {
$type: "xray.proxy.freedom.Fragment",
encode(message, writer = new wire_1.BinaryWriter()) {
if (message.packetsFrom !== 0) {
writer.uint32(8).uint64(message.packetsFrom);
}
if (message.packetsTo !== 0) {
writer.uint32(16).uint64(message.packetsTo);
}
if (message.lengthMin !== 0) {
writer.uint32(24).uint64(message.lengthMin);
}
if (message.lengthMax !== 0) {
writer.uint32(32).uint64(message.lengthMax);
}
if (message.intervalMin !== 0) {
writer.uint32(40).uint64(message.intervalMin);
}
if (message.intervalMax !== 0) {
writer.uint32(48).uint64(message.intervalMax);
}
if (message.maxSplitMin !== 0) {
writer.uint32(56).uint64(message.maxSplitMin);
}
if (message.maxSplitMax !== 0) {
writer.uint32(64).uint64(message.maxSplitMax);
}
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 = createBaseFragment();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1: {
if (tag !== 8) {
break;
}
message.packetsFrom = longToNumber(reader.uint64());
continue;
}
case 2: {
if (tag !== 16) {
break;
}
message.packetsTo = longToNumber(reader.uint64());
continue;
}
case 3: {
if (tag !== 24) {
break;
}
message.lengthMin = longToNumber(reader.uint64());
continue;
}
case 4: {
if (tag !== 32) {
break;
}
message.lengthMax = longToNumber(reader.uint64());
continue;
}
case 5: {
if (tag !== 40) {
break;
}
message.intervalMin = longToNumber(reader.uint64());
continue;
}
case 6: {
if (tag !== 48) {
break;
}
message.intervalMax = longToNumber(reader.uint64());
continue;
}
case 7: {
if (tag !== 56) {
break;
}
message.maxSplitMin = longToNumber(reader.uint64());
continue;
}
case 8: {
if (tag !== 64) {
break;
}
message.maxSplitMax = longToNumber(reader.uint64());
continue;
}
}
if ((tag & 7) === 4 || tag === 0) {
break;
}
reader.skip(tag & 7);
}
return message;
},
fromJSON(object) {
return {
$type: exports.Fragment.$type,
packetsFrom: isSet(object.packetsFrom)
? globalThis.Number(object.packetsFrom)
: isSet(object.packets_from)
? globalThis.Number(object.packets_from)
: 0,
packetsTo: isSet(object.packetsTo)
? globalThis.Number(object.packetsTo)
: isSet(object.packets_to)
? globalThis.Number(object.packets_to)
: 0,
lengthMin: isSet(object.lengthMin)
? globalThis.Number(object.lengthMin)
: isSet(object.length_min)
? globalThis.Number(object.length_min)
: 0,
lengthMax: isSet(object.lengthMax)
? globalThis.Number(object.lengthMax)
: isSet(object.length_max)
? globalThis.Number(object.length_max)
: 0,
intervalMin: isSet(object.intervalMin)
? globalThis.Number(object.intervalMin)
: isSet(object.interval_min)
? globalThis.Number(object.interval_min)
: 0,
intervalMax: isSet(object.intervalMax)
? globalThis.Number(object.intervalMax)
: isSet(object.interval_max)
? globalThis.Number(object.interval_max)
: 0,
maxSplitMin: isSet(object.maxSplitMin)
? globalThis.Number(object.maxSplitMin)
: isSet(object.max_split_min)
? globalThis.Number(object.max_split_min)
: 0,
maxSplitMax: isSet(object.maxSplitMax)
? globalThis.Number(object.maxSplitMax)
: isSet(object.max_split_max)
? globalThis.Number(object.max_split_max)
: 0,
};
},
toJSON(message) {
const obj = {};
if (message.packetsFrom !== 0) {
obj.packetsFrom = Math.round(message.packetsFrom);
}
if (message.packetsTo !== 0) {
obj.packetsTo = Math.round(message.packetsTo);
}
if (message.lengthMin !== 0) {
obj.lengthMin = Math.round(message.lengthMin);
}
if (message.lengthMax !== 0) {
obj.lengthMax = Math.round(message.lengthMax);
}
if (message.intervalMin !== 0) {
obj.intervalMin = Math.round(message.intervalMin);
}
if (message.intervalMax !== 0) {
obj.intervalMax = Math.round(message.intervalMax);
}
if (message.maxSplitMin !== 0) {
obj.maxSplitMin = Math.round(message.maxSplitMin);
}
if (message.maxSplitMax !== 0) {
obj.maxSplitMax = Math.round(message.maxSplitMax);
}
return obj;
},
create(base) {
return exports.Fragment.fromPartial(base ?? {});
},
fromPartial(object) {
const message = createBaseFragment();
message.packetsFrom = object.packetsFrom ?? 0;
message.packetsTo = object.packetsTo ?? 0;
message.lengthMin = object.lengthMin ?? 0;
message.lengthMax = object.lengthMax ?? 0;
message.intervalMin = object.intervalMin ?? 0;
message.intervalMax = object.intervalMax ?? 0;
message.maxSplitMin = object.maxSplitMin ?? 0;
message.maxSplitMax = object.maxSplitMax ?? 0;
return message;
},
};
typeRegistry_1.messageTypeRegistry.set(exports.Fragment.$type, exports.Fragment);
function createBaseNoise() {
return {
$type: "xray.proxy.freedom.Noise",
lengthMin: 0,
lengthMax: 0,
delayMin: 0,
delayMax: 0,
packet: new Uint8Array(0),
applyTo: "",
};
}
exports.Noise = {
$type: "xray.proxy.freedom.Noise",
encode(message, writer = new wire_1.BinaryWriter()) {
if (message.lengthMin !== 0) {
writer.uint32(8).uint64(message.lengthMin);
}
if (message.lengthMax !== 0) {
writer.uint32(16).uint64(message.lengthMax);
}
if (message.delayMin !== 0) {
writer.uint32(24).uint64(message.delayMin);
}
if (message.delayMax !== 0) {
writer.uint32(32).uint64(message.delayMax);
}
if (message.packet.length !== 0) {
writer.uint32(42).bytes(message.packet);
}
if (message.applyTo !== "") {
writer.uint32(50).string(message.applyTo);
}
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 = createBaseNoise();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1: {
if (tag !== 8) {
break;
}
message.lengthMin = longToNumber(reader.uint64());
continue;
}
case 2: {
if (tag !== 16) {
break;
}
message.lengthMax = longToNumber(reader.uint64());
continue;
}
case 3: {
if (tag !== 24) {
break;
}
message.delayMin = longToNumber(reader.uint64());
continue;
}
case 4: {
if (tag !== 32) {
break;
}
message.delayMax = longToNumber(reader.uint64());
continue;
}
case 5: {
if (tag !== 42) {
break;
}
message.packet = reader.bytes();
continue;
}
case 6: {
if (tag !== 50) {
break;
}
message.applyTo = reader.string();
continue;
}
}
if ((tag & 7) === 4 || tag === 0) {
break;
}
reader.skip(tag & 7);
}
return message;
},
fromJSON(object) {
return {
$type: exports.Noise.$type,
lengthMin: isSet(object.lengthMin)
? globalThis.Number(object.lengthMin)
: isSet(object.length_min)
? globalThis.Number(object.length_min)
: 0,
lengthMax: isSet(object.lengthMax)
? globalThis.Number(object.lengthMax)
: isSet(object.length_max)
? globalThis.Number(object.length_max)
: 0,
delayMin: isSet(object.delayMin)
? globalThis.Number(object.delayMin)
: isSet(object.delay_min)
? globalThis.Number(object.delay_min)
: 0,
delayMax: isSet(object.delayMax)
? globalThis.Number(object.delayMax)
: isSet(object.delay_max)
? globalThis.Number(object.delay_max)
: 0,
packet: isSet(object.packet) ? bytesFromBase64(object.packet) : new Uint8Array(0),
applyTo: isSet(object.applyTo)
? globalThis.String(object.applyTo)
: isSet(object.apply_to)
? globalThis.String(object.apply_to)
: "",
};
},
toJSON(message) {
const obj = {};
if (message.lengthMin !== 0) {
obj.lengthMin = Math.round(message.lengthMin);
}
if (message.lengthMax !== 0) {
obj.lengthMax = Math.round(message.lengthMax);
}
if (message.delayMin !== 0) {
obj.delayMin = Math.round(message.delayMin);
}
if (message.delayMax !== 0) {
obj.delayMax = Math.round(message.delayMax);
}
if (message.packet.length !== 0) {
obj.packet = base64FromBytes(message.packet);
}
if (message.applyTo !== "") {
obj.applyTo = message.applyTo;
}
return obj;
},
create(base) {
return exports.Noise.fromPartial(base ?? {});
},
fromPartial(object) {
const message = createBaseNoise();
message.lengthMin = object.lengthMin ?? 0;
message.lengthMax = object.lengthMax ?? 0;
message.delayMin = object.delayMin ?? 0;
message.delayMax = object.delayMax ?? 0;
message.packet = object.packet ?? new Uint8Array(0);
message.applyTo = object.applyTo ?? "";
return message;
},
};
typeRegistry_1.messageTypeRegistry.set(exports.Noise.$type, exports.Noise);
function createBaseRange() {
return { $type: "xray.proxy.freedom.Range", min: 0, max: 0 };
}
exports.Range = {
$type: "xray.proxy.freedom.Range",
encode(message, writer = new wire_1.BinaryWriter()) {
if (message.min !== 0) {
writer.uint32(8).uint64(message.min);
}
if (message.max !== 0) {
writer.uint32(16).uint64(message.max);
}
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 = createBaseRange();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1: {
if (tag !== 8) {
break;
}
message.min = longToNumber(reader.uint64());
continue;
}
case 2: {
if (tag !== 16) {
break;
}
message.max = longToNumber(reader.uint64());
continue;
}
}
if ((tag & 7) === 4 || tag === 0) {
break;
}
reader.skip(tag & 7);
}
return message;
},
fromJSON(object) {
return {
$type: exports.Range.$type,
min: isSet(object.min) ? globalThis.Number(object.min) : 0,
max: isSet(object.max) ? globalThis.Number(object.max) : 0,
};
},
toJSON(message) {
const obj = {};
if (message.min !== 0) {
obj.min = Math.round(message.min);
}
if (message.max !== 0) {
obj.max = Math.round(message.max);
}
return obj;
},
create(base) {
return exports.Range.fromPartial(base ?? {});
},
fromPartial(object) {
const message = createBaseRange();
message.min = object.min ?? 0;
message.max = object.max ?? 0;
return message;
},
};
typeRegistry_1.messageTypeRegistry.set(exports.Range.$type, exports.Range);
function createBaseFinalRuleConfig() {
return {
$type: "xray.proxy.freedom.FinalRuleConfig",
action: 0,
networks: [],
portList: undefined,
ip: [],
blockDelay: undefined,
};
}
exports.FinalRuleConfig = {
$type: "xray.proxy.freedom.FinalRuleConfig",
encode(message, writer = new wire_1.BinaryWriter()) {
if (message.action !== 0) {
writer.uint32(8).int32(message.action);
}
writer.uint32(18).fork();
for (const v of message.networks) {
writer.int32(v);
}
writer.join();
if (message.portList !== undefined) {
port_1.PortList.encode(message.portList, writer.uint32(26).fork()).join();
}
for (const v of message.ip) {
geodat_1.IPRule.encode(v, writer.uint32(34).fork()).join();
}
if (message.blockDelay !== undefined) {
exports.Range.encode(message.blockDelay, writer.uint32(42).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 = createBaseFinalRuleConfig();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1: {
if (tag !== 8) {
break;
}
message.action = reader.int32();
continue;
}
case 2: {
if (tag === 16) {
message.networks.push(reader.int32());
continue;
}
if (tag === 18) {
const end2 = reader.uint32() + reader.pos;
while (reader.pos < end2) {
message.networks.push(reader.int32());
}
continue;
}
break;
}
case 3: {
if (tag !== 26) {
break;
}
message.portList = port_1.PortList.decode(reader, reader.uint32());
continue;
}
case 4: {
if (tag !== 34) {
break;
}
message.ip.push(geodat_1.IPRule.decode(reader, reader.uint32()));
continue;
}
case 5: {
if (tag !== 42) {
break;
}
message.blockDelay = exports.Range.decode(reader, reader.uint32());
continue;
}
}
if ((tag & 7) === 4 || tag === 0) {
break;
}
reader.skip(tag & 7);
}
return message;
},
fromJSON(object) {
return {
$type: exports.FinalRuleConfig.$type,
action: isSet(object.action) ? ruleActionFromJSON(object.action) : 0,
networks: globalThis.Array.isArray(object?.networks) ? object.networks.map((e) => (0, network_1.networkFromJSON)(e)) : [],
portList: isSet(object.portList)
? port_1.PortList.fromJSON(object.portList)
: isSet(object.port_list)
? port_1.PortList.fromJSON(object.port_list)
: undefined,
ip: globalThis.Array.isArray(object?.ip) ? object.ip.map((e) => geodat_1.IPRule.fromJSON(e)) : [],
blockDelay: isSet(object.blockDelay)
? exports.Range.fromJSON(object.blockDelay)
: isSet(object.block_delay)
? exports.Range.fromJSON(object.block_delay)
: undefined,
};
},
toJSON(message) {
const obj = {};
if (message.action !== 0) {
obj.action = ruleActionToJSON(message.action);
}
if (message.networks?.length) {
obj.networks = message.networks.map((e) => (0, network_1.networkToJSON)(e));
}
if (message.portList !== undefined) {
obj.portList = port_1.PortList.toJSON(message.portList);
}
if (message.ip?.length) {
obj.ip = message.ip.map((e) => geodat_1.IPRule.toJSON(e));
}
if (message.blockDelay !== undefined) {
obj.blockDelay = exports.Range.toJSON(message.blockDelay);
}
return obj;
},
create(base) {
return exports.FinalRuleConfig.fromPartial(base ?? {});
},
fromPartial(object) {
const message = createBaseFinalRuleConfig();
message.action = object.action ?? 0;
message.networks = object.networks?.map((e) => e) || [];
message.portList = (object.portList !== undefined && object.portList !== null)
? port_1.PortList.fromPartial(object.portList)
: undefined;
message.ip = object.ip?.map((e) => geodat_1.IPRule.fromPartial(e)) || [];
message.blockDelay = (object.blockDelay !== undefined && object.blockDelay !== null)
? exports.Range.fromPartial(object.blockDelay)
: undefined;
return message;
},
};
typeRegistry_1.messageTypeRegistry.set(exports.FinalRuleConfig.$type, exports.FinalRuleConfig);
function createBaseConfig() {
return {
$type: "xray.proxy.freedom.Config",
domainStrategy: 0,
destinationOverride: undefined,
userLevel: 0,
fragment: undefined,
proxyProtocol: 0,
noises: [],
finalRules: [],
};
}
exports.Config = {
$type: "xray.proxy.freedom.Config",
encode(message, writer = new wire_1.BinaryWriter()) {
if (message.domainStrategy !== 0) {
writer.uint32(8).int32(message.domainStrategy);
}
if (message.destinationOverride !== undefined) {
exports.DestinationOverride.encode(message.destinationOverride, writer.uint32(26).fork()).join();
}
if (message.userLevel !== 0) {
writer.uint32(32).uint32(message.userLevel);
}
if (message.fragment !== undefined) {
exports.Fragment.encode(message.fragment, writer.uint32(42).fork()).join();
}
if (message.proxyProtocol !== 0) {
writer.uint32(48).uint32(message.proxyProtocol);
}
for (const v of message.noises) {
exports.Noise.encode(v, writer.uint32(58).fork()).join();
}
for (const v of message.finalRules) {
exports.FinalRuleConfig.encode(v, writer.uint32(66).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 = createBaseConfig();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1: {
if (tag !== 8) {
break;
}
message.domainStrategy = reader.int32();
continue;
}
case 3: {
if (tag !== 26) {
break;
}
message.destinationOverride = exports.DestinationOverride.decode(reader, reader.uint32());
continue;
}
case 4: {
if (tag !== 32) {
break;
}
message.userLevel = reader.uint32();
continue;
}
case 5: {
if (tag !== 42) {
break;
}
message.fragment = exports.Fragment.decode(reader, reader.uint32());
continue;
}
case 6: {
if (tag !== 48) {
break;
}
message.proxyProtocol = reader.uint32();
continue;
}
case 7: {
if (tag !== 58) {
break;
}
message.noises.push(exports.Noise.decode(reader, reader.uint32()));
continue;
}
case 8: {
if (tag !== 66) {
break;
}
message.finalRules.push(exports.FinalRuleConfig.decode(reader, reader.uint32()));
continue;
}
}
if ((tag & 7) === 4 || tag === 0) {
break;
}
reader.skip(tag & 7);
}
return message;
},
fromJSON(object) {
return {
$type: exports.Config.$type,
domainStrategy: isSet(object.domainStrategy)
? (0, config_1.domainStrategyFromJSON)(object.domainStrategy)
: isSet(object.domain_strategy)
? (0, config_1.domainStrategyFromJSON)(object.domain_strategy)
: 0,
destinationOverride: isSet(object.destinationOverride)
? exports.DestinationOverride.fromJSON(object.destinationOverride)
: isSet(object.destination_override)
? exports.DestinationOverride.fromJSON(object.destination_override)
: undefined,
userLevel: isSet(object.userLevel)
? globalThis.Number(object.userLevel)
: isSet(object.user_level)
? globalThis.Number(object.user_level)
: 0,
fragment: isSet(object.fragment) ? exports.Fragment.fromJSON(object.fragment) : undefined,
proxyProtocol: isSet(object.proxyProtocol)
? globalThis.Number(object.proxyProtocol)
: isSet(object.proxy_protocol)
? globalThis.Number(object.proxy_protocol)
: 0,
noises: globalThis.Array.isArray(object?.noises) ? object.noises.map((e) => exports.Noise.fromJSON(e)) : [],
finalRules: globalThis.Array.isArray(object?.finalRules)
? object.finalRules.map((e) => exports.FinalRuleConfig.fromJSON(e))
: globalThis.Array.isArray(object?.final_rules)
? object.final_rules.map((e) => exports.FinalRuleConfig.fromJSON(e))
: [],
};
},
toJSON(message) {
const obj = {};
if (message.domainStrategy !== 0) {
obj.domainStrategy = (0, config_1.domainStrategyToJSON)(message.domainStrategy);
}
if (message.destinationOverride !== undefined) {
obj.destinationOverride = exports.DestinationOverride.toJSON(message.destinationOverride);
}
if (message.userLevel !== 0) {
obj.userLevel = Math.round(message.userLevel);
}
if (message.fragment !== undefined) {
obj.fragment = exports.Fragment.toJSON(message.fragment);
}
if (message.proxyProtocol !== 0) {
obj.proxyProtocol = Math.round(message.proxyProtocol);
}
if (message.noises?.length) {
obj.noises = message.noises.map((e) => exports.Noise.toJSON(e));
}
if (message.finalRules?.length) {
obj.finalRules = message.finalRules.map((e) => exports.FinalRuleConfig.toJSON(e));
}
return obj;
},
create(base) {
return exports.Config.fromPartial(base ?? {});
},
fromPartial(object) {
const message = createBaseConfig();
message.domainStrategy = object.domainStrategy ?? 0;
message.destinationOverride = (object.destinationOverride !== undefined && object.destinationOverride !== null)
? exports.DestinationOverride.fromPartial(object.destinationOverride)
: undefined;
message.userLevel = object.userLevel ?? 0;
message.fragment = (object.fragment !== undefined && object.fragment !== null)
? exports.Fragment.fromPartial(object.fragment)
: undefined;
message.proxyProtocol = object.proxyProtocol ?? 0;
message.noises = object.noises?.map((e) => exports.Noise.fromPartial(e)) || [];
message.finalRules = object.finalRules?.map((e) => exports.FinalRuleConfig.fromPartial(e)) || [];
return message;
},
};
typeRegistry_1.messageTypeRegistry.set(exports.Config.$type, exports.Config);
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;
}