@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.
Files changed (310) hide show
  1. package/LICENSE +21 -0
  2. package/dist/_dependencies.d.ts +1 -0
  3. package/dist/_dependencies.js +8 -0
  4. package/dist/_dependencies.js.map +1 -0
  5. package/dist/helpers/Guid.d.ts +119 -0
  6. package/dist/helpers/Guid.js +183 -0
  7. package/dist/helpers/Guid.js.map +1 -0
  8. package/dist/helpers/_dependencies.d.ts +2 -0
  9. package/dist/helpers/_dependencies.js +21 -0
  10. package/dist/helpers/_dependencies.js.map +1 -0
  11. package/dist/helpers/base64.d.ts +8 -0
  12. package/dist/helpers/base64.js +178 -0
  13. package/dist/helpers/base64.js.map +1 -0
  14. package/dist/helpers/browser.d.ts +144 -0
  15. package/dist/helpers/browser.js +1200 -0
  16. package/dist/helpers/browser.js.map +1 -0
  17. package/dist/helpers/browserinfo.d.ts +23 -0
  18. package/dist/helpers/browserinfo.js +215 -0
  19. package/dist/helpers/browserinfo.js.map +1 -0
  20. package/dist/helpers/collections.base.d.ts +128 -0
  21. package/dist/helpers/collections.base.js +430 -0
  22. package/dist/helpers/collections.base.js.map +1 -0
  23. package/dist/helpers/collections.d.ts +18 -0
  24. package/dist/helpers/collections.js +99 -0
  25. package/dist/helpers/collections.js.map +1 -0
  26. package/dist/helpers/color.d.ts +11 -0
  27. package/dist/helpers/color.js +57 -0
  28. package/dist/helpers/color.js.map +1 -0
  29. package/dist/helpers/cookies.d.ts +6 -0
  30. package/dist/helpers/cookies.js +56 -0
  31. package/dist/helpers/cookies.js.map +1 -0
  32. package/dist/helpers/date.d.ts +43 -0
  33. package/dist/helpers/date.js +158 -0
  34. package/dist/helpers/date.js.map +1 -0
  35. package/dist/helpers/debug.d.ts +33 -0
  36. package/dist/helpers/debug.js +177 -0
  37. package/dist/helpers/debug.js.map +1 -0
  38. package/dist/helpers/emails.d.ts +2 -0
  39. package/dist/helpers/emails.js +10 -0
  40. package/dist/helpers/emails.js.map +1 -0
  41. package/dist/helpers/eval.d.ts +1 -0
  42. package/dist/helpers/eval.js +10 -0
  43. package/dist/helpers/eval.js.map +1 -0
  44. package/dist/helpers/file.d.ts +11 -0
  45. package/dist/helpers/file.js +55 -0
  46. package/dist/helpers/file.js.map +1 -0
  47. package/dist/helpers/flatted.d.ts +20 -0
  48. package/dist/helpers/flatted.js +135 -0
  49. package/dist/helpers/flatted.js.map +1 -0
  50. package/dist/helpers/functions.d.ts +4 -0
  51. package/dist/helpers/functions.js +17 -0
  52. package/dist/helpers/functions.js.map +1 -0
  53. package/dist/helpers/graph/calendar.types.d.ts +3 -0
  54. package/dist/helpers/graph/calendar.types.js +15 -0
  55. package/dist/helpers/graph/calendar.types.js.map +1 -0
  56. package/dist/helpers/http.d.ts +25 -0
  57. package/dist/helpers/http.js +70 -0
  58. package/dist/helpers/http.js.map +1 -0
  59. package/dist/helpers/images.d.ts +16 -0
  60. package/dist/helpers/images.js +21 -0
  61. package/dist/helpers/images.js.map +1 -0
  62. package/dist/helpers/index.d.ts +29 -0
  63. package/dist/helpers/index.js +46 -0
  64. package/dist/helpers/index.js.map +1 -0
  65. package/dist/helpers/json.d.ts +3 -0
  66. package/dist/helpers/json.js +44 -0
  67. package/dist/helpers/json.js.map +1 -0
  68. package/dist/helpers/md5.d.ts +5 -0
  69. package/dist/helpers/md5.js +172 -0
  70. package/dist/helpers/md5.js.map +1 -0
  71. package/dist/helpers/objects.d.ts +49 -0
  72. package/dist/helpers/objects.js +271 -0
  73. package/dist/helpers/objects.js.map +1 -0
  74. package/dist/helpers/promises.d.ts +14 -0
  75. package/dist/helpers/promises.js +112 -0
  76. package/dist/helpers/promises.js.map +1 -0
  77. package/dist/helpers/random.d.ts +2 -0
  78. package/dist/helpers/random.js +32 -0
  79. package/dist/helpers/random.js.map +1 -0
  80. package/dist/helpers/scheduler/scheduler.d.ts +39 -0
  81. package/dist/helpers/scheduler/scheduler.js +109 -0
  82. package/dist/helpers/scheduler/scheduler.js.map +1 -0
  83. package/dist/helpers/sharepoint.d.ts +112 -0
  84. package/dist/helpers/sharepoint.js +629 -0
  85. package/dist/helpers/sharepoint.js.map +1 -0
  86. package/dist/helpers/strings.d.ts +56 -0
  87. package/dist/helpers/strings.js +282 -0
  88. package/dist/helpers/strings.js.map +1 -0
  89. package/dist/helpers/typecheckers.d.ts +56 -0
  90. package/dist/helpers/typecheckers.js +274 -0
  91. package/dist/helpers/typecheckers.js.map +1 -0
  92. package/dist/helpers/url.d.ts +46 -0
  93. package/dist/helpers/url.js +199 -0
  94. package/dist/helpers/url.js.map +1 -0
  95. package/dist/helpers/urlhelper.d.ts +16 -0
  96. package/dist/helpers/urlhelper.js +96 -0
  97. package/dist/helpers/urlhelper.js.map +1 -0
  98. package/dist/index.d.ts +15 -0
  99. package/dist/index.js +37 -0
  100. package/dist/index.js.map +1 -0
  101. package/dist/types/common.types.d.ts +19 -0
  102. package/dist/types/common.types.js +4 -0
  103. package/dist/types/common.types.js.map +1 -0
  104. package/dist/types/flatted.types.d.ts +49 -0
  105. package/dist/types/flatted.types.js +3 -0
  106. package/dist/types/flatted.types.js.map +1 -0
  107. package/dist/types/globals.types.d.ts +6 -0
  108. package/dist/types/globals.types.js +3 -0
  109. package/dist/types/globals.types.js.map +1 -0
  110. package/dist/types/graph/calendar.types.d.ts +79 -0
  111. package/dist/types/graph/calendar.types.js +3 -0
  112. package/dist/types/graph/calendar.types.js.map +1 -0
  113. package/dist/types/graph/index.d.ts +1 -0
  114. package/dist/types/graph/index.js +18 -0
  115. package/dist/types/graph/index.js.map +1 -0
  116. package/dist/types/index.d.ts +11 -0
  117. package/dist/types/index.js +28 -0
  118. package/dist/types/index.js.map +1 -0
  119. package/dist/types/knownscript.types.d.ts +22 -0
  120. package/dist/types/knownscript.types.js +3 -0
  121. package/dist/types/knownscript.types.js.map +1 -0
  122. package/dist/types/libs/datajs.types.d.ts +29 -0
  123. package/dist/types/libs/datajs.types.js +3 -0
  124. package/dist/types/libs/datajs.types.js.map +1 -0
  125. package/dist/types/libs/ics.types.d.ts +29 -0
  126. package/dist/types/libs/ics.types.js +3 -0
  127. package/dist/types/libs/ics.types.js.map +1 -0
  128. package/dist/types/libs/index.d.ts +3 -0
  129. package/dist/types/libs/index.js +20 -0
  130. package/dist/types/libs/index.js.map +1 -0
  131. package/dist/types/libs/msal.types.d.ts +33 -0
  132. package/dist/types/libs/msal.types.js +63 -0
  133. package/dist/types/libs/msal.types.js.map +1 -0
  134. package/dist/types/locales.d.ts +122 -0
  135. package/dist/types/locales.js +1 -0
  136. package/dist/types/locales.js.map +1 -0
  137. package/dist/types/localstoragecache.types.d.ts +8 -0
  138. package/dist/types/localstoragecache.types.js +3 -0
  139. package/dist/types/localstoragecache.types.js.map +1 -0
  140. package/dist/types/moment.d.ts +6 -0
  141. package/dist/types/moment.js +1 -0
  142. package/dist/types/moment.js.map +1 -0
  143. package/dist/types/regex.types.d.ts +14 -0
  144. package/dist/types/regex.types.js +3 -0
  145. package/dist/types/regex.types.js.map +1 -0
  146. package/dist/types/rest.types.d.ts +81 -0
  147. package/dist/types/rest.types.js +24 -0
  148. package/dist/types/rest.types.js.map +1 -0
  149. package/dist/types/sharepoint.types.d.ts +1432 -0
  150. package/dist/types/sharepoint.types.js +629 -0
  151. package/dist/types/sharepoint.types.js.map +1 -0
  152. package/dist/types/sharepoint.utils.types.d.ts +246 -0
  153. package/dist/types/sharepoint.utils.types.js +26 -0
  154. package/dist/types/sharepoint.utils.types.js.map +1 -0
  155. package/dist/utils/_dependencies.d.ts +3 -0
  156. package/dist/utils/_dependencies.js +24 -0
  157. package/dist/utils/_dependencies.js.map +1 -0
  158. package/dist/utils/base64.d.ts +2 -0
  159. package/dist/utils/base64.js +41 -0
  160. package/dist/utils/base64.js.map +1 -0
  161. package/dist/utils/consolelogger.d.ts +73 -0
  162. package/dist/utils/consolelogger.js +281 -0
  163. package/dist/utils/consolelogger.js.map +1 -0
  164. package/dist/utils/date.d.ts +10 -0
  165. package/dist/utils/date.js +30 -0
  166. package/dist/utils/date.js.map +1 -0
  167. package/dist/utils/emails.d.ts +2 -0
  168. package/dist/utils/emails.js +24 -0
  169. package/dist/utils/emails.js.map +1 -0
  170. package/dist/utils/index.d.ts +13 -0
  171. package/dist/utils/index.js +31 -0
  172. package/dist/utils/index.js.map +1 -0
  173. package/dist/utils/knownscript.d.ts +99 -0
  174. package/dist/utils/knownscript.js +261 -0
  175. package/dist/utils/knownscript.js.map +1 -0
  176. package/dist/utils/localstoragecache.d.ts +19 -0
  177. package/dist/utils/localstoragecache.js +372 -0
  178. package/dist/utils/localstoragecache.js.map +1 -0
  179. package/dist/utils/rest.d.ts +17 -0
  180. package/dist/utils/rest.js +402 -0
  181. package/dist/utils/rest.js.map +1 -0
  182. package/dist/utils/script.d.ts +33 -0
  183. package/dist/utils/script.js +169 -0
  184. package/dist/utils/script.js.map +1 -0
  185. package/dist/utils/sharepoint.rest/common.d.ts +32 -0
  186. package/dist/utils/sharepoint.rest/common.js +146 -0
  187. package/dist/utils/sharepoint.rest/common.js.map +1 -0
  188. package/dist/utils/sharepoint.rest/date.d.ts +2 -0
  189. package/dist/utils/sharepoint.rest/date.js +57 -0
  190. package/dist/utils/sharepoint.rest/date.js.map +1 -0
  191. package/dist/utils/sharepoint.rest/file.folder.d.ts +58 -0
  192. package/dist/utils/sharepoint.rest/file.folder.js +305 -0
  193. package/dist/utils/sharepoint.rest/file.folder.js.map +1 -0
  194. package/dist/utils/sharepoint.rest/index.d.ts +11 -0
  195. package/dist/utils/sharepoint.rest/index.js +28 -0
  196. package/dist/utils/sharepoint.rest/index.js.map +1 -0
  197. package/dist/utils/sharepoint.rest/item.d.ts +81 -0
  198. package/dist/utils/sharepoint.rest/item.js +444 -0
  199. package/dist/utils/sharepoint.rest/item.js.map +1 -0
  200. package/dist/utils/sharepoint.rest/list.d.ts +228 -0
  201. package/dist/utils/sharepoint.rest/list.js +868 -0
  202. package/dist/utils/sharepoint.rest/list.js.map +1 -0
  203. package/dist/utils/sharepoint.rest/listutils/GetListItemsByCaml.d.ts +19 -0
  204. package/dist/utils/sharepoint.rest/listutils/GetListItemsByCaml.js +629 -0
  205. package/dist/utils/sharepoint.rest/listutils/GetListItemsByCaml.js.map +1 -0
  206. package/dist/utils/sharepoint.rest/listutils/GetListItemsById.d.ts +14 -0
  207. package/dist/utils/sharepoint.rest/listutils/GetListItemsById.js +222 -0
  208. package/dist/utils/sharepoint.rest/listutils/GetListItemsById.js.map +1 -0
  209. package/dist/utils/sharepoint.rest/listutils/common.d.ts +3 -0
  210. package/dist/utils/sharepoint.rest/listutils/common.js +198 -0
  211. package/dist/utils/sharepoint.rest/listutils/common.js.map +1 -0
  212. package/dist/utils/sharepoint.rest/user-search.d.ts +76 -0
  213. package/dist/utils/sharepoint.rest/user-search.js +239 -0
  214. package/dist/utils/sharepoint.rest/user-search.js.map +1 -0
  215. package/dist/utils/sharepoint.rest/user.d.ts +71 -0
  216. package/dist/utils/sharepoint.rest/user.js +404 -0
  217. package/dist/utils/sharepoint.rest/user.js.map +1 -0
  218. package/dist/utils/sharepoint.rest/web.d.ts +107 -0
  219. package/dist/utils/sharepoint.rest/web.js +929 -0
  220. package/dist/utils/sharepoint.rest/web.js.map +1 -0
  221. package/dist/utils/sod.d.ts +29 -0
  222. package/dist/utils/sod.js +177 -0
  223. package/dist/utils/sod.js.map +1 -0
  224. package/package.json +60 -0
  225. package/readme.md +13 -0
  226. package/src/_dependencies.ts +2 -0
  227. package/src/helpers/Guid.ts +182 -0
  228. package/src/helpers/_dependencies.ts +3 -0
  229. package/src/helpers/base64.ts +174 -0
  230. package/src/helpers/browser.test.js +9 -0
  231. package/src/helpers/browser.ts +1299 -0
  232. package/src/helpers/browserinfo.ts +293 -0
  233. package/src/helpers/collections.base.test.js +26 -0
  234. package/src/helpers/collections.base.ts +439 -0
  235. package/src/helpers/collections.ts +108 -0
  236. package/src/helpers/color.ts +55 -0
  237. package/src/helpers/cookies.ts +55 -0
  238. package/src/helpers/date.test.js +97 -0
  239. package/src/helpers/date.ts +163 -0
  240. package/src/helpers/debug.ts +187 -0
  241. package/src/helpers/emails.ts +7 -0
  242. package/src/helpers/eval.ts +5 -0
  243. package/src/helpers/file.test.js +51 -0
  244. package/src/helpers/file.ts +59 -0
  245. package/src/helpers/flatted.ts +150 -0
  246. package/src/helpers/functions.ts +17 -0
  247. package/src/helpers/graph/calendar.types.ts +11 -0
  248. package/src/helpers/http.ts +70 -0
  249. package/src/helpers/images.ts +23 -0
  250. package/src/helpers/index.ts +29 -0
  251. package/src/helpers/json.ts +39 -0
  252. package/src/helpers/md5.ts +190 -0
  253. package/src/helpers/objects.test.js +27 -0
  254. package/src/helpers/objects.ts +256 -0
  255. package/src/helpers/promises.test.js +18 -0
  256. package/src/helpers/promises.ts +102 -0
  257. package/src/helpers/random.ts +27 -0
  258. package/src/helpers/scheduler/scheduler.test.js +104 -0
  259. package/src/helpers/scheduler/scheduler.ts +132 -0
  260. package/src/helpers/sharepoint.ts +681 -0
  261. package/src/helpers/strings.test.js +43 -0
  262. package/src/helpers/strings.ts +288 -0
  263. package/src/helpers/typecheckers.test.js +35 -0
  264. package/src/helpers/typecheckers.ts +263 -0
  265. package/src/helpers/url.test.js +18 -0
  266. package/src/helpers/url.ts +202 -0
  267. package/src/helpers/urlhelper.ts +104 -0
  268. package/src/index.ts +24 -0
  269. package/src/types/common.types.ts +16 -0
  270. package/src/types/flatted.types.ts +60 -0
  271. package/src/types/globals.types.ts +7 -0
  272. package/src/types/graph/calendar.types.ts +81 -0
  273. package/src/types/graph/index.ts +1 -0
  274. package/src/types/index.ts +12 -0
  275. package/src/types/knownscript.types.ts +19 -0
  276. package/src/types/libs/datajs.types.ts +29 -0
  277. package/src/types/libs/ics.types.ts +31 -0
  278. package/src/types/libs/index.ts +4 -0
  279. package/src/types/libs/msal.types.ts +79 -0
  280. package/src/types/locales.ts +125 -0
  281. package/src/types/localstoragecache.types.ts +9 -0
  282. package/src/types/moment.ts +7 -0
  283. package/src/types/regex.types.ts +17 -0
  284. package/src/types/rest.types.ts +94 -0
  285. package/src/types/sharepoint.types.ts +1413 -0
  286. package/src/types/sharepoint.utils.types.ts +246 -0
  287. package/src/utils/_dependencies.ts +4 -0
  288. package/src/utils/base64.ts +27 -0
  289. package/src/utils/consolelogger.ts +315 -0
  290. package/src/utils/date.ts +36 -0
  291. package/src/utils/emails.ts +25 -0
  292. package/src/utils/index.ts +13 -0
  293. package/src/utils/knownscript.ts +280 -0
  294. package/src/utils/localstoragecache.ts +419 -0
  295. package/src/utils/rest.ts +465 -0
  296. package/src/utils/script.ts +168 -0
  297. package/src/utils/sharepoint.rest/common.ts +149 -0
  298. package/src/utils/sharepoint.rest/date.ts +61 -0
  299. package/src/utils/sharepoint.rest/file.folder.ts +368 -0
  300. package/src/utils/sharepoint.rest/index.ts +11 -0
  301. package/src/utils/sharepoint.rest/item.ts +456 -0
  302. package/src/utils/sharepoint.rest/list.ts +1144 -0
  303. package/src/utils/sharepoint.rest/listutils/GetListItemsByCaml.ts +750 -0
  304. package/src/utils/sharepoint.rest/listutils/GetListItemsById.ts +265 -0
  305. package/src/utils/sharepoint.rest/listutils/common.ts +202 -0
  306. package/src/utils/sharepoint.rest/user-search.ts +254 -0
  307. package/src/utils/sharepoint.rest/user.ts +447 -0
  308. package/src/utils/sharepoint.rest/web.ts +1031 -0
  309. package/src/utils/sod.ts +193 -0
  310. 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":";AAAA;;;;GAIG;;;AAEH,uCAAqC;AACrC,iDAAqE;AAErE,SAAgB,YAAY,CAAC,CAAS;IAClC,iCAAiC;IACjC,iCAAiC;IACjC,6BAA6B;IAC7B,6BAA6B;IAC7B,0BAA0B;IAC1B,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,IAAA,kBAAQ,EAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AAClD,CAAC;AAPD,oCAOC;AAED,SAAgB,SAAS,CAAC,CAAS;IAC/B,iCAAiC;IACjC,gCAAgC;IAChC,6BAA6B;IAC7B,4BAA4B;IAC5B,0BAA0B;IAC1B,OAAO,IAAA,uBAAQ,EAAC,CAAC,CAAC,IAAI,oFAAoF,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACvH,CAAC;AAPD,8BAOC;AAED,SAAgB,cAAc,CAAC,CAAS;IACpC,kCAAkC;IAClC,iCAAiC;IACjC,8BAA8B;IAC9B,6BAA6B;IAC7B,yBAAyB;IACzB,OAAO,IAAA,uBAAQ,EAAC,CAAC,CAAC,IAAI,2CAA2C,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC9E,CAAC;AAPD,wCAOC;AAED,SAAgB,YAAY,CAAC,CAAS;IAClC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QAC9B,IAAI,CAAC,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAC1B,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAC1B,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAC1B,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAC3B,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAC3B,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,gDAAgD;QAChD,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACJ,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;AACL,CAAC;AAnBD,oCAmBC;AAED,qDAAqD;AACrD,SAAgB,MAAM;IAClB,IAAI,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACrB,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrB,OAAO,GAAG,CAAC;AACf,CAAC;AAJD,wBAIC;AACD,uEAAuE;AACvE,SAAgB,QAAQ;IACpB,IAAI,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3B,OAAO,KAAK,CAAC;AACjB,CAAC;AAJD,4BAIC;AAED,qCAAqC;AACrC,IAAY,WAEX;AAFD,WAAY,WAAW;IACnB,iCAAkB,CAAA;AACtB,CAAC,EAFW,WAAW,2BAAX,WAAW,QAEtB;AACD,SAAgB,UAAU,CAAC,OAA8F,EAAE,SAAgB;IACvI,IAAI,OAAO,GAAG,IAAA,qBAAM,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA,mCAAmC;IAEhH,IAAI,OAAO,EAAE,CAAC;QACV,IAAI,CAAC,IAAA,gCAAiB,EAAC,OAAO,CAAC,KAAK,CAAC;YACjC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAE/D,IAAI,CAAC,IAAA,gCAAiB,EAAC,OAAO,CAAC,MAAM,CAAC;YAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAE1D,IAAI,CAAC,IAAA,gCAAiB,EAAC,OAAO,CAAC,IAAI,CAAC;YAChC,OAAO,CAAC,KAAK,GAAG,CAAC,IAAA,gCAAiB,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;QAEjG,IAAI,CAAC,IAAA,gCAAiB,EAAC,OAAO,CAAC,KAAK,CAAC;YACjC,OAAO,CAAC,OAAO,GAAG,CAAC,IAAA,gCAAiB,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;QACxG,IAAI,CAAC,IAAA,gCAAiB,EAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,KAAK,CAAC;YAC5D,OAAO,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC;AApBD,gCAoBC;AAED,SAAgB,SAAS,CAAC,IAAU;IAChC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AACpC,CAAC;AAFD,8BAEC;AAED,6DAA6D;AAC7D,SAAgB,gBAAgB,CAAC,GAAW,EAAE,OAAqD;IAC/F,IAAI,GAAG,GAAG,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;IAEhF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IACvD,IAAI,KAAK,GAAoB,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IACjE,IAAI,WAAW,GAAG,KAAK,KAAK,KAAK,CAAC;IAClC,IAAI,CAAC,WAAW,IAAI,OAAO,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;QACtD,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACzB,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE3C,IAAI,WAAW,EAAE,CAAC;QACd,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,MAAM,CAAC,CAAC;IAC9C,CAAC;SAAM,CAAC;QACJ,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,GAAG,CAAC;AACf,CAAC;AArBD,4CAqBC;AAED,SAAgB,YAAY,CAAC,GAAW;IACpC,OAAO,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;AAC9C,CAAC;AAFD,oCAEC;AACD,SAAgB,UAAU,CAAC,GAAW;IAClC,OAAO,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;AAC5C,CAAC;AAFD,gCAEC;AAED,+DAA+D;AAC/D,SAAgB,iBAAiB,CAAC,IAAU;IACxC,IAAI,cAAc,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;IACpE,OAAO,cAAc,CAAC;AAC1B,CAAC;AAHD,8CAGC;AAED,gFAAgF;AAChF,SAAgB,mBAAmB,CAAC,GAAS;IACzC,IAAI,IAAA,qBAAM,EAAC,GAAG,CAAC,EAAE,CAAC;QACd,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3D,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;IACD,OAAO,CAAC,CAAC;AACb,CAAC;AAND,kDAMC;AAED;;IAEI;AACJ,SAAgB,WAAW,CAAC,GAAS,EAAE,MAAc;IACjD,IAAI,WAAW,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IAChC,oEAAoE;IACpE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACf,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,CAAC;IACtC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC;AAND,kCAMC;AAED;;IAEI;AACJ,SAAgB,iBAAiB,CAAC,GAAS;IACvC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9D,CAAC;AAFD,8CAEC"}
@@ -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,2 @@
1
+ export declare function isValidEmail(email: string): boolean;
2
+ export declare const freeEmailNotAllowedMessage = "Please use a work email, free emails are not allowed";
@@ -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;