microsoft-graph 2.2.2 → 2.2.4

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 (177) hide show
  1. package/dist/errors/NotImplementedError.d.ts +4 -0
  2. package/dist/errors/NotImplementedError.d.ts.map +1 -0
  3. package/dist/errors/NotImplementedError.js +6 -0
  4. package/dist/graphApi.js +12 -6
  5. package/dist/models/Address.d.ts +8 -0
  6. package/dist/models/Address.d.ts.map +1 -0
  7. package/dist/{microsoftGraph/models/AccessToken.js → models/Address.js} +0 -0
  8. package/dist/models/Box.d.ts +5 -0
  9. package/dist/models/Box.d.ts.map +1 -0
  10. package/dist/{microsoftGraph/models/DriveId.js → models/Box.js} +0 -0
  11. package/dist/models/Cell.d.ts +4 -0
  12. package/dist/models/Cell.d.ts.map +1 -0
  13. package/dist/{microsoftGraph/models/DriveItemId.js → models/Cell.js} +0 -0
  14. package/dist/models/Column.d.ts +2 -0
  15. package/dist/models/Column.d.ts.map +1 -0
  16. package/dist/{microsoftGraph/models/DriveItemPath.js → models/Column.js} +0 -0
  17. package/dist/models/ColumnIndex.d.ts +4 -0
  18. package/dist/models/ColumnIndex.d.ts.map +1 -0
  19. package/dist/{microsoftGraph/models/DriveItemRef.js → models/ColumnIndex.js} +0 -0
  20. package/dist/models/RangeAddress.d.ts +7 -0
  21. package/dist/models/RangeAddress.d.ts.map +1 -0
  22. package/dist/{microsoftGraph/models/DriveRef.js → models/RangeAddress.js} +0 -0
  23. package/dist/models/Row.d.ts +2 -0
  24. package/dist/models/Row.d.ts.map +1 -0
  25. package/dist/{microsoftGraph/models/GraphOperation.js → models/Row.js} +0 -0
  26. package/dist/models/RowIndex.d.ts +4 -0
  27. package/dist/models/RowIndex.d.ts.map +1 -0
  28. package/dist/{microsoftGraph/models/GraphOptions.js → models/RowIndex.js} +0 -0
  29. package/dist/models/WorkbookRangeRef.d.ts +2 -2
  30. package/dist/models/WorkbookRangeRef.d.ts.map +1 -1
  31. package/dist/operations/workbookRange/clearWorkbookRange.test.js +13 -21
  32. package/dist/operations/workbookRange/deleteWorkbookRange.test.js +13 -17
  33. package/dist/operations/workbookRange/getWorkbookRangeFormat.d.ts +6 -0
  34. package/dist/operations/workbookRange/getWorkbookRangeFormat.d.ts.map +1 -0
  35. package/dist/operations/workbookRange/getWorkbookRangeFormat.js +21 -0
  36. package/dist/operations/workbookRange/getWorkbookRangeFormat.test.d.ts +2 -0
  37. package/dist/operations/workbookRange/getWorkbookRangeFormat.test.d.ts.map +1 -0
  38. package/dist/operations/workbookRange/getWorkbookRangeFormat.test.js +33 -0
  39. package/dist/operations/workbookRange/getWorkbookUsedRange.d.ts.map +1 -1
  40. package/dist/operations/workbookRange/getWorkbookUsedRange.js +4 -0
  41. package/dist/operations/workbookRange/getWorkbookUsedRange.test.js +6 -12
  42. package/dist/operations/workbookRange/getWorkbookVisibleRange.test.js +6 -12
  43. package/dist/operations/workbookRange/getWorkbookWorksheetRange.d.ts +6 -0
  44. package/dist/operations/workbookRange/getWorkbookWorksheetRange.d.ts.map +1 -0
  45. package/dist/operations/workbookRange/getWorkbookWorksheetRange.js +21 -0
  46. package/dist/operations/workbookRange/getWorkbookWorksheetRange.test.d.ts +2 -0
  47. package/dist/operations/workbookRange/getWorkbookWorksheetRange.test.d.ts.map +1 -0
  48. package/dist/operations/workbookRange/getWorkbookWorksheetRange.test.js +32 -0
  49. package/dist/operations/workbookRange/insertWorkbookCells.d.ts +2 -2
  50. package/dist/operations/workbookRange/insertWorkbookCells.d.ts.map +1 -1
  51. package/dist/operations/workbookRange/insertWorkbookCells.js +4 -0
  52. package/dist/operations/workbookRange/insertWorkbookCells.test.js +1 -2
  53. package/dist/operations/workbookRange/updateWorkbookRange.test.js +7 -13
  54. package/dist/operations/workbookTable/createWorkbookTable.test.js +3 -3
  55. package/dist/operations/workbookTable/getWorkbookTable.test.js +3 -3
  56. package/dist/operations/workbookTable/getWorkbookTableBodyRange.d.ts.map +1 -1
  57. package/dist/operations/workbookTable/getWorkbookTableBodyRange.js +4 -0
  58. package/dist/operations/workbookTable/getWorkbookTableBodyRange.test.js +3 -3
  59. package/dist/operations/workbookTable/getWorkbookTableHeaderRange.d.ts.map +1 -1
  60. package/dist/operations/workbookTable/getWorkbookTableHeaderRange.js +4 -0
  61. package/dist/operations/workbookTable/getWorkbookTableHeaderRange.test.js +3 -3
  62. package/dist/operations/workbookTable/listWorkbookTableColumns.test.js +3 -3
  63. package/dist/operations/workbookTable/listWorkbookTableRows.test.js +3 -3
  64. package/dist/operations/workbookTable/listWorkbookTables.test.js +4 -4
  65. package/dist/operations/workbookWorksheet/getWorkbookWorksheetRange.d.ts.map +1 -1
  66. package/dist/operations/workbookWorksheet/getWorkbookWorksheetRange.js +1 -0
  67. package/dist/operations/workbookWorksheet/updateWorkbookWorksheet.test.js +6 -3
  68. package/dist/services/address.d.ts +12 -1
  69. package/dist/services/address.d.ts.map +1 -1
  70. package/dist/services/address.js +134 -2
  71. package/dist/services/address.test.d.ts +2 -0
  72. package/dist/services/address.test.d.ts.map +1 -0
  73. package/dist/services/address.test.js +82 -0
  74. package/dist/services/httpStatus.d.ts +1 -0
  75. package/dist/services/httpStatus.d.ts.map +1 -1
  76. package/dist/services/httpStatus.js +3 -0
  77. package/dist/services/workbookRange.d.ts +2 -2
  78. package/dist/services/workbookRange.d.ts.map +1 -1
  79. package/dist/services/workbookRangeAddress.d.ts +2 -2
  80. package/dist/services/workbookRangeAddress.d.ts.map +1 -1
  81. package/dist/services/workbookWorksheet.d.ts +1 -0
  82. package/dist/services/workbookWorksheet.d.ts.map +1 -1
  83. package/dist/services/workbookWorksheet.js +3 -0
  84. package/dist/tasks/getRangeLastUsedCell.d.ts.map +1 -1
  85. package/dist/tasks/getRangeLastUsedCell.js +5 -5
  86. package/dist/tasks/getWorkbookTableVisibleBody.test.js +3 -0
  87. package/dist/tasks/setColumnHidden.d.ts +2 -1
  88. package/dist/tasks/setColumnHidden.d.ts.map +1 -1
  89. package/dist/tasks/setColumnHidden.js +1 -1
  90. package/dist/tasks/setRowHidden.d.ts +2 -1
  91. package/dist/tasks/setRowHidden.d.ts.map +1 -1
  92. package/dist/tasks/setRowHidden.js +1 -1
  93. package/dist/tasks/setWorkbookTableBodyVisibleRows.d.ts +4 -0
  94. package/dist/tasks/setWorkbookTableBodyVisibleRows.d.ts.map +1 -0
  95. package/dist/tasks/setWorkbookTableBodyVisibleRows.js +39 -0
  96. package/dist/tasks/setWorkbookTableBodyVisibleRows.test.d.ts +2 -0
  97. package/dist/tasks/setWorkbookTableBodyVisibleRows.test.d.ts.map +1 -0
  98. package/dist/tasks/setWorkbookTableBodyVisibleRows.test.js +83 -0
  99. package/package.json +49 -521
  100. package/vitest.config.ts +2 -2
  101. package/dist/docs/getItem.js +0 -11
  102. package/dist/microsoftGraph/errors/BadTemplateError.js +0 -6
  103. package/dist/microsoftGraph/errors/InvalidArgumentError.js +0 -6
  104. package/dist/microsoftGraph/errors/RequestFailedError.js +0 -6
  105. package/dist/microsoftGraph/graphApi.js +0 -49
  106. package/dist/microsoftGraph/helpers/openSite.js +0 -12
  107. package/dist/microsoftGraph/helpers/openWorkbook.js +0 -23
  108. package/dist/microsoftGraph/helpers/openWorksheet.js +0 -7
  109. package/dist/microsoftGraph/models/HostName.js +0 -1
  110. package/dist/microsoftGraph/models/Scope.js +0 -1
  111. package/dist/microsoftGraph/models/SiteId.js +0 -1
  112. package/dist/microsoftGraph/models/SiteName.js +0 -1
  113. package/dist/microsoftGraph/models/SiteRef.js +0 -1
  114. package/dist/microsoftGraph/models/WorkbookNamedRangeRef.js +0 -1
  115. package/dist/microsoftGraph/models/WorkbookRangeAddress.js +0 -1
  116. package/dist/microsoftGraph/models/WorkbookRangeName.js +0 -1
  117. package/dist/microsoftGraph/models/WorkbookRangeRef.js +0 -1
  118. package/dist/microsoftGraph/models/WorkbookRef.js +0 -1
  119. package/dist/microsoftGraph/models/WorkbookSessionId.js +0 -1
  120. package/dist/microsoftGraph/models/WorkbookWorksheetId.js +0 -1
  121. package/dist/microsoftGraph/models/WorkbookWorksheetRef.js +0 -1
  122. package/dist/microsoftGraph/models/regenerate-dtos.js +0 -68
  123. package/dist/microsoftGraph/operations/drive/createFolder.js +0 -17
  124. package/dist/microsoftGraph/operations/drive/listDrives.js +0 -11
  125. package/dist/microsoftGraph/operations/driveItem/copyDriveItem.js +0 -20
  126. package/dist/microsoftGraph/operations/driveItem/deleteDriveItem.js +0 -11
  127. package/dist/microsoftGraph/operations/driveItem/getDriveItem.js +0 -11
  128. package/dist/microsoftGraph/operations/driveItem/getDriveItemByPath.js +0 -11
  129. package/dist/microsoftGraph/operations/driveItem/listDriveItems.js +0 -11
  130. package/dist/microsoftGraph/operations/site/getSite.js +0 -11
  131. package/dist/microsoftGraph/operations/site/getSiteByName.js +0 -11
  132. package/dist/microsoftGraph/operations/site/listSites.js +0 -11
  133. package/dist/microsoftGraph/operations/site/searchSites.js +0 -11
  134. package/dist/microsoftGraph/operations/workbook/createWorkbook.js +0 -14
  135. package/dist/microsoftGraph/operations/workbook/deleteWorkbook.js +0 -5
  136. package/dist/microsoftGraph/operations/workbookRange/clearWorkbookRange.js +0 -16
  137. package/dist/microsoftGraph/operations/workbookRange/deleteWorkbookRange.js +0 -16
  138. package/dist/microsoftGraph/operations/workbookRange/getWorkbookNamedRange.js +0 -13
  139. package/dist/microsoftGraph/operations/workbookRange/getWorkbookRange.js +0 -13
  140. package/dist/microsoftGraph/operations/workbookRange/getWorkbookUsedRange.js +0 -13
  141. package/dist/microsoftGraph/operations/workbookRange/insertWorkbookCells.js +0 -16
  142. package/dist/microsoftGraph/operations/workbookRange/updateWorkbookNamedRange.js +0 -14
  143. package/dist/microsoftGraph/operations/workbookRange/updateWorkbookRange.js +0 -14
  144. package/dist/microsoftGraph/operations/workbookSession/closeWorkbookSession.js +0 -17
  145. package/dist/microsoftGraph/operations/workbookSession/createWorkbookSession.js +0 -15
  146. package/dist/microsoftGraph/operations/workbookSession/refreshWorkbookSession.js +0 -18
  147. package/dist/microsoftGraph/operations/workbookWorksheet/createWorkbookWorksheet.js +0 -16
  148. package/dist/microsoftGraph/operations/workbookWorksheet/deleteWorkbookWorksheet.js +0 -13
  149. package/dist/microsoftGraph/operations/workbookWorksheet/listWorkbookWorksheets.js +0 -13
  150. package/dist/microsoftGraph/operations/workbookWorksheet/updateWorkbookWorksheet.js +0 -14
  151. package/dist/microsoftGraph/services/accessToken.js +0 -12
  152. package/dist/microsoftGraph/services/configuration.js +0 -20
  153. package/dist/microsoftGraph/services/sharepointUrl.js +0 -23
  154. package/dist/microsoftGraph/services/stringCaseConversion.js +0 -3
  155. package/dist/microsoftGraph/services/templatedPaths.js +0 -19
  156. package/dist/models/WorkbookRangeAddress.d.ts +0 -10
  157. package/dist/models/WorkbookRangeAddress.d.ts.map +0 -1
  158. package/dist/models/WorkbookRangeAddress.js +0 -1
  159. package/dist/operations/driveItem/copyDriveItem.d.ts +0 -5
  160. package/dist/operations/driveItem/copyDriveItem.d.ts.map +0 -1
  161. package/dist/operations/driveItem/copyDriveItem.js +0 -21
  162. package/dist/operations/driveItem/copyDriveItem.test.d.ts +0 -2
  163. package/dist/operations/driveItem/copyDriveItem.test.d.ts.map +0 -1
  164. package/dist/operations/driveItem/copyDriveItem.test.js +0 -28
  165. package/dist/operations/user/userSendMail.test.d.ts +0 -2
  166. package/dist/operations/user/userSendMail.test.d.ts.map +0 -1
  167. package/dist/operations/user/userSendMail.test.js +0 -17
  168. package/dist/services/configuration.d.ts +0 -7
  169. package/dist/services/configuration.d.ts.map +0 -1
  170. package/dist/services/configuration.js +0 -20
  171. package/dist/tasks/endSessionAndDeleteWorkbook.d.ts +0 -3
  172. package/dist/tasks/endSessionAndDeleteWorkbook.d.ts.map +0 -1
  173. package/dist/tasks/endSessionAndDeleteWorkbook.js +0 -6
  174. package/dist/tasks/getWorkbookWorksheetRefByName.d.ts +0 -5
  175. package/dist/tasks/getWorkbookWorksheetRefByName.d.ts.map +0 -1
  176. package/dist/tasks/getWorkbookWorksheetRefByName.js +0 -10
  177. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -0,0 +1,4 @@
1
+ export default class NotImplementedError extends Error {
2
+ constructor(message?: string);
3
+ }
4
+ //# sourceMappingURL=NotImplementedError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NotImplementedError.d.ts","sourceRoot":"","sources":["../../src/errors/NotImplementedError.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,KAAK;gBAClC,OAAO,CAAC,EAAE,MAAM;CAInC"}
@@ -0,0 +1,6 @@
1
+ export default class NotImplementedError extends Error {
2
+ constructor(message) {
3
+ super(message);
4
+ this.name = "NotImplementedError";
5
+ }
6
+ }
package/dist/graphApi.js CHANGED
@@ -7,7 +7,7 @@ import RequestFailedError from "./errors/RequestFailedError.js";
7
7
  import { getCurrentAccessToken } from "./services/accessToken.js";
8
8
  import { getContext } from "./services/context.js";
9
9
  import { tryGetHttpAgent } from "./services/httpAgent.js";
10
- import { isHttpOk, isHttpTooManyRequests } from "./services/httpStatus.js";
10
+ import { isHttpOk, isHttpTooManyRequests, isServiceUnavailable } from "./services/httpStatus.js";
11
11
  import { operationIdToIndex, operationIndexToId } from "./services/operationId.js";
12
12
  import { sleep } from "./services/sleep.js";
13
13
  export const authenticationScope = "https://graph.microsoft.com/.default";
@@ -103,8 +103,11 @@ async function executeBatch(...ops) {
103
103
  }
104
104
  if (!isHttpOk(r.status)) {
105
105
  const bodyError = body;
106
- const errorMessage = bodyError?.error ? `[${bodyError.error.code}] ${bodyError.error.message}` : `HTTP ${r.status}`;
107
- RequestFailedError.throw(`GraphAPI operation ${index} failed: '${errorMessage}'`, op, r);
106
+ let errorMessage = `${r.status}`;
107
+ if (bodyError?.error) {
108
+ errorMessage += `: [${bodyError.error.code}] '${bodyError.error.message}'`;
109
+ }
110
+ RequestFailedError.throw(`GraphAPI operation ${index} failed: ${errorMessage}`, op, r);
108
111
  }
109
112
  responses[index] = op.responseTransform(body);
110
113
  }
@@ -119,7 +122,7 @@ async function innerFetch(args) {
119
122
  while (attempts < maxRetries) {
120
123
  // Retry at most 3 times
121
124
  response = await fetch(url, options);
122
- if (!isHttpTooManyRequests(response.status)) {
125
+ if (!(isHttpTooManyRequests(response.status) || isServiceUnavailable(response.status))) {
123
126
  break;
124
127
  }
125
128
  const requestedRetryAfterSeconds = Number.parseInt(response.headers.get("Retry-After") ?? "0", 10);
@@ -143,8 +146,11 @@ async function innerFetch(args) {
143
146
  const body = replyContentType?.startsWith("application/json") ? await response.json() : null;
144
147
  if (!isHttpOk(response.status)) {
145
148
  const bodyError = body;
146
- const errorMessage = bodyError?.error ? `[${bodyError.error.code}] ${bodyError.error.message}` : `HTTP ${response.status} ${response.statusText}`;
147
- RequestFailedError.throw(`GraphAPI fetch failed: '${errorMessage}'`, args, body);
149
+ let errorMessage = `${response.status} '${response.statusText}'`;
150
+ if (bodyError?.error) {
151
+ errorMessage += `: [${bodyError.error.code}] '${bodyError.error.message}'`;
152
+ }
153
+ RequestFailedError.throw(`GraphAPI fetch failed: ${errorMessage}`, args, body);
148
154
  }
149
155
  return body;
150
156
  }
@@ -0,0 +1,8 @@
1
+ export type ColumnAddress = `${Uppercase<string>}`;
2
+ export type RowAddress = `${number}`;
3
+ export type ColumnRangeAddress = `${CellAddress}:${CellAddress}`;
4
+ export type RowRangeAddress = `${RowAddress}:${RowAddress}`;
5
+ export type BoxRangeAddress = `${CellAddress}:${CellAddress}`;
6
+ export type CellAddress = `${ColumnAddress}${RowAddress}`;
7
+ export type Address = ColumnAddress | RowAddress | ColumnRangeAddress | RowRangeAddress | BoxRangeAddress | CellAddress;
8
+ //# sourceMappingURL=Address.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Address.d.ts","sourceRoot":"","sources":["../../src/models/Address.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;AACnD,MAAM,MAAM,UAAU,GAAG,GAAG,MAAM,EAAE,CAAC;AAErC,MAAM,MAAM,kBAAkB,GAAG,GAAG,WAAW,IAAI,WAAW,EAAE,CAAC;AACjE,MAAM,MAAM,eAAe,GAAG,GAAG,UAAU,IAAI,UAAU,EAAE,CAAC;AAE5D,MAAM,MAAM,eAAe,GAAG,GAAG,WAAW,IAAI,WAAW,EAAE,CAAC;AAE9D,MAAM,MAAM,WAAW,GAAG,GAAG,aAAa,GAAG,UAAU,EAAE,CAAC;AAE1D,MAAM,MAAM,OAAO,GAAG,aAAa,GAAG,UAAU,GAAG,kBAAkB,GAAG,eAAe,GAAG,eAAe,GAAG,WAAW,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { Cell } from "./Cell.ts";
2
+ import type { Column } from "./Column.ts";
3
+ import type { Row } from "./Row.ts";
4
+ export type Box = `${Cell}:${Cell}` | `${Column}:${Column}` | `${Row}:${Row}`;
5
+ //# sourceMappingURL=Box.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Box.d.ts","sourceRoot":"","sources":["../../src/models/Box.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAEpC,MAAM,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,EAAE,GAAG,GAAG,MAAM,IAAI,MAAM,EAAE,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Column } from "./Column.ts";
2
+ import type { Row } from "./Row.ts";
3
+ export type Cell = `${Column}${Row}`;
4
+ //# sourceMappingURL=Cell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cell.d.ts","sourceRoot":"","sources":["../../src/models/Cell.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAEpC,MAAM,MAAM,IAAI,GAAG,GAAG,MAAM,GAAG,GAAG,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export type Column = `${Uppercase<string>}`;
2
+ //# sourceMappingURL=Column.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Column.d.ts","sourceRoot":"","sources":["../../src/models/Column.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC"}
@@ -0,0 +1,4 @@
1
+ export type ColumnIndex = number & {
2
+ __brand: "ColumnIndex";
3
+ };
4
+ //# sourceMappingURL=ColumnIndex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColumnIndex.d.ts","sourceRoot":"","sources":["../../src/models/ColumnIndex.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG;IAClC,OAAO,EAAE,aAAa,CAAC;CACvB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { Box } from "./Box.ts";
2
+ import type { Cell } from "./Cell.ts";
3
+ export type RangeAddressUnderlying = Cell | Box;
4
+ export type RangeAddress = RangeAddressUnderlying & {
5
+ __brand: "WorkbookRangeAddress";
6
+ };
7
+ //# sourceMappingURL=RangeAddress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RangeAddress.d.ts","sourceRoot":"","sources":["../../src/models/RangeAddress.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,MAAM,sBAAsB,GAAG,IAAI,GAAG,GAAG,CAAC;AAEhD,MAAM,MAAM,YAAY,GAAG,sBAAsB,GAAG;IACnD,OAAO,EAAE,sBAAsB,CAAC;CAChC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export type Row = `${number}`;
2
+ //# sourceMappingURL=Row.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Row.d.ts","sourceRoot":"","sources":["../../src/models/Row.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,GAAG,GAAG,GAAG,MAAM,EAAE,CAAC"}
@@ -0,0 +1,4 @@
1
+ export type RowIndex = number & {
2
+ __brand: "RowIndex";
3
+ };
4
+ //# sourceMappingURL=RowIndex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RowIndex.d.ts","sourceRoot":"","sources":["../../src/models/RowIndex.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG;IAC/B,OAAO,EAAE,UAAU,CAAC;CACpB,CAAC"}
@@ -1,6 +1,6 @@
1
- import type { WorkbookRangeAddress as WorkbookWorksheetRangeAddress } from "./WorkbookRangeAddress.ts";
1
+ import type { Address } from "./Address.ts";
2
2
  import type { WorkbookWorksheetRef } from "./WorkbookWorksheetRef.ts";
3
3
  export type WorkbookRangeRef = WorkbookWorksheetRef & {
4
- address: WorkbookWorksheetRangeAddress;
4
+ address: Address;
5
5
  };
6
6
  //# sourceMappingURL=WorkbookRangeRef.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WorkbookRangeRef.d.ts","sourceRoot":"","sources":["../../src/models/WorkbookRangeRef.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,IAAI,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AACvG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,GAAG;IACrD,OAAO,EAAE,6BAA6B,CAAC;CACvC,CAAC"}
1
+ {"version":3,"file":"WorkbookRangeRef.d.ts","sourceRoot":"","sources":["../../src/models/WorkbookRangeRef.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,GAAG;IACrD,OAAO,EAAE,OAAO,CAAC;CACjB,CAAC"}
@@ -8,22 +8,25 @@ import { createWorkbookWorksheetRef, defaultWorkbookWorksheetId } from "../../se
8
8
  import deleteDriveItemWithRetry from "../../tasks/deleteDriveItemWithRetry.js";
9
9
  import calculateWorkbook from "../workbook/calculateWorkbook.js";
10
10
  import createWorkbook from "../workbook/createWorkbook.js";
11
- import getWorkbookWorksheetRange from "../workbookWorksheet/getWorkbookWorksheetRange.js";
12
11
  import clearWorkbookRange from "./clearWorkbookRange.js";
12
+ import getWorkbookWorksheetRange from "./getWorkbookWorksheetRange.js";
13
13
  import updateWorkbookRange from "./updateWorkbookRange.js";
14
+ const values = [
15
+ [1, 2],
16
+ [3, 4],
17
+ ];
18
+ const clearedValues = [
19
+ ["", ""],
20
+ ["", ""],
21
+ ];
14
22
  describe("clearWorkbookRange", () => {
15
23
  it("can clear a range in an existing workbook", async () => {
16
- const address = "A1:B2";
17
- const values = [
18
- [1, 2],
19
- [3, 4],
20
- ];
21
24
  const workbookName = generateTempFileName("xlsx");
22
25
  const workbookPath = driveItemPath(workbookName);
23
26
  const driveRef = getDefaultDriveRef();
24
27
  const workbook = await createWorkbook(driveRef, workbookPath);
25
28
  const worksheetRef = createWorkbookWorksheetRef(workbook, defaultWorkbookWorksheetId);
26
- const rangeRef = createWorkbookRangeRef(worksheetRef, address);
29
+ const rangeRef = createWorkbookRangeRef(worksheetRef, "A1:B2");
27
30
  try {
28
31
  await updateWorkbookRange(rangeRef, {
29
32
  values: values,
@@ -31,35 +34,24 @@ describe("clearWorkbookRange", () => {
31
34
  await clearWorkbookRange(rangeRef);
32
35
  await calculateWorkbook(workbook);
33
36
  const clearedRange = await getWorkbookWorksheetRange(rangeRef);
34
- expect(clearedRange.values).toEqual([
35
- ["", ""],
36
- ["", ""],
37
- ]);
37
+ expect(clearedRange.values).toEqual(clearedValues);
38
38
  }
39
39
  finally {
40
40
  await deleteDriveItemWithRetry(workbook);
41
41
  }
42
42
  });
43
43
  it("can clear a range in an existing workbook sequential", async () => {
44
- const address = "A1:B2";
45
- const values = [
46
- [1, 2],
47
- [3, 4],
48
- ];
49
44
  const workbookName = generateTempFileName("xlsx");
50
45
  const workbookPath = driveItemPath(workbookName);
51
46
  const driveRef = getDefaultDriveRef();
52
47
  const workbook = await createWorkbook(driveRef, workbookPath);
53
48
  const worksheetRef = createWorkbookWorksheetRef(workbook, defaultWorkbookWorksheetId);
54
- const rangeRef = createWorkbookRangeRef(worksheetRef, address);
49
+ const rangeRef = createWorkbookRangeRef(worksheetRef, "A1:B2");
55
50
  try {
56
51
  const [_, __, ___, clearedRange] = await sequential(updateWorkbookRange(rangeRef, {
57
52
  values: values,
58
53
  }), clearWorkbookRange(rangeRef), calculateWorkbook(workbook), getWorkbookWorksheetRange(rangeRef));
59
- expect(clearedRange.values).toEqual([
60
- ["", ""],
61
- ["", ""],
62
- ]);
54
+ expect(clearedRange.values).toEqual(clearedValues);
63
55
  }
64
56
  finally {
65
57
  await deleteDriveItemWithRetry(workbook);
@@ -8,22 +8,25 @@ import { createWorkbookWorksheetRef, defaultWorkbookWorksheetId } from "../../se
8
8
  import deleteDriveItemWithRetry from "../../tasks/deleteDriveItemWithRetry.js";
9
9
  import calculateWorkbook from "../workbook/calculateWorkbook.js";
10
10
  import createWorkbook from "../workbook/createWorkbook.js";
11
- import getWorkbookWorksheetRange from "../workbookWorksheet/getWorkbookWorksheetRange.js";
12
11
  import deleteWorkbookRange from "./deleteWorkbookRange.js";
12
+ import getWorkbookWorksheetRange from "./getWorkbookWorksheetRange.js";
13
13
  import updateWorkbookRange from "./updateWorkbookRange.js";
14
+ const values = [
15
+ [1, 2],
16
+ [3, 4],
17
+ ];
18
+ const clearedValues = [
19
+ ["", ""],
20
+ ["", ""],
21
+ ];
14
22
  describe("deleteWorkbookRange", () => {
15
23
  it("can delete a range in an existing workbook", async () => {
16
- const address = "A1:B2";
17
- const values = [
18
- [1, 2],
19
- [3, 4],
20
- ];
21
24
  const workbookName = generateTempFileName("xlsx");
22
25
  const workbookPath = driveItemPath(workbookName);
23
26
  const driveRef = getDefaultDriveRef();
24
27
  const workbook = await createWorkbook(driveRef, workbookPath);
25
28
  const worksheetRef = createWorkbookWorksheetRef(workbook, defaultWorkbookWorksheetId);
26
- const rangeRef = createWorkbookRangeRef(worksheetRef, address);
29
+ const rangeRef = createWorkbookRangeRef(worksheetRef, "A1:B2");
27
30
  try {
28
31
  await updateWorkbookRange(rangeRef, {
29
32
  values: values,
@@ -31,17 +34,13 @@ describe("deleteWorkbookRange", () => {
31
34
  await deleteWorkbookRange(rangeRef, "Up");
32
35
  await calculateWorkbook(workbook);
33
36
  const deletedRange = await getWorkbookWorksheetRange(rangeRef);
34
- expect(deletedRange.values).toEqual([
35
- ["", ""],
36
- ["", ""],
37
- ]);
37
+ expect(deletedRange.values).toEqual(clearedValues);
38
38
  }
39
39
  finally {
40
40
  await deleteDriveItemWithRetry(workbook);
41
41
  }
42
42
  });
43
43
  it("can delete a range in an existing workbook sequential", async () => {
44
- const address = "A1:B2";
45
44
  const values = [
46
45
  [1, 2],
47
46
  [3, 4],
@@ -51,15 +50,12 @@ describe("deleteWorkbookRange", () => {
51
50
  const driveRef = getDefaultDriveRef();
52
51
  const workbook = await createWorkbook(driveRef, workbookPath);
53
52
  const worksheetRef = createWorkbookWorksheetRef(workbook, defaultWorkbookWorksheetId);
54
- const rangeRef = createWorkbookRangeRef(worksheetRef, address);
53
+ const rangeRef = createWorkbookRangeRef(worksheetRef, "A1:B2");
55
54
  try {
56
55
  const [_, __, ___, deletedRange] = await sequential(updateWorkbookRange(rangeRef, {
57
56
  values: values,
58
57
  }), deleteWorkbookRange(rangeRef, "Up"), calculateWorkbook(workbook), getWorkbookWorksheetRange(rangeRef));
59
- expect(deletedRange.values).toEqual([
60
- ["", ""],
61
- ["", ""],
62
- ]);
58
+ expect(deletedRange.values).toEqual(clearedValues);
63
59
  }
64
60
  finally {
65
61
  await deleteDriveItemWithRetry(workbook);
@@ -0,0 +1,6 @@
1
+ import type { WorkbookRangeFormat } from "@microsoft/microsoft-graph-types";
2
+ import type { GraphOperation } from "../../models/GraphOperation.ts";
3
+ import type { WorkbookRangeRef } from "../../models/WorkbookRangeRef.ts";
4
+ /** Retrieve the format of a workbook range. @see https://learn.microsoft.com/en-us/graph/api/rangeformat-get */
5
+ export default function getWorkbookRangeFormat(rangeRef: WorkbookRangeRef): GraphOperation<WorkbookRangeFormat & WorkbookRangeRef>;
6
+ //# sourceMappingURL=getWorkbookRangeFormat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getWorkbookRangeFormat.d.ts","sourceRoot":"","sources":["../../../src/operations/workbookRange/getWorkbookRangeFormat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAE5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAGzE,gHAAgH;AAChH,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,cAAc,CAAC,mBAAmB,GAAG,gBAAgB,CAAC,CAiBjI"}
@@ -0,0 +1,21 @@
1
+ import { operation } from "../../graphApi.js";
2
+ import { generatePath } from "../../services/templatedPaths.js";
3
+ /** Retrieve the format of a workbook range. @see https://learn.microsoft.com/en-us/graph/api/rangeformat-get */
4
+ export default function getWorkbookRangeFormat(rangeRef) {
5
+ return operation({
6
+ contextId: rangeRef.contextId,
7
+ method: "GET",
8
+ path: generatePath(`/sites/{site-id}/drives/{drive-id}/items/{item-id}/workbook/worksheets/{worksheet-id}/range(address='${rangeRef.address}')/format`, rangeRef),
9
+ headers: {
10
+ "workbook-session-id": rangeRef.sessionId,
11
+ },
12
+ body: null,
13
+ responseTransform: (response) => {
14
+ const format = response;
15
+ return {
16
+ ...format,
17
+ ...rangeRef,
18
+ };
19
+ },
20
+ });
21
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=getWorkbookRangeFormat.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getWorkbookRangeFormat.test.d.ts","sourceRoot":"","sources":["../../../src/operations/workbookRange/getWorkbookRangeFormat.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,33 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { getDefaultDriveRef } from "../../services/drive.js";
3
+ import { driveItemPath } from "../../services/driveItem.js";
4
+ import { generateTempFileName } from "../../services/temporaryFiles.js";
5
+ import { createWorkbookRangeRef } from "../../services/workbookRange.js";
6
+ import { createWorkbookWorksheetRef, defaultWorkbookWorksheetId } from "../../services/workbookWorksheet.js";
7
+ import deleteDriveItemWithRetry from "../../tasks/deleteDriveItemWithRetry.js";
8
+ import createWorkbook from "../workbook/createWorkbook.js";
9
+ import getWorkbookRangeFormat from "./getWorkbookRangeFormat.js";
10
+ import updateWorkbookRange from "./updateWorkbookRange.js";
11
+ describe("getWorkbookRangeFormat", () => {
12
+ it("can retrieve the format of a range in an existing workbook", async () => {
13
+ const driveRef = getDefaultDriveRef();
14
+ const workbookPath = driveItemPath(generateTempFileName("xlsx"));
15
+ const workbook = await createWorkbook(driveRef, workbookPath);
16
+ const worksheetRef = createWorkbookWorksheetRef(workbook, defaultWorkbookWorksheetId);
17
+ const rangeRef = createWorkbookRangeRef(worksheetRef, "A1:B2");
18
+ try {
19
+ await updateWorkbookRange(rangeRef, {
20
+ values: [
21
+ [1, 2],
22
+ [3, 4],
23
+ ],
24
+ });
25
+ const format = await getWorkbookRangeFormat(rangeRef);
26
+ expect(format.horizontalAlignment).toBe("General");
27
+ expect(format.verticalAlignment).toBe("Bottom");
28
+ }
29
+ finally {
30
+ await deleteDriveItemWithRetry(workbook);
31
+ }
32
+ });
33
+ });
@@ -1 +1 @@
1
- {"version":3,"file":"getWorkbookUsedRange.d.ts","sourceRoot":"","sources":["../../../src/operations/workbookRange/getWorkbookUsedRange.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAErE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAIjF,kKAAkK;AAClK,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,YAAY,EAAE,oBAAoB,GAAG,cAAc,CAAC,aAAa,GAAG,gBAAgB,CAAC,CAmBjI"}
1
+ {"version":3,"file":"getWorkbookUsedRange.d.ts","sourceRoot":"","sources":["../../../src/operations/workbookRange/getWorkbookUsedRange.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAItE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAIjF,kKAAkK;AAClK,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,YAAY,EAAE,oBAAoB,GAAG,cAAc,CAAC,aAAa,GAAG,gBAAgB,CAAC,CAsBjI"}
@@ -1,3 +1,4 @@
1
+ import ProtocolError from "../../errors/ProtocolError.js";
1
2
  import { operation } from "../../graphApi.js";
2
3
  import { generatePath } from "../../services/templatedPaths.js";
3
4
  import { createWorkbookRangeRef } from "../../services/workbookRange.js";
@@ -13,6 +14,9 @@ export default function getWorkbookUsedRange(worksheetRef) {
13
14
  body: null,
14
15
  responseTransform: (response) => {
15
16
  const range = response;
17
+ if (!range.address) {
18
+ throw new ProtocolError("Invalid response: address is missing");
19
+ }
16
20
  const rangeRef = createWorkbookRangeRef(worksheetRef, range.address);
17
21
  return {
18
22
  ...range,
@@ -10,19 +10,18 @@ import calculateWorkbook from "../workbook/calculateWorkbook.js";
10
10
  import createWorkbook from "../workbook/createWorkbook.js";
11
11
  import getWorkbookUsedRange from "./getWorkbookUsedRange.js";
12
12
  import updateWorkbookRange from "./updateWorkbookRange.js";
13
+ const values = [
14
+ [1, 2],
15
+ [3, 4],
16
+ ];
13
17
  describe("getWorkbookUsedRange", () => {
14
18
  it("can retrieve the used range from an existing workbook", async () => {
15
- const address = "A1:B2";
16
- const values = [
17
- [1, 2],
18
- [3, 4],
19
- ];
20
19
  const workbookName = generateTempFileName("xlsx");
21
20
  const workbookPath = driveItemPath(workbookName);
22
21
  const driveRef = getDefaultDriveRef();
23
22
  const workbook = await createWorkbook(driveRef, workbookPath);
24
23
  const worksheetRef = createWorkbookWorksheetRef(workbook, defaultWorkbookWorksheetId);
25
- const rangeRef = createWorkbookRangeRef(worksheetRef, address);
24
+ const rangeRef = createWorkbookRangeRef(worksheetRef, "A1:B2");
26
25
  try {
27
26
  await updateWorkbookRange(rangeRef, {
28
27
  values: values,
@@ -36,17 +35,12 @@ describe("getWorkbookUsedRange", () => {
36
35
  }
37
36
  });
38
37
  it("can retrieve the used range from an existing workbook sequential", async () => {
39
- const address = "A1:B2";
40
- const values = [
41
- [1, 2],
42
- [3, 4],
43
- ];
44
38
  const workbookName = generateTempFileName("xlsx");
45
39
  const workbookPath = driveItemPath(workbookName);
46
40
  const driveRef = getDefaultDriveRef();
47
41
  const workbook = await createWorkbook(driveRef, workbookPath);
48
42
  const worksheetRef = createWorkbookWorksheetRef(workbook, defaultWorkbookWorksheetId);
49
- const rangeRef = createWorkbookRangeRef(worksheetRef, address);
43
+ const rangeRef = createWorkbookRangeRef(worksheetRef, "A1:B2");
50
44
  try {
51
45
  const [_, __, usedRange] = await sequential(updateWorkbookRange(rangeRef, {
52
46
  values: values,
@@ -10,19 +10,18 @@ import calculateWorkbook from "../workbook/calculateWorkbook.js";
10
10
  import createWorkbook from "../workbook/createWorkbook.js";
11
11
  import getWorkbookVisibleRange from "./getWorkbookVisibleRange.js";
12
12
  import updateWorkbookRange from "./updateWorkbookRange.js";
13
+ const values = [
14
+ [1, 2],
15
+ [3, 4],
16
+ ];
13
17
  describe("getWorkbookRangeVisible", () => {
14
18
  it("can retrieve the visible view of a range in an existing workbook", async () => {
15
- const address = "A1:B2";
16
- const values = [
17
- [1, 2],
18
- [3, 4],
19
- ];
20
19
  const workbookName = generateTempFileName("xlsx");
21
20
  const workbookPath = driveItemPath(workbookName);
22
21
  const driveRef = getDefaultDriveRef();
23
22
  const workbook = await createWorkbook(driveRef, workbookPath);
24
23
  const worksheetRef = createWorkbookWorksheetRef(workbook, defaultWorkbookWorksheetId);
25
- const rangeRef = createWorkbookRangeRef(worksheetRef, address);
24
+ const rangeRef = createWorkbookRangeRef(worksheetRef, "A1:B2");
26
25
  try {
27
26
  await updateWorkbookRange(rangeRef, { values: values });
28
27
  await calculateWorkbook(workbook);
@@ -34,17 +33,12 @@ describe("getWorkbookRangeVisible", () => {
34
33
  }
35
34
  });
36
35
  it("can retrieve the visible view of a range in an existing workbook sequential", async () => {
37
- const address = "A1:B2";
38
- const values = [
39
- [1, 2],
40
- [3, 4],
41
- ];
42
36
  const workbookName = generateTempFileName("xlsx");
43
37
  const workbookPath = driveItemPath(workbookName);
44
38
  const driveRef = getDefaultDriveRef();
45
39
  const workbook = await createWorkbook(driveRef, workbookPath);
46
40
  const worksheetRef = createWorkbookWorksheetRef(workbook, defaultWorkbookWorksheetId);
47
- const rangeRef = createWorkbookRangeRef(worksheetRef, address);
41
+ const rangeRef = createWorkbookRangeRef(worksheetRef, "A1:B2");
48
42
  try {
49
43
  const [_, __, visibleView] = await sequential(updateWorkbookRange(rangeRef, { values: values }), calculateWorkbook(workbook), getWorkbookVisibleRange(rangeRef));
50
44
  expect(visibleView).toBeDefined();
@@ -0,0 +1,6 @@
1
+ import type { WorkbookRange } from "@microsoft/microsoft-graph-types";
2
+ import type { GraphOperation } from "../../models/GraphOperation.ts";
3
+ import type { WorkbookRangeRef } from "../../models/WorkbookRangeRef.ts";
4
+ /** Fetch a range, including values and formatting. @see https://learn.microsoft.com/en-us/graph/api/range-get */
5
+ export default function getWorkbookWorksheetRange(rangeRef: WorkbookRangeRef): GraphOperation<WorkbookRange & WorkbookRangeRef>;
6
+ //# sourceMappingURL=getWorkbookWorksheetRange.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getWorkbookWorksheetRange.d.ts","sourceRoot":"","sources":["../../../src/operations/workbookRange/getWorkbookWorksheetRange.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAGzE,iHAAiH;AACjH,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,cAAc,CAAC,aAAa,GAAG,gBAAgB,CAAC,CAkB9H"}
@@ -0,0 +1,21 @@
1
+ import { operation } from "../../graphApi.js";
2
+ import { generatePath } from "../../services/templatedPaths.js";
3
+ /** Fetch a range, including values and formatting. @see https://learn.microsoft.com/en-us/graph/api/range-get */
4
+ export default function getWorkbookWorksheetRange(rangeRef) {
5
+ return operation({
6
+ contextId: rangeRef.contextId,
7
+ method: "GET",
8
+ path: generatePath(`/sites/{site-id}/drives/{drive-id}/items/{item-id}/workbook/worksheets/{worksheet-id}/range(address='${rangeRef.address}')`, rangeRef),
9
+ headers: {
10
+ "workbook-session-id": rangeRef.sessionId,
11
+ },
12
+ body: null,
13
+ responseTransform: (response) => {
14
+ const range = response;
15
+ return {
16
+ ...range,
17
+ ...rangeRef,
18
+ };
19
+ },
20
+ });
21
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=getWorkbookWorksheetRange.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getWorkbookWorksheetRange.test.d.ts","sourceRoot":"","sources":["../../../src/operations/workbookRange/getWorkbookWorksheetRange.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,32 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { getDefaultDriveRef } from "../../services/drive.js";
3
+ import { driveItemPath } from "../../services/driveItem.js";
4
+ import { generateTempFileName } from "../../services/temporaryFiles.js";
5
+ import { createWorkbookRangeRef } from "../../services/workbookRange.js";
6
+ import { createWorkbookWorksheetRef, defaultWorkbookWorksheetId } from "../../services/workbookWorksheet.js";
7
+ import deleteDriveItemWithRetry from "../../tasks/deleteDriveItemWithRetry.js";
8
+ import createWorkbook from "../workbook/createWorkbook.js";
9
+ import updateWorkbookRange from "./updateWorkbookRange.js";
10
+ const values = [
11
+ [1, 2],
12
+ [3, 4],
13
+ ];
14
+ describe("getWorkbookRange", () => {
15
+ it("can retrieve a range from an existing worksheet", async () => {
16
+ const workbookName = generateTempFileName("xlsx");
17
+ const workbookPath = driveItemPath(workbookName);
18
+ const driveRef = getDefaultDriveRef();
19
+ const workbook = await createWorkbook(driveRef, workbookPath);
20
+ const worksheetRef = createWorkbookWorksheetRef(workbook, defaultWorkbookWorksheetId);
21
+ const rangeRef = createWorkbookRangeRef(worksheetRef, "A1:B2");
22
+ try {
23
+ const range = await updateWorkbookRange(rangeRef, {
24
+ values: values,
25
+ });
26
+ expect(range.values).toEqual(values);
27
+ }
28
+ finally {
29
+ await deleteDriveItemWithRetry(workbook);
30
+ }
31
+ });
32
+ });
@@ -1,8 +1,8 @@
1
1
  import type { WorkbookRange } from "@microsoft/microsoft-graph-types";
2
+ import type { Address } from "../../models/Address.ts";
2
3
  import type { GraphOperation } from "../../models/GraphOperation.ts";
3
- import type { WorkbookRangeAddress } from "../../models/WorkbookRangeAddress.ts";
4
4
  import type { WorkbookRangeRef } from "../../models/WorkbookRangeRef.ts";
5
5
  import type { WorkbookWorksheetRef } from "../../models/WorkbookWorksheetRef.ts";
6
6
  /** Insert a new blank range at a specified address, shifting existing cells. Use `updateRange` after to set content. @see https://learn.microsoft.com/en-us/graph/api/range-insert */
7
- export default function insertWorkbookCells(worksheetRef: WorkbookWorksheetRef, address: WorkbookRangeAddress, shift: "Down" | "Right"): GraphOperation<WorkbookRange & WorkbookRangeRef>;
7
+ export default function insertWorkbookCells(worksheetRef: WorkbookWorksheetRef, address: Address, shift: "Down" | "Right"): GraphOperation<WorkbookRange & WorkbookRangeRef>;
8
8
  //# sourceMappingURL=insertWorkbookCells.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"insertWorkbookCells.d.ts","sourceRoot":"","sources":["../../../src/operations/workbookRange/insertWorkbookCells.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAIjF,sLAAsL;AACtL,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,YAAY,EAAE,oBAAoB,EAAE,OAAO,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,cAAc,CAAC,aAAa,GAAG,gBAAgB,CAAC,CAqBxL"}
1
+ {"version":3,"file":"insertWorkbookCells.d.ts","sourceRoot":"","sources":["../../../src/operations/workbookRange/insertWorkbookCells.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAGtE,OAAO,KAAK,EAAE,OAAO,EAAmB,MAAM,yBAAyB,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAIjF,sLAAsL;AACtL,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,YAAY,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,cAAc,CAAC,aAAa,GAAG,gBAAgB,CAAC,CAwB3K"}
@@ -1,3 +1,4 @@
1
+ import ProtocolError from "../../errors/ProtocolError.js";
1
2
  import { operation } from "../../graphApi.js";
2
3
  import { generatePath } from "../../services/templatedPaths.js";
3
4
  import { createWorkbookRangeRef } from "../../services/workbookRange.js";
@@ -16,6 +17,9 @@ export default function insertWorkbookCells(worksheetRef, address, shift) {
16
17
  },
17
18
  responseTransform: (response) => {
18
19
  const workbook = response;
20
+ if (!workbook.address) {
21
+ throw new ProtocolError("Invalid response: address is missing");
22
+ }
19
23
  const rangeRef = createWorkbookRangeRef(worksheetRef, workbook.address);
20
24
  return {
21
25
  ...workbook,