@lindle/sharepoint_requests 0.1.13 → 0.1.15

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 (33) hide show
  1. package/README.md +5 -0
  2. package/dist/index.d.ts +17 -17
  3. package/dist/root/index.d.ts +85 -81
  4. package/dist/root/instance.d.ts +3 -3
  5. package/dist/root/internal/context.d.ts +11 -9
  6. package/dist/root/internal/digest.d.ts +2 -2
  7. package/dist/root/internal/emailRequests.d.ts +10 -10
  8. package/dist/root/internal/listRequests/createAttachment.d.ts +3 -3
  9. package/dist/root/internal/listRequests/createListItem.d.ts +3 -3
  10. package/dist/root/internal/listRequests/deleteItem.d.ts +3 -3
  11. package/dist/root/internal/listRequests/getFiles.d.ts +8 -8
  12. package/dist/root/internal/listRequests/getListItems.d.ts +8 -8
  13. package/dist/root/internal/listRequests/getOnly.d.ts +3 -3
  14. package/dist/root/internal/listRequests/index.d.ts +8 -7
  15. package/dist/root/internal/listRequests/updateListItem.d.ts +3 -3
  16. package/dist/root/internal/listRequests/uploadFile.d.ts +3 -0
  17. package/dist/root/internal/odata.d.ts +5 -5
  18. package/dist/root/internal/userRequests.d.ts +15 -15
  19. package/dist/sharepoint_requests.cjs.development.js +232 -52
  20. package/dist/sharepoint_requests.cjs.development.js.map +1 -1
  21. package/dist/sharepoint_requests.cjs.production.min.js +1 -1
  22. package/dist/sharepoint_requests.cjs.production.min.js.map +1 -1
  23. package/dist/sharepoint_requests.esm.js +232 -52
  24. package/dist/sharepoint_requests.esm.js.map +1 -1
  25. package/dist/types.d.ts +237 -232
  26. package/package.json +6 -3
  27. package/src/root/index.ts +51 -2
  28. package/src/root/internal/context.ts +2 -0
  29. package/src/root/internal/listRequests/createListItem.ts +18 -13
  30. package/src/root/internal/listRequests/index.ts +1 -0
  31. package/src/root/internal/listRequests/updateListItem.ts +21 -3
  32. package/src/root/internal/listRequests/uploadFile.ts +66 -0
  33. package/src/types.ts +10 -5
@@ -202,54 +202,72 @@ function _fetchDigest() {
202
202
  return _fetchDigest.apply(this, arguments);
203
203
  }
204
204
 
205
- function transformArraysToEdmStrings(data) {
206
- for (var key in data) {
207
- if (Array.isArray(data[key])) {
208
- data[key] = {
209
- __metadata: {
210
- type: 'Collection(Edm.String)'
211
- },
212
- results: data[key]
213
- };
214
- }
215
- }
205
+ function resolveMetadataType(_x) {
206
+ return _resolveMetadataType.apply(this, arguments);
216
207
  }
217
- function createListItem(_x, _x2) {
208
+ function _resolveMetadataType() {
209
+ _resolveMetadataType = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(context) {
210
+ return _regenerator().w(function (_context) {
211
+ while (1) switch (_context.n) {
212
+ case 0:
213
+ if (!context.resolveListItemEntityType) {
214
+ _context.n = 1;
215
+ break;
216
+ }
217
+ return _context.a(2, context.resolveListItemEntityType());
218
+ case 1:
219
+ if (!context.listItemEntityTypeFullName) {
220
+ _context.n = 2;
221
+ break;
222
+ }
223
+ return _context.a(2, context.listItemEntityTypeFullName);
224
+ case 2:
225
+ return _context.a(2, "SP.Data." + context.listName + "ListItem");
226
+ }
227
+ }, _callee);
228
+ }));
229
+ return _resolveMetadataType.apply(this, arguments);
230
+ }
231
+ function createListItem(_x2, _x3) {
218
232
  return _createListItem.apply(this, arguments);
219
233
  }
220
234
  function _createListItem() {
221
- _createListItem = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(context, listData) {
222
- var response, _t, _t2, _t3, _t4, _t5;
223
- return _regenerator().w(function (_context) {
224
- while (1) switch (_context.n) {
235
+ _createListItem = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(context, listData) {
236
+ var metadataType, payload, response, _t, _t2, _t3, _t4, _t5;
237
+ return _regenerator().w(function (_context2) {
238
+ while (1) switch (_context2.n) {
225
239
  case 0:
226
- transformArraysToEdmStrings(listData);
227
- listData.__metadata = {
228
- type: "SP.Data." + context.listName + "ListItem"
229
- };
240
+ _context2.n = 1;
241
+ return resolveMetadataType(context);
242
+ case 1:
243
+ metadataType = _context2.v;
244
+ payload = _extends({}, listData, {
245
+ __metadata: {
246
+ type: metadataType
247
+ }
248
+ });
230
249
  _t = context;
231
250
  _t2 = context.endpoint;
232
- _t3 = JSON.stringify(listData);
233
- _context.n = 1;
251
+ _t3 = JSON.stringify(payload);
252
+ _context2.n = 2;
234
253
  return fetchDigest(context.instance, context.baseURL);
235
- case 1:
236
- _t4 = _context.v;
254
+ case 2:
255
+ _t4 = _context2.v;
237
256
  _t5 = {
238
- 'X-RequestDigest': _t4,
239
- 'IF-MATCH': '*'
257
+ 'X-RequestDigest': _t4
240
258
  };
241
- _context.n = 2;
259
+ _context2.n = 3;
242
260
  return _t.instance.call(_t, {
243
261
  url: _t2,
244
262
  method: 'POST',
245
263
  data: _t3,
246
264
  headers: _t5
247
265
  });
248
- case 2:
249
- response = _context.v;
250
- return _context.a(2, response);
266
+ case 3:
267
+ response = _context2.v;
268
+ return _context2.a(2, response);
251
269
  }
252
- }, _callee);
270
+ }, _callee2);
253
271
  }));
254
272
  return _createListItem.apply(this, arguments);
255
273
  }
@@ -453,48 +471,145 @@ function _getOnly() {
453
471
  return _getOnly.apply(this, arguments);
454
472
  }
455
473
 
456
- function updateListItem(_x, _x2, _x3, _x4) {
457
- return _updateListItem.apply(this, arguments);
474
+ function resolveMetadataType$1(_x) {
475
+ return _resolveMetadataType$1.apply(this, arguments);
458
476
  }
459
- function _updateListItem() {
460
- _updateListItem = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(context, id, data, digest) {
461
- var formDigestValue, url, response, _t;
477
+ function _resolveMetadataType$1() {
478
+ _resolveMetadataType$1 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(context) {
462
479
  return _regenerator().w(function (_context) {
463
480
  while (1) switch (_context.n) {
481
+ case 0:
482
+ if (!context.resolveListItemEntityType) {
483
+ _context.n = 1;
484
+ break;
485
+ }
486
+ return _context.a(2, context.resolveListItemEntityType());
487
+ case 1:
488
+ if (!context.listItemEntityTypeFullName) {
489
+ _context.n = 2;
490
+ break;
491
+ }
492
+ return _context.a(2, context.listItemEntityTypeFullName);
493
+ case 2:
494
+ return _context.a(2, "SP.Data." + context.listName + "ListItem");
495
+ }
496
+ }, _callee);
497
+ }));
498
+ return _resolveMetadataType$1.apply(this, arguments);
499
+ }
500
+ function updateListItem(_x2, _x3, _x4, _x5) {
501
+ return _updateListItem.apply(this, arguments);
502
+ }
503
+ function _updateListItem() {
504
+ _updateListItem = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(context, id, data, digest) {
505
+ var formDigestValue, metadataType, payload, url, response, _t;
506
+ return _regenerator().w(function (_context2) {
507
+ while (1) switch (_context2.n) {
464
508
  case 0:
465
509
  _t = digest;
466
510
  if (_t) {
467
- _context.n = 2;
511
+ _context2.n = 2;
468
512
  break;
469
513
  }
470
- _context.n = 1;
514
+ _context2.n = 1;
471
515
  return fetchDigest(context.instance, context.baseURL);
472
516
  case 1:
473
- _t = _context.v;
517
+ _t = _context2.v;
474
518
  case 2:
475
519
  formDigestValue = _t;
476
- data.__metadata = {
477
- type: "SP.Data." + context.listName + "ListItem"
478
- };
520
+ _context2.n = 3;
521
+ return resolveMetadataType$1(context);
522
+ case 3:
523
+ metadataType = _context2.v;
524
+ payload = _extends({}, data, {
525
+ __metadata: {
526
+ type: metadataType
527
+ }
528
+ });
479
529
  url = "_api/lists/getbytitle('" + context.listName + "')/getItemById('" + id + "')";
480
- _context.n = 3;
530
+ _context2.n = 4;
481
531
  return context.instance({
482
532
  url: url,
483
533
  method: 'POST',
484
- data: JSON.stringify(data),
534
+ data: JSON.stringify(payload),
485
535
  headers: {
486
536
  'X-RequestDigest': formDigestValue,
487
537
  'IF-MATCH': '*',
488
538
  'X-Http-Method': 'PATCH'
489
539
  }
490
540
  });
541
+ case 4:
542
+ response = _context2.v;
543
+ return _context2.a(2, response);
544
+ }
545
+ }, _callee2);
546
+ }));
547
+ return _updateListItem.apply(this, arguments);
548
+ }
549
+
550
+ var SUPPORTED_VERSION = '2013';
551
+ function normalizeFolderPath(folderPath) {
552
+ var segments = Array.isArray(folderPath) ? folderPath : folderPath.split('/').filter(Boolean);
553
+ if (!segments.length) {
554
+ return '';
555
+ }
556
+ var escapedSegments = segments.map(function (segment) {
557
+ if (!segment.trim()) {
558
+ throw new Error('Folder path segments cannot be empty.');
559
+ }
560
+ // SharePoint expects single quotes to be doubled in OData paths.
561
+ var sanitized = segment.replace(/'/g, "''");
562
+ return "/Folders('" + encodeURIComponent(sanitized) + "')";
563
+ });
564
+ return escapedSegments.join('');
565
+ }
566
+ function uploadFile(_x, _x2) {
567
+ return _uploadFile.apply(this, arguments);
568
+ }
569
+ function _uploadFile() {
570
+ _uploadFile = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(context, _ref) {
571
+ var file, folderPath, _ref$overwrite, overwrite, requestUrl, encodedFileName, digest, response;
572
+ return _regenerator().w(function (_context) {
573
+ while (1) switch (_context.n) {
574
+ case 0:
575
+ file = _ref.file, folderPath = _ref.folderPath, _ref$overwrite = _ref.overwrite, overwrite = _ref$overwrite === void 0 ? true : _ref$overwrite;
576
+ if (!(context.sharepointVersion !== SUPPORTED_VERSION)) {
577
+ _context.n = 1;
578
+ break;
579
+ }
580
+ throw new Error('uploadFile is only supported for SharePoint 2013 REST endpoints.');
581
+ case 1:
582
+ if (file != null && file.name) {
583
+ _context.n = 2;
584
+ break;
585
+ }
586
+ throw new Error('A file with a valid name must be provided.');
587
+ case 2:
588
+ requestUrl = "_api/web/lists/getbytitle('" + context.listName + "')/RootFolder";
589
+ if (folderPath) {
590
+ requestUrl += normalizeFolderPath(folderPath);
591
+ }
592
+ encodedFileName = encodeURIComponent(file.name.replace(/'/g, "''"));
593
+ requestUrl += "/Files/add(url='" + encodedFileName + "',overwrite=" + (overwrite ? 'true' : 'false') + ")";
594
+ _context.n = 3;
595
+ return fetchDigest(context.instance, context.baseURL);
491
596
  case 3:
597
+ digest = _context.v;
598
+ _context.n = 4;
599
+ return context.instance.post(requestUrl, file, {
600
+ headers: {
601
+ 'Content-Type': file.type || 'application/octet-stream',
602
+ 'X-RequestDigest': digest
603
+ },
604
+ withCredentials: true
605
+ });
606
+ case 4:
492
607
  response = _context.v;
493
608
  return _context.a(2, response);
494
609
  }
495
610
  }, _callee);
496
611
  }));
497
- return _updateListItem.apply(this, arguments);
612
+ return _uploadFile.apply(this, arguments);
498
613
  }
499
614
 
500
615
  function sendEmail(_x, _x2) {
@@ -718,6 +833,12 @@ function _currentUserPermissions() {
718
833
  var HTTPSharePointRequests = /*#__PURE__*/function () {
719
834
  function HTTPSharePointRequests(baseURL, config) {
720
835
  var _this = this;
836
+ this.baseURL = void 0;
837
+ this.endpoint = void 0;
838
+ this.listName = void 0;
839
+ this.instance = void 0;
840
+ this.sharepointVersion = void 0;
841
+ this.listItemEntityTypeFullName = void 0;
721
842
  this.lists = {
722
843
  get: function get() {
723
844
  _this.endpoint = '_api/web/lists';
@@ -778,6 +899,7 @@ var HTTPSharePointRequests = /*#__PURE__*/function () {
778
899
  this.listName = '';
779
900
  this.instance = instance(this.baseURL, config);
780
901
  this.sharepointVersion = '2013';
902
+ this.listItemEntityTypeFullName = undefined;
781
903
  }
782
904
  var _proto = HTTPSharePointRequests.prototype;
783
905
  _proto.getContext = function getContext() {
@@ -786,23 +908,78 @@ var HTTPSharePointRequests = /*#__PURE__*/function () {
786
908
  baseURL: this.baseURL,
787
909
  endpoint: this.endpoint,
788
910
  listName: this.listName,
789
- sharepointVersion: this.sharepointVersion
911
+ sharepointVersion: this.sharepointVersion,
912
+ listItemEntityTypeFullName: this.listItemEntityTypeFullName,
913
+ resolveListItemEntityType: this.resolveListItemEntityTypeFullName.bind(this)
790
914
  };
791
- }
792
- /**
793
- * @deprecated Use `from` instead.
794
- */;
915
+ };
916
+ _proto.resolveListItemEntityTypeFullName = /*#__PURE__*/function () {
917
+ var _resolveListItemEntityTypeFullName = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
918
+ var _response$data$d$List, _response$data, _response$data2;
919
+ var response, entityType;
920
+ return _regenerator().w(function (_context) {
921
+ while (1) switch (_context.n) {
922
+ case 0:
923
+ if (!this.listItemEntityTypeFullName) {
924
+ _context.n = 1;
925
+ break;
926
+ }
927
+ return _context.a(2, this.listItemEntityTypeFullName);
928
+ case 1:
929
+ if (this.listName) {
930
+ _context.n = 2;
931
+ break;
932
+ }
933
+ throw new Error('List name is not set.');
934
+ case 2:
935
+ if (!(this.sharepointVersion !== '2013')) {
936
+ _context.n = 3;
937
+ break;
938
+ }
939
+ this.listItemEntityTypeFullName = "SP.Data." + this.listName + "ListItem";
940
+ return _context.a(2, this.listItemEntityTypeFullName);
941
+ case 3:
942
+ _context.n = 4;
943
+ return this.instance.get("_api/web/lists/GetByTitle('" + this.listName + "')?$select=ListItemEntityTypeFullName");
944
+ case 4:
945
+ response = _context.v;
946
+ entityType = (_response$data$d$List = (_response$data = response.data) == null || (_response$data = _response$data.d) == null ? void 0 : _response$data.ListItemEntityTypeFullName) != null ? _response$data$d$List : (_response$data2 = response.data) == null ? void 0 : _response$data2.ListItemEntityTypeFullName;
947
+ if (!(!entityType || typeof entityType !== 'string')) {
948
+ _context.n = 5;
949
+ break;
950
+ }
951
+ throw new Error("Unable to resolve ListItemEntityTypeFullName for list \"" + this.listName + "\".");
952
+ case 5:
953
+ this.listItemEntityTypeFullName = entityType;
954
+ return _context.a(2, this.listItemEntityTypeFullName);
955
+ }
956
+ }, _callee, this);
957
+ }));
958
+ function resolveListItemEntityTypeFullName() {
959
+ return _resolveListItemEntityTypeFullName.apply(this, arguments);
960
+ }
961
+ return resolveListItemEntityTypeFullName;
962
+ }()
963
+ /**
964
+ * @deprecated Use `from` instead.
965
+ */
966
+ ;
795
967
  _proto.list = function list(listName) {
796
968
  this.listName = listName;
797
969
  this.endpoint = "_vti_bin/ListData.svc/" + listName;
798
970
  this.sharepointVersion = '2010';
971
+ this.listItemEntityTypeFullName = undefined;
799
972
  return this;
800
973
  };
974
+ _proto.getDigest = function getDigest() {
975
+ return fetchDigest(this.instance, this.baseURL);
976
+ };
801
977
  _proto.from = function from(listName, sharepoint_ver) {
802
978
  var _this2 = this;
803
979
  var version = sharepoint_ver != null ? sharepoint_ver : '2013';
804
980
  this.listName = listName;
805
981
  this.sharepointVersion = version;
982
+ this.listItemEntityTypeFullName = undefined;
806
983
  this.endpoint = version === '2013' ? "_api/web/lists/GetByTitle('" + this.listName + "')/items" : "_vti_bin/ListData.svc/" + listName;
807
984
  var getContext = function getContext() {
808
985
  return _this2.getContext();
@@ -823,6 +1000,9 @@ var HTTPSharePointRequests = /*#__PURE__*/function () {
823
1000
  createFile: function createFile(props) {
824
1001
  return createAttachment(getContext(), props);
825
1002
  },
1003
+ uploadFile: function uploadFile$1(props) {
1004
+ return uploadFile(getContext(), props);
1005
+ },
826
1006
  fields: function fields(options) {
827
1007
  _this2.endpoint = !(options != null && options.fieldName) ? "_api/web/lists/GetByTitle('" + _this2.listName + "')/fields" : "_api/web/lists/GetByTitle('" + _this2.listName + "')/fields/getbytitle('" + options.fieldName + "')";
828
1008
  return {
@@ -879,8 +1059,8 @@ function createBase() {
879
1059
  return new HTTPSharePointRequests(baseURL, config);
880
1060
  }
881
1061
  return {
882
- /**
883
- * @deprecated Use `create` instead.
1062
+ /**
1063
+ * @deprecated Use `create` instead.
884
1064
  */
885
1065
  baseURL: function baseURL(url, config) {
886
1066
  return create({
@@ -1 +1 @@
1
- {"version":3,"file":"sharepoint_requests.cjs.development.js","sources":["../src/root/instance.ts","../src/root/internal/digest.ts","../src/root/internal/listRequests/createListItem.ts","../src/root/internal/listRequests/createAttachment.ts","../src/root/internal/listRequests/deleteItem.ts","../src/root/internal/odata.ts","../src/root/internal/listRequests/getFiles.ts","../src/root/internal/listRequests/getListItems.ts","../src/root/internal/listRequests/getOnly.ts","../src/root/internal/listRequests/updateListItem.ts","../src/root/internal/emailRequests.ts","../src/root/internal/userRequests.ts","../src/root/index.ts","../src/index.ts"],"sourcesContent":["import axios, { AxiosHeaders, CreateAxiosDefaults as AxiosConfig } from 'axios';\n\nconst defaultConfig: AxiosConfig = {\n headers: {\n Accept: 'application/json; odata=verbose',\n 'Content-Type': 'application/json; odata=verbose',\n },\n timeout: 15000,\n withCredentials: true,\n};\n\nexport const instance = (baseURL: string, config?: AxiosConfig) => {\n const userHeaders =\n config?.headers instanceof AxiosHeaders\n ? config.headers.toJSON()\n : config?.headers ?? {};\n\n return axios.create({\n ...defaultConfig,\n ...config,\n baseURL,\n headers: {\n ...defaultConfig.headers,\n ...userHeaders,\n },\n });\n};\n\nexport default instance;\n","import type { AxiosInstance } from 'axios';\n\nexport async function fetchDigest(\n instance: AxiosInstance,\n baseURL: string\n): Promise<string> {\n try {\n const response = await instance.post(`${baseURL}_api/contextinfo`);\n\n const formDigestValue =\n response.data?.d?.GetContextWebInformation?.FormDigestValue;\n\n if (!formDigestValue) {\n throw new Error('Invalid response structure: Missing FormDigestValue');\n }\n\n return formDigestValue;\n } catch (error) {\n console.error('Failed to retrieve the Form Digest Value:', error);\n throw new Error(`Error retrieving Form Digest Value`);\n }\n}\n","import type { ListData, SHAREPOINT_VER } from '../../../types';\nimport { fetchDigest } from '../digest';\nimport type { RequestContext } from '../context';\n\nfunction transformArraysToEdmStrings(data: ListData) {\n for (const key in data) {\n if (Array.isArray(data[key])) {\n data[key] = {\n __metadata: { type: 'Collection(Edm.String)' },\n results: data[key],\n };\n }\n }\n}\n\nexport async function createListItem<V extends SHAREPOINT_VER = '2013'>(\n context: RequestContext<V>,\n listData: ListData\n) {\n transformArraysToEdmStrings(listData);\n listData.__metadata = {\n type: `SP.Data.${context.listName}ListItem`,\n };\n\n const response = await context.instance({\n url: context.endpoint,\n method: 'POST',\n data: JSON.stringify(listData),\n headers: {\n 'X-RequestDigest': await fetchDigest(context.instance, context.baseURL),\n 'IF-MATCH': '*',\n },\n });\n\n return response;\n}\n","import type { CreateFileProps, SHAREPOINT_VER } from '../../../types';\nimport { fetchDigest } from '../digest';\nimport type { RequestContext } from '../context';\n\nexport async function createAttachment<V extends SHAREPOINT_VER = '2013'>(\n context: RequestContext<V>,\n { file, itemId }: CreateFileProps\n) {\n const requestUrl = `_api/lists/getbytitle('${context.listName}')/items(${itemId})/AttachmentFiles/add(FileName='${file.name}')`;\n const response = await context.instance.post(requestUrl, file, {\n headers: {\n 'X-RequestDigest': await fetchDigest(context.instance, context.baseURL),\n },\n withCredentials: true,\n });\n\n return response;\n}\n","import type { SHAREPOINT_VER } from '../../../types';\nimport type { RequestContext } from '../context';\n\nexport async function deleteItem<V extends SHAREPOINT_VER = '2013'>(\n context: RequestContext<V>,\n id: number | string\n) {\n const response = await context.instance.delete(`${context.endpoint}(${id})`);\n return response;\n}\n","import type { Folder_Options, Options, SHAREPOINT_VER } from '../../types';\n\ntype QueryableOptions<T, V extends SHAREPOINT_VER = '2013'> =\n | Options<T, V>\n | Folder_Options<T>;\n\nexport function buildODataParams<T, V extends SHAREPOINT_VER = '2013'>(\n options: QueryableOptions<T, V> | undefined,\n orderBySeparator: ',' | ' ' = ','\n) {\n const { expand, orderBy, limit, filter, cols, skip } = options || {};\n\n const params: Record<string, string | number | undefined> = {\n $expand: Array.isArray(expand) ? expand.join(',') : expand,\n $top: limit,\n $skip: skip,\n $select: Array.isArray(cols) ? cols.join(',') : cols,\n $filter: filter,\n $orderby: Array.isArray(orderBy)\n ? orderBy.join(orderBySeparator)\n : orderBy,\n };\n\n return params;\n}\n\nexport function appendParamsToUrl(\n baseUrl: URL,\n params: Record<string, string | number | undefined | null>\n) {\n Object.entries(params).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n baseUrl.searchParams.append(key, String(value));\n }\n });\n}\n","import type { Folder_Options, SHAREPOINT_VER } from '../../../types';\nimport { appendParamsToUrl, buildODataParams } from '../odata';\nimport type { RequestContext } from '../context';\n\nexport async function getFiles<\n T,\n V extends SHAREPOINT_VER = '2013'\n>(\n context: RequestContext<V>,\n options?: Folder_Options<T>\n) {\n const params = buildODataParams(options, ',');\n const url = new URL(context.endpoint, context.instance.defaults.baseURL);\n\n appendParamsToUrl(url, params);\n\n const response = await context.instance.request({\n url: context.endpoint,\n method: 'GET',\n params,\n });\n\n const data =\n options?.limit || !response.data.d.results\n ? response.data.d\n : response.data.d.results;\n\n const meta = { url };\n\n return { data, meta };\n}\n","import type { Options, SPItem, SHAREPOINT_VER } from '../../../types';\nimport { appendParamsToUrl, buildODataParams } from '../odata';\nimport type { RequestContext } from '../context';\n\nexport async function getListItems<\n K,\n V extends SHAREPOINT_VER = '2013'\n>(\n context: RequestContext<V>,\n options?: Options<K, V>\n): Promise<{ data: (K & Partial<SPItem<V>>)[]; meta: { url: URL } }> {\n const params = buildODataParams(options, ' ');\n\n const url = new URL(context.endpoint, context.instance.defaults.baseURL);\n appendParamsToUrl(url, params);\n\n const response = await context.instance.request({\n url: context.endpoint,\n method: 'GET',\n params,\n });\n\n const rawData = response.data?.d?.results ?? response.data?.d ?? response.data;\n const cols = options?.cols;\n const keys = cols\n ? (Array.isArray(cols) ? cols : [cols]).filter(Boolean)\n : undefined;\n\n const filterItem = (item: unknown) => {\n if (!keys || !item || typeof item !== 'object') {\n return item;\n }\n\n return keys.reduce<Record<string, unknown>>((acc, key) => {\n if (key in item) {\n acc[key] = (item as Record<string, unknown>)[key];\n }\n\n return acc;\n }, {});\n };\n\n const data = Array.isArray(rawData)\n ? rawData.map(filterItem)\n : filterItem(rawData);\n\n const meta = { url };\n\n return { data: data as (K & Partial<SPItem<V>>)[], meta };\n}\n","import type { AxiosInstance } from 'axios';\nimport type { Options, SHAREPOINT_VER } from '../../../types';\nimport { buildODataParams } from '../odata';\n\nexport async function getOnly<\n T,\n V extends SHAREPOINT_VER = '2013'\n>(\n instance: AxiosInstance,\n endpoint: string,\n options?: Options<T, V>\n) {\n const params = buildODataParams(options, ',');\n const { data } = await instance.get(endpoint, { params });\n if (data) {\n return data.d.results ? data.d.results : data.d;\n }\n}\n","import type { ListData, SHAREPOINT_VER } from '../../../types';\nimport { fetchDigest } from '../digest';\nimport type { RequestContext } from '../context';\n\nexport async function updateListItem<V extends SHAREPOINT_VER = '2013'>(\n context: RequestContext<V>,\n id: number | string,\n data: ListData,\n digest?: string\n) {\n const formDigestValue =\n digest || (await fetchDigest(context.instance, context.baseURL));\n\n data.__metadata = {\n type: `SP.Data.${context.listName}ListItem`,\n };\n\n const url = `_api/lists/getbytitle('${context.listName}')/getItemById('${id}')`;\n\n const response = await context.instance({\n url,\n method: 'POST',\n data: JSON.stringify(data),\n headers: {\n 'X-RequestDigest': formDigestValue,\n 'IF-MATCH': '*',\n 'X-Http-Method': 'PATCH',\n },\n });\n\n return response;\n}\n","import type { AxiosResponse } from 'axios';\nimport type { EmailProps } from '../../types';\nimport { fetchDigest } from './digest';\nimport type { RequestContext } from './context';\n\ntype SendEmailResponse = AxiosResponse<{\n d: {\n SendEmail: null;\n };\n}>;\n\nexport async function sendEmail(\n context: RequestContext,\n { From, To, Subject, Body }: EmailProps\n): Promise<SendEmailResponse> {\n const httpRequest = '_api/SP.Utilities.Utility.SendEmail';\n\n const response = await context.instance({\n url: httpRequest,\n method: 'POST',\n headers: {\n 'X-RequestDigest': await fetchDigest(\n context.instance,\n context.baseURL\n ),\n 'X-Http-Method': 'POST',\n 'Content-Type': 'application/json;odata=verbose',\n },\n data: JSON.stringify({\n properties: {\n __metadata: {\n type: 'SP.Utilities.EmailProperties',\n },\n From,\n To: {\n results: Array.isArray(To) ? To : [To],\n },\n Body,\n Subject,\n },\n }),\n });\n\n return response;\n}\n","import type { AxiosInstance } from 'axios';\nimport type {\n PersonField,\n UserPermision,\n UserProfile,\n} from '../../types';\nimport type { RequestContext } from './context';\n\ntype RoleDefinition = {\n BasePermissions: {\n High: string;\n };\n};\n\nexport async function typeAhead(\n instance: AxiosInstance,\n input: string,\n filter?: string\n): Promise<PersonField> {\n const requestUrl = `_api/SP.UI.ApplicationPages.ClientPeoplePickerWebServiceInterface.clientPeoplePickerSearchUser`;\n\n const data = {\n queryParams: {\n __metadata: {\n type: 'SP.UI.ApplicationPages.ClientPeoplePickerQueryParameters',\n },\n AllowEmailAddresses: true,\n AllowMultipleEntities: false,\n AllUrlZones: false,\n MaximumEntitySuggestions: 10,\n PrincipalSource: 15,\n PrincipalType: 1,\n QueryString: input,\n },\n };\n\n if (filter) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (data.queryParams as any).RequiredProperties = [filter];\n }\n\n const response = await instance.post(requestUrl, JSON.stringify(data), {\n headers: {\n Accept: 'application/json; odata=verbose',\n 'Content-Type': 'application/json;odata=verbose',\n },\n });\n\n return response.data.d.ClientPeoplePickerSearchUser;\n}\n\nexport async function currentUserProperties(\n instance: AxiosInstance\n): Promise<UserProfile> {\n const requestUrl = '_api/sp.userprofiles.peoplemanager/getmyproperties';\n let profile: any = await instance.get(requestUrl);\n\n profile = profile.data.d;\n\n profile.UserProfileProperties.results.forEach(\n (prop: { Key: string; Value: string }) => {\n if (prop.Key === 'FirstName') {\n profile.FirstName = prop.Value;\n }\n if (prop.Key === 'LastName') {\n profile.LastName = prop.Value;\n }\n if (prop.Key === 'Country') {\n profile.Country = prop.Value;\n }\n if (prop.Key === 'UserName') {\n profile.UserName = prop.Value;\n }\n }\n );\n\n return profile;\n}\n\nexport async function getSiteUser(instance: AxiosInstance, searchValue: string) {\n const requestUrl = `_api/web/siteusers?&$filter=substringof('${searchValue}', Title) or substringof('${searchValue}', LoginName) or substringof('${searchValue}', Email)&$top=50&$expand=Groups`;\n const response = await instance.get(requestUrl);\n return response.data.d;\n}\n\nexport async function roleDefinitions(instance: AxiosInstance) {\n const requestUrl = `_api/Web/RoleDefinitions`;\n const response = await instance.get(requestUrl);\n return response.data.d.results as RoleDefinition[];\n}\n\nexport async function getEffectiveBasePermissions(instance: AxiosInstance) {\n const requestUrl = `_api/Web/effectiveBasePermissions`;\n const response = await instance.get(requestUrl);\n return response.data.d.EffectiveBasePermissions;\n}\n\nexport async function currentUserPermissions(\n context: RequestContext\n): Promise<UserPermision> {\n const { High } = await getEffectiveBasePermissions(context.instance);\n const definitions = await roleDefinitions(context.instance);\n\n const result = definitions.find(\n ({ BasePermissions }: RoleDefinition) => BasePermissions.High === High\n );\n\n return result as UserPermision;\n}\n","import { AxiosInstance, CreateAxiosDefaults as AxiosConfig } from 'axios';\nimport instance from './instance';\nimport {\n CreateFileProps,\n CurrentUser,\n EmailProps,\n Field_Options,\n Folder_Options,\n IListName,\n ItemID,\n ListData,\n Options,\n PersonField,\n SHAREPOINT_VER,\n UserPermision,\n UserProfile,\n} from '../types';\nimport { RequestContext } from './internal/context';\nimport {\n createAttachment,\n createListItem,\n deleteItem,\n getFiles,\n getListItems,\n getOnly,\n updateListItem,\n} from './internal/listRequests';\nimport { sendEmail as sendEmailRequest } from './internal/emailRequests';\nimport {\n currentUserPermissions as resolveCurrentUserPermissions,\n currentUserProperties as loadCurrentUserProperties,\n getSiteUser as fetchSiteUser,\n typeAhead,\n} from './internal/userRequests';\n\nclass HTTPSharePointRequests<\n T extends {\n LISTS: Record<string, unknown>;\n FOLDERS?: Record<string, unknown>;\n }\n> {\n private baseURL: string;\n private endpoint: string;\n private listName: string;\n private instance: AxiosInstance;\n private sharepointVersion: SHAREPOINT_VER;\n\n constructor(baseURL: string, config?: AxiosConfig) {\n this.baseURL = baseURL.endsWith('/') ? baseURL : `${baseURL}/`;\n this.endpoint = '/api';\n this.listName = '';\n this.instance = instance(this.baseURL, config);\n this.sharepointVersion = '2013';\n }\n\n private getContext<V extends SHAREPOINT_VER = '2013'>(): RequestContext<V> {\n return {\n instance: this.instance,\n baseURL: this.baseURL,\n endpoint: this.endpoint,\n listName: this.listName,\n sharepointVersion: this.sharepointVersion as V,\n };\n }\n\n /**\n * @deprecated Use `from` instead.\n */\n list(listName: IListName<T>) {\n this.listName = listName;\n this.endpoint = `_vti_bin/ListData.svc/${listName}`;\n this.sharepointVersion = '2010';\n return this;\n }\n\n public readonly lists = {\n get: () => {\n this.endpoint = '_api/web/lists';\n this.sharepointVersion = '2013';\n return getListItems(this.getContext());\n },\n };\n\n from<\n K extends Extract<keyof T['LISTS'], string>,\n V extends SHAREPOINT_VER = '2013'\n >(listName: K, sharepoint_ver?: V) {\n const version = (sharepoint_ver ?? '2013') as V;\n\n this.listName = listName;\n this.sharepointVersion = version;\n this.endpoint =\n version === '2013'\n ? `_api/web/lists/GetByTitle('${this.listName}')/items`\n : `_vti_bin/ListData.svc/${listName}`;\n\n const getContext = () => this.getContext<V>();\n\n return {\n create: (data: ListData) => createListItem(getContext(), data),\n get: (options?: Options<T['LISTS'][K], V>) =>\n getListItems<T['LISTS'][K], V>(getContext(), options),\n update: (id: ItemID, data: ListData, digest?: string) =>\n updateListItem(getContext(), id, data, digest),\n delete: (id: ItemID) => deleteItem(getContext(), id),\n createFile: (props: CreateFileProps) =>\n createAttachment(getContext(), props),\n fields: (options?: Field_Options<T['LISTS'][K], V>) => {\n this.endpoint = !options?.fieldName\n ? `_api/web/lists/GetByTitle('${this.listName}')/fields`\n : `_api/web/lists/GetByTitle('${this.listName}')/fields/getbytitle('${options.fieldName}')`;\n return {\n get: () => getOnly<T['LISTS'][K], V>(this.instance, this.endpoint, options),\n };\n },\n };\n }\n\n public folders = {\n get: () => {\n this.endpoint = '_api/web/folders';\n this.sharepointVersion = '2013';\n getListItems(this.getContext());\n },\n };\n\n public folder(folderName?: string | string[]) {\n let filePath = ['Shared Documents'];\n\n if (folderName) {\n filePath = Array.isArray(folderName)\n ? [...filePath, ...folderName]\n : [...filePath, folderName];\n }\n\n this.endpoint = `_api/web/GetFolderByServerRelativeUrl('${filePath.join(\n '/'\n )}')`;\n this.sharepointVersion = '2013';\n\n const getContext = () => this.getContext();\n\n return {\n get: (options?: Folder_Options<any>) => {\n if (!options?.type) {\n this.endpoint += '/Files';\n } else {\n this.endpoint += `/${options.type}`;\n }\n return getFiles(getContext(), options);\n },\n };\n }\n\n public users(options?: Options<any>) {\n this.endpoint = '_api/web/SiteUserInfoList/items';\n this.sharepointVersion = '2013';\n return {\n get: () => getListItems(this.getContext(), options),\n };\n }\n\n public email = {\n send: (props: EmailProps) => {\n this.sharepointVersion = '2013';\n return sendEmailRequest(this.getContext(), props);\n },\n };\n\n public user = {\n properties: () => ({\n get: (): Promise<UserProfile> => {\n this.sharepointVersion = '2013';\n return loadCurrentUserProperties(this.instance);\n },\n }),\n searchSiteUser: (searchValue: string) => {\n this.sharepointVersion = '2013';\n return fetchSiteUser(this.instance, searchValue);\n },\n searchUser: (input: string, filter?: string): Promise<PersonField> => {\n this.sharepointVersion = '2013';\n return typeAhead(this.instance, input, filter);\n },\n current: () => {\n this.endpoint = '_api/web/currentUser';\n this.sharepointVersion = '2013';\n return {\n get: (): Promise<CurrentUser> => getOnly(this.instance, this.endpoint),\n };\n },\n currentPermission: () => ({\n get: (): Promise<UserPermision> => {\n this.sharepointVersion = '2013';\n return resolveCurrentUserPermissions(this.getContext());\n },\n }),\n };\n}\n\nexport default HTTPSharePointRequests;\n","import SHAREPOINT_REQUESTS from './root';\n\nimport type { CreateAxiosDefaults as AxiosConfig } from 'axios';\nimport type { LookupField, ChoiceField, PersonField } from './types';\n\n// Load environment variables from .env file\n\nexport default function createBase<\n T extends { LISTS: Record<string, any>; FOLDERS?: Record<string, any> } = any\n>(){\n function create({\n baseURL,\n config,\n }: {\n baseURL: string;\n config?: AxiosConfig;\n }) {\n if (!baseURL) {\n throw new Error('A valid SharePoint URL must be provided.');\n }\n return new SHAREPOINT_REQUESTS<T>(baseURL, config);\n }\n\n return {\n /**\n * @deprecated Use `create` instead.\n */\n baseURL(url: string, config?: AxiosConfig) {\n return create({ baseURL: url, config });\n },\n create,\n };\n}\n\nexport { LookupField, ChoiceField, PersonField };\n\n\n"],"names":["defaultConfig","headers","Accept","timeout","withCredentials","instance","baseURL","config","userHeaders","AxiosHeaders","toJSON","_config$headers","axios","create","_extends","fetchDigest","_x","_x2","_fetchDigest","apply","arguments","_asyncToGenerator","_regenerator","m","_callee","_response$data","response","formDigestValue","_t","w","_context","p","n","post","v","data","d","GetContextWebInformation","FormDigestValue","Error","a","console","error","transformArraysToEdmStrings","key","Array","isArray","__metadata","type","results","createListItem","_createListItem","context","listData","_t2","_t3","_t4","_t5","listName","endpoint","JSON","stringify","call","url","method","createAttachment","_createAttachment","_ref","file","itemId","requestUrl","name","deleteItem","_deleteItem","id","buildODataParams","options","orderBySeparator","expand","orderBy","limit","filter","cols","skip","params","$expand","join","$top","$skip","$select","$filter","$orderby","appendParamsToUrl","baseUrl","Object","entries","forEach","_ref2","value","undefined","searchParams","append","String","getFiles","_getFiles","meta","URL","defaults","request","getListItems","_getListItems","_response$data$d$resu","_response$data2","rawData","keys","filterItem","Boolean","item","reduce","acc","map","getOnly","_x3","_getOnly","_yield$instance$get","get","updateListItem","_x4","_updateListItem","digest","sendEmail","_sendEmail","From","To","Subject","Body","httpRequest","properties","typeAhead","_typeAhead","input","queryParams","AllowEmailAddresses","AllowMultipleEntities","AllUrlZones","MaximumEntitySuggestions","PrincipalSource","PrincipalType","QueryString","RequiredProperties","ClientPeoplePickerSearchUser","currentUserProperties","_currentUserProperties","_callee2","profile","_context2","UserProfileProperties","prop","Key","FirstName","Value","LastName","Country","UserName","getSiteUser","_x5","_x6","_getSiteUser","_callee3","searchValue","_context3","roleDefinitions","_x7","_roleDefinitions","_callee4","_context4","getEffectiveBasePermissions","_x8","_getEffectiveBasePermissions","_callee5","_context5","EffectiveBasePermissions","currentUserPermissions","_x9","_currentUserPermissions","_callee6","_yield$getEffectiveBa","High","definitions","result","_context6","find","BasePermissions","HTTPSharePointRequests","_this","sharepointVersion","getContext","send","props","sendEmailRequest","loadCurrentUserProperties","searchSiteUser","fetchSiteUser","searchUser","current","currentPermission","resolveCurrentUserPermissions","endsWith","_proto","prototype","list","from","sharepoint_ver","version","_this2","update","delete","createFile","fields","fieldName","folder","folderName","filePath","concat","_this3","users","_this4","createBase","SHAREPOINT_REQUESTS"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,aAAa,GAAgB;EACjCC,OAAO,EAAE;IACPC,MAAM,EAAE,iCAAiC;IACzC,cAAc,EAAE;GACjB;EACDC,OAAO,EAAE,KAAK;EACdC,eAAe,EAAE;CAClB;AAEM,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,CAAIC,OAAe,EAAEC,MAAoB;;EAC5D,IAAMC,WAAW,GACf,CAAAD,MAAM,oBAANA,MAAM,CAAEN,OAAO,aAAYQ,kBAAY,GACnCF,MAAM,CAACN,OAAO,CAACS,MAAM,EAAE,IAAAC,eAAA,GACvBJ,MAAM,oBAANA,MAAM,CAAEN,OAAO,YAAAU,eAAA,GAAI,EAAE;EAE3B,OAAOC,cAAK,CAACC,MAAM,CAAAC,QAAA,KACdd,aAAa,EACbO,MAAM;IACTD,OAAO,EAAPA,OAAO;IACPL,OAAO,EAAAa,QAAA,KACFd,aAAa,CAACC,OAAO,EACrBO,WAAW;IAEjB,CAAC;AACJ,CAAC;;SCxBqBO,WAAWA,CAAAC,EAAA,EAAAC,GAAA;EAAA,OAAAC,YAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAmBhC,SAAAF;EAAAA,YAAA,GAAAG,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAnBM,SAAAC,QACLnB,QAAuB,EACvBC,OAAe;IAAA,IAAAmB,cAAA,EAAAC,QAAA,EAAAC,eAAA,EAAAC,EAAA;IAAA,OAAAN,YAAA,GAAAO,CAAA,WAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,CAAA,GAAAD,QAAA,CAAAE,CAAA;QAAA;UAAAF,QAAA,CAAAC,CAAA;UAAAD,QAAA,CAAAE,CAAA;UAAA,OAGU3B,QAAQ,CAAC4B,IAAI,CAAI3B,OAAO,qBAAkB,CAAC;QAAA;UAA5DoB,QAAQ,GAAAI,QAAA,CAAAI,CAAA;UAERP,eAAe,IAAAF,cAAA,GACnBC,QAAQ,CAACS,IAAI,cAAAV,cAAA,GAAbA,cAAA,CAAeW,CAAC,cAAAX,cAAA,GAAhBA,cAAA,CAAkBY,wBAAwB,qBAA1CZ,cAAA,CAA4Ca,eAAe;UAAA,IAExDX,eAAe;YAAAG,QAAA,CAAAE,CAAA;YAAA;;UAAA,MACZ,IAAIO,KAAK,CAAC,qDAAqD,CAAC;QAAA;UAAA,OAAAT,QAAA,CAAAU,CAAA,IAGjEb,eAAe;QAAA;UAAAG,QAAA,CAAAC,CAAA;UAAAH,EAAA,GAAAE,QAAA,CAAAI,CAAA;UAEtBO,OAAO,CAACC,KAAK,CAAC,2CAA2C,EAAAd,EAAO,CAAC;UAAC,MAC5D,IAAIW,KAAK,qCAAqC,CAAC;QAAA;UAAA,OAAAT,QAAA,CAAAU,CAAA;;OAAAhB,OAAA;GAExD;EAAA,OAAAN,YAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;;ACjBD,SAASuB,2BAA2BA,CAACR,IAAc;EACjD,KAAK,IAAMS,GAAG,IAAIT,IAAI,EAAE;IACtB,IAAIU,KAAK,CAACC,OAAO,CAACX,IAAI,CAACS,GAAG,CAAC,CAAC,EAAE;MAC5BT,IAAI,CAACS,GAAG,CAAC,GAAG;QACVG,UAAU,EAAE;UAAEC,IAAI,EAAE;SAA0B;QAC9CC,OAAO,EAAEd,IAAI,CAACS,GAAG;OAClB;;;AAGP;AAEA,SAAsBM,cAAcA,CAAAlC,EAAA,EAAAC,GAAA;EAAA,OAAAkC,eAAA,CAAAhC,KAAA,OAAAC,SAAA;AAAA;AAoBnC,SAAA+B;EAAAA,eAAA,GAAA9B,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CApBM,SAAAC,QACL4B,OAA0B,EAC1BC,QAAkB;IAAA,IAAA3B,QAAA,EAAAE,EAAA,EAAA0B,GAAA,EAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA;IAAA,OAAAnC,YAAA,GAAAO,CAAA,WAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAE,CAAA;QAAA;UAElBW,2BAA2B,CAACU,QAAQ,CAAC;UACrCA,QAAQ,CAACN,UAAU,GAAG;YACpBC,IAAI,eAAaI,OAAO,CAACM,QAAQ;WAClC;UAAC9B,EAAA,GAEqBwB,OAAO;UAAAE,GAAA,GACvBF,OAAO,CAACO,QAAQ;UAAAJ,GAAA,GAEfK,IAAI,CAACC,SAAS,CAACR,QAAQ,CAAC;UAAAvB,QAAA,CAAAE,CAAA;UAAA,OAEHjB,WAAW,CAACqC,OAAO,CAAC/C,QAAQ,EAAE+C,OAAO,CAAC9C,OAAO,CAAC;QAAA;UAAAkD,GAAA,GAAA1B,QAAA,CAAAI,CAAA;UAAAuB,GAAA;YAAvE,iBAAiB,EAAAD,GAAA;YACjB,UAAU,EAAE;;UAAG1B,QAAA,CAAAE,CAAA;UAAA,OAAAJ,EAAA,CANYvB,QAAQ,CAAAyD,IAAA,CAAAlC,EAAA;YACrCmC,GAAG,EAAAT,GAAA;YACHU,MAAM,EAAE,MAAM;YACd7B,IAAI,EAAAoB,GAAA;YACJtD,OAAO,EAAAwD;;QAAA;UAJH/B,QAAQ,GAAAI,QAAA,CAAAI,CAAA;UAAA,OAAAJ,QAAA,CAAAU,CAAA,IAUPd,QAAQ;;OAAAF,OAAA;GAChB;EAAA,OAAA2B,eAAA,CAAAhC,KAAA,OAAAC,SAAA;AAAA;;SC/BqB6C,gBAAgBA,CAAAjD,EAAA,EAAAC,GAAA;EAAA,OAAAiD,iBAAA,CAAA/C,KAAA,OAAAC,SAAA;AAAA;AAarC,SAAA8C;EAAAA,iBAAA,GAAA7C,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAbM,SAAAC,QACL4B,OAA0B,EAAAe,IAAA;IAAA,IAAAC,IAAA,EAAAC,MAAA,EAAAC,UAAA,EAAA5C,QAAA,EAAAE,EAAA,EAAA0B,GAAA,EAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA;IAAA,OAAAnC,YAAA,GAAAO,CAAA,WAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAE,CAAA;QAAA;UACxBoC,IAAI,GAAAD,IAAA,CAAJC,IAAI,EAAEC,MAAM,GAAAF,IAAA,CAANE,MAAM;UAERC,UAAU,+BAA6BlB,OAAO,CAACM,QAAQ,iBAAYW,MAAM,wCAAmCD,IAAI,CAACG,IAAI;UAAA3C,EAAA,GACpGwB,OAAO,CAAC/C,QAAQ;UAAAiD,GAAA,GAAMgB,UAAU;UAAAf,GAAA,GAAEa,IAAI;UAAAtC,QAAA,CAAAE,CAAA;UAAA,OAEhCjB,WAAW,CAACqC,OAAO,CAAC/C,QAAQ,EAAE+C,OAAO,CAAC9C,OAAO,CAAC;QAAA;UAAAkD,GAAA,GAAA1B,QAAA,CAAAI,CAAA;UAAAuB,GAAA;YAAvE,iBAAiB,EAAAD;;UAAA1B,QAAA,CAAAE,CAAA;UAAA,OAAAJ,EAAA,CAFmBK,IAAI,CAAA6B,IAAA,CAAAlC,EAAA,EAAA0B,GAAA,EAAAC,GAAA;YAC1CtD,OAAO,EAAAwD,GAAA;YAGPrD,eAAe,EAAE;;QAAI;UAJjBsB,QAAQ,GAAAI,QAAA,CAAAI,CAAA;UAAA,OAAAJ,QAAA,CAAAU,CAAA,IAOPd,QAAQ;;OAAAF,OAAA;GAChB;EAAA,OAAA0C,iBAAA,CAAA/C,KAAA,OAAAC,SAAA;AAAA;;SCdqBoD,UAAUA,CAAAxD,EAAA,EAAAC,GAAA;EAAA,OAAAwD,WAAA,CAAAtD,KAAA,OAAAC,SAAA;AAAA;AAM/B,SAAAqD;EAAAA,WAAA,GAAApD,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CANM,SAAAC,QACL4B,OAA0B,EAC1BsB,EAAmB;IAAA,IAAAhD,QAAA;IAAA,OAAAJ,YAAA,GAAAO,CAAA,WAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAE,CAAA;QAAA;UAAAF,QAAA,CAAAE,CAAA;UAAA,OAEIoB,OAAO,CAAC/C,QAAQ,UAAO,CAAI+C,OAAO,CAACO,QAAQ,SAAIe,EAAE,MAAG,CAAC;QAAA;UAAtEhD,QAAQ,GAAAI,QAAA,CAAAI,CAAA;UAAA,OAAAJ,QAAA,CAAAU,CAAA,IACPd,QAAQ;;OAAAF,OAAA;GAChB;EAAA,OAAAiD,WAAA,CAAAtD,KAAA,OAAAC,SAAA;AAAA;;SCHeuD,gBAAgBA,CAC9BC,OAA2C,EAC3CC;MAAAA;IAAAA,mBAA8B,GAAG;;EAEjC,IAAAV,IAAA,GAAuDS,OAAO,IAAI,EAAE;IAA5DE,MAAM,GAAAX,IAAA,CAANW,MAAM;IAAEC,OAAO,GAAAZ,IAAA,CAAPY,OAAO;IAAEC,KAAK,GAAAb,IAAA,CAALa,KAAK;IAAEC,MAAM,GAAAd,IAAA,CAANc,MAAM;IAAEC,IAAI,GAAAf,IAAA,CAAJe,IAAI;IAAEC,IAAI,GAAAhB,IAAA,CAAJgB,IAAI;EAElD,IAAMC,MAAM,GAAgD;IAC1DC,OAAO,EAAExC,KAAK,CAACC,OAAO,CAACgC,MAAM,CAAC,GAAGA,MAAM,CAACQ,IAAI,CAAC,GAAG,CAAC,GAAGR,MAAM;IAC1DS,IAAI,EAAEP,KAAK;IACXQ,KAAK,EAAEL,IAAI;IACXM,OAAO,EAAE5C,KAAK,CAACC,OAAO,CAACoC,IAAI,CAAC,GAAGA,IAAI,CAACI,IAAI,CAAC,GAAG,CAAC,GAAGJ,IAAI;IACpDQ,OAAO,EAAET,MAAM;IACfU,QAAQ,EAAE9C,KAAK,CAACC,OAAO,CAACiC,OAAO,CAAC,GAC5BA,OAAO,CAACO,IAAI,CAACT,gBAAgB,CAAC,GAC9BE;GACL;EAED,OAAOK,MAAM;AACf;AAEA,SAAgBQ,iBAAiBA,CAC/BC,OAAY,EACZT,MAA0D;EAE1DU,MAAM,CAACC,OAAO,CAACX,MAAM,CAAC,CAACY,OAAO,CAAC,UAAAC,KAAA;QAAErD,GAAG,GAAAqD,KAAA;MAAEC,KAAK,GAAAD,KAAA;IACzC,IAAIC,KAAK,KAAKC,SAAS,IAAID,KAAK,KAAK,IAAI,EAAE;MACzCL,OAAO,CAACO,YAAY,CAACC,MAAM,CAACzD,GAAG,EAAE0D,MAAM,CAACJ,KAAK,CAAC,CAAC;;GAElD,CAAC;AACJ;;SC/BsBK,QAAQA,CAAAvF,EAAA,EAAAC,GAAA;EAAA,OAAAuF,SAAA,CAAArF,KAAA,OAAAC,SAAA;AAAA;AA0B7B,SAAAoF;EAAAA,SAAA,GAAAnF,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CA1BM,SAAAC,QAIL4B,OAA0B,EAC1BwB,OAA2B;IAAA,IAAAQ,MAAA,EAAArB,GAAA,EAAArC,QAAA,EAAAS,IAAA,EAAAsE,IAAA;IAAA,OAAAnF,YAAA,GAAAO,CAAA,WAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAE,CAAA;QAAA;UAErBoD,MAAM,GAAGT,gBAAgB,CAACC,OAAO,EAAE,GAAG,CAAC;UACvCb,GAAG,GAAG,IAAI2C,GAAG,CAACtD,OAAO,CAACO,QAAQ,EAAEP,OAAO,CAAC/C,QAAQ,CAACsG,QAAQ,CAACrG,OAAO,CAAC;UAExEsF,iBAAiB,CAAC7B,GAAG,EAAEqB,MAAM,CAAC;UAACtD,QAAA,CAAAE,CAAA;UAAA,OAERoB,OAAO,CAAC/C,QAAQ,CAACuG,OAAO,CAAC;YAC9C7C,GAAG,EAAEX,OAAO,CAACO,QAAQ;YACrBK,MAAM,EAAE,KAAK;YACboB,MAAM,EAANA;WACD,CAAC;QAAA;UAJI1D,QAAQ,GAAAI,QAAA,CAAAI,CAAA;UAMRC,IAAI,GACRyC,OAAO,YAAPA,OAAO,CAAEI,KAAK,IAAI,CAACtD,QAAQ,CAACS,IAAI,CAACC,CAAC,CAACa,OAAO,GACtCvB,QAAQ,CAACS,IAAI,CAACC,CAAC,GACfV,QAAQ,CAACS,IAAI,CAACC,CAAC,CAACa,OAAO;UAEvBwD,IAAI,GAAG;YAAE1C,GAAG,EAAHA;WAAK;UAAA,OAAAjC,QAAA,CAAAU,CAAA,IAEb;YAAEL,IAAI,EAAJA,IAAI;YAAEsE,IAAI,EAAJA;WAAM;;OAAAjF,OAAA;GACtB;EAAA,OAAAgF,SAAA,CAAArF,KAAA,OAAAC,SAAA;AAAA;;SC1BqByF,YAAYA,CAAA7F,EAAA,EAAAC,GAAA;EAAA,OAAA6F,aAAA,CAAA3F,KAAA,OAAAC,SAAA;AAAA;AA6CjC,SAAA0F;EAAAA,aAAA,GAAAzF,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CA7CM,SAAAC,QAIL4B,OAA0B,EAC1BwB,OAAuB;IAAA,IAAAT,IAAA,EAAA4C,qBAAA,EAAAtF,cAAA,EAAAuF,eAAA;IAAA,IAAA5B,MAAA,EAAArB,GAAA,EAAArC,QAAA,EAAAuF,OAAA,EAAA/B,IAAA,EAAAgC,IAAA,EAAAC,UAAA,EAAAhF,IAAA,EAAAsE,IAAA;IAAA,OAAAnF,YAAA,GAAAO,CAAA,WAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAE,CAAA;QAAA;UAEjBoD,MAAM,GAAGT,gBAAgB,CAACC,OAAO,EAAE,GAAG,CAAC;UAEvCb,GAAG,GAAG,IAAI2C,GAAG,CAACtD,OAAO,CAACO,QAAQ,EAAEP,OAAO,CAAC/C,QAAQ,CAACsG,QAAQ,CAACrG,OAAO,CAAC;UACxEsF,iBAAiB,CAAC7B,GAAG,EAAEqB,MAAM,CAAC;UAACtD,QAAA,CAAAE,CAAA;UAAA,OAERoB,OAAO,CAAC/C,QAAQ,CAACuG,OAAO,CAAC;YAC9C7C,GAAG,EAAEX,OAAO,CAACO,QAAQ;YACrBK,MAAM,EAAE,KAAK;YACboB,MAAM,EAANA;WACD,CAAC;QAAA;UAJI1D,QAAQ,GAAAI,QAAA,CAAAI,CAAA;UAMR+E,OAAO,IAAA9C,IAAA,IAAA4C,qBAAA,IAAAtF,cAAA,GAAGC,QAAQ,CAACS,IAAI,cAAAV,cAAA,GAAbA,cAAA,CAAeW,CAAC,qBAAhBX,cAAA,CAAkBwB,OAAO,YAAA8D,qBAAA,IAAAC,eAAA,GAAItF,QAAQ,CAACS,IAAI,qBAAb6E,eAAA,CAAe5E,CAAC,YAAA+B,IAAA,GAAIzC,QAAQ,CAACS,IAAI;UACxE+C,IAAI,GAAGN,OAAO,oBAAPA,OAAO,CAAEM,IAAI;UACpBgC,IAAI,GAAGhC,IAAI,GACb,CAACrC,KAAK,CAACC,OAAO,CAACoC,IAAI,CAAC,GAAGA,IAAI,GAAG,CAACA,IAAI,CAAC,EAAED,MAAM,CAACmC,OAAO,CAAC,GACrDjB,SAAS;UAEPgB,UAAU,GAAG,SAAbA,UAAUA,CAAIE,IAAa;YAC/B,IAAI,CAACH,IAAI,IAAI,CAACG,IAAI,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;cAC9C,OAAOA,IAAI;;YAGb,OAAOH,IAAI,CAACI,MAAM,CAA0B,UAACC,GAAG,EAAE3E,GAAG;cACnD,IAAIA,GAAG,IAAIyE,IAAI,EAAE;gBACfE,GAAG,CAAC3E,GAAG,CAAC,GAAIyE,IAAgC,CAACzE,GAAG,CAAC;;cAGnD,OAAO2E,GAAG;aACX,EAAE,EAAE,CAAC;WACP;UAEKpF,IAAI,GAAGU,KAAK,CAACC,OAAO,CAACmE,OAAO,CAAC,GAC/BA,OAAO,CAACO,GAAG,CAACL,UAAU,CAAC,GACvBA,UAAU,CAACF,OAAO,CAAC;UAEjBR,IAAI,GAAG;YAAE1C,GAAG,EAAHA;WAAK;UAAA,OAAAjC,QAAA,CAAAU,CAAA,IAEb;YAAEL,IAAI,EAAEA,IAAkC;YAAEsE,IAAI,EAAJA;WAAM;;OAAAjF,OAAA;GAC1D;EAAA,OAAAsF,aAAA,CAAA3F,KAAA,OAAAC,SAAA;AAAA;;SC7CqBqG,OAAOA,CAAAzG,EAAA,EAAAC,GAAA,EAAAyG,GAAA;EAAA,OAAAC,QAAA,CAAAxG,KAAA,OAAAC,SAAA;AAAA;AAa5B,SAAAuG;EAAAA,QAAA,GAAAtG,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAbM,SAAAC,QAILnB,QAAuB,EACvBsD,QAAgB,EAChBiB,OAAuB;IAAA,IAAAQ,MAAA,EAAAwC,mBAAA,EAAAzF,IAAA;IAAA,OAAAb,YAAA,GAAAO,CAAA,WAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAE,CAAA;QAAA;UAEjBoD,MAAM,GAAGT,gBAAgB,CAACC,OAAO,EAAE,GAAG,CAAC;UAAA9C,QAAA,CAAAE,CAAA;UAAA,OACtB3B,QAAQ,CAACwH,GAAG,CAAClE,QAAQ,EAAE;YAAEyB,MAAM,EAANA;WAAQ,CAAC;QAAA;UAAAwC,mBAAA,GAAA9F,QAAA,CAAAI,CAAA;UAAjDC,IAAI,GAAAyF,mBAAA,CAAJzF,IAAI;UAAA,KACRA,IAAI;YAAAL,QAAA,CAAAE,CAAA;YAAA;;UAAA,OAAAF,QAAA,CAAAU,CAAA,IACCL,IAAI,CAACC,CAAC,CAACa,OAAO,GAAGd,IAAI,CAACC,CAAC,CAACa,OAAO,GAAGd,IAAI,CAACC,CAAC;QAAA;UAAA,OAAAN,QAAA,CAAAU,CAAA;;OAAAhB,OAAA;GAElD;EAAA,OAAAmG,QAAA,CAAAxG,KAAA,OAAAC,SAAA;AAAA;;SCbqB0G,cAAcA,CAAA9G,EAAA,EAAAC,GAAA,EAAAyG,GAAA,EAAAK,GAAA;EAAA,OAAAC,eAAA,CAAA7G,KAAA,OAAAC,SAAA;AAAA;AA2BnC,SAAA4G;EAAAA,eAAA,GAAA3G,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CA3BM,SAAAC,QACL4B,OAA0B,EAC1BsB,EAAmB,EACnBvC,IAAc,EACd8F,MAAe;IAAA,IAAAtG,eAAA,EAAAoC,GAAA,EAAArC,QAAA,EAAAE,EAAA;IAAA,OAAAN,YAAA,GAAAO,CAAA,WAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAE,CAAA;QAAA;UAAAJ,EAAA,GAGbqG,MAAM;UAAA,IAAArG,EAAA;YAAAE,QAAA,CAAAE,CAAA;YAAA;;UAAAF,QAAA,CAAAE,CAAA;UAAA,OAAWjB,WAAW,CAACqC,OAAO,CAAC/C,QAAQ,EAAE+C,OAAO,CAAC9C,OAAO,CAAC;QAAA;UAAAsB,EAAA,GAAAE,QAAA,CAAAI,CAAA;QAAA;UAD3DP,eAAe,GAAAC,EAAA;UAGrBO,IAAI,CAACY,UAAU,GAAG;YAChBC,IAAI,eAAaI,OAAO,CAACM,QAAQ;WAClC;UAEKK,GAAG,+BAA6BX,OAAO,CAACM,QAAQ,wBAAmBgB,EAAE;UAAA5C,QAAA,CAAAE,CAAA;UAAA,OAEpDoB,OAAO,CAAC/C,QAAQ,CAAC;YACtC0D,GAAG,EAAHA,GAAG;YACHC,MAAM,EAAE,MAAM;YACd7B,IAAI,EAAEyB,IAAI,CAACC,SAAS,CAAC1B,IAAI,CAAC;YAC1BlC,OAAO,EAAE;cACP,iBAAiB,EAAE0B,eAAe;cAClC,UAAU,EAAE,GAAG;cACf,eAAe,EAAE;;WAEpB,CAAC;QAAA;UATID,QAAQ,GAAAI,QAAA,CAAAI,CAAA;UAAA,OAAAJ,QAAA,CAAAU,CAAA,IAWPd,QAAQ;;OAAAF,OAAA;GAChB;EAAA,OAAAwG,eAAA,CAAA7G,KAAA,OAAAC,SAAA;AAAA;;SCpBqB8G,SAASA,CAAAlH,EAAA,EAAAC,GAAA;EAAA,OAAAkH,UAAA,CAAAhH,KAAA,OAAAC,SAAA;AAAA;AAiC9B,SAAA+G;EAAAA,UAAA,GAAA9G,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAjCM,SAAAC,QACL4B,OAAuB,EAAAe,IAAA;IAAA,IAAAiE,IAAA,EAAAC,EAAA,EAAAC,OAAA,EAAAC,IAAA,EAAAC,WAAA,EAAA9G,QAAA,EAAAE,EAAA,EAAA0B,GAAA,EAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA;IAAA,OAAAnC,YAAA,GAAAO,CAAA,WAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAE,CAAA;QAAA;UACrBoG,IAAI,GAAAjE,IAAA,CAAJiE,IAAI,EAAEC,EAAE,GAAAlE,IAAA,CAAFkE,EAAE,EAAEC,OAAO,GAAAnE,IAAA,CAAPmE,OAAO,EAAEC,IAAI,GAAApE,IAAA,CAAJoE,IAAI;UAEnBC,WAAW,GAAG,qCAAqC;UAAA5G,EAAA,GAElCwB,OAAO;UAAAE,GAAA,GACvBkF,WAAW;UAAA1G,QAAA,CAAAE,CAAA;UAAA,OAGWjB,WAAW,CAClCqC,OAAO,CAAC/C,QAAQ,EAChB+C,OAAO,CAAC9C,OAAO,CAChB;QAAA;UAAAiD,GAAA,GAAAzB,QAAA,CAAAI,CAAA;UAAAsB,GAAA;YAHD,iBAAiB,EAAAD,GAAA;YAIjB,eAAe,EAAE,MAAM;YACvB,cAAc,EAAE;;UAAgCE,GAAA,GAE5CG,IAAI,CAACC,SAAS,CAAC;YACnB4E,UAAU,EAAE;cACV1F,UAAU,EAAE;gBACVC,IAAI,EAAE;eACP;cACDoF,IAAI,EAAJA,IAAI;cACJC,EAAE,EAAE;gBACFpF,OAAO,EAAEJ,KAAK,CAACC,OAAO,CAACuF,EAAE,CAAC,GAAGA,EAAE,GAAG,CAACA,EAAE;eACtC;cACDE,IAAI,EAAJA,IAAI;cACJD,OAAO,EAAPA;;WAEH,CAAC;UAAAxG,QAAA,CAAAE,CAAA;UAAA,OAAAJ,EAAA,CAvB2BvB,QAAQ,CAAAyD,IAAA,CAAAlC,EAAA;YACrCmC,GAAG,EAAAT,GAAA;YACHU,MAAM,EAAE,MAAM;YACd/D,OAAO,EAAAuD,GAAA;YAQPrB,IAAI,EAAAsB;;QAAA;UAXA/B,QAAQ,GAAAI,QAAA,CAAAI,CAAA;UAAA,OAAAJ,QAAA,CAAAU,CAAA,IA0BPd,QAAQ;;OAAAF,OAAA;GAChB;EAAA,OAAA2G,UAAA,CAAAhH,KAAA,OAAAC,SAAA;AAAA;;SC9BqBsH,SAASA,CAAA1H,EAAA,EAAAC,GAAA,EAAAyG,GAAA;EAAA,OAAAiB,UAAA,CAAAxH,KAAA,OAAAC,SAAA;AAAA;AAmC9B,SAAAuH;EAAAA,UAAA,GAAAtH,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAnCM,SAAAC,QACLnB,QAAuB,EACvBuI,KAAa,EACb3D,MAAe;IAAA,IAAAX,UAAA,EAAAnC,IAAA,EAAAT,QAAA;IAAA,OAAAJ,YAAA,GAAAO,CAAA,WAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAE,CAAA;QAAA;UAETsC,UAAU;UAEVnC,IAAI,GAAG;YACX0G,WAAW,EAAE;cACX9F,UAAU,EAAE;gBACVC,IAAI,EAAE;eACP;cACD8F,mBAAmB,EAAE,IAAI;cACzBC,qBAAqB,EAAE,KAAK;cAC5BC,WAAW,EAAE,KAAK;cAClBC,wBAAwB,EAAE,EAAE;cAC5BC,eAAe,EAAE,EAAE;cACnBC,aAAa,EAAE,CAAC;cAChBC,WAAW,EAAER;;WAEhB;UAED,IAAI3D,MAAM,EAAE;;YAET9C,IAAI,CAAC0G,WAAmB,CAACQ,kBAAkB,GAAG,CAACpE,MAAM,CAAC;;UACxDnD,QAAA,CAAAE,CAAA;UAAA,OAEsB3B,QAAQ,CAAC4B,IAAI,CAACqC,UAAU,EAAEV,IAAI,CAACC,SAAS,CAAC1B,IAAI,CAAC,EAAE;YACrElC,OAAO,EAAE;cACPC,MAAM,EAAE,iCAAiC;cACzC,cAAc,EAAE;;WAEnB,CAAC;QAAA;UALIwB,QAAQ,GAAAI,QAAA,CAAAI,CAAA;UAAA,OAAAJ,QAAA,CAAAU,CAAA,IAOPd,QAAQ,CAACS,IAAI,CAACC,CAAC,CAACkH,4BAA4B;;OAAA9H,OAAA;GACpD;EAAA,OAAAmH,UAAA,CAAAxH,KAAA,OAAAC,SAAA;AAAA;AAED,SAAsBmI,qBAAqBA,CAAAxB,GAAA;EAAA,OAAAyB,sBAAA,CAAArI,KAAA,OAAAC,SAAA;AAAA;AA0B1C,SAAAoI;EAAAA,sBAAA,GAAAnI,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CA1BM,SAAAkI,SACLpJ,QAAuB;IAAA,IAAAiE,UAAA,EAAAoF,OAAA;IAAA,OAAApI,YAAA,GAAAO,CAAA,WAAA8H,SAAA;MAAA,kBAAAA,SAAA,CAAA3H,CAAA;QAAA;UAEjBsC,UAAU,GAAG,oDAAoD;UAAAqF,SAAA,CAAA3H,CAAA;UAAA,OAC9C3B,QAAQ,CAACwH,GAAG,CAACvD,UAAU,CAAC;QAAA;UAA7CoF,OAAO,GAAAC,SAAA,CAAAzH,CAAA;UAEXwH,OAAO,GAAGA,OAAO,CAACvH,IAAI,CAACC,CAAC;UAExBsH,OAAO,CAACE,qBAAqB,CAAC3G,OAAO,CAAC+C,OAAO,CAC3C,UAAC6D,IAAoC;YACnC,IAAIA,IAAI,CAACC,GAAG,KAAK,WAAW,EAAE;cAC5BJ,OAAO,CAACK,SAAS,GAAGF,IAAI,CAACG,KAAK;;YAEhC,IAAIH,IAAI,CAACC,GAAG,KAAK,UAAU,EAAE;cAC3BJ,OAAO,CAACO,QAAQ,GAAGJ,IAAI,CAACG,KAAK;;YAE/B,IAAIH,IAAI,CAACC,GAAG,KAAK,SAAS,EAAE;cAC1BJ,OAAO,CAACQ,OAAO,GAAGL,IAAI,CAACG,KAAK;;YAE9B,IAAIH,IAAI,CAACC,GAAG,KAAK,UAAU,EAAE;cAC3BJ,OAAO,CAACS,QAAQ,GAAGN,IAAI,CAACG,KAAK;;WAEhC,CACF;UAAC,OAAAL,SAAA,CAAAnH,CAAA,IAEKkH,OAAO;;OAAAD,QAAA;GACf;EAAA,OAAAD,sBAAA,CAAArI,KAAA,OAAAC,SAAA;AAAA;AAED,SAAsBgJ,WAAWA,CAAAC,GAAA,EAAAC,GAAA;EAAA,OAAAC,YAAA,CAAApJ,KAAA,OAAAC,SAAA;AAAA;AAIhC,SAAAmJ;EAAAA,YAAA,GAAAlJ,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAJM,SAAAiJ,SAA2BnK,QAAuB,EAAEoK,WAAmB;IAAA,IAAAnG,UAAA,EAAA5C,QAAA;IAAA,OAAAJ,YAAA,GAAAO,CAAA,WAAA6I,SAAA;MAAA,kBAAAA,SAAA,CAAA1I,CAAA;QAAA;UACtEsC,UAAU,iDAA+CmG,WAAW,kCAA6BA,WAAW,sCAAiCA,WAAW;UAAAC,SAAA,CAAA1I,CAAA;UAAA,OACvI3B,QAAQ,CAACwH,GAAG,CAACvD,UAAU,CAAC;QAAA;UAAzC5C,QAAQ,GAAAgJ,SAAA,CAAAxI,CAAA;UAAA,OAAAwI,SAAA,CAAAlI,CAAA,IACPd,QAAQ,CAACS,IAAI,CAACC,CAAC;;OAAAoI,QAAA;GACvB;EAAA,OAAAD,YAAA,CAAApJ,KAAA,OAAAC,SAAA;AAAA;AAED,SAAsBuJ,eAAeA,CAAAC,GAAA;EAAA,OAAAC,gBAAA,CAAA1J,KAAA,OAAAC,SAAA;AAAA;AAIpC,SAAAyJ;EAAAA,gBAAA,GAAAxJ,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAJM,SAAAuJ,SAA+BzK,QAAuB;IAAA,IAAAiE,UAAA,EAAA5C,QAAA;IAAA,OAAAJ,YAAA,GAAAO,CAAA,WAAAkJ,SAAA;MAAA,kBAAAA,SAAA,CAAA/I,CAAA;QAAA;UACrDsC,UAAU;UAAAyG,SAAA,CAAA/I,CAAA;UAAA,OACO3B,QAAQ,CAACwH,GAAG,CAACvD,UAAU,CAAC;QAAA;UAAzC5C,QAAQ,GAAAqJ,SAAA,CAAA7I,CAAA;UAAA,OAAA6I,SAAA,CAAAvI,CAAA,IACPd,QAAQ,CAACS,IAAI,CAACC,CAAC,CAACa,OAA2B;;OAAA6H,QAAA;GACnD;EAAA,OAAAD,gBAAA,CAAA1J,KAAA,OAAAC,SAAA;AAAA;AAED,SAAsB4J,2BAA2BA,CAAAC,GAAA;EAAA,OAAAC,4BAAA,CAAA/J,KAAA,OAAAC,SAAA;AAAA;AAIhD,SAAA8J;EAAAA,4BAAA,GAAA7J,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAJM,SAAA4J,SAA2C9K,QAAuB;IAAA,IAAAiE,UAAA,EAAA5C,QAAA;IAAA,OAAAJ,YAAA,GAAAO,CAAA,WAAAuJ,SAAA;MAAA,kBAAAA,SAAA,CAAApJ,CAAA;QAAA;UACjEsC,UAAU;UAAA8G,SAAA,CAAApJ,CAAA;UAAA,OACO3B,QAAQ,CAACwH,GAAG,CAACvD,UAAU,CAAC;QAAA;UAAzC5C,QAAQ,GAAA0J,SAAA,CAAAlJ,CAAA;UAAA,OAAAkJ,SAAA,CAAA5I,CAAA,IACPd,QAAQ,CAACS,IAAI,CAACC,CAAC,CAACiJ,wBAAwB;;OAAAF,QAAA;GAChD;EAAA,OAAAD,4BAAA,CAAA/J,KAAA,OAAAC,SAAA;AAAA;AAED,SAAsBkK,sBAAsBA,CAAAC,GAAA;EAAA,OAAAC,uBAAA,CAAArK,KAAA,OAAAC,SAAA;AAAA;AAW3C,SAAAoK;EAAAA,uBAAA,GAAAnK,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAXM,SAAAkK,SACLrI,OAAuB;IAAA,IAAAsI,qBAAA,EAAAC,IAAA,EAAAC,WAAA,EAAAC,MAAA;IAAA,OAAAvK,YAAA,GAAAO,CAAA,WAAAiK,SAAA;MAAA,kBAAAA,SAAA,CAAA9J,CAAA;QAAA;UAAA8J,SAAA,CAAA9J,CAAA;UAAA,OAEAgJ,2BAA2B,CAAC5H,OAAO,CAAC/C,QAAQ,CAAC;QAAA;UAAAqL,qBAAA,GAAAI,SAAA,CAAA5J,CAAA;UAA5DyJ,IAAI,GAAAD,qBAAA,CAAJC,IAAI;UAAAG,SAAA,CAAA9J,CAAA;UAAA,OACc2I,eAAe,CAACvH,OAAO,CAAC/C,QAAQ,CAAC;QAAA;UAArDuL,WAAW,GAAAE,SAAA,CAAA5J,CAAA;UAEX2J,MAAM,GAAGD,WAAW,CAACG,IAAI,CAC7B,UAAA5H,IAAA;YAAA,IAAG6H,eAAe,GAAA7H,IAAA,CAAf6H,eAAe;YAAA,OAAuBA,eAAe,CAACL,IAAI,KAAKA,IAAI;YACvE;UAAA,OAAAG,SAAA,CAAAtJ,CAAA,IAEMqJ,MAAuB;;OAAAJ,QAAA;GAC/B;EAAA,OAAAD,uBAAA,CAAArK,KAAA,OAAAC,SAAA;AAAA;;AC3EgC,IAE3B6K,sBAAsB;EAY1B,SAAAA,uBAAY3L,OAAe,EAAEC,MAAoB;;IA4BjC,UAAK,GAAG;MACtBsH,GAAG,EAAE,SAALA,GAAGA;QACDqE,KAAI,CAACvI,QAAQ,GAAG,gBAAgB;QAChCuI,KAAI,CAACC,iBAAiB,GAAG,MAAM;QAC/B,OAAOtF,YAAY,CAACqF,KAAI,CAACE,UAAU,EAAE,CAAC;;KAEzC;IAqCM,YAAO,GAAG;MACfvE,GAAG,EAAE,SAALA,GAAGA;QACDqE,KAAI,CAACvI,QAAQ,GAAG,kBAAkB;QAClCuI,KAAI,CAACC,iBAAiB,GAAG,MAAM;QAC/BtF,YAAY,CAACqF,KAAI,CAACE,UAAU,EAAE,CAAC;;KAElC;IAsCM,UAAK,GAAG;MACbC,IAAI,EAAE,SAANA,IAAIA,CAAGC,KAAiB;QACtBJ,KAAI,CAACC,iBAAiB,GAAG,MAAM;QAC/B,OAAOI,SAAgB,CAACL,KAAI,CAACE,UAAU,EAAE,EAAEE,KAAK,CAAC;;KAEpD;IAEM,SAAI,GAAG;MACZ7D,UAAU,EAAE,SAAZA,UAAUA;QAAA,OAAS;UACjBZ,GAAG,EAAE,SAALA,GAAGA;YACDqE,KAAI,CAACC,iBAAiB,GAAG,MAAM;YAC/B,OAAOK,qBAAyB,CAACN,KAAI,CAAC7L,QAAQ,CAAC;;SAElD;OAAC;MACFoM,cAAc,EAAE,SAAhBA,cAAcA,CAAGhC,WAAmB;QAClCyB,KAAI,CAACC,iBAAiB,GAAG,MAAM;QAC/B,OAAOO,WAAa,CAACR,KAAI,CAAC7L,QAAQ,EAAEoK,WAAW,CAAC;OACjD;MACDkC,UAAU,EAAE,SAAZA,UAAUA,CAAG/D,KAAa,EAAE3D,MAAe;QACzCiH,KAAI,CAACC,iBAAiB,GAAG,MAAM;QAC/B,OAAOzD,SAAS,CAACwD,KAAI,CAAC7L,QAAQ,EAAEuI,KAAK,EAAE3D,MAAM,CAAC;OAC/C;MACD2H,OAAO,EAAE,SAATA,OAAOA;QACLV,KAAI,CAACvI,QAAQ,GAAG,sBAAsB;QACtCuI,KAAI,CAACC,iBAAiB,GAAG,MAAM;QAC/B,OAAO;UACLtE,GAAG,EAAE,SAALA,GAAGA;YAAA,OAA8BJ,OAAO,CAACyE,KAAI,CAAC7L,QAAQ,EAAE6L,KAAI,CAACvI,QAAQ,CAAC;;SACvE;OACF;MACDkJ,iBAAiB,EAAE,SAAnBA,iBAAiBA;QAAA,OAAS;UACxBhF,GAAG,EAAE,SAALA,GAAGA;YACDqE,KAAI,CAACC,iBAAiB,GAAG,MAAM;YAC/B,OAAOW,sBAA6B,CAACZ,KAAI,CAACE,UAAU,EAAE,CAAC;;SAE1D;;KACF;IArJC,IAAI,CAAC9L,OAAO,GAAGA,OAAO,CAACyM,QAAQ,CAAC,GAAG,CAAC,GAAGzM,OAAO,GAAMA,OAAO,MAAG;IAC9D,IAAI,CAACqD,QAAQ,GAAG,MAAM;IACtB,IAAI,CAACD,QAAQ,GAAG,EAAE;IAClB,IAAI,CAACrD,QAAQ,GAAGA,QAAQ,CAAC,IAAI,CAACC,OAAO,EAAEC,MAAM,CAAC;IAC9C,IAAI,CAAC4L,iBAAiB,GAAG,MAAM;;EAChC,IAAAa,MAAA,GAAAf,sBAAA,CAAAgB,SAAA;EAAAD,MAAA,CAEOZ,UAAU,GAAV,SAAAA,UAAUA;IAChB,OAAO;MACL/L,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBC,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBqD,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBD,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvByI,iBAAiB,EAAE,IAAI,CAACA;KACzB;;;;;EAGHa,MAAA,CAGAE,IAAI,GAAJ,SAAAA,IAAIA,CAACxJ,QAAsB;IACzB,IAAI,CAACA,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,QAAQ,8BAA4BD,QAAU;IACnD,IAAI,CAACyI,iBAAiB,GAAG,MAAM;IAC/B,OAAO,IAAI;GACZ;EAAAa,MAAA,CAUDG,IAAI,GAAJ,SAAAA,IAAIA,CAGFzJ,QAAW,EAAE0J,cAAkB;;IAC/B,IAAMC,OAAO,GAAID,cAAc,WAAdA,cAAc,GAAI,MAAY;IAE/C,IAAI,CAAC1J,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACyI,iBAAiB,GAAGkB,OAAO;IAChC,IAAI,CAAC1J,QAAQ,GACX0J,OAAO,KAAK,MAAM,mCACgB,IAAI,CAAC3J,QAAQ,2CAClBA,QAAU;IAEzC,IAAM0I,UAAU,GAAG,SAAbA,UAAUA;MAAA,OAASkB,MAAI,CAAClB,UAAU,EAAK;;IAE7C,OAAO;MACLvL,MAAM,EAAE,SAARA,MAAMA,CAAGsB,IAAc;QAAA,OAAKe,cAAc,CAACkJ,UAAU,EAAE,EAAEjK,IAAI,CAAC;;MAC9D0F,GAAG,EAAE,SAALA,GAAGA,CAAGjD,OAAmC;QAAA,OACvCiC,YAAY,CAAmBuF,UAAU,EAAE,EAAExH,OAAO,CAAC;;MACvD2I,MAAM,EAAE,SAARA,MAAMA,CAAG7I,EAAU,EAAEvC,IAAc,EAAE8F,MAAe;QAAA,OAClDH,cAAc,CAACsE,UAAU,EAAE,EAAE1H,EAAE,EAAEvC,IAAI,EAAE8F,MAAM,CAAC;;MAChD,UAAQ,SAARuF,OAAMA,CAAG9I,EAAU;QAAA,OAAKF,UAAU,CAAC4H,UAAU,EAAE,EAAE1H,EAAE,CAAC;;MACpD+I,UAAU,EAAE,SAAZA,UAAUA,CAAGnB,KAAsB;QAAA,OACjCrI,gBAAgB,CAACmI,UAAU,EAAE,EAAEE,KAAK,CAAC;;MACvCoB,MAAM,EAAE,SAARA,MAAMA,CAAG9I,OAAyC;QAChD0I,MAAI,CAAC3J,QAAQ,GAAG,EAACiB,OAAO,YAAPA,OAAO,CAAE+I,SAAS,oCACDL,MAAI,CAAC5J,QAAQ,iDACb4J,MAAI,CAAC5J,QAAQ,8BAAyBkB,OAAO,CAAC+I,SAAS,OAAI;QAC7F,OAAO;UACL9F,GAAG,EAAE,SAALA,GAAGA;YAAA,OAAQJ,OAAO,CAAmB6F,MAAI,CAACjN,QAAQ,EAAEiN,MAAI,CAAC3J,QAAQ,EAAEiB,OAAO,CAAC;;SAC5E;;KAEJ;GACF;EAAAoI,MAAA,CAUMY,MAAM,GAAN,SAAAA,MAAMA,CAACC,UAA8B;;IAC1C,IAAIC,QAAQ,GAAG,CAAC,kBAAkB,CAAC;IAEnC,IAAID,UAAU,EAAE;MACdC,QAAQ,GAAGjL,KAAK,CAACC,OAAO,CAAC+K,UAAU,CAAC,MAAAE,MAAA,CAC5BD,QAAQ,EAAKD,UAAU,OAAAE,MAAA,CACvBD,QAAQ,GAAED,UAAU,EAAC;;IAG/B,IAAI,CAAClK,QAAQ,+CAA6CmK,QAAQ,CAACxI,IAAI,CACrE,GAAG,CACJ,OAAI;IACL,IAAI,CAAC6G,iBAAiB,GAAG,MAAM;IAE/B,IAAMC,UAAU,GAAG,SAAbA,UAAUA;MAAA,OAAS4B,MAAI,CAAC5B,UAAU,EAAE;;IAE1C,OAAO;MACLvE,GAAG,EAAE,SAALA,GAAGA,CAAGjD,OAA6B;QACjC,IAAI,EAACA,OAAO,YAAPA,OAAO,CAAE5B,IAAI,GAAE;UAClBgL,MAAI,CAACrK,QAAQ,IAAI,QAAQ;SAC1B,MAAM;UACLqK,MAAI,CAACrK,QAAQ,UAAQiB,OAAO,CAAC5B,IAAM;;QAErC,OAAOuD,QAAQ,CAAC6F,UAAU,EAAE,EAAExH,OAAO,CAAC;;KAEzC;GACF;EAAAoI,MAAA,CAEMiB,KAAK,GAAL,SAAAA,KAAKA,CAACrJ,OAAsB;;IACjC,IAAI,CAACjB,QAAQ,GAAG,iCAAiC;IACjD,IAAI,CAACwI,iBAAiB,GAAG,MAAM;IAC/B,OAAO;MACLtE,GAAG,EAAE,SAALA,GAAGA;QAAA,OAAQhB,YAAY,CAACqH,MAAI,CAAC9B,UAAU,EAAE,EAAExH,OAAO,CAAC;;KACpD;GACF;EAAA,OAAAqH,sBAAA;AAAA;;AC3JH;AAEA,SAAwBkC,UAAUA;EAGhC,SAAStN,MAAMA,CAAAsD,IAAA;QACb7D,OAAO,GAAA6D,IAAA,CAAP7D,OAAO;MACPC,MAAM,GAAA4D,IAAA,CAAN5D,MAAM;IAKN,IAAI,CAACD,OAAO,EAAE;MACZ,MAAM,IAAIiC,KAAK,CAAC,0CAA0C,CAAC;;IAE7D,OAAO,IAAI6L,sBAAmB,CAAI9N,OAAO,EAAEC,MAAM,CAAC;;EAGpD,OAAO;;;;IAILD,OAAO,WAAPA,OAAOA,CAACyD,GAAW,EAAExD,MAAoB;MACvC,OAAOM,MAAM,CAAC;QAAEP,OAAO,EAAEyD,GAAG;QAAExD,MAAM,EAANA;OAAQ,CAAC;KACxC;IACDM,MAAM,EAANA;GACD;AACH;;;;"}
1
+ {"version":3,"file":"sharepoint_requests.cjs.development.js","sources":["../src/root/instance.ts","../src/root/internal/digest.ts","../src/root/internal/listRequests/createListItem.ts","../src/root/internal/listRequests/createAttachment.ts","../src/root/internal/listRequests/deleteItem.ts","../src/root/internal/odata.ts","../src/root/internal/listRequests/getFiles.ts","../src/root/internal/listRequests/getListItems.ts","../src/root/internal/listRequests/getOnly.ts","../src/root/internal/listRequests/updateListItem.ts","../src/root/internal/listRequests/uploadFile.ts","../src/root/internal/emailRequests.ts","../src/root/internal/userRequests.ts","../src/root/index.ts","../src/index.ts"],"sourcesContent":["import axios, { AxiosHeaders, CreateAxiosDefaults as AxiosConfig } from 'axios';\n\nconst defaultConfig: AxiosConfig = {\n headers: {\n Accept: 'application/json; odata=verbose',\n 'Content-Type': 'application/json; odata=verbose',\n },\n timeout: 15000,\n withCredentials: true,\n};\n\nexport const instance = (baseURL: string, config?: AxiosConfig) => {\n const userHeaders =\n config?.headers instanceof AxiosHeaders\n ? config.headers.toJSON()\n : config?.headers ?? {};\n\n return axios.create({\n ...defaultConfig,\n ...config,\n baseURL,\n headers: {\n ...defaultConfig.headers,\n ...userHeaders,\n },\n });\n};\n\nexport default instance;\n","import type { AxiosInstance } from 'axios';\n\nexport async function fetchDigest(\n instance: AxiosInstance,\n baseURL: string\n): Promise<string> {\n try {\n const response = await instance.post(`${baseURL}_api/contextinfo`);\n\n const formDigestValue =\n response.data?.d?.GetContextWebInformation?.FormDigestValue;\n\n if (!formDigestValue) {\n throw new Error('Invalid response structure: Missing FormDigestValue');\n }\n\n return formDigestValue;\n } catch (error) {\n console.error('Failed to retrieve the Form Digest Value:', error);\n throw new Error(`Error retrieving Form Digest Value`);\n }\n}\n","import type { ListData, SHAREPOINT_VER } from '../../../types';\nimport { fetchDigest } from '../digest';\nimport type { RequestContext } from '../context';\n\nasync function resolveMetadataType<V extends SHAREPOINT_VER>(\n context: RequestContext<V>\n) {\n if (context.resolveListItemEntityType) {\n return context.resolveListItemEntityType();\n }\n\n if (context.listItemEntityTypeFullName) {\n return context.listItemEntityTypeFullName;\n }\n\n return `SP.Data.${context.listName}ListItem`;\n}\n\nexport async function createListItem<V extends SHAREPOINT_VER = '2013'>(\n context: RequestContext<V>,\n listData: ListData\n) {\n const metadataType = await resolveMetadataType(context);\n const payload = {\n ...listData,\n __metadata: {\n type: metadataType,\n },\n };\n\n const response = await context.instance({\n url: context.endpoint,\n method: 'POST',\n data: JSON.stringify(payload),\n headers: {\n 'X-RequestDigest': await fetchDigest(context.instance, context.baseURL),\n },\n });\n\n return response;\n}\n","import type { CreateFileProps, SHAREPOINT_VER } from '../../../types';\nimport { fetchDigest } from '../digest';\nimport type { RequestContext } from '../context';\n\nexport async function createAttachment<V extends SHAREPOINT_VER = '2013'>(\n context: RequestContext<V>,\n { file, itemId }: CreateFileProps\n) {\n const requestUrl = `_api/lists/getbytitle('${context.listName}')/items(${itemId})/AttachmentFiles/add(FileName='${file.name}')`;\n const response = await context.instance.post(requestUrl, file, {\n headers: {\n 'X-RequestDigest': await fetchDigest(context.instance, context.baseURL),\n },\n withCredentials: true,\n });\n\n return response;\n}\n","import type { SHAREPOINT_VER } from '../../../types';\nimport type { RequestContext } from '../context';\n\nexport async function deleteItem<V extends SHAREPOINT_VER = '2013'>(\n context: RequestContext<V>,\n id: number | string\n) {\n const response = await context.instance.delete(`${context.endpoint}(${id})`);\n return response;\n}\n","import type { Folder_Options, Options, SHAREPOINT_VER } from '../../types';\n\ntype QueryableOptions<T, V extends SHAREPOINT_VER = '2013'> =\n | Options<T, V>\n | Folder_Options<T>;\n\nexport function buildODataParams<T, V extends SHAREPOINT_VER = '2013'>(\n options: QueryableOptions<T, V> | undefined,\n orderBySeparator: ',' | ' ' = ','\n) {\n const { expand, orderBy, limit, filter, cols, skip } = options || {};\n\n const params: Record<string, string | number | undefined> = {\n $expand: Array.isArray(expand) ? expand.join(',') : expand,\n $top: limit,\n $skip: skip,\n $select: Array.isArray(cols) ? cols.join(',') : cols,\n $filter: filter,\n $orderby: Array.isArray(orderBy)\n ? orderBy.join(orderBySeparator)\n : orderBy,\n };\n\n return params;\n}\n\nexport function appendParamsToUrl(\n baseUrl: URL,\n params: Record<string, string | number | undefined | null>\n) {\n Object.entries(params).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n baseUrl.searchParams.append(key, String(value));\n }\n });\n}\n","import type { Folder_Options, SHAREPOINT_VER } from '../../../types';\nimport { appendParamsToUrl, buildODataParams } from '../odata';\nimport type { RequestContext } from '../context';\n\nexport async function getFiles<\n T,\n V extends SHAREPOINT_VER = '2013'\n>(\n context: RequestContext<V>,\n options?: Folder_Options<T>\n) {\n const params = buildODataParams(options, ',');\n const url = new URL(context.endpoint, context.instance.defaults.baseURL);\n\n appendParamsToUrl(url, params);\n\n const response = await context.instance.request({\n url: context.endpoint,\n method: 'GET',\n params,\n });\n\n const data =\n options?.limit || !response.data.d.results\n ? response.data.d\n : response.data.d.results;\n\n const meta = { url };\n\n return { data, meta };\n}\n","import type { Options, SPItem, SHAREPOINT_VER } from '../../../types';\nimport { appendParamsToUrl, buildODataParams } from '../odata';\nimport type { RequestContext } from '../context';\n\nexport async function getListItems<\n K,\n V extends SHAREPOINT_VER = '2013'\n>(\n context: RequestContext<V>,\n options?: Options<K, V>\n): Promise<{ data: (K & Partial<SPItem<V>>)[]; meta: { url: URL } }> {\n const params = buildODataParams(options, ' ');\n\n const url = new URL(context.endpoint, context.instance.defaults.baseURL);\n appendParamsToUrl(url, params);\n\n const response = await context.instance.request({\n url: context.endpoint,\n method: 'GET',\n params,\n });\n\n const rawData = response.data?.d?.results ?? response.data?.d ?? response.data;\n const cols = options?.cols;\n const keys = cols\n ? (Array.isArray(cols) ? cols : [cols]).filter(Boolean)\n : undefined;\n\n const filterItem = (item: unknown) => {\n if (!keys || !item || typeof item !== 'object') {\n return item;\n }\n\n return keys.reduce<Record<string, unknown>>((acc, key) => {\n if (key in item) {\n acc[key] = (item as Record<string, unknown>)[key];\n }\n\n return acc;\n }, {});\n };\n\n const data = Array.isArray(rawData)\n ? rawData.map(filterItem)\n : filterItem(rawData);\n\n const meta = { url };\n\n return { data: data as (K & Partial<SPItem<V>>)[], meta };\n}\n","import type { AxiosInstance } from 'axios';\nimport type { Options, SHAREPOINT_VER } from '../../../types';\nimport { buildODataParams } from '../odata';\n\nexport async function getOnly<\n T,\n V extends SHAREPOINT_VER = '2013'\n>(\n instance: AxiosInstance,\n endpoint: string,\n options?: Options<T, V>\n) {\n const params = buildODataParams(options, ',');\n const { data } = await instance.get(endpoint, { params });\n if (data) {\n return data.d.results ? data.d.results : data.d;\n }\n}\n","import type { ListData, SHAREPOINT_VER } from '../../../types';\nimport { fetchDigest } from '../digest';\nimport type { RequestContext } from '../context';\n\nasync function resolveMetadataType<V extends SHAREPOINT_VER>(\n context: RequestContext<V>\n) {\n if (context.resolveListItemEntityType) {\n return context.resolveListItemEntityType();\n }\n\n if (context.listItemEntityTypeFullName) {\n return context.listItemEntityTypeFullName;\n }\n\n return `SP.Data.${context.listName}ListItem`;\n}\n\nexport async function updateListItem<V extends SHAREPOINT_VER = '2013'>(\n context: RequestContext<V>,\n id: number | string,\n data: ListData,\n digest?: string\n) {\n const formDigestValue =\n digest || (await fetchDigest(context.instance, context.baseURL));\n\n const metadataType = await resolveMetadataType(context);\n const payload = {\n ...data,\n __metadata: {\n type: metadataType,\n },\n };\n\n const url = `_api/lists/getbytitle('${context.listName}')/getItemById('${id}')`;\n\n const response = await context.instance({\n url,\n method: 'POST',\n data: JSON.stringify(payload),\n headers: {\n 'X-RequestDigest': formDigestValue,\n 'IF-MATCH': '*',\n 'X-Http-Method': 'PATCH',\n },\n });\n\n return response;\n}\n","import type { SHAREPOINT_VER, UploadFileProps } from '../../../types';\nimport { fetchDigest } from '../digest';\nimport type { RequestContext } from '../context';\n\nconst SUPPORTED_VERSION: SHAREPOINT_VER = '2013';\n\nfunction normalizeFolderPath(folderPath: string | string[]) {\n const segments = Array.isArray(folderPath)\n ? folderPath\n : folderPath.split('/').filter(Boolean);\n\n if (!segments.length) {\n return '';\n }\n\n const escapedSegments = segments.map((segment) => {\n if (!segment.trim()) {\n throw new Error('Folder path segments cannot be empty.');\n }\n\n // SharePoint expects single quotes to be doubled in OData paths.\n const sanitized = segment.replace(/'/g, \"''\");\n\n return `/Folders('${encodeURIComponent(sanitized)}')`;\n });\n\n return escapedSegments.join('');\n}\n\nexport async function uploadFile<V extends SHAREPOINT_VER = '2013'>(\n context: RequestContext<V>,\n { file, folderPath, overwrite = true }: UploadFileProps\n) {\n if (context.sharepointVersion !== SUPPORTED_VERSION) {\n throw new Error(\n 'uploadFile is only supported for SharePoint 2013 REST endpoints.'\n );\n }\n\n if (!file?.name) {\n throw new Error('A file with a valid name must be provided.');\n }\n\n let requestUrl = `_api/web/lists/getbytitle('${context.listName}')/RootFolder`;\n\n if (folderPath) {\n requestUrl += normalizeFolderPath(folderPath);\n }\n\n const encodedFileName = encodeURIComponent(file.name.replace(/'/g, \"''\"));\n requestUrl += `/Files/add(url='${encodedFileName}',overwrite=${\n overwrite ? 'true' : 'false'\n })`;\n\n const digest = await fetchDigest(context.instance, context.baseURL);\n\n const response = await context.instance.post(requestUrl, file, {\n headers: {\n 'Content-Type': file.type || 'application/octet-stream',\n 'X-RequestDigest': digest,\n },\n withCredentials: true,\n });\n\n return response;\n}\n","import type { AxiosResponse } from 'axios';\nimport type { EmailProps } from '../../types';\nimport { fetchDigest } from './digest';\nimport type { RequestContext } from './context';\n\ntype SendEmailResponse = AxiosResponse<{\n d: {\n SendEmail: null;\n };\n}>;\n\nexport async function sendEmail(\n context: RequestContext,\n { From, To, Subject, Body }: EmailProps\n): Promise<SendEmailResponse> {\n const httpRequest = '_api/SP.Utilities.Utility.SendEmail';\n\n const response = await context.instance({\n url: httpRequest,\n method: 'POST',\n headers: {\n 'X-RequestDigest': await fetchDigest(\n context.instance,\n context.baseURL\n ),\n 'X-Http-Method': 'POST',\n 'Content-Type': 'application/json;odata=verbose',\n },\n data: JSON.stringify({\n properties: {\n __metadata: {\n type: 'SP.Utilities.EmailProperties',\n },\n From,\n To: {\n results: Array.isArray(To) ? To : [To],\n },\n Body,\n Subject,\n },\n }),\n });\n\n return response;\n}\n","import type { AxiosInstance } from 'axios';\nimport type {\n PersonField,\n UserPermision,\n UserProfile,\n} from '../../types';\nimport type { RequestContext } from './context';\n\ntype RoleDefinition = {\n BasePermissions: {\n High: string;\n };\n};\n\nexport async function typeAhead(\n instance: AxiosInstance,\n input: string,\n filter?: string\n): Promise<PersonField> {\n const requestUrl = `_api/SP.UI.ApplicationPages.ClientPeoplePickerWebServiceInterface.clientPeoplePickerSearchUser`;\n\n const data = {\n queryParams: {\n __metadata: {\n type: 'SP.UI.ApplicationPages.ClientPeoplePickerQueryParameters',\n },\n AllowEmailAddresses: true,\n AllowMultipleEntities: false,\n AllUrlZones: false,\n MaximumEntitySuggestions: 10,\n PrincipalSource: 15,\n PrincipalType: 1,\n QueryString: input,\n },\n };\n\n if (filter) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (data.queryParams as any).RequiredProperties = [filter];\n }\n\n const response = await instance.post(requestUrl, JSON.stringify(data), {\n headers: {\n Accept: 'application/json; odata=verbose',\n 'Content-Type': 'application/json;odata=verbose',\n },\n });\n\n return response.data.d.ClientPeoplePickerSearchUser;\n}\n\nexport async function currentUserProperties(\n instance: AxiosInstance\n): Promise<UserProfile> {\n const requestUrl = '_api/sp.userprofiles.peoplemanager/getmyproperties';\n let profile: any = await instance.get(requestUrl);\n\n profile = profile.data.d;\n\n profile.UserProfileProperties.results.forEach(\n (prop: { Key: string; Value: string }) => {\n if (prop.Key === 'FirstName') {\n profile.FirstName = prop.Value;\n }\n if (prop.Key === 'LastName') {\n profile.LastName = prop.Value;\n }\n if (prop.Key === 'Country') {\n profile.Country = prop.Value;\n }\n if (prop.Key === 'UserName') {\n profile.UserName = prop.Value;\n }\n }\n );\n\n return profile;\n}\n\nexport async function getSiteUser(instance: AxiosInstance, searchValue: string) {\n const requestUrl = `_api/web/siteusers?&$filter=substringof('${searchValue}', Title) or substringof('${searchValue}', LoginName) or substringof('${searchValue}', Email)&$top=50&$expand=Groups`;\n const response = await instance.get(requestUrl);\n return response.data.d;\n}\n\nexport async function roleDefinitions(instance: AxiosInstance) {\n const requestUrl = `_api/Web/RoleDefinitions`;\n const response = await instance.get(requestUrl);\n return response.data.d.results as RoleDefinition[];\n}\n\nexport async function getEffectiveBasePermissions(instance: AxiosInstance) {\n const requestUrl = `_api/Web/effectiveBasePermissions`;\n const response = await instance.get(requestUrl);\n return response.data.d.EffectiveBasePermissions;\n}\n\nexport async function currentUserPermissions(\n context: RequestContext\n): Promise<UserPermision> {\n const { High } = await getEffectiveBasePermissions(context.instance);\n const definitions = await roleDefinitions(context.instance);\n\n const result = definitions.find(\n ({ BasePermissions }: RoleDefinition) => BasePermissions.High === High\n );\n\n return result as UserPermision;\n}\n","import { AxiosInstance, CreateAxiosDefaults as AxiosConfig } from 'axios';\nimport instance from './instance';\nimport {\n CreateFileProps,\n CurrentUser,\n EmailProps,\n Field_Options,\n Folder_Options,\n UploadFileProps,\n IListName,\n ItemID,\n ListData,\n Options,\n PersonField,\n SHAREPOINT_VER,\n UserPermision,\n UserProfile,\n} from '../types';\nimport { RequestContext } from './internal/context';\nimport {\n createAttachment,\n createListItem,\n deleteItem,\n getFiles,\n getListItems,\n getOnly,\n updateListItem,\n uploadFile,\n} from './internal/listRequests';\nimport { sendEmail as sendEmailRequest } from './internal/emailRequests';\nimport {\n currentUserPermissions as resolveCurrentUserPermissions,\n currentUserProperties as loadCurrentUserProperties,\n getSiteUser as fetchSiteUser,\n typeAhead,\n} from './internal/userRequests';\nimport { fetchDigest } from './internal/digest';\n\nclass HTTPSharePointRequests<\n T extends {\n LISTS: Record<string, unknown>;\n FOLDERS?: Record<string, unknown>;\n }\n> {\n private baseURL: string;\n private endpoint: string;\n private listName: string;\n private instance: AxiosInstance;\n private sharepointVersion: SHAREPOINT_VER;\n private listItemEntityTypeFullName?: string;\n\n constructor(baseURL: string, config?: AxiosConfig) {\n this.baseURL = baseURL.endsWith('/') ? baseURL : `${baseURL}/`;\n this.endpoint = '/api';\n this.listName = '';\n this.instance = instance(this.baseURL, config);\n this.sharepointVersion = '2013';\n this.listItemEntityTypeFullName = undefined;\n }\n\n private getContext<V extends SHAREPOINT_VER = '2013'>(): RequestContext<V> {\n return {\n instance: this.instance,\n baseURL: this.baseURL,\n endpoint: this.endpoint,\n listName: this.listName,\n sharepointVersion: this.sharepointVersion as V,\n listItemEntityTypeFullName: this.listItemEntityTypeFullName,\n resolveListItemEntityType: this.resolveListItemEntityTypeFullName.bind(\n this\n ),\n };\n }\n\n private async resolveListItemEntityTypeFullName(): Promise<string> {\n if (this.listItemEntityTypeFullName) {\n return this.listItemEntityTypeFullName;\n }\n\n if (!this.listName) {\n throw new Error('List name is not set.');\n }\n\n if (this.sharepointVersion !== '2013') {\n this.listItemEntityTypeFullName = `SP.Data.${this.listName}ListItem`;\n return this.listItemEntityTypeFullName;\n }\n\n const response = await this.instance.get(\n `_api/web/lists/GetByTitle('${this.listName}')?$select=ListItemEntityTypeFullName`\n );\n\n const entityType =\n response.data?.d?.ListItemEntityTypeFullName ??\n response.data?.ListItemEntityTypeFullName;\n\n if (!entityType || typeof entityType !== 'string') {\n throw new Error(\n `Unable to resolve ListItemEntityTypeFullName for list \"${this.listName}\".`\n );\n }\n\n this.listItemEntityTypeFullName = entityType;\n return this.listItemEntityTypeFullName;\n }\n\n /**\n * @deprecated Use `from` instead.\n */\n list(listName: IListName<T>) {\n this.listName = listName;\n this.endpoint = `_vti_bin/ListData.svc/${listName}`;\n this.sharepointVersion = '2010';\n this.listItemEntityTypeFullName = undefined;\n return this;\n }\n\n public readonly lists = {\n get: () => {\n this.endpoint = '_api/web/lists';\n this.sharepointVersion = '2013';\n return getListItems(this.getContext());\n },\n };\n\n public getDigest() {\n return fetchDigest(this.instance, this.baseURL);\n }\n\n public from<\n K extends Extract<keyof T['LISTS'], string>,\n V extends SHAREPOINT_VER = '2013'\n >(listName: K, sharepoint_ver?: V) {\n const version = (sharepoint_ver ?? '2013') as V;\n\n this.listName = listName;\n this.sharepointVersion = version;\n this.listItemEntityTypeFullName = undefined;\n this.endpoint =\n version === '2013'\n ? `_api/web/lists/GetByTitle('${this.listName}')/items`\n : `_vti_bin/ListData.svc/${listName}`;\n\n const getContext = () => this.getContext<V>();\n\n return {\n create: (data: ListData) => createListItem(getContext(), data),\n get: (options?: Options<T['LISTS'][K], V>) =>\n getListItems<T['LISTS'][K], V>(getContext(), options),\n update: (id: ItemID, data: ListData, digest?: string) =>\n updateListItem(getContext(), id, data, digest),\n delete: (id: ItemID) => deleteItem(getContext(), id),\n createFile: (props: CreateFileProps) =>\n createAttachment(getContext(), props),\n uploadFile: (props: UploadFileProps) => uploadFile(getContext(), props),\n fields: (options?: Field_Options<T['LISTS'][K], V>) => {\n this.endpoint = !options?.fieldName\n ? `_api/web/lists/GetByTitle('${this.listName}')/fields`\n : `_api/web/lists/GetByTitle('${this.listName}')/fields/getbytitle('${options.fieldName}')`;\n return {\n get: () =>\n getOnly<T['LISTS'][K], V>(this.instance, this.endpoint, options),\n };\n },\n };\n }\n\n public folders = {\n get: () => {\n this.endpoint = '_api/web/folders';\n this.sharepointVersion = '2013';\n getListItems(this.getContext());\n },\n };\n\n public folder(folderName?: string | string[]) {\n let filePath = ['Shared Documents'];\n\n if (folderName) {\n filePath = Array.isArray(folderName)\n ? [...filePath, ...folderName]\n : [...filePath, folderName];\n }\n\n this.endpoint = `_api/web/GetFolderByServerRelativeUrl('${filePath.join(\n '/'\n )}')`;\n this.sharepointVersion = '2013';\n\n const getContext = () => this.getContext();\n\n return {\n get: (options?: Folder_Options<any>) => {\n if (!options?.type) {\n this.endpoint += '/Files';\n } else {\n this.endpoint += `/${options.type}`;\n }\n return getFiles(getContext(), options);\n },\n };\n }\n\n public users(options?: Options<any>) {\n this.endpoint = '_api/web/SiteUserInfoList/items';\n this.sharepointVersion = '2013';\n return {\n get: () => getListItems(this.getContext(), options),\n };\n }\n\n public email = {\n send: (props: EmailProps) => {\n this.sharepointVersion = '2013';\n return sendEmailRequest(this.getContext(), props);\n },\n };\n\n public user = {\n properties: () => ({\n get: (): Promise<UserProfile> => {\n this.sharepointVersion = '2013';\n return loadCurrentUserProperties(this.instance);\n },\n }),\n searchSiteUser: (searchValue: string) => {\n this.sharepointVersion = '2013';\n return fetchSiteUser(this.instance, searchValue);\n },\n searchUser: (input: string, filter?: string): Promise<PersonField> => {\n this.sharepointVersion = '2013';\n return typeAhead(this.instance, input, filter);\n },\n current: () => {\n this.endpoint = '_api/web/currentUser';\n this.sharepointVersion = '2013';\n return {\n get: (): Promise<CurrentUser> => getOnly(this.instance, this.endpoint),\n };\n },\n currentPermission: () => ({\n get: (): Promise<UserPermision> => {\n this.sharepointVersion = '2013';\n return resolveCurrentUserPermissions(this.getContext());\n },\n }),\n };\n}\n\nexport default HTTPSharePointRequests;\n","import SHAREPOINT_REQUESTS from './root';\n\nimport type { CreateAxiosDefaults as AxiosConfig } from 'axios';\nimport type { LookupField, ChoiceField, PersonField } from './types';\n\n// Load environment variables from .env file\n\nexport default function createBase<\n T extends { LISTS: Record<string, any>; FOLDERS?: Record<string, any> } = any\n>(){\n function create({\n baseURL,\n config,\n }: {\n baseURL: string;\n config?: AxiosConfig;\n }) {\n if (!baseURL) {\n throw new Error('A valid SharePoint URL must be provided.');\n }\n return new SHAREPOINT_REQUESTS<T>(baseURL, config);\n }\n\n return {\n /**\n * @deprecated Use `create` instead.\n */\n baseURL(url: string, config?: AxiosConfig) {\n return create({ baseURL: url, config });\n },\n create,\n };\n}\n\nexport { LookupField, ChoiceField, PersonField };\n\n\n"],"names":["defaultConfig","headers","Accept","timeout","withCredentials","instance","baseURL","config","userHeaders","AxiosHeaders","toJSON","_config$headers","axios","create","_extends","fetchDigest","_x","_x2","_fetchDigest","apply","arguments","_asyncToGenerator","_regenerator","m","_callee","_response$data","response","formDigestValue","_t","w","_context","p","n","post","v","data","d","GetContextWebInformation","FormDigestValue","Error","a","console","error","resolveMetadataType","_resolveMetadataType","context","resolveListItemEntityType","listItemEntityTypeFullName","listName","createListItem","_x3","_createListItem","_callee2","listData","metadataType","payload","_t2","_t3","_t4","_t5","_context2","__metadata","type","endpoint","JSON","stringify","call","url","method","createAttachment","_createAttachment","_ref","file","itemId","requestUrl","name","deleteItem","_deleteItem","id","buildODataParams","options","orderBySeparator","expand","orderBy","limit","filter","cols","skip","params","$expand","Array","isArray","join","$top","$skip","$select","$filter","$orderby","appendParamsToUrl","baseUrl","Object","entries","forEach","_ref2","key","value","undefined","searchParams","append","String","getFiles","_getFiles","meta","URL","defaults","request","results","getListItems","_getListItems","_response$data$d$resu","_response$data2","rawData","keys","filterItem","Boolean","item","reduce","acc","map","getOnly","_getOnly","_yield$instance$get","get","updateListItem","_x4","_x5","_updateListItem","digest","SUPPORTED_VERSION","normalizeFolderPath","folderPath","segments","split","length","escapedSegments","segment","trim","sanitized","replace","encodeURIComponent","uploadFile","_uploadFile","_ref$overwrite","overwrite","encodedFileName","sharepointVersion","sendEmail","_sendEmail","From","To","Subject","Body","httpRequest","properties","typeAhead","_typeAhead","input","queryParams","AllowEmailAddresses","AllowMultipleEntities","AllUrlZones","MaximumEntitySuggestions","PrincipalSource","PrincipalType","QueryString","RequiredProperties","ClientPeoplePickerSearchUser","currentUserProperties","_currentUserProperties","profile","UserProfileProperties","prop","Key","FirstName","Value","LastName","Country","UserName","getSiteUser","_x6","_getSiteUser","_callee3","searchValue","_context3","roleDefinitions","_x7","_roleDefinitions","_callee4","_context4","getEffectiveBasePermissions","_x8","_getEffectiveBasePermissions","_callee5","_context5","EffectiveBasePermissions","currentUserPermissions","_x9","_currentUserPermissions","_callee6","_yield$getEffectiveBa","High","definitions","result","_context6","find","BasePermissions","HTTPSharePointRequests","lists","_this","getContext","folders","email","send","props","sendEmailRequest","user","loadCurrentUserProperties","searchSiteUser","fetchSiteUser","searchUser","current","currentPermission","resolveCurrentUserPermissions","endsWith","_proto","prototype","resolveListItemEntityTypeFullName","bind","_resolveListItemEntityTypeFullName","_response$data$d$List","entityType","ListItemEntityTypeFullName","list","getDigest","from","sharepoint_ver","version","_this2","update","delete","createFile","fields","fieldName","folder","folderName","filePath","concat","_this3","users","_this4","createBase","SHAREPOINT_REQUESTS"],"mappings":"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"}