@kwiz/common 1.0.53 → 1.0.54
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/dist/helpers/url.js +12 -12
- package/dist/helpers/url.js.map +1 -1
- package/package.json +1 -1
- package/src/helpers/url.ts +12 -12
package/dist/helpers/url.js
CHANGED
|
@@ -9,7 +9,7 @@ const urlhelper_1 = require("./urlhelper");
|
|
|
9
9
|
* @param name name of parameter
|
|
10
10
|
* @param url optional, url. if not sent - current window.location.href will be used
|
|
11
11
|
*/
|
|
12
|
-
function getQueryStringParameter(param, url, caseInSensitive) {
|
|
12
|
+
function getQueryStringParameter(param, url, caseInSensitive = true) {
|
|
13
13
|
let search = window.location.search;
|
|
14
14
|
if (!(0, typecheckers_1.isNullOrEmptyString)(url)) {
|
|
15
15
|
let tmp = url.split('#')[0].split('?');
|
|
@@ -23,7 +23,7 @@ exports.getQueryStringParameter = getQueryStringParameter;
|
|
|
23
23
|
* @param name name of parameter
|
|
24
24
|
* @param url optional, url. if not sent - current window.location.href will be used
|
|
25
25
|
*/
|
|
26
|
-
function getHashParameter(param, url, caseInSensitive) {
|
|
26
|
+
function getHashParameter(param, url, caseInSensitive = true) {
|
|
27
27
|
let hash = window.location.hash;
|
|
28
28
|
if (!(0, typecheckers_1.isNullOrEmptyString)(url)) {
|
|
29
29
|
let tmp = url.split('#');
|
|
@@ -33,18 +33,18 @@ function getHashParameter(param, url, caseInSensitive) {
|
|
|
33
33
|
}
|
|
34
34
|
exports.getHashParameter = getHashParameter;
|
|
35
35
|
/** return a value of a parameter from a key/value string like: key=value&key2=value2 */
|
|
36
|
-
function getParameterValue(param, keyValueString, caseInSensitive) {
|
|
37
|
-
let _keyValueString = keyValueString.startsWith("#") || keyValueString.startsWith("?") ? keyValueString.
|
|
38
|
-
|
|
36
|
+
function getParameterValue(param, keyValueString, caseInSensitive = true) {
|
|
37
|
+
let _keyValueString = keyValueString.startsWith("#") || keyValueString.startsWith("?") ? keyValueString.substring(1) : keyValueString;
|
|
38
|
+
let parsed = _keyValueString.split('&');
|
|
39
39
|
for (var i = 0; i < parsed.length; i++) {
|
|
40
|
-
|
|
41
|
-
if (caseInSensitive ? values[0] === param : values[0]
|
|
40
|
+
let values = parsed[i].split('=');
|
|
41
|
+
if (caseInSensitive ? values[0].toLowerCase() === param.toLowerCase() : values[0] === param) {
|
|
42
42
|
let v = (values.length > 1 ? values[1] : param);
|
|
43
43
|
return decodeURIComponent(v.replace(/\+/g, " "));
|
|
44
44
|
}
|
|
45
45
|
//ISSUE: 1301 - the query string parameter name was encoded in window.location.href/window.location.search even though in the
|
|
46
46
|
//url bar the paramter name was not encoded
|
|
47
|
-
if (caseInSensitive ? decodeURIComponent(values[0]) === param : decodeURIComponent(values[0])
|
|
47
|
+
if (caseInSensitive ? decodeURIComponent(values[0]).toLowerCase() === param.toLowerCase() : decodeURIComponent(values[0]) === param) {
|
|
48
48
|
let v = (values.length > 1 ? values[1] : param);
|
|
49
49
|
return decodeURIComponent(v.replace(/\+/g, " "));
|
|
50
50
|
}
|
|
@@ -65,7 +65,7 @@ function makeFullUrl(url, baseUrl) {
|
|
|
65
65
|
if (url.startsWith('/') || url.startsWith('#')) {
|
|
66
66
|
//server relative
|
|
67
67
|
if ((0, typecheckers_1.isNullOrEmptyString)(baseUrl)) { //no override base
|
|
68
|
-
|
|
68
|
+
let xxx = document.createElement("a");
|
|
69
69
|
xxx.href = url;
|
|
70
70
|
return xxx.href;
|
|
71
71
|
}
|
|
@@ -95,7 +95,7 @@ exports.navigateOrReload = navigateOrReload;
|
|
|
95
95
|
function makeServerRelativeUrl(url, baseUrl) {
|
|
96
96
|
if ((0, typecheckers_1.isNullOrEmptyString)(url))
|
|
97
97
|
url = baseUrl || window.location.href.split('?')[0];
|
|
98
|
-
|
|
98
|
+
let index = url.indexOf("//");
|
|
99
99
|
if (index > 0) //this is a full URL, just trim it from // until the first / and return.
|
|
100
100
|
{
|
|
101
101
|
index = url.indexOf("/", index + 2); //find next / after the ://domain.name
|
|
@@ -119,7 +119,7 @@ function makeServerRelativeUrl(url, baseUrl) {
|
|
|
119
119
|
exports.makeServerRelativeUrl = makeServerRelativeUrl;
|
|
120
120
|
/** Normalizes URL ending, end with or without slash */
|
|
121
121
|
function normalizeUrl(url, endWithSlash = false) {
|
|
122
|
-
|
|
122
|
+
let tmp = url;
|
|
123
123
|
if (endWithSlash) {
|
|
124
124
|
if ((0, typecheckers_1.isNullOrEmptyString)(tmp))
|
|
125
125
|
tmp = "/";
|
|
@@ -143,7 +143,7 @@ function getURLExtension(url) {
|
|
|
143
143
|
//if (!isString(baseUri)) {
|
|
144
144
|
// baseUri = document.baseURI || window.location.protocol + "://" + window.location.hostname + window.location.pathname;
|
|
145
145
|
//}
|
|
146
|
-
|
|
146
|
+
let urlObj = new URL(url, "https://example.com");
|
|
147
147
|
url = urlObj.href.replace(urlObj.host, "").replace(urlObj.hash, "").replace(urlObj.search, "");
|
|
148
148
|
return url.substring(url.lastIndexOf("/") + 1).split(/#|\?/)[0].split(".").pop().trim();
|
|
149
149
|
}
|
package/dist/helpers/url.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url.js","sourceRoot":"","sources":["../../src/helpers/url.ts"],"names":[],"mappings":";;;AACA,yDAA2D;AAC3D,iDAA+D;AAC/D,2CAAwC;AAExC;;;;GAIG;AACH,SAAgB,uBAAuB,CAAC,KAAa,EAAE,GAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"url.js","sourceRoot":"","sources":["../../src/helpers/url.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/helpers/url.ts
CHANGED
|
@@ -8,7 +8,7 @@ import { URLHelper } from "./urlhelper";
|
|
|
8
8
|
* @param name name of parameter
|
|
9
9
|
* @param url optional, url. if not sent - current window.location.href will be used
|
|
10
10
|
*/
|
|
11
|
-
export function getQueryStringParameter(param: string, url?: string, caseInSensitive
|
|
11
|
+
export function getQueryStringParameter(param: string, url?: string, caseInSensitive = true) {
|
|
12
12
|
let search = window.location.search;
|
|
13
13
|
if (!isNullOrEmptyString(url)) {
|
|
14
14
|
let tmp = url.split('#')[0].split('?');
|
|
@@ -22,7 +22,7 @@ export function getQueryStringParameter(param: string, url?: string, caseInSensi
|
|
|
22
22
|
* @param name name of parameter
|
|
23
23
|
* @param url optional, url. if not sent - current window.location.href will be used
|
|
24
24
|
*/
|
|
25
|
-
export function getHashParameter(param: string, url?: string, caseInSensitive
|
|
25
|
+
export function getHashParameter(param: string, url?: string, caseInSensitive = true) {
|
|
26
26
|
let hash = window.location.hash;
|
|
27
27
|
if (!isNullOrEmptyString(url)) {
|
|
28
28
|
let tmp = url.split('#');
|
|
@@ -32,20 +32,20 @@ export function getHashParameter(param: string, url?: string, caseInSensitive?:
|
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
/** return a value of a parameter from a key/value string like: key=value&key2=value2 */
|
|
35
|
-
export function getParameterValue(param: string, keyValueString: string, caseInSensitive
|
|
36
|
-
let _keyValueString = keyValueString.startsWith("#") || keyValueString.startsWith("?") ? keyValueString.
|
|
37
|
-
|
|
35
|
+
export function getParameterValue(param: string, keyValueString: string, caseInSensitive = true) {
|
|
36
|
+
let _keyValueString = keyValueString.startsWith("#") || keyValueString.startsWith("?") ? keyValueString.substring(1) : keyValueString;
|
|
37
|
+
let parsed = _keyValueString.split('&');
|
|
38
38
|
for (var i = 0; i < parsed.length; i++) {
|
|
39
|
-
|
|
39
|
+
let values = parsed[i].split('=');
|
|
40
40
|
|
|
41
|
-
if (caseInSensitive ? values[0] === param : values[0]
|
|
41
|
+
if (caseInSensitive ? values[0].toLowerCase() === param.toLowerCase() : values[0] === param) {
|
|
42
42
|
let v = (values.length > 1 ? values[1] : param);
|
|
43
43
|
return decodeURIComponent(v.replace(/\+/g, " "));
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
//ISSUE: 1301 - the query string parameter name was encoded in window.location.href/window.location.search even though in the
|
|
47
47
|
//url bar the paramter name was not encoded
|
|
48
|
-
if (caseInSensitive ? decodeURIComponent(values[0]) === param : decodeURIComponent(values[0])
|
|
48
|
+
if (caseInSensitive ? decodeURIComponent(values[0]).toLowerCase() === param.toLowerCase() : decodeURIComponent(values[0]) === param) {
|
|
49
49
|
let v = (values.length > 1 ? values[1] : param);
|
|
50
50
|
return decodeURIComponent(v.replace(/\+/g, " "));
|
|
51
51
|
}
|
|
@@ -65,7 +65,7 @@ export function makeFullUrl(url: string, baseUrl?: string): string {
|
|
|
65
65
|
if (url.startsWith('/') || url.startsWith('#')) {
|
|
66
66
|
//server relative
|
|
67
67
|
if (isNullOrEmptyString(baseUrl)) {//no override base
|
|
68
|
-
|
|
68
|
+
let xxx = document.createElement("a");
|
|
69
69
|
xxx.href = url;
|
|
70
70
|
return xxx.href;
|
|
71
71
|
}
|
|
@@ -94,7 +94,7 @@ export function navigateOrReload(urlWithHash: string) {
|
|
|
94
94
|
export function makeServerRelativeUrl(url: string, baseUrl?: string): string {
|
|
95
95
|
if (isNullOrEmptyString(url)) url = baseUrl || window.location.href.split('?')[0];
|
|
96
96
|
|
|
97
|
-
|
|
97
|
+
let index = url.indexOf("//");
|
|
98
98
|
if (index > 0)//this is a full URL, just trim it from // until the first / and return.
|
|
99
99
|
{
|
|
100
100
|
index = url.indexOf("/", index + 2);//find next / after the ://domain.name
|
|
@@ -116,7 +116,7 @@ export function makeServerRelativeUrl(url: string, baseUrl?: string): string {
|
|
|
116
116
|
|
|
117
117
|
/** Normalizes URL ending, end with or without slash */
|
|
118
118
|
export function normalizeUrl(url: string, endWithSlash = false): string {
|
|
119
|
-
|
|
119
|
+
let tmp = url;
|
|
120
120
|
if (endWithSlash) {
|
|
121
121
|
if (isNullOrEmptyString(tmp))
|
|
122
122
|
tmp = "/";
|
|
@@ -140,7 +140,7 @@ export function getURLExtension(url: string) {//, baseUri?: string) {
|
|
|
140
140
|
//if (!isString(baseUri)) {
|
|
141
141
|
// baseUri = document.baseURI || window.location.protocol + "://" + window.location.hostname + window.location.pathname;
|
|
142
142
|
//}
|
|
143
|
-
|
|
143
|
+
let urlObj = new URL(url, "https://example.com");
|
|
144
144
|
url = urlObj.href.replace(urlObj.host, "").replace(urlObj.hash, "").replace(urlObj.search, "");
|
|
145
145
|
return url.substring(url.lastIndexOf("/") + 1).split(/#|\?/)[0].split(".").pop().trim();
|
|
146
146
|
}
|