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.
- package/dist/errors/NotImplementedError.d.ts +4 -0
- package/dist/errors/NotImplementedError.d.ts.map +1 -0
- package/dist/errors/NotImplementedError.js +6 -0
- package/dist/graphApi.js +12 -6
- package/dist/models/Address.d.ts +8 -0
- package/dist/models/Address.d.ts.map +1 -0
- package/dist/{microsoftGraph/models/AccessToken.js → models/Address.js} +0 -0
- package/dist/models/Box.d.ts +5 -0
- package/dist/models/Box.d.ts.map +1 -0
- package/dist/{microsoftGraph/models/DriveId.js → models/Box.js} +0 -0
- package/dist/models/Cell.d.ts +4 -0
- package/dist/models/Cell.d.ts.map +1 -0
- package/dist/{microsoftGraph/models/DriveItemId.js → models/Cell.js} +0 -0
- package/dist/models/Column.d.ts +2 -0
- package/dist/models/Column.d.ts.map +1 -0
- package/dist/{microsoftGraph/models/DriveItemPath.js → models/Column.js} +0 -0
- package/dist/models/ColumnIndex.d.ts +4 -0
- package/dist/models/ColumnIndex.d.ts.map +1 -0
- package/dist/{microsoftGraph/models/DriveItemRef.js → models/ColumnIndex.js} +0 -0
- package/dist/models/RangeAddress.d.ts +7 -0
- package/dist/models/RangeAddress.d.ts.map +1 -0
- package/dist/{microsoftGraph/models/DriveRef.js → models/RangeAddress.js} +0 -0
- package/dist/models/Row.d.ts +2 -0
- package/dist/models/Row.d.ts.map +1 -0
- package/dist/{microsoftGraph/models/GraphOperation.js → models/Row.js} +0 -0
- package/dist/models/RowIndex.d.ts +4 -0
- package/dist/models/RowIndex.d.ts.map +1 -0
- package/dist/{microsoftGraph/models/GraphOptions.js → models/RowIndex.js} +0 -0
- package/dist/models/WorkbookRangeRef.d.ts +2 -2
- package/dist/models/WorkbookRangeRef.d.ts.map +1 -1
- package/dist/operations/workbookRange/clearWorkbookRange.test.js +13 -21
- package/dist/operations/workbookRange/deleteWorkbookRange.test.js +13 -17
- package/dist/operations/workbookRange/getWorkbookRangeFormat.d.ts +6 -0
- package/dist/operations/workbookRange/getWorkbookRangeFormat.d.ts.map +1 -0
- package/dist/operations/workbookRange/getWorkbookRangeFormat.js +21 -0
- package/dist/operations/workbookRange/getWorkbookRangeFormat.test.d.ts +2 -0
- package/dist/operations/workbookRange/getWorkbookRangeFormat.test.d.ts.map +1 -0
- package/dist/operations/workbookRange/getWorkbookRangeFormat.test.js +33 -0
- package/dist/operations/workbookRange/getWorkbookUsedRange.d.ts.map +1 -1
- package/dist/operations/workbookRange/getWorkbookUsedRange.js +4 -0
- package/dist/operations/workbookRange/getWorkbookUsedRange.test.js +6 -12
- package/dist/operations/workbookRange/getWorkbookVisibleRange.test.js +6 -12
- package/dist/operations/workbookRange/getWorkbookWorksheetRange.d.ts +6 -0
- package/dist/operations/workbookRange/getWorkbookWorksheetRange.d.ts.map +1 -0
- package/dist/operations/workbookRange/getWorkbookWorksheetRange.js +21 -0
- package/dist/operations/workbookRange/getWorkbookWorksheetRange.test.d.ts +2 -0
- package/dist/operations/workbookRange/getWorkbookWorksheetRange.test.d.ts.map +1 -0
- package/dist/operations/workbookRange/getWorkbookWorksheetRange.test.js +32 -0
- package/dist/operations/workbookRange/insertWorkbookCells.d.ts +2 -2
- package/dist/operations/workbookRange/insertWorkbookCells.d.ts.map +1 -1
- package/dist/operations/workbookRange/insertWorkbookCells.js +4 -0
- package/dist/operations/workbookRange/insertWorkbookCells.test.js +1 -2
- package/dist/operations/workbookRange/updateWorkbookRange.test.js +7 -13
- package/dist/operations/workbookTable/createWorkbookTable.test.js +3 -3
- package/dist/operations/workbookTable/getWorkbookTable.test.js +3 -3
- package/dist/operations/workbookTable/getWorkbookTableBodyRange.d.ts.map +1 -1
- package/dist/operations/workbookTable/getWorkbookTableBodyRange.js +4 -0
- package/dist/operations/workbookTable/getWorkbookTableBodyRange.test.js +3 -3
- package/dist/operations/workbookTable/getWorkbookTableHeaderRange.d.ts.map +1 -1
- package/dist/operations/workbookTable/getWorkbookTableHeaderRange.js +4 -0
- package/dist/operations/workbookTable/getWorkbookTableHeaderRange.test.js +3 -3
- package/dist/operations/workbookTable/listWorkbookTableColumns.test.js +3 -3
- package/dist/operations/workbookTable/listWorkbookTableRows.test.js +3 -3
- package/dist/operations/workbookTable/listWorkbookTables.test.js +4 -4
- package/dist/operations/workbookWorksheet/getWorkbookWorksheetRange.d.ts.map +1 -1
- package/dist/operations/workbookWorksheet/getWorkbookWorksheetRange.js +1 -0
- package/dist/operations/workbookWorksheet/updateWorkbookWorksheet.test.js +6 -3
- package/dist/services/address.d.ts +12 -1
- package/dist/services/address.d.ts.map +1 -1
- package/dist/services/address.js +134 -2
- package/dist/services/address.test.d.ts +2 -0
- package/dist/services/address.test.d.ts.map +1 -0
- package/dist/services/address.test.js +82 -0
- package/dist/services/httpStatus.d.ts +1 -0
- package/dist/services/httpStatus.d.ts.map +1 -1
- package/dist/services/httpStatus.js +3 -0
- package/dist/services/workbookRange.d.ts +2 -2
- package/dist/services/workbookRange.d.ts.map +1 -1
- package/dist/services/workbookRangeAddress.d.ts +2 -2
- package/dist/services/workbookRangeAddress.d.ts.map +1 -1
- package/dist/services/workbookWorksheet.d.ts +1 -0
- package/dist/services/workbookWorksheet.d.ts.map +1 -1
- package/dist/services/workbookWorksheet.js +3 -0
- package/dist/tasks/getRangeLastUsedCell.d.ts.map +1 -1
- package/dist/tasks/getRangeLastUsedCell.js +5 -5
- package/dist/tasks/getWorkbookTableVisibleBody.test.js +3 -0
- package/dist/tasks/setColumnHidden.d.ts +2 -1
- package/dist/tasks/setColumnHidden.d.ts.map +1 -1
- package/dist/tasks/setColumnHidden.js +1 -1
- package/dist/tasks/setRowHidden.d.ts +2 -1
- package/dist/tasks/setRowHidden.d.ts.map +1 -1
- package/dist/tasks/setRowHidden.js +1 -1
- package/dist/tasks/setWorkbookTableBodyVisibleRows.d.ts +4 -0
- package/dist/tasks/setWorkbookTableBodyVisibleRows.d.ts.map +1 -0
- package/dist/tasks/setWorkbookTableBodyVisibleRows.js +39 -0
- package/dist/tasks/setWorkbookTableBodyVisibleRows.test.d.ts +2 -0
- package/dist/tasks/setWorkbookTableBodyVisibleRows.test.d.ts.map +1 -0
- package/dist/tasks/setWorkbookTableBodyVisibleRows.test.js +83 -0
- package/package.json +49 -521
- package/vitest.config.ts +2 -2
- package/dist/docs/getItem.js +0 -11
- package/dist/microsoftGraph/errors/BadTemplateError.js +0 -6
- package/dist/microsoftGraph/errors/InvalidArgumentError.js +0 -6
- package/dist/microsoftGraph/errors/RequestFailedError.js +0 -6
- package/dist/microsoftGraph/graphApi.js +0 -49
- package/dist/microsoftGraph/helpers/openSite.js +0 -12
- package/dist/microsoftGraph/helpers/openWorkbook.js +0 -23
- package/dist/microsoftGraph/helpers/openWorksheet.js +0 -7
- package/dist/microsoftGraph/models/HostName.js +0 -1
- package/dist/microsoftGraph/models/Scope.js +0 -1
- package/dist/microsoftGraph/models/SiteId.js +0 -1
- package/dist/microsoftGraph/models/SiteName.js +0 -1
- package/dist/microsoftGraph/models/SiteRef.js +0 -1
- package/dist/microsoftGraph/models/WorkbookNamedRangeRef.js +0 -1
- package/dist/microsoftGraph/models/WorkbookRangeAddress.js +0 -1
- package/dist/microsoftGraph/models/WorkbookRangeName.js +0 -1
- package/dist/microsoftGraph/models/WorkbookRangeRef.js +0 -1
- package/dist/microsoftGraph/models/WorkbookRef.js +0 -1
- package/dist/microsoftGraph/models/WorkbookSessionId.js +0 -1
- package/dist/microsoftGraph/models/WorkbookWorksheetId.js +0 -1
- package/dist/microsoftGraph/models/WorkbookWorksheetRef.js +0 -1
- package/dist/microsoftGraph/models/regenerate-dtos.js +0 -68
- package/dist/microsoftGraph/operations/drive/createFolder.js +0 -17
- package/dist/microsoftGraph/operations/drive/listDrives.js +0 -11
- package/dist/microsoftGraph/operations/driveItem/copyDriveItem.js +0 -20
- package/dist/microsoftGraph/operations/driveItem/deleteDriveItem.js +0 -11
- package/dist/microsoftGraph/operations/driveItem/getDriveItem.js +0 -11
- package/dist/microsoftGraph/operations/driveItem/getDriveItemByPath.js +0 -11
- package/dist/microsoftGraph/operations/driveItem/listDriveItems.js +0 -11
- package/dist/microsoftGraph/operations/site/getSite.js +0 -11
- package/dist/microsoftGraph/operations/site/getSiteByName.js +0 -11
- package/dist/microsoftGraph/operations/site/listSites.js +0 -11
- package/dist/microsoftGraph/operations/site/searchSites.js +0 -11
- package/dist/microsoftGraph/operations/workbook/createWorkbook.js +0 -14
- package/dist/microsoftGraph/operations/workbook/deleteWorkbook.js +0 -5
- package/dist/microsoftGraph/operations/workbookRange/clearWorkbookRange.js +0 -16
- package/dist/microsoftGraph/operations/workbookRange/deleteWorkbookRange.js +0 -16
- package/dist/microsoftGraph/operations/workbookRange/getWorkbookNamedRange.js +0 -13
- package/dist/microsoftGraph/operations/workbookRange/getWorkbookRange.js +0 -13
- package/dist/microsoftGraph/operations/workbookRange/getWorkbookUsedRange.js +0 -13
- package/dist/microsoftGraph/operations/workbookRange/insertWorkbookCells.js +0 -16
- package/dist/microsoftGraph/operations/workbookRange/updateWorkbookNamedRange.js +0 -14
- package/dist/microsoftGraph/operations/workbookRange/updateWorkbookRange.js +0 -14
- package/dist/microsoftGraph/operations/workbookSession/closeWorkbookSession.js +0 -17
- package/dist/microsoftGraph/operations/workbookSession/createWorkbookSession.js +0 -15
- package/dist/microsoftGraph/operations/workbookSession/refreshWorkbookSession.js +0 -18
- package/dist/microsoftGraph/operations/workbookWorksheet/createWorkbookWorksheet.js +0 -16
- package/dist/microsoftGraph/operations/workbookWorksheet/deleteWorkbookWorksheet.js +0 -13
- package/dist/microsoftGraph/operations/workbookWorksheet/listWorkbookWorksheets.js +0 -13
- package/dist/microsoftGraph/operations/workbookWorksheet/updateWorkbookWorksheet.js +0 -14
- package/dist/microsoftGraph/services/accessToken.js +0 -12
- package/dist/microsoftGraph/services/configuration.js +0 -20
- package/dist/microsoftGraph/services/sharepointUrl.js +0 -23
- package/dist/microsoftGraph/services/stringCaseConversion.js +0 -3
- package/dist/microsoftGraph/services/templatedPaths.js +0 -19
- package/dist/models/WorkbookRangeAddress.d.ts +0 -10
- package/dist/models/WorkbookRangeAddress.d.ts.map +0 -1
- package/dist/models/WorkbookRangeAddress.js +0 -1
- package/dist/operations/driveItem/copyDriveItem.d.ts +0 -5
- package/dist/operations/driveItem/copyDriveItem.d.ts.map +0 -1
- package/dist/operations/driveItem/copyDriveItem.js +0 -21
- package/dist/operations/driveItem/copyDriveItem.test.d.ts +0 -2
- package/dist/operations/driveItem/copyDriveItem.test.d.ts.map +0 -1
- package/dist/operations/driveItem/copyDriveItem.test.js +0 -28
- package/dist/operations/user/userSendMail.test.d.ts +0 -2
- package/dist/operations/user/userSendMail.test.d.ts.map +0 -1
- package/dist/operations/user/userSendMail.test.js +0 -17
- package/dist/services/configuration.d.ts +0 -7
- package/dist/services/configuration.d.ts.map +0 -1
- package/dist/services/configuration.js +0 -20
- package/dist/tasks/endSessionAndDeleteWorkbook.d.ts +0 -3
- package/dist/tasks/endSessionAndDeleteWorkbook.d.ts.map +0 -1
- package/dist/tasks/endSessionAndDeleteWorkbook.js +0 -6
- package/dist/tasks/getWorkbookWorksheetRefByName.d.ts +0 -5
- package/dist/tasks/getWorkbookWorksheetRefByName.d.ts.map +0 -1
- package/dist/tasks/getWorkbookWorksheetRefByName.js +0 -10
- package/dist/tsconfig.tsbuildinfo +0 -1
|
@@ -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"}
|
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
|
-
|
|
107
|
-
|
|
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
|
-
|
|
147
|
-
|
|
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"}
|
|
File without changes
|
|
@@ -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"}
|
|
File without changes
|
|
@@ -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"}
|
|
File without changes
|
|
@@ -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"}
|
|
File without changes
|
|
@@ -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"}
|
|
File without changes
|
|
@@ -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"}
|
|
File without changes
|
|
@@ -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"}
|
|
File without changes
|
|
@@ -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"}
|
|
File without changes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Address } from "./Address.ts";
|
|
2
2
|
import type { WorkbookWorksheetRef } from "./WorkbookWorksheetRef.ts";
|
|
3
3
|
export type WorkbookRangeRef = WorkbookWorksheetRef & {
|
|
4
|
-
address:
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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 @@
|
|
|
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;
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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 @@
|
|
|
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:
|
|
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;
|
|
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,
|