@kwiz/common 1.0.73 → 1.0.74

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 (546) hide show
  1. package/lib/cjs/_dependencies.js.map +1 -0
  2. package/lib/cjs/config.js.map +1 -0
  3. package/lib/cjs/exports-index.js.map +1 -0
  4. package/lib/cjs/helpers/Guid.js.map +1 -0
  5. package/lib/cjs/helpers/_dependencies.js.map +1 -0
  6. package/lib/cjs/helpers/base64.js.map +1 -0
  7. package/lib/cjs/helpers/browser.js.map +1 -0
  8. package/lib/cjs/helpers/browserinfo.js.map +1 -0
  9. package/{dist → lib/cjs}/helpers/collections.base.js +0 -3
  10. package/lib/cjs/helpers/collections.base.js.map +1 -0
  11. package/lib/cjs/helpers/collections.js.map +1 -0
  12. package/lib/cjs/helpers/color.js.map +1 -0
  13. package/lib/cjs/helpers/cookies.js.map +1 -0
  14. package/lib/cjs/helpers/date.js.map +1 -0
  15. package/{dist → lib/cjs}/helpers/debug.js +1 -1
  16. package/lib/cjs/helpers/debug.js.map +1 -0
  17. package/lib/cjs/helpers/emails.js.map +1 -0
  18. package/lib/cjs/helpers/eval.js.map +1 -0
  19. package/lib/cjs/helpers/exports-index.js.map +1 -0
  20. package/lib/cjs/helpers/file.js.map +1 -0
  21. package/lib/cjs/helpers/flatted.js.map +1 -0
  22. package/lib/cjs/helpers/functions.js.map +1 -0
  23. package/lib/cjs/helpers/graph/calendar.types.js.map +1 -0
  24. package/lib/cjs/helpers/graph/exports-index.js.map +1 -0
  25. package/lib/cjs/helpers/http.js.map +1 -0
  26. package/lib/cjs/helpers/images.js.map +1 -0
  27. package/lib/cjs/helpers/json.js.map +1 -0
  28. package/lib/cjs/helpers/md5.js.map +1 -0
  29. package/lib/cjs/helpers/objects.js.map +1 -0
  30. package/{dist → lib/cjs}/helpers/promises.js +8 -3
  31. package/lib/cjs/helpers/promises.js.map +1 -0
  32. package/lib/cjs/helpers/random.js.map +1 -0
  33. package/lib/cjs/helpers/scheduler/exports-index.js.map +1 -0
  34. package/lib/cjs/helpers/scheduler/scheduler.js.map +1 -0
  35. package/{dist → lib/cjs}/helpers/sharepoint.js +17 -17
  36. package/lib/cjs/helpers/sharepoint.js.map +1 -0
  37. package/lib/cjs/helpers/strings.js.map +1 -0
  38. package/lib/cjs/helpers/typecheckers.js.map +1 -0
  39. package/lib/cjs/helpers/url.js.map +1 -0
  40. package/lib/cjs/helpers/urlhelper.js.map +1 -0
  41. package/{dist → lib/cjs}/index.js +5 -2
  42. package/lib/cjs/index.js.map +1 -0
  43. package/lib/cjs/types/auth.js.map +1 -0
  44. package/lib/cjs/types/common.types.js.map +1 -0
  45. package/lib/cjs/types/exports-index.js.map +1 -0
  46. package/lib/cjs/types/flatted.types.js.map +1 -0
  47. package/lib/cjs/types/globals.types.js.map +1 -0
  48. package/lib/cjs/types/graph/calendar.types.js.map +1 -0
  49. package/lib/cjs/types/graph/exports-index.js.map +1 -0
  50. package/lib/cjs/types/knownscript.types.js.map +1 -0
  51. package/lib/cjs/types/libs/datajs.types.js.map +1 -0
  52. package/lib/cjs/types/libs/exports-index.js.map +1 -0
  53. package/lib/cjs/types/libs/ics.types.js.map +1 -0
  54. package/lib/cjs/types/libs/msal.types.js.map +1 -0
  55. package/{dist → lib/cjs}/types/locales.js.map +1 -1
  56. package/lib/cjs/types/localstoragecache.types.js.map +1 -0
  57. package/lib/cjs/types/location.types.js.map +1 -0
  58. package/{dist → lib/cjs}/types/moment.js.map +1 -1
  59. package/{dist → lib/cjs}/types/regex.types.js.map +1 -1
  60. package/lib/cjs/types/rest.types.js.map +1 -0
  61. package/lib/cjs/types/sharepoint.types.js.map +1 -0
  62. package/lib/cjs/types/sharepoint.utils.types.js.map +1 -0
  63. package/lib/cjs/utils/_dependencies.js.map +1 -0
  64. package/lib/cjs/utils/auth/common.js.map +1 -0
  65. package/{dist → lib/cjs}/utils/auth/discovery.js +16 -14
  66. package/lib/cjs/utils/auth/discovery.js.map +1 -0
  67. package/lib/cjs/utils/auth/exports-index.js.map +1 -0
  68. package/{dist → lib/cjs}/utils/base64.js +4 -3
  69. package/lib/cjs/utils/base64.js.map +1 -0
  70. package/{dist → lib/cjs}/utils/consolelogger.js +31 -26
  71. package/lib/cjs/utils/consolelogger.js.map +1 -0
  72. package/{dist → lib/cjs}/utils/date.js +3 -3
  73. package/lib/cjs/utils/date.js.map +1 -0
  74. package/{dist → lib/cjs}/utils/emails.js +2 -2
  75. package/lib/cjs/utils/emails.js.map +1 -0
  76. package/lib/cjs/utils/exports-index.js.map +1 -0
  77. package/{dist → lib/cjs}/utils/knownscript.js +9 -5
  78. package/lib/cjs/utils/knownscript.js.map +1 -0
  79. package/{dist → lib/cjs}/utils/localstoragecache.js +40 -27
  80. package/lib/cjs/utils/localstoragecache.js.map +1 -0
  81. package/{dist → lib/cjs}/utils/rest.js +63 -48
  82. package/lib/cjs/utils/rest.js.map +1 -0
  83. package/{dist → lib/cjs}/utils/script.js +15 -10
  84. package/lib/cjs/utils/script.js.map +1 -0
  85. package/lib/cjs/utils/sharepoint.rest/common.js.map +1 -0
  86. package/{dist → lib/cjs}/utils/sharepoint.rest/date.js +10 -9
  87. package/lib/cjs/utils/sharepoint.rest/date.js.map +1 -0
  88. package/lib/cjs/utils/sharepoint.rest/exports-index.js.map +1 -0
  89. package/{dist → lib/cjs}/utils/sharepoint.rest/file.folder.js +49 -46
  90. package/lib/cjs/utils/sharepoint.rest/file.folder.js.map +1 -0
  91. package/{dist → lib/cjs}/utils/sharepoint.rest/item.js +51 -45
  92. package/lib/cjs/utils/sharepoint.rest/item.js.map +1 -0
  93. package/{dist → lib/cjs}/utils/sharepoint.rest/list.js +131 -124
  94. package/lib/cjs/utils/sharepoint.rest/list.js.map +1 -0
  95. package/{dist → lib/cjs}/utils/sharepoint.rest/listutils/GetListItemsByCaml.js +55 -50
  96. package/lib/cjs/utils/sharepoint.rest/listutils/GetListItemsByCaml.js.map +1 -0
  97. package/{dist → lib/cjs}/utils/sharepoint.rest/listutils/GetListItemsById.js +31 -23
  98. package/lib/cjs/utils/sharepoint.rest/listutils/GetListItemsById.js.map +1 -0
  99. package/{dist → lib/cjs}/utils/sharepoint.rest/listutils/common.js +20 -16
  100. package/lib/cjs/utils/sharepoint.rest/listutils/common.js.map +1 -0
  101. package/lib/cjs/utils/sharepoint.rest/listutils/exports-index.js.map +1 -0
  102. package/{dist → lib/cjs}/utils/sharepoint.rest/location.js +3 -3
  103. package/lib/cjs/utils/sharepoint.rest/location.js.map +1 -0
  104. package/{dist → lib/cjs}/utils/sharepoint.rest/navigation-links.js +3 -3
  105. package/lib/cjs/utils/sharepoint.rest/navigation-links.js.map +1 -0
  106. package/{dist → lib/cjs}/utils/sharepoint.rest/user-search.js +7 -5
  107. package/lib/cjs/utils/sharepoint.rest/user-search.js.map +1 -0
  108. package/{dist → lib/cjs}/utils/sharepoint.rest/user.js +52 -47
  109. package/lib/cjs/utils/sharepoint.rest/user.js.map +1 -0
  110. package/{dist → lib/cjs}/utils/sharepoint.rest/web.js +167 -158
  111. package/lib/cjs/utils/sharepoint.rest/web.js.map +1 -0
  112. package/{dist → lib/cjs}/utils/sod.js +12 -11
  113. package/lib/cjs/utils/sod.js.map +1 -0
  114. package/lib/esm/_dependencies.js +12 -0
  115. package/lib/esm/_dependencies.js.map +1 -0
  116. package/lib/esm/config.js +12 -0
  117. package/lib/esm/config.js.map +1 -0
  118. package/lib/esm/exports-index.js +5 -0
  119. package/lib/esm/exports-index.js.map +1 -0
  120. package/lib/esm/helpers/Guid.js +179 -0
  121. package/lib/esm/helpers/Guid.js.map +1 -0
  122. package/{src/helpers/_dependencies.ts → lib/esm/helpers/_dependencies.js} +3 -3
  123. package/lib/esm/helpers/_dependencies.js.map +1 -0
  124. package/lib/esm/helpers/base64.js +157 -0
  125. package/lib/esm/helpers/base64.js.map +1 -0
  126. package/lib/esm/helpers/browser.js +1158 -0
  127. package/lib/esm/helpers/browser.js.map +1 -0
  128. package/lib/esm/helpers/browserinfo.js +206 -0
  129. package/lib/esm/helpers/browserinfo.js.map +1 -0
  130. package/lib/esm/helpers/collections.base.js +372 -0
  131. package/lib/esm/helpers/collections.base.js.map +1 -0
  132. package/lib/esm/helpers/collections.js +96 -0
  133. package/lib/esm/helpers/collections.js.map +1 -0
  134. package/lib/esm/helpers/color.js +51 -0
  135. package/lib/esm/helpers/color.js.map +1 -0
  136. package/lib/esm/helpers/cookies.js +53 -0
  137. package/lib/esm/helpers/cookies.js.map +1 -0
  138. package/lib/esm/helpers/date.js +163 -0
  139. package/lib/esm/helpers/date.js.map +1 -0
  140. package/lib/esm/helpers/debug.js +156 -0
  141. package/lib/esm/helpers/debug.js.map +1 -0
  142. package/lib/esm/helpers/emails.js +6 -0
  143. package/lib/esm/helpers/emails.js.map +1 -0
  144. package/lib/esm/helpers/eval.js +6 -0
  145. package/lib/esm/helpers/eval.js.map +1 -0
  146. package/lib/esm/helpers/exports-index.js +30 -0
  147. package/lib/esm/helpers/exports-index.js.map +1 -0
  148. package/lib/esm/helpers/file.js +49 -0
  149. package/lib/esm/helpers/file.js.map +1 -0
  150. package/lib/esm/helpers/flatted.js +131 -0
  151. package/lib/esm/helpers/flatted.js.map +1 -0
  152. package/lib/esm/helpers/functions.js +13 -0
  153. package/lib/esm/helpers/functions.js.map +1 -0
  154. package/lib/esm/helpers/graph/calendar.types.js +10 -0
  155. package/lib/esm/helpers/graph/calendar.types.js.map +1 -0
  156. package/lib/esm/helpers/graph/exports-index.js +2 -0
  157. package/lib/esm/helpers/graph/exports-index.js.map +1 -0
  158. package/lib/esm/helpers/http.js +65 -0
  159. package/lib/esm/helpers/http.js.map +1 -0
  160. package/lib/esm/helpers/images.js +18 -0
  161. package/lib/esm/helpers/images.js.map +1 -0
  162. package/lib/esm/helpers/json.js +39 -0
  163. package/lib/esm/helpers/json.js.map +1 -0
  164. package/lib/esm/helpers/md5.js +168 -0
  165. package/lib/esm/helpers/md5.js.map +1 -0
  166. package/lib/esm/helpers/objects.js +258 -0
  167. package/lib/esm/helpers/objects.js.map +1 -0
  168. package/lib/esm/helpers/promises.js +152 -0
  169. package/lib/esm/helpers/promises.js.map +1 -0
  170. package/lib/esm/helpers/random.js +27 -0
  171. package/lib/esm/helpers/random.js.map +1 -0
  172. package/lib/esm/helpers/scheduler/exports-index.js +2 -0
  173. package/lib/esm/helpers/scheduler/exports-index.js.map +1 -0
  174. package/lib/esm/helpers/scheduler/scheduler.js +103 -0
  175. package/lib/esm/helpers/scheduler/scheduler.js.map +1 -0
  176. package/lib/esm/helpers/sharepoint.js +669 -0
  177. package/lib/esm/helpers/sharepoint.js.map +1 -0
  178. package/lib/esm/helpers/strings.js +273 -0
  179. package/lib/esm/helpers/strings.js.map +1 -0
  180. package/lib/esm/helpers/typecheckers.js +238 -0
  181. package/lib/esm/helpers/typecheckers.js.map +1 -0
  182. package/lib/esm/helpers/url.js +190 -0
  183. package/lib/esm/helpers/url.js.map +1 -0
  184. package/lib/esm/helpers/urlhelper.js +100 -0
  185. package/lib/esm/helpers/urlhelper.js.map +1 -0
  186. package/lib/esm/index.js +6 -0
  187. package/lib/esm/index.js.map +1 -0
  188. package/lib/esm/types/auth.js +38 -0
  189. package/lib/esm/types/auth.js.map +1 -0
  190. package/lib/esm/types/common.types.js +3 -0
  191. package/lib/esm/types/common.types.js.map +1 -0
  192. package/lib/esm/types/exports-index.js +16 -0
  193. package/lib/esm/types/exports-index.js.map +1 -0
  194. package/lib/esm/types/flatted.types.js +2 -0
  195. package/lib/esm/types/flatted.types.js.map +1 -0
  196. package/lib/esm/types/globals.types.js +2 -0
  197. package/lib/esm/types/globals.types.js.map +1 -0
  198. package/lib/esm/types/graph/calendar.types.js +2 -0
  199. package/lib/esm/types/graph/calendar.types.js.map +1 -0
  200. package/lib/esm/types/graph/exports-index.js +2 -0
  201. package/lib/esm/types/graph/exports-index.js.map +1 -0
  202. package/lib/esm/types/knownscript.types.js +2 -0
  203. package/lib/esm/types/knownscript.types.js.map +1 -0
  204. package/lib/esm/types/libs/datajs.types.js +2 -0
  205. package/lib/esm/types/libs/datajs.types.js.map +1 -0
  206. package/lib/esm/types/libs/exports-index.js +4 -0
  207. package/lib/esm/types/libs/exports-index.js.map +1 -0
  208. package/lib/esm/types/libs/ics.types.js +2 -0
  209. package/lib/esm/types/libs/ics.types.js.map +1 -0
  210. package/lib/esm/types/libs/msal.types.js +28 -0
  211. package/lib/esm/types/libs/msal.types.js.map +1 -0
  212. package/lib/esm/types/locales.js +2 -0
  213. package/lib/esm/types/locales.js.map +1 -0
  214. package/lib/esm/types/localstoragecache.types.js +2 -0
  215. package/lib/esm/types/localstoragecache.types.js.map +1 -0
  216. package/lib/esm/types/location.types.js +2 -0
  217. package/lib/esm/types/location.types.js.map +1 -0
  218. package/lib/esm/types/moment.js +2 -0
  219. package/lib/esm/types/moment.js.map +1 -0
  220. package/lib/esm/types/regex.types.js +2 -0
  221. package/lib/esm/types/regex.types.js.map +1 -0
  222. package/lib/esm/types/rest.types.js +21 -0
  223. package/lib/esm/types/rest.types.js.map +1 -0
  224. package/lib/esm/types/sharepoint.types.js +660 -0
  225. package/lib/esm/types/sharepoint.types.js.map +1 -0
  226. package/lib/esm/types/sharepoint.utils.types.js +51 -0
  227. package/lib/esm/types/sharepoint.utils.types.js.map +1 -0
  228. package/{src/utils/_dependencies.ts → lib/esm/utils/_dependencies.js} +4 -4
  229. package/lib/esm/utils/_dependencies.js.map +1 -0
  230. package/lib/esm/utils/auth/common.js +61 -0
  231. package/lib/esm/utils/auth/common.js.map +1 -0
  232. package/lib/esm/utils/auth/discovery.js +104 -0
  233. package/lib/esm/utils/auth/discovery.js.map +1 -0
  234. package/lib/esm/utils/auth/exports-index.js +3 -0
  235. package/lib/esm/utils/auth/exports-index.js.map +1 -0
  236. package/lib/esm/utils/base64.js +27 -0
  237. package/lib/esm/utils/base64.js.map +1 -0
  238. package/lib/esm/utils/consolelogger.js +271 -0
  239. package/lib/esm/utils/consolelogger.js.map +1 -0
  240. package/lib/esm/utils/date.js +26 -0
  241. package/lib/esm/utils/date.js.map +1 -0
  242. package/lib/esm/utils/emails.js +23 -0
  243. package/lib/esm/utils/emails.js.map +1 -0
  244. package/lib/esm/utils/exports-index.js +12 -0
  245. package/lib/esm/utils/exports-index.js.map +1 -0
  246. package/lib/esm/utils/knownscript.js +247 -0
  247. package/lib/esm/utils/knownscript.js.map +1 -0
  248. package/lib/esm/utils/localstoragecache.js +378 -0
  249. package/lib/esm/utils/localstoragecache.js.map +1 -0
  250. package/lib/esm/utils/rest.js +432 -0
  251. package/lib/esm/utils/rest.js.map +1 -0
  252. package/lib/esm/utils/script.js +154 -0
  253. package/lib/esm/utils/script.js.map +1 -0
  254. package/lib/esm/utils/sharepoint.rest/common.js +134 -0
  255. package/lib/esm/utils/sharepoint.rest/common.js.map +1 -0
  256. package/lib/esm/utils/sharepoint.rest/date.js +54 -0
  257. package/lib/esm/utils/sharepoint.rest/date.js.map +1 -0
  258. package/lib/esm/utils/sharepoint.rest/exports-index.js +12 -0
  259. package/lib/esm/utils/sharepoint.rest/exports-index.js.map +1 -0
  260. package/lib/esm/utils/sharepoint.rest/file.folder.js +444 -0
  261. package/lib/esm/utils/sharepoint.rest/file.folder.js.map +1 -0
  262. package/lib/esm/utils/sharepoint.rest/item.js +453 -0
  263. package/lib/esm/utils/sharepoint.rest/item.js.map +1 -0
  264. package/lib/esm/utils/sharepoint.rest/list.js +924 -0
  265. package/lib/esm/utils/sharepoint.rest/list.js.map +1 -0
  266. package/lib/esm/utils/sharepoint.rest/listutils/GetListItemsByCaml.js +624 -0
  267. package/lib/esm/utils/sharepoint.rest/listutils/GetListItemsByCaml.js.map +1 -0
  268. package/lib/esm/utils/sharepoint.rest/listutils/GetListItemsById.js +214 -0
  269. package/lib/esm/utils/sharepoint.rest/listutils/GetListItemsById.js.map +1 -0
  270. package/lib/esm/utils/sharepoint.rest/listutils/common.js +198 -0
  271. package/lib/esm/utils/sharepoint.rest/listutils/common.js.map +1 -0
  272. package/lib/esm/utils/sharepoint.rest/listutils/exports-index.js +4 -0
  273. package/lib/esm/utils/sharepoint.rest/listutils/exports-index.js.map +1 -0
  274. package/lib/esm/utils/sharepoint.rest/location.js +103 -0
  275. package/lib/esm/utils/sharepoint.rest/location.js.map +1 -0
  276. package/lib/esm/utils/sharepoint.rest/navigation-links.js +80 -0
  277. package/lib/esm/utils/sharepoint.rest/navigation-links.js.map +1 -0
  278. package/lib/esm/utils/sharepoint.rest/user-search.js +218 -0
  279. package/lib/esm/utils/sharepoint.rest/user-search.js.map +1 -0
  280. package/lib/esm/utils/sharepoint.rest/user.js +414 -0
  281. package/lib/esm/utils/sharepoint.rest/user.js.map +1 -0
  282. package/lib/esm/utils/sharepoint.rest/web.js +1158 -0
  283. package/lib/esm/utils/sharepoint.rest/web.js.map +1 -0
  284. package/lib/esm/utils/sod.js +164 -0
  285. package/lib/esm/utils/sod.js.map +1 -0
  286. package/{dist → lib/types}/helpers/collections.base.d.ts +1 -1
  287. package/{dist → lib/types}/helpers/collections.d.ts +1 -1
  288. package/{dist → lib/types}/helpers/flatted.d.ts +1 -1
  289. package/{dist → lib/types}/helpers/graph/calendar.types.d.ts +1 -1
  290. package/{dist → lib/types}/helpers/sharepoint.d.ts +3 -1
  291. package/{dist → lib/types}/helpers/strings.d.ts +1 -1
  292. package/{dist → lib/types}/helpers/url.d.ts +1 -1
  293. package/{dist → lib/types}/utils/auth/discovery.d.ts +1 -1
  294. package/{dist → lib/types}/utils/knownscript.d.ts +5 -1
  295. package/{dist → lib/types}/utils/localstoragecache.d.ts +1 -1
  296. package/{dist → lib/types}/utils/rest.d.ts +1 -1
  297. package/{dist → lib/types}/utils/script.d.ts +1 -1
  298. package/{dist → lib/types}/utils/sharepoint.rest/date.d.ts +1 -1
  299. package/{dist → lib/types}/utils/sharepoint.rest/file.folder.d.ts +4 -1
  300. package/{dist → lib/types}/utils/sharepoint.rest/item.d.ts +3 -1
  301. package/{dist → lib/types}/utils/sharepoint.rest/list.d.ts +4 -1
  302. package/{dist → lib/types}/utils/sharepoint.rest/listutils/GetListItemsByCaml.d.ts +1 -1
  303. package/{dist → lib/types}/utils/sharepoint.rest/listutils/GetListItemsById.d.ts +2 -1
  304. package/{dist → lib/types}/utils/sharepoint.rest/listutils/common.d.ts +2 -1
  305. package/{dist → lib/types}/utils/sharepoint.rest/navigation-links.d.ts +1 -1
  306. package/{dist → lib/types}/utils/sharepoint.rest/user-search.d.ts +1 -1
  307. package/{dist → lib/types}/utils/sharepoint.rest/user.d.ts +3 -1
  308. package/{dist → lib/types}/utils/sharepoint.rest/web.d.ts +3 -1
  309. package/{dist → lib/types}/utils/sod.d.ts +1 -1
  310. package/package.json +15 -7
  311. package/src/helpers/browser.ts +1 -1
  312. package/src/helpers/collections.base.ts +1 -2
  313. package/src/helpers/collections.ts +1 -1
  314. package/src/helpers/debug.ts +1 -1
  315. package/src/helpers/flatted.ts +1 -1
  316. package/src/helpers/graph/calendar.types.ts +1 -1
  317. package/src/helpers/promises.ts +10 -5
  318. package/src/helpers/sharepoint.ts +3 -1
  319. package/src/helpers/strings.ts +1 -1
  320. package/src/helpers/url.ts +1 -1
  321. package/src/utils/auth/discovery.ts +3 -1
  322. package/src/utils/base64.ts +2 -1
  323. package/src/utils/consolelogger.ts +7 -1
  324. package/src/utils/date.ts +1 -1
  325. package/src/utils/emails.ts +1 -1
  326. package/src/utils/knownscript.ts +7 -1
  327. package/src/utils/localstoragecache.ts +39 -20
  328. package/src/utils/rest.ts +23 -4
  329. package/src/utils/script.ts +4 -1
  330. package/src/utils/sharepoint.rest/date.ts +3 -1
  331. package/src/utils/sharepoint.rest/file.folder.ts +7 -1
  332. package/src/utils/sharepoint.rest/item.ts +9 -1
  333. package/src/utils/sharepoint.rest/list.ts +10 -1
  334. package/src/utils/sharepoint.rest/listutils/GetListItemsByCaml.ts +9 -1
  335. package/src/utils/sharepoint.rest/listutils/GetListItemsById.ts +14 -4
  336. package/src/utils/sharepoint.rest/listutils/common.ts +6 -1
  337. package/src/utils/sharepoint.rest/location.ts +1 -1
  338. package/src/utils/sharepoint.rest/navigation-links.ts +2 -1
  339. package/src/utils/sharepoint.rest/user-search.ts +4 -1
  340. package/src/utils/sharepoint.rest/user.ts +7 -1
  341. package/src/utils/sharepoint.rest/web.ts +12 -2
  342. package/src/utils/sod.ts +3 -1
  343. package/dist/_dependencies.js.map +0 -1
  344. package/dist/config.js.map +0 -1
  345. package/dist/exports-index.js.map +0 -1
  346. package/dist/helpers/Guid.js.map +0 -1
  347. package/dist/helpers/_dependencies.js.map +0 -1
  348. package/dist/helpers/base64.js.map +0 -1
  349. package/dist/helpers/browser.js.map +0 -1
  350. package/dist/helpers/browserinfo.js.map +0 -1
  351. package/dist/helpers/collections.base.js.map +0 -1
  352. package/dist/helpers/collections.js.map +0 -1
  353. package/dist/helpers/color.js.map +0 -1
  354. package/dist/helpers/cookies.js.map +0 -1
  355. package/dist/helpers/date.js.map +0 -1
  356. package/dist/helpers/debug.js.map +0 -1
  357. package/dist/helpers/emails.js.map +0 -1
  358. package/dist/helpers/eval.js.map +0 -1
  359. package/dist/helpers/exports-index.js.map +0 -1
  360. package/dist/helpers/file.js.map +0 -1
  361. package/dist/helpers/flatted.js.map +0 -1
  362. package/dist/helpers/functions.js.map +0 -1
  363. package/dist/helpers/graph/calendar.types.js.map +0 -1
  364. package/dist/helpers/graph/exports-index.js.map +0 -1
  365. package/dist/helpers/http.js.map +0 -1
  366. package/dist/helpers/images.js.map +0 -1
  367. package/dist/helpers/json.js.map +0 -1
  368. package/dist/helpers/md5.js.map +0 -1
  369. package/dist/helpers/objects.js.map +0 -1
  370. package/dist/helpers/promises.js.map +0 -1
  371. package/dist/helpers/random.js.map +0 -1
  372. package/dist/helpers/scheduler/exports-index.js.map +0 -1
  373. package/dist/helpers/scheduler/scheduler.js.map +0 -1
  374. package/dist/helpers/sharepoint.js.map +0 -1
  375. package/dist/helpers/strings.js.map +0 -1
  376. package/dist/helpers/typecheckers.js.map +0 -1
  377. package/dist/helpers/url.js.map +0 -1
  378. package/dist/helpers/urlhelper.js.map +0 -1
  379. package/dist/index.js.map +0 -1
  380. package/dist/types/auth.js.map +0 -1
  381. package/dist/types/common.types.js.map +0 -1
  382. package/dist/types/exports-index.js.map +0 -1
  383. package/dist/types/flatted.types.js.map +0 -1
  384. package/dist/types/globals.types.js.map +0 -1
  385. package/dist/types/graph/calendar.types.js.map +0 -1
  386. package/dist/types/graph/exports-index.js.map +0 -1
  387. package/dist/types/knownscript.types.js.map +0 -1
  388. package/dist/types/libs/datajs.types.js.map +0 -1
  389. package/dist/types/libs/exports-index.js.map +0 -1
  390. package/dist/types/libs/ics.types.js.map +0 -1
  391. package/dist/types/libs/msal.types.js.map +0 -1
  392. package/dist/types/localstoragecache.types.js.map +0 -1
  393. package/dist/types/location.types.js.map +0 -1
  394. package/dist/types/rest.types.js.map +0 -1
  395. package/dist/types/sharepoint.types.js.map +0 -1
  396. package/dist/types/sharepoint.utils.types.js.map +0 -1
  397. package/dist/utils/_dependencies.js.map +0 -1
  398. package/dist/utils/auth/common.js.map +0 -1
  399. package/dist/utils/auth/discovery.js.map +0 -1
  400. package/dist/utils/auth/exports-index.js.map +0 -1
  401. package/dist/utils/base64.js.map +0 -1
  402. package/dist/utils/consolelogger.js.map +0 -1
  403. package/dist/utils/date.js.map +0 -1
  404. package/dist/utils/emails.js.map +0 -1
  405. package/dist/utils/exports-index.js.map +0 -1
  406. package/dist/utils/knownscript.js.map +0 -1
  407. package/dist/utils/localstoragecache.js.map +0 -1
  408. package/dist/utils/rest.js.map +0 -1
  409. package/dist/utils/script.js.map +0 -1
  410. package/dist/utils/sharepoint.rest/common.js.map +0 -1
  411. package/dist/utils/sharepoint.rest/date.js.map +0 -1
  412. package/dist/utils/sharepoint.rest/exports-index.js.map +0 -1
  413. package/dist/utils/sharepoint.rest/file.folder.js.map +0 -1
  414. package/dist/utils/sharepoint.rest/item.js.map +0 -1
  415. package/dist/utils/sharepoint.rest/list.js.map +0 -1
  416. package/dist/utils/sharepoint.rest/listutils/GetListItemsByCaml.js.map +0 -1
  417. package/dist/utils/sharepoint.rest/listutils/GetListItemsById.js.map +0 -1
  418. package/dist/utils/sharepoint.rest/listutils/common.js.map +0 -1
  419. package/dist/utils/sharepoint.rest/listutils/exports-index.js.map +0 -1
  420. package/dist/utils/sharepoint.rest/location.js.map +0 -1
  421. package/dist/utils/sharepoint.rest/navigation-links.js.map +0 -1
  422. package/dist/utils/sharepoint.rest/user-search.js.map +0 -1
  423. package/dist/utils/sharepoint.rest/user.js.map +0 -1
  424. package/dist/utils/sharepoint.rest/web.js.map +0 -1
  425. package/dist/utils/sod.js.map +0 -1
  426. /package/{dist → lib/cjs}/_dependencies.js +0 -0
  427. /package/{dist → lib/cjs}/config.js +0 -0
  428. /package/{dist → lib/cjs}/exports-index.js +0 -0
  429. /package/{dist → lib/cjs}/helpers/Guid.js +0 -0
  430. /package/{dist → lib/cjs}/helpers/_dependencies.js +0 -0
  431. /package/{dist → lib/cjs}/helpers/base64.js +0 -0
  432. /package/{dist → lib/cjs}/helpers/browser.js +0 -0
  433. /package/{dist → lib/cjs}/helpers/browserinfo.js +0 -0
  434. /package/{dist → lib/cjs}/helpers/collections.js +0 -0
  435. /package/{dist → lib/cjs}/helpers/color.js +0 -0
  436. /package/{dist → lib/cjs}/helpers/cookies.js +0 -0
  437. /package/{dist → lib/cjs}/helpers/date.js +0 -0
  438. /package/{dist → lib/cjs}/helpers/emails.js +0 -0
  439. /package/{dist → lib/cjs}/helpers/eval.js +0 -0
  440. /package/{dist → lib/cjs}/helpers/exports-index.js +0 -0
  441. /package/{dist → lib/cjs}/helpers/file.js +0 -0
  442. /package/{dist → lib/cjs}/helpers/flatted.js +0 -0
  443. /package/{dist → lib/cjs}/helpers/functions.js +0 -0
  444. /package/{dist → lib/cjs}/helpers/graph/calendar.types.js +0 -0
  445. /package/{dist → lib/cjs}/helpers/graph/exports-index.js +0 -0
  446. /package/{dist → lib/cjs}/helpers/http.js +0 -0
  447. /package/{dist → lib/cjs}/helpers/images.js +0 -0
  448. /package/{dist → lib/cjs}/helpers/json.js +0 -0
  449. /package/{dist → lib/cjs}/helpers/md5.js +0 -0
  450. /package/{dist → lib/cjs}/helpers/objects.js +0 -0
  451. /package/{dist → lib/cjs}/helpers/random.js +0 -0
  452. /package/{dist → lib/cjs}/helpers/scheduler/exports-index.js +0 -0
  453. /package/{dist → lib/cjs}/helpers/scheduler/scheduler.js +0 -0
  454. /package/{dist → lib/cjs}/helpers/strings.js +0 -0
  455. /package/{dist → lib/cjs}/helpers/typecheckers.js +0 -0
  456. /package/{dist → lib/cjs}/helpers/url.js +0 -0
  457. /package/{dist → lib/cjs}/helpers/urlhelper.js +0 -0
  458. /package/{dist → lib/cjs}/types/auth.js +0 -0
  459. /package/{dist → lib/cjs}/types/common.types.js +0 -0
  460. /package/{dist → lib/cjs}/types/exports-index.js +0 -0
  461. /package/{dist → lib/cjs}/types/flatted.types.js +0 -0
  462. /package/{dist → lib/cjs}/types/globals.types.js +0 -0
  463. /package/{dist → lib/cjs}/types/graph/calendar.types.js +0 -0
  464. /package/{dist → lib/cjs}/types/graph/exports-index.js +0 -0
  465. /package/{dist → lib/cjs}/types/knownscript.types.js +0 -0
  466. /package/{dist → lib/cjs}/types/libs/datajs.types.js +0 -0
  467. /package/{dist → lib/cjs}/types/libs/exports-index.js +0 -0
  468. /package/{dist → lib/cjs}/types/libs/ics.types.js +0 -0
  469. /package/{dist → lib/cjs}/types/libs/msal.types.js +0 -0
  470. /package/{dist → lib/cjs}/types/locales.js +0 -0
  471. /package/{dist → lib/cjs}/types/localstoragecache.types.js +0 -0
  472. /package/{dist → lib/cjs}/types/location.types.js +0 -0
  473. /package/{dist → lib/cjs}/types/moment.js +0 -0
  474. /package/{dist → lib/cjs}/types/regex.types.js +0 -0
  475. /package/{dist → lib/cjs}/types/rest.types.js +0 -0
  476. /package/{dist → lib/cjs}/types/sharepoint.types.js +0 -0
  477. /package/{dist → lib/cjs}/types/sharepoint.utils.types.js +0 -0
  478. /package/{dist → lib/cjs}/utils/_dependencies.js +0 -0
  479. /package/{dist → lib/cjs}/utils/auth/common.js +0 -0
  480. /package/{dist → lib/cjs}/utils/auth/exports-index.js +0 -0
  481. /package/{dist → lib/cjs}/utils/exports-index.js +0 -0
  482. /package/{dist → lib/cjs}/utils/sharepoint.rest/common.js +0 -0
  483. /package/{dist → lib/cjs}/utils/sharepoint.rest/exports-index.js +0 -0
  484. /package/{dist → lib/cjs}/utils/sharepoint.rest/listutils/exports-index.js +0 -0
  485. /package/{dist → lib/types}/_dependencies.d.ts +0 -0
  486. /package/{dist → lib/types}/config.d.ts +0 -0
  487. /package/{dist → lib/types}/exports-index.d.ts +0 -0
  488. /package/{dist → lib/types}/helpers/Guid.d.ts +0 -0
  489. /package/{dist → lib/types}/helpers/_dependencies.d.ts +0 -0
  490. /package/{dist → lib/types}/helpers/base64.d.ts +0 -0
  491. /package/{dist → lib/types}/helpers/browser.d.ts +0 -0
  492. /package/{dist → lib/types}/helpers/browserinfo.d.ts +0 -0
  493. /package/{dist → lib/types}/helpers/color.d.ts +0 -0
  494. /package/{dist → lib/types}/helpers/cookies.d.ts +0 -0
  495. /package/{dist → lib/types}/helpers/date.d.ts +0 -0
  496. /package/{dist → lib/types}/helpers/debug.d.ts +0 -0
  497. /package/{dist → lib/types}/helpers/emails.d.ts +0 -0
  498. /package/{dist → lib/types}/helpers/eval.d.ts +0 -0
  499. /package/{dist → lib/types}/helpers/exports-index.d.ts +0 -0
  500. /package/{dist → lib/types}/helpers/file.d.ts +0 -0
  501. /package/{dist → lib/types}/helpers/functions.d.ts +0 -0
  502. /package/{dist → lib/types}/helpers/graph/exports-index.d.ts +0 -0
  503. /package/{dist → lib/types}/helpers/http.d.ts +0 -0
  504. /package/{dist → lib/types}/helpers/images.d.ts +0 -0
  505. /package/{dist → lib/types}/helpers/json.d.ts +0 -0
  506. /package/{dist → lib/types}/helpers/md5.d.ts +0 -0
  507. /package/{dist → lib/types}/helpers/objects.d.ts +0 -0
  508. /package/{dist → lib/types}/helpers/promises.d.ts +0 -0
  509. /package/{dist → lib/types}/helpers/random.d.ts +0 -0
  510. /package/{dist → lib/types}/helpers/scheduler/exports-index.d.ts +0 -0
  511. /package/{dist → lib/types}/helpers/scheduler/scheduler.d.ts +0 -0
  512. /package/{dist → lib/types}/helpers/typecheckers.d.ts +0 -0
  513. /package/{dist → lib/types}/helpers/urlhelper.d.ts +0 -0
  514. /package/{dist → lib/types}/index.d.ts +0 -0
  515. /package/{dist → lib/types}/types/auth.d.ts +0 -0
  516. /package/{dist → lib/types}/types/common.types.d.ts +0 -0
  517. /package/{dist → lib/types}/types/exports-index.d.ts +0 -0
  518. /package/{dist → lib/types}/types/flatted.types.d.ts +0 -0
  519. /package/{dist → lib/types}/types/globals.types.d.ts +0 -0
  520. /package/{dist → lib/types}/types/graph/calendar.types.d.ts +0 -0
  521. /package/{dist → lib/types}/types/graph/exports-index.d.ts +0 -0
  522. /package/{dist → lib/types}/types/knownscript.types.d.ts +0 -0
  523. /package/{dist → lib/types}/types/libs/datajs.types.d.ts +0 -0
  524. /package/{dist → lib/types}/types/libs/exports-index.d.ts +0 -0
  525. /package/{dist → lib/types}/types/libs/ics.types.d.ts +0 -0
  526. /package/{dist → lib/types}/types/libs/msal.types.d.ts +0 -0
  527. /package/{dist → lib/types}/types/locales.d.ts +0 -0
  528. /package/{dist → lib/types}/types/localstoragecache.types.d.ts +0 -0
  529. /package/{dist → lib/types}/types/location.types.d.ts +0 -0
  530. /package/{dist → lib/types}/types/moment.d.ts +0 -0
  531. /package/{dist → lib/types}/types/regex.types.d.ts +0 -0
  532. /package/{dist → lib/types}/types/rest.types.d.ts +0 -0
  533. /package/{dist → lib/types}/types/sharepoint.types.d.ts +0 -0
  534. /package/{dist → lib/types}/types/sharepoint.utils.types.d.ts +0 -0
  535. /package/{dist → lib/types}/utils/_dependencies.d.ts +0 -0
  536. /package/{dist → lib/types}/utils/auth/common.d.ts +0 -0
  537. /package/{dist → lib/types}/utils/auth/exports-index.d.ts +0 -0
  538. /package/{dist → lib/types}/utils/base64.d.ts +0 -0
  539. /package/{dist → lib/types}/utils/consolelogger.d.ts +0 -0
  540. /package/{dist → lib/types}/utils/date.d.ts +0 -0
  541. /package/{dist → lib/types}/utils/emails.d.ts +0 -0
  542. /package/{dist → lib/types}/utils/exports-index.d.ts +0 -0
  543. /package/{dist → lib/types}/utils/sharepoint.rest/common.d.ts +0 -0
  544. /package/{dist → lib/types}/utils/sharepoint.rest/exports-index.d.ts +0 -0
  545. /package/{dist → lib/types}/utils/sharepoint.rest/listutils/exports-index.d.ts +0 -0
  546. /package/{dist → lib/types}/utils/sharepoint.rest/location.d.ts +0 -0
@@ -0,0 +1,372 @@
1
+ import { getFromFullName, isBoolean, isDate, isFunction, isNotEmptyArray, isNullOrEmptyArray, isNullOrEmptyString, isNullOrUndefined, isNumber, isString, isTypeofFullNameFunction } from "./typecheckers";
2
+ /** Finds an object in array based on a filter and moves it to the start of the array */
3
+ export function moveToStart(arr, filter) {
4
+ let index = firstIndexOf(arr, filter);
5
+ if (index > 0) {
6
+ let obj = arr[index];
7
+ arr.splice(index, 1);
8
+ arr.unshift(obj);
9
+ }
10
+ }
11
+ /** Finds an object in array based on a filter and moves it to the end of the array */
12
+ export function moveToEnd(arr, filter) {
13
+ let index = firstIndexOf(arr, filter);
14
+ if (index !== -1 && index !== arr.length - 1) {
15
+ let obj = arr[index];
16
+ arr.splice(index, 1);
17
+ arr.push(obj);
18
+ }
19
+ }
20
+ /** Get the first index of an object of an array, or -1 if the array is empty / null */
21
+ // export function firstIndexOf<T extends Element>(arr: HTMLCollectionOf<T>, filter?: (item: T, index?: number) => boolean, startFrom?: number): number;
22
+ // export function firstIndexOf<T>(arr: T[], filter?: (item: T, index?: number) => boolean, startFrom?: number): number;
23
+ export function firstIndexOf(arr, filter, startFrom) {
24
+ if (!isNullOrUndefined(arr) && arr.length > 0) {
25
+ if (isFunction(filter)) {
26
+ //use for loop so we can stop when it is found
27
+ for (let i = startFrom > 0 ? startFrom : 0; i < arr.length; i++)
28
+ if (filter(arr[i], i) === true)
29
+ return i;
30
+ }
31
+ else
32
+ return 0;
33
+ }
34
+ return -1;
35
+ }
36
+ /** Get the first object of an array, or null if the array is empty / null
37
+ * If you pass a filter, it will find the first element that matches the filter and return it, stopping the loop when it is found
38
+ * */
39
+ export function firstOrNull(arr, filter) {
40
+ let index = firstIndexOf(arr, filter);
41
+ return index < 0 ? null : arr[index];
42
+ }
43
+ /** Get the last index of an object of an array, or -1 if the array is empty / null */
44
+ export function lastIndexOf(arr, filter) {
45
+ if (!isNullOrUndefined(arr) && arr.length > 0) {
46
+ if (isFunction(filter)) {
47
+ //use for loop so we can stop when it is found
48
+ for (let i = arr.length - 1; i >= 0; i--)
49
+ if (filter(arr[i]) === true)
50
+ return i;
51
+ }
52
+ else
53
+ return arr.length - 1;
54
+ }
55
+ return -1;
56
+ }
57
+ /** get the last element or null */
58
+ export function lastOrNull(arr, filter) {
59
+ let index = lastIndexOf(arr, filter);
60
+ return index < 0 ? null : arr[index];
61
+ }
62
+ /** Get the first index of an object of an array, or -1 if the array is empty / null */
63
+ export async function firstIndexOfAsync(arr, filter, startFrom) {
64
+ if (!isNullOrUndefined(arr) && arr.length > 0) {
65
+ if (isFunction(filter)) {
66
+ //use for loop so we can stop when it is found
67
+ for (let i = startFrom > 0 ? startFrom : 0; i < arr.length; i++)
68
+ if ((await filter(arr[i], i)) === true)
69
+ return i;
70
+ }
71
+ else
72
+ return 0;
73
+ }
74
+ return -1;
75
+ }
76
+ /** Get the first object of an array, or null if the array is empty / null
77
+ * If you pass a filter, it will find the first element that matches the filter and return it, stopping the loop when it is found
78
+ * */
79
+ export async function firstOrNullAsync(arr, filter) {
80
+ let index = await firstIndexOfAsync(arr, filter);
81
+ return index < 0 ? null : arr[index];
82
+ }
83
+ /** Get the last index of an object of an array, or -1 if the array is empty / null */
84
+ export async function lastIndexOfAsync(arr, filter) {
85
+ if (!isNullOrUndefined(arr) && arr.length > 0) {
86
+ if (isFunction(filter)) {
87
+ //use for loop so we can stop when it is found
88
+ for (let i = arr.length - 1; i >= 0; i--)
89
+ if ((await filter(arr[i])) === true)
90
+ return i;
91
+ }
92
+ else
93
+ return arr.length - 1;
94
+ }
95
+ return -1;
96
+ }
97
+ /** get the last element or null */
98
+ export async function lastOrNullAsync(arr, filter) {
99
+ let index = await lastIndexOfAsync(arr, filter);
100
+ return index < 0 ? null : arr[index];
101
+ }
102
+ /** Sorts an array of complex objects, use defaultPrimitiveGetValue for default functionality */
103
+ export function sortArray(arr, getValue) {
104
+ if (!isNullOrEmptyArray(arr)) {
105
+ if (isTypeofFullNameFunction("Intl.Collator")) {
106
+ //todo: should probably use the SharePoint locale isntead of 'undefined'
107
+ let collator = new Intl.Collator(undefined, { numeric: true, sensitivity: 'base' });
108
+ arr.sort((a, b) => {
109
+ let va = getValue(a);
110
+ let vb = getValue(b);
111
+ return collator.compare(va, vb);
112
+ });
113
+ }
114
+ else {
115
+ arr.sort((a, b) => {
116
+ let va = getValue(a);
117
+ if (isString(va))
118
+ va = va.toLowerCase();
119
+ let vb = getValue(b);
120
+ if (isString(vb))
121
+ vb = vb.toLowerCase();
122
+ return va === vb ? 0 : va > vb ? 1 : -1;
123
+ });
124
+ }
125
+ }
126
+ return arr;
127
+ }
128
+ /** removes null, undefined or "" elements from the array */
129
+ export function filterEmptyEntries(arr) {
130
+ return arr.filter(val => !isNullOrEmptyString(val));
131
+ }
132
+ export function sortNumberArrayAsc(a, b) {
133
+ return a - b;
134
+ }
135
+ export function sortNumberArray(a, b) {
136
+ return b - a;
137
+ }
138
+ /** call a foreach on an object or an array, with an option to break when returning false */
139
+ export function forEach(obj, func, args) {
140
+ if (obj && func && isFunction(func)) {
141
+ if (Array.isArray(obj) || obj.constructor && getFromFullName("constructor.name", obj) === "Array") {
142
+ for (let i = 0; i < obj.length; i++) {
143
+ let property = i;
144
+ let value = obj[property];
145
+ let result = func(property.toString(10), value, args);
146
+ if (result === false) {
147
+ break;
148
+ }
149
+ }
150
+ }
151
+ else {
152
+ let keys = Object.keys(obj);
153
+ for (let i = 0; i < keys.length; i++) {
154
+ let property = keys[i];
155
+ let value = obj[property];
156
+ let result = func(property, value, args);
157
+ if (result === false) {
158
+ break;
159
+ }
160
+ }
161
+ }
162
+ }
163
+ }
164
+ export async function forEachAsync(arr, handler, options) {
165
+ if (!isNullOrUndefined(arr) && Object.keys(arr).length > 0) {
166
+ let keys = Object.keys(arr);
167
+ if (options && options.parallel) {
168
+ let promises = [];
169
+ keys.forEach((key, i) => {
170
+ promises.push(handler(arr[key], i));
171
+ });
172
+ return Promise.all(promises);
173
+ }
174
+ else {
175
+ let results = [];
176
+ for (let i = 0; i < keys.length; i++) {
177
+ results.push(await handler(arr[keys[i]], i));
178
+ }
179
+ return results;
180
+ }
181
+ }
182
+ else
183
+ return [];
184
+ }
185
+ export function sizeOf(obj) {
186
+ if (Array.isArray(obj))
187
+ return obj.length;
188
+ return Object.keys(obj).length;
189
+ }
190
+ export function chunkArray(array, chunkSize) {
191
+ let chunkedArray = [];
192
+ for (var i = 0; i < array.length; i += chunkSize) {
193
+ chunkedArray.push(array.slice(i, i + chunkSize));
194
+ }
195
+ return chunkedArray;
196
+ }
197
+ /** Takes an array and transforms it into a hash. this will assign 1 item per key, assumig getKey will be unique per item. */
198
+ export function toHash(arr, getKey, filter, transformValue) {
199
+ let hash = {};
200
+ if (!isFunction(transformValue))
201
+ transformValue = v => v;
202
+ if (isNotEmptyArray(arr))
203
+ arr.forEach(i => {
204
+ if (!isFunction(filter) || filter(i))
205
+ hash[getKey(i)] = transformValue(i);
206
+ });
207
+ return hash;
208
+ }
209
+ /** Returns an array from the values of the dictionary. */
210
+ export function toArray(hash, filter, transform) {
211
+ let arr = [];
212
+ if (!isFunction(transform))
213
+ transform = (key, element) => element;
214
+ if (!isNullOrUndefined(hash))
215
+ Object.keys(hash).forEach(key => {
216
+ if (!isFunction(filter) || filter(hash[key]))
217
+ arr.push(transform(key, hash[key]));
218
+ });
219
+ return arr;
220
+ }
221
+ /** returns a new dictionary, converting each entry in source using the transform function */
222
+ export function convertDictionary(source, transform) {
223
+ let result = {};
224
+ forEach(source, (key, value) => { result[key] = transform(value); });
225
+ return result;
226
+ }
227
+ export function flattenArray(array) {
228
+ return array.reduce((acc, val) => acc.concat(val), []);
229
+ }
230
+ /** careful, does not work for date/complex objects. Use GetUniqueArrayInfo if you suspect you might have Date/complex objects. */
231
+ export function makeUniqueArray(arr) {
232
+ return arr.filter((v, i, a) => a.indexOf(v) === i);
233
+ }
234
+ /** return an array of unique values, and the first index they were found, use defaultPrimitiveGetValue for default functionality */
235
+ export function GetUniqueArrayInfo(arr, getValue) {
236
+ var uniqueValues = [];
237
+ var uniqueArray = [];
238
+ var foundValues = [];
239
+ var hasDuplicates = false;
240
+ var duplicateIndexes = [];
241
+ if (isNotEmptyArray(arr)) {
242
+ arr.forEach((item, index) => {
243
+ let value = getValue(item);
244
+ if (foundValues.includes(value)) {
245
+ hasDuplicates = true;
246
+ duplicateIndexes.push(index);
247
+ }
248
+ else {
249
+ foundValues.push(value);
250
+ uniqueValues.push({ item: item, value: value, firstIndex: index });
251
+ uniqueArray.push(item);
252
+ }
253
+ });
254
+ }
255
+ return {
256
+ /** true if duplicate values found */
257
+ hasDuplicates: hasDuplicates,
258
+ /** all duplicate item indexes */
259
+ duplicateIndexes: duplicateIndexes,
260
+ /** unique values and their info */
261
+ uniqueValues: uniqueValues,
262
+ /** the unique version of this array */
263
+ uniqueArray: uniqueArray
264
+ };
265
+ }
266
+ /** returns true if the element is a group of items */
267
+ export function IsMultiLevelGroup(groupOrItem) {
268
+ let asGroup = groupOrItem;
269
+ return !isNullOrUndefined(asGroup.subGroups) && Array.isArray(asGroup.groupItems) && isNumber(asGroup.index) && isNumber(asGroup.depth);
270
+ }
271
+ /** returns a flat array of groups>items ordered by groups */
272
+ export function FlattenGroupItems(groups) {
273
+ let flatItems = [];
274
+ Object.keys(groups).forEach(groupName => {
275
+ let group = groups[groupName];
276
+ if (!isNullOrEmptyString(groupName))
277
+ flatItems.push(group);
278
+ let subGroups = Object.keys(group.subGroups);
279
+ if (isNotEmptyArray(subGroups)) {
280
+ flatItems.push(...FlattenGroupItems(group.subGroups));
281
+ }
282
+ else
283
+ flatItems.push(...group.groupItems);
284
+ });
285
+ return flatItems;
286
+ }
287
+ /** split a collection by page size and return the info */
288
+ export function GetPagedCollectionInfo(collection, pageSize, currentPage) {
289
+ let pagedItems = [];
290
+ if (pageSize < 1) {
291
+ pagedItems = [collection.slice()];
292
+ }
293
+ else {
294
+ let copy = collection.slice();
295
+ while (isNotEmptyArray(copy)) {
296
+ pagedItems.push(copy.splice(0, pageSize));
297
+ }
298
+ }
299
+ currentPage = isNumber(currentPage) && currentPage >= 0 && currentPage < pagedItems.length ? currentPage : 0;
300
+ return {
301
+ /** nubmer of pages */
302
+ pages: pagedItems.length,
303
+ /** page items, per page (Array of pages, each has an array of the page items) */
304
+ pagedItems: pagedItems,
305
+ /** the current page */
306
+ currentPage: currentPage,
307
+ /** the current page items */
308
+ currentPageItems: pagedItems[currentPage] || [],
309
+ /** has more than 1 page */
310
+ hasPages: pagedItems.length > 1,
311
+ allowPrev: currentPage > 0,
312
+ allowNext: currentPage < pagedItems.length - 1
313
+ };
314
+ }
315
+ /** use with sortArray or get unique array to handle premitive types or dates, with a JSON.stringify to all other values */
316
+ export function defaultPrimitiveGetValue(item) {
317
+ return isNullOrUndefined(item)
318
+ ? ""
319
+ : isDate(item) ? item.getTime()
320
+ : isBoolean(item)
321
+ ? item === true ? 1 : 0
322
+ : isNumber(item) || isString(item)
323
+ ? item
324
+ : JSON.stringify(item);
325
+ }
326
+ export function RemoveItemFromArr(arr, item) {
327
+ let idx = arr.indexOf(item);
328
+ if (idx >= 0)
329
+ arr.splice(idx, 1);
330
+ }
331
+ export function PushNoDuplicate(arr, item) {
332
+ if (!arr.includes(item))
333
+ arr.push(item);
334
+ }
335
+ /** fills an array with a value. Array.fill isn't available on SPFx. */
336
+ export function ArrayFill(arr, value, onlyEmpty) {
337
+ for (let i = 0; i < arr.length; i++) {
338
+ if (onlyEmpty !== true || isNullOrUndefined(arr[i]))
339
+ arr[i] = value;
340
+ }
341
+ return arr;
342
+ }
343
+ /** give a name and a collection, and it will return a unique name availalbe, suffixing a _# to the name
344
+ * example: file
345
+ * return file, file_2, file_9 etc... whichever is availalbe first.
346
+ */
347
+ export function FindNextAvailableName(name, usedNames, options) {
348
+ let nameForTest = name;
349
+ if (options && options.caseSensitive !== true) {
350
+ usedNames = usedNames.map(n => n.toLowerCase());
351
+ nameForTest = name.toLowerCase();
352
+ }
353
+ let nameSuffix = options && options.suffix || "";
354
+ let suffixIdx = 0;
355
+ let suffixStr = "";
356
+ while (usedNames.indexOf(`${nameForTest}${suffixStr}${nameSuffix}`) >= 0) {
357
+ suffixIdx++;
358
+ suffixStr = "_" + suffixIdx;
359
+ }
360
+ return `${name}${suffixStr}${nameSuffix}`;
361
+ }
362
+ //** returns an array of numbers from 0,1,2... */
363
+ export function numbersArray(length, startFrom = 0) {
364
+ //dvp build will fail without any type
365
+ if (isNullOrUndefined(length) || length < 0)
366
+ length = 0;
367
+ let arr = Array.from(Array(length).keys());
368
+ return startFrom > 0
369
+ ? arr.map(i => i + startFrom)
370
+ : arr;
371
+ }
372
+ //# sourceMappingURL=collections.base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collections.base.js","sourceRoot":"","sources":["../../../src/helpers/collections.base.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,96 @@
1
+ import { hasOwnProperty, objectsEqual } from "./objects";
2
+ import { isFunction, isNotEmptyArray, isNullOrEmptyArray, isNullOrEmptyString, isNullOrUndefined, isNumber, isString } from "./typecheckers";
3
+ /** check that every element in the arrays are the same value */
4
+ export function arraysEqual(arr1, arr2) {
5
+ if (isNullOrEmptyArray(arr1) && isNullOrEmptyArray(arr2))
6
+ return true;
7
+ return Array.isArray(arr1) && Array.isArray(arr2) && arr1.length === arr2.length && arr1.every((v1, i) => {
8
+ var v2 = arr2[i];
9
+ if (isString(v1) || isNumber(v1)) {
10
+ return v1 === v2;
11
+ }
12
+ else if (Array.isArray(v1) && Array.isArray(v2)) {
13
+ return arraysEqual(v1, v2);
14
+ }
15
+ else {
16
+ return objectsEqual(v1, v2);
17
+ }
18
+ });
19
+ }
20
+ /** Takes an array and transforms it into a dictionary. this will assign all items of the same key as an array. */
21
+ export function groupBy(arr, getKeys, filter) {
22
+ let dic = {};
23
+ if (isNotEmptyArray(arr))
24
+ arr.forEach(i => {
25
+ if (!isFunction(filter) || filter(i)) {
26
+ let keys = getKeys(i);
27
+ keys.forEach(key => {
28
+ if (isNullOrEmptyString(key))
29
+ key = "";
30
+ if (!hasOwnProperty(dic, key))
31
+ dic[key] = [i];
32
+ else
33
+ dic[key].push(i);
34
+ });
35
+ }
36
+ });
37
+ return dic;
38
+ }
39
+ var groupByMultipleCacheKey = "$groupByMultipleCache";
40
+ /** allows nested multi-level grouping */
41
+ export function GroupByMultiple(arr, groupDefinitions, options) {
42
+ options = options || {};
43
+ if (options.clearCache || isNullOrUndefined(arr[groupByMultipleCacheKey])) {
44
+ let dic = {};
45
+ let groupDefinition = groupDefinitions[0]; //get first
46
+ let getKeys = groupDefinition.getGroupsForThisElement;
47
+ if (isNotEmptyArray(arr)) {
48
+ let groupIndex = 0;
49
+ arr.forEach(i => {
50
+ if (!isFunction(options.filter) || options.filter(i)) {
51
+ let keys = getKeys(i);
52
+ keys.forEach(key => {
53
+ if (isNullOrEmptyString(key))
54
+ key = "";
55
+ if (!hasOwnProperty(dic, key)) {
56
+ let groupKey = groupIndex.toString(10);
57
+ let groupKeyParent = options.parentGroup;
58
+ while (groupKeyParent) {
59
+ groupKey = groupKeyParent.index + "_" + groupKey;
60
+ groupKeyParent = groupKeyParent.parentGroup;
61
+ }
62
+ dic[key] = {
63
+ groupItems: [],
64
+ subGroups: {},
65
+ depth: options.parentGroup ? options.parentGroup.depth + 1 : 0,
66
+ parentGroup: options.parentGroup,
67
+ key: groupKey,
68
+ index: groupIndex,
69
+ title: key,
70
+ groupPrefix: groupDefinition.groupPrefix,
71
+ fullTitle: `${isNullOrEmptyString(groupDefinition.groupPrefix) ? "" : groupDefinition.groupPrefix}${key}`
72
+ };
73
+ groupIndex++;
74
+ }
75
+ let itemWithGroup = i;
76
+ itemWithGroup.parentGroup = dic[key];
77
+ dic[key].groupItems.push(itemWithGroup);
78
+ });
79
+ }
80
+ });
81
+ }
82
+ if (isNotEmptyArray(groupDefinitions) && groupDefinitions.length > 1) {
83
+ //run for every group and call this again
84
+ Object.keys(dic).forEach(groupName => {
85
+ let currentGroup = dic[groupName];
86
+ currentGroup.subGroups = GroupByMultiple(currentGroup.groupItems, groupDefinitions.slice(1), {
87
+ ...options,
88
+ parentGroup: currentGroup
89
+ });
90
+ });
91
+ }
92
+ arr[groupByMultipleCacheKey] = dic;
93
+ }
94
+ return arr[groupByMultipleCacheKey];
95
+ }
96
+ //# sourceMappingURL=collections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collections.js","sourceRoot":"","sources":["../../../src/helpers/collections.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import { isNullOrEmptyString } from "./typecheckers";
2
+ /** get the oposite color of a color, or the best contrasting black or white. This is useful to know which color text to show on a dynamic background color */
3
+ export function invertColor(color, blackOrWhite, defaultIfEmpty) {
4
+ if (isNullOrEmptyString(color) && !isNullOrEmptyString(defaultIfEmpty))
5
+ return defaultIfEmpty;
6
+ let rgba = colorToRGBA(color);
7
+ if (blackOrWhite) {
8
+ // http://stackoverflow.com/a/3943023/112731
9
+ return (rgba.r * 0.299 + rgba.g * 0.587 + rgba.b * 0.114) > 186
10
+ ? '#000000'
11
+ : '#FFFFFF';
12
+ }
13
+ // invert color components
14
+ let _r = (255 - rgba.r);
15
+ let _g = (255 - rgba.g);
16
+ let _b = (255 - rgba.b);
17
+ // pad each with zeros and return
18
+ return "#" + byteToHex(_r) + byteToHex(_g) + byteToHex(_b);
19
+ }
20
+ /** Returns the color as an array of [r, g, b, a] -- all range from 0 - 255 */
21
+ export function colorToRGBA(color) {
22
+ // Returns the color as an array of [r, g, b, a] -- all range from 0 - 255
23
+ // color must be a valid canvas fillStyle. This will cover most anything
24
+ // you'd want to use.
25
+ // Examples:
26
+ // colorToRGBA('red') # [255, 0, 0, 255]
27
+ // colorToRGBA('#f00') # [255, 0, 0, 255]
28
+ let cvs = document.createElement('canvas');
29
+ cvs.height = 1;
30
+ cvs.width = 1;
31
+ let ctx = cvs.getContext('2d');
32
+ ctx.fillStyle = color;
33
+ ctx.fillRect(0, 0, 1, 1);
34
+ let data = ctx.getImageData(0, 0, 1, 1).data;
35
+ return { r: data[0], g: data[1], b: data[2], a: data[3] };
36
+ }
37
+ function byteToHex(num) {
38
+ // Turns a number (0-255) into a 2-character hex number (00-ff)
39
+ return ('0' + num.toString(16)).slice(-2);
40
+ }
41
+ /** Convert any CSS color to a hex representation, returns #000000 */
42
+ export function colorToHex(color) {
43
+ //
44
+ // Examples:
45
+ // colorToHex('red') # '#ff0000'
46
+ // colorToHex('rgb(255, 0, 0)') # '#ff0000'
47
+ let rgba = colorToRGBA(color);
48
+ let hex = byteToHex(rgba.r) + byteToHex(rgba.g) + byteToHex(rgba.b);
49
+ return "#" + hex;
50
+ }
51
+ //# sourceMappingURL=color.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color.js","sourceRoot":"","sources":["../../../src/helpers/color.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,8JAA8J;AAC9J,MAAM,UAAU,WAAW,CAAC,KAAa,EAAE,YAAsB,EAAE,cAAuB;IACtF,IAAI,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC;QAAE,OAAO,cAAc,CAAC;IAC9F,IAAI,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAE9B,IAAI,YAAY,EAAE,CAAC;QACf,4CAA4C;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG;YAC3D,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,SAAS,CAAC;IACpB,CAAC;IACD,0BAA0B;IAC1B,IAAI,EAAE,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,EAAE,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,EAAE,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,iCAAiC;IACjC,OAAO,GAAG,GAAG,SAAS,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;AAC/D,CAAC;AAGD,8EAA8E;AAC9E,MAAM,UAAU,WAAW,CAAC,KAAa;IACrC,0EAA0E;IAC1E,wEAAwE;IACxE,qBAAqB;IACrB,YAAY;IACZ,yCAAyC;IACzC,yCAAyC;IACzC,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC3C,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;IACf,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC;IACtB,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACzB,IAAI,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7C,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;AAC9D,CAAC;AAED,SAAS,SAAS,CAAC,GAAW;IAC1B,+DAA+D;IAC/D,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,UAAU,CAAC,KAAa;IACpC,GAAG;IACH,YAAY;IACZ,2CAA2C;IAC3C,2CAA2C;IAC3C,IAAI,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpE,OAAO,GAAG,GAAG,GAAG,CAAC;AACrB,CAAC"}
@@ -0,0 +1,53 @@
1
+ import { trim } from "./strings";
2
+ import { isNullOrEmptyString, isNumeric, isString } from "./typecheckers";
3
+ var _zeroDay = new Date(0);
4
+ var _today = new Date();
5
+ export function deleteCookie(cookieName, path) {
6
+ var days = (_zeroDay.getTime() - _today.getTime()) / (24 * 60 * 60 * 1000);
7
+ setCookie(cookieName, "", Math.round(days), path);
8
+ }
9
+ export function getAllCookies(prefix) {
10
+ let cookies = document.cookie.split(';');
11
+ let names = [];
12
+ for (var k = 0; k < cookies.length; k++) {
13
+ let cookieSplit = cookies[k].split('=');
14
+ let cookieName = trim(cookieSplit[0]);
15
+ if (isNullOrEmptyString(prefix) || cookieName.indexOf(prefix) === 0)
16
+ names.push(cookieName);
17
+ }
18
+ return names;
19
+ }
20
+ /** get a cookie's value by that name, or null */
21
+ export function getCookie(cookieName) {
22
+ try {
23
+ let cookies = document.cookie.split(';');
24
+ for (var k = 0; k < cookies.length; k++) {
25
+ let cookieSplit = cookies[k].split('=');
26
+ if (trim(cookieSplit[0]) === cookieName) {
27
+ return decodeURIComponent(trim(cookieSplit[1]));
28
+ }
29
+ }
30
+ }
31
+ catch (e) { }
32
+ return null;
33
+ }
34
+ /** set a cookie by that name and value. if you do not send expireDays, it will be a session cookie (in memory) */
35
+ export function setCookie(name, value, expireDays, path) {
36
+ var cookie = [];
37
+ var cookieValue = `${name}=${isString(value) ? value : ""}`;
38
+ cookie.push(cookieValue);
39
+ if (isNumeric(expireDays)) {
40
+ var d = new Date();
41
+ d.setTime(d.getTime() + (expireDays * 24 * 60 * 60 * 1000));
42
+ var cookieExpires = "expires=" + d.toUTCString();
43
+ cookie.push(cookieExpires);
44
+ }
45
+ var cookiePath = `${isString(path) ? `path=` + path : "path=/"}`;
46
+ cookie.push(cookiePath);
47
+ document.cookie = cookie.join(";");
48
+ }
49
+ export function cookieEnabled() {
50
+ let enabled = "navigator" in globalThis && navigator.cookieEnabled === true;
51
+ return enabled;
52
+ }
53
+ //# 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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"}