vpn-split 19.0.4 → 19.0.6
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.
- package/bin/vpn-split +11 -11
- package/bin/vpn-split-debug +11 -11
- package/browser/README.md +24 -24
- package/browser/esm2022/lib/index.mjs +4 -0
- package/browser/esm2022/lib/models.mjs +171 -0
- package/browser/esm2022/public-api.mjs +2 -0
- package/browser/esm2022/vpn-split.mjs +5 -0
- package/browser/fesm2022/vpn-split.mjs.map +1 -1
- package/browser/package.json +1 -1
- package/client/README.md +24 -24
- package/client/esm2022/lib/index.mjs +4 -0
- package/client/esm2022/lib/models.mjs +171 -0
- package/client/esm2022/public-api.mjs +2 -0
- package/client/esm2022/vpn-split.mjs +5 -0
- package/client/fesm2022/vpn-split.mjs.map +1 -1
- package/client/package.json +1 -1
- package/index.js.map +1 -1
- package/lib/build-info._auto-generated_.d.ts +1 -1
- package/lib/build-info._auto-generated_.js +1 -1
- package/lib/build-info._auto-generated_.js.map +1 -1
- package/lib/hostile.backend.js.map +1 -1
- package/lib/index._auto-generated_.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/models.js.map +1 -1
- package/lib/start.backend.js.map +1 -1
- package/lib/vpn-split.backend.js.map +1 -1
- package/migrations/index.js.map +1 -1
- package/migrations/migrations_index._auto-generated_.js.map +1 -1
- package/package.json +1 -1
- package/tmp-environment.json +3 -3
- package/websql/README.md +24 -24
- package/websql/esm2022/lib/index.mjs +4 -0
- package/websql/esm2022/lib/models.mjs +171 -0
- package/websql/esm2022/public-api.mjs +2 -0
- package/websql/esm2022/vpn-split.mjs +5 -0
- package/websql/fesm2022/vpn-split.mjs.map +1 -1
- package/websql/package.json +1 -1
package/bin/vpn-split
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
var { fse, crossPlatformPath, path } = require('tnp-core');
|
|
3
|
-
var path = {
|
|
4
|
-
dist: path.join(crossPlatformPath(__dirname), '../dist/start.backend.js'),
|
|
5
|
-
bundle: path.join(crossPlatformPath(__dirname), '../start.backend.js')
|
|
6
|
-
}
|
|
7
|
-
var p = fse.existsSync(path.dist) ? path.dist : path.bundle;
|
|
8
|
-
global.globalSystemToolMode = true;
|
|
9
|
-
var run = require(p).run;
|
|
10
|
-
run(process.argv.slice(2));
|
|
11
|
-
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
var { fse, crossPlatformPath, path } = require('tnp-core');
|
|
3
|
+
var path = {
|
|
4
|
+
dist: path.join(crossPlatformPath(__dirname), '../dist/start.backend.js'),
|
|
5
|
+
bundle: path.join(crossPlatformPath(__dirname), '../start.backend.js')
|
|
6
|
+
}
|
|
7
|
+
var p = fse.existsSync(path.dist) ? path.dist : path.bundle;
|
|
8
|
+
global.globalSystemToolMode = true;
|
|
9
|
+
var run = require(p).run;
|
|
10
|
+
run(process.argv.slice(2));
|
|
11
|
+
|
package/bin/vpn-split-debug
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
#!/usr/bin/env node --inspect
|
|
2
|
-
var { fse, crossPlatformPath, path } = require('tnp-core');
|
|
3
|
-
var path = {
|
|
4
|
-
dist: path.join(crossPlatformPath(__dirname), '../dist/start.backend.js'),
|
|
5
|
-
bundle: path.join(crossPlatformPath(__dirname), '../start.backend.js')
|
|
6
|
-
}
|
|
7
|
-
var p = fse.existsSync(path.dist) ? path.dist : path.bundle;
|
|
8
|
-
global.globalSystemToolMode = true;
|
|
9
|
-
var run = require(p).run;
|
|
10
|
-
run(process.argv.slice(2));
|
|
11
|
-
|
|
1
|
+
#!/usr/bin/env node --inspect
|
|
2
|
+
var { fse, crossPlatformPath, path } = require('tnp-core');
|
|
3
|
+
var path = {
|
|
4
|
+
dist: path.join(crossPlatformPath(__dirname), '../dist/start.backend.js'),
|
|
5
|
+
bundle: path.join(crossPlatformPath(__dirname), '../start.backend.js')
|
|
6
|
+
}
|
|
7
|
+
var p = fse.existsSync(path.dist) ? path.dist : path.bundle;
|
|
8
|
+
global.globalSystemToolMode = true;
|
|
9
|
+
var run = require(p).run;
|
|
10
|
+
run(process.argv.slice(2));
|
|
11
|
+
|
package/browser/README.md
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
# MyLib
|
|
2
|
-
|
|
3
|
-
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.2.0.
|
|
4
|
-
|
|
5
|
-
## Code scaffolding
|
|
6
|
-
|
|
7
|
-
Run `ng generate component component-name --project my-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project my-lib`.
|
|
8
|
-
> Note: Don't forget to add `--project my-lib` or else it will be added to the default project in your `angular.json` file.
|
|
9
|
-
|
|
10
|
-
## Build
|
|
11
|
-
|
|
12
|
-
Run `ng build my-lib` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
13
|
-
|
|
14
|
-
## Publishing
|
|
15
|
-
|
|
16
|
-
After building your library with `ng build my-lib`, go to the dist folder `cd dist/my-lib` and run `npm publish`.
|
|
17
|
-
|
|
18
|
-
## Running unit tests
|
|
19
|
-
|
|
20
|
-
Run `ng test my-lib` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
21
|
-
|
|
22
|
-
## Further help
|
|
23
|
-
|
|
24
|
-
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
|
|
1
|
+
# MyLib
|
|
2
|
+
|
|
3
|
+
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.2.0.
|
|
4
|
+
|
|
5
|
+
## Code scaffolding
|
|
6
|
+
|
|
7
|
+
Run `ng generate component component-name --project my-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project my-lib`.
|
|
8
|
+
> Note: Don't forget to add `--project my-lib` or else it will be added to the default project in your `angular.json` file.
|
|
9
|
+
|
|
10
|
+
## Build
|
|
11
|
+
|
|
12
|
+
Run `ng build my-lib` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
13
|
+
|
|
14
|
+
## Publishing
|
|
15
|
+
|
|
16
|
+
After building your library with `ng build my-lib`, go to the dist folder `cd dist/my-lib` and run `npm publish`.
|
|
17
|
+
|
|
18
|
+
## Running unit tests
|
|
19
|
+
|
|
20
|
+
Run `ng test my-lib` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
21
|
+
|
|
22
|
+
## Further help
|
|
23
|
+
|
|
24
|
+
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './models';
|
|
2
|
+
/* */
|
|
3
|
+
/* */
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC92cG4tc3BsaXQvcHJvamVjdHMvdnBuLXNwbGl0L3NyYy9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFDekIsS0FBSztBQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21vZGVscyc7XG4vKiAqL1xuLyogKi9cbiAgIl19
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import { _, chalk } from 'tnp-core/browser';
|
|
2
|
+
import { Helpers } from 'tnp-helpers/browser';
|
|
3
|
+
export class HostForServer {
|
|
4
|
+
clone() {
|
|
5
|
+
return HostForServer.From(this);
|
|
6
|
+
}
|
|
7
|
+
static From(ipOrDomain, name = '', disabled = false) {
|
|
8
|
+
if (!ipOrDomain) {
|
|
9
|
+
return void 0;
|
|
10
|
+
}
|
|
11
|
+
if (_.isObject(ipOrDomain) && ipOrDomain instanceof HostForServer) {
|
|
12
|
+
const dataClone = _.cloneDeep(ipOrDomain._data);
|
|
13
|
+
dataClone.name = name && name.trim() !== '' ? name : dataClone.name;
|
|
14
|
+
if (!_.isBoolean(dataClone.disabled)) {
|
|
15
|
+
dataClone.disabled = disabled;
|
|
16
|
+
}
|
|
17
|
+
return new HostForServer(dataClone);
|
|
18
|
+
}
|
|
19
|
+
if (_.isString(ipOrDomain)) {
|
|
20
|
+
// @ts-ignore
|
|
21
|
+
const parsed = Helpers.urlParse(ipOrDomain);
|
|
22
|
+
if (parsed) {
|
|
23
|
+
ipOrDomain = parsed;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
if (_.isObject(ipOrDomain) && ipOrDomain instanceof URL) {
|
|
27
|
+
ipOrDomain = ipOrDomain; // @ts-ignore
|
|
28
|
+
if (Helpers.isValidIp(ipOrDomain?.host)) {
|
|
29
|
+
return new HostForServer({ ip: ipOrDomain.origin, name, disabled });
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
return new HostForServer({ domain: ipOrDomain.origin, name, disabled });
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
if (_.isString(ipOrDomain)) {
|
|
37
|
+
return new HostForServer({ ipOrDomain, name, disabled });
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
ipOrDomain.name =
|
|
41
|
+
name && name.trim() !== ''
|
|
42
|
+
? name
|
|
43
|
+
: 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
|
+
// @ts-ignore
|
|
57
|
+
if (Helpers.isValidIp(data.ipOrDomain)) {
|
|
58
|
+
data.ip = data.ipOrDomain;
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
data.domain = data.ipOrDomain;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
if (data && !data.ip) {
|
|
65
|
+
data.ip = '';
|
|
66
|
+
}
|
|
67
|
+
if (data && !data.domain) {
|
|
68
|
+
data.domain = '';
|
|
69
|
+
}
|
|
70
|
+
if (!data) {
|
|
71
|
+
data = {};
|
|
72
|
+
}
|
|
73
|
+
if (_.isString(data?.aliases)) {
|
|
74
|
+
// @ts-ignore
|
|
75
|
+
data.aliases = Helpers.strings.splitIfNeed(data.aliases);
|
|
76
|
+
}
|
|
77
|
+
this._data = data;
|
|
78
|
+
}
|
|
79
|
+
get ip() {
|
|
80
|
+
if (this.disabled) {
|
|
81
|
+
return '';
|
|
82
|
+
}
|
|
83
|
+
return this._data.ip;
|
|
84
|
+
}
|
|
85
|
+
set ip(newIpAddress) {
|
|
86
|
+
this._data.ip = newIpAddress;
|
|
87
|
+
}
|
|
88
|
+
get domain() {
|
|
89
|
+
if (this.disabled) {
|
|
90
|
+
return '';
|
|
91
|
+
}
|
|
92
|
+
return this._data.domain;
|
|
93
|
+
}
|
|
94
|
+
get aliases() {
|
|
95
|
+
if (this.disabled) {
|
|
96
|
+
return [];
|
|
97
|
+
}
|
|
98
|
+
if (_.isString(this._data.aliases)) {
|
|
99
|
+
return this._data.aliases.split(' ');
|
|
100
|
+
}
|
|
101
|
+
if (!_.isArray(this._data.aliases)) {
|
|
102
|
+
return [];
|
|
103
|
+
}
|
|
104
|
+
return this._data.aliases;
|
|
105
|
+
}
|
|
106
|
+
get firstAlias() {
|
|
107
|
+
return _.first(this.aliases);
|
|
108
|
+
}
|
|
109
|
+
get name() {
|
|
110
|
+
return this._data.name;
|
|
111
|
+
}
|
|
112
|
+
set name(v) {
|
|
113
|
+
this._data.name = v;
|
|
114
|
+
}
|
|
115
|
+
get originHostname() {
|
|
116
|
+
return this._data.originHostname;
|
|
117
|
+
}
|
|
118
|
+
set originHostname(v) {
|
|
119
|
+
this._data.originHostname = v;
|
|
120
|
+
}
|
|
121
|
+
get disabled() {
|
|
122
|
+
return this._data.disabled;
|
|
123
|
+
}
|
|
124
|
+
get isDefault() {
|
|
125
|
+
return this._data.isDefault;
|
|
126
|
+
}
|
|
127
|
+
get identifier() {
|
|
128
|
+
return _.kebabCase(this._data.name);
|
|
129
|
+
}
|
|
130
|
+
set disabled(v) {
|
|
131
|
+
this._data.disabled = v;
|
|
132
|
+
}
|
|
133
|
+
get environmentName() {
|
|
134
|
+
return this._data.environmentName || '';
|
|
135
|
+
}
|
|
136
|
+
get ipOrDomain() {
|
|
137
|
+
if (this.disabled) {
|
|
138
|
+
return '';
|
|
139
|
+
}
|
|
140
|
+
const res = (this.domain ? this.domain : this.ip) || '';
|
|
141
|
+
return res;
|
|
142
|
+
// return res.startsWith('http') ? res : `http://${res}`;
|
|
143
|
+
}
|
|
144
|
+
get ipOrFirstAlias() {
|
|
145
|
+
if (this.disabled) {
|
|
146
|
+
return '';
|
|
147
|
+
}
|
|
148
|
+
const res = (this.firstAlias ? this.firstAlias : this.ip) || '';
|
|
149
|
+
return res;
|
|
150
|
+
// return res.startsWith('http') ? res : `http://${res}`;
|
|
151
|
+
}
|
|
152
|
+
get hostname() {
|
|
153
|
+
// @ts-ignore
|
|
154
|
+
const h = Helpers.urlParse(this.ipOrFirstAlias, true);
|
|
155
|
+
return h ? h.hostname : void 0;
|
|
156
|
+
}
|
|
157
|
+
get hostnameFirstAlias() {
|
|
158
|
+
// @ts-ignore
|
|
159
|
+
const h = Helpers.urlParse(this.firstAlias, true);
|
|
160
|
+
return h ? h.hostname : void 0;
|
|
161
|
+
}
|
|
162
|
+
get hostnameIp() {
|
|
163
|
+
// @ts-ignore
|
|
164
|
+
const h = Helpers.urlParse(this.ip);
|
|
165
|
+
return h ? h.hostname : void 0;
|
|
166
|
+
}
|
|
167
|
+
get nameWithIpOrDomain() {
|
|
168
|
+
return chalk.underline(`${this.name} ${this.ipOrDomain}`);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdnBuLXNwbGl0L3Byb2plY3RzL3Zwbi1zcGxpdC9zcmMvbGliL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQW9DOUMsTUFBTSxPQUFPLGFBQWE7SUFHakIsS0FBSztRQUNWLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsTUFBTSxDQUFDLElBQUksQ0FDVCxVQU1LLEVBQ0wsSUFBSSxHQUFHLEVBQUUsRUFDVCxRQUFRLEdBQUcsS0FBSztRQUVoQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDaEIsT0FBTyxLQUFLLENBQUMsQ0FBQztRQUNoQixDQUFDO1FBQ0QsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsWUFBWSxhQUFhLEVBQUUsQ0FBQztZQUNsRSxNQUFNLFNBQVMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQXFCLENBQUM7WUFDcEUsU0FBUyxDQUFDLElBQUksR0FBRyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1lBQ3BFLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO2dCQUNyQyxTQUFTLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztZQUNoQyxDQUFDO1lBQ0QsT0FBTyxJQUFJLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0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QyxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQzVELENBQUM7Q0FJRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IF8sIGNoYWxrIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAndG5wLWhlbHBlcnMvYnJvd3Nlcic7XG5cbi8qKipcbiAqIEBkZXByZWNhdGVkXG4gKiB1c2Ugbm9ybWFsIG9iamVjdHNcbiAqL1xuZXhwb3J0IHR5cGUgRXRjSG9zdHMgPSB7IFtob3N0TmFtZSBpbiBzdHJpbmddOiBIb3N0Rm9yU2VydmVyIH07XG5cbi8qKipcbiAqIEBkZXByZWNhdGVkXG4gKiB1c2Ugbm9ybWFsIG9iamVjdHNcbiAqL1xuZXhwb3J0IHR5cGUgSUV0Y0hvc3RzID0ge1xuICBbaG9zdE5hbWUgaW4gc3RyaW5nXTogUGFydGlhbDxcbiAgICBQaWNrPEhvc3RGb3JTZXJ2ZXIsICdhbGlhc2VzJyB8ICdpcE9yRG9tYWluJyB8ICdlbnZpcm9ubWVudE5hbWUnPlxuICA+O1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBPcHRIb3N0Rm9yU2VydmVyIHtcbiAgaXA/OiBzdHJpbmc7XG4gIGRvbWFpbj86IHN0cmluZztcbiAgaXBPckRvbWFpbj86IHN0cmluZztcbiAgZW52aXJvbm1lbnROYW1lPzogc3RyaW5nO1xuICBhbGlhc2VzPzogc3RyaW5nW107XG4gIGlzRGVmYXVsdD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBpcCBmcm9tIGNvbW1hbmQ6IHZwbi1jbGkgMTkyLjE2OC4xLjEgMTkyLjE2OC4xLjJcbiAgICovXG4gIG9yaWdpbkhvc3RuYW1lPzogc3RyaW5nO1xuICBuYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogaWYgdHJ1ZSAtIGlwIGFuZCBkb21haW4gd2lsbCBvdXRwdXQgZW1wdHkgc3RyaW5nXG4gICAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBIb3N0Rm9yU2VydmVyIGltcGxlbWVudHMgT3B0SG9zdEZvclNlcnZlciB7XG4gIHByaXZhdGUgX2RhdGE6IE9wdEhvc3RGb3JTZXJ2ZXI7XG5cbiAgcHVibGljIGNsb25lKCkge1xuICAgIHJldHVybiBIb3N0Rm9yU2VydmVyLkZyb20odGhpcyk7XG4gIH1cblxuICBzdGF0aWMgRnJvbShcbiAgICBpcE9yRG9tYWluOlxuICAgICAgfCBzdHJpbmdcbiAgICAgIHwgVVJMXG4gICAgICB8IFBpY2s8XG4gICAgICAgICAgT3B0SG9zdEZvclNlcnZlciB8IEhvc3RGb3JTZXJ2ZXIsXG4gICAgICAgICAgJ2lwT3JEb21haW4nIHwgJ2FsaWFzZXMnIHwgJ29yaWdpbkhvc3RuYW1lJ1xuICAgICAgICA+LFxuICAgIG5hbWUgPSAnJyxcbiAgICBkaXNhYmxlZCA9IGZhbHNlLFxuICApOiBIb3N0Rm9yU2VydmVyIHtcbiAgICBpZiAoIWlwT3JEb21haW4pIHtcbiAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgfVxuICAgIGlmIChfLmlzT2JqZWN0KGlwT3JEb21haW4pICYmIGlwT3JEb21haW4gaW5zdGFuY2VvZiBIb3N0Rm9yU2VydmVyKSB7XG4gICAgICBjb25zdCBkYXRhQ2xvbmUgPSBfLmNsb25lRGVlcChpcE9yRG9tYWluLl9kYXRhKSBhcyBPcHRIb3N0Rm9yU2VydmVyO1xuICAgICAgZGF0YUNsb25lLm5hbWUgPSBuYW1lICYmIG5hbWUudHJpbSgpICE9PSAnJyA/IG5hbWUgOiBkYXRhQ2xvbmUubmFtZTtcbiAgICAgIGlmICghXy5pc0Jvb2xlYW4oZGF0YUNsb25lLmRpc2FibGVkKSkge1xuICAgICAgICBkYXRhQ2xvbmUuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBuZXcgSG9zdEZvclNlcnZlcihkYXRhQ2xvbmUpO1xuICAgIH1cbiAgICBpZiAoXy5pc1N0cmluZyhpcE9yRG9tYWluKSkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgY29uc3QgcGFyc2VkID0gSGVscGVycy51cmxQYXJzZShpcE9yRG9tYWluKTtcbiAgICAgIGlmIChwYXJzZWQpIHtcbiAgICAgICAgaXBPckRvbWFpbiA9IHBhcnNlZCBhcyBhbnk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKF8uaXNPYmplY3QoaXBPckRvbWFpbikgJiYgaXBPckRvbWFpbiBpbnN0YW5jZW9mIFVSTCkge1xuICAgICAgaXBPckRvbWFpbiA9IGlwT3JEb21haW4gYXMgVVJMOyAvLyBAdHMtaWdub3JlXG4gICAgICBpZiAoSGVscGVycy5pc1ZhbGlkSXAoaXBPckRvbWFpbj8uaG9zdCkpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBIb3N0Rm9yU2VydmVyKHsgaXA6IGlwT3JEb21haW4ub3JpZ2luLCBuYW1lLCBkaXNhYmxlZCB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgSG9zdEZvclNlcnZlcih7IGRvbWFpbjogaXBPckRvbWFpbi5vcmlnaW4sIG5hbWUsIGRpc2FibGVkIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoXy5pc1N0cmluZyhpcE9yRG9tYWluKSkge1xuICAgICAgICByZXR1cm4gbmV3IEhvc3RGb3JTZXJ2ZXIoeyBpcE9yRG9tYWluLCBuYW1lLCBkaXNhYmxlZCB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIChpcE9yRG9tYWluIGFzIE9wdEhvc3RGb3JTZXJ2ZXIpLm5hbWUgPVxuICAgICAgICAgIG5hbWUgJiYgbmFtZS50cmltKCkgIT09ICcnXG4gICAgICAgICAgICA/IG5hbWVcbiAgICAgICAgICAgIDogKGlwT3JEb21haW4gYXMgT3B0SG9zdEZvclNlcnZlcikubmFtZTtcbiAgICAgICAgaWYgKCFfLmlzQm9vbGVhbigoaXBPckRvbWFpbiBhcyBPcHRIb3N0Rm9yU2VydmVyKS5kaXNhYmxlZCkpIHtcbiAgICAgICAgICAoaXBPckRvbWFpbiBhcyBPcHRIb3N0Rm9yU2VydmVyKS5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXcgSG9zdEZvclNlcnZlcihpcE9yRG9tYWluIGFzIGFueSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGNvbnN0cnVjdG9yKGRhdGE6IE9wdEhvc3RGb3JTZXJ2ZXIpIHtcbiAgICBpZiAoZGF0YT8uaXBPckRvbWFpbikge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgaWYgKEhlbHBlcnMuaXNWYWxpZElwKGRhdGEuaXBPckRvbWFpbikpIHtcbiAgICAgICAgZGF0YS5pcCA9IGRhdGEuaXBPckRvbWFpbjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRhdGEuZG9tYWluID0gZGF0YS5pcE9yRG9tYWluO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoZGF0YSAmJiAhZGF0YS5pcCkge1xuICAgICAgZGF0YS5pcCA9ICcnO1xuICAgIH1cbiAgICBpZiAoZGF0YSAmJiAhZGF0YS5kb21haW4pIHtcbiAgICAgIGRhdGEuZG9tYWluID0gJyc7XG4gICAgfVxuICAgIGlmICghZGF0YSkge1xuICAgICAgZGF0YSA9IHt9O1xuICAgIH1cbiAgICBpZiAoXy5pc1N0cmluZyhkYXRhPy5hbGlhc2VzKSkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgZGF0YS5hbGlhc2VzID0gSGVscGVycy5zdHJpbmdzLnNwbGl0SWZOZWVkKGRhdGEuYWxpYXNlcyk7XG4gICAgfVxuICAgIHRoaXMuX2RhdGEgPSBkYXRhO1xuICB9XG4gIHB1YmxpYyBnZXQgaXAoKSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2RhdGEuaXA7XG4gIH1cbiAgcHVibGljIHNldCBpcChuZXdJcEFkZHJlc3M6IHN0cmluZykge1xuICAgIHRoaXMuX2RhdGEuaXAgPSBuZXdJcEFkZHJlc3M7XG4gIH1cbiAgcHVibGljIGdldCBkb21haW4oKSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2RhdGEuZG9tYWluO1xuICB9XG5cbiAgcHVibGljIGdldCBhbGlhc2VzKCk6IHN0cmluZ1tdIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICBpZiAoXy5pc1N0cmluZyh0aGlzLl9kYXRhLmFsaWFzZXMpKSB7XG4gICAgICByZXR1cm4gdGhpcy5fZGF0YS5hbGlhc2VzLnNwbGl0KCcgJyk7XG4gICAgfVxuICAgIGlmICghXy5pc0FycmF5KHRoaXMuX2RhdGEuYWxpYXNlcykpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2RhdGEuYWxpYXNlcztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZmlyc3RBbGlhcygpIHtcbiAgICByZXR1cm4gXy5maXJzdCh0aGlzLmFsaWFzZXMpO1xuICB9XG5cbiAgcHVibGljIGdldCBuYW1lKCkge1xuICAgIHJldHVybiB0aGlzLl9kYXRhLm5hbWU7XG4gIH1cbiAgcHVibGljIHNldCBuYW1lKHYpIHtcbiAgICB0aGlzLl9kYXRhLm5hbWUgPSB2O1xuICB9XG5cbiAgcHVibGljIGdldCBvcmlnaW5Ib3N0bmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YS5vcmlnaW5Ib3N0bmFtZTtcbiAgfVxuICBwdWJsaWMgc2V0IG9yaWdpbkhvc3RuYW1lKHYpIHtcbiAgICB0aGlzLl9kYXRhLm9yaWdpbkhvc3RuYW1lID0gdjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGEuZGlzYWJsZWQ7XG4gIH1cbiAgcHVibGljIGdldCBpc0RlZmF1bHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGEuaXNEZWZhdWx0O1xuICB9XG4gIHB1YmxpYyBnZXQgaWRlbnRpZmllcigpIHtcbiAgICByZXR1cm4gXy5rZWJhYkNhc2UodGhpcy5fZGF0YS5uYW1lKTtcbiAgfVxuICBwdWJsaWMgc2V0IGRpc2FibGVkKHYpIHtcbiAgICB0aGlzLl9kYXRhLmRpc2FibGVkID0gdjtcbiAgfVxuICBwdWJsaWMgZ2V0IGVudmlyb25tZW50TmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YS5lbnZpcm9ubWVudE5hbWUgfHwgJyc7XG4gIH1cbiAgcHVibGljIGdldCBpcE9yRG9tYWluKCkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIGNvbnN0IHJlcyA9ICh0aGlzLmRvbWFpbiA/IHRoaXMuZG9tYWluIDogdGhpcy5pcCkgfHwgJyc7XG4gICAgcmV0dXJuIHJlcztcbiAgICAvLyByZXR1cm4gcmVzLnN0YXJ0c1dpdGgoJ2h0dHAnKSA/IHJlcyA6IGBodHRwOi8vJHtyZXN9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXBPckZpcnN0QWxpYXMoKSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgY29uc3QgcmVzID0gKHRoaXMuZmlyc3RBbGlhcyA/IHRoaXMuZmlyc3RBbGlhcyA6IHRoaXMuaXApIHx8ICcnO1xuICAgIHJldHVybiByZXM7XG4gICAgLy8gcmV0dXJuIHJlcy5zdGFydHNXaXRoKCdodHRwJykgPyByZXMgOiBgaHR0cDovLyR7cmVzfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhvc3RuYW1lKCkge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBjb25zdCBoID0gSGVscGVycy51cmxQYXJzZSh0aGlzLmlwT3JGaXJzdEFsaWFzLCB0cnVlKTtcbiAgICByZXR1cm4gaCA/IGguaG9zdG5hbWUgOiB2b2lkIDA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhvc3RuYW1lRmlyc3RBbGlhcygpIHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgY29uc3QgaCA9IEhlbHBlcnMudXJsUGFyc2UodGhpcy5maXJzdEFsaWFzLCB0cnVlKTtcbiAgICByZXR1cm4gaCA/IGguaG9zdG5hbWUgOiB2b2lkIDA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhvc3RuYW1lSXAoKSB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGNvbnN0IGggPSBIZWxwZXJzLnVybFBhcnNlKHRoaXMuaXApO1xuICAgIHJldHVybiBoID8gaC5ob3N0bmFtZSA6IHZvaWQgMDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbmFtZVdpdGhJcE9yRG9tYWluKCkge1xuICAgIHJldHVybiBjaGFsay51bmRlcmxpbmUoYCR7dGhpcy5uYW1lfSAke3RoaXMuaXBPckRvbWFpbn1gKTtcbiAgfVxuICB0b1N0cmluZyA9ICgpID0+IHtcbiAgICByZXR1cm4gYFtzdHJpbmcgdmVyc2lvbl0gJHt0aGlzLm5hbWVXaXRoSXBPckRvbWFpbn1gO1xuICB9O1xufSJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './lib';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L3Zwbi1zcGxpdC9wcm9qZWN0cy92cG4tc3BsaXQvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxPQUFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYic7XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidnBuLXNwbGl0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdnBuLXNwbGl0L3Byb2plY3RzL3Zwbi1zcGxpdC9zcmMvdnBuLXNwbGl0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vpn-split.mjs","sources":["../../../tmp-libs-for-dist/vpn-split/projects/vpn-split/src/lib/models.ts","../../../tmp-libs-for-dist/vpn-split/projects/vpn-split/src/lib/index.ts","../../../tmp-libs-for-dist/vpn-split/projects/vpn-split/src/vpn-split.ts"],"sourcesContent":["import { _, chalk } from 'tnp-core/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 = {\n [hostName in string]: Partial<\n Pick<HostForServer, 'aliases' | 'ipOrDomain' | 'environmentName'>\n >;\n};\n\nexport interface OptHostForServer {\n ip?: string;\n domain?: string;\n ipOrDomain?: string;\n environmentName?: 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(\n ipOrDomain:\n | string\n | URL\n | Pick<\n OptHostForServer | HostForServer,\n 'ipOrDomain' | 'aliases' | 'originHostname'\n >,\n name = '',\n disabled = false,\n ): 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() !== '' ? name : dataClone.name;\n if (!_.isBoolean(dataClone.disabled)) {\n dataClone.disabled = disabled;\n }\n return new HostForServer(dataClone);\n }\n if (_.isString(ipOrDomain)) {\n // @ts-ignore\n const parsed = Helpers.urlParse(ipOrDomain);\n if (parsed) {\n ipOrDomain = parsed as any;\n }\n }\n\n if (_.isObject(ipOrDomain) && ipOrDomain instanceof URL) {\n ipOrDomain = ipOrDomain as URL; // @ts-ignore\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 =\n name && name.trim() !== ''\n ? name\n : (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 constructor(data: OptHostForServer) {\n if (data?.ipOrDomain) {\n // @ts-ignore\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 // @ts-ignore\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 environmentName() {\n return this._data.environmentName || '';\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 // return res.startsWith('http') ? res : `http://${res}`;\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 // return res.startsWith('http') ? res : `http://${res}`;\n }\n\n public get hostname() {\n // @ts-ignore\n const h = Helpers.urlParse(this.ipOrFirstAlias, true);\n return h ? h.hostname : void 0;\n }\n\n public get hostnameFirstAlias() {\n // @ts-ignore\n const h = Helpers.urlParse(this.firstAlias, true);\n return h ? h.hostname : void 0;\n }\n\n public get hostnameIp() {\n // @ts-ignore\n const h = Helpers.urlParse(this.ip);\n return h ? h.hostname : void 0;\n }\n\n public get nameWithIpOrDomain() {\n return chalk.underline(`${this.name} ${this.ipOrDomain}`);\n }\n toString = () => {\n return `[string version] ${this.nameWithIpOrDomain}`;\n };\n}\n","export * from './models';\n/* */\n/* */\n \n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vpn-split.mjs","sources":["../../../tmp-libs-for-dist/vpn-split/projects/vpn-split/src/lib/models.ts","../../../tmp-libs-for-dist/vpn-split/projects/vpn-split/src/lib/index.ts","../../../tmp-libs-for-dist/vpn-split/projects/vpn-split/src/vpn-split.ts"],"sourcesContent":["import { _, chalk } from 'tnp-core/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 = {\n [hostName in string]: Partial<\n Pick<HostForServer, 'aliases' | 'ipOrDomain' | 'environmentName'>\n >;\n};\n\nexport interface OptHostForServer {\n ip?: string;\n domain?: string;\n ipOrDomain?: string;\n environmentName?: 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(\n ipOrDomain:\n | string\n | URL\n | Pick<\n OptHostForServer | HostForServer,\n 'ipOrDomain' | 'aliases' | 'originHostname'\n >,\n name = '',\n disabled = false,\n ): 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() !== '' ? name : dataClone.name;\n if (!_.isBoolean(dataClone.disabled)) {\n dataClone.disabled = disabled;\n }\n return new HostForServer(dataClone);\n }\n if (_.isString(ipOrDomain)) {\n // @ts-ignore\n const parsed = Helpers.urlParse(ipOrDomain);\n if (parsed) {\n ipOrDomain = parsed as any;\n }\n }\n\n if (_.isObject(ipOrDomain) && ipOrDomain instanceof URL) {\n ipOrDomain = ipOrDomain as URL; // @ts-ignore\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 =\n name && name.trim() !== ''\n ? name\n : (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 constructor(data: OptHostForServer) {\n if (data?.ipOrDomain) {\n // @ts-ignore\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 // @ts-ignore\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 environmentName() {\n return this._data.environmentName || '';\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 // return res.startsWith('http') ? res : `http://${res}`;\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 // return res.startsWith('http') ? res : `http://${res}`;\n }\n\n public get hostname() {\n // @ts-ignore\n const h = Helpers.urlParse(this.ipOrFirstAlias, true);\n return h ? h.hostname : void 0;\n }\n\n public get hostnameFirstAlias() {\n // @ts-ignore\n const h = Helpers.urlParse(this.firstAlias, true);\n return h ? h.hostname : void 0;\n }\n\n public get hostnameIp() {\n // @ts-ignore\n const h = Helpers.urlParse(this.ip);\n return h ? h.hostname : void 0;\n }\n\n public get nameWithIpOrDomain() {\n return chalk.underline(`${this.name} ${this.ipOrDomain}`);\n }\n toString = () => {\n return `[string version] ${this.nameWithIpOrDomain}`;\n };\n}","export * from './models';\n/* */\n/* */\n ","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
package/browser/package.json
CHANGED
package/client/README.md
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
# MyLib
|
|
2
|
-
|
|
3
|
-
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.2.0.
|
|
4
|
-
|
|
5
|
-
## Code scaffolding
|
|
6
|
-
|
|
7
|
-
Run `ng generate component component-name --project my-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project my-lib`.
|
|
8
|
-
> Note: Don't forget to add `--project my-lib` or else it will be added to the default project in your `angular.json` file.
|
|
9
|
-
|
|
10
|
-
## Build
|
|
11
|
-
|
|
12
|
-
Run `ng build my-lib` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
13
|
-
|
|
14
|
-
## Publishing
|
|
15
|
-
|
|
16
|
-
After building your library with `ng build my-lib`, go to the dist folder `cd dist/my-lib` and run `npm publish`.
|
|
17
|
-
|
|
18
|
-
## Running unit tests
|
|
19
|
-
|
|
20
|
-
Run `ng test my-lib` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
21
|
-
|
|
22
|
-
## Further help
|
|
23
|
-
|
|
24
|
-
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
|
|
1
|
+
# MyLib
|
|
2
|
+
|
|
3
|
+
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.2.0.
|
|
4
|
+
|
|
5
|
+
## Code scaffolding
|
|
6
|
+
|
|
7
|
+
Run `ng generate component component-name --project my-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project my-lib`.
|
|
8
|
+
> Note: Don't forget to add `--project my-lib` or else it will be added to the default project in your `angular.json` file.
|
|
9
|
+
|
|
10
|
+
## Build
|
|
11
|
+
|
|
12
|
+
Run `ng build my-lib` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
13
|
+
|
|
14
|
+
## Publishing
|
|
15
|
+
|
|
16
|
+
After building your library with `ng build my-lib`, go to the dist folder `cd dist/my-lib` and run `npm publish`.
|
|
17
|
+
|
|
18
|
+
## Running unit tests
|
|
19
|
+
|
|
20
|
+
Run `ng test my-lib` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
21
|
+
|
|
22
|
+
## Further help
|
|
23
|
+
|
|
24
|
+
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './models';
|
|
2
|
+
/* */
|
|
3
|
+
/* */
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC92cG4tc3BsaXQvcHJvamVjdHMvdnBuLXNwbGl0L3NyYy9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFDekIsS0FBSztBQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21vZGVscyc7XG4vKiAqL1xuLyogKi9cbiAgIl19
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import { _, chalk } from 'tnp-core/browser';
|
|
2
|
+
import { Helpers } from 'tnp-helpers/browser';
|
|
3
|
+
export class HostForServer {
|
|
4
|
+
clone() {
|
|
5
|
+
return HostForServer.From(this);
|
|
6
|
+
}
|
|
7
|
+
static From(ipOrDomain, name = '', disabled = false) {
|
|
8
|
+
if (!ipOrDomain) {
|
|
9
|
+
return void 0;
|
|
10
|
+
}
|
|
11
|
+
if (_.isObject(ipOrDomain) && ipOrDomain instanceof HostForServer) {
|
|
12
|
+
const dataClone = _.cloneDeep(ipOrDomain._data);
|
|
13
|
+
dataClone.name = name && name.trim() !== '' ? name : dataClone.name;
|
|
14
|
+
if (!_.isBoolean(dataClone.disabled)) {
|
|
15
|
+
dataClone.disabled = disabled;
|
|
16
|
+
}
|
|
17
|
+
return new HostForServer(dataClone);
|
|
18
|
+
}
|
|
19
|
+
if (_.isString(ipOrDomain)) {
|
|
20
|
+
// @ts-ignore
|
|
21
|
+
const parsed = Helpers.urlParse(ipOrDomain);
|
|
22
|
+
if (parsed) {
|
|
23
|
+
ipOrDomain = parsed;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
if (_.isObject(ipOrDomain) && ipOrDomain instanceof URL) {
|
|
27
|
+
ipOrDomain = ipOrDomain; // @ts-ignore
|
|
28
|
+
if (Helpers.isValidIp(ipOrDomain?.host)) {
|
|
29
|
+
return new HostForServer({ ip: ipOrDomain.origin, name, disabled });
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
return new HostForServer({ domain: ipOrDomain.origin, name, disabled });
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
if (_.isString(ipOrDomain)) {
|
|
37
|
+
return new HostForServer({ ipOrDomain, name, disabled });
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
ipOrDomain.name =
|
|
41
|
+
name && name.trim() !== ''
|
|
42
|
+
? name
|
|
43
|
+
: 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
|
+
// @ts-ignore
|
|
57
|
+
if (Helpers.isValidIp(data.ipOrDomain)) {
|
|
58
|
+
data.ip = data.ipOrDomain;
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
data.domain = data.ipOrDomain;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
if (data && !data.ip) {
|
|
65
|
+
data.ip = '';
|
|
66
|
+
}
|
|
67
|
+
if (data && !data.domain) {
|
|
68
|
+
data.domain = '';
|
|
69
|
+
}
|
|
70
|
+
if (!data) {
|
|
71
|
+
data = {};
|
|
72
|
+
}
|
|
73
|
+
if (_.isString(data?.aliases)) {
|
|
74
|
+
// @ts-ignore
|
|
75
|
+
data.aliases = Helpers.strings.splitIfNeed(data.aliases);
|
|
76
|
+
}
|
|
77
|
+
this._data = data;
|
|
78
|
+
}
|
|
79
|
+
get ip() {
|
|
80
|
+
if (this.disabled) {
|
|
81
|
+
return '';
|
|
82
|
+
}
|
|
83
|
+
return this._data.ip;
|
|
84
|
+
}
|
|
85
|
+
set ip(newIpAddress) {
|
|
86
|
+
this._data.ip = newIpAddress;
|
|
87
|
+
}
|
|
88
|
+
get domain() {
|
|
89
|
+
if (this.disabled) {
|
|
90
|
+
return '';
|
|
91
|
+
}
|
|
92
|
+
return this._data.domain;
|
|
93
|
+
}
|
|
94
|
+
get aliases() {
|
|
95
|
+
if (this.disabled) {
|
|
96
|
+
return [];
|
|
97
|
+
}
|
|
98
|
+
if (_.isString(this._data.aliases)) {
|
|
99
|
+
return this._data.aliases.split(' ');
|
|
100
|
+
}
|
|
101
|
+
if (!_.isArray(this._data.aliases)) {
|
|
102
|
+
return [];
|
|
103
|
+
}
|
|
104
|
+
return this._data.aliases;
|
|
105
|
+
}
|
|
106
|
+
get firstAlias() {
|
|
107
|
+
return _.first(this.aliases);
|
|
108
|
+
}
|
|
109
|
+
get name() {
|
|
110
|
+
return this._data.name;
|
|
111
|
+
}
|
|
112
|
+
set name(v) {
|
|
113
|
+
this._data.name = v;
|
|
114
|
+
}
|
|
115
|
+
get originHostname() {
|
|
116
|
+
return this._data.originHostname;
|
|
117
|
+
}
|
|
118
|
+
set originHostname(v) {
|
|
119
|
+
this._data.originHostname = v;
|
|
120
|
+
}
|
|
121
|
+
get disabled() {
|
|
122
|
+
return this._data.disabled;
|
|
123
|
+
}
|
|
124
|
+
get isDefault() {
|
|
125
|
+
return this._data.isDefault;
|
|
126
|
+
}
|
|
127
|
+
get identifier() {
|
|
128
|
+
return _.kebabCase(this._data.name);
|
|
129
|
+
}
|
|
130
|
+
set disabled(v) {
|
|
131
|
+
this._data.disabled = v;
|
|
132
|
+
}
|
|
133
|
+
get environmentName() {
|
|
134
|
+
return this._data.environmentName || '';
|
|
135
|
+
}
|
|
136
|
+
get ipOrDomain() {
|
|
137
|
+
if (this.disabled) {
|
|
138
|
+
return '';
|
|
139
|
+
}
|
|
140
|
+
const res = (this.domain ? this.domain : this.ip) || '';
|
|
141
|
+
return res;
|
|
142
|
+
// return res.startsWith('http') ? res : `http://${res}`;
|
|
143
|
+
}
|
|
144
|
+
get ipOrFirstAlias() {
|
|
145
|
+
if (this.disabled) {
|
|
146
|
+
return '';
|
|
147
|
+
}
|
|
148
|
+
const res = (this.firstAlias ? this.firstAlias : this.ip) || '';
|
|
149
|
+
return res;
|
|
150
|
+
// return res.startsWith('http') ? res : `http://${res}`;
|
|
151
|
+
}
|
|
152
|
+
get hostname() {
|
|
153
|
+
// @ts-ignore
|
|
154
|
+
const h = Helpers.urlParse(this.ipOrFirstAlias, true);
|
|
155
|
+
return h ? h.hostname : void 0;
|
|
156
|
+
}
|
|
157
|
+
get hostnameFirstAlias() {
|
|
158
|
+
// @ts-ignore
|
|
159
|
+
const h = Helpers.urlParse(this.firstAlias, true);
|
|
160
|
+
return h ? h.hostname : void 0;
|
|
161
|
+
}
|
|
162
|
+
get hostnameIp() {
|
|
163
|
+
// @ts-ignore
|
|
164
|
+
const h = Helpers.urlParse(this.ip);
|
|
165
|
+
return h ? h.hostname : void 0;
|
|
166
|
+
}
|
|
167
|
+
get nameWithIpOrDomain() {
|
|
168
|
+
return chalk.underline(`${this.name} ${this.ipOrDomain}`);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdnBuLXNwbGl0L3Byb2plY3RzL3Zwbi1zcGxpdC9zcmMvbGliL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQW9DOUMsTUFBTSxPQUFPLGFBQWE7SUFHakIsS0FBSztRQUNWLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsTUFBTSxDQUFDLElBQUksQ0FDVCxVQU1LLEVBQ0wsSUFBSSxHQUFHLEVBQUUsRUFDVCxRQUFRLEdBQUcsS0FBSztRQUVoQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDaEIsT0FBTyxLQUFLLENBQUMsQ0FBQztRQUNoQixDQUFDO1FBQ0QsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsWUFBWSxhQUFhLEVBQUUsQ0FBQztZQUNsRSxNQUFNLFNBQVMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQXFCLENBQUM7WUFDcEUsU0FBUyxDQUFDLElBQUksR0FBRyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1lBQ3BFLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO2dCQUNyQyxTQUFTLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztZQUNoQyxDQUFDO1lBQ0QsT0FBTyxJQUFJLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0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QyxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQzVELENBQUM7Q0FJRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IF8sIGNoYWxrIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAndG5wLWhlbHBlcnMvYnJvd3Nlcic7XG5cbi8qKipcbiAqIEBkZXByZWNhdGVkXG4gKiB1c2Ugbm9ybWFsIG9iamVjdHNcbiAqL1xuZXhwb3J0IHR5cGUgRXRjSG9zdHMgPSB7IFtob3N0TmFtZSBpbiBzdHJpbmddOiBIb3N0Rm9yU2VydmVyIH07XG5cbi8qKipcbiAqIEBkZXByZWNhdGVkXG4gKiB1c2Ugbm9ybWFsIG9iamVjdHNcbiAqL1xuZXhwb3J0IHR5cGUgSUV0Y0hvc3RzID0ge1xuICBbaG9zdE5hbWUgaW4gc3RyaW5nXTogUGFydGlhbDxcbiAgICBQaWNrPEhvc3RGb3JTZXJ2ZXIsICdhbGlhc2VzJyB8ICdpcE9yRG9tYWluJyB8ICdlbnZpcm9ubWVudE5hbWUnPlxuICA+O1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBPcHRIb3N0Rm9yU2VydmVyIHtcbiAgaXA/OiBzdHJpbmc7XG4gIGRvbWFpbj86IHN0cmluZztcbiAgaXBPckRvbWFpbj86IHN0cmluZztcbiAgZW52aXJvbm1lbnROYW1lPzogc3RyaW5nO1xuICBhbGlhc2VzPzogc3RyaW5nW107XG4gIGlzRGVmYXVsdD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBpcCBmcm9tIGNvbW1hbmQ6IHZwbi1jbGkgMTkyLjE2OC4xLjEgMTkyLjE2OC4xLjJcbiAgICovXG4gIG9yaWdpbkhvc3RuYW1lPzogc3RyaW5nO1xuICBuYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogaWYgdHJ1ZSAtIGlwIGFuZCBkb21haW4gd2lsbCBvdXRwdXQgZW1wdHkgc3RyaW5nXG4gICAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBIb3N0Rm9yU2VydmVyIGltcGxlbWVudHMgT3B0SG9zdEZvclNlcnZlciB7XG4gIHByaXZhdGUgX2RhdGE6IE9wdEhvc3RGb3JTZXJ2ZXI7XG5cbiAgcHVibGljIGNsb25lKCkge1xuICAgIHJldHVybiBIb3N0Rm9yU2VydmVyLkZyb20odGhpcyk7XG4gIH1cblxuICBzdGF0aWMgRnJvbShcbiAgICBpcE9yRG9tYWluOlxuICAgICAgfCBzdHJpbmdcbiAgICAgIHwgVVJMXG4gICAgICB8IFBpY2s8XG4gICAgICAgICAgT3B0SG9zdEZvclNlcnZlciB8IEhvc3RGb3JTZXJ2ZXIsXG4gICAgICAgICAgJ2lwT3JEb21haW4nIHwgJ2FsaWFzZXMnIHwgJ29yaWdpbkhvc3RuYW1lJ1xuICAgICAgICA+LFxuICAgIG5hbWUgPSAnJyxcbiAgICBkaXNhYmxlZCA9IGZhbHNlLFxuICApOiBIb3N0Rm9yU2VydmVyIHtcbiAgICBpZiAoIWlwT3JEb21haW4pIHtcbiAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgfVxuICAgIGlmIChfLmlzT2JqZWN0KGlwT3JEb21haW4pICYmIGlwT3JEb21haW4gaW5zdGFuY2VvZiBIb3N0Rm9yU2VydmVyKSB7XG4gICAgICBjb25zdCBkYXRhQ2xvbmUgPSBfLmNsb25lRGVlcChpcE9yRG9tYWluLl9kYXRhKSBhcyBPcHRIb3N0Rm9yU2VydmVyO1xuICAgICAgZGF0YUNsb25lLm5hbWUgPSBuYW1lICYmIG5hbWUudHJpbSgpICE9PSAnJyA/IG5hbWUgOiBkYXRhQ2xvbmUubmFtZTtcbiAgICAgIGlmICghXy5pc0Jvb2xlYW4oZGF0YUNsb25lLmRpc2FibGVkKSkge1xuICAgICAgICBkYXRhQ2xvbmUuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBuZXcgSG9zdEZvclNlcnZlcihkYXRhQ2xvbmUpO1xuICAgIH1cbiAgICBpZiAoXy5pc1N0cmluZyhpcE9yRG9tYWluKSkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgY29uc3QgcGFyc2VkID0gSGVscGVycy51cmxQYXJzZShpcE9yRG9tYWluKTtcbiAgICAgIGlmIChwYXJzZWQpIHtcbiAgICAgICAgaXBPckRvbWFpbiA9IHBhcnNlZCBhcyBhbnk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKF8uaXNPYmplY3QoaXBPckRvbWFpbikgJiYgaXBPckRvbWFpbiBpbnN0YW5jZW9mIFVSTCkge1xuICAgICAgaXBPckRvbWFpbiA9IGlwT3JEb21haW4gYXMgVVJMOyAvLyBAdHMtaWdub3JlXG4gICAgICBpZiAoSGVscGVycy5pc1ZhbGlkSXAoaXBPckRvbWFpbj8uaG9zdCkpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBIb3N0Rm9yU2VydmVyKHsgaXA6IGlwT3JEb21haW4ub3JpZ2luLCBuYW1lLCBkaXNhYmxlZCB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgSG9zdEZvclNlcnZlcih7IGRvbWFpbjogaXBPckRvbWFpbi5vcmlnaW4sIG5hbWUsIGRpc2FibGVkIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoXy5pc1N0cmluZyhpcE9yRG9tYWluKSkge1xuICAgICAgICByZXR1cm4gbmV3IEhvc3RGb3JTZXJ2ZXIoeyBpcE9yRG9tYWluLCBuYW1lLCBkaXNhYmxlZCB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIChpcE9yRG9tYWluIGFzIE9wdEhvc3RGb3JTZXJ2ZXIpLm5hbWUgPVxuICAgICAgICAgIG5hbWUgJiYgbmFtZS50cmltKCkgIT09ICcnXG4gICAgICAgICAgICA/IG5hbWVcbiAgICAgICAgICAgIDogKGlwT3JEb21haW4gYXMgT3B0SG9zdEZvclNlcnZlcikubmFtZTtcbiAgICAgICAgaWYgKCFfLmlzQm9vbGVhbigoaXBPckRvbWFpbiBhcyBPcHRIb3N0Rm9yU2VydmVyKS5kaXNhYmxlZCkpIHtcbiAgICAgICAgICAoaXBPckRvbWFpbiBhcyBPcHRIb3N0Rm9yU2VydmVyKS5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXcgSG9zdEZvclNlcnZlcihpcE9yRG9tYWluIGFzIGFueSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGNvbnN0cnVjdG9yKGRhdGE6IE9wdEhvc3RGb3JTZXJ2ZXIpIHtcbiAgICBpZiAoZGF0YT8uaXBPckRvbWFpbikge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgaWYgKEhlbHBlcnMuaXNWYWxpZElwKGRhdGEuaXBPckRvbWFpbikpIHtcbiAgICAgICAgZGF0YS5pcCA9IGRhdGEuaXBPckRvbWFpbjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRhdGEuZG9tYWluID0gZGF0YS5pcE9yRG9tYWluO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoZGF0YSAmJiAhZGF0YS5pcCkge1xuICAgICAgZGF0YS5pcCA9ICcnO1xuICAgIH1cbiAgICBpZiAoZGF0YSAmJiAhZGF0YS5kb21haW4pIHtcbiAgICAgIGRhdGEuZG9tYWluID0gJyc7XG4gICAgfVxuICAgIGlmICghZGF0YSkge1xuICAgICAgZGF0YSA9IHt9O1xuICAgIH1cbiAgICBpZiAoXy5pc1N0cmluZyhkYXRhPy5hbGlhc2VzKSkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgZGF0YS5hbGlhc2VzID0gSGVscGVycy5zdHJpbmdzLnNwbGl0SWZOZWVkKGRhdGEuYWxpYXNlcyk7XG4gICAgfVxuICAgIHRoaXMuX2RhdGEgPSBkYXRhO1xuICB9XG4gIHB1YmxpYyBnZXQgaXAoKSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2RhdGEuaXA7XG4gIH1cbiAgcHVibGljIHNldCBpcChuZXdJcEFkZHJlc3M6IHN0cmluZykge1xuICAgIHRoaXMuX2RhdGEuaXAgPSBuZXdJcEFkZHJlc3M7XG4gIH1cbiAgcHVibGljIGdldCBkb21haW4oKSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2RhdGEuZG9tYWluO1xuICB9XG5cbiAgcHVibGljIGdldCBhbGlhc2VzKCk6IHN0cmluZ1tdIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICBpZiAoXy5pc1N0cmluZyh0aGlzLl9kYXRhLmFsaWFzZXMpKSB7XG4gICAgICByZXR1cm4gdGhpcy5fZGF0YS5hbGlhc2VzLnNwbGl0KCcgJyk7XG4gICAgfVxuICAgIGlmICghXy5pc0FycmF5KHRoaXMuX2RhdGEuYWxpYXNlcykpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2RhdGEuYWxpYXNlcztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZmlyc3RBbGlhcygpIHtcbiAgICByZXR1cm4gXy5maXJzdCh0aGlzLmFsaWFzZXMpO1xuICB9XG5cbiAgcHVibGljIGdldCBuYW1lKCkge1xuICAgIHJldHVybiB0aGlzLl9kYXRhLm5hbWU7XG4gIH1cbiAgcHVibGljIHNldCBuYW1lKHYpIHtcbiAgICB0aGlzLl9kYXRhLm5hbWUgPSB2O1xuICB9XG5cbiAgcHVibGljIGdldCBvcmlnaW5Ib3N0bmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YS5vcmlnaW5Ib3N0bmFtZTtcbiAgfVxuICBwdWJsaWMgc2V0IG9yaWdpbkhvc3RuYW1lKHYpIHtcbiAgICB0aGlzLl9kYXRhLm9yaWdpbkhvc3RuYW1lID0gdjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGEuZGlzYWJsZWQ7XG4gIH1cbiAgcHVibGljIGdldCBpc0RlZmF1bHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGEuaXNEZWZhdWx0O1xuICB9XG4gIHB1YmxpYyBnZXQgaWRlbnRpZmllcigpIHtcbiAgICByZXR1cm4gXy5rZWJhYkNhc2UodGhpcy5fZGF0YS5uYW1lKTtcbiAgfVxuICBwdWJsaWMgc2V0IGRpc2FibGVkKHYpIHtcbiAgICB0aGlzLl9kYXRhLmRpc2FibGVkID0gdjtcbiAgfVxuICBwdWJsaWMgZ2V0IGVudmlyb25tZW50TmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YS5lbnZpcm9ubWVudE5hbWUgfHwgJyc7XG4gIH1cbiAgcHVibGljIGdldCBpcE9yRG9tYWluKCkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIGNvbnN0IHJlcyA9ICh0aGlzLmRvbWFpbiA/IHRoaXMuZG9tYWluIDogdGhpcy5pcCkgfHwgJyc7XG4gICAgcmV0dXJuIHJlcztcbiAgICAvLyByZXR1cm4gcmVzLnN0YXJ0c1dpdGgoJ2h0dHAnKSA/IHJlcyA6IGBodHRwOi8vJHtyZXN9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXBPckZpcnN0QWxpYXMoKSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgY29uc3QgcmVzID0gKHRoaXMuZmlyc3RBbGlhcyA/IHRoaXMuZmlyc3RBbGlhcyA6IHRoaXMuaXApIHx8ICcnO1xuICAgIHJldHVybiByZXM7XG4gICAgLy8gcmV0dXJuIHJlcy5zdGFydHNXaXRoKCdodHRwJykgPyByZXMgOiBgaHR0cDovLyR7cmVzfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhvc3RuYW1lKCkge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBjb25zdCBoID0gSGVscGVycy51cmxQYXJzZSh0aGlzLmlwT3JGaXJzdEFsaWFzLCB0cnVlKTtcbiAgICByZXR1cm4gaCA/IGguaG9zdG5hbWUgOiB2b2lkIDA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhvc3RuYW1lRmlyc3RBbGlhcygpIHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgY29uc3QgaCA9IEhlbHBlcnMudXJsUGFyc2UodGhpcy5maXJzdEFsaWFzLCB0cnVlKTtcbiAgICByZXR1cm4gaCA/IGguaG9zdG5hbWUgOiB2b2lkIDA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhvc3RuYW1lSXAoKSB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGNvbnN0IGggPSBIZWxwZXJzLnVybFBhcnNlKHRoaXMuaXApO1xuICAgIHJldHVybiBoID8gaC5ob3N0bmFtZSA6IHZvaWQgMDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbmFtZVdpdGhJcE9yRG9tYWluKCkge1xuICAgIHJldHVybiBjaGFsay51bmRlcmxpbmUoYCR7dGhpcy5uYW1lfSAke3RoaXMuaXBPckRvbWFpbn1gKTtcbiAgfVxuICB0b1N0cmluZyA9ICgpID0+IHtcbiAgICByZXR1cm4gYFtzdHJpbmcgdmVyc2lvbl0gJHt0aGlzLm5hbWVXaXRoSXBPckRvbWFpbn1gO1xuICB9O1xufSJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './lib';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L3Zwbi1zcGxpdC9wcm9qZWN0cy92cG4tc3BsaXQvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxPQUFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYic7XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidnBuLXNwbGl0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdnBuLXNwbGl0L3Byb2plY3RzL3Zwbi1zcGxpdC9zcmMvdnBuLXNwbGl0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
|