@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,444 @@
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.GetSPFieldValueAsText = exports.GetSPRestItemValueAsTextArray = exports.GetSPRestItemValueAsText = exports.UpdateItem = exports.AddItem = exports.UpdateMultiTaxonomyValue = exports.DeleteAttachment = exports.AddAttachment = exports.GetListItemsAttachments = exports.GetListItemAttachments = exports.RecycleListItem = exports.DeleteListItem = exports.GetListItemFieldValuesHistory = exports.GetListItemFieldValues = exports.GetListItemFieldValue = exports.GetListItemFieldDisplayValues = exports.GetListItemFieldDisplayValue = exports.GetListItemFieldDisplayValuesSync = exports.GetListItemFieldDisplayValueSync = exports.FileSizeColumnInternalNames = void 0;
13
+ const knownscript_1 = require("../../utils/knownscript");
14
+ const _dependencies_1 = require("../_dependencies");
15
+ const consolelogger_1 = require("../consolelogger");
16
+ const rest_1 = require("../rest");
17
+ const common_1 = require("./common");
18
+ const list_1 = require("./list");
19
+ const user_1 = require("./user");
20
+ const logger = consolelogger_1.ConsoleLogger.get("SharePoint.Rest.Item");
21
+ /** can only select FileSizeDisplay in REST api */
22
+ exports.FileSizeColumnInternalNames = ["FileSizeDisplay", "File_x0020_Size"];
23
+ function _getListItemSelectExpandFields(fields, listFields) {
24
+ var $selectFields = [];
25
+ var $expandFields = [];
26
+ fields.forEach((fieldName) => {
27
+ if (exports.FileSizeColumnInternalNames.includes(fieldName)) {
28
+ $selectFields.push(exports.FileSizeColumnInternalNames[0]); //for some reason, can't select File_x0020_Size
29
+ }
30
+ else {
31
+ let field = listFields.filter((listField) => { return listField.InternalName === fieldName; })[0];
32
+ if (!(0, _dependencies_1.isNullOrUndefined)(field)) {
33
+ if (field.TypeAsString === "User" || field.TypeAsString === "UserMulti") {
34
+ $selectFields.push(`${field.InternalName}/ID`);
35
+ $selectFields.push(`${field.InternalName}/Name`);
36
+ $selectFields.push(`${field.InternalName}/UserName`);
37
+ $selectFields.push(`${field.InternalName}/EMail`);
38
+ $selectFields.push(`${field.InternalName}/Title`);
39
+ $expandFields.push(field.InternalName);
40
+ }
41
+ else {
42
+ $selectFields.push(field.InternalName);
43
+ }
44
+ }
45
+ }
46
+ });
47
+ return {
48
+ expandFields: $expandFields,
49
+ selectFields: $selectFields
50
+ };
51
+ }
52
+ function _parseValueFromRawValue(rawValue, asDisplayValue = false) {
53
+ if (!(0, _dependencies_1.isNullOrUndefined)(rawValue)) {
54
+ if (rawValue["ID"] && rawValue["Title"] && rawValue["Name"]) { //expanded user field from rest request
55
+ return !asDisplayValue ? rawValue["ID"] : rawValue["Title"];
56
+ }
57
+ else if (Array.isArray(rawValue)) {
58
+ return rawValue.map((value) => {
59
+ if (value["ID"] && value["Title"] && value["Name"]) { //expanded user field from rest request
60
+ return !asDisplayValue ? value["ID"] : value["Title"];
61
+ }
62
+ return value;
63
+ }).filter((value) => {
64
+ return value !== null;
65
+ });
66
+ }
67
+ else {
68
+ return rawValue;
69
+ }
70
+ }
71
+ }
72
+ function _getListItemRawFieldValues(siteUrl, listIdOrTitle, itemId, fields, options) {
73
+ return __awaiter(this, void 0, void 0, function* () {
74
+ siteUrl = (0, common_1.GetSiteUrl)(siteUrl);
75
+ options = options || {};
76
+ let listFields = yield (0, list_1.GetListFields)(siteUrl, listIdOrTitle);
77
+ var { selectFields, expandFields } = _getListItemSelectExpandFields(fields, listFields);
78
+ var $select = `$select=` + encodeURIComponent(selectFields.length ? `${selectFields.join(',')}` : fields.join(','));
79
+ var $expand = expandFields.length ? `$expand=${encodeURIComponent(expandFields.join(','))}` : "";
80
+ let url = (0, list_1.GetListRestUrl)(siteUrl, listIdOrTitle) + `/items(${itemId})?${$select}&${$expand}`;
81
+ let result = yield (0, rest_1.GetJson)(url, null, { allowCache: options.refreshCache !== true });
82
+ var values = {};
83
+ if (result && typeof (result.d) !== "undefined") {
84
+ var rawValues = result.d;
85
+ fields.forEach((fieldName) => {
86
+ let rawValue = (exports.FileSizeColumnInternalNames.includes(fieldName)) ? rawValues[exports.FileSizeColumnInternalNames[0]] : rawValues[fieldName];
87
+ if (!(0, _dependencies_1.isNullOrUndefined)(rawValue)) {
88
+ values[fieldName] = rawValue;
89
+ }
90
+ });
91
+ }
92
+ return values;
93
+ });
94
+ }
95
+ function GetListItemFieldDisplayValueSync(siteUrl, listIdOrTitle, itemId, field) {
96
+ return GetListItemFieldDisplayValuesSync(siteUrl, listIdOrTitle, itemId, [field])[field];
97
+ }
98
+ exports.GetListItemFieldDisplayValueSync = GetListItemFieldDisplayValueSync;
99
+ function GetListItemFieldDisplayValuesSync(siteUrl, listIdOrTitle, itemId, fields) {
100
+ let url = (0, list_1.GetListRestUrl)(siteUrl, listIdOrTitle) + `/items(${itemId})/FieldValuesAsText?$select=${fields.join(',')}`;
101
+ let result = (0, rest_1.GetJsonSync)(url, null, { allowCache: true, jsonMetadata: _dependencies_1.jsonTypes.nometadata });
102
+ return result.success ? result.result : {};
103
+ }
104
+ exports.GetListItemFieldDisplayValuesSync = GetListItemFieldDisplayValuesSync;
105
+ function GetListItemFieldDisplayValue(siteUrl, listIdOrTitle, itemId, field, options) {
106
+ return __awaiter(this, void 0, void 0, function* () {
107
+ var values = yield GetListItemFieldDisplayValues(siteUrl, listIdOrTitle, itemId, [field], options);
108
+ return values && values[field];
109
+ });
110
+ }
111
+ exports.GetListItemFieldDisplayValue = GetListItemFieldDisplayValue;
112
+ function GetListItemFieldDisplayValues(siteUrl, listIdOrTitle, itemId, fields, options) {
113
+ return __awaiter(this, void 0, void 0, function* () {
114
+ var rawValues = yield _getListItemRawFieldValues(siteUrl, listIdOrTitle, itemId, fields, options);
115
+ var values = {};
116
+ Object.keys(rawValues).forEach(key => {
117
+ var fieldValue = _parseValueFromRawValue(rawValues[key], true);
118
+ if (!(0, _dependencies_1.isNullOrUndefined)(fieldValue)) {
119
+ values[key] = fieldValue;
120
+ }
121
+ });
122
+ return values;
123
+ });
124
+ }
125
+ exports.GetListItemFieldDisplayValues = GetListItemFieldDisplayValues;
126
+ function GetListItemFieldValue(siteUrl, listIdOrTitle, itemId, field, options) {
127
+ return __awaiter(this, void 0, void 0, function* () {
128
+ var values = yield GetListItemFieldValues(siteUrl, listIdOrTitle, itemId, [field], options);
129
+ return values && values[field];
130
+ });
131
+ }
132
+ exports.GetListItemFieldValue = GetListItemFieldValue;
133
+ function GetListItemFieldValues(siteUrl, listIdOrTitle, itemId, fields, options) {
134
+ return __awaiter(this, void 0, void 0, function* () {
135
+ var rawValues = yield _getListItemRawFieldValues(siteUrl, listIdOrTitle, itemId, fields, options);
136
+ var values = {};
137
+ Object.keys(rawValues).forEach(key => {
138
+ var fieldValue = _parseValueFromRawValue(rawValues[key]);
139
+ if (!(0, _dependencies_1.isNullOrUndefined)(fieldValue)) {
140
+ values[key] = fieldValue;
141
+ }
142
+ });
143
+ return values;
144
+ });
145
+ }
146
+ exports.GetListItemFieldValues = GetListItemFieldValues;
147
+ /** Returns version array, newest version first */
148
+ function GetListItemFieldValuesHistory(siteUrl, listIdOrTitle, itemId, fields, options) {
149
+ return __awaiter(this, void 0, void 0, function* () {
150
+ siteUrl = (0, common_1.GetSiteUrl)(siteUrl);
151
+ options = options || {};
152
+ var $select = (0, _dependencies_1.isNotEmptyArray)(fields) ? `$select=` + encodeURIComponent(`${fields.join(',')}`) : "";
153
+ let url = (0, list_1.GetListRestUrl)(siteUrl, listIdOrTitle) + `/items(${itemId})/versions?${$select}`;
154
+ let result = yield (0, rest_1.GetJson)(url, null, {
155
+ allowCache: options.refreshCache !== true,
156
+ jsonMetadata: _dependencies_1.jsonTypes.nometadata
157
+ });
158
+ return result && result.value || [];
159
+ });
160
+ }
161
+ exports.GetListItemFieldValuesHistory = GetListItemFieldValuesHistory;
162
+ function DeleteListItem(siteUrl, listIdOrTitle, itemId) {
163
+ return __awaiter(this, void 0, void 0, function* () {
164
+ siteUrl = (0, common_1.GetSiteUrl)(siteUrl);
165
+ let url = (0, list_1.GetListRestUrl)(siteUrl, listIdOrTitle) + `/items(${itemId})`;
166
+ let result = { deleted: true };
167
+ try {
168
+ yield (0, rest_1.GetJson)(url, null, { method: "POST", spWebUrl: siteUrl, xHttpMethod: "DELETE" });
169
+ //empty string means deleted
170
+ }
171
+ catch (e) {
172
+ result.deleted = false;
173
+ result.errorMessage = (0, common_1.__getSPRestErrorData)(e).message;
174
+ }
175
+ return result;
176
+ });
177
+ }
178
+ exports.DeleteListItem = DeleteListItem;
179
+ function RecycleListItem(siteUrl, listIdOrTitle, itemId) {
180
+ return __awaiter(this, void 0, void 0, function* () {
181
+ siteUrl = (0, common_1.GetSiteUrl)(siteUrl);
182
+ let url = (0, list_1.GetListRestUrl)(siteUrl, listIdOrTitle) + `/items(${itemId})/recycle()`;
183
+ let result = { recycled: true };
184
+ try {
185
+ yield (0, rest_1.GetJson)(url, null, { method: "POST", spWebUrl: siteUrl });
186
+ //value.d.Recycle will hold guide reference id
187
+ }
188
+ catch (e) {
189
+ result.recycled = false;
190
+ result.errorMessage = (0, common_1.__getSPRestErrorData)(e).message;
191
+ }
192
+ return result;
193
+ });
194
+ }
195
+ exports.RecycleListItem = RecycleListItem;
196
+ function GetListItemAttachments(siteUrl, listIdOrTitle, itemId) {
197
+ return __awaiter(this, void 0, void 0, function* () {
198
+ siteUrl = (0, common_1.GetSiteUrl)(siteUrl);
199
+ let url = (0, list_1.GetListRestUrl)(siteUrl, listIdOrTitle) + `/items(${itemId})/AttachmentFiles`;
200
+ try {
201
+ let result = yield (0, rest_1.GetJson)(url, null, { includeDigestInGet: true });
202
+ let attachmentFiles = result.d && result.d.results ? result.d.results : [];
203
+ return attachmentFiles;
204
+ }
205
+ catch (e) {
206
+ }
207
+ return [];
208
+ });
209
+ }
210
+ exports.GetListItemAttachments = GetListItemAttachments;
211
+ function GetListItemsAttachments(siteUrl, listIdOrTitle, itemIds) {
212
+ return __awaiter(this, void 0, void 0, function* () {
213
+ siteUrl = (0, common_1.GetSiteUrl)(siteUrl);
214
+ let chunks = (0, _dependencies_1.chunkArray)(itemIds, 30);
215
+ let select = `$select=ID,AttachmentFiles`;
216
+ let expand = `$expand=AttachmentFiles`;
217
+ let baseUrl = (0, list_1.GetListRestUrl)(siteUrl, listIdOrTitle) + `/items`;
218
+ let promises = chunks.map((chunk) => {
219
+ return () => {
220
+ let filter = `$filter=${chunk.map(i => `ID eq ${i}`).join(" or ")}`;
221
+ let url = `${baseUrl}?${select}&${filter}&${expand}`;
222
+ return (0, rest_1.GetJson)(url, null, { includeDigestInGet: true, jsonMetadata: _dependencies_1.jsonTypes.nometadata });
223
+ };
224
+ });
225
+ try {
226
+ let result = yield (0, _dependencies_1.promiseNParallel)(promises, 5);
227
+ return result && result.length > 0 ? result.map(v => v.value) : [];
228
+ }
229
+ catch (_a) {
230
+ }
231
+ return [];
232
+ });
233
+ }
234
+ exports.GetListItemsAttachments = GetListItemsAttachments;
235
+ function AddAttachment(siteUrl, listIdOrTitle, itemId, filename, buffer) {
236
+ return __awaiter(this, void 0, void 0, function* () {
237
+ siteUrl = (0, common_1.GetSiteUrl)(siteUrl);
238
+ //Issue 999
239
+ let url = (0, list_1.GetListRestUrl)(siteUrl, listIdOrTitle) + `/items(${itemId})/AttachmentFiles/add(FileName='${(0, _dependencies_1.encodeURIComponentEX)(filename, { singleQuoteMultiplier: 2 })}')`;
240
+ try {
241
+ let result = yield (0, rest_1.GetJson)(url, buffer, { includeDigestInPost: true, method: "POST" });
242
+ let attachmentFile = result && result.d;
243
+ return attachmentFile;
244
+ }
245
+ catch (e) {
246
+ }
247
+ return null;
248
+ });
249
+ }
250
+ exports.AddAttachment = AddAttachment;
251
+ function DeleteAttachment(siteUrl, listIdOrTitle, itemId, filename) {
252
+ return __awaiter(this, void 0, void 0, function* () {
253
+ siteUrl = (0, common_1.GetSiteUrl)(siteUrl);
254
+ let url = (0, list_1.GetListRestUrl)(siteUrl, listIdOrTitle) + `/items(${itemId})/AttachmentFiles('${(0, _dependencies_1.encodeURIComponentEX)(filename, { singleQuoteMultiplier: 2 })}')`;
255
+ try {
256
+ let result = yield (0, rest_1.GetJson)(url, null, { includeDigestInGet: true, includeDigestInPost: true, xHttpMethod: "DELETE" });
257
+ let attachmentFile = result && result.d;
258
+ return attachmentFile;
259
+ }
260
+ catch (e) {
261
+ }
262
+ return null;
263
+ });
264
+ }
265
+ exports.DeleteAttachment = DeleteAttachment;
266
+ //** Update value of taxonomy multi-value field. See issue 7585 for more info */
267
+ function UpdateMultiTaxonomyValue(siteUrl, listIdOrTitle, itemId, updates) {
268
+ return __awaiter(this, void 0, void 0, function* () {
269
+ let fields = updates && Object.keys(updates) || [];
270
+ if ((0, _dependencies_1.isNullOrEmptyArray)(fields))
271
+ return [];
272
+ siteUrl = (0, common_1.GetSiteUrl)(siteUrl);
273
+ let url = (0, list_1.GetListRestUrl)(siteUrl, listIdOrTitle) + `/items(${itemId})/ValidateUpdateListItem()`;
274
+ try {
275
+ let result = yield (0, rest_1.GetJson)(url, JSON.stringify({
276
+ bNewDocumentUpdate: false,
277
+ checkInComment: null,
278
+ formValues: fields.map(field => ({
279
+ ErrorMessage: null,
280
+ FieldName: field,
281
+ FieldValue: updates[field].map(v => `${v.Label}|${v.TermGuid};`).join(''),
282
+ HasException: false
283
+ }))
284
+ }), { includeDigestInPost: true, method: "POST" });
285
+ return result && result.d && result.d.ValidateUpdateListItem.results.map(v => ({ field: v.FieldName, error: v.ErrorMEssage })) || [];
286
+ }
287
+ catch (e) {
288
+ logger.error(`Error updating UpdateMultiTaxonomyValue ${e}`);
289
+ }
290
+ return fields.map(f => ({ field: f, error: 'Unspecified update error' }));
291
+ });
292
+ }
293
+ exports.UpdateMultiTaxonomyValue = UpdateMultiTaxonomyValue;
294
+ function AddItem(siteUrl, listIdOrTitle, fieldValues) {
295
+ return __awaiter(this, void 0, void 0, function* () {
296
+ //we must force creating even if no values, otherwise the item won't be created at all.
297
+ return UpdateItem(siteUrl, listIdOrTitle, null, fieldValues, { updateIfNoFields: true });
298
+ });
299
+ }
300
+ exports.AddItem = AddItem;
301
+ function UpdateItem(siteUrl, listIdOrTitle, itemId, fieldValues, options) {
302
+ return __awaiter(this, void 0, void 0, function* () {
303
+ var success = false;
304
+ var error = null;
305
+ try {
306
+ siteUrl = (0, common_1.GetSiteUrl)(siteUrl);
307
+ let isNewItem = itemId > 0 ? false : true;
308
+ let listInfo = yield (0, list_1.GetList)(siteUrl, listIdOrTitle);
309
+ let fields = yield (0, list_1.GetListFieldsAsHash)(siteUrl, listIdOrTitle);
310
+ let url = (0, list_1.GetListRestUrl)(siteUrl, listIdOrTitle) + `/items${isNewItem ? '' : `(${itemId})`}`;
311
+ var itemUpdateInfo = {
312
+ '__metadata': { 'type': `SP.Data.${listInfo.EntityTypeName}Item` }
313
+ };
314
+ let hasUpdates = false;
315
+ Object.keys(fieldValues).forEach(updateField => {
316
+ let listField = fields[updateField];
317
+ if (listField) //make sure this field exists on the list
318
+ {
319
+ //todo: we might want to get the value first, make sure it is formatted correctly for the field type.
320
+ itemUpdateInfo[(0, common_1.getFieldNameForUpdate)(listField)] = fieldValues[updateField];
321
+ hasUpdates = true;
322
+ }
323
+ });
324
+ if (!hasUpdates) {
325
+ let forceUpdate = options && options.updateIfNoFields;
326
+ if (!forceUpdate)
327
+ return { success: true, itemId: itemId };
328
+ }
329
+ var xHttpMethod = isNewItem ? null : "MERGE";
330
+ try {
331
+ let result = yield (0, rest_1.GetJson)(url, JSON.stringify(itemUpdateInfo), { method: "POST", xHttpMethod: xHttpMethod });
332
+ if (result)
333
+ if (isNewItem)
334
+ itemId = result.d.Id; // update item will not return data. only new item will.
335
+ success = true;
336
+ }
337
+ catch (e) {
338
+ error = (0, common_1.__getSPRestErrorData)(e).message;
339
+ }
340
+ }
341
+ catch (e) {
342
+ logger.group(() => logger.error(e), 'Update item failed');
343
+ }
344
+ return { success: success, errorMessage: error, itemId: itemId };
345
+ });
346
+ }
347
+ exports.UpdateItem = UpdateItem;
348
+ /** Get a sharepoint field value as text, from a rest item */
349
+ function GetSPRestItemValueAsText(item, field) {
350
+ var otherName = field.InternalName.replace(/_/g, "_x005f_"); //sometimes _ gets replaced with _x005f_
351
+ if (!(0, _dependencies_1.isNullOrUndefined)(item.FieldValuesAsText)) {
352
+ if ((0, _dependencies_1.hasOwnProperty)(item.FieldValuesAsText, field.InternalName))
353
+ return item.FieldValuesAsText[field.InternalName];
354
+ if ((0, _dependencies_1.hasOwnProperty)(item.FieldValuesAsText, otherName))
355
+ return item.FieldValuesAsText[otherName];
356
+ }
357
+ return GetSPFieldValueAsText(item[(0, common_1.GetFieldNameFromRawValues)(field)], field).join(', ');
358
+ }
359
+ exports.GetSPRestItemValueAsText = GetSPRestItemValueAsText;
360
+ /** Get a sharepoint field value as text array, from a rest item */
361
+ function GetSPRestItemValueAsTextArray(item, field) {
362
+ //get value as text first
363
+ let valueAsText = null;
364
+ var otherName = field.InternalName.replace(/_/g, "_x005f_"); //sometimes _ gets replaced with _x005f_
365
+ if (!(0, _dependencies_1.isNullOrUndefined)(item.FieldValuesAsText)) {
366
+ if ((0, _dependencies_1.hasOwnProperty)(item.FieldValuesAsText, field.InternalName))
367
+ valueAsText = item.FieldValuesAsText[field.InternalName];
368
+ if ((0, _dependencies_1.hasOwnProperty)(item.FieldValuesAsText, otherName))
369
+ valueAsText = item.FieldValuesAsText[otherName];
370
+ }
371
+ if (!(0, _dependencies_1.isNullOrEmptyString)(valueAsText) && valueAsText.indexOf(',') < 0) //not empty, and we do not suspect a multi-value field
372
+ return [valueAsText];
373
+ return GetSPFieldValueAsText(item[(0, common_1.GetFieldNameFromRawValues)(field)], field);
374
+ }
375
+ exports.GetSPRestItemValueAsTextArray = GetSPRestItemValueAsTextArray;
376
+ /** prefer to use GetSPRestValueAsText instead */
377
+ function GetSPFieldValueAsText(value, field) {
378
+ let locales = window.kLocales || knownscript_1.LocaleKnownScript.loadSync();
379
+ let culture = locales.GetCurrentCulture();
380
+ let rawValues = (0, _dependencies_1.isNullOrEmptyString)(value)
381
+ ? []
382
+ : Array.isArray(value)
383
+ ? value //value.raw is an array
384
+ : [value]; //value.raw is not an array - wrap it.
385
+ let isLookup = field.TypeAsString === "Lookup" || field.TypeAsString === "LookupMulti";
386
+ let isUser = field.TypeAsString === "User" || field.TypeAsString === "UserMulti";
387
+ let isCounter = field.TypeAsString === "Counter" || field.TypeAsString === "Integer";
388
+ if (field.TypeAsString === "DateTime") {
389
+ //Issue 8190 - date field might come as string
390
+ rawValues = rawValues.map(v => (0, _dependencies_1.isDate)(v) ? v : new Date(v));
391
+ }
392
+ else if (isUser || isLookup) {
393
+ rawValues = rawValues.map(v => (0, _dependencies_1.isNumber)(v) ? v : !(0, _dependencies_1.isNullOrEmptyString)(v && v.Title) ? v.Title : (0, _dependencies_1.isNumber)(v && v.Id) ? v.Id : null);
394
+ }
395
+ let textResults = [];
396
+ if ((0, _dependencies_1.isNotEmptyArray)(rawValues)) {
397
+ rawValues.forEach(raw => {
398
+ if ((0, _dependencies_1.isNullOrEmptyString)(raw)) { /** skip */ }
399
+ else if ((0, _dependencies_1.isNumber)(raw))
400
+ if (isUser) {
401
+ //todo - try not sync...
402
+ try {
403
+ let userInfo = (0, user_1.GetUserSync)(_spPageContextInfo.siteServerRelativeUrl, raw);
404
+ textResults.push(userInfo.Title);
405
+ }
406
+ catch (e) {
407
+ textResults.push(`${raw}`);
408
+ }
409
+ }
410
+ else if (isLookup) {
411
+ //todo - not supported
412
+ try {
413
+ textResults.push(`Lookup #${raw}`);
414
+ }
415
+ catch (e) {
416
+ textResults.push(`${raw}`);
417
+ }
418
+ }
419
+ else if (isCounter) {
420
+ textResults.push(raw.toString());
421
+ }
422
+ else {
423
+ textResults.push(locales.NumberToString(raw, culture, {
424
+ isCurrency: (0, _dependencies_1.isNumber)(field.CurrencyLocaleId),
425
+ isPercent: field.ShowAsPercentage
426
+ }));
427
+ }
428
+ else if ((0, _dependencies_1.isString)(raw))
429
+ textResults.push(raw);
430
+ else if ((0, _dependencies_1.isBoolean)(raw)) {
431
+ textResults.push(raw ? "Yes" : "No");
432
+ }
433
+ else if ((0, _dependencies_1.isDate)(raw)) {
434
+ textResults.push(locales.DateToString(raw, culture, {
435
+ includeDate: true,
436
+ includeTime: field.DisplayFormat === _dependencies_1.DateTimeFieldFormatType.DateTime
437
+ }));
438
+ }
439
+ });
440
+ }
441
+ return textResults;
442
+ }
443
+ exports.GetSPFieldValueAsText = GetSPFieldValueAsText;
444
+ //# sourceMappingURL=item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"item.js","sourceRoot":"","sources":["../../../src/utils/sharepoint.rest/item.ts"],"names":[],"mappings":"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"}