@kwiz/common 1.0.1
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/LICENSE +21 -0
- package/dist/_dependencies.d.ts +1 -0
- package/dist/_dependencies.js +8 -0
- package/dist/_dependencies.js.map +1 -0
- package/dist/helpers/Guid.d.ts +119 -0
- package/dist/helpers/Guid.js +183 -0
- package/dist/helpers/Guid.js.map +1 -0
- package/dist/helpers/_dependencies.d.ts +2 -0
- package/dist/helpers/_dependencies.js +21 -0
- package/dist/helpers/_dependencies.js.map +1 -0
- package/dist/helpers/base64.d.ts +8 -0
- package/dist/helpers/base64.js +178 -0
- package/dist/helpers/base64.js.map +1 -0
- package/dist/helpers/browser.d.ts +144 -0
- package/dist/helpers/browser.js +1200 -0
- package/dist/helpers/browser.js.map +1 -0
- package/dist/helpers/browserinfo.d.ts +23 -0
- package/dist/helpers/browserinfo.js +215 -0
- package/dist/helpers/browserinfo.js.map +1 -0
- package/dist/helpers/collections.base.d.ts +128 -0
- package/dist/helpers/collections.base.js +430 -0
- package/dist/helpers/collections.base.js.map +1 -0
- package/dist/helpers/collections.d.ts +18 -0
- package/dist/helpers/collections.js +99 -0
- package/dist/helpers/collections.js.map +1 -0
- package/dist/helpers/color.d.ts +11 -0
- package/dist/helpers/color.js +57 -0
- package/dist/helpers/color.js.map +1 -0
- package/dist/helpers/cookies.d.ts +6 -0
- package/dist/helpers/cookies.js +56 -0
- package/dist/helpers/cookies.js.map +1 -0
- package/dist/helpers/date.d.ts +43 -0
- package/dist/helpers/date.js +158 -0
- package/dist/helpers/date.js.map +1 -0
- package/dist/helpers/debug.d.ts +33 -0
- package/dist/helpers/debug.js +177 -0
- package/dist/helpers/debug.js.map +1 -0
- package/dist/helpers/emails.d.ts +2 -0
- package/dist/helpers/emails.js +10 -0
- package/dist/helpers/emails.js.map +1 -0
- package/dist/helpers/eval.d.ts +1 -0
- package/dist/helpers/eval.js +10 -0
- package/dist/helpers/eval.js.map +1 -0
- package/dist/helpers/file.d.ts +11 -0
- package/dist/helpers/file.js +55 -0
- package/dist/helpers/file.js.map +1 -0
- package/dist/helpers/flatted.d.ts +20 -0
- package/dist/helpers/flatted.js +135 -0
- package/dist/helpers/flatted.js.map +1 -0
- package/dist/helpers/functions.d.ts +4 -0
- package/dist/helpers/functions.js +17 -0
- package/dist/helpers/functions.js.map +1 -0
- package/dist/helpers/graph/calendar.types.d.ts +3 -0
- package/dist/helpers/graph/calendar.types.js +15 -0
- package/dist/helpers/graph/calendar.types.js.map +1 -0
- package/dist/helpers/http.d.ts +25 -0
- package/dist/helpers/http.js +70 -0
- package/dist/helpers/http.js.map +1 -0
- package/dist/helpers/images.d.ts +16 -0
- package/dist/helpers/images.js +21 -0
- package/dist/helpers/images.js.map +1 -0
- package/dist/helpers/index.d.ts +29 -0
- package/dist/helpers/index.js +46 -0
- package/dist/helpers/index.js.map +1 -0
- package/dist/helpers/json.d.ts +3 -0
- package/dist/helpers/json.js +44 -0
- package/dist/helpers/json.js.map +1 -0
- package/dist/helpers/md5.d.ts +5 -0
- package/dist/helpers/md5.js +172 -0
- package/dist/helpers/md5.js.map +1 -0
- package/dist/helpers/objects.d.ts +49 -0
- package/dist/helpers/objects.js +271 -0
- package/dist/helpers/objects.js.map +1 -0
- package/dist/helpers/promises.d.ts +14 -0
- package/dist/helpers/promises.js +112 -0
- package/dist/helpers/promises.js.map +1 -0
- package/dist/helpers/random.d.ts +2 -0
- package/dist/helpers/random.js +32 -0
- package/dist/helpers/random.js.map +1 -0
- package/dist/helpers/scheduler/scheduler.d.ts +39 -0
- package/dist/helpers/scheduler/scheduler.js +109 -0
- package/dist/helpers/scheduler/scheduler.js.map +1 -0
- package/dist/helpers/sharepoint.d.ts +112 -0
- package/dist/helpers/sharepoint.js +629 -0
- package/dist/helpers/sharepoint.js.map +1 -0
- package/dist/helpers/strings.d.ts +56 -0
- package/dist/helpers/strings.js +282 -0
- package/dist/helpers/strings.js.map +1 -0
- package/dist/helpers/typecheckers.d.ts +56 -0
- package/dist/helpers/typecheckers.js +274 -0
- package/dist/helpers/typecheckers.js.map +1 -0
- package/dist/helpers/url.d.ts +46 -0
- package/dist/helpers/url.js +199 -0
- package/dist/helpers/url.js.map +1 -0
- package/dist/helpers/urlhelper.d.ts +16 -0
- package/dist/helpers/urlhelper.js +96 -0
- package/dist/helpers/urlhelper.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.js +37 -0
- package/dist/index.js.map +1 -0
- package/dist/types/common.types.d.ts +19 -0
- package/dist/types/common.types.js +4 -0
- package/dist/types/common.types.js.map +1 -0
- package/dist/types/flatted.types.d.ts +49 -0
- package/dist/types/flatted.types.js +3 -0
- package/dist/types/flatted.types.js.map +1 -0
- package/dist/types/globals.types.d.ts +6 -0
- package/dist/types/globals.types.js +3 -0
- package/dist/types/globals.types.js.map +1 -0
- package/dist/types/graph/calendar.types.d.ts +79 -0
- package/dist/types/graph/calendar.types.js +3 -0
- package/dist/types/graph/calendar.types.js.map +1 -0
- package/dist/types/graph/index.d.ts +1 -0
- package/dist/types/graph/index.js +18 -0
- package/dist/types/graph/index.js.map +1 -0
- package/dist/types/index.d.ts +11 -0
- package/dist/types/index.js +28 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/knownscript.types.d.ts +22 -0
- package/dist/types/knownscript.types.js +3 -0
- package/dist/types/knownscript.types.js.map +1 -0
- package/dist/types/libs/datajs.types.d.ts +29 -0
- package/dist/types/libs/datajs.types.js +3 -0
- package/dist/types/libs/datajs.types.js.map +1 -0
- package/dist/types/libs/ics.types.d.ts +29 -0
- package/dist/types/libs/ics.types.js +3 -0
- package/dist/types/libs/ics.types.js.map +1 -0
- package/dist/types/libs/index.d.ts +3 -0
- package/dist/types/libs/index.js +20 -0
- package/dist/types/libs/index.js.map +1 -0
- package/dist/types/libs/msal.types.d.ts +33 -0
- package/dist/types/libs/msal.types.js +63 -0
- package/dist/types/libs/msal.types.js.map +1 -0
- package/dist/types/locales.d.ts +122 -0
- package/dist/types/locales.js +1 -0
- package/dist/types/locales.js.map +1 -0
- package/dist/types/localstoragecache.types.d.ts +8 -0
- package/dist/types/localstoragecache.types.js +3 -0
- package/dist/types/localstoragecache.types.js.map +1 -0
- package/dist/types/moment.d.ts +6 -0
- package/dist/types/moment.js +1 -0
- package/dist/types/moment.js.map +1 -0
- package/dist/types/regex.types.d.ts +14 -0
- package/dist/types/regex.types.js +3 -0
- package/dist/types/regex.types.js.map +1 -0
- package/dist/types/rest.types.d.ts +81 -0
- package/dist/types/rest.types.js +24 -0
- package/dist/types/rest.types.js.map +1 -0
- package/dist/types/sharepoint.types.d.ts +1432 -0
- package/dist/types/sharepoint.types.js +629 -0
- package/dist/types/sharepoint.types.js.map +1 -0
- package/dist/types/sharepoint.utils.types.d.ts +246 -0
- package/dist/types/sharepoint.utils.types.js +26 -0
- package/dist/types/sharepoint.utils.types.js.map +1 -0
- package/dist/utils/_dependencies.d.ts +3 -0
- package/dist/utils/_dependencies.js +24 -0
- package/dist/utils/_dependencies.js.map +1 -0
- package/dist/utils/base64.d.ts +2 -0
- package/dist/utils/base64.js +41 -0
- package/dist/utils/base64.js.map +1 -0
- package/dist/utils/consolelogger.d.ts +73 -0
- package/dist/utils/consolelogger.js +281 -0
- package/dist/utils/consolelogger.js.map +1 -0
- package/dist/utils/date.d.ts +10 -0
- package/dist/utils/date.js +30 -0
- package/dist/utils/date.js.map +1 -0
- package/dist/utils/emails.d.ts +2 -0
- package/dist/utils/emails.js +24 -0
- package/dist/utils/emails.js.map +1 -0
- package/dist/utils/index.d.ts +13 -0
- package/dist/utils/index.js +31 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/knownscript.d.ts +99 -0
- package/dist/utils/knownscript.js +261 -0
- package/dist/utils/knownscript.js.map +1 -0
- package/dist/utils/localstoragecache.d.ts +19 -0
- package/dist/utils/localstoragecache.js +372 -0
- package/dist/utils/localstoragecache.js.map +1 -0
- package/dist/utils/rest.d.ts +17 -0
- package/dist/utils/rest.js +402 -0
- package/dist/utils/rest.js.map +1 -0
- package/dist/utils/script.d.ts +33 -0
- package/dist/utils/script.js +169 -0
- package/dist/utils/script.js.map +1 -0
- package/dist/utils/sharepoint.rest/common.d.ts +32 -0
- package/dist/utils/sharepoint.rest/common.js +146 -0
- package/dist/utils/sharepoint.rest/common.js.map +1 -0
- package/dist/utils/sharepoint.rest/date.d.ts +2 -0
- package/dist/utils/sharepoint.rest/date.js +57 -0
- package/dist/utils/sharepoint.rest/date.js.map +1 -0
- package/dist/utils/sharepoint.rest/file.folder.d.ts +58 -0
- package/dist/utils/sharepoint.rest/file.folder.js +305 -0
- package/dist/utils/sharepoint.rest/file.folder.js.map +1 -0
- package/dist/utils/sharepoint.rest/index.d.ts +11 -0
- package/dist/utils/sharepoint.rest/index.js +28 -0
- package/dist/utils/sharepoint.rest/index.js.map +1 -0
- package/dist/utils/sharepoint.rest/item.d.ts +81 -0
- package/dist/utils/sharepoint.rest/item.js +444 -0
- package/dist/utils/sharepoint.rest/item.js.map +1 -0
- package/dist/utils/sharepoint.rest/list.d.ts +228 -0
- package/dist/utils/sharepoint.rest/list.js +868 -0
- package/dist/utils/sharepoint.rest/list.js.map +1 -0
- package/dist/utils/sharepoint.rest/listutils/GetListItemsByCaml.d.ts +19 -0
- package/dist/utils/sharepoint.rest/listutils/GetListItemsByCaml.js +629 -0
- package/dist/utils/sharepoint.rest/listutils/GetListItemsByCaml.js.map +1 -0
- package/dist/utils/sharepoint.rest/listutils/GetListItemsById.d.ts +14 -0
- package/dist/utils/sharepoint.rest/listutils/GetListItemsById.js +222 -0
- package/dist/utils/sharepoint.rest/listutils/GetListItemsById.js.map +1 -0
- package/dist/utils/sharepoint.rest/listutils/common.d.ts +3 -0
- package/dist/utils/sharepoint.rest/listutils/common.js +198 -0
- package/dist/utils/sharepoint.rest/listutils/common.js.map +1 -0
- package/dist/utils/sharepoint.rest/user-search.d.ts +76 -0
- package/dist/utils/sharepoint.rest/user-search.js +239 -0
- package/dist/utils/sharepoint.rest/user-search.js.map +1 -0
- package/dist/utils/sharepoint.rest/user.d.ts +71 -0
- package/dist/utils/sharepoint.rest/user.js +404 -0
- package/dist/utils/sharepoint.rest/user.js.map +1 -0
- package/dist/utils/sharepoint.rest/web.d.ts +107 -0
- package/dist/utils/sharepoint.rest/web.js +929 -0
- package/dist/utils/sharepoint.rest/web.js.map +1 -0
- package/dist/utils/sod.d.ts +29 -0
- package/dist/utils/sod.js +177 -0
- package/dist/utils/sod.js.map +1 -0
- package/package.json +60 -0
- package/readme.md +13 -0
- package/src/_dependencies.ts +2 -0
- package/src/helpers/Guid.ts +182 -0
- package/src/helpers/_dependencies.ts +3 -0
- package/src/helpers/base64.ts +174 -0
- package/src/helpers/browser.test.js +9 -0
- package/src/helpers/browser.ts +1299 -0
- package/src/helpers/browserinfo.ts +293 -0
- package/src/helpers/collections.base.test.js +26 -0
- package/src/helpers/collections.base.ts +439 -0
- package/src/helpers/collections.ts +108 -0
- package/src/helpers/color.ts +55 -0
- package/src/helpers/cookies.ts +55 -0
- package/src/helpers/date.test.js +97 -0
- package/src/helpers/date.ts +163 -0
- package/src/helpers/debug.ts +187 -0
- package/src/helpers/emails.ts +7 -0
- package/src/helpers/eval.ts +5 -0
- package/src/helpers/file.test.js +51 -0
- package/src/helpers/file.ts +59 -0
- package/src/helpers/flatted.ts +150 -0
- package/src/helpers/functions.ts +17 -0
- package/src/helpers/graph/calendar.types.ts +11 -0
- package/src/helpers/http.ts +70 -0
- package/src/helpers/images.ts +23 -0
- package/src/helpers/index.ts +29 -0
- package/src/helpers/json.ts +39 -0
- package/src/helpers/md5.ts +190 -0
- package/src/helpers/objects.test.js +27 -0
- package/src/helpers/objects.ts +256 -0
- package/src/helpers/promises.test.js +18 -0
- package/src/helpers/promises.ts +102 -0
- package/src/helpers/random.ts +27 -0
- package/src/helpers/scheduler/scheduler.test.js +104 -0
- package/src/helpers/scheduler/scheduler.ts +132 -0
- package/src/helpers/sharepoint.ts +681 -0
- package/src/helpers/strings.test.js +43 -0
- package/src/helpers/strings.ts +288 -0
- package/src/helpers/typecheckers.test.js +35 -0
- package/src/helpers/typecheckers.ts +263 -0
- package/src/helpers/url.test.js +18 -0
- package/src/helpers/url.ts +202 -0
- package/src/helpers/urlhelper.ts +104 -0
- package/src/index.ts +24 -0
- package/src/types/common.types.ts +16 -0
- package/src/types/flatted.types.ts +60 -0
- package/src/types/globals.types.ts +7 -0
- package/src/types/graph/calendar.types.ts +81 -0
- package/src/types/graph/index.ts +1 -0
- package/src/types/index.ts +12 -0
- package/src/types/knownscript.types.ts +19 -0
- package/src/types/libs/datajs.types.ts +29 -0
- package/src/types/libs/ics.types.ts +31 -0
- package/src/types/libs/index.ts +4 -0
- package/src/types/libs/msal.types.ts +79 -0
- package/src/types/locales.ts +125 -0
- package/src/types/localstoragecache.types.ts +9 -0
- package/src/types/moment.ts +7 -0
- package/src/types/regex.types.ts +17 -0
- package/src/types/rest.types.ts +94 -0
- package/src/types/sharepoint.types.ts +1413 -0
- package/src/types/sharepoint.utils.types.ts +246 -0
- package/src/utils/_dependencies.ts +4 -0
- package/src/utils/base64.ts +27 -0
- package/src/utils/consolelogger.ts +315 -0
- package/src/utils/date.ts +36 -0
- package/src/utils/emails.ts +25 -0
- package/src/utils/index.ts +13 -0
- package/src/utils/knownscript.ts +280 -0
- package/src/utils/localstoragecache.ts +419 -0
- package/src/utils/rest.ts +465 -0
- package/src/utils/script.ts +168 -0
- package/src/utils/sharepoint.rest/common.ts +149 -0
- package/src/utils/sharepoint.rest/date.ts +61 -0
- package/src/utils/sharepoint.rest/file.folder.ts +368 -0
- package/src/utils/sharepoint.rest/index.ts +11 -0
- package/src/utils/sharepoint.rest/item.ts +456 -0
- package/src/utils/sharepoint.rest/list.ts +1144 -0
- package/src/utils/sharepoint.rest/listutils/GetListItemsByCaml.ts +750 -0
- package/src/utils/sharepoint.rest/listutils/GetListItemsById.ts +265 -0
- package/src/utils/sharepoint.rest/listutils/common.ts +202 -0
- package/src/utils/sharepoint.rest/user-search.ts +254 -0
- package/src/utils/sharepoint.rest/user.ts +447 -0
- package/src/utils/sharepoint.rest/web.ts +1031 -0
- package/src/utils/sod.ts +193 -0
- package/tsconfig.json +21 -0
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SafeIfElse = exports.CompareVersion = exports.hasMembers = exports.newGuid = exports.isTrueString = exports.BoolFalseStrings = exports.BoolTrueStrings = exports.isValidGuid = exports.isPrimitiveValue = exports.isPromise = exports.isBoolean = exports.isFunction = exports.isUndefined = exports.isNumberArray = exports.isNumber = exports.isNumeric = exports.isDate = exports.isString = exports.isNullOrEmptyArray = exports.isNotEmptyArray = exports.isNullOrEmptyString = exports.isNullOrNaN = exports.isNullOrUndefined = exports.isEmptyObject = exports.isObject = exports.isType = exports.isTypeofFullNameBoolean = exports.isTypeofFullNameFunction = exports.isTypeofFullNameUndefined = exports.isTypeofFullNameNullOrUndefined = exports.isTypeofFullNameNumber = exports.isTypeofFullNameString = exports.isTypeofFullNameObject = exports.getFromFullName = exports.typeofFullName = void 0;
|
|
4
|
+
var _objectTypes = {
|
|
5
|
+
"Function": typeof (() => { }),
|
|
6
|
+
"Undefined": typeof (undefined),
|
|
7
|
+
"String": typeof (""),
|
|
8
|
+
"Number": typeof (1),
|
|
9
|
+
"Object": typeof ({}),
|
|
10
|
+
"Boolean": typeof (true)
|
|
11
|
+
};
|
|
12
|
+
/** check if a global object in that full name exists and return its type or "undefined" */
|
|
13
|
+
function typeofFullName(fullName, windowOrParent) {
|
|
14
|
+
//todo: possible to merge with getFromFullName, but we need to distinguish between null and undefined
|
|
15
|
+
if (!fullName) {
|
|
16
|
+
return _objectTypes.Undefined;
|
|
17
|
+
}
|
|
18
|
+
try {
|
|
19
|
+
let names = fullName.split(".");
|
|
20
|
+
let len = names.length;
|
|
21
|
+
let obj = windowOrParent || window;
|
|
22
|
+
for (var i = 0; i < len; i++) {
|
|
23
|
+
obj = obj[names[i]];
|
|
24
|
+
if (typeof obj === _objectTypes.Undefined)
|
|
25
|
+
return _objectTypes.Undefined;
|
|
26
|
+
if (obj === null && i < len) //one of the chained objects (not the leaf) is null - so return undefined
|
|
27
|
+
return _objectTypes.Undefined;
|
|
28
|
+
}
|
|
29
|
+
return typeof obj;
|
|
30
|
+
}
|
|
31
|
+
catch (ex) {
|
|
32
|
+
return _objectTypes.Undefined;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.typeofFullName = typeofFullName;
|
|
36
|
+
/** get the value by full name of property */
|
|
37
|
+
function getFromFullName(fullName, windowOrParent) {
|
|
38
|
+
try {
|
|
39
|
+
if (isNullOrEmptyString(fullName)) {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
try {
|
|
43
|
+
var names = fullName.split(".");
|
|
44
|
+
var len = names.length;
|
|
45
|
+
var obj = windowOrParent || window;
|
|
46
|
+
for (var i = 0; i < len; i++) {
|
|
47
|
+
obj = obj[names[i]];
|
|
48
|
+
if (typeof obj === _objectTypes.Undefined || obj === null) {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return obj;
|
|
53
|
+
}
|
|
54
|
+
catch (ex) {
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
catch (e) { }
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
exports.getFromFullName = getFromFullName;
|
|
61
|
+
function isTypeofFullNameObject(fullName, windowOrParent) {
|
|
62
|
+
return typeofFullName(fullName, windowOrParent) === _objectTypes.Object;
|
|
63
|
+
}
|
|
64
|
+
exports.isTypeofFullNameObject = isTypeofFullNameObject;
|
|
65
|
+
function isTypeofFullNameString(fullName, windowOrParent) {
|
|
66
|
+
return typeofFullName(fullName, windowOrParent) === _objectTypes.String;
|
|
67
|
+
}
|
|
68
|
+
exports.isTypeofFullNameString = isTypeofFullNameString;
|
|
69
|
+
function isTypeofFullNameNumber(fullName, windowOrParent) {
|
|
70
|
+
return typeofFullName(fullName, windowOrParent) === _objectTypes.Number;
|
|
71
|
+
}
|
|
72
|
+
exports.isTypeofFullNameNumber = isTypeofFullNameNumber;
|
|
73
|
+
function isTypeofFullNameNullOrUndefined(fullName, windowOrParent) {
|
|
74
|
+
if (typeofFullName(fullName, windowOrParent) === _objectTypes.Undefined) {
|
|
75
|
+
return true;
|
|
76
|
+
}
|
|
77
|
+
try {
|
|
78
|
+
var names = fullName.split(".");
|
|
79
|
+
var len = names.length;
|
|
80
|
+
var obj = windowOrParent || window;
|
|
81
|
+
for (var i = 0; i < len && obj !== null; i++) {
|
|
82
|
+
obj = obj[names[i]];
|
|
83
|
+
}
|
|
84
|
+
return obj === null || obj === undefined;
|
|
85
|
+
}
|
|
86
|
+
catch (ex) {
|
|
87
|
+
return true;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
exports.isTypeofFullNameNullOrUndefined = isTypeofFullNameNullOrUndefined;
|
|
91
|
+
function isTypeofFullNameUndefined(fullName, windowOrParent) {
|
|
92
|
+
return typeofFullName(fullName, windowOrParent) === _objectTypes.Undefined;
|
|
93
|
+
}
|
|
94
|
+
exports.isTypeofFullNameUndefined = isTypeofFullNameUndefined;
|
|
95
|
+
function isTypeofFullNameFunction(fullName, windowOrParent) {
|
|
96
|
+
return typeofFullName(fullName, windowOrParent) === _objectTypes.Function;
|
|
97
|
+
}
|
|
98
|
+
exports.isTypeofFullNameFunction = isTypeofFullNameFunction;
|
|
99
|
+
function isTypeofFullNameBoolean(fullName, windowOrParent) {
|
|
100
|
+
return typeofFullName(fullName, windowOrParent) === _objectTypes.Boolean;
|
|
101
|
+
}
|
|
102
|
+
exports.isTypeofFullNameBoolean = isTypeofFullNameBoolean;
|
|
103
|
+
function isType(obj, str) {
|
|
104
|
+
return typeof (obj) === str;
|
|
105
|
+
}
|
|
106
|
+
exports.isType = isType;
|
|
107
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
108
|
+
function isObject(obj) {
|
|
109
|
+
return isType(obj, _objectTypes.Object);
|
|
110
|
+
}
|
|
111
|
+
exports.isObject = isObject;
|
|
112
|
+
/** Checks if obj is empty - as primitive, array or object
|
|
113
|
+
* If an object, pass an optional array of keys to ignore
|
|
114
|
+
*/
|
|
115
|
+
function isEmptyObject(obj, options) {
|
|
116
|
+
let ignoreKeys = options && options.ignoreKeys || [];
|
|
117
|
+
return isNullOrUndefined(obj) || (Array.isArray(obj) && obj.length === 0) ||
|
|
118
|
+
(isObject(obj) && Object.keys(obj)
|
|
119
|
+
//if options.ignoreKeys is not empty - only include keys that are NOT in this array
|
|
120
|
+
.filter(key => SafeIfElse(() => ignoreKeys.indexOf(key) < 0, true))
|
|
121
|
+
.length === 0);
|
|
122
|
+
}
|
|
123
|
+
exports.isEmptyObject = isEmptyObject;
|
|
124
|
+
function isNullOrUndefined(obj) {
|
|
125
|
+
return isUndefined(obj) || obj === null;
|
|
126
|
+
}
|
|
127
|
+
exports.isNullOrUndefined = isNullOrUndefined;
|
|
128
|
+
/** return true if o is undefined, null or not a number */
|
|
129
|
+
function isNullOrNaN(o) {
|
|
130
|
+
return isNullOrEmptyString(o) || isNaN(o);
|
|
131
|
+
}
|
|
132
|
+
exports.isNullOrNaN = isNullOrNaN;
|
|
133
|
+
/** return true if o is undefined, null or empty string */
|
|
134
|
+
function isNullOrEmptyString(o) {
|
|
135
|
+
return isNullOrUndefined(o) || o === '';
|
|
136
|
+
}
|
|
137
|
+
exports.isNullOrEmptyString = isNullOrEmptyString;
|
|
138
|
+
/** o is an array that is not empty (length > 0) */
|
|
139
|
+
function isNotEmptyArray(o) {
|
|
140
|
+
return Array.isArray(o) && o.length > 0;
|
|
141
|
+
}
|
|
142
|
+
exports.isNotEmptyArray = isNotEmptyArray;
|
|
143
|
+
/** o is undefined, null or an empty array */
|
|
144
|
+
function isNullOrEmptyArray(o) {
|
|
145
|
+
return isNullOrUndefined(o) || (Array.isArray(o) && o.length < 1);
|
|
146
|
+
}
|
|
147
|
+
exports.isNullOrEmptyArray = isNullOrEmptyArray;
|
|
148
|
+
function isString(obj) {
|
|
149
|
+
return isType(obj, _objectTypes.String);
|
|
150
|
+
}
|
|
151
|
+
exports.isString = isString;
|
|
152
|
+
/** true if object is a Date object */
|
|
153
|
+
function isDate(obj) {
|
|
154
|
+
return !isNullOrUndefined(obj) && isFunction(obj.getTime) && !isNullOrNaN(obj.getTime());
|
|
155
|
+
}
|
|
156
|
+
exports.isDate = isDate;
|
|
157
|
+
/** true if obj is a number or a numeric string */
|
|
158
|
+
function isNumeric(obj) {
|
|
159
|
+
return !isNullOrEmptyString(obj) && !Array.isArray(obj) && //[14] will return true, since [14].toString() is "14"
|
|
160
|
+
!isNaN(parseFloat(obj)) && isFinite(obj) && isType(Number(obj), _objectTypes.Number);
|
|
161
|
+
}
|
|
162
|
+
exports.isNumeric = isNumeric;
|
|
163
|
+
/** true if obj is a number */
|
|
164
|
+
function isNumber(obj) {
|
|
165
|
+
return !isNullOrNaN(obj) && isType(obj, _objectTypes.Number);
|
|
166
|
+
}
|
|
167
|
+
exports.isNumber = isNumber;
|
|
168
|
+
function isNumberArray(obj) {
|
|
169
|
+
return !isNullOrUndefined(obj) && Array.isArray(obj) && obj.every((entry) => {
|
|
170
|
+
return isNumber(entry);
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
exports.isNumberArray = isNumberArray;
|
|
174
|
+
function isUndefined(obj) {
|
|
175
|
+
return isType(obj, _objectTypes.Undefined);
|
|
176
|
+
}
|
|
177
|
+
exports.isUndefined = isUndefined;
|
|
178
|
+
//eslint-disable-next-line @typescript-eslint/ban-types
|
|
179
|
+
function isFunction(obj) {
|
|
180
|
+
return isType(obj, _objectTypes.Function);
|
|
181
|
+
}
|
|
182
|
+
exports.isFunction = isFunction;
|
|
183
|
+
function isBoolean(obj) {
|
|
184
|
+
return isType(obj, _objectTypes.Boolean);
|
|
185
|
+
}
|
|
186
|
+
exports.isBoolean = isBoolean;
|
|
187
|
+
function isPromise(obj) {
|
|
188
|
+
return obj && isFunction(obj["then"]);
|
|
189
|
+
}
|
|
190
|
+
exports.isPromise = isPromise;
|
|
191
|
+
/**returns true if object is string, number, date, boolean value or null*/
|
|
192
|
+
function isPrimitiveValue(obj) {
|
|
193
|
+
return isNullOrUndefined(obj) || isString(obj) || isNumber(obj) || isDate(obj) || isBoolean(obj);
|
|
194
|
+
}
|
|
195
|
+
exports.isPrimitiveValue = isPrimitiveValue;
|
|
196
|
+
function isValidGuid(str) {
|
|
197
|
+
var a = new RegExp("^[{|\\(]?[0-9a-fA-F]{8}[-]?([0-9a-fA-F]{4}[-]?){3}[0-9a-fA-F]{12}[\\)|}]?$");
|
|
198
|
+
return !!a.exec(str);
|
|
199
|
+
}
|
|
200
|
+
exports.isValidGuid = isValidGuid;
|
|
201
|
+
exports.BoolTrueStrings = ["true", "1", "on", "yes"];
|
|
202
|
+
exports.BoolFalseStrings = ["false", "0", "off", "no"];
|
|
203
|
+
function isTrueString(str, options) {
|
|
204
|
+
if (isNullOrEmptyString(str))
|
|
205
|
+
return false;
|
|
206
|
+
else if (exports.BoolTrueStrings.includes(str.toLowerCase()))
|
|
207
|
+
return true;
|
|
208
|
+
else if (options && options.allowPositiveNumbers && isNumeric(str))
|
|
209
|
+
return Number(str) > 0; //any number greater than 0 is considered true.
|
|
210
|
+
else
|
|
211
|
+
return false;
|
|
212
|
+
}
|
|
213
|
+
exports.isTrueString = isTrueString;
|
|
214
|
+
function newGuid() {
|
|
215
|
+
var S4 = () => {
|
|
216
|
+
return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
|
|
217
|
+
};
|
|
218
|
+
// then to call it, plus stitch in '4' in the third group
|
|
219
|
+
return (S4() + S4() + "-" + S4() + "-4" + S4().substr(0, 3) + "-" + S4() + "-" + S4() + S4() + S4()).toLowerCase();
|
|
220
|
+
}
|
|
221
|
+
exports.newGuid = newGuid;
|
|
222
|
+
/** check if object has all members (they are not undefined) */
|
|
223
|
+
function hasMembers(o, ...members) {
|
|
224
|
+
if (!isNullOrUndefined(o)) {
|
|
225
|
+
for (let i = 0; i < members.length; i++)
|
|
226
|
+
if (isUndefined(o[members[i]]))
|
|
227
|
+
return false;
|
|
228
|
+
return true; //not null and all members exist
|
|
229
|
+
}
|
|
230
|
+
return false;
|
|
231
|
+
}
|
|
232
|
+
exports.hasMembers = hasMembers;
|
|
233
|
+
/** compares 2 versions. if v1 is bigger return 1, if v2 is bigger returns -1, if equals return 0 */
|
|
234
|
+
function CompareVersion(v1, v2) {
|
|
235
|
+
let v1Split = v1 && v1.split('.').map(s => parseInt(s, 10)) || [];
|
|
236
|
+
let v2Split = v2 && v2.split('.').map(s => parseInt(s, 10)) || [];
|
|
237
|
+
for (let i = 0; i < Math.max(v1.length, v2.length); i++) {
|
|
238
|
+
let p1 = v1Split[i];
|
|
239
|
+
let p2 = v2Split[i];
|
|
240
|
+
if (isNaN(p1))
|
|
241
|
+
p1 = -1;
|
|
242
|
+
if (isNaN(p2))
|
|
243
|
+
p2 = -1;
|
|
244
|
+
if (p1 > p2)
|
|
245
|
+
return 1;
|
|
246
|
+
else if (p1 < p2)
|
|
247
|
+
return -1;
|
|
248
|
+
}
|
|
249
|
+
//finished while equal? return 0
|
|
250
|
+
return 0;
|
|
251
|
+
}
|
|
252
|
+
exports.CompareVersion = CompareVersion;
|
|
253
|
+
/** pass along a list of unsafe tests to get a value, the first one that doesn't throw an exception and doesnt return null will get returned */
|
|
254
|
+
function SafeIfElse(...list) {
|
|
255
|
+
for (let i = 0; i < list.length; i++) {
|
|
256
|
+
let v = null;
|
|
257
|
+
let getter = list[i];
|
|
258
|
+
if (isFunction(getter)) {
|
|
259
|
+
try {
|
|
260
|
+
v = getter();
|
|
261
|
+
}
|
|
262
|
+
catch (e) {
|
|
263
|
+
v = null;
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
else
|
|
267
|
+
v = getter;
|
|
268
|
+
if (!isNullOrUndefined(v))
|
|
269
|
+
return v;
|
|
270
|
+
}
|
|
271
|
+
return null;
|
|
272
|
+
}
|
|
273
|
+
exports.SafeIfElse = SafeIfElse;
|
|
274
|
+
//# sourceMappingURL=typecheckers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typecheckers.js","sourceRoot":"","sources":["../../src/helpers/typecheckers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { IDictionary } from "./_dependencies";
|
|
2
|
+
/**
|
|
3
|
+
* Get query string parameter by name
|
|
4
|
+
* @param name name of parameter
|
|
5
|
+
* @param url optional, url. if not sent - current window.location.href will be used
|
|
6
|
+
*/
|
|
7
|
+
export declare function getQueryStringParameter(param: string, url?: string, caseInSensitive?: boolean): string;
|
|
8
|
+
/**
|
|
9
|
+
* Get url hash parameter by name
|
|
10
|
+
* @param name name of parameter
|
|
11
|
+
* @param url optional, url. if not sent - current window.location.href will be used
|
|
12
|
+
*/
|
|
13
|
+
export declare function getHashParameter(param: string, url?: string, caseInSensitive?: boolean): string;
|
|
14
|
+
/** return a value of a parameter from a key/value string like: key=value&key2=value2 */
|
|
15
|
+
export declare function getParameterValue(param: string, keyValueString: string, caseInSensitive?: boolean): string;
|
|
16
|
+
/**
|
|
17
|
+
* Make full url relative to current page location
|
|
18
|
+
* @param url
|
|
19
|
+
*/
|
|
20
|
+
export declare function makeFullUrl(url: string, baseUrl?: string): string;
|
|
21
|
+
/** if the url is the same, only different hash parameter - reload the page. otherwise - navigate to the page */
|
|
22
|
+
export declare function navigateOrReload(urlWithHash: string): void;
|
|
23
|
+
/** baseUrl is optional full or server relative URL to build folder relative urls from. */
|
|
24
|
+
export declare function makeServerRelativeUrl(url: string, baseUrl?: string): string;
|
|
25
|
+
/** Normalizes URL ending, end with or without slash */
|
|
26
|
+
export declare function normalizeUrl(url: string, endWithSlash?: boolean): string;
|
|
27
|
+
/**
|
|
28
|
+
* Returns the extension for a specified url string. Requires the URL polyfill for IE.
|
|
29
|
+
*/
|
|
30
|
+
export declare function getURLExtension(url: string): string;
|
|
31
|
+
export declare function isDataUrl(url: string): boolean;
|
|
32
|
+
export declare function setUrlKeyValue(keyName: string, keyValue: string, bEncode: boolean, url?: string): string;
|
|
33
|
+
export declare function removeUrlKeyValue(keyName: string, url?: string): string;
|
|
34
|
+
/**
|
|
35
|
+
* Returns encoded string from encodeURIComponent with single quote replaced with %27 or %27%27
|
|
36
|
+
*/
|
|
37
|
+
export declare function encodeURIComponentEX(str: any, options?: {
|
|
38
|
+
/** use this flag when making a REST requst, and encoding a parameter surrounded by 'param'
|
|
39
|
+
* for each level of '' your param is sorounded with
|
|
40
|
+
* example: filename('par'am') > send 2 to make it filename('par''am')
|
|
41
|
+
* example 2: sheet(' ''par'am'' ') > send 4 to make it sheet(' ''par''''am'' ')
|
|
42
|
+
*/
|
|
43
|
+
singleQuoteMultiplier?: number;
|
|
44
|
+
}): string;
|
|
45
|
+
export declare function parseQueryString(url: string): IDictionary<string>;
|
|
46
|
+
export declare function parseHash(url: string): IDictionary<string>;
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseHash = exports.parseQueryString = exports.encodeURIComponentEX = exports.removeUrlKeyValue = exports.setUrlKeyValue = exports.isDataUrl = exports.getURLExtension = exports.normalizeUrl = exports.makeServerRelativeUrl = exports.navigateOrReload = exports.makeFullUrl = exports.getParameterValue = exports.getHashParameter = exports.getQueryStringParameter = void 0;
|
|
4
|
+
const collections_base_1 = require("./collections.base");
|
|
5
|
+
const typecheckers_1 = require("./typecheckers");
|
|
6
|
+
const urlhelper_1 = require("./urlhelper");
|
|
7
|
+
/**
|
|
8
|
+
* Get query string parameter by name
|
|
9
|
+
* @param name name of parameter
|
|
10
|
+
* @param url optional, url. if not sent - current window.location.href will be used
|
|
11
|
+
*/
|
|
12
|
+
function getQueryStringParameter(param, url, caseInSensitive) {
|
|
13
|
+
let search = window.location.search;
|
|
14
|
+
if (!(0, typecheckers_1.isNullOrEmptyString)(url)) {
|
|
15
|
+
let tmp = url.split('#')[0].split('?');
|
|
16
|
+
search = tmp.length > 1 ? tmp[1] : '';
|
|
17
|
+
}
|
|
18
|
+
return getParameterValue(param, search, caseInSensitive);
|
|
19
|
+
}
|
|
20
|
+
exports.getQueryStringParameter = getQueryStringParameter;
|
|
21
|
+
/**
|
|
22
|
+
* Get url hash parameter by name
|
|
23
|
+
* @param name name of parameter
|
|
24
|
+
* @param url optional, url. if not sent - current window.location.href will be used
|
|
25
|
+
*/
|
|
26
|
+
function getHashParameter(param, url, caseInSensitive) {
|
|
27
|
+
let hash = window.location.hash;
|
|
28
|
+
if (!(0, typecheckers_1.isNullOrEmptyString)(url)) {
|
|
29
|
+
let tmp = url.split('#');
|
|
30
|
+
hash = tmp.length > 1 ? tmp[1] : '';
|
|
31
|
+
}
|
|
32
|
+
return getParameterValue(param, hash, caseInSensitive);
|
|
33
|
+
}
|
|
34
|
+
exports.getHashParameter = getHashParameter;
|
|
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.substr(1) : keyValueString;
|
|
38
|
+
var parsed = _keyValueString.split('&');
|
|
39
|
+
for (var i = 0; i < parsed.length; i++) {
|
|
40
|
+
var values = parsed[i].split('=');
|
|
41
|
+
if (caseInSensitive ? values[0] === param : values[0].toLowerCase() === param.toLowerCase()) {
|
|
42
|
+
let v = (values.length > 1 ? values[1] : param);
|
|
43
|
+
return decodeURIComponent(v.replace(/\+/g, " "));
|
|
44
|
+
}
|
|
45
|
+
//ISSUE: 1301 - the query string parameter name was encoded in window.location.href/window.location.search even though in the
|
|
46
|
+
//url bar the paramter name was not encoded
|
|
47
|
+
if (caseInSensitive ? decodeURIComponent(values[0]) === param : decodeURIComponent(values[0]).toLowerCase() === param.toLowerCase()) {
|
|
48
|
+
let v = (values.length > 1 ? values[1] : param);
|
|
49
|
+
return decodeURIComponent(v.replace(/\+/g, " "));
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return "";
|
|
53
|
+
}
|
|
54
|
+
exports.getParameterValue = getParameterValue;
|
|
55
|
+
/**
|
|
56
|
+
* Make full url relative to current page location
|
|
57
|
+
* @param url
|
|
58
|
+
*/
|
|
59
|
+
function makeFullUrl(url, baseUrl) {
|
|
60
|
+
if ((0, typecheckers_1.isNullOrEmptyString)(url))
|
|
61
|
+
url = baseUrl || window.location.href;
|
|
62
|
+
if (url.indexOf('://') > 0)
|
|
63
|
+
return url;
|
|
64
|
+
else {
|
|
65
|
+
//might be server relative or folder relative url.
|
|
66
|
+
if ((0, typecheckers_1.isNullOrEmptyString)(baseUrl) || url.startsWith('/')) {
|
|
67
|
+
var xxx = document.createElement("a");
|
|
68
|
+
xxx.href = url;
|
|
69
|
+
return xxx.href;
|
|
70
|
+
}
|
|
71
|
+
else //folder relative URL, and we have a different baseURL to base it on
|
|
72
|
+
{
|
|
73
|
+
return makeFullUrl(makeServerRelativeUrl(url, baseUrl));
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
exports.makeFullUrl = makeFullUrl;
|
|
78
|
+
/** if the url is the same, only different hash parameter - reload the page. otherwise - navigate to the page */
|
|
79
|
+
function navigateOrReload(urlWithHash) {
|
|
80
|
+
if (makeServerRelativeUrl(urlWithHash).split('#')[0].toLowerCase() === makeServerRelativeUrl(window.location.href).split('#')[0].toLowerCase())
|
|
81
|
+
window.location.reload(); //can't change hash - it won't refresh page
|
|
82
|
+
else
|
|
83
|
+
window.location.href = urlWithHash;
|
|
84
|
+
}
|
|
85
|
+
exports.navigateOrReload = navigateOrReload;
|
|
86
|
+
/** baseUrl is optional full or server relative URL to build folder relative urls from. */
|
|
87
|
+
function makeServerRelativeUrl(url, baseUrl) {
|
|
88
|
+
if ((0, typecheckers_1.isNullOrEmptyString)(url))
|
|
89
|
+
url = baseUrl || window.location.href.split('?')[0];
|
|
90
|
+
var index = url.indexOf("//");
|
|
91
|
+
if (index > 0) //this is a full URL, just trim it from // until the first / and return.
|
|
92
|
+
{
|
|
93
|
+
index = url.indexOf("/", index + 2); //find next / after the ://domain.name
|
|
94
|
+
if (index < 0)
|
|
95
|
+
return "/"; //not found - return "/" for the root.
|
|
96
|
+
else
|
|
97
|
+
return url.slice(index); //found - return from that "/" onwards.
|
|
98
|
+
}
|
|
99
|
+
else if (url.startsWith('/')) //server relative url already
|
|
100
|
+
return url;
|
|
101
|
+
else //folder relative url
|
|
102
|
+
{
|
|
103
|
+
let baseRelativeUrl = makeServerRelativeUrl(baseUrl || window.location.href);
|
|
104
|
+
baseRelativeUrl = baseRelativeUrl.split('?')[0];
|
|
105
|
+
//if ends with file name - strip it
|
|
106
|
+
if ((0, collections_base_1.lastOrNull)(baseRelativeUrl.split('/')).indexOf('.') >= 0)
|
|
107
|
+
baseRelativeUrl = baseRelativeUrl.substr(0, baseRelativeUrl.lastIndexOf('/'));
|
|
108
|
+
return normalizeUrl(baseRelativeUrl, true) + url;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
exports.makeServerRelativeUrl = makeServerRelativeUrl;
|
|
112
|
+
/** Normalizes URL ending, end with or without slash */
|
|
113
|
+
function normalizeUrl(url, endWithSlash = false) {
|
|
114
|
+
var tmp = url;
|
|
115
|
+
if (endWithSlash) {
|
|
116
|
+
if ((0, typecheckers_1.isNullOrEmptyString)(tmp))
|
|
117
|
+
tmp = "/";
|
|
118
|
+
else if (tmp.substr(-1) !== "/")
|
|
119
|
+
tmp += "/";
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
if (!(0, typecheckers_1.isNullOrEmptyString)(tmp) && tmp.endsWith('/'))
|
|
123
|
+
tmp = tmp.slice(0, url.length - 1);
|
|
124
|
+
}
|
|
125
|
+
return tmp;
|
|
126
|
+
}
|
|
127
|
+
exports.normalizeUrl = normalizeUrl;
|
|
128
|
+
/**
|
|
129
|
+
* Returns the extension for a specified url string. Requires the URL polyfill for IE.
|
|
130
|
+
*/
|
|
131
|
+
function getURLExtension(url) {
|
|
132
|
+
if (!(0, typecheckers_1.isString)(url)) {
|
|
133
|
+
return "";
|
|
134
|
+
}
|
|
135
|
+
//if (!isString(baseUri)) {
|
|
136
|
+
// baseUri = document.baseURI || window.location.protocol + "://" + window.location.hostname + window.location.pathname;
|
|
137
|
+
//}
|
|
138
|
+
var urlObj = new URL(url, "https://example.com");
|
|
139
|
+
url = urlObj.href.replace(urlObj.host, "").replace(urlObj.hash, "").replace(urlObj.search, "");
|
|
140
|
+
return url.substring(url.lastIndexOf("/") + 1).split(/#|\?/)[0].split(".").pop().trim();
|
|
141
|
+
}
|
|
142
|
+
exports.getURLExtension = getURLExtension;
|
|
143
|
+
function isDataUrl(url) {
|
|
144
|
+
var REGEXP_DATA_URL = /^data:(?:.+?\/.+?)?(?:;.+?=.+?)*(?:;base64)?,.*$/;
|
|
145
|
+
return REGEXP_DATA_URL.test(url);
|
|
146
|
+
}
|
|
147
|
+
exports.isDataUrl = isDataUrl;
|
|
148
|
+
function setUrlKeyValue(keyName, keyValue, bEncode, url) {
|
|
149
|
+
if (!(0, typecheckers_1.isString)(url)) {
|
|
150
|
+
url = window.location.href + "";
|
|
151
|
+
}
|
|
152
|
+
var urlParams = new urlhelper_1.URLHelper(url);
|
|
153
|
+
return urlParams.setQueryStringParam(keyName, keyValue, bEncode);
|
|
154
|
+
}
|
|
155
|
+
exports.setUrlKeyValue = setUrlKeyValue;
|
|
156
|
+
function removeUrlKeyValue(keyName, url) {
|
|
157
|
+
if (!(0, typecheckers_1.isString)(url)) {
|
|
158
|
+
url = window.location.href + "";
|
|
159
|
+
}
|
|
160
|
+
var urlParams = new urlhelper_1.URLHelper(url);
|
|
161
|
+
return urlParams.removeQueryStringParam(keyName);
|
|
162
|
+
}
|
|
163
|
+
exports.removeUrlKeyValue = removeUrlKeyValue;
|
|
164
|
+
/**
|
|
165
|
+
* Returns encoded string from encodeURIComponent with single quote replaced with %27 or %27%27
|
|
166
|
+
*/
|
|
167
|
+
function encodeURIComponentEX(str, options) {
|
|
168
|
+
return encodeURIComponent(str).replace(/'/g, (s) => {
|
|
169
|
+
return options && options.singleQuoteMultiplier > 1
|
|
170
|
+
? (0, collections_base_1.ArrayFill)(new Array(options.singleQuoteMultiplier), "%27").join('')
|
|
171
|
+
: `%27`;
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
exports.encodeURIComponentEX = encodeURIComponentEX;
|
|
175
|
+
function parseQueryString(url) {
|
|
176
|
+
if ((0, typecheckers_1.isNullOrEmptyString)(url) || url.indexOf('?') < 0)
|
|
177
|
+
return {};
|
|
178
|
+
let strParams = url.split('?')[1].split('#')[0].split('&');
|
|
179
|
+
let params = {};
|
|
180
|
+
strParams.forEach(p => {
|
|
181
|
+
let keyValue = p.split("=");
|
|
182
|
+
params[keyValue[0]] = decodeURIComponent(keyValue[1] || "");
|
|
183
|
+
});
|
|
184
|
+
return params;
|
|
185
|
+
}
|
|
186
|
+
exports.parseQueryString = parseQueryString;
|
|
187
|
+
function parseHash(url) {
|
|
188
|
+
if ((0, typecheckers_1.isNullOrEmptyString)(url) || url.indexOf('#') < 0)
|
|
189
|
+
return {};
|
|
190
|
+
let strParams = url.split('#')[1].split('&');
|
|
191
|
+
let params = {};
|
|
192
|
+
strParams.forEach(p => {
|
|
193
|
+
let keyValue = p.split("=");
|
|
194
|
+
params[keyValue[0]] = decodeURIComponent(keyValue[1] || "");
|
|
195
|
+
});
|
|
196
|
+
return params;
|
|
197
|
+
}
|
|
198
|
+
exports.parseHash = parseHash;
|
|
199
|
+
//# sourceMappingURL=url.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"url.js","sourceRoot":"","sources":["../../src/helpers/url.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare class URLHelper {
|
|
2
|
+
private queryStringParams;
|
|
3
|
+
private hashParams;
|
|
4
|
+
private path;
|
|
5
|
+
constructor(url: string);
|
|
6
|
+
getQueryStringParam(keyName: string, bNoDecode?: boolean, bCaseInsensitive?: boolean): string;
|
|
7
|
+
setQueryStringParam(keyName: string, keyValue: string, bEncode: boolean): string;
|
|
8
|
+
removeQueryStringParam(keyName: string): string;
|
|
9
|
+
getHashParam(keyName: string, bNoDecode?: boolean, bCaseInsensitive?: boolean): string;
|
|
10
|
+
setHashParam(keyName: string, keyValue: string, bEncode: boolean): string;
|
|
11
|
+
removeHashParam(keyName: string): string;
|
|
12
|
+
private _parseParams;
|
|
13
|
+
private _removeParam;
|
|
14
|
+
private _getParam;
|
|
15
|
+
getUrl(): string;
|
|
16
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.URLHelper = void 0;
|
|
4
|
+
class URLHelper {
|
|
5
|
+
constructor(url) {
|
|
6
|
+
var parts = url.split("#");
|
|
7
|
+
var pathAndQueryString = parts[0];
|
|
8
|
+
var hash = parts[1];
|
|
9
|
+
var parts2 = pathAndQueryString.split("?");
|
|
10
|
+
var path = parts2[0];
|
|
11
|
+
var queryString = parts2[1];
|
|
12
|
+
this.path = path;
|
|
13
|
+
this.queryStringParams = this._parseParams(queryString);
|
|
14
|
+
this.hashParams = this._parseParams(hash);
|
|
15
|
+
}
|
|
16
|
+
getQueryStringParam(keyName, bNoDecode, bCaseInsensitive) {
|
|
17
|
+
return this._getParam(this.queryStringParams, keyName, bNoDecode, bCaseInsensitive);
|
|
18
|
+
}
|
|
19
|
+
setQueryStringParam(keyName, keyValue, bEncode) {
|
|
20
|
+
this.queryStringParams[keyName] = bEncode ? encodeURIComponent(keyValue) : keyValue;
|
|
21
|
+
return this.getUrl();
|
|
22
|
+
}
|
|
23
|
+
removeQueryStringParam(keyName) {
|
|
24
|
+
this._removeParam(this.queryStringParams, keyName);
|
|
25
|
+
return this.getUrl();
|
|
26
|
+
}
|
|
27
|
+
getHashParam(keyName, bNoDecode, bCaseInsensitive) {
|
|
28
|
+
return this._getParam(this.hashParams, keyName, bNoDecode, bCaseInsensitive);
|
|
29
|
+
}
|
|
30
|
+
setHashParam(keyName, keyValue, bEncode) {
|
|
31
|
+
this.hashParams[keyName] = bEncode ? encodeURIComponent(keyValue) : keyValue;
|
|
32
|
+
return this.getUrl();
|
|
33
|
+
}
|
|
34
|
+
removeHashParam(keyName) {
|
|
35
|
+
this._removeParam(this.hashParams, keyName);
|
|
36
|
+
return this.getUrl();
|
|
37
|
+
}
|
|
38
|
+
_parseParams(paramsAsString) {
|
|
39
|
+
var paramsDict = {};
|
|
40
|
+
try {
|
|
41
|
+
(typeof (paramsAsString) === "string" && paramsAsString.length ? paramsAsString.split("&") : []).forEach((s) => {
|
|
42
|
+
var q = s.split("=");
|
|
43
|
+
var paramKey = decodeURIComponent(q[0]);
|
|
44
|
+
var paramValue = q[1];
|
|
45
|
+
if (typeof (paramKey) === "string" && paramKey.length) {
|
|
46
|
+
paramsDict[paramKey] = typeof (paramValue) === "string" && paramValue.length ? paramValue : null;
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
catch (ex) {
|
|
51
|
+
}
|
|
52
|
+
return paramsDict;
|
|
53
|
+
}
|
|
54
|
+
_removeParam(obj, keyName) {
|
|
55
|
+
if (obj && obj[keyName]) {
|
|
56
|
+
try {
|
|
57
|
+
delete obj[keyName];
|
|
58
|
+
}
|
|
59
|
+
catch (ex) {
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
_getParam(obj, keyName, bNoDecode, bCaseInsensitive) {
|
|
64
|
+
var value = null;
|
|
65
|
+
if (bCaseInsensitive) {
|
|
66
|
+
var matchedKey = Object.keys(obj).filter((key) => {
|
|
67
|
+
return key.toLowerCase() === keyName.toLowerCase();
|
|
68
|
+
})[0];
|
|
69
|
+
if (matchedKey) {
|
|
70
|
+
value = obj[matchedKey];
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
value = obj[keyName];
|
|
75
|
+
}
|
|
76
|
+
return typeof (value) === "string" ? (bNoDecode ? value : decodeURIComponent(value)) : null;
|
|
77
|
+
}
|
|
78
|
+
getUrl() {
|
|
79
|
+
var queryString = Object.keys(this.queryStringParams).map((key) => {
|
|
80
|
+
var value = this.queryStringParams[key];
|
|
81
|
+
return `${key}` + (value !== null ? `=${value}` : "");
|
|
82
|
+
});
|
|
83
|
+
var hash = Object.keys(this.hashParams).map((key) => {
|
|
84
|
+
var value = this.hashParams[key];
|
|
85
|
+
return `${key}` + (value !== null ? `=${value}` : "");
|
|
86
|
+
});
|
|
87
|
+
var newUrl = [
|
|
88
|
+
typeof (this.path) === "string" && this.path.length ? this.path : "",
|
|
89
|
+
queryString && queryString.length ? `?${queryString.join("&")}` : "",
|
|
90
|
+
hash && hash.length ? `#${hash.join("&")}` : ""
|
|
91
|
+
];
|
|
92
|
+
return newUrl.join("");
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
exports.URLHelper = URLHelper;
|
|
96
|
+
//# sourceMappingURL=urlhelper.js.map
|