@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
@@ -195,54 +195,72 @@ function _fetchDigest() {
195
195
  return _fetchDigest.apply(this, arguments);
196
196
  }
197
197
 
198
- function transformArraysToEdmStrings(data) {
199
- for (var key in data) {
200
- if (Array.isArray(data[key])) {
201
- data[key] = {
202
- __metadata: {
203
- type: 'Collection(Edm.String)'
204
- },
205
- results: data[key]
206
- };
207
- }
208
- }
198
+ function resolveMetadataType(_x) {
199
+ return _resolveMetadataType.apply(this, arguments);
209
200
  }
210
- function createListItem(_x, _x2) {
201
+ function _resolveMetadataType() {
202
+ _resolveMetadataType = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(context) {
203
+ return _regenerator().w(function (_context) {
204
+ while (1) switch (_context.n) {
205
+ case 0:
206
+ if (!context.resolveListItemEntityType) {
207
+ _context.n = 1;
208
+ break;
209
+ }
210
+ return _context.a(2, context.resolveListItemEntityType());
211
+ case 1:
212
+ if (!context.listItemEntityTypeFullName) {
213
+ _context.n = 2;
214
+ break;
215
+ }
216
+ return _context.a(2, context.listItemEntityTypeFullName);
217
+ case 2:
218
+ return _context.a(2, "SP.Data." + context.listName + "ListItem");
219
+ }
220
+ }, _callee);
221
+ }));
222
+ return _resolveMetadataType.apply(this, arguments);
223
+ }
224
+ function createListItem(_x2, _x3) {
211
225
  return _createListItem.apply(this, arguments);
212
226
  }
213
227
  function _createListItem() {
214
- _createListItem = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(context, listData) {
215
- var response, _t, _t2, _t3, _t4, _t5;
216
- return _regenerator().w(function (_context) {
217
- while (1) switch (_context.n) {
228
+ _createListItem = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(context, listData) {
229
+ var metadataType, payload, response, _t, _t2, _t3, _t4, _t5;
230
+ return _regenerator().w(function (_context2) {
231
+ while (1) switch (_context2.n) {
218
232
  case 0:
219
- transformArraysToEdmStrings(listData);
220
- listData.__metadata = {
221
- type: "SP.Data." + context.listName + "ListItem"
222
- };
233
+ _context2.n = 1;
234
+ return resolveMetadataType(context);
235
+ case 1:
236
+ metadataType = _context2.v;
237
+ payload = _extends({}, listData, {
238
+ __metadata: {
239
+ type: metadataType
240
+ }
241
+ });
223
242
  _t = context;
224
243
  _t2 = context.endpoint;
225
- _t3 = JSON.stringify(listData);
226
- _context.n = 1;
244
+ _t3 = JSON.stringify(payload);
245
+ _context2.n = 2;
227
246
  return fetchDigest(context.instance, context.baseURL);
228
- case 1:
229
- _t4 = _context.v;
247
+ case 2:
248
+ _t4 = _context2.v;
230
249
  _t5 = {
231
- 'X-RequestDigest': _t4,
232
- 'IF-MATCH': '*'
250
+ 'X-RequestDigest': _t4
233
251
  };
234
- _context.n = 2;
252
+ _context2.n = 3;
235
253
  return _t.instance.call(_t, {
236
254
  url: _t2,
237
255
  method: 'POST',
238
256
  data: _t3,
239
257
  headers: _t5
240
258
  });
241
- case 2:
242
- response = _context.v;
243
- return _context.a(2, response);
259
+ case 3:
260
+ response = _context2.v;
261
+ return _context2.a(2, response);
244
262
  }
245
- }, _callee);
263
+ }, _callee2);
246
264
  }));
247
265
  return _createListItem.apply(this, arguments);
248
266
  }
@@ -446,48 +464,145 @@ function _getOnly() {
446
464
  return _getOnly.apply(this, arguments);
447
465
  }
448
466
 
449
- function updateListItem(_x, _x2, _x3, _x4) {
450
- return _updateListItem.apply(this, arguments);
467
+ function resolveMetadataType$1(_x) {
468
+ return _resolveMetadataType$1.apply(this, arguments);
451
469
  }
452
- function _updateListItem() {
453
- _updateListItem = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(context, id, data, digest) {
454
- var formDigestValue, url, response, _t;
470
+ function _resolveMetadataType$1() {
471
+ _resolveMetadataType$1 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(context) {
455
472
  return _regenerator().w(function (_context) {
456
473
  while (1) switch (_context.n) {
474
+ case 0:
475
+ if (!context.resolveListItemEntityType) {
476
+ _context.n = 1;
477
+ break;
478
+ }
479
+ return _context.a(2, context.resolveListItemEntityType());
480
+ case 1:
481
+ if (!context.listItemEntityTypeFullName) {
482
+ _context.n = 2;
483
+ break;
484
+ }
485
+ return _context.a(2, context.listItemEntityTypeFullName);
486
+ case 2:
487
+ return _context.a(2, "SP.Data." + context.listName + "ListItem");
488
+ }
489
+ }, _callee);
490
+ }));
491
+ return _resolveMetadataType$1.apply(this, arguments);
492
+ }
493
+ function updateListItem(_x2, _x3, _x4, _x5) {
494
+ return _updateListItem.apply(this, arguments);
495
+ }
496
+ function _updateListItem() {
497
+ _updateListItem = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(context, id, data, digest) {
498
+ var formDigestValue, metadataType, payload, url, response, _t;
499
+ return _regenerator().w(function (_context2) {
500
+ while (1) switch (_context2.n) {
457
501
  case 0:
458
502
  _t = digest;
459
503
  if (_t) {
460
- _context.n = 2;
504
+ _context2.n = 2;
461
505
  break;
462
506
  }
463
- _context.n = 1;
507
+ _context2.n = 1;
464
508
  return fetchDigest(context.instance, context.baseURL);
465
509
  case 1:
466
- _t = _context.v;
510
+ _t = _context2.v;
467
511
  case 2:
468
512
  formDigestValue = _t;
469
- data.__metadata = {
470
- type: "SP.Data." + context.listName + "ListItem"
471
- };
513
+ _context2.n = 3;
514
+ return resolveMetadataType$1(context);
515
+ case 3:
516
+ metadataType = _context2.v;
517
+ payload = _extends({}, data, {
518
+ __metadata: {
519
+ type: metadataType
520
+ }
521
+ });
472
522
  url = "_api/lists/getbytitle('" + context.listName + "')/getItemById('" + id + "')";
473
- _context.n = 3;
523
+ _context2.n = 4;
474
524
  return context.instance({
475
525
  url: url,
476
526
  method: 'POST',
477
- data: JSON.stringify(data),
527
+ data: JSON.stringify(payload),
478
528
  headers: {
479
529
  'X-RequestDigest': formDigestValue,
480
530
  'IF-MATCH': '*',
481
531
  'X-Http-Method': 'PATCH'
482
532
  }
483
533
  });
534
+ case 4:
535
+ response = _context2.v;
536
+ return _context2.a(2, response);
537
+ }
538
+ }, _callee2);
539
+ }));
540
+ return _updateListItem.apply(this, arguments);
541
+ }
542
+
543
+ var SUPPORTED_VERSION = '2013';
544
+ function normalizeFolderPath(folderPath) {
545
+ var segments = Array.isArray(folderPath) ? folderPath : folderPath.split('/').filter(Boolean);
546
+ if (!segments.length) {
547
+ return '';
548
+ }
549
+ var escapedSegments = segments.map(function (segment) {
550
+ if (!segment.trim()) {
551
+ throw new Error('Folder path segments cannot be empty.');
552
+ }
553
+ // SharePoint expects single quotes to be doubled in OData paths.
554
+ var sanitized = segment.replace(/'/g, "''");
555
+ return "/Folders('" + encodeURIComponent(sanitized) + "')";
556
+ });
557
+ return escapedSegments.join('');
558
+ }
559
+ function uploadFile(_x, _x2) {
560
+ return _uploadFile.apply(this, arguments);
561
+ }
562
+ function _uploadFile() {
563
+ _uploadFile = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(context, _ref) {
564
+ var file, folderPath, _ref$overwrite, overwrite, requestUrl, encodedFileName, digest, response;
565
+ return _regenerator().w(function (_context) {
566
+ while (1) switch (_context.n) {
567
+ case 0:
568
+ file = _ref.file, folderPath = _ref.folderPath, _ref$overwrite = _ref.overwrite, overwrite = _ref$overwrite === void 0 ? true : _ref$overwrite;
569
+ if (!(context.sharepointVersion !== SUPPORTED_VERSION)) {
570
+ _context.n = 1;
571
+ break;
572
+ }
573
+ throw new Error('uploadFile is only supported for SharePoint 2013 REST endpoints.');
574
+ case 1:
575
+ if (file != null && file.name) {
576
+ _context.n = 2;
577
+ break;
578
+ }
579
+ throw new Error('A file with a valid name must be provided.');
580
+ case 2:
581
+ requestUrl = "_api/web/lists/getbytitle('" + context.listName + "')/RootFolder";
582
+ if (folderPath) {
583
+ requestUrl += normalizeFolderPath(folderPath);
584
+ }
585
+ encodedFileName = encodeURIComponent(file.name.replace(/'/g, "''"));
586
+ requestUrl += "/Files/add(url='" + encodedFileName + "',overwrite=" + (overwrite ? 'true' : 'false') + ")";
587
+ _context.n = 3;
588
+ return fetchDigest(context.instance, context.baseURL);
484
589
  case 3:
590
+ digest = _context.v;
591
+ _context.n = 4;
592
+ return context.instance.post(requestUrl, file, {
593
+ headers: {
594
+ 'Content-Type': file.type || 'application/octet-stream',
595
+ 'X-RequestDigest': digest
596
+ },
597
+ withCredentials: true
598
+ });
599
+ case 4:
485
600
  response = _context.v;
486
601
  return _context.a(2, response);
487
602
  }
488
603
  }, _callee);
489
604
  }));
490
- return _updateListItem.apply(this, arguments);
605
+ return _uploadFile.apply(this, arguments);
491
606
  }
492
607
 
493
608
  function sendEmail(_x, _x2) {
@@ -711,6 +826,12 @@ function _currentUserPermissions() {
711
826
  var HTTPSharePointRequests = /*#__PURE__*/function () {
712
827
  function HTTPSharePointRequests(baseURL, config) {
713
828
  var _this = this;
829
+ this.baseURL = void 0;
830
+ this.endpoint = void 0;
831
+ this.listName = void 0;
832
+ this.instance = void 0;
833
+ this.sharepointVersion = void 0;
834
+ this.listItemEntityTypeFullName = void 0;
714
835
  this.lists = {
715
836
  get: function get() {
716
837
  _this.endpoint = '_api/web/lists';
@@ -771,6 +892,7 @@ var HTTPSharePointRequests = /*#__PURE__*/function () {
771
892
  this.listName = '';
772
893
  this.instance = instance(this.baseURL, config);
773
894
  this.sharepointVersion = '2013';
895
+ this.listItemEntityTypeFullName = undefined;
774
896
  }
775
897
  var _proto = HTTPSharePointRequests.prototype;
776
898
  _proto.getContext = function getContext() {
@@ -779,23 +901,78 @@ var HTTPSharePointRequests = /*#__PURE__*/function () {
779
901
  baseURL: this.baseURL,
780
902
  endpoint: this.endpoint,
781
903
  listName: this.listName,
782
- sharepointVersion: this.sharepointVersion
904
+ sharepointVersion: this.sharepointVersion,
905
+ listItemEntityTypeFullName: this.listItemEntityTypeFullName,
906
+ resolveListItemEntityType: this.resolveListItemEntityTypeFullName.bind(this)
783
907
  };
784
- }
785
- /**
786
- * @deprecated Use `from` instead.
787
- */;
908
+ };
909
+ _proto.resolveListItemEntityTypeFullName = /*#__PURE__*/function () {
910
+ var _resolveListItemEntityTypeFullName = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
911
+ var _response$data$d$List, _response$data, _response$data2;
912
+ var response, entityType;
913
+ return _regenerator().w(function (_context) {
914
+ while (1) switch (_context.n) {
915
+ case 0:
916
+ if (!this.listItemEntityTypeFullName) {
917
+ _context.n = 1;
918
+ break;
919
+ }
920
+ return _context.a(2, this.listItemEntityTypeFullName);
921
+ case 1:
922
+ if (this.listName) {
923
+ _context.n = 2;
924
+ break;
925
+ }
926
+ throw new Error('List name is not set.');
927
+ case 2:
928
+ if (!(this.sharepointVersion !== '2013')) {
929
+ _context.n = 3;
930
+ break;
931
+ }
932
+ this.listItemEntityTypeFullName = "SP.Data." + this.listName + "ListItem";
933
+ return _context.a(2, this.listItemEntityTypeFullName);
934
+ case 3:
935
+ _context.n = 4;
936
+ return this.instance.get("_api/web/lists/GetByTitle('" + this.listName + "')?$select=ListItemEntityTypeFullName");
937
+ case 4:
938
+ response = _context.v;
939
+ 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;
940
+ if (!(!entityType || typeof entityType !== 'string')) {
941
+ _context.n = 5;
942
+ break;
943
+ }
944
+ throw new Error("Unable to resolve ListItemEntityTypeFullName for list \"" + this.listName + "\".");
945
+ case 5:
946
+ this.listItemEntityTypeFullName = entityType;
947
+ return _context.a(2, this.listItemEntityTypeFullName);
948
+ }
949
+ }, _callee, this);
950
+ }));
951
+ function resolveListItemEntityTypeFullName() {
952
+ return _resolveListItemEntityTypeFullName.apply(this, arguments);
953
+ }
954
+ return resolveListItemEntityTypeFullName;
955
+ }()
956
+ /**
957
+ * @deprecated Use `from` instead.
958
+ */
959
+ ;
788
960
  _proto.list = function list(listName) {
789
961
  this.listName = listName;
790
962
  this.endpoint = "_vti_bin/ListData.svc/" + listName;
791
963
  this.sharepointVersion = '2010';
964
+ this.listItemEntityTypeFullName = undefined;
792
965
  return this;
793
966
  };
967
+ _proto.getDigest = function getDigest() {
968
+ return fetchDigest(this.instance, this.baseURL);
969
+ };
794
970
  _proto.from = function from(listName, sharepoint_ver) {
795
971
  var _this2 = this;
796
972
  var version = sharepoint_ver != null ? sharepoint_ver : '2013';
797
973
  this.listName = listName;
798
974
  this.sharepointVersion = version;
975
+ this.listItemEntityTypeFullName = undefined;
799
976
  this.endpoint = version === '2013' ? "_api/web/lists/GetByTitle('" + this.listName + "')/items" : "_vti_bin/ListData.svc/" + listName;
800
977
  var getContext = function getContext() {
801
978
  return _this2.getContext();
@@ -816,6 +993,9 @@ var HTTPSharePointRequests = /*#__PURE__*/function () {
816
993
  createFile: function createFile(props) {
817
994
  return createAttachment(getContext(), props);
818
995
  },
996
+ uploadFile: function uploadFile$1(props) {
997
+ return uploadFile(getContext(), props);
998
+ },
819
999
  fields: function fields(options) {
820
1000
  _this2.endpoint = !(options != null && options.fieldName) ? "_api/web/lists/GetByTitle('" + _this2.listName + "')/fields" : "_api/web/lists/GetByTitle('" + _this2.listName + "')/fields/getbytitle('" + options.fieldName + "')";
821
1001
  return {
@@ -872,8 +1052,8 @@ function createBase() {
872
1052
  return new HTTPSharePointRequests(baseURL, config);
873
1053
  }
874
1054
  return {
875
- /**
876
- * @deprecated Use `create` instead.
1055
+ /**
1056
+ * @deprecated Use `create` instead.
877
1057
  */
878
1058
  baseURL: function baseURL(url, config) {
879
1059
  return create({
@@ -1 +1 @@
1
- {"version":3,"file":"sharepoint_requests.esm.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,YAAY,GACnCF,MAAM,CAACN,OAAO,CAACS,MAAM,EAAE,IAAAC,eAAA,GACvBJ,MAAM,oBAANA,MAAM,CAAEN,OAAO,YAAAU,eAAA,GAAI,EAAE;EAE3B,OAAOC,KAAK,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.esm.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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"}