vpn-split 16.5.5 → 16.5.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  THIS FILE IS GENERATED. THIS FILE IS GENERATED. THIS FILE IS GENERATED.
2
2
 
3
- Assets from this folder are being shipped with this npm package (vpn-split@16.5.5)
3
+ Assets from this folder are being shipped with this npm package (vpn-split@16.5.7)
4
4
  created from this project.
5
5
 
6
6
  THIS FILE IS GENERATED.THIS FILE IS GENERATED. THIS FILE IS GENERATED.
@@ -1,8 +1,6 @@
1
+ export * from './models';
1
2
  /* */
2
3
  /* */
3
- /* */
4
- export function helloWorld() {
5
- }
6
4
  ;
7
5
  ({}); // @--end-of-file-for-module=vpn-split lib/index.ts
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlL3Zwbi1zcGxpdC9wcm9qZWN0cy92cG4tc3BsaXQvc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFJTCxNQUFNLFVBQVUsVUFBVTtBQUUxQixDQUFDO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxtREFBbUQiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuXG5leHBvcnQgZnVuY3Rpb24gaGVsbG9Xb3JsZCgpIHtcblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dnBuLXNwbGl0IGxpYi9pbmRleC50cyJdfQ==
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlL3Zwbi1zcGxpdC9wcm9qZWN0cy92cG4tc3BsaXQvc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxjQUFjLFVBQVUsQ0FBQztBQUN6QixLQUFLO0FBQ0wsS0FBSztBQUdKLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsbURBQW1EIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzJztcbi8qICovXG4vKiAqL1xuICBcblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXZwbi1zcGxpdCBsaWIvaW5kZXgudHMiXX0=
@@ -0,0 +1,162 @@
1
+ import { _ } from 'tnp-core/browser';
2
+ import { CLI } from 'tnp-cli/browser';
3
+ import { Helpers } from 'tnp-helpers/browser';
4
+ export class HostForServer {
5
+ clone() {
6
+ return HostForServer.From(this);
7
+ }
8
+ static From(ipOrDomain, name = '', disabled = false) {
9
+ if (!ipOrDomain) {
10
+ return void 0;
11
+ }
12
+ if (_.isObject(ipOrDomain) && ipOrDomain instanceof HostForServer) {
13
+ const dataClone = _.cloneDeep(ipOrDomain._data);
14
+ dataClone.name = (name && (name.trim() !== '')) ?
15
+ name : dataClone.name;
16
+ if (!_.isBoolean(dataClone.disabled)) {
17
+ dataClone.disabled = disabled;
18
+ }
19
+ return new HostForServer(dataClone);
20
+ }
21
+ if (_.isString(ipOrDomain)) {
22
+ const parsed = Helpers.urlParse(ipOrDomain);
23
+ if (parsed) {
24
+ ipOrDomain = parsed;
25
+ }
26
+ }
27
+ if (_.isObject(ipOrDomain) && (ipOrDomain instanceof URL)) {
28
+ ipOrDomain = ipOrDomain;
29
+ if (Helpers.isValidIp(ipOrDomain?.host)) {
30
+ return new HostForServer({ ip: ipOrDomain.origin, name, disabled });
31
+ }
32
+ else {
33
+ return new HostForServer({ domain: ipOrDomain.origin, name, disabled });
34
+ }
35
+ }
36
+ else {
37
+ if (_.isString(ipOrDomain)) {
38
+ return new HostForServer({ ipOrDomain, name, disabled });
39
+ }
40
+ else {
41
+ ipOrDomain.name = (name && (name.trim() !== '')) ?
42
+ name : ipOrDomain.name;
43
+ if (!_.isBoolean(ipOrDomain.disabled)) {
44
+ ipOrDomain.disabled = disabled;
45
+ }
46
+ return new HostForServer(ipOrDomain);
47
+ }
48
+ }
49
+ }
50
+ constructor(data) {
51
+ this.toString = () => {
52
+ return `[string version] ${this.nameWithIpOrDomain}`;
53
+ };
54
+ if (data?.ipOrDomain) {
55
+ if (Helpers.isValidIp(data.ipOrDomain)) {
56
+ data.ip = data.ipOrDomain;
57
+ }
58
+ else {
59
+ data.domain = data.ipOrDomain;
60
+ }
61
+ }
62
+ if (data && !data.ip) {
63
+ data.ip = '';
64
+ }
65
+ if (data && !data.domain) {
66
+ data.domain = '';
67
+ }
68
+ if (!data) {
69
+ data = {};
70
+ }
71
+ if (_.isString(data?.aliases)) {
72
+ data.aliases = Helpers.strings.splitIfNeed(data.aliases);
73
+ }
74
+ this._data = data;
75
+ }
76
+ get ip() {
77
+ if (this.disabled) {
78
+ return '';
79
+ }
80
+ return this._data.ip;
81
+ }
82
+ set ip(newIpAddress) {
83
+ this._data.ip = newIpAddress;
84
+ }
85
+ get domain() {
86
+ if (this.disabled) {
87
+ return '';
88
+ }
89
+ return this._data.domain;
90
+ }
91
+ get aliases() {
92
+ if (this.disabled) {
93
+ return [];
94
+ }
95
+ if (_.isString(this._data.aliases)) {
96
+ return this._data.aliases.split(' ');
97
+ }
98
+ if (!_.isArray(this._data.aliases)) {
99
+ return [];
100
+ }
101
+ return this._data.aliases;
102
+ }
103
+ get firstAlias() {
104
+ return _.first(this.aliases);
105
+ }
106
+ get name() {
107
+ return this._data.name;
108
+ }
109
+ set name(v) {
110
+ this._data.name = v;
111
+ }
112
+ get originHostname() {
113
+ return this._data.originHostname;
114
+ }
115
+ set originHostname(v) {
116
+ this._data.originHostname = v;
117
+ }
118
+ get disabled() {
119
+ return this._data.disabled;
120
+ }
121
+ get isDefault() {
122
+ return this._data.isDefault;
123
+ }
124
+ get identifier() {
125
+ return _.kebabCase(this._data.name);
126
+ }
127
+ set disabled(v) {
128
+ this._data.disabled = v;
129
+ }
130
+ get ipOrDomain() {
131
+ if (this.disabled) {
132
+ return '';
133
+ }
134
+ const res = (this.domain ? this.domain : this.ip) || '';
135
+ return res;
136
+ }
137
+ get ipOrFirstAlias() {
138
+ if (this.disabled) {
139
+ return '';
140
+ }
141
+ const res = (this.firstAlias ? this.firstAlias : this.ip) || '';
142
+ return res;
143
+ }
144
+ get hostname() {
145
+ const h = Helpers.urlParse(this.ipOrFirstAlias, true);
146
+ return h ? h.hostname : void 0;
147
+ }
148
+ get hostnameFirstAlias() {
149
+ const h = Helpers.urlParse(this.firstAlias, true);
150
+ return h ? h.hostname : void 0;
151
+ }
152
+ get hostnameIp() {
153
+ const h = Helpers.urlParse(this.ip);
154
+ return h ? h.hostname : void 0;
155
+ }
156
+ get nameWithIpOrDomain() {
157
+ return CLI.chalk.underline(`${this.name} ${this.ipOrDomain}`);
158
+ }
159
+ }
160
+ ;
161
+ ({}); // @--end-of-file-for-module=vpn-split lib/models.ts
162
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS92cG4tc3BsaXQvcHJvamVjdHMvdnBuLXNwbGl0L3NyYy9saWIvbW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBK0I5QyxNQUFNLE9BQU8sYUFBYTtJQUdqQixLQUFLO1FBQ1YsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQThHLEVBQUUsSUFBSSxHQUFHLEVBQUUsRUFBRSxRQUFRLEdBQUcsS0FBSztRQUNySixJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2YsT0FBTyxLQUFLLENBQUMsQ0FBQztTQUNmO1FBQ0QsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsWUFBWSxhQUFhLEVBQUU7WUFDakUsTUFBTSxTQUFTLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFxQixDQUFDO1lBQ3BFLFNBQVMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMvQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDeEIsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUNwQyxTQUFTLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQzthQUMvQjtZQUNELE9BQU8sSUFB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QUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3RELE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBVyxrQkFBa0I7UUFDM0IsTUFBTSxDQUFDLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2xELE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ25CLE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBVyxrQkFBa0I7UUFDM0IsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDaEUsQ0FBQztDQUlGO0FBR0EsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxvREFBb0QiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgXyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgQ0xJIH0gZnJvbSAndG5wLWNsaS9icm93c2VyJztcbmltcG9ydCB7IEhlbHBlcnMgfSBmcm9tICd0bnAtaGVscGVycy9icm93c2VyJztcblxuLyoqKlxuICogQGRlcHJlY2F0ZWRcbiAqIHVzZSBub3JtYWwgb2JqZWN0c1xuICovXG5leHBvcnQgdHlwZSBFdGNIb3N0cyA9IHsgW2hvc3ROYW1lIGluIHN0cmluZ106IEhvc3RGb3JTZXJ2ZXI7IH07XG5cbi8qKipcbiAqIEBkZXByZWNhdGVkXG4gKiB1c2Ugbm9ybWFsIG9iamVjdHNcbiAqL1xuZXhwb3J0IHR5cGUgSUV0Y0hvc3RzID0geyBbaG9zdE5hbWUgaW4gc3RyaW5nXTogUGljazxIb3N0Rm9yU2VydmVyLCAnYWxpYXNlcycgfCAnaXBPckRvbWFpbic+OyB9O1xuXG5leHBvcnQgaW50ZXJmYWNlIE9wdEhvc3RGb3JTZXJ2ZXIge1xuICBpcD86IHN0cmluZztcbiAgZG9tYWluPzogc3RyaW5nO1xuICBpcE9yRG9tYWluPzogc3RyaW5nO1xuICBhbGlhc2VzPzogc3RyaW5nW107XG4gIGlzRGVmYXVsdD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBpcCBmcm9tIGNvbW1hbmQ6IHZwbi1jbGkgMTkyLjE2OC4xLjEgMTkyLjE2OC4xLjJcbiAgICovXG4gIG9yaWdpbkhvc3RuYW1lPzogc3RyaW5nO1xuICBuYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogaWYgdHJ1ZSAtIGlwIGFuZCBkb21haW4gd2lsbCBvdXRwdXQgZW1wdHkgc3RyaW5nXG4gICAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBIb3N0Rm9yU2VydmVyIGltcGxlbWVudHMgT3B0SG9zdEZvclNlcnZlciB7XG4gIHByaXZhdGUgX2RhdGE6IE9wdEhvc3RGb3JTZXJ2ZXI7XG5cbiAgcHVibGljIGNsb25lKCkge1xuICAgIHJldHVybiBIb3N0Rm9yU2VydmVyLkZyb20odGhpcyk7XG4gIH1cblxuICBzdGF0aWMgRnJvbShpcE9yRG9tYWluOiBzdHJpbmcgfCBVUkwgfCBQaWNrPE9wdEhvc3RGb3JTZXJ2ZXIgfCBIb3N0Rm9yU2VydmVyLCAnaXBPckRvbWFpbicgfCAnYWxpYXNlcycgfCAnb3JpZ2luSG9zdG5hbWUnPiwgbmFtZSA9ICcnLCBkaXNhYmxlZCA9IGZhbHNlKTogSG9zdEZvclNlcnZlciB7XG4gICAgaWYgKCFpcE9yRG9tYWluKSB7XG4gICAgICByZXR1cm4gdm9pZCAwO1xuICAgIH1cbiAgICBpZiAoXy5pc09iamVjdChpcE9yRG9tYWluKSAmJiBpcE9yRG9tYWluIGluc3RhbmNlb2YgSG9zdEZvclNlcnZlcikge1xuICAgICAgY29uc3QgZGF0YUNsb25lID0gXy5jbG9uZURlZXAoaXBPckRvbWFpbi5fZGF0YSkgYXMgT3B0SG9zdEZvclNlcnZlcjtcbiAgICAgIGRhdGFDbG9uZS5uYW1lID0gKG5hbWUgJiYgKG5hbWUudHJpbSgpICE9PSAnJykpID9cbiAgICAgICAgbmFtZSA6IGRhdGFDbG9uZS5uYW1lO1xuICAgICAgaWYgKCFfLmlzQm9vbGVhbihkYXRhQ2xvbmUuZGlzYWJsZWQpKSB7XG4gICAgICAgIGRhdGFDbG9uZS5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG5ldyBIb3N0Rm9yU2VydmVyKGRhdGFDbG9uZSk7XG4gICAgfVxuICAgIGlmIChfLmlzU3RyaW5nKGlwT3JEb21haW4pKSB7XG4gICAgICBjb25zdCBwYXJzZWQgPSBIZWxwZXJzLnVybFBhcnNlKGlwT3JEb21haW4pO1xuICAgICAgaWYgKHBhcnNlZCkge1xuICAgICAgICBpcE9yRG9tYWluID0gcGFyc2VkO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChfLmlzT2JqZWN0KGlwT3JEb21haW4pICYmIChpcE9yRG9tYWluIGluc3RhbmNlb2YgVVJMKSkge1xuICAgICAgaXBPckRvbWFpbiA9IGlwT3JEb21haW4gYXMgVVJMO1xuICAgICAgaWYgKEhlbHBlcnMuaXNWYWxpZElwKGlwT3JEb21haW4/Lmhvc3QpKSB7XG4gICAgICAgIHJldHVybiBuZXcgSG9zdEZvclNlcnZlcih7IGlwOiBpcE9yRG9tYWluLm9yaWdpbiwgbmFtZSwgZGlzYWJsZWQgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gbmV3IEhvc3RGb3JTZXJ2ZXIoeyBkb21haW46IGlwT3JEb21haW4ub3JpZ2luLCBuYW1lLCBkaXNhYmxlZCB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKF8uaXNTdHJpbmcoaXBPckRvbWFpbikpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBIb3N0Rm9yU2VydmVyKHsgaXBPckRvbWFpbiwgbmFtZSwgZGlzYWJsZWQgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAoaXBPckRvbWFpbiBhcyBPcHRIb3N0Rm9yU2VydmVyKS5uYW1lID0gKG5hbWUgJiYgKG5hbWUudHJpbSgpICE9PSAnJykpID9cbiAgICAgICAgICBuYW1lIDogKGlwT3JEb21haW4gYXMgT3B0SG9zdEZvclNlcnZlcikubmFtZTtcbiAgICAgICAgaWYgKCFfLmlzQm9vbGVhbigoaXBPckRvbWFpbiBhcyBPcHRIb3N0Rm9yU2VydmVyKS5kaXNhYmxlZCkpIHtcbiAgICAgICAgICAoaXBPckRvbWFpbiBhcyBPcHRIb3N0Rm9yU2VydmVyKS5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXcgSG9zdEZvclNlcnZlcihpcE9yRG9tYWluIGFzIGFueSk7XG4gICAgICB9XG5cbiAgICB9XG4gIH1cbiAgY29uc3RydWN0b3IoZGF0YTogT3B0SG9zdEZvclNlcnZlcikge1xuICAgIGlmIChkYXRhPy5pcE9yRG9tYWluKSB7XG4gICAgICBpZiAoSGVscGVycy5pc1ZhbGlkSXAoZGF0YS5pcE9yRG9tYWluKSkge1xuICAgICAgICBkYXRhLmlwID0gZGF0YS5pcE9yRG9tYWluO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGF0YS5kb21haW4gPSBkYXRhLmlwT3JEb21haW47XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChkYXRhICYmICFkYXRhLmlwKSB7XG4gICAgICBkYXRhLmlwID0gJyc7XG4gICAgfVxuICAgIGlmIChkYXRhICYmICFkYXRhLmRvbWFpbikge1xuICAgICAgZGF0YS5kb21haW4gPSAnJztcbiAgICB9XG4gICAgaWYgKCFkYXRhKSB7XG4gICAgICBkYXRhID0ge307XG4gICAgfVxuICAgIGlmIChfLmlzU3RyaW5nKGRhdGE/LmFsaWFzZXMpKSB7XG4gICAgICBkYXRhLmFsaWFzZXMgPSBIZWxwZXJzLnN0cmluZ3Muc3BsaXRJZk5lZWQoZGF0YS5hbGlhc2VzKTtcbiAgICB9XG4gICAgdGhpcy5fZGF0YSA9IGRhdGE7XG4gIH1cbiAgcHVibGljIGdldCBpcCgpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fZGF0YS5pcDtcbiAgfVxuICBwdWJsaWMgc2V0IGlwKG5ld0lwQWRkcmVzczogc3RyaW5nKSB7XG4gICAgdGhpcy5fZGF0YS5pcCA9IG5ld0lwQWRkcmVzcztcbiAgfVxuICBwdWJsaWMgZ2V0IGRvbWFpbigpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fZGF0YS5kb21haW47XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFsaWFzZXMoKTogc3RyaW5nW10ge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIGlmIChfLmlzU3RyaW5nKHRoaXMuX2RhdGEuYWxpYXNlcykpIHtcbiAgICAgIHJldHVybiB0aGlzLl9kYXRhLmFsaWFzZXMuc3BsaXQoJyAnKTtcbiAgICB9XG4gICAgaWYgKCFfLmlzQXJyYXkodGhpcy5fZGF0YS5hbGlhc2VzKSkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fZGF0YS5hbGlhc2VzO1xuICB9XG5cbiAgcHVibGljIGdldCBmaXJzdEFsaWFzKCkge1xuICAgIHJldHVybiBfLmZpcnN0KHRoaXMuYWxpYXNlcyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGEubmFtZTtcbiAgfVxuICBwdWJsaWMgc2V0IG5hbWUodikge1xuICAgIHRoaXMuX2RhdGEubmFtZSA9IHY7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG9yaWdpbkhvc3RuYW1lKCkge1xuICAgIHJldHVybiB0aGlzLl9kYXRhLm9yaWdpbkhvc3RuYW1lO1xuICB9XG4gIHB1YmxpYyBzZXQgb3JpZ2luSG9zdG5hbWUodikge1xuICAgIHRoaXMuX2RhdGEub3JpZ2luSG9zdG5hbWUgPSB2O1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YS5kaXNhYmxlZDtcbiAgfVxuICBwdWJsaWMgZ2V0IGlzRGVmYXVsdCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YS5pc0RlZmF1bHQ7XG4gIH1cbiAgcHVibGljIGdldCBpZGVudGlmaWVyKCkge1xuICAgIHJldHVybiBfLmtlYmFiQ2FzZSh0aGlzLl9kYXRhLm5hbWUpO1xuICB9XG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodikge1xuICAgIHRoaXMuX2RhdGEuZGlzYWJsZWQgPSB2O1xuICB9XG4gIHB1YmxpYyBnZXQgaXBPckRvbWFpbigpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICBjb25zdCByZXMgPSAodGhpcy5kb21haW4gPyB0aGlzLmRvbWFpbiA6IHRoaXMuaXApIHx8ICcnO1xuICAgIHJldHVybiByZXM7XG5cbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXBPckZpcnN0QWxpYXMoKSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgY29uc3QgcmVzID0gKHRoaXMuZmlyc3RBbGlhcyA/IHRoaXMuZmlyc3RBbGlhcyA6IHRoaXMuaXApIHx8ICcnO1xuICAgIHJldHVybiByZXM7XG5cbiAgfVxuXG4gIHB1YmxpYyBnZXQgaG9zdG5hbWUoKSB7XG4gICAgY29uc3QgaCA9IEhlbHBlcnMudXJsUGFyc2UodGhpcy5pcE9yRmlyc3RBbGlhcywgdHJ1ZSk7XG4gICAgcmV0dXJuIGggPyBoLmhvc3RuYW1lIDogdm9pZCAwO1xuICB9XG5cbiAgcHVibGljIGdldCBob3N0bmFtZUZpcnN0QWxpYXMoKSB7XG4gICAgY29uc3QgaCA9IEhlbHBlcnMudXJsUGFyc2UodGhpcy5maXJzdEFsaWFzLCB0cnVlKTtcbiAgICByZXR1cm4gaCA/IGguaG9zdG5hbWUgOiB2b2lkIDA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhvc3RuYW1lSXAoKSB7XG4gICAgY29uc3QgaCA9IEhlbHBlcnMudXJsUGFyc2UodGhpcy5pcCk7XG4gICAgcmV0dXJuIGggPyBoLmhvc3RuYW1lIDogdm9pZCAwO1xuICB9XG5cbiAgcHVibGljIGdldCBuYW1lV2l0aElwT3JEb21haW4oKSB7XG4gICAgcmV0dXJuIENMSS5jaGFsay51bmRlcmxpbmUoYCR7dGhpcy5uYW1lfSAke3RoaXMuaXBPckRvbWFpbn1gKTtcbiAgfVxuICB0b1N0cmluZyA9ICgpID0+IHtcbiAgICByZXR1cm4gYFtzdHJpbmcgdmVyc2lvbl0gJHt0aGlzLm5hbWVXaXRoSXBPckRvbWFpbn1gXG4gIH1cbn1cblxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dnBuLXNwbGl0IGxpYi9tb2RlbHMudHMiXX0=
@@ -1,8 +1,168 @@
1
+ import { _ } from 'tnp-core/browser';
2
+ import { CLI } from 'tnp-cli/browser';
3
+ import { Helpers } from 'tnp-helpers/browser';
4
+
5
+ class HostForServer {
6
+ clone() {
7
+ return HostForServer.From(this);
8
+ }
9
+ static From(ipOrDomain, name = '', disabled = false) {
10
+ if (!ipOrDomain) {
11
+ return void 0;
12
+ }
13
+ if (_.isObject(ipOrDomain) && ipOrDomain instanceof HostForServer) {
14
+ const dataClone = _.cloneDeep(ipOrDomain._data);
15
+ dataClone.name = (name && (name.trim() !== '')) ?
16
+ name : dataClone.name;
17
+ if (!_.isBoolean(dataClone.disabled)) {
18
+ dataClone.disabled = disabled;
19
+ }
20
+ return new HostForServer(dataClone);
21
+ }
22
+ if (_.isString(ipOrDomain)) {
23
+ const parsed = Helpers.urlParse(ipOrDomain);
24
+ if (parsed) {
25
+ ipOrDomain = parsed;
26
+ }
27
+ }
28
+ if (_.isObject(ipOrDomain) && (ipOrDomain instanceof URL)) {
29
+ ipOrDomain = ipOrDomain;
30
+ if (Helpers.isValidIp(ipOrDomain?.host)) {
31
+ return new HostForServer({ ip: ipOrDomain.origin, name, disabled });
32
+ }
33
+ else {
34
+ return new HostForServer({ domain: ipOrDomain.origin, name, disabled });
35
+ }
36
+ }
37
+ else {
38
+ if (_.isString(ipOrDomain)) {
39
+ return new HostForServer({ ipOrDomain, name, disabled });
40
+ }
41
+ else {
42
+ ipOrDomain.name = (name && (name.trim() !== '')) ?
43
+ name : ipOrDomain.name;
44
+ if (!_.isBoolean(ipOrDomain.disabled)) {
45
+ ipOrDomain.disabled = disabled;
46
+ }
47
+ return new HostForServer(ipOrDomain);
48
+ }
49
+ }
50
+ }
51
+ constructor(data) {
52
+ this.toString = () => {
53
+ return `[string version] ${this.nameWithIpOrDomain}`;
54
+ };
55
+ if (data?.ipOrDomain) {
56
+ if (Helpers.isValidIp(data.ipOrDomain)) {
57
+ data.ip = data.ipOrDomain;
58
+ }
59
+ else {
60
+ data.domain = data.ipOrDomain;
61
+ }
62
+ }
63
+ if (data && !data.ip) {
64
+ data.ip = '';
65
+ }
66
+ if (data && !data.domain) {
67
+ data.domain = '';
68
+ }
69
+ if (!data) {
70
+ data = {};
71
+ }
72
+ if (_.isString(data?.aliases)) {
73
+ data.aliases = Helpers.strings.splitIfNeed(data.aliases);
74
+ }
75
+ this._data = data;
76
+ }
77
+ get ip() {
78
+ if (this.disabled) {
79
+ return '';
80
+ }
81
+ return this._data.ip;
82
+ }
83
+ set ip(newIpAddress) {
84
+ this._data.ip = newIpAddress;
85
+ }
86
+ get domain() {
87
+ if (this.disabled) {
88
+ return '';
89
+ }
90
+ return this._data.domain;
91
+ }
92
+ get aliases() {
93
+ if (this.disabled) {
94
+ return [];
95
+ }
96
+ if (_.isString(this._data.aliases)) {
97
+ return this._data.aliases.split(' ');
98
+ }
99
+ if (!_.isArray(this._data.aliases)) {
100
+ return [];
101
+ }
102
+ return this._data.aliases;
103
+ }
104
+ get firstAlias() {
105
+ return _.first(this.aliases);
106
+ }
107
+ get name() {
108
+ return this._data.name;
109
+ }
110
+ set name(v) {
111
+ this._data.name = v;
112
+ }
113
+ get originHostname() {
114
+ return this._data.originHostname;
115
+ }
116
+ set originHostname(v) {
117
+ this._data.originHostname = v;
118
+ }
119
+ get disabled() {
120
+ return this._data.disabled;
121
+ }
122
+ get isDefault() {
123
+ return this._data.isDefault;
124
+ }
125
+ get identifier() {
126
+ return _.kebabCase(this._data.name);
127
+ }
128
+ set disabled(v) {
129
+ this._data.disabled = v;
130
+ }
131
+ get ipOrDomain() {
132
+ if (this.disabled) {
133
+ return '';
134
+ }
135
+ const res = (this.domain ? this.domain : this.ip) || '';
136
+ return res;
137
+ }
138
+ get ipOrFirstAlias() {
139
+ if (this.disabled) {
140
+ return '';
141
+ }
142
+ const res = (this.firstAlias ? this.firstAlias : this.ip) || '';
143
+ return res;
144
+ }
145
+ get hostname() {
146
+ const h = Helpers.urlParse(this.ipOrFirstAlias, true);
147
+ return h ? h.hostname : void 0;
148
+ }
149
+ get hostnameFirstAlias() {
150
+ const h = Helpers.urlParse(this.firstAlias, true);
151
+ return h ? h.hostname : void 0;
152
+ }
153
+ get hostnameIp() {
154
+ const h = Helpers.urlParse(this.ip);
155
+ return h ? h.hostname : void 0;
156
+ }
157
+ get nameWithIpOrDomain() {
158
+ return CLI.chalk.underline(`${this.name} ${this.ipOrDomain}`);
159
+ }
160
+ }
161
+ ;
162
+ ({}); // @--end-of-file-for-module=vpn-split lib/models.ts
163
+
1
164
  /* */
2
165
  /* */
3
- /* */
4
- function helloWorld() {
5
- }
6
166
  ;
7
167
  ({}); // @--end-of-file-for-module=vpn-split lib/index.ts
8
168
 
@@ -10,5 +170,5 @@ function helloWorld() {
10
170
  * Generated bundle index. Do not edit.
11
171
  */
12
172
 
13
- export { helloWorld };
173
+ export { HostForServer };
14
174
  //# sourceMappingURL=vpn-split.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"vpn-split.mjs","sources":["../../../tmp-libs-for-bundle/vpn-split/projects/vpn-split/src/lib/index.ts","../../../tmp-libs-for-bundle/vpn-split/projects/vpn-split/src/vpn-split.ts"],"sourcesContent":["\n\n/* */\n/* */\n/* */\n \n\n\nexport function helloWorld() {\n\n}\n\n ;({}); // @--end-of-file-for-module=vpn-split lib/index.ts","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"AAEA;AACA;AACA;SAIgB,UAAU,GAAA;AAE1B,CAAC;AAEA,CAAC;AAAA,CAAC,EAAE,EAAE;;ACZP;;AAEG;;;;"}
1
+ {"version":3,"file":"vpn-split.mjs","sources":["../../../tmp-libs-for-bundle/vpn-split/projects/vpn-split/src/lib/models.ts","../../../tmp-libs-for-bundle/vpn-split/projects/vpn-split/src/lib/index.ts","../../../tmp-libs-for-bundle/vpn-split/projects/vpn-split/src/vpn-split.ts"],"sourcesContent":["\n\nimport { _ } from 'tnp-core/browser';\nimport { CLI } from 'tnp-cli/browser';\nimport { Helpers } from 'tnp-helpers/browser';\n\n/***\n * @deprecated\n * use normal objects\n */\nexport type EtcHosts = { [hostName in string]: HostForServer; };\n\n/***\n * @deprecated\n * use normal objects\n */\nexport type IEtcHosts = { [hostName in string]: Pick<HostForServer, 'aliases' | 'ipOrDomain'>; };\n\nexport interface OptHostForServer {\n ip?: string;\n domain?: string;\n ipOrDomain?: string;\n aliases?: string[];\n isDefault?: boolean;\n /**\n * ip from command: vpn-cli 192.168.1.1 192.168.1.2\n */\n originHostname?: string;\n name?: string;\n /**\n * if true - ip and domain will output empty string\n */\n disabled?: boolean;\n}\n\nexport class HostForServer implements OptHostForServer {\n private _data: OptHostForServer;\n\n public clone() {\n return HostForServer.From(this);\n }\n\n static From(ipOrDomain: string | URL | Pick<OptHostForServer | HostForServer, 'ipOrDomain' | 'aliases' | 'originHostname'>, name = '', disabled = false): HostForServer {\n if (!ipOrDomain) {\n return void 0;\n }\n if (_.isObject(ipOrDomain) && ipOrDomain instanceof HostForServer) {\n const dataClone = _.cloneDeep(ipOrDomain._data) as OptHostForServer;\n dataClone.name = (name && (name.trim() !== '')) ?\n name : dataClone.name;\n if (!_.isBoolean(dataClone.disabled)) {\n dataClone.disabled = disabled;\n }\n return new HostForServer(dataClone);\n }\n if (_.isString(ipOrDomain)) {\n const parsed = Helpers.urlParse(ipOrDomain);\n if (parsed) {\n ipOrDomain = parsed;\n }\n }\n\n if (_.isObject(ipOrDomain) && (ipOrDomain instanceof URL)) {\n ipOrDomain = ipOrDomain as URL;\n if (Helpers.isValidIp(ipOrDomain?.host)) {\n return new HostForServer({ ip: ipOrDomain.origin, name, disabled });\n } else {\n return new HostForServer({ domain: ipOrDomain.origin, name, disabled });\n }\n } else {\n if (_.isString(ipOrDomain)) {\n return new HostForServer({ ipOrDomain, name, disabled });\n } else {\n (ipOrDomain as OptHostForServer).name = (name && (name.trim() !== '')) ?\n name : (ipOrDomain as OptHostForServer).name;\n if (!_.isBoolean((ipOrDomain as OptHostForServer).disabled)) {\n (ipOrDomain as OptHostForServer).disabled = disabled;\n }\n return new HostForServer(ipOrDomain as any);\n }\n\n }\n }\n constructor(data: OptHostForServer) {\n if (data?.ipOrDomain) {\n if (Helpers.isValidIp(data.ipOrDomain)) {\n data.ip = data.ipOrDomain;\n } else {\n data.domain = data.ipOrDomain;\n }\n }\n if (data && !data.ip) {\n data.ip = '';\n }\n if (data && !data.domain) {\n data.domain = '';\n }\n if (!data) {\n data = {};\n }\n if (_.isString(data?.aliases)) {\n data.aliases = Helpers.strings.splitIfNeed(data.aliases);\n }\n this._data = data;\n }\n public get ip() {\n if (this.disabled) {\n return '';\n }\n return this._data.ip;\n }\n public set ip(newIpAddress: string) {\n this._data.ip = newIpAddress;\n }\n public get domain() {\n if (this.disabled) {\n return '';\n }\n return this._data.domain;\n }\n\n public get aliases(): string[] {\n if (this.disabled) {\n return [];\n }\n if (_.isString(this._data.aliases)) {\n return this._data.aliases.split(' ');\n }\n if (!_.isArray(this._data.aliases)) {\n return [];\n }\n return this._data.aliases;\n }\n\n public get firstAlias() {\n return _.first(this.aliases);\n }\n\n public get name() {\n return this._data.name;\n }\n public set name(v) {\n this._data.name = v;\n }\n\n public get originHostname() {\n return this._data.originHostname;\n }\n public set originHostname(v) {\n this._data.originHostname = v;\n }\n\n public get disabled() {\n return this._data.disabled;\n }\n public get isDefault() {\n return this._data.isDefault;\n }\n public get identifier() {\n return _.kebabCase(this._data.name);\n }\n public set disabled(v) {\n this._data.disabled = v;\n }\n public get ipOrDomain() {\n if (this.disabled) {\n return '';\n }\n const res = (this.domain ? this.domain : this.ip) || '';\n return res;\n\n }\n\n public get ipOrFirstAlias() {\n if (this.disabled) {\n return '';\n }\n const res = (this.firstAlias ? this.firstAlias : this.ip) || '';\n return res;\n\n }\n\n public get hostname() {\n const h = Helpers.urlParse(this.ipOrFirstAlias, true);\n return h ? h.hostname : void 0;\n }\n\n public get hostnameFirstAlias() {\n const h = Helpers.urlParse(this.firstAlias, true);\n return h ? h.hostname : void 0;\n }\n\n public get hostnameIp() {\n const h = Helpers.urlParse(this.ip);\n return h ? h.hostname : void 0;\n }\n\n public get nameWithIpOrDomain() {\n return CLI.chalk.underline(`${this.name} ${this.ipOrDomain}`);\n }\n toString = () => {\n return `[string version] ${this.nameWithIpOrDomain}`\n }\n}\n\n\n ;({}); // @--end-of-file-for-module=vpn-split lib/models.ts","\n\nexport * from './models';\n/* */\n/* */\n \n\n ;({}); // @--end-of-file-for-module=vpn-split lib/index.ts","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  // @ts-nocheck
2
- export declare function helloWorld(): void;
2
+ export * from './models';
@@ -0,0 +1,57 @@
1
+ // @ts-nocheck
2
+ /***
3
+ * @deprecated
4
+ * use normal objects
5
+ */
6
+ export type EtcHosts = {
7
+ [hostName in string]: HostForServer;
8
+ };
9
+ /***
10
+ * @deprecated
11
+ * use normal objects
12
+ */
13
+ export type IEtcHosts = {
14
+ [hostName in string]: Pick<HostForServer, 'aliases' | 'ipOrDomain'>;
15
+ };
16
+ export interface OptHostForServer {
17
+ ip?: string;
18
+ domain?: string;
19
+ ipOrDomain?: string;
20
+ aliases?: string[];
21
+ isDefault?: boolean;
22
+ /**
23
+ * ip from command: vpn-cli 192.168.1.1 192.168.1.2
24
+ */
25
+ originHostname?: string;
26
+ name?: string;
27
+ /**
28
+ * if true - ip and domain will output empty string
29
+ */
30
+ disabled?: boolean;
31
+ }
32
+ export declare class HostForServer implements OptHostForServer {
33
+ private _data;
34
+ clone(): HostForServer;
35
+ static From(ipOrDomain: string | URL | Pick<OptHostForServer | HostForServer, 'ipOrDomain' | 'aliases' | 'originHostname'>, name?: string, disabled?: boolean): HostForServer;
36
+ constructor(data: OptHostForServer);
37
+ get ip(): string;
38
+ set ip(newIpAddress: string);
39
+ get domain(): string;
40
+ get aliases(): string[];
41
+ get firstAlias(): string;
42
+ get name(): string;
43
+ set name(v: string);
44
+ get originHostname(): string;
45
+ set originHostname(v: string);
46
+ get disabled(): boolean;
47
+ get isDefault(): boolean;
48
+ get identifier(): string;
49
+ set disabled(v: boolean);
50
+ get ipOrDomain(): string;
51
+ get ipOrFirstAlias(): string;
52
+ get hostname(): string;
53
+ get hostnameFirstAlias(): string;
54
+ get hostnameIp(): string;
55
+ get nameWithIpOrDomain(): string;
56
+ toString: () => string;
57
+ }
@@ -1,8 +1,6 @@
1
+ export * from './models';
1
2
  /* */
2
3
  /* */
3
- /* */
4
- export function helloWorld() {
5
- }
6
4
  ;
7
5
  ({}); // @--end-of-file-for-module=vpn-split lib/index.ts
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlL3Zwbi1zcGxpdC9wcm9qZWN0cy92cG4tc3BsaXQvc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFJTCxNQUFNLFVBQVUsVUFBVTtBQUUxQixDQUFDO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxtREFBbUQiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuXG5leHBvcnQgZnVuY3Rpb24gaGVsbG9Xb3JsZCgpIHtcblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dnBuLXNwbGl0IGxpYi9pbmRleC50cyJdfQ==
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlL3Zwbi1zcGxpdC9wcm9qZWN0cy92cG4tc3BsaXQvc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxjQUFjLFVBQVUsQ0FBQztBQUN6QixLQUFLO0FBQ0wsS0FBSztBQUdKLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsbURBQW1EIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzJztcbi8qICovXG4vKiAqL1xuICBcblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXZwbi1zcGxpdCBsaWIvaW5kZXgudHMiXX0=