microsoft-graph 2.7.0 → 2.7.2

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 (188) hide show
  1. package/dist/cjs/errors/BadTemplateError.js +4 -1
  2. package/dist/cjs/errors/ContextNotRegisteredError.js +4 -1
  3. package/dist/cjs/errors/EnvironmentVariableMissingError.js +4 -1
  4. package/dist/cjs/errors/InconsistentContextError.js +4 -1
  5. package/dist/cjs/errors/InvalidArgumentError.js +4 -1
  6. package/dist/cjs/errors/NeverError.js +4 -1
  7. package/dist/cjs/errors/NotFoundError.js +4 -1
  8. package/dist/cjs/errors/NotImplementedError.js +4 -1
  9. package/dist/cjs/errors/ProtocolError.js +4 -1
  10. package/dist/cjs/errors/RequestFailedError.js +4 -1
  11. package/dist/cjs/errors/UnsupportedAddressTypeError.js +4 -1
  12. package/dist/cjs/graphApi.js +52 -43
  13. package/dist/cjs/index.d.ts +0 -1
  14. package/dist/cjs/index.js +1 -1
  15. package/dist/cjs/models/AccessToken.js +2 -1
  16. package/dist/cjs/models/Address.js +2 -1
  17. package/dist/cjs/models/CellRangeValues.js +2 -1
  18. package/dist/cjs/models/CellValue.js +2 -1
  19. package/dist/cjs/models/ClientId.js +2 -1
  20. package/dist/cjs/models/ClientSecret.js +2 -1
  21. package/dist/cjs/models/ColumnOffset.js +2 -1
  22. package/dist/cjs/models/Context.js +2 -1
  23. package/dist/cjs/models/ContextId.js +2 -1
  24. package/dist/cjs/models/ContextRef.js +2 -1
  25. package/dist/cjs/models/DriveId.js +2 -1
  26. package/dist/cjs/models/DriveItemId.js +2 -1
  27. package/dist/cjs/models/DriveItemPath.js +2 -1
  28. package/dist/cjs/models/DriveItemRef.js +2 -1
  29. package/dist/cjs/models/DriveRef.js +2 -1
  30. package/dist/cjs/models/GraphOperation.js +2 -1
  31. package/dist/cjs/models/GraphOperationDefinition.js +2 -1
  32. package/dist/cjs/models/HostName.js +2 -1
  33. package/dist/cjs/models/HttpProxy.js +2 -1
  34. package/dist/cjs/models/RowOffset.js +2 -1
  35. package/dist/cjs/models/RowRangeValues.js +2 -1
  36. package/dist/cjs/models/Scope.js +2 -1
  37. package/dist/cjs/models/SiteId.js +2 -1
  38. package/dist/cjs/models/SiteName.js +2 -1
  39. package/dist/cjs/models/SiteRef.js +2 -1
  40. package/dist/cjs/models/TenantId.js +2 -1
  41. package/dist/cjs/models/WorkbookNamedRangeRef.js +2 -1
  42. package/dist/cjs/models/WorkbookRangeName.js +2 -1
  43. package/dist/cjs/models/WorkbookRangeRef.js +2 -1
  44. package/dist/cjs/models/WorkbookRef.js +2 -1
  45. package/dist/cjs/models/WorkbookSessionId.js +2 -1
  46. package/dist/cjs/models/WorkbookTableColumnRef.js +2 -1
  47. package/dist/cjs/models/WorkbookTableId.js +2 -1
  48. package/dist/cjs/models/WorkbookTableRef.js +2 -1
  49. package/dist/cjs/models/WorkbookWorksheetId.js +2 -1
  50. package/dist/cjs/models/WorkbookWorksheetName.js +2 -1
  51. package/dist/cjs/models/WorkbookWorksheetRef.js +2 -1
  52. package/dist/cjs/operations/drive/createFolder.js +10 -7
  53. package/dist/cjs/operations/drive/createFolder.test.js +25 -20
  54. package/dist/cjs/operations/drive/listDrives.js +10 -7
  55. package/dist/cjs/operations/drive/listDrives.test.js +13 -8
  56. package/dist/cjs/operations/driveItem/deleteDriveItem.js +8 -5
  57. package/dist/cjs/operations/driveItem/deleteDriveItem.test.js +20 -15
  58. package/dist/cjs/operations/driveItem/getDriveItem.js +8 -5
  59. package/dist/cjs/operations/driveItem/getDriveItem.test.js +22 -17
  60. package/dist/cjs/operations/driveItem/getDriveItemByPath.js +10 -7
  61. package/dist/cjs/operations/driveItem/getDriveItemByPath.test.js +24 -19
  62. package/dist/cjs/operations/driveItem/getDriveItemContent.js +18 -12
  63. package/dist/cjs/operations/driveItem/getDriveItemContent.test.js +31 -26
  64. package/dist/cjs/operations/driveItem/initiateCopyDriveItem.js +8 -5
  65. package/dist/cjs/operations/driveItem/initiateCopyDriveItem.test.js +26 -21
  66. package/dist/cjs/operations/driveItem/listDriveItems.js +10 -7
  67. package/dist/cjs/operations/driveItem/listDriveItems.test.js +22 -17
  68. package/dist/cjs/operations/site/getSite.js +8 -5
  69. package/dist/cjs/operations/site/getSite.test.js +14 -9
  70. package/dist/cjs/operations/site/getSiteByName.js +10 -7
  71. package/dist/cjs/operations/site/getSiteByName.test.js +16 -11
  72. package/dist/cjs/operations/site/listSites.js +10 -7
  73. package/dist/cjs/operations/site/listSites.test.js +14 -9
  74. package/dist/cjs/operations/site/searchSites.js +10 -7
  75. package/dist/cjs/operations/site/searchSites.test.js +18 -13
  76. package/dist/cjs/operations/user/userSendMail.js +11 -5
  77. package/dist/cjs/operations/workbook/calculateWorkbook.js +10 -6
  78. package/dist/cjs/operations/workbook/calculateWorkbook.test.js +34 -29
  79. package/dist/cjs/operations/workbook/createWorkbook.js +16 -10
  80. package/dist/cjs/operations/workbook/createWorkbook.test.js +18 -13
  81. package/dist/cjs/operations/workbook/deleteWorkbook.js +9 -3
  82. package/dist/cjs/operations/workbookRange/clearWorkbookRange.js +8 -5
  83. package/dist/cjs/operations/workbookRange/clearWorkbookRange.test.js +43 -38
  84. package/dist/cjs/operations/workbookRange/deleteWorkbookRange.js +8 -5
  85. package/dist/cjs/operations/workbookRange/deleteWorkbookRange.test.js +43 -38
  86. package/dist/cjs/operations/workbookRange/getWorkbookNamedRange.js +8 -5
  87. package/dist/cjs/operations/workbookRange/getWorkbookRangeFormat.js +8 -5
  88. package/dist/cjs/operations/workbookRange/getWorkbookRangeFormat.test.js +27 -22
  89. package/dist/cjs/operations/workbookRange/getWorkbookUsedRange.js +15 -9
  90. package/dist/cjs/operations/workbookRange/getWorkbookVisibleRange.js +8 -5
  91. package/dist/cjs/operations/workbookRange/getWorkbookVisibleRange.test.js +67 -62
  92. package/dist/cjs/operations/workbookRange/getWorkbookWorksheetRange.js +8 -5
  93. package/dist/cjs/operations/workbookRange/getWorkbookWorksheetRange.test.js +25 -20
  94. package/dist/cjs/operations/workbookRange/insertWorkbookCells.js +15 -9
  95. package/dist/cjs/operations/workbookRange/insertWorkbookCells.test.js +30 -25
  96. package/dist/cjs/operations/workbookRange/updateWorkbookNamedRange.js +8 -5
  97. package/dist/cjs/operations/workbookRange/updateWorkbookRange.js +8 -5
  98. package/dist/cjs/operations/workbookRange/updateWorkbookRange.test.js +41 -36
  99. package/dist/cjs/operations/workbookSession/closeWorkbookSession.js +13 -7
  100. package/dist/cjs/operations/workbookSession/createWorkbookSession.js +8 -5
  101. package/dist/cjs/operations/workbookSession/refreshWorkbookSession.js +13 -7
  102. package/dist/cjs/operations/workbookTable/applyWorkbookTableColulmnFilter.test.js +34 -29
  103. package/dist/cjs/operations/workbookTable/applyWorkbookTableColumnFilter.js +8 -5
  104. package/dist/cjs/operations/workbookTable/clearWorkbookTableFilters.js +8 -5
  105. package/dist/cjs/operations/workbookTable/clearWorkbookTableFilters.test.js +36 -31
  106. package/dist/cjs/operations/workbookTable/createWorkbookTable.js +10 -7
  107. package/dist/cjs/operations/workbookTable/createWorkbookTable.test.js +24 -19
  108. package/dist/cjs/operations/workbookTable/deleteWorkbookTable.js +8 -5
  109. package/dist/cjs/operations/workbookTable/deleteWorkbookTable.test.js +34 -29
  110. package/dist/cjs/operations/workbookTable/deleteWorkbookTablePreservingValues.js +8 -5
  111. package/dist/cjs/operations/workbookTable/deleteWorkbookTablePreservingValues.test.js +34 -29
  112. package/dist/cjs/operations/workbookTable/getWorkbookTable.js +8 -5
  113. package/dist/cjs/operations/workbookTable/getWorkbookTable.test.js +29 -24
  114. package/dist/cjs/operations/workbookTable/getWorkbookTableBodyRange.js +15 -9
  115. package/dist/cjs/operations/workbookTable/getWorkbookTableBodyRange.test.js +33 -28
  116. package/dist/cjs/operations/workbookTable/getWorkbookTableBodyVisibleRange.js +10 -7
  117. package/dist/cjs/operations/workbookTable/getWorkbookTableBodyVisibleRange.test.js +34 -29
  118. package/dist/cjs/operations/workbookTable/getWorkbookTableHeaderRange.js +15 -9
  119. package/dist/cjs/operations/workbookTable/getWorkbookTableHeaderRange.test.js +33 -28
  120. package/dist/cjs/operations/workbookTable/listWorkbookTableColumns.js +8 -5
  121. package/dist/cjs/operations/workbookTable/listWorkbookTableColumns.test.js +28 -23
  122. package/dist/cjs/operations/workbookTable/listWorkbookTableRows.js +8 -5
  123. package/dist/cjs/operations/workbookTable/listWorkbookTableRows.test.js +28 -23
  124. package/dist/cjs/operations/workbookTable/listWorkbookTables.js +10 -7
  125. package/dist/cjs/operations/workbookTable/listWorkbookTables.test.js +29 -24
  126. package/dist/cjs/operations/workbookWorksheet/createWorkbookWorksheet.js +10 -7
  127. package/dist/cjs/operations/workbookWorksheet/createWorkbookWorksheet.test.js +29 -24
  128. package/dist/cjs/operations/workbookWorksheet/deleteWorkbookWorksheet.js +8 -5
  129. package/dist/cjs/operations/workbookWorksheet/deleteWorkbookWorksheet.test.js +27 -22
  130. package/dist/cjs/operations/workbookWorksheet/getWorkbookWorksheetUsedRange.js +15 -9
  131. package/dist/cjs/operations/workbookWorksheet/getWorkbookWorksheetUsedRange.test.js +41 -36
  132. package/dist/cjs/operations/workbookWorksheet/getWorkbookWorksheetUsedVisibleRange.js +10 -7
  133. package/dist/cjs/operations/workbookWorksheet/getWorkbookWorksheetUsedVisibleRange.test.js +31 -26
  134. package/dist/cjs/operations/workbookWorksheet/listWorkbookWorksheets.js +15 -9
  135. package/dist/cjs/operations/workbookWorksheet/listWorkbookWorksheets.test.js +37 -32
  136. package/dist/cjs/operations/workbookWorksheet/updateWorkbookWorksheet.js +8 -5
  137. package/dist/cjs/operations/workbookWorksheet/updateWorkbookWorksheet.test.js +36 -31
  138. package/dist/cjs/package.json +3 -0
  139. package/dist/cjs/services/accessToken.js +6 -3
  140. package/dist/cjs/services/addressManipulation.js +64 -41
  141. package/dist/cjs/services/addressManipulation.test.js +239 -234
  142. package/dist/cjs/services/addressOffset.js +10 -4
  143. package/dist/cjs/services/addressOffset.test.js +32 -30
  144. package/dist/cjs/services/context.js +20 -12
  145. package/dist/cjs/services/drive.js +22 -15
  146. package/dist/cjs/services/driveItem.js +21 -13
  147. package/dist/cjs/services/driveItem.test.js +13 -8
  148. package/dist/cjs/services/environmentVariable.js +11 -4
  149. package/dist/cjs/services/httpAgent.js +6 -3
  150. package/dist/cjs/services/httpStatus.js +8 -3
  151. package/dist/cjs/services/operationId.js +6 -2
  152. package/dist/cjs/services/random.js +6 -3
  153. package/dist/cjs/services/sharepointUrl.js +11 -5
  154. package/dist/cjs/services/sharepointUrl.test.js +7 -5
  155. package/dist/cjs/services/site.js +15 -8
  156. package/dist/cjs/services/sleep.js +4 -1
  157. package/dist/cjs/services/stringCaseConversion.js +4 -1
  158. package/dist/cjs/services/stringCaseConversion.test.js +13 -11
  159. package/dist/cjs/services/templatedPaths.js +13 -7
  160. package/dist/cjs/services/templatedPaths.test.js +29 -24
  161. package/dist/cjs/services/temporaryFiles.js +6 -3
  162. package/dist/cjs/services/workbookRange.js +4 -1
  163. package/dist/cjs/services/workbookTable.js +4 -1
  164. package/dist/cjs/services/workbookTableColumn.js +4 -1
  165. package/dist/cjs/services/workbookWorksheet.js +9 -4
  166. package/dist/cjs/tasks/createWorkbookAndStartSession.js +11 -5
  167. package/dist/cjs/tasks/deleteDriveItemWithRetry.js +12 -6
  168. package/dist/cjs/tasks/downloadDriveItemContent.js +11 -5
  169. package/dist/cjs/tasks/getRangeLastUsedCell.js +17 -11
  170. package/dist/cjs/tasks/getRangeLastUsedCell.test.js +56 -51
  171. package/dist/cjs/tasks/getWorkbookTableVisibleBody.js +11 -5
  172. package/dist/cjs/tasks/getWorkbookWorksheetByName.js +11 -5
  173. package/dist/cjs/tasks/iterateWorkbookRangeValues.js +22 -16
  174. package/dist/cjs/tasks/iterateWorkbookRangeValues.test.js +41 -36
  175. package/dist/cjs/tasks/safeDeleteWorkbook.js +11 -5
  176. package/dist/cjs/tasks/setColumnHidden.js +12 -6
  177. package/dist/cjs/tasks/setColumnHidden.test.js +46 -41
  178. package/dist/cjs/tasks/setRowHidden.js +12 -6
  179. package/dist/cjs/tasks/setRowHidden.test.js +46 -41
  180. package/dist/cjs/tasks/setWorkbookRangeValues.js +15 -9
  181. package/dist/cjs/tasks/setWorkbookRangeValues.test.js +29 -24
  182. package/dist/cjs/tasks/setWorkbookTableBodyVisibleRows.js +23 -17
  183. package/dist/cjs/tasks/setWorkbookTableBodyVisibleRows.test.js +50 -45
  184. package/dist/cjs/tasks/tryDeleteDriveItem.js +9 -3
  185. package/dist/esm/package.json +3 -0
  186. package/package.json +655 -2
  187. package/tsconfig.cjs.json +4 -3
  188. package/update-exports.ts +47 -13
@@ -1,5 +1,11 @@
1
- import BadTemplateError from "../errors/BadTemplateError.js";
2
- import { kebabToCamelCase } from "./stringCaseConversion.js";
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.generatePath = generatePath;
7
+ const BadTemplateError_ts_1 = __importDefault(require("../errors/BadTemplateError.js"));
8
+ const stringCaseConversion_ts_1 = require("./stringCaseConversion.js");
3
9
  const argumentPattern = /\{([a-z-]+)\}/g;
4
10
  /**
5
11
  * Generates a HTTP path based on a template and arguments. Arguments are automatically escaped.
@@ -8,18 +14,18 @@ const argumentPattern = /\{([a-z-]+)\}/g;
8
14
  * @returns The generated Graph API path.
9
15
  * @throws BadTemplateError if the template is invalid or required arguments are missing.
10
16
  */
11
- export function generatePath(template, args) {
17
+ function generatePath(template, args) {
12
18
  if (!template.startsWith("/")) {
13
- throw new BadTemplateError(`Path template '${template}' must start with a slash.`);
19
+ throw new BadTemplateError_ts_1.default(`Path template '${template}' must start with a slash.`);
14
20
  }
15
21
  if (template.includes("\n")) {
16
- throw new BadTemplateError("Path template must not contain newlines.");
22
+ throw new BadTemplateError_ts_1.default("Path template must not contain newlines.");
17
23
  }
18
24
  return template.replace(argumentPattern, (_, match) => {
19
- const camelCaseKey = kebabToCamelCase(match);
25
+ const camelCaseKey = (0, stringCaseConversion_ts_1.kebabToCamelCase)(match);
20
26
  const value = args[camelCaseKey];
21
27
  if (value === undefined) {
22
- throw new BadTemplateError(`Path template references argument '${camelCaseKey}' however no such argument provided.`);
28
+ throw new BadTemplateError_ts_1.default(`Path template references argument '${camelCaseKey}' however no such argument provided.`);
23
29
  }
24
30
  return encodeURIComponent(value);
25
31
  });
@@ -1,49 +1,54 @@
1
- import { describe, expect, it } from "vitest";
2
- import BadTemplateError from "../errors/BadTemplateError.js";
3
- import { generatePath } from "./templatedPaths.js";
4
- describe("generatePath", () => {
5
- it("should generate a valid path with correct arguments", () => {
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const vitest_1 = require("vitest");
7
+ const BadTemplateError_ts_1 = __importDefault(require("../errors/BadTemplateError.js"));
8
+ const templatedPaths_ts_1 = require("./templatedPaths.js");
9
+ (0, vitest_1.describe)("generatePath", () => {
10
+ (0, vitest_1.it)("should generate a valid path with correct arguments", () => {
6
11
  const template = "/me/drive/items/{item-id}/children";
7
12
  const args = { itemId: "123" };
8
- const result = generatePath(template, args);
9
- expect(result).toBe("/me/drive/items/123/children");
13
+ const result = (0, templatedPaths_ts_1.generatePath)(template, args);
14
+ (0, vitest_1.expect)(result).toBe("/me/drive/items/123/children");
10
15
  });
11
- it("should throw BadTemplateError if template does not start with a slash", () => {
16
+ (0, vitest_1.it)("should throw BadTemplateError if template does not start with a slash", () => {
12
17
  const template = "me/drive/items/{item-id}/children";
13
18
  const args = { itemId: "123" };
14
- expect(() => generatePath(template, args)).toThrow(BadTemplateError);
19
+ (0, vitest_1.expect)(() => (0, templatedPaths_ts_1.generatePath)(template, args)).toThrow(BadTemplateError_ts_1.default);
15
20
  });
16
- it("should throw BadTemplateError if template contains newlines", () => {
21
+ (0, vitest_1.it)("should throw BadTemplateError if template contains newlines", () => {
17
22
  const template = "/me/drive/items/{item-id}/children\n";
18
23
  const args = { itemId: "123" };
19
- expect(() => generatePath(template, args)).toThrow(BadTemplateError);
24
+ (0, vitest_1.expect)(() => (0, templatedPaths_ts_1.generatePath)(template, args)).toThrow(BadTemplateError_ts_1.default);
20
25
  });
21
- it("should throw BadTemplateError if argument is missing", () => {
26
+ (0, vitest_1.it)("should throw BadTemplateError if argument is missing", () => {
22
27
  const template = "/me/drive/items/{item-id}/children";
23
28
  const args = {};
24
- expect(() => generatePath(template, args)).toThrow(BadTemplateError);
29
+ (0, vitest_1.expect)(() => (0, templatedPaths_ts_1.generatePath)(template, args)).toThrow(BadTemplateError_ts_1.default);
25
30
  });
26
- it("should encode URI components", () => {
31
+ (0, vitest_1.it)("should encode URI components", () => {
27
32
  const template = "/me/drive/items/{item-id}/children";
28
33
  const args = { itemId: "item name with spaces" };
29
- const result = generatePath(template, args);
30
- expect(result).toBe("/me/drive/items/item%20name%20with%20spaces/children");
34
+ const result = (0, templatedPaths_ts_1.generatePath)(template, args);
35
+ (0, vitest_1.expect)(result).toBe("/me/drive/items/item%20name%20with%20spaces/children");
31
36
  });
32
- it("should generate a valid path when the same argument is used twice", () => {
37
+ (0, vitest_1.it)("should generate a valid path when the same argument is used twice", () => {
33
38
  const template = "/me/drive/items/{item-id}/children/{item-id}";
34
39
  const args = { itemId: "123" };
35
- const result = generatePath(template, args);
36
- expect(result).toBe("/me/drive/items/123/children/123");
40
+ const result = (0, templatedPaths_ts_1.generatePath)(template, args);
41
+ (0, vitest_1.expect)(result).toBe("/me/drive/items/123/children/123");
37
42
  });
38
- it("should throw BadTemplateError if template has an argument that is not matched", () => {
43
+ (0, vitest_1.it)("should throw BadTemplateError if template has an argument that is not matched", () => {
39
44
  const template = "/me/drive/items/{item-id}/children/{child-id}";
40
45
  const args = { itemId: "123" };
41
- expect(() => generatePath(template, args)).toThrow(BadTemplateError);
46
+ (0, vitest_1.expect)(() => (0, templatedPaths_ts_1.generatePath)(template, args)).toThrow(BadTemplateError_ts_1.default);
42
47
  });
43
- it("should generate a valid path with multiple arguments", () => {
48
+ (0, vitest_1.it)("should generate a valid path with multiple arguments", () => {
44
49
  const template = "/users/{user-id}/messages/{message-id}/attachments/{attachment-id}";
45
50
  const args = { userId: "user123", messageId: "msg456", attachmentId: "att789" };
46
- const result = generatePath(template, args);
47
- expect(result).toBe("/users/user123/messages/msg456/attachments/att789");
51
+ const result = (0, templatedPaths_ts_1.generatePath)(template, args);
52
+ (0, vitest_1.expect)(result).toBe("/users/user123/messages/msg456/attachments/att789");
48
53
  });
49
54
  });
@@ -1,10 +1,13 @@
1
- import { generateRandomString } from "./random.js";
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateTempFileName = generateTempFileName;
4
+ const random_ts_1 = require("./random.js");
2
5
  /**
3
6
  * Generates a temporary file name with the specified extension.
4
7
  * @param extension - The file extension. Defaults to "tmp".
5
8
  * @returns A temporary file name.
6
9
  */
7
- export function generateTempFileName(extension = "tmp") {
8
- const body = generateRandomString(16);
10
+ function generateTempFileName(extension = "tmp") {
11
+ const body = (0, random_ts_1.generateRandomString)(16);
9
12
  return `~${body}.${extension}`;
10
13
  }
@@ -1,10 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createWorkbookRangeRef = createWorkbookRangeRef;
1
4
  /**
2
5
  * Creates a reference to a workbook range.
3
6
  * @param worksheetRef - The reference to the worksheet containing the range.
4
7
  * @param address - The address of the range.
5
8
  * @returns A reference to the workbook range.
6
9
  */
7
- export function createWorkbookRangeRef(worksheetRef, address) {
10
+ function createWorkbookRangeRef(worksheetRef, address) {
8
11
  return {
9
12
  contextId: worksheetRef.contextId,
10
13
  siteId: worksheetRef.siteId,
@@ -1,3 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createWorkbookTableRef = createWorkbookTableRef;
1
4
  /**
2
5
  * Creates a reference to a workbook table.
3
6
  * @param worksheetRef - The reference to the worksheet containing the table.
@@ -5,7 +8,7 @@
5
8
  * @returns A reference to the workbook table.
6
9
  * @throws Error if the table ID is missing.
7
10
  */
8
- export function createWorkbookTableRef(worksheetRef, tableId) {
11
+ function createWorkbookTableRef(worksheetRef, tableId) {
9
12
  if (!tableId) {
10
13
  throw new Error("TableId is missing");
11
14
  }
@@ -1,3 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createWorkbookTableColumnRef = createWorkbookTableColumnRef;
1
4
  /**
2
5
  * Creates a reference to a workbook table column.
3
6
  * @param tableRef - The reference to the worksheet containing the table.
@@ -5,7 +8,7 @@
5
8
  * @returns A reference to the workbook table.
6
9
  * @throws Error if the table ID is missing.
7
10
  */
8
- export function createWorkbookTableColumnRef(tableRef, column) {
11
+ function createWorkbookTableColumnRef(tableRef, column) {
9
12
  if (!column) {
10
13
  throw new Error("TableId is missing");
11
14
  }
@@ -1,4 +1,9 @@
1
- export const defaultWorkbookWorksheetId = "{00000000-0001-0000-0000-000000000000}"; // Program Manager in Microsoft Office Extensibility team says this ID is used for the first sheet of all workbooks by design, but not documented. https://github.com/OfficeDev/office-js/issues/552#issuecomment-800841930
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defaultWorkbookWorksheetId = void 0;
4
+ exports.createWorkbookWorksheetRef = createWorkbookWorksheetRef;
5
+ exports.createDefaultWorkbookWorksheetRef = createDefaultWorkbookWorksheetRef;
6
+ exports.defaultWorkbookWorksheetId = "{00000000-0001-0000-0000-000000000000}"; // Program Manager in Microsoft Office Extensibility team says this ID is used for the first sheet of all workbooks by design, but not documented. https://github.com/OfficeDev/office-js/issues/552#issuecomment-800841930
2
7
  /**
3
8
  * Creates a reference to a workbook worksheet.
4
9
  * @param workbookRef - The reference to the workbook.
@@ -6,7 +11,7 @@ export const defaultWorkbookWorksheetId = "{00000000-0001-0000-0000-000000000000
6
11
  * @returns A reference to the workbook worksheet.
7
12
  * @throws Error if the worksheet ID is missing.
8
13
  */
9
- export function createWorkbookWorksheetRef(workbookRef, worksheetId) {
14
+ function createWorkbookWorksheetRef(workbookRef, worksheetId) {
10
15
  if (!worksheetId) {
11
16
  throw new Error("WorksheetID is missing");
12
17
  }
@@ -24,6 +29,6 @@ export function createWorkbookWorksheetRef(workbookRef, worksheetId) {
24
29
  * @param workbookRef - The reference to the workbook.
25
30
  * @returns A reference to the default workbook worksheet.
26
31
  */
27
- export function createDefaultWorkbookWorksheetRef(workbookRef) {
28
- return createWorkbookWorksheetRef(workbookRef, defaultWorkbookWorksheetId);
32
+ function createDefaultWorkbookWorksheetRef(workbookRef) {
33
+ return createWorkbookWorksheetRef(workbookRef, exports.defaultWorkbookWorksheetId);
29
34
  }
@@ -1,5 +1,11 @@
1
- import createWorkbook from "../operations/workbook/createWorkbook.js";
2
- import createWorkbookSession from "../operations/workbookSession/createWorkbookSession.js";
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.default = createWorkbookAndStartSession;
7
+ const createWorkbook_ts_1 = __importDefault(require("../operations/workbook/createWorkbook.js"));
8
+ const createWorkbookSession_ts_1 = __importDefault(require("../operations/workbookSession/createWorkbookSession.js"));
3
9
  /**
4
10
  * Create a new workbook and open a session for that workbook in a single operation.
5
11
  *
@@ -7,9 +13,9 @@ import createWorkbookSession from "../operations/workbookSession/createWorkbookS
7
13
  * @param itemPath - The path of the new workbook within the drive.
8
14
  * @returns The created workbook and session details.
9
15
  */
10
- export default async function createWorkbookAndStartSession(driveRef, itemPath) {
11
- const workbook = await createWorkbook(driveRef, itemPath);
12
- const workbookRef = await createWorkbookSession(workbook);
16
+ async function createWorkbookAndStartSession(driveRef, itemPath) {
17
+ const workbook = await (0, createWorkbook_ts_1.default)(driveRef, itemPath);
18
+ const workbookRef = await (0, createWorkbookSession_ts_1.default)(workbook);
13
19
  return {
14
20
  ...workbook,
15
21
  ...workbookRef,
@@ -1,21 +1,27 @@
1
- import deleteDriveItem from "../operations/driveItem/deleteDriveItem.js";
2
- import { sleep } from "../services/sleep.js";
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.default = deleteDriveItemWithRetry;
7
+ const deleteDriveItem_ts_1 = __importDefault(require("../operations/driveItem/deleteDriveItem.js"));
8
+ const sleep_ts_1 = require("../services/sleep.js");
3
9
  /**
4
10
  * Delete a DriveItem, avoiding locking issues through automatic retries.
5
11
  *
6
12
  * @param driveItemRef - A reference to the DriveItem to delete.
7
13
  * @returns Void when the DriveItem is successfully deleted.
8
14
  */
9
- export default async function deleteDriveItemWithRetry(driveItemRef) {
15
+ async function deleteDriveItemWithRetry(driveItemRef) {
10
16
  const retryDelays = [1000, 2000, 4000];
11
17
  for (const delay of retryDelays) {
12
18
  try {
13
- await deleteDriveItem(driveItemRef);
19
+ await (0, deleteDriveItem_ts_1.default)(driveItemRef);
14
20
  return;
15
21
  }
16
22
  catch (_) {
17
- await sleep(delay);
23
+ await (0, sleep_ts_1.sleep)(delay);
18
24
  }
19
25
  }
20
- await deleteDriveItem(driveItemRef);
26
+ await (0, deleteDriveItem_ts_1.default)(driveItemRef);
21
27
  }
@@ -1,5 +1,11 @@
1
- import { writeFile } from "node:fs/promises";
2
- import getDriveItemContent from "../operations/driveItem/getDriveItemContent.js";
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.default = downloadDriveItemContent;
7
+ const promises_1 = require("node:fs/promises");
8
+ const getDriveItemContent_ts_1 = __importDefault(require("../operations/driveItem/getDriveItemContent.js"));
3
9
  /**
4
10
  * Download a DriveItem and save it as a local file.
5
11
  *
@@ -7,8 +13,8 @@ import getDriveItemContent from "../operations/driveItem/getDriveItemContent.js"
7
13
  * @param localFilePath - The local file path where the content should be saved.
8
14
  * @returns Void when the content is successfully downloaded and saved.
9
15
  */
10
- export default async function downloadDriveItemContent(itemRef, localFilePath) {
11
- const arrayBuffer = await getDriveItemContent(itemRef);
16
+ async function downloadDriveItemContent(itemRef, localFilePath) {
17
+ const arrayBuffer = await (0, getDriveItemContent_ts_1.default)(itemRef);
12
18
  const buffer = Buffer.from(arrayBuffer);
13
- await writeFile(localFilePath, buffer);
19
+ await (0, promises_1.writeFile)(localFilePath, buffer);
14
20
  }
@@ -1,6 +1,12 @@
1
- import ProtocolError from "../errors/ProtocolError.js";
2
- import getWorkbookWorksheetRange from "../operations/workbookRange/getWorkbookWorksheetRange.js";
3
- import { getFirstCellAddress, offsetAddress } from "../services/addressManipulation.js";
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.default = getRangeLastUsedCell;
7
+ const ProtocolError_ts_1 = __importDefault(require("../errors/ProtocolError.js"));
8
+ const getWorkbookWorksheetRange_ts_1 = __importDefault(require("../operations/workbookRange/getWorkbookWorksheetRange.js"));
9
+ const addressManipulation_ts_1 = require("../services/addressManipulation.js");
4
10
  /**
5
11
  * Get the last used cell (i.e., the most lower-right cell) in a given range.
6
12
  *
@@ -8,31 +14,31 @@ import { getFirstCellAddress, offsetAddress } from "../services/addressManipulat
8
14
  * @throws {ProtocolError} If the range's row or column counts, or values, are missing.
9
15
  * @returns The last used cell's value and address, or `null` if no cells are used.
10
16
  */
11
- export default async function getRangeLastUsedCell(rangeRef) {
17
+ async function getRangeLastUsedCell(rangeRef) {
12
18
  // TODO: Consider adding chunking if the range is too large
13
19
  // TODO: Reduce cells returned by using "used range"?
14
- const range = await getWorkbookWorksheetRange(rangeRef);
20
+ const range = await (0, getWorkbookWorksheetRange_ts_1.default)(rangeRef);
15
21
  const { rowCount, columnCount } = range;
16
22
  if (rowCount === undefined || columnCount === undefined) {
17
- throw new ProtocolError("Counts missing");
23
+ throw new ProtocolError_ts_1.default("Counts missing");
18
24
  }
19
25
  const values = range.values;
20
26
  if (values === undefined) {
21
- throw new ProtocolError("Range values missing");
27
+ throw new ProtocolError_ts_1.default("Range values missing");
22
28
  }
23
29
  for (let rowIndex = (rowCount - 1); rowIndex >= 0; rowIndex--) {
24
30
  const row = values[rowIndex];
25
31
  if (row === undefined) {
26
- throw new ProtocolError("Row missing");
32
+ throw new ProtocolError_ts_1.default("Row missing");
27
33
  }
28
34
  for (let columnIndex = (columnCount - 1); columnIndex >= 0; columnIndex--) {
29
35
  const cell = row[columnIndex];
30
36
  if (cell === undefined) {
31
- throw new ProtocolError("Cell missing");
37
+ throw new ProtocolError_ts_1.default("Cell missing");
32
38
  }
33
39
  if (cell !== null && cell !== "") {
34
- const firstCellAddress = getFirstCellAddress(rangeRef.address);
35
- const lastUsedCellAddress = offsetAddress(firstCellAddress, columnIndex, rowIndex);
40
+ const firstCellAddress = (0, addressManipulation_ts_1.getFirstCellAddress)(rangeRef.address);
41
+ const lastUsedCellAddress = (0, addressManipulation_ts_1.offsetAddress)(firstCellAddress, columnIndex, rowIndex);
36
42
  return {
37
43
  value: cell,
38
44
  address: lastUsedCellAddress,
@@ -1,85 +1,90 @@
1
- import { describe, expect, it } from "vitest";
2
- import { sequential } from "../graphApi.js";
3
- import calculateWorkbook from "../operations/workbook/calculateWorkbook.js";
4
- import createWorkbook from "../operations/workbook/createWorkbook.js";
5
- import updateWorkbookRange from "../operations/workbookRange/updateWorkbookRange.js";
6
- import { getDefaultDriveRef } from "../services/drive.js";
7
- import { driveItemPath } from "../services/driveItem.js";
8
- import { generateTempFileName } from "../services/temporaryFiles.js";
9
- import { createWorkbookRangeRef } from "../services/workbookRange.js";
10
- import { createWorkbookWorksheetRef, defaultWorkbookWorksheetId } from "../services/workbookWorksheet.js";
11
- import getRangeLastUsedCell from "./getRangeLastUsedCell.js";
12
- import tryDeleteDriveItem from "./tryDeleteDriveItem.js";
13
- describe("getRangeLastUsedCell", () => {
14
- it("should return the last used cell value", async () => {
15
- const workbookName = generateTempFileName("xlsx");
16
- const workbookPath = driveItemPath(workbookName);
17
- const driveRef = getDefaultDriveRef();
18
- const workbook = await createWorkbook(driveRef, workbookPath);
19
- const worksheetRef = createWorkbookWorksheetRef(workbook, defaultWorkbookWorksheetId);
20
- const rangeRef = createWorkbookRangeRef(worksheetRef, "A1:B2");
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const vitest_1 = require("vitest");
7
+ const graphApi_ts_1 = require("../graphApi.js");
8
+ const calculateWorkbook_ts_1 = __importDefault(require("../operations/workbook/calculateWorkbook.js"));
9
+ const createWorkbook_ts_1 = __importDefault(require("../operations/workbook/createWorkbook.js"));
10
+ const updateWorkbookRange_ts_1 = __importDefault(require("../operations/workbookRange/updateWorkbookRange.js"));
11
+ const drive_ts_1 = require("../services/drive.js");
12
+ const driveItem_ts_1 = require("../services/driveItem.js");
13
+ const temporaryFiles_ts_1 = require("../services/temporaryFiles.js");
14
+ const workbookRange_ts_1 = require("../services/workbookRange.js");
15
+ const workbookWorksheet_ts_1 = require("../services/workbookWorksheet.js");
16
+ const getRangeLastUsedCell_ts_1 = __importDefault(require("./getRangeLastUsedCell.js"));
17
+ const tryDeleteDriveItem_ts_1 = __importDefault(require("./tryDeleteDriveItem.js"));
18
+ (0, vitest_1.describe)("getRangeLastUsedCell", () => {
19
+ (0, vitest_1.it)("should return the last used cell value", async () => {
20
+ const workbookName = (0, temporaryFiles_ts_1.generateTempFileName)("xlsx");
21
+ const workbookPath = (0, driveItem_ts_1.driveItemPath)(workbookName);
22
+ const driveRef = (0, drive_ts_1.getDefaultDriveRef)();
23
+ const workbook = await (0, createWorkbook_ts_1.default)(driveRef, workbookPath);
24
+ const worksheetRef = (0, workbookWorksheet_ts_1.createWorkbookWorksheetRef)(workbook, workbookWorksheet_ts_1.defaultWorkbookWorksheetId);
25
+ const rangeRef = (0, workbookRange_ts_1.createWorkbookRangeRef)(worksheetRef, "A1:B2");
21
26
  try {
22
- await sequential(updateWorkbookRange(rangeRef, {
27
+ await (0, graphApi_ts_1.sequential)((0, updateWorkbookRange_ts_1.default)(rangeRef, {
23
28
  values: [
24
29
  [1, 2],
25
30
  [3, 4],
26
31
  ],
27
- }), calculateWorkbook(workbook));
28
- const result = await getRangeLastUsedCell(rangeRef);
32
+ }), (0, calculateWorkbook_ts_1.default)(workbook));
33
+ const result = await (0, getRangeLastUsedCell_ts_1.default)(rangeRef);
29
34
  if (result === null) {
30
35
  throw new Error("Expected a result");
31
36
  }
32
- expect(result.value).toBe(4);
33
- expect(result.address).toBe("B2");
37
+ (0, vitest_1.expect)(result.value).toBe(4);
38
+ (0, vitest_1.expect)(result.address).toBe("B2");
34
39
  }
35
40
  finally {
36
- await tryDeleteDriveItem(workbook);
41
+ await (0, tryDeleteDriveItem_ts_1.default)(workbook);
37
42
  }
38
43
  });
39
- it("should return the last non-empty cell value when the last cell is empty", async () => {
40
- const workbookName = generateTempFileName("xlsx");
41
- const workbookPath = driveItemPath(workbookName);
42
- const driveRef = getDefaultDriveRef();
43
- const workbook = await createWorkbook(driveRef, workbookPath);
44
- const worksheetRef = createWorkbookWorksheetRef(workbook, defaultWorkbookWorksheetId);
45
- const rangeRef = createWorkbookRangeRef(worksheetRef, "A1:B2");
44
+ (0, vitest_1.it)("should return the last non-empty cell value when the last cell is empty", async () => {
45
+ const workbookName = (0, temporaryFiles_ts_1.generateTempFileName)("xlsx");
46
+ const workbookPath = (0, driveItem_ts_1.driveItemPath)(workbookName);
47
+ const driveRef = (0, drive_ts_1.getDefaultDriveRef)();
48
+ const workbook = await (0, createWorkbook_ts_1.default)(driveRef, workbookPath);
49
+ const worksheetRef = (0, workbookWorksheet_ts_1.createWorkbookWorksheetRef)(workbook, workbookWorksheet_ts_1.defaultWorkbookWorksheetId);
50
+ const rangeRef = (0, workbookRange_ts_1.createWorkbookRangeRef)(worksheetRef, "A1:B2");
46
51
  try {
47
- await sequential(updateWorkbookRange(rangeRef, {
52
+ await (0, graphApi_ts_1.sequential)((0, updateWorkbookRange_ts_1.default)(rangeRef, {
48
53
  values: [
49
54
  [1, 2],
50
55
  [3, null],
51
56
  ],
52
- }), calculateWorkbook(workbook));
53
- const result = await getRangeLastUsedCell(rangeRef);
57
+ }), (0, calculateWorkbook_ts_1.default)(workbook));
58
+ const result = await (0, getRangeLastUsedCell_ts_1.default)(rangeRef);
54
59
  if (result === null) {
55
60
  throw new Error("Expected a result");
56
61
  }
57
- expect(result.value).toBe(3);
58
- expect(result.address).toBe("A2");
62
+ (0, vitest_1.expect)(result.value).toBe(3);
63
+ (0, vitest_1.expect)(result.address).toBe("A2");
59
64
  }
60
65
  finally {
61
- await tryDeleteDriveItem(workbook);
66
+ await (0, tryDeleteDriveItem_ts_1.default)(workbook);
62
67
  }
63
68
  });
64
- it("should return null when no cells are used", async () => {
65
- const workbookName = generateTempFileName("xlsx");
66
- const workbookPath = driveItemPath(workbookName);
67
- const driveRef = getDefaultDriveRef();
68
- const workbook = await createWorkbook(driveRef, workbookPath);
69
- const worksheetRef = createWorkbookWorksheetRef(workbook, defaultWorkbookWorksheetId);
70
- const rangeRef = createWorkbookRangeRef(worksheetRef, "A1:B2");
69
+ (0, vitest_1.it)("should return null when no cells are used", async () => {
70
+ const workbookName = (0, temporaryFiles_ts_1.generateTempFileName)("xlsx");
71
+ const workbookPath = (0, driveItem_ts_1.driveItemPath)(workbookName);
72
+ const driveRef = (0, drive_ts_1.getDefaultDriveRef)();
73
+ const workbook = await (0, createWorkbook_ts_1.default)(driveRef, workbookPath);
74
+ const worksheetRef = (0, workbookWorksheet_ts_1.createWorkbookWorksheetRef)(workbook, workbookWorksheet_ts_1.defaultWorkbookWorksheetId);
75
+ const rangeRef = (0, workbookRange_ts_1.createWorkbookRangeRef)(worksheetRef, "A1:B2");
71
76
  try {
72
- await sequential(updateWorkbookRange(rangeRef, {
77
+ await (0, graphApi_ts_1.sequential)((0, updateWorkbookRange_ts_1.default)(rangeRef, {
73
78
  values: [
74
79
  [null, null],
75
80
  [null, null],
76
81
  ],
77
- }), calculateWorkbook(workbook));
78
- const result = await getRangeLastUsedCell(rangeRef);
79
- expect(result).toBeNull();
82
+ }), (0, calculateWorkbook_ts_1.default)(workbook));
83
+ const result = await (0, getRangeLastUsedCell_ts_1.default)(rangeRef);
84
+ (0, vitest_1.expect)(result).toBeNull();
80
85
  }
81
86
  finally {
82
- await tryDeleteDriveItem(workbook);
87
+ await (0, tryDeleteDriveItem_ts_1.default)(workbook);
83
88
  }
84
89
  });
85
90
  });
@@ -1,8 +1,14 @@
1
- import getWorkbookVisibleRange from "../operations/workbookRange/getWorkbookVisibleRange.js";
2
- import getWorkbookTableBodyRange from "../operations/workbookTable/getWorkbookTableBodyRange.js";
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getWorkbookTableVisibleBody = getWorkbookTableVisibleBody;
7
+ const getWorkbookVisibleRange_ts_1 = __importDefault(require("../operations/workbookRange/getWorkbookVisibleRange.js"));
8
+ const getWorkbookTableBodyRange_ts_1 = __importDefault(require("../operations/workbookTable/getWorkbookTableBodyRange.js"));
3
9
  /** @deprecated Use `getWorkbookTableBodyVisibleRange` instead. */
4
- export async function getWorkbookTableVisibleBody(tableRef) {
5
- const range = await getWorkbookTableBodyRange(tableRef);
6
- const visibleRange = await getWorkbookVisibleRange(range);
10
+ async function getWorkbookTableVisibleBody(tableRef) {
11
+ const range = await (0, getWorkbookTableBodyRange_ts_1.default)(tableRef);
12
+ const visibleRange = await (0, getWorkbookVisibleRange_ts_1.default)(range);
7
13
  return visibleRange;
8
14
  }
@@ -1,5 +1,11 @@
1
- import NotFoundError from "../errors/NotFoundError.js";
2
- import listWorkbookWorksheets from "../operations/workbookWorksheet/listWorkbookWorksheets.js";
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.default = getWorkbookWorksheetByName;
7
+ const NotFoundError_ts_1 = __importDefault(require("../errors/NotFoundError.js"));
8
+ const listWorkbookWorksheets_ts_1 = __importDefault(require("../operations/workbookWorksheet/listWorkbookWorksheets.js"));
3
9
  /**
4
10
  * Get a worksheet by its name. Throws an error if not found.
5
11
  *
@@ -8,12 +14,12 @@ import listWorkbookWorksheets from "../operations/workbookWorksheet/listWorkbook
8
14
  * @throws {NotFoundError} If the worksheet with the specified name is not found.
9
15
  * @returns The worksheet details.
10
16
  */
11
- export default async function getWorkbookWorksheetByName(workbookRef, name) {
17
+ async function getWorkbookWorksheetByName(workbookRef, name) {
12
18
  // TODO: More performant to get it by a direct call without listing all workbooks?
13
- const worksheets = await listWorkbookWorksheets(workbookRef);
19
+ const worksheets = await (0, listWorkbookWorksheets_ts_1.default)(workbookRef);
14
20
  const worksheet = worksheets.find((worksheetRef) => worksheetRef.name === name);
15
21
  if (!worksheet) {
16
- throw new NotFoundError(`Worksheet '${name}' not found.`);
22
+ throw new NotFoundError_ts_1.default(`Worksheet '${name}' not found.`);
17
23
  }
18
24
  return worksheet;
19
25
  }
@@ -1,8 +1,14 @@
1
- import InvalidArgumentError from "../errors/InvalidArgumentError.js";
2
- import getWorkbookWorksheetRange from "../operations/workbookRange/getWorkbookWorksheetRange.js";
3
- import { composeAddress, decomposeAddress } from "../services/addressManipulation.js";
4
- import { columnAddressToOffset, offsetToRowAddress, rowAddressToOffset } from "../services/addressOffset.js";
5
- import { createWorkbookRangeRef } from "../services/workbookRange.js";
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.default = iterateWorkbookRangeValues;
7
+ const InvalidArgumentError_ts_1 = __importDefault(require("../errors/InvalidArgumentError.js"));
8
+ const getWorkbookWorksheetRange_ts_1 = __importDefault(require("../operations/workbookRange/getWorkbookWorksheetRange.js"));
9
+ const addressManipulation_ts_1 = require("../services/addressManipulation.js");
10
+ const addressOffset_ts_1 = require("../services/addressOffset.js");
11
+ const workbookRange_ts_1 = require("../services/workbookRange.js");
6
12
  /**
7
13
  * Maximum number of cells that can be retrieved in a single request, unless overwritten.
8
14
  * @remarks The Microsoft Graph API documentation does not specify a fixed maximum number of cells that can be retrieved in a single request.
@@ -17,29 +23,29 @@ const maxCellsPerRequest = 10_000;
17
23
  * @param overwriteRowsPerRequest - Optional. The number of rows to fetch per request. If omitted, it is automatically calculated.
18
24
  * @returns An async iterable that yields rows of range values.
19
25
  */
20
- export default async function* iterateWorkbookRangeValues(rangeRef, overwriteRowsPerRequest = null) {
26
+ async function* iterateWorkbookRangeValues(rangeRef, overwriteRowsPerRequest = null) {
21
27
  const address = rangeRef.address;
22
- const components = decomposeAddress(address);
23
- const columnsPerRow = columnAddressToOffset(components.endColumn) - columnAddressToOffset(components.startColumn) + 1;
28
+ const components = (0, addressManipulation_ts_1.decomposeAddress)(address);
29
+ const columnsPerRow = (0, addressOffset_ts_1.columnAddressToOffset)(components.endColumn) - (0, addressOffset_ts_1.columnAddressToOffset)(components.startColumn) + 1;
24
30
  if (overwriteRowsPerRequest !== null && overwriteRowsPerRequest < 1) {
25
- throw new InvalidArgumentError("overwriteRowsPerRequest must be greater than 0");
31
+ throw new InvalidArgumentError_ts_1.default("overwriteRowsPerRequest must be greater than 0");
26
32
  }
27
33
  const rowsPerRequest = overwriteRowsPerRequest ?? Math.floor(maxCellsPerRequest / columnsPerRow);
28
- const rangeStartRowOffset = rowAddressToOffset(components.startRow);
29
- const rangeEndRowOffset = rowAddressToOffset(components.endRow);
34
+ const rangeStartRowOffset = (0, addressOffset_ts_1.rowAddressToOffset)(components.startRow);
35
+ const rangeEndRowOffset = (0, addressOffset_ts_1.rowAddressToOffset)(components.endRow);
30
36
  for (let chunkRowOffset = rangeStartRowOffset; chunkRowOffset <= rangeEndRowOffset; chunkRowOffset = (chunkRowOffset + rowsPerRequest)) {
31
37
  const requestStartRowOffset = chunkRowOffset;
32
38
  const requestEndRowOffset = Math.min(chunkRowOffset + rowsPerRequest - 1, rangeEndRowOffset);
33
- const chunkStartRow = offsetToRowAddress(requestStartRowOffset);
34
- const chunkEndRow = offsetToRowAddress(requestEndRowOffset);
35
- const requestAddress = composeAddress({
39
+ const chunkStartRow = (0, addressOffset_ts_1.offsetToRowAddress)(requestStartRowOffset);
40
+ const chunkEndRow = (0, addressOffset_ts_1.offsetToRowAddress)(requestEndRowOffset);
41
+ const requestAddress = (0, addressManipulation_ts_1.composeAddress)({
36
42
  startRow: chunkStartRow,
37
43
  endRow: chunkEndRow,
38
44
  startColumn: components.startColumn,
39
45
  endColumn: components.endColumn,
40
46
  });
41
- const requestRef = createWorkbookRangeRef(rangeRef, requestAddress);
42
- const range = await getWorkbookWorksheetRange(requestRef);
47
+ const requestRef = (0, workbookRange_ts_1.createWorkbookRangeRef)(rangeRef, requestAddress);
48
+ const range = await (0, getWorkbookWorksheetRange_ts_1.default)(requestRef);
43
49
  for (const row of range.values) {
44
50
  yield row;
45
51
  }