@selfcommunity/utils 0.1.7 → 0.1.8
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/lib/{types → cjs}/index.d.ts +2 -2
- package/lib/cjs/index.d.ts.map +1 -0
- package/lib/cjs/index.js +35 -50
- package/lib/cjs/index.js.map +1 -0
- package/lib/{types → cjs}/utils/browser.d.ts +0 -0
- package/lib/{types → cjs}/utils/browser.d.ts.map +0 -0
- package/lib/cjs/utils/browser.js +62 -78
- package/lib/cjs/utils/browser.js.map +1 -0
- package/lib/{types → cjs}/utils/logger.d.ts +0 -0
- package/lib/{types → cjs}/utils/logger.d.ts.map +0 -0
- package/lib/cjs/utils/logger.js +18 -25
- package/lib/cjs/utils/logger.js.map +1 -0
- package/lib/{types → cjs}/utils/object.d.ts +0 -0
- package/lib/{types → cjs}/utils/object.d.ts.map +0 -0
- package/lib/cjs/utils/object.js +23 -29
- package/lib/cjs/utils/object.js.map +1 -0
- package/lib/{types → cjs}/utils/string.d.ts +0 -0
- package/lib/{types → cjs}/utils/string.d.ts.map +0 -0
- package/lib/cjs/utils/string.js +56 -65
- package/lib/cjs/utils/string.js.map +1 -0
- package/lib/{types → cjs}/utils/url.d.ts +0 -0
- package/lib/{types → cjs}/utils/url.d.ts.map +0 -0
- package/lib/cjs/utils/url.js +52 -77
- package/lib/cjs/utils/url.js.map +1 -0
- package/lib/{types → cjs}/utils/websocket.d.ts +0 -0
- package/lib/{types → cjs}/utils/websocket.d.ts.map +0 -0
- package/lib/cjs/utils/websocket.js +221 -284
- package/lib/cjs/utils/websocket.js.map +1 -0
- package/lib/cjs/utils/window.d.ts +5 -0
- package/lib/cjs/utils/window.d.ts.map +1 -0
- package/lib/cjs/utils/window.js +34 -32
- package/lib/cjs/utils/window.js.map +1 -0
- package/lib/esm/index.d.ts +12 -0
- package/lib/esm/index.d.ts.map +1 -0
- package/lib/esm/index.js +12 -51
- package/lib/esm/index.js.map +1 -0
- package/lib/esm/utils/browser.d.ts +9 -0
- package/lib/esm/utils/browser.d.ts.map +1 -0
- package/lib/esm/utils/browser.js +61 -81
- package/lib/esm/utils/browser.js.map +1 -0
- package/lib/esm/utils/logger.d.ts +11 -0
- package/lib/esm/utils/logger.d.ts.map +1 -0
- package/lib/esm/utils/logger.js +17 -28
- package/lib/esm/utils/logger.js.map +1 -0
- package/lib/esm/utils/object.d.ts +13 -0
- package/lib/esm/utils/object.d.ts.map +1 -0
- package/lib/esm/utils/object.js +21 -32
- package/lib/esm/utils/object.js.map +1 -0
- package/lib/esm/utils/string.d.ts +43 -0
- package/lib/esm/utils/string.d.ts.map +1 -0
- package/lib/esm/utils/string.js +54 -73
- package/lib/esm/utils/string.js.map +1 -0
- package/lib/esm/utils/url.d.ts +33 -0
- package/lib/esm/utils/url.d.ts.map +1 -0
- package/lib/esm/utils/url.js +46 -80
- package/lib/esm/utils/url.js.map +1 -0
- package/lib/esm/utils/websocket.d.ts +177 -0
- package/lib/esm/utils/websocket.d.ts.map +1 -0
- package/lib/esm/utils/websocket.js +220 -286
- package/lib/esm/utils/websocket.js.map +1 -0
- package/lib/esm/utils/window.d.ts +5 -0
- package/lib/esm/utils/window.d.ts.map +1 -0
- package/lib/esm/utils/window.js +31 -36
- package/lib/esm/utils/window.js.map +1 -0
- package/lib/umd/utils.js +1 -1
- package/lib/umd/utils.js.map +1 -1
- package/package.json +5 -7
- package/lib/cjs/index.d.js +0 -2
- package/lib/esm/index.d.js +0 -2
- package/lib/types/index.d.ts.map +0 -1
- package/lib/types/tsconfig.build.tsbuildinfo +0 -1
package/lib/cjs/utils/url.js
CHANGED
|
@@ -1,112 +1,87 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.
|
|
4
|
-
exports.appendURLSearchParams = appendURLSearchParams;
|
|
5
|
-
exports.urlReplacer = exports.urlB64ToUint8Array = exports.isValidUrls = exports.isValidUrl = exports.getDomain = void 0;
|
|
6
|
-
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.urlB64ToUint8Array = exports.appendURLSearchParams = exports.isValidUrls = exports.isValidUrl = exports.getDomain = exports.urlReplacer = void 0;
|
|
7
4
|
/**
|
|
8
5
|
* Utility Url Replacer
|
|
9
6
|
* @param path
|
|
10
7
|
*/
|
|
11
|
-
const urlReplacer = path => {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
return
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
return params => replacer(path, params);
|
|
8
|
+
const urlReplacer = (path) => {
|
|
9
|
+
const replacer = function (tpl, data) {
|
|
10
|
+
const re = /\$\(([^)]+)?\)/g;
|
|
11
|
+
let match = re.exec(tpl);
|
|
12
|
+
while (match) {
|
|
13
|
+
tpl = tpl.replace(match[0], data[match[1]]);
|
|
14
|
+
re.lastIndex = 0;
|
|
15
|
+
match = re.exec(tpl);
|
|
16
|
+
}
|
|
17
|
+
return tpl;
|
|
18
|
+
};
|
|
19
|
+
return (params) => replacer(path, params);
|
|
26
20
|
};
|
|
21
|
+
exports.urlReplacer = urlReplacer;
|
|
27
22
|
/**
|
|
28
23
|
* Get domain
|
|
29
24
|
* @param url
|
|
30
25
|
*/
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
if (matches && matches[1]) {
|
|
40
|
-
return matches[1];
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
return '';
|
|
26
|
+
const getDomain = (url) => {
|
|
27
|
+
// eslint-disable-next-line no-useless-escape,@typescript-eslint/prefer-regexp-exec
|
|
28
|
+
const matches = url.match(/^https?\:\/\/([^\/?#]+)(?:[\/?#]|$)/i);
|
|
29
|
+
if (matches && matches[1]) {
|
|
30
|
+
return matches[1];
|
|
31
|
+
}
|
|
32
|
+
return '';
|
|
44
33
|
};
|
|
34
|
+
exports.getDomain = getDomain;
|
|
45
35
|
/**
|
|
46
36
|
* Check a str is a valid url pattern
|
|
47
37
|
* @param url
|
|
48
38
|
*/
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
const isValidUrl = url => {
|
|
54
|
-
const regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-/]))?/;
|
|
55
|
-
return regexp.test(url);
|
|
39
|
+
const isValidUrl = (url) => {
|
|
40
|
+
const regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-/]))?/;
|
|
41
|
+
return regexp.test(url);
|
|
56
42
|
};
|
|
43
|
+
exports.isValidUrl = isValidUrl;
|
|
57
44
|
/**
|
|
58
45
|
* Check a str is a valid list of urls separated by delimiter
|
|
59
46
|
* @param value
|
|
60
47
|
* @param delimiter
|
|
61
48
|
*/
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
exports.isValidUrl = isValidUrl;
|
|
65
|
-
|
|
66
49
|
const isValidUrls = (value, delimiter) => {
|
|
67
|
-
|
|
68
|
-
|
|
50
|
+
const urls = value.trim().split(delimiter);
|
|
51
|
+
return urls.every(exports.isValidUrl);
|
|
69
52
|
};
|
|
53
|
+
exports.isValidUrls = isValidUrls;
|
|
70
54
|
/**
|
|
71
55
|
* Append params
|
|
72
56
|
* @param baseUrl
|
|
73
57
|
* @param queryParams
|
|
74
58
|
*/
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
exports.isValidUrls = isValidUrls;
|
|
78
|
-
|
|
79
59
|
function appendURLSearchParams(baseUrl, queryParams) {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
return _url;
|
|
60
|
+
let _url = baseUrl;
|
|
61
|
+
if (queryParams.length && _url) {
|
|
62
|
+
const key = Object.keys(queryParams[0])[0];
|
|
63
|
+
_url += (_url.split('?')[1] ? '&' : '?') + `${key}=${queryParams[0][key]}`;
|
|
64
|
+
queryParams.slice(1).map((p) => {
|
|
65
|
+
const key = Object.keys(p)[0];
|
|
66
|
+
_url += `&${key}=${p[key]}`;
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
return _url;
|
|
92
70
|
}
|
|
71
|
+
exports.appendURLSearchParams = appendURLSearchParams;
|
|
93
72
|
/**
|
|
94
73
|
* Take the application server's public key, which is Base64 URL-safe encoded,
|
|
95
74
|
* and convert it to a UInt8Array, because this is the expected input of the subscribe()
|
|
96
75
|
*/
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
const
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
outputArray[i] = rawData.charCodeAt(i);
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
return outputArray;
|
|
76
|
+
const urlB64ToUint8Array = (base64String) => {
|
|
77
|
+
const padding = '='.repeat((4 - (base64String.length % 4)) % 4);
|
|
78
|
+
const base64 = (base64String + padding).replace(/-/g, '+').replace(/_/g, '/');
|
|
79
|
+
const rawData = window.atob(base64);
|
|
80
|
+
const outputArray = new Uint8Array(rawData.length);
|
|
81
|
+
for (let i = 0; i < rawData.length; ++i) {
|
|
82
|
+
outputArray[i] = rawData.charCodeAt(i);
|
|
83
|
+
}
|
|
84
|
+
return outputArray;
|
|
110
85
|
};
|
|
111
|
-
|
|
112
|
-
|
|
86
|
+
exports.urlB64ToUint8Array = urlB64ToUint8Array;
|
|
87
|
+
//# sourceMappingURL=url.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"url.js","sourceRoot":"","sources":["../../../src/utils/url.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
File without changes
|