@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,6 @@
|
|
|
1
|
+
export declare function deleteCookie(cookieName: string, path?: string): void;
|
|
2
|
+
export declare function getAllCookies(prefix?: string): string[];
|
|
3
|
+
/** get a cookie's value by that name, or null */
|
|
4
|
+
export declare function getCookie(cookieName: string): string;
|
|
5
|
+
/** set a cookie by that name and value. if you do not send expireDays, it will be a session cookie (in memory) */
|
|
6
|
+
export declare function setCookie(name: string, value: string, expireDays?: number, path?: string): void;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setCookie = exports.getCookie = exports.getAllCookies = exports.deleteCookie = void 0;
|
|
4
|
+
const strings_1 = require("./strings");
|
|
5
|
+
const typecheckers_1 = require("./typecheckers");
|
|
6
|
+
var _zeroDay = new Date(0);
|
|
7
|
+
var _today = new Date();
|
|
8
|
+
function deleteCookie(cookieName, path) {
|
|
9
|
+
var days = (_zeroDay.getTime() - _today.getTime()) / (24 * 60 * 60 * 1000);
|
|
10
|
+
setCookie(cookieName, "", Math.round(days), path);
|
|
11
|
+
}
|
|
12
|
+
exports.deleteCookie = deleteCookie;
|
|
13
|
+
function getAllCookies(prefix) {
|
|
14
|
+
let cookies = document.cookie.split(';');
|
|
15
|
+
let names = [];
|
|
16
|
+
for (var k = 0; k < cookies.length; k++) {
|
|
17
|
+
let cookieSplit = cookies[k].split('=');
|
|
18
|
+
let cookieName = (0, strings_1.trim)(cookieSplit[0]);
|
|
19
|
+
if ((0, typecheckers_1.isNullOrEmptyString)(prefix) || cookieName.indexOf(prefix) === 0)
|
|
20
|
+
names.push(cookieName);
|
|
21
|
+
}
|
|
22
|
+
return names;
|
|
23
|
+
}
|
|
24
|
+
exports.getAllCookies = getAllCookies;
|
|
25
|
+
/** get a cookie's value by that name, or null */
|
|
26
|
+
function getCookie(cookieName) {
|
|
27
|
+
try {
|
|
28
|
+
let cookies = document.cookie.split(';');
|
|
29
|
+
for (var k = 0; k < cookies.length; k++) {
|
|
30
|
+
let cookieSplit = cookies[k].split('=');
|
|
31
|
+
if ((0, strings_1.trim)(cookieSplit[0]) === cookieName) {
|
|
32
|
+
return decodeURIComponent((0, strings_1.trim)(cookieSplit[1]));
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
catch (e) { }
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
exports.getCookie = getCookie;
|
|
40
|
+
/** set a cookie by that name and value. if you do not send expireDays, it will be a session cookie (in memory) */
|
|
41
|
+
function setCookie(name, value, expireDays, path) {
|
|
42
|
+
var cookie = [];
|
|
43
|
+
var cookieValue = `${name}=${(0, typecheckers_1.isString)(value) ? value : ""}`;
|
|
44
|
+
cookie.push(cookieValue);
|
|
45
|
+
if ((0, typecheckers_1.isNumeric)(expireDays)) {
|
|
46
|
+
var d = new Date();
|
|
47
|
+
d.setTime(d.getTime() + (expireDays * 24 * 60 * 60 * 1000));
|
|
48
|
+
var cookieExpires = "expires=" + d.toUTCString();
|
|
49
|
+
cookie.push(cookieExpires);
|
|
50
|
+
}
|
|
51
|
+
var cookiePath = `${(0, typecheckers_1.isString)(path) ? `path=` + path : "path=/"}`;
|
|
52
|
+
cookie.push(cookiePath);
|
|
53
|
+
document.cookie = cookie.join(";");
|
|
54
|
+
}
|
|
55
|
+
exports.setCookie = setCookie;
|
|
56
|
+
//# sourceMappingURL=cookies.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cookies.js","sourceRoot":"","sources":["../../src/helpers/cookies.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* a date helper that is not relying on SharePoint or any utils at all
|
|
3
|
+
* can be synced to the server code and external projects
|
|
4
|
+
* do not add code that needs SP or utils -> move it to utils/date
|
|
5
|
+
*/
|
|
6
|
+
export declare function isISODateUTC(d: string): boolean;
|
|
7
|
+
export declare function isISODate(d: string): boolean;
|
|
8
|
+
export declare function isStandardDate(d: string): boolean;
|
|
9
|
+
export declare function parseISODate(a: string): Date | null;
|
|
10
|
+
/** Get now date, without seconds or milliseconds. */
|
|
11
|
+
export declare function getNow(): Date;
|
|
12
|
+
/** Get today date, without hours, minutes, seconds or milliseconds. */
|
|
13
|
+
export declare function getToday(): Date;
|
|
14
|
+
export declare enum DateFormats {
|
|
15
|
+
YMD = "yyyy-MM-dd"
|
|
16
|
+
}
|
|
17
|
+
export declare function changeDate(options: {
|
|
18
|
+
years?: number;
|
|
19
|
+
months?: number;
|
|
20
|
+
days?: number;
|
|
21
|
+
hours?: number;
|
|
22
|
+
minutes?: number;
|
|
23
|
+
}, startDate?: Date): Date;
|
|
24
|
+
export declare function cloneDate(date: Date): Date;
|
|
25
|
+
/** Returns a new date object adjusted for the time format */
|
|
26
|
+
export declare function getDateFromToken(str: string, options?: {
|
|
27
|
+
now?: Date;
|
|
28
|
+
zeroTimeForToday?: boolean;
|
|
29
|
+
}): Date;
|
|
30
|
+
export declare function isTodayToken(str: string): boolean;
|
|
31
|
+
export declare function isNowToken(str: string): boolean;
|
|
32
|
+
/** Get the number of seconds from date (in the past) to now */
|
|
33
|
+
export declare function getSecondsElapsed(from: Date): number;
|
|
34
|
+
/** Get the total number of days in a given month specified by a date object */
|
|
35
|
+
export declare function getTotalDaysInMonth(obj: Date): number;
|
|
36
|
+
/** Shifts the date by a certain number of months and takes into account the total number of days in the new month.
|
|
37
|
+
* For example, if you shift January 31st by one month it will return February 28th (29th for a leap year) instead of March 3rd (2nd in leap year)
|
|
38
|
+
*/
|
|
39
|
+
export declare function shiftMonths(obj: Date, months: number): void;
|
|
40
|
+
/**
|
|
41
|
+
* Gets last day of month given a date
|
|
42
|
+
*/
|
|
43
|
+
export declare function getLastDayOfMomth(obj: Date): Date;
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* a date helper that is not relying on SharePoint or any utils at all
|
|
4
|
+
* can be synced to the server code and external projects
|
|
5
|
+
* do not add code that needs SP or utils -> move it to utils/date
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.getLastDayOfMomth = exports.shiftMonths = exports.getTotalDaysInMonth = exports.getSecondsElapsed = exports.isNowToken = exports.isTodayToken = exports.getDateFromToken = exports.cloneDate = exports.changeDate = exports.DateFormats = exports.getToday = exports.getNow = exports.parseISODate = exports.isStandardDate = exports.isISODate = exports.isISODateUTC = void 0;
|
|
9
|
+
const strings_1 = require("./strings");
|
|
10
|
+
const typecheckers_1 = require("./typecheckers");
|
|
11
|
+
function isISODateUTC(d) {
|
|
12
|
+
//2023-08-21T15:54:14.954Z = true
|
|
13
|
+
//2023-08-21T15:54:14.954 = false
|
|
14
|
+
//2023-08-21T15:54:14Z = true
|
|
15
|
+
//2023-08-21T15:54:14 = false
|
|
16
|
+
//2023-08-21T15:54 = false
|
|
17
|
+
return isISODate(d) && (0, strings_1.endsWith)(d, "Z", true);
|
|
18
|
+
}
|
|
19
|
+
exports.isISODateUTC = isISODateUTC;
|
|
20
|
+
function isISODate(d) {
|
|
21
|
+
//2023-08-21T15:54:14.954Z = true
|
|
22
|
+
//2023-08-21T15:54:14.954 = true
|
|
23
|
+
//2023-08-21T15:54:14Z = true
|
|
24
|
+
//2023-08-21T15:54:14 = true
|
|
25
|
+
//2023-08-21T15:54 = false
|
|
26
|
+
return (0, typecheckers_1.isString)(d) && /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)((-(\d{2}):(\d{2})|Z)?)$/.test(d);
|
|
27
|
+
}
|
|
28
|
+
exports.isISODate = isISODate;
|
|
29
|
+
function isStandardDate(d) {
|
|
30
|
+
//2023-08-21T15:54:14.954Z = false
|
|
31
|
+
//2023-08-21T15:54:14.954 = false
|
|
32
|
+
//2023-08-21T15:54:14Z = false
|
|
33
|
+
//2023-08-21T15:54:14 = false
|
|
34
|
+
//2023-08-21T15:54 = true
|
|
35
|
+
return (0, typecheckers_1.isString)(d) && /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2})$/.test(d);
|
|
36
|
+
}
|
|
37
|
+
exports.isStandardDate = isStandardDate;
|
|
38
|
+
function parseISODate(a) {
|
|
39
|
+
if (!Date.prototype.toISOString) {
|
|
40
|
+
if (a.length < 19) {
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
var i = Number(a.substr(0, 4)), f = Number(a.substr(5, 2)), d = Number(a.substr(8, 2)), h = Number(a.substr(11, 2)), e = Number(a.substr(14, 2)), g = Number(a.substr(17, 2));
|
|
44
|
+
if (isNaN(i) || isNaN(f) || isNaN(d) || isNaN(h) || isNaN(e) || isNaN(g)) {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
// b = new Date(Date.UTC(i, f - 1, d, h, e, g));
|
|
48
|
+
return new Date(Date.UTC(i, f - 1, d, h, e, g));
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
return new Date(a);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
exports.parseISODate = parseISODate;
|
|
55
|
+
/** Get now date, without seconds or milliseconds. */
|
|
56
|
+
function getNow() {
|
|
57
|
+
let now = new Date();
|
|
58
|
+
now.setSeconds(0, 0);
|
|
59
|
+
return now;
|
|
60
|
+
}
|
|
61
|
+
exports.getNow = getNow;
|
|
62
|
+
/** Get today date, without hours, minutes, seconds or milliseconds. */
|
|
63
|
+
function getToday() {
|
|
64
|
+
let today = new Date();
|
|
65
|
+
today.setHours(0, 0, 0, 0);
|
|
66
|
+
return today;
|
|
67
|
+
}
|
|
68
|
+
exports.getToday = getToday;
|
|
69
|
+
// eslint-disable-next-line no-shadow
|
|
70
|
+
var DateFormats;
|
|
71
|
+
(function (DateFormats) {
|
|
72
|
+
DateFormats["YMD"] = "yyyy-MM-dd";
|
|
73
|
+
})(DateFormats || (exports.DateFormats = DateFormats = {}));
|
|
74
|
+
function changeDate(options, startDate) {
|
|
75
|
+
let newDate = (0, typecheckers_1.isDate)(startDate) ? new Date(startDate.getTime()) : new Date(); //today, or the day that was passed
|
|
76
|
+
if (options) {
|
|
77
|
+
if (!(0, typecheckers_1.isNullOrUndefined)(options.years))
|
|
78
|
+
newDate.setFullYear(newDate.getFullYear() + options.years);
|
|
79
|
+
if (!(0, typecheckers_1.isNullOrUndefined)(options.months))
|
|
80
|
+
newDate.setMonth(newDate.getMonth() + options.months);
|
|
81
|
+
if (!(0, typecheckers_1.isNullOrUndefined)(options.days))
|
|
82
|
+
options.hours = ((0, typecheckers_1.isNullOrUndefined)(options.hours) ? 0 : options.hours) + (options.days * 24);
|
|
83
|
+
if (!(0, typecheckers_1.isNullOrUndefined)(options.hours))
|
|
84
|
+
options.minutes = ((0, typecheckers_1.isNullOrUndefined)(options.minutes) ? 0 : options.minutes) + (options.hours * 60);
|
|
85
|
+
if (!(0, typecheckers_1.isNullOrUndefined)(options.minutes) && options.minutes !== 0)
|
|
86
|
+
newDate = new Date(newDate.getTime() + (options.minutes * 60 * 1000));
|
|
87
|
+
}
|
|
88
|
+
return newDate;
|
|
89
|
+
}
|
|
90
|
+
exports.changeDate = changeDate;
|
|
91
|
+
function cloneDate(date) {
|
|
92
|
+
return new Date(date.getTime());
|
|
93
|
+
}
|
|
94
|
+
exports.cloneDate = cloneDate;
|
|
95
|
+
/** Returns a new date object adjusted for the time format */
|
|
96
|
+
function getDateFromToken(str, options) {
|
|
97
|
+
let now = options && options.now ? new Date(options.now.getTime()) : new Date();
|
|
98
|
+
if (!isTodayToken(str) && !isNowToken(str))
|
|
99
|
+
return now;
|
|
100
|
+
let token = isTodayToken(str) ? "Today" : "Now";
|
|
101
|
+
var includeTime = token === "Now";
|
|
102
|
+
if (!includeTime && options && options.zeroTimeForToday) {
|
|
103
|
+
now.setHours(0, 0, 0, 0);
|
|
104
|
+
}
|
|
105
|
+
var n = str.replace(new RegExp(`\\[${token}\\]`, "im"), "");
|
|
106
|
+
n = n.replace(/\s/g, "");
|
|
107
|
+
var offset = n && n !== "" ? Number(n) : 0;
|
|
108
|
+
if (includeTime) {
|
|
109
|
+
now.setMinutes(now.getMinutes() + offset);
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
now.setDate(now.getDate() + offset);
|
|
113
|
+
}
|
|
114
|
+
return now;
|
|
115
|
+
}
|
|
116
|
+
exports.getDateFromToken = getDateFromToken;
|
|
117
|
+
function isTodayToken(str) {
|
|
118
|
+
return str.match(/^\[today\]/im) !== null;
|
|
119
|
+
}
|
|
120
|
+
exports.isTodayToken = isTodayToken;
|
|
121
|
+
function isNowToken(str) {
|
|
122
|
+
return str.match(/^\[now\]/im) !== null;
|
|
123
|
+
}
|
|
124
|
+
exports.isNowToken = isNowToken;
|
|
125
|
+
/** Get the number of seconds from date (in the past) to now */
|
|
126
|
+
function getSecondsElapsed(from) {
|
|
127
|
+
let secondsElapsed = (new Date().getTime() - from.getTime()) / 1000;
|
|
128
|
+
return secondsElapsed;
|
|
129
|
+
}
|
|
130
|
+
exports.getSecondsElapsed = getSecondsElapsed;
|
|
131
|
+
/** Get the total number of days in a given month specified by a date object */
|
|
132
|
+
function getTotalDaysInMonth(obj) {
|
|
133
|
+
if ((0, typecheckers_1.isDate)(obj)) {
|
|
134
|
+
let d = new Date(obj.getFullYear(), obj.getMonth() + 1, 0);
|
|
135
|
+
return d.getDate();
|
|
136
|
+
}
|
|
137
|
+
return 0;
|
|
138
|
+
}
|
|
139
|
+
exports.getTotalDaysInMonth = getTotalDaysInMonth;
|
|
140
|
+
/** Shifts the date by a certain number of months and takes into account the total number of days in the new month.
|
|
141
|
+
* For example, if you shift January 31st by one month it will return February 28th (29th for a leap year) instead of March 3rd (2nd in leap year)
|
|
142
|
+
*/
|
|
143
|
+
function shiftMonths(obj, months) {
|
|
144
|
+
let desiredDate = obj.getDate();
|
|
145
|
+
//move to first day to avoid skipping months (ie. Jan 31 -> March 3)
|
|
146
|
+
obj.setDate(1);
|
|
147
|
+
obj.setMonth(obj.getMonth() + months);
|
|
148
|
+
obj.setDate(Math.min(desiredDate, getTotalDaysInMonth(obj)));
|
|
149
|
+
}
|
|
150
|
+
exports.shiftMonths = shiftMonths;
|
|
151
|
+
/**
|
|
152
|
+
* Gets last day of month given a date
|
|
153
|
+
*/
|
|
154
|
+
function getLastDayOfMomth(obj) {
|
|
155
|
+
return new Date(obj.getFullYear(), obj.getMonth() + 1, 0);
|
|
156
|
+
}
|
|
157
|
+
exports.getLastDayOfMomth = getLastDayOfMomth;
|
|
158
|
+
//# sourceMappingURL=date.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date.js","sourceRoot":"","sources":["../../src/helpers/date.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
interface IKWizComGlobalDebug {
|
|
2
|
+
_debug: boolean;
|
|
3
|
+
_consoleLoggerFilter: string[];
|
|
4
|
+
On: (Permanent?: boolean) => void;
|
|
5
|
+
Off: () => void;
|
|
6
|
+
ToggleLogs: (categoryName: string, silent?: boolean) => void;
|
|
7
|
+
/** purge all cache storage (SPFx may keep scripts cached) */
|
|
8
|
+
PurgeCache: (options?: {
|
|
9
|
+
skipCookies?: boolean;
|
|
10
|
+
skipStorage?: boolean;
|
|
11
|
+
onlyKWizComCaches?: boolean;
|
|
12
|
+
}) => Promise<{
|
|
13
|
+
success: boolean;
|
|
14
|
+
error?: any;
|
|
15
|
+
message?: string;
|
|
16
|
+
}>;
|
|
17
|
+
}
|
|
18
|
+
/** Get the global debug object. it will only be on the top window so don't put it in the IKWizComGlobals */
|
|
19
|
+
export declare function GetGlobalDebug(): {
|
|
20
|
+
Debug?: IKWizComGlobalDebug;
|
|
21
|
+
} & IKWizComGlobals;
|
|
22
|
+
export declare function isDebug(): boolean;
|
|
23
|
+
/** returns true if this is a kwizcom production/test tenant */
|
|
24
|
+
export declare function isKWizComTenant(): boolean;
|
|
25
|
+
export declare function isDebugOnKWizComTenant(): boolean;
|
|
26
|
+
export declare function consoleLoggerFilter(): string[];
|
|
27
|
+
export declare function waitIfDebug(seconds?: number): Promise<void>;
|
|
28
|
+
export declare function trackChangesToObject<T>(parent: unknown, objectName: string, tracker: {
|
|
29
|
+
onBeforeGet?: (v: T) => void;
|
|
30
|
+
onBeforeSet?: (v: T) => void;
|
|
31
|
+
onAfterSet?: (v: T) => void;
|
|
32
|
+
}): void;
|
|
33
|
+
export {};
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.trackChangesToObject = exports.waitIfDebug = exports.consoleLoggerFilter = exports.isDebugOnKWizComTenant = exports.isKWizComTenant = exports.isDebug = exports.GetGlobalDebug = void 0;
|
|
13
|
+
const _dependencies_1 = require("./_dependencies");
|
|
14
|
+
const cookies_1 = require("./cookies");
|
|
15
|
+
const objects_1 = require("./objects");
|
|
16
|
+
const promises_1 = require("./promises");
|
|
17
|
+
const typecheckers_1 = require("./typecheckers");
|
|
18
|
+
/** Get the global debug object. it will only be on the top window so don't put it in the IKWizComGlobals */
|
|
19
|
+
function GetGlobalDebug() {
|
|
20
|
+
return (0, objects_1.getKWizComGlobal)(true);
|
|
21
|
+
}
|
|
22
|
+
exports.GetGlobalDebug = GetGlobalDebug;
|
|
23
|
+
function SetGlobalDebugFunction() {
|
|
24
|
+
var kGlobal = GetGlobalDebug();
|
|
25
|
+
if ((0, typecheckers_1.isNullOrUndefined)(kGlobal.Debug)) {
|
|
26
|
+
kGlobal.Debug = {
|
|
27
|
+
_debug: null,
|
|
28
|
+
_consoleLoggerFilter: null,
|
|
29
|
+
On: (Permanent) => {
|
|
30
|
+
kGlobal.Debug._debug = true;
|
|
31
|
+
(0, cookies_1.setCookie)("KWizComDebug", "true", Permanent === true ? 365 : 1);
|
|
32
|
+
console.log("KWIZ Debug Mode: On");
|
|
33
|
+
},
|
|
34
|
+
Off: () => {
|
|
35
|
+
kGlobal.Debug._debug = false;
|
|
36
|
+
(0, cookies_1.deleteCookie)("KWizComDebug");
|
|
37
|
+
console.log("KWIZ Debug Mode: Off");
|
|
38
|
+
},
|
|
39
|
+
ToggleLogs: (categoryName, silent) => {
|
|
40
|
+
if (silent === true) {
|
|
41
|
+
if (kGlobal.Debug._consoleLoggerFilter === null)
|
|
42
|
+
kGlobal.Debug._consoleLoggerFilter = [categoryName];
|
|
43
|
+
else if (!kGlobal.Debug._consoleLoggerFilter.includes(categoryName))
|
|
44
|
+
kGlobal.Debug._consoleLoggerFilter.push(categoryName);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
if (kGlobal.Debug._consoleLoggerFilter === null)
|
|
48
|
+
kGlobal.Debug._consoleLoggerFilter = [];
|
|
49
|
+
else if (kGlobal.Debug._consoleLoggerFilter.includes(categoryName))
|
|
50
|
+
kGlobal.Debug._consoleLoggerFilter = kGlobal.Debug._consoleLoggerFilter.filter(c => c !== categoryName);
|
|
51
|
+
}
|
|
52
|
+
(0, cookies_1.setCookie)("KWizComDebugFilter", kGlobal.Debug._consoleLoggerFilter.join('~'), 365);
|
|
53
|
+
console.log(`logs for ${categoryName} will ${silent === true ? 'not show up' : 'show up'}`);
|
|
54
|
+
},
|
|
55
|
+
PurgeCache: (options) => __awaiter(this, void 0, void 0, function* () {
|
|
56
|
+
options = options || {};
|
|
57
|
+
let result = { success: true };
|
|
58
|
+
let failedKeys = [];
|
|
59
|
+
if (options.skipStorage !== true) {
|
|
60
|
+
console.log(`purging local storage`);
|
|
61
|
+
localStorage.clear();
|
|
62
|
+
console.log(`purging session storage`);
|
|
63
|
+
sessionStorage.clear();
|
|
64
|
+
}
|
|
65
|
+
if (options.skipCookies !== true) {
|
|
66
|
+
console.log(`purging all cookies`);
|
|
67
|
+
var cookies = document.cookie.split(";");
|
|
68
|
+
cookies.forEach(cookie => { document.cookie = cookie.split("=")[0] + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT"; });
|
|
69
|
+
}
|
|
70
|
+
console.log(`purging caches`);
|
|
71
|
+
try {
|
|
72
|
+
let keys = yield caches.keys();
|
|
73
|
+
for (let i1 = 0; i1 < keys.length; i1++) {
|
|
74
|
+
let key = keys[i1];
|
|
75
|
+
try {
|
|
76
|
+
let cache = yield caches.open(key);
|
|
77
|
+
if (cache) {
|
|
78
|
+
let subKeys = yield cache.keys();
|
|
79
|
+
if (subKeys && subKeys.length) {
|
|
80
|
+
let keysToRemove = options.onlyKWizComCaches !== true ? subKeys : subKeys.filter(k => k.url.toLowerCase().indexOf('apps.kwizcom.com/') >= 0);
|
|
81
|
+
for (let i2 = 0; i2 < keysToRemove.length; i2++) {
|
|
82
|
+
let success = yield cache.delete(keysToRemove[i2]);
|
|
83
|
+
if (!success) //failed
|
|
84
|
+
failedKeys.push(keysToRemove[i2].url);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
catch (b) {
|
|
90
|
+
failedKeys.push(key);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
catch (e) {
|
|
95
|
+
result.success = false;
|
|
96
|
+
result.error = e;
|
|
97
|
+
result.message = (e.message || "Something went wrong.");
|
|
98
|
+
}
|
|
99
|
+
if ((0, typecheckers_1.isNotEmptyArray)(failedKeys)) {
|
|
100
|
+
result.success = false;
|
|
101
|
+
result.message = ((0, typecheckers_1.isNullOrEmptyString)(result.message) ? '' : ' ') + `Failed keys: ${failedKeys.join()}`;
|
|
102
|
+
}
|
|
103
|
+
console.group('PurgeCache complete');
|
|
104
|
+
console.dir(result);
|
|
105
|
+
console.groupEnd();
|
|
106
|
+
return result;
|
|
107
|
+
})
|
|
108
|
+
};
|
|
109
|
+
//no need to do this anymore, once we added max-age cache to our response headers, the SP Service worker now clears
|
|
110
|
+
//the cache of our SPFx controls on its own.
|
|
111
|
+
// //by default - DO NOT clear cookies/storage and non-KWIZ caches!
|
|
112
|
+
// window.setTimeout(() => kGlobal.Debug.PurgeCache({
|
|
113
|
+
// skipCookies: true,
|
|
114
|
+
// skipStorage: true,
|
|
115
|
+
// onlyKWizComCaches: true
|
|
116
|
+
// }), 3000);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
SetGlobalDebugFunction();
|
|
120
|
+
function isDebug() {
|
|
121
|
+
var kGlobal = GetGlobalDebug();
|
|
122
|
+
if ((0, typecheckers_1.isNullOrUndefined)(kGlobal.Debug._debug)) {
|
|
123
|
+
kGlobal.Debug._debug = _dependencies_1.IsLocalDev ||
|
|
124
|
+
window.location.href.indexOf('kwdebug=true') > 0 ||
|
|
125
|
+
window.location.href.indexOf('/workbench.aspx') > 0 ||
|
|
126
|
+
(0, cookies_1.getCookie)("KWizComDebug") === "true";
|
|
127
|
+
}
|
|
128
|
+
return kGlobal.Debug._debug === true;
|
|
129
|
+
}
|
|
130
|
+
exports.isDebug = isDebug;
|
|
131
|
+
/** returns true if this is a kwizcom production/test tenant */
|
|
132
|
+
function isKWizComTenant() {
|
|
133
|
+
return window.location.host === "kwizcom.sharepoint.com" || window.location.host === "kwizcomqa.sharepoint.com";
|
|
134
|
+
}
|
|
135
|
+
exports.isKWizComTenant = isKWizComTenant;
|
|
136
|
+
function isDebugOnKWizComTenant() {
|
|
137
|
+
return isKWizComTenant() && isDebug();
|
|
138
|
+
}
|
|
139
|
+
exports.isDebugOnKWizComTenant = isDebugOnKWizComTenant;
|
|
140
|
+
function consoleLoggerFilter() {
|
|
141
|
+
var kGlobal = GetGlobalDebug();
|
|
142
|
+
if ((0, typecheckers_1.isNullOrUndefined)(kGlobal.Debug._consoleLoggerFilter)) {
|
|
143
|
+
let KWizComDebugFilter = (0, cookies_1.getCookie)("KWizComDebugFilter");
|
|
144
|
+
if (!(0, typecheckers_1.isNullOrEmptyString)(KWizComDebugFilter))
|
|
145
|
+
kGlobal.Debug._consoleLoggerFilter = KWizComDebugFilter.split('~');
|
|
146
|
+
else
|
|
147
|
+
kGlobal.Debug._consoleLoggerFilter = [];
|
|
148
|
+
}
|
|
149
|
+
return kGlobal.Debug._consoleLoggerFilter;
|
|
150
|
+
}
|
|
151
|
+
exports.consoleLoggerFilter = consoleLoggerFilter;
|
|
152
|
+
function waitIfDebug(seconds) {
|
|
153
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
154
|
+
if (isDebug())
|
|
155
|
+
yield (0, promises_1.sleepAsync)(seconds);
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
exports.waitIfDebug = waitIfDebug;
|
|
159
|
+
function trackChangesToObject(parent, objectName, tracker) {
|
|
160
|
+
let originalValue = parent[objectName];
|
|
161
|
+
Object.defineProperty(parent, objectName, {
|
|
162
|
+
set: (newValue) => {
|
|
163
|
+
if ((0, typecheckers_1.isFunction)(tracker.onBeforeSet))
|
|
164
|
+
tracker.onBeforeSet(newValue);
|
|
165
|
+
originalValue = newValue;
|
|
166
|
+
if ((0, typecheckers_1.isFunction)(tracker.onAfterSet))
|
|
167
|
+
tracker.onAfterSet(newValue);
|
|
168
|
+
},
|
|
169
|
+
get: () => {
|
|
170
|
+
if ((0, typecheckers_1.isFunction)(tracker.onBeforeGet))
|
|
171
|
+
tracker.onBeforeGet(originalValue);
|
|
172
|
+
return originalValue;
|
|
173
|
+
}
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
exports.trackChangesToObject = trackChangesToObject;
|
|
177
|
+
//# sourceMappingURL=debug.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/helpers/debug.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.freeEmailNotAllowedMessage = exports.isValidEmail = void 0;
|
|
4
|
+
const typecheckers_1 = require("./typecheckers");
|
|
5
|
+
function isValidEmail(email) {
|
|
6
|
+
return !(0, typecheckers_1.isNullOrEmptyString)(email) && /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email);
|
|
7
|
+
}
|
|
8
|
+
exports.isValidEmail = isValidEmail;
|
|
9
|
+
exports.freeEmailNotAllowedMessage = "Please use a work email, free emails are not allowed";
|
|
10
|
+
//# sourceMappingURL=emails.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emails.js","sourceRoot":"","sources":["../../src/helpers/emails.ts"],"names":[],"mappings":";;;AAAA,iDAAqD;AAErD,SAAgB,YAAY,CAAC,KAAa;IACtC,OAAO,CAAC,IAAA,kCAAmB,EAAC,KAAK,CAAC,IAAI,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACnF,CAAC;AAFD,oCAEC;AAEY,QAAA,0BAA0B,GAAG,sDAAsD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function eval2(str: string): any;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.eval2 = void 0;
|
|
4
|
+
//eval breaks treeshaking for the entire module it is in, so keep it in separate
|
|
5
|
+
function eval2(str) {
|
|
6
|
+
// eslint-disable-next-line no-eval
|
|
7
|
+
return eval(str);
|
|
8
|
+
}
|
|
9
|
+
exports.eval2 = eval2;
|
|
10
|
+
//# sourceMappingURL=eval.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eval.js","sourceRoot":"","sources":["../../src/helpers/eval.ts"],"names":[],"mappings":";;;AAAA,gFAAgF;AAChF,SAAgB,KAAK,CAAC,GAAW;IAC7B,mCAAmC;IACnC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC;AAHD,sBAGC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare function validateFilename(fileNameWithExtension: string): {
|
|
2
|
+
hasIllegalCharacter: boolean;
|
|
3
|
+
hasIllegalName: boolean;
|
|
4
|
+
valid: boolean;
|
|
5
|
+
};
|
|
6
|
+
export declare function validateFoldername(folderName: string): {
|
|
7
|
+
hasIllegalCharacter: boolean;
|
|
8
|
+
hasIllegalName: boolean;
|
|
9
|
+
valid: boolean;
|
|
10
|
+
};
|
|
11
|
+
export declare function validateAndSetFilename(fileNameWithExtension: string): string;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateAndSetFilename = exports.validateFoldername = exports.validateFilename = void 0;
|
|
4
|
+
const strings_1 = require("./strings");
|
|
5
|
+
//https://support.microsoft.com/en-gb/office/restrictions-and-limitations-in-onedrive-and-sharepoint-64883a5d-228e-48f5-b3d2-eb39e07630fa
|
|
6
|
+
//These names aren't allowed for files or folders: .lock, CON, PRN, AUX, NUL, COM0 - COM9, LPT0 - LPT9, _vti_,
|
|
7
|
+
//desktop.ini, any filename starting with ~$. "_vti_" can't appear anywhere in a file name.
|
|
8
|
+
function _getRegexCollection() {
|
|
9
|
+
return {
|
|
10
|
+
IllegalCharsRegex: new RegExp("[" + (0, strings_1.escapeRegExp)(`"*:<>?/\\|`) + "]", "gi"),
|
|
11
|
+
IllegalCharsExtraRegex: new RegExp("[" + (0, strings_1.escapeRegExp)(`~"#%&*:<>?/\\|`) + "]", "gi"),
|
|
12
|
+
IllegalNamesRegex: /^(\.lock|CON|PRN|AUX|NUL|COM\d|LPT\d|.*_VTI_.*|~\$.*)$/gi,
|
|
13
|
+
IsDesktopIni: /^desktop\.ini$/gi
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
function validateFilename(fileNameWithExtension) {
|
|
17
|
+
let filenameWithOutExtension = fileNameWithExtension;
|
|
18
|
+
let split = filenameWithOutExtension.split(".");
|
|
19
|
+
split.pop();
|
|
20
|
+
filenameWithOutExtension = split.join(".");
|
|
21
|
+
let regexCollection = _getRegexCollection();
|
|
22
|
+
let hasIllegalCharacter = regexCollection.IllegalCharsRegex.test(filenameWithOutExtension);
|
|
23
|
+
let hasIllegalName = regexCollection.IllegalNamesRegex.test(filenameWithOutExtension) || regexCollection.IsDesktopIni.test(fileNameWithExtension);
|
|
24
|
+
return {
|
|
25
|
+
hasIllegalCharacter,
|
|
26
|
+
hasIllegalName,
|
|
27
|
+
valid: !hasIllegalCharacter && !hasIllegalName
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
exports.validateFilename = validateFilename;
|
|
31
|
+
function validateFoldername(folderName) {
|
|
32
|
+
let regexCollection = _getRegexCollection();
|
|
33
|
+
let hasIllegalCharacter = regexCollection.IllegalCharsRegex.test(folderName);
|
|
34
|
+
let hasIllegalName = regexCollection.IllegalNamesRegex.test(folderName) || regexCollection.IsDesktopIni.test(folderName);
|
|
35
|
+
return {
|
|
36
|
+
hasIllegalCharacter,
|
|
37
|
+
hasIllegalName,
|
|
38
|
+
valid: !hasIllegalCharacter && !hasIllegalName
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
exports.validateFoldername = validateFoldername;
|
|
42
|
+
function validateAndSetFilename(fileNameWithExtension) {
|
|
43
|
+
let regexCollection = _getRegexCollection();
|
|
44
|
+
let validateFilenameChk = validateFilename(fileNameWithExtension);
|
|
45
|
+
if (!validateFilenameChk.valid || regexCollection.IllegalCharsExtraRegex.test(fileNameWithExtension)) {
|
|
46
|
+
fileNameWithExtension =
|
|
47
|
+
fileNameWithExtension.replace(regexCollection.IllegalCharsRegex, "")
|
|
48
|
+
.replace(regexCollection.IllegalCharsExtraRegex, "")
|
|
49
|
+
.replace(regexCollection.IllegalNamesRegex, "")
|
|
50
|
+
.replace(regexCollection.IsDesktopIni, "");
|
|
51
|
+
}
|
|
52
|
+
return fileNameWithExtension;
|
|
53
|
+
}
|
|
54
|
+
exports.validateAndSetFilename = validateAndSetFilename;
|
|
55
|
+
//# sourceMappingURL=file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/helpers/file.ts"],"names":[],"mappings":";;;AAAA,uCAAyC;AAEzC,yIAAyI;AACzI,+GAA+G;AAC/G,2FAA2F;AAE3F,SAAS,mBAAmB;IACxB,OAAO;QACH,iBAAiB,EAAE,IAAI,MAAM,CAAC,GAAG,GAAG,IAAA,sBAAY,EAAC,YAAY,CAAC,GAAG,GAAG,EAAE,IAAI,CAAC;QAC3E,sBAAsB,EAAE,IAAI,MAAM,CAAC,GAAG,GAAG,IAAA,sBAAY,EAAC,gBAAgB,CAAC,GAAG,GAAG,EAAE,IAAI,CAAC;QACpF,iBAAiB,EAAE,0DAA0D;QAC7E,YAAY,EAAE,kBAAkB;KACnC,CAAC;AACN,CAAC;AAED,SAAgB,gBAAgB,CAAC,qBAA6B;IAC1D,IAAI,wBAAwB,GAAG,qBAAqB,CAAC;IACrD,IAAI,KAAK,GAAG,wBAAwB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChD,KAAK,CAAC,GAAG,EAAE,CAAC;IACZ,wBAAwB,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE3C,IAAI,eAAe,GAAG,mBAAmB,EAAE,CAAC;IAE5C,IAAI,mBAAmB,GAAG,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAC3F,IAAI,cAAc,GAAG,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAElJ,OAAO;QACH,mBAAmB;QACnB,cAAc;QACd,KAAK,EAAE,CAAC,mBAAmB,IAAI,CAAC,cAAc;KACjD,CAAC;AACN,CAAC;AAhBD,4CAgBC;AAED,SAAgB,kBAAkB,CAAC,UAAkB;IACjD,IAAI,eAAe,GAAG,mBAAmB,EAAE,CAAC;IAE5C,IAAI,mBAAmB,GAAG,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7E,IAAI,cAAc,GAAG,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAEzH,OAAO;QACH,mBAAmB;QACnB,cAAc;QACd,KAAK,EAAE,CAAC,mBAAmB,IAAI,CAAC,cAAc;KACjD,CAAC;AACN,CAAC;AAXD,gDAWC;AAED,SAAgB,sBAAsB,CAAC,qBAA6B;IAChE,IAAI,eAAe,GAAG,mBAAmB,EAAE,CAAC;IAE5C,IAAI,mBAAmB,GAAG,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;IAClE,IAAI,CAAC,mBAAmB,CAAC,KAAK,IAAI,eAAe,CAAC,sBAAsB,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC;QACnG,qBAAqB;YACjB,qBAAqB,CAAC,OAAO,CAAC,eAAe,CAAC,iBAAiB,EAAE,EAAE,CAAC;iBAC/D,OAAO,CAAC,eAAe,CAAC,sBAAsB,EAAE,EAAE,CAAC;iBACnD,OAAO,CAAC,eAAe,CAAC,iBAAiB,EAAE,EAAE,CAAC;iBAC9C,OAAO,CAAC,eAAe,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,qBAAqB,CAAC;AACjC,CAAC;AAZD,wDAYC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/*! (c) 2020 Andrea Giammarchi */
|
|
2
|
+
import { IFlatted } from "./_dependencies";
|
|
3
|
+
/*! (c) 2020 Andrea Giammarchi */
|
|
4
|
+
/**
|
|
5
|
+
* Fast and minimal circular JSON parser.
|
|
6
|
+
* logic example
|
|
7
|
+
```js
|
|
8
|
+
var a = [{one: 1}, {two: '2'}];
|
|
9
|
+
a[0].a = a;
|
|
10
|
+
// a is the main object, will be at index '0'
|
|
11
|
+
// {one: 1} is the second object, index '1'
|
|
12
|
+
// {two: '2'} the third, in '2', and it has a string
|
|
13
|
+
// which will be found at index '3'
|
|
14
|
+
Flatted.stringify(a);
|
|
15
|
+
// [["1","2"],{"one":1,"a":"0"},{"two":"3"},"2"]
|
|
16
|
+
// a[one,two] {one: 1, a} {two: '2'} '2'
|
|
17
|
+
```
|
|
18
|
+
*/
|
|
19
|
+
export declare var flatted: IFlatted;
|
|
20
|
+
export declare function flattedClone<T>(obj: T): T;
|