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.
- package/dist/cjs/errors/BadTemplateError.js +4 -1
- package/dist/cjs/errors/ContextNotRegisteredError.js +4 -1
- package/dist/cjs/errors/EnvironmentVariableMissingError.js +4 -1
- package/dist/cjs/errors/InconsistentContextError.js +4 -1
- package/dist/cjs/errors/InvalidArgumentError.js +4 -1
- package/dist/cjs/errors/NeverError.js +4 -1
- package/dist/cjs/errors/NotFoundError.js +4 -1
- package/dist/cjs/errors/NotImplementedError.js +4 -1
- package/dist/cjs/errors/ProtocolError.js +4 -1
- package/dist/cjs/errors/RequestFailedError.js +4 -1
- package/dist/cjs/errors/UnsupportedAddressTypeError.js +4 -1
- package/dist/cjs/graphApi.js +52 -43
- package/dist/cjs/index.d.ts +0 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/models/AccessToken.js +2 -1
- package/dist/cjs/models/Address.js +2 -1
- package/dist/cjs/models/CellRangeValues.js +2 -1
- package/dist/cjs/models/CellValue.js +2 -1
- package/dist/cjs/models/ClientId.js +2 -1
- package/dist/cjs/models/ClientSecret.js +2 -1
- package/dist/cjs/models/ColumnOffset.js +2 -1
- package/dist/cjs/models/Context.js +2 -1
- package/dist/cjs/models/ContextId.js +2 -1
- package/dist/cjs/models/ContextRef.js +2 -1
- package/dist/cjs/models/DriveId.js +2 -1
- package/dist/cjs/models/DriveItemId.js +2 -1
- package/dist/cjs/models/DriveItemPath.js +2 -1
- package/dist/cjs/models/DriveItemRef.js +2 -1
- package/dist/cjs/models/DriveRef.js +2 -1
- package/dist/cjs/models/GraphOperation.js +2 -1
- package/dist/cjs/models/GraphOperationDefinition.js +2 -1
- package/dist/cjs/models/HostName.js +2 -1
- package/dist/cjs/models/HttpProxy.js +2 -1
- package/dist/cjs/models/RowOffset.js +2 -1
- package/dist/cjs/models/RowRangeValues.js +2 -1
- package/dist/cjs/models/Scope.js +2 -1
- package/dist/cjs/models/SiteId.js +2 -1
- package/dist/cjs/models/SiteName.js +2 -1
- package/dist/cjs/models/SiteRef.js +2 -1
- package/dist/cjs/models/TenantId.js +2 -1
- package/dist/cjs/models/WorkbookNamedRangeRef.js +2 -1
- package/dist/cjs/models/WorkbookRangeName.js +2 -1
- package/dist/cjs/models/WorkbookRangeRef.js +2 -1
- package/dist/cjs/models/WorkbookRef.js +2 -1
- package/dist/cjs/models/WorkbookSessionId.js +2 -1
- package/dist/cjs/models/WorkbookTableColumnRef.js +2 -1
- package/dist/cjs/models/WorkbookTableId.js +2 -1
- package/dist/cjs/models/WorkbookTableRef.js +2 -1
- package/dist/cjs/models/WorkbookWorksheetId.js +2 -1
- package/dist/cjs/models/WorkbookWorksheetName.js +2 -1
- package/dist/cjs/models/WorkbookWorksheetRef.js +2 -1
- package/dist/cjs/operations/drive/createFolder.js +10 -7
- package/dist/cjs/operations/drive/createFolder.test.js +25 -20
- package/dist/cjs/operations/drive/listDrives.js +10 -7
- package/dist/cjs/operations/drive/listDrives.test.js +13 -8
- package/dist/cjs/operations/driveItem/deleteDriveItem.js +8 -5
- package/dist/cjs/operations/driveItem/deleteDriveItem.test.js +20 -15
- package/dist/cjs/operations/driveItem/getDriveItem.js +8 -5
- package/dist/cjs/operations/driveItem/getDriveItem.test.js +22 -17
- package/dist/cjs/operations/driveItem/getDriveItemByPath.js +10 -7
- package/dist/cjs/operations/driveItem/getDriveItemByPath.test.js +24 -19
- package/dist/cjs/operations/driveItem/getDriveItemContent.js +18 -12
- package/dist/cjs/operations/driveItem/getDriveItemContent.test.js +31 -26
- package/dist/cjs/operations/driveItem/initiateCopyDriveItem.js +8 -5
- package/dist/cjs/operations/driveItem/initiateCopyDriveItem.test.js +26 -21
- package/dist/cjs/operations/driveItem/listDriveItems.js +10 -7
- package/dist/cjs/operations/driveItem/listDriveItems.test.js +22 -17
- package/dist/cjs/operations/site/getSite.js +8 -5
- package/dist/cjs/operations/site/getSite.test.js +14 -9
- package/dist/cjs/operations/site/getSiteByName.js +10 -7
- package/dist/cjs/operations/site/getSiteByName.test.js +16 -11
- package/dist/cjs/operations/site/listSites.js +10 -7
- package/dist/cjs/operations/site/listSites.test.js +14 -9
- package/dist/cjs/operations/site/searchSites.js +10 -7
- package/dist/cjs/operations/site/searchSites.test.js +18 -13
- package/dist/cjs/operations/user/userSendMail.js +11 -5
- package/dist/cjs/operations/workbook/calculateWorkbook.js +10 -6
- package/dist/cjs/operations/workbook/calculateWorkbook.test.js +34 -29
- package/dist/cjs/operations/workbook/createWorkbook.js +16 -10
- package/dist/cjs/operations/workbook/createWorkbook.test.js +18 -13
- package/dist/cjs/operations/workbook/deleteWorkbook.js +9 -3
- package/dist/cjs/operations/workbookRange/clearWorkbookRange.js +8 -5
- package/dist/cjs/operations/workbookRange/clearWorkbookRange.test.js +43 -38
- package/dist/cjs/operations/workbookRange/deleteWorkbookRange.js +8 -5
- package/dist/cjs/operations/workbookRange/deleteWorkbookRange.test.js +43 -38
- package/dist/cjs/operations/workbookRange/getWorkbookNamedRange.js +8 -5
- package/dist/cjs/operations/workbookRange/getWorkbookRangeFormat.js +8 -5
- package/dist/cjs/operations/workbookRange/getWorkbookRangeFormat.test.js +27 -22
- package/dist/cjs/operations/workbookRange/getWorkbookUsedRange.js +15 -9
- package/dist/cjs/operations/workbookRange/getWorkbookVisibleRange.js +8 -5
- package/dist/cjs/operations/workbookRange/getWorkbookVisibleRange.test.js +67 -62
- package/dist/cjs/operations/workbookRange/getWorkbookWorksheetRange.js +8 -5
- package/dist/cjs/operations/workbookRange/getWorkbookWorksheetRange.test.js +25 -20
- package/dist/cjs/operations/workbookRange/insertWorkbookCells.js +15 -9
- package/dist/cjs/operations/workbookRange/insertWorkbookCells.test.js +30 -25
- package/dist/cjs/operations/workbookRange/updateWorkbookNamedRange.js +8 -5
- package/dist/cjs/operations/workbookRange/updateWorkbookRange.js +8 -5
- package/dist/cjs/operations/workbookRange/updateWorkbookRange.test.js +41 -36
- package/dist/cjs/operations/workbookSession/closeWorkbookSession.js +13 -7
- package/dist/cjs/operations/workbookSession/createWorkbookSession.js +8 -5
- package/dist/cjs/operations/workbookSession/refreshWorkbookSession.js +13 -7
- package/dist/cjs/operations/workbookTable/applyWorkbookTableColulmnFilter.test.js +34 -29
- package/dist/cjs/operations/workbookTable/applyWorkbookTableColumnFilter.js +8 -5
- package/dist/cjs/operations/workbookTable/clearWorkbookTableFilters.js +8 -5
- package/dist/cjs/operations/workbookTable/clearWorkbookTableFilters.test.js +36 -31
- package/dist/cjs/operations/workbookTable/createWorkbookTable.js +10 -7
- package/dist/cjs/operations/workbookTable/createWorkbookTable.test.js +24 -19
- package/dist/cjs/operations/workbookTable/deleteWorkbookTable.js +8 -5
- package/dist/cjs/operations/workbookTable/deleteWorkbookTable.test.js +34 -29
- package/dist/cjs/operations/workbookTable/deleteWorkbookTablePreservingValues.js +8 -5
- package/dist/cjs/operations/workbookTable/deleteWorkbookTablePreservingValues.test.js +34 -29
- package/dist/cjs/operations/workbookTable/getWorkbookTable.js +8 -5
- package/dist/cjs/operations/workbookTable/getWorkbookTable.test.js +29 -24
- package/dist/cjs/operations/workbookTable/getWorkbookTableBodyRange.js +15 -9
- package/dist/cjs/operations/workbookTable/getWorkbookTableBodyRange.test.js +33 -28
- package/dist/cjs/operations/workbookTable/getWorkbookTableBodyVisibleRange.js +10 -7
- package/dist/cjs/operations/workbookTable/getWorkbookTableBodyVisibleRange.test.js +34 -29
- package/dist/cjs/operations/workbookTable/getWorkbookTableHeaderRange.js +15 -9
- package/dist/cjs/operations/workbookTable/getWorkbookTableHeaderRange.test.js +33 -28
- package/dist/cjs/operations/workbookTable/listWorkbookTableColumns.js +8 -5
- package/dist/cjs/operations/workbookTable/listWorkbookTableColumns.test.js +28 -23
- package/dist/cjs/operations/workbookTable/listWorkbookTableRows.js +8 -5
- package/dist/cjs/operations/workbookTable/listWorkbookTableRows.test.js +28 -23
- package/dist/cjs/operations/workbookTable/listWorkbookTables.js +10 -7
- package/dist/cjs/operations/workbookTable/listWorkbookTables.test.js +29 -24
- package/dist/cjs/operations/workbookWorksheet/createWorkbookWorksheet.js +10 -7
- package/dist/cjs/operations/workbookWorksheet/createWorkbookWorksheet.test.js +29 -24
- package/dist/cjs/operations/workbookWorksheet/deleteWorkbookWorksheet.js +8 -5
- package/dist/cjs/operations/workbookWorksheet/deleteWorkbookWorksheet.test.js +27 -22
- package/dist/cjs/operations/workbookWorksheet/getWorkbookWorksheetUsedRange.js +15 -9
- package/dist/cjs/operations/workbookWorksheet/getWorkbookWorksheetUsedRange.test.js +41 -36
- package/dist/cjs/operations/workbookWorksheet/getWorkbookWorksheetUsedVisibleRange.js +10 -7
- package/dist/cjs/operations/workbookWorksheet/getWorkbookWorksheetUsedVisibleRange.test.js +31 -26
- package/dist/cjs/operations/workbookWorksheet/listWorkbookWorksheets.js +15 -9
- package/dist/cjs/operations/workbookWorksheet/listWorkbookWorksheets.test.js +37 -32
- package/dist/cjs/operations/workbookWorksheet/updateWorkbookWorksheet.js +8 -5
- package/dist/cjs/operations/workbookWorksheet/updateWorkbookWorksheet.test.js +36 -31
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/services/accessToken.js +6 -3
- package/dist/cjs/services/addressManipulation.js +64 -41
- package/dist/cjs/services/addressManipulation.test.js +239 -234
- package/dist/cjs/services/addressOffset.js +10 -4
- package/dist/cjs/services/addressOffset.test.js +32 -30
- package/dist/cjs/services/context.js +20 -12
- package/dist/cjs/services/drive.js +22 -15
- package/dist/cjs/services/driveItem.js +21 -13
- package/dist/cjs/services/driveItem.test.js +13 -8
- package/dist/cjs/services/environmentVariable.js +11 -4
- package/dist/cjs/services/httpAgent.js +6 -3
- package/dist/cjs/services/httpStatus.js +8 -3
- package/dist/cjs/services/operationId.js +6 -2
- package/dist/cjs/services/random.js +6 -3
- package/dist/cjs/services/sharepointUrl.js +11 -5
- package/dist/cjs/services/sharepointUrl.test.js +7 -5
- package/dist/cjs/services/site.js +15 -8
- package/dist/cjs/services/sleep.js +4 -1
- package/dist/cjs/services/stringCaseConversion.js +4 -1
- package/dist/cjs/services/stringCaseConversion.test.js +13 -11
- package/dist/cjs/services/templatedPaths.js +13 -7
- package/dist/cjs/services/templatedPaths.test.js +29 -24
- package/dist/cjs/services/temporaryFiles.js +6 -3
- package/dist/cjs/services/workbookRange.js +4 -1
- package/dist/cjs/services/workbookTable.js +4 -1
- package/dist/cjs/services/workbookTableColumn.js +4 -1
- package/dist/cjs/services/workbookWorksheet.js +9 -4
- package/dist/cjs/tasks/createWorkbookAndStartSession.js +11 -5
- package/dist/cjs/tasks/deleteDriveItemWithRetry.js +12 -6
- package/dist/cjs/tasks/downloadDriveItemContent.js +11 -5
- package/dist/cjs/tasks/getRangeLastUsedCell.js +17 -11
- package/dist/cjs/tasks/getRangeLastUsedCell.test.js +56 -51
- package/dist/cjs/tasks/getWorkbookTableVisibleBody.js +11 -5
- package/dist/cjs/tasks/getWorkbookWorksheetByName.js +11 -5
- package/dist/cjs/tasks/iterateWorkbookRangeValues.js +22 -16
- package/dist/cjs/tasks/iterateWorkbookRangeValues.test.js +41 -36
- package/dist/cjs/tasks/safeDeleteWorkbook.js +11 -5
- package/dist/cjs/tasks/setColumnHidden.js +12 -6
- package/dist/cjs/tasks/setColumnHidden.test.js +46 -41
- package/dist/cjs/tasks/setRowHidden.js +12 -6
- package/dist/cjs/tasks/setRowHidden.test.js +46 -41
- package/dist/cjs/tasks/setWorkbookRangeValues.js +15 -9
- package/dist/cjs/tasks/setWorkbookRangeValues.test.js +29 -24
- package/dist/cjs/tasks/setWorkbookTableBodyVisibleRows.js +23 -17
- package/dist/cjs/tasks/setWorkbookTableBodyVisibleRows.test.js +50 -45
- package/dist/cjs/tasks/tryDeleteDriveItem.js +9 -3
- package/dist/esm/package.json +3 -0
- package/package.json +655 -2
- package/tsconfig.cjs.json +4 -3
- package/update-exports.ts +47 -13
|
@@ -1,61 +1,66 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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 calculateWorkbook_ts_1 = __importDefault(require("../operations/workbook/calculateWorkbook.js"));
|
|
8
|
+
const createWorkbook_ts_1 = __importDefault(require("../operations/workbook/createWorkbook.js"));
|
|
9
|
+
const drive_ts_1 = require("../services/drive.js");
|
|
10
|
+
const driveItem_ts_1 = require("../services/driveItem.js");
|
|
11
|
+
const temporaryFiles_ts_1 = require("../services/temporaryFiles.js");
|
|
12
|
+
const workbookRange_ts_1 = require("../services/workbookRange.js");
|
|
13
|
+
const workbookWorksheet_ts_1 = require("../services/workbookWorksheet.js");
|
|
14
|
+
const iterateWorkbookRangeValues_ts_1 = __importDefault(require("./iterateWorkbookRangeValues.js"));
|
|
15
|
+
const setWorkbookRangeValues_ts_1 = __importDefault(require("./setWorkbookRangeValues.js"));
|
|
16
|
+
const tryDeleteDriveItem_ts_1 = __importDefault(require("./tryDeleteDriveItem.js"));
|
|
17
|
+
(0, vitest_1.describe)("iterateWorkbookRangeValues", () => {
|
|
18
|
+
(0, vitest_1.it)("Single request", async () => {
|
|
19
|
+
const workbookName = (0, temporaryFiles_ts_1.generateTempFileName)("xlsx");
|
|
20
|
+
const workbookPath = (0, driveItem_ts_1.driveItemPath)(workbookName);
|
|
21
|
+
const driveRef = (0, drive_ts_1.getDefaultDriveRef)();
|
|
22
|
+
const workbook = await (0, createWorkbook_ts_1.default)(driveRef, workbookPath);
|
|
23
|
+
const worksheetRef = (0, workbookWorksheet_ts_1.createWorkbookWorksheetRef)(workbook, workbookWorksheet_ts_1.defaultWorkbookWorksheetId);
|
|
19
24
|
try {
|
|
20
|
-
const rangeRef = createWorkbookRangeRef(worksheetRef, "A1:C3");
|
|
25
|
+
const rangeRef = (0, workbookRange_ts_1.createWorkbookRangeRef)(worksheetRef, "A1:C3");
|
|
21
26
|
const values = [
|
|
22
27
|
[1, 2, 3],
|
|
23
28
|
[4, 5, 6],
|
|
24
29
|
[7, 8, 9],
|
|
25
30
|
];
|
|
26
|
-
await
|
|
27
|
-
await
|
|
31
|
+
await (0, setWorkbookRangeValues_ts_1.default)(rangeRef, values);
|
|
32
|
+
await (0, calculateWorkbook_ts_1.default)(workbook);
|
|
28
33
|
let idx = 0;
|
|
29
|
-
for await (const row of
|
|
30
|
-
expect(row).toEqual(values[idx++]);
|
|
34
|
+
for await (const row of (0, iterateWorkbookRangeValues_ts_1.default)(rangeRef)) {
|
|
35
|
+
(0, vitest_1.expect)(row).toEqual(values[idx++]);
|
|
31
36
|
}
|
|
32
37
|
}
|
|
33
38
|
finally {
|
|
34
|
-
await
|
|
39
|
+
await (0, tryDeleteDriveItem_ts_1.default)(workbook);
|
|
35
40
|
}
|
|
36
41
|
});
|
|
37
|
-
it("Multiple requests", async () => {
|
|
38
|
-
const workbookName = generateTempFileName("xlsx");
|
|
39
|
-
const workbookPath = driveItemPath(workbookName);
|
|
40
|
-
const driveRef = getDefaultDriveRef();
|
|
41
|
-
const workbook = await
|
|
42
|
-
const worksheetRef = createWorkbookWorksheetRef(workbook, defaultWorkbookWorksheetId);
|
|
42
|
+
(0, vitest_1.it)("Multiple requests", async () => {
|
|
43
|
+
const workbookName = (0, temporaryFiles_ts_1.generateTempFileName)("xlsx");
|
|
44
|
+
const workbookPath = (0, driveItem_ts_1.driveItemPath)(workbookName);
|
|
45
|
+
const driveRef = (0, drive_ts_1.getDefaultDriveRef)();
|
|
46
|
+
const workbook = await (0, createWorkbook_ts_1.default)(driveRef, workbookPath);
|
|
47
|
+
const worksheetRef = (0, workbookWorksheet_ts_1.createWorkbookWorksheetRef)(workbook, workbookWorksheet_ts_1.defaultWorkbookWorksheetId);
|
|
43
48
|
try {
|
|
44
|
-
const rangeRef = createWorkbookRangeRef(worksheetRef, "A1:C3");
|
|
49
|
+
const rangeRef = (0, workbookRange_ts_1.createWorkbookRangeRef)(worksheetRef, "A1:C3");
|
|
45
50
|
const values = [
|
|
46
51
|
[1, 2, 3],
|
|
47
52
|
[4, 5, 6],
|
|
48
53
|
[7, 8, 9],
|
|
49
54
|
];
|
|
50
|
-
await
|
|
51
|
-
await
|
|
55
|
+
await (0, setWorkbookRangeValues_ts_1.default)(rangeRef, values);
|
|
56
|
+
await (0, calculateWorkbook_ts_1.default)(workbook);
|
|
52
57
|
let idx = 0;
|
|
53
|
-
for await (const row of
|
|
54
|
-
expect(row).toEqual(values[idx++]);
|
|
58
|
+
for await (const row of (0, iterateWorkbookRangeValues_ts_1.default)(rangeRef, 1)) {
|
|
59
|
+
(0, vitest_1.expect)(row).toEqual(values[idx++]);
|
|
55
60
|
}
|
|
56
61
|
}
|
|
57
62
|
finally {
|
|
58
|
-
await
|
|
63
|
+
await (0, tryDeleteDriveItem_ts_1.default)(workbook);
|
|
59
64
|
}
|
|
60
65
|
});
|
|
61
66
|
});
|
|
@@ -1,5 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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 = safeDeleteWorkbook;
|
|
7
|
+
const closeWorkbookSession_ts_1 = __importDefault(require("../operations/workbookSession/closeWorkbookSession.js"));
|
|
8
|
+
const deleteDriveItemWithRetry_ts_1 = __importDefault(require("./deleteDriveItemWithRetry.js"));
|
|
3
9
|
/**
|
|
4
10
|
* Safely delete a workbook by first closing any open sessions and then deleting it with a back-off retry to allow for any outstanding locks to be closed.
|
|
5
11
|
*
|
|
@@ -7,9 +13,9 @@ import deleteDriveItemWithRetry from "./deleteDriveItemWithRetry.js";
|
|
|
7
13
|
* @returns Void when the workbook is successfully deleted.
|
|
8
14
|
* @see https://github.com/Future-Secure-AI/microsoft-graph/blob/main/docs/lockedWorkbook.md
|
|
9
15
|
*/
|
|
10
|
-
|
|
16
|
+
async function safeDeleteWorkbook(workbookRef) {
|
|
11
17
|
if (workbookRef.sessionId) {
|
|
12
|
-
await
|
|
18
|
+
await (0, closeWorkbookSession_ts_1.default)(workbookRef);
|
|
13
19
|
}
|
|
14
|
-
await
|
|
20
|
+
await (0, deleteDriveItemWithRetry_ts_1.default)(workbookRef);
|
|
15
21
|
}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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 = setColumnHidden;
|
|
7
|
+
const updateWorkbookRange_ts_1 = __importDefault(require("../operations/workbookRange/updateWorkbookRange.js"));
|
|
8
|
+
const addressManipulation_ts_1 = require("../services/addressManipulation.js");
|
|
3
9
|
/**
|
|
4
10
|
* Hide or show one or more columns.
|
|
5
11
|
*
|
|
@@ -7,13 +13,13 @@ import { decomposeAddress, isAllColumnsAddress } from "../services/addressManipu
|
|
|
7
13
|
* @param hidden - A boolean indicating whether to hide (`true`) or show (`false`) the columns.
|
|
8
14
|
* @returns The updated workbook range.
|
|
9
15
|
*/
|
|
10
|
-
|
|
11
|
-
if (isAllColumnsAddress(rangeRef.address)) {
|
|
16
|
+
async function setColumnHidden(rangeRef, hidden) {
|
|
17
|
+
if ((0, addressManipulation_ts_1.isAllColumnsAddress)(rangeRef.address)) {
|
|
12
18
|
throw new Error("Cannot hide all columns");
|
|
13
19
|
}
|
|
14
|
-
const components = decomposeAddress(rangeRef.address);
|
|
20
|
+
const components = (0, addressManipulation_ts_1.decomposeAddress)(rangeRef.address);
|
|
15
21
|
rangeRef.address = `${components.startColumn}:${components.endColumn}`; // Workaround API explicitly wanting a range
|
|
16
|
-
return await
|
|
22
|
+
return await (0, updateWorkbookRange_ts_1.default)(rangeRef, {
|
|
17
23
|
columnHidden: hidden,
|
|
18
24
|
});
|
|
19
25
|
}
|
|
@@ -1,68 +1,73 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
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 calculateWorkbook_ts_1 = __importDefault(require("../operations/workbook/calculateWorkbook.js"));
|
|
8
|
+
const createWorkbook_ts_1 = __importDefault(require("../operations/workbook/createWorkbook.js"));
|
|
9
|
+
const getWorkbookVisibleRange_ts_1 = __importDefault(require("../operations/workbookRange/getWorkbookVisibleRange.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 setColumnHidden_ts_1 = __importDefault(require("./setColumnHidden.js"));
|
|
17
|
+
const tryDeleteDriveItem_ts_1 = __importDefault(require("./tryDeleteDriveItem.js"));
|
|
18
|
+
(0, vitest_1.describe)("setColumnHidden", () => {
|
|
19
|
+
(0, vitest_1.it)("hides a single column in an existing workbook", 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);
|
|
20
25
|
try {
|
|
21
|
-
const rangeRef = createWorkbookRangeRef(worksheetRef, "A1:C3");
|
|
22
|
-
await
|
|
26
|
+
const rangeRef = (0, workbookRange_ts_1.createWorkbookRangeRef)(worksheetRef, "A1:C3");
|
|
27
|
+
await (0, updateWorkbookRange_ts_1.default)(rangeRef, {
|
|
23
28
|
values: [
|
|
24
29
|
[1, 2, 3],
|
|
25
30
|
[4, 5, 6],
|
|
26
31
|
[7, 8, 9],
|
|
27
32
|
],
|
|
28
33
|
});
|
|
29
|
-
const hiddenRange = createWorkbookRangeRef(worksheetRef, "B");
|
|
30
|
-
await
|
|
31
|
-
await
|
|
32
|
-
const visibleView = await
|
|
33
|
-
expect(visibleView.values).toEqual([
|
|
34
|
+
const hiddenRange = (0, workbookRange_ts_1.createWorkbookRangeRef)(worksheetRef, "B");
|
|
35
|
+
await (0, setColumnHidden_ts_1.default)(hiddenRange, true);
|
|
36
|
+
await (0, calculateWorkbook_ts_1.default)(workbook);
|
|
37
|
+
const visibleView = await (0, getWorkbookVisibleRange_ts_1.default)(rangeRef);
|
|
38
|
+
(0, vitest_1.expect)(visibleView.values).toEqual([
|
|
34
39
|
[1, 3],
|
|
35
40
|
[4, 6],
|
|
36
41
|
[7, 9],
|
|
37
42
|
]);
|
|
38
43
|
}
|
|
39
44
|
finally {
|
|
40
|
-
await
|
|
45
|
+
await (0, tryDeleteDriveItem_ts_1.default)(workbook);
|
|
41
46
|
}
|
|
42
47
|
});
|
|
43
|
-
it("hides a multiple columns in an existing workbook", async () => {
|
|
44
|
-
const workbookName = generateTempFileName("xlsx");
|
|
45
|
-
const workbookPath = driveItemPath(workbookName);
|
|
46
|
-
const driveRef = getDefaultDriveRef();
|
|
47
|
-
const workbook = await
|
|
48
|
-
const worksheetRef = createWorkbookWorksheetRef(workbook, defaultWorkbookWorksheetId);
|
|
48
|
+
(0, vitest_1.it)("hides a multiple columns in an existing workbook", async () => {
|
|
49
|
+
const workbookName = (0, temporaryFiles_ts_1.generateTempFileName)("xlsx");
|
|
50
|
+
const workbookPath = (0, driveItem_ts_1.driveItemPath)(workbookName);
|
|
51
|
+
const driveRef = (0, drive_ts_1.getDefaultDriveRef)();
|
|
52
|
+
const workbook = await (0, createWorkbook_ts_1.default)(driveRef, workbookPath);
|
|
53
|
+
const worksheetRef = (0, workbookWorksheet_ts_1.createWorkbookWorksheetRef)(workbook, workbookWorksheet_ts_1.defaultWorkbookWorksheetId);
|
|
49
54
|
try {
|
|
50
|
-
const rangeRef = createWorkbookRangeRef(worksheetRef, "A1:C3");
|
|
51
|
-
await
|
|
55
|
+
const rangeRef = (0, workbookRange_ts_1.createWorkbookRangeRef)(worksheetRef, "A1:C3");
|
|
56
|
+
await (0, updateWorkbookRange_ts_1.default)(rangeRef, {
|
|
52
57
|
values: [
|
|
53
58
|
[1, 2, 3],
|
|
54
59
|
[4, 5, 6],
|
|
55
60
|
[7, 8, 9],
|
|
56
61
|
],
|
|
57
62
|
});
|
|
58
|
-
const hiddenRange = createWorkbookRangeRef(worksheetRef, "B:C");
|
|
59
|
-
await
|
|
60
|
-
await
|
|
61
|
-
const visibleView = await
|
|
62
|
-
expect(visibleView.values).toEqual([[1], [4], [7]]);
|
|
63
|
+
const hiddenRange = (0, workbookRange_ts_1.createWorkbookRangeRef)(worksheetRef, "B:C");
|
|
64
|
+
await (0, setColumnHidden_ts_1.default)(hiddenRange, true);
|
|
65
|
+
await (0, calculateWorkbook_ts_1.default)(workbook);
|
|
66
|
+
const visibleView = await (0, getWorkbookVisibleRange_ts_1.default)(rangeRef);
|
|
67
|
+
(0, vitest_1.expect)(visibleView.values).toEqual([[1], [4], [7]]);
|
|
63
68
|
}
|
|
64
69
|
finally {
|
|
65
|
-
await
|
|
70
|
+
await (0, tryDeleteDriveItem_ts_1.default)(workbook);
|
|
66
71
|
}
|
|
67
72
|
});
|
|
68
73
|
});
|
|
@@ -1,5 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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 = setRowHidden;
|
|
7
|
+
const updateWorkbookRange_ts_1 = __importDefault(require("../operations/workbookRange/updateWorkbookRange.js"));
|
|
8
|
+
const addressManipulation_ts_1 = require("../services/addressManipulation.js");
|
|
3
9
|
/**
|
|
4
10
|
* Hide or show one or more rows.
|
|
5
11
|
*
|
|
@@ -7,13 +13,13 @@ import { decomposeAddress, isAllRowsAddress } from "../services/addressManipulat
|
|
|
7
13
|
* @param hidden - A boolean indicating whether to hide (`true`) or show (`false`) the rows.
|
|
8
14
|
* @returns The updated workbook range.
|
|
9
15
|
*/
|
|
10
|
-
|
|
11
|
-
if (isAllRowsAddress(rangeRef.address)) {
|
|
16
|
+
async function setRowHidden(rangeRef, hidden) {
|
|
17
|
+
if ((0, addressManipulation_ts_1.isAllRowsAddress)(rangeRef.address)) {
|
|
12
18
|
throw new Error("Cannot hide all rows");
|
|
13
19
|
}
|
|
14
|
-
const components = decomposeAddress(rangeRef.address);
|
|
20
|
+
const components = (0, addressManipulation_ts_1.decomposeAddress)(rangeRef.address);
|
|
15
21
|
rangeRef.address = `${components.startRow}:${components.endRow}`; // Workaround API explicitly wanting a range
|
|
16
|
-
return await
|
|
22
|
+
return await (0, updateWorkbookRange_ts_1.default)(rangeRef, {
|
|
17
23
|
rowHidden: hidden,
|
|
18
24
|
});
|
|
19
25
|
}
|
|
@@ -1,67 +1,72 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
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 calculateWorkbook_ts_1 = __importDefault(require("../operations/workbook/calculateWorkbook.js"));
|
|
8
|
+
const createWorkbook_ts_1 = __importDefault(require("../operations/workbook/createWorkbook.js"));
|
|
9
|
+
const getWorkbookVisibleRange_ts_1 = __importDefault(require("../operations/workbookRange/getWorkbookVisibleRange.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 setRowHidden_ts_1 = __importDefault(require("./setRowHidden.js"));
|
|
17
|
+
const tryDeleteDriveItem_ts_1 = __importDefault(require("./tryDeleteDriveItem.js"));
|
|
18
|
+
(0, vitest_1.describe)("setRowHidden", () => {
|
|
19
|
+
(0, vitest_1.it)("hides a single row in an existing workbook", 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);
|
|
20
25
|
try {
|
|
21
|
-
const rangeRef = createWorkbookRangeRef(worksheetRef, "A1:C3");
|
|
22
|
-
await
|
|
26
|
+
const rangeRef = (0, workbookRange_ts_1.createWorkbookRangeRef)(worksheetRef, "A1:C3");
|
|
27
|
+
await (0, updateWorkbookRange_ts_1.default)(rangeRef, {
|
|
23
28
|
values: [
|
|
24
29
|
[1, 2, 3],
|
|
25
30
|
[4, 5, 6],
|
|
26
31
|
[7, 8, 9],
|
|
27
32
|
],
|
|
28
33
|
});
|
|
29
|
-
const hiddenRange = createWorkbookRangeRef(worksheetRef, "2");
|
|
30
|
-
await
|
|
31
|
-
await
|
|
32
|
-
const visibleView = await
|
|
33
|
-
expect(visibleView.values).toEqual([
|
|
34
|
+
const hiddenRange = (0, workbookRange_ts_1.createWorkbookRangeRef)(worksheetRef, "2");
|
|
35
|
+
await (0, setRowHidden_ts_1.default)(hiddenRange, true);
|
|
36
|
+
await (0, calculateWorkbook_ts_1.default)(workbook);
|
|
37
|
+
const visibleView = await (0, getWorkbookVisibleRange_ts_1.default)(rangeRef);
|
|
38
|
+
(0, vitest_1.expect)(visibleView.values).toEqual([
|
|
34
39
|
[1, 2, 3],
|
|
35
40
|
[7, 8, 9],
|
|
36
41
|
]);
|
|
37
42
|
}
|
|
38
43
|
finally {
|
|
39
|
-
await
|
|
44
|
+
await (0, tryDeleteDriveItem_ts_1.default)(workbook);
|
|
40
45
|
}
|
|
41
46
|
});
|
|
42
|
-
it("hides multiple rows in an existing workbook", async () => {
|
|
43
|
-
const workbookName = generateTempFileName("xlsx");
|
|
44
|
-
const workbookPath = driveItemPath(workbookName);
|
|
45
|
-
const driveRef = getDefaultDriveRef();
|
|
46
|
-
const workbook = await
|
|
47
|
-
const worksheetRef = createWorkbookWorksheetRef(workbook, defaultWorkbookWorksheetId);
|
|
47
|
+
(0, vitest_1.it)("hides multiple rows in an existing workbook", async () => {
|
|
48
|
+
const workbookName = (0, temporaryFiles_ts_1.generateTempFileName)("xlsx");
|
|
49
|
+
const workbookPath = (0, driveItem_ts_1.driveItemPath)(workbookName);
|
|
50
|
+
const driveRef = (0, drive_ts_1.getDefaultDriveRef)();
|
|
51
|
+
const workbook = await (0, createWorkbook_ts_1.default)(driveRef, workbookPath);
|
|
52
|
+
const worksheetRef = (0, workbookWorksheet_ts_1.createWorkbookWorksheetRef)(workbook, workbookWorksheet_ts_1.defaultWorkbookWorksheetId);
|
|
48
53
|
try {
|
|
49
|
-
const rangeRef = createWorkbookRangeRef(worksheetRef, "A1:C3");
|
|
50
|
-
await
|
|
54
|
+
const rangeRef = (0, workbookRange_ts_1.createWorkbookRangeRef)(worksheetRef, "A1:C3");
|
|
55
|
+
await (0, updateWorkbookRange_ts_1.default)(rangeRef, {
|
|
51
56
|
values: [
|
|
52
57
|
[1, 2, 3],
|
|
53
58
|
[4, 5, 6],
|
|
54
59
|
[7, 8, 9],
|
|
55
60
|
],
|
|
56
61
|
});
|
|
57
|
-
const hiddenRange = createWorkbookRangeRef(worksheetRef, "2:3");
|
|
58
|
-
await
|
|
59
|
-
await
|
|
60
|
-
const visibleView = await
|
|
61
|
-
expect(visibleView.values).toEqual([[1, 2, 3]]);
|
|
62
|
+
const hiddenRange = (0, workbookRange_ts_1.createWorkbookRangeRef)(worksheetRef, "2:3");
|
|
63
|
+
await (0, setRowHidden_ts_1.default)(hiddenRange, true);
|
|
64
|
+
await (0, calculateWorkbook_ts_1.default)(workbook);
|
|
65
|
+
const visibleView = await (0, getWorkbookVisibleRange_ts_1.default)(rangeRef);
|
|
66
|
+
(0, vitest_1.expect)(visibleView.values).toEqual([[1, 2, 3]]);
|
|
62
67
|
}
|
|
63
68
|
finally {
|
|
64
|
-
await
|
|
69
|
+
await (0, tryDeleteDriveItem_ts_1.default)(workbook);
|
|
65
70
|
}
|
|
66
71
|
});
|
|
67
72
|
});
|
|
@@ -1,6 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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 = setWorkbookRangeValues;
|
|
7
|
+
const InvalidArgumentError_ts_1 = __importDefault(require("../errors/InvalidArgumentError.js"));
|
|
8
|
+
const updateWorkbookRange_ts_1 = __importDefault(require("../operations/workbookRange/updateWorkbookRange.js"));
|
|
9
|
+
const addressManipulation_ts_1 = require("../services/addressManipulation.js");
|
|
4
10
|
/**
|
|
5
11
|
* Sets the values of a specified workbook range.
|
|
6
12
|
*
|
|
@@ -8,16 +14,16 @@ import { countAddressColumns, countAddressRows } from "../services/addressManipu
|
|
|
8
14
|
* @param {CellRangeValues} values - The values to set in the specified workbook range. Must match the range's dimensions.
|
|
9
15
|
* @returns Nothing
|
|
10
16
|
*/
|
|
11
|
-
|
|
12
|
-
const rowCount = countAddressRows(rangeRef.address);
|
|
17
|
+
async function setWorkbookRangeValues(rangeRef, values) {
|
|
18
|
+
const rowCount = (0, addressManipulation_ts_1.countAddressRows)(rangeRef.address);
|
|
13
19
|
if (values.length !== rowCount) {
|
|
14
|
-
throw new
|
|
20
|
+
throw new InvalidArgumentError_ts_1.default(`The number of rows in the values array (${values.length}) does not match the number of rows in the range (${rowCount}).`);
|
|
15
21
|
}
|
|
16
|
-
const columnCount = countAddressColumns(rangeRef.address);
|
|
22
|
+
const columnCount = (0, addressManipulation_ts_1.countAddressColumns)(rangeRef.address);
|
|
17
23
|
if (values.some((row) => row.length !== columnCount)) {
|
|
18
|
-
throw new
|
|
24
|
+
throw new InvalidArgumentError_ts_1.default(`The number of columns in the values array does not match the number of columns in the range (${columnCount}).`);
|
|
19
25
|
}
|
|
20
|
-
await
|
|
26
|
+
await (0, updateWorkbookRange_ts_1.default)(rangeRef, {
|
|
21
27
|
values: values,
|
|
22
28
|
});
|
|
23
29
|
}
|
|
@@ -1,35 +1,40 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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 calculateWorkbook_ts_1 = __importDefault(require("../operations/workbook/calculateWorkbook.js"));
|
|
8
|
+
const createWorkbook_ts_1 = __importDefault(require("../operations/workbook/createWorkbook.js"));
|
|
9
|
+
const getWorkbookWorksheetUsedRange_ts_1 = __importDefault(require("../operations/workbookWorksheet/getWorkbookWorksheetUsedRange.js"));
|
|
10
|
+
const drive_ts_1 = require("../services/drive.js");
|
|
11
|
+
const driveItem_ts_1 = require("../services/driveItem.js");
|
|
12
|
+
const temporaryFiles_ts_1 = require("../services/temporaryFiles.js");
|
|
13
|
+
const workbookRange_ts_1 = require("../services/workbookRange.js");
|
|
14
|
+
const workbookWorksheet_ts_1 = require("../services/workbookWorksheet.js");
|
|
15
|
+
const setWorkbookRangeValues_ts_1 = __importDefault(require("./setWorkbookRangeValues.js"));
|
|
16
|
+
const tryDeleteDriveItem_ts_1 = __importDefault(require("./tryDeleteDriveItem.js"));
|
|
17
|
+
(0, vitest_1.describe)("setWorkbookRangeValues", () => {
|
|
18
|
+
(0, vitest_1.it)("calls updateWorkbookRange with the correct arguments when values match the range dimensions", async () => {
|
|
19
|
+
const workbookName = (0, temporaryFiles_ts_1.generateTempFileName)("xlsx");
|
|
20
|
+
const workbookPath = (0, driveItem_ts_1.driveItemPath)(workbookName);
|
|
21
|
+
const driveRef = (0, drive_ts_1.getDefaultDriveRef)();
|
|
22
|
+
const workbook = await (0, createWorkbook_ts_1.default)(driveRef, workbookPath);
|
|
23
|
+
const worksheetRef = (0, workbookWorksheet_ts_1.createWorkbookWorksheetRef)(workbook, workbookWorksheet_ts_1.defaultWorkbookWorksheetId);
|
|
19
24
|
try {
|
|
20
|
-
const rangeRef = createWorkbookRangeRef(worksheetRef, "A1:C3");
|
|
25
|
+
const rangeRef = (0, workbookRange_ts_1.createWorkbookRangeRef)(worksheetRef, "A1:C3");
|
|
21
26
|
const values = [
|
|
22
27
|
[1, 2, 3],
|
|
23
28
|
[4, 5, 6],
|
|
24
29
|
[7, 8, 9],
|
|
25
30
|
];
|
|
26
|
-
await
|
|
27
|
-
await
|
|
28
|
-
const visibleView = await
|
|
29
|
-
expect(visibleView.values).toEqual(values);
|
|
31
|
+
await (0, setWorkbookRangeValues_ts_1.default)(rangeRef, values);
|
|
32
|
+
await (0, calculateWorkbook_ts_1.default)(workbook);
|
|
33
|
+
const visibleView = await (0, getWorkbookWorksheetUsedRange_ts_1.default)(rangeRef);
|
|
34
|
+
(0, vitest_1.expect)(visibleView.values).toEqual(values);
|
|
30
35
|
}
|
|
31
36
|
finally {
|
|
32
|
-
await
|
|
37
|
+
await (0, tryDeleteDriveItem_ts_1.default)(workbook);
|
|
33
38
|
}
|
|
34
39
|
});
|
|
35
40
|
});
|
|
@@ -1,10 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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.setWorkbookTableBodyVisibleRows = setWorkbookTableBodyVisibleRows;
|
|
7
|
+
const InvalidArgumentError_ts_1 = __importDefault(require("../errors/InvalidArgumentError.js"));
|
|
8
|
+
const getWorkbookWorksheetRange_ts_1 = __importDefault(require("../operations/workbookRange/getWorkbookWorksheetRange.js"));
|
|
9
|
+
const insertWorkbookCells_ts_1 = __importDefault(require("../operations/workbookRange/insertWorkbookCells.js"));
|
|
10
|
+
const updateWorkbookRange_ts_1 = __importDefault(require("../operations/workbookRange/updateWorkbookRange.js"));
|
|
11
|
+
const getWorkbookTableBodyRange_ts_1 = __importDefault(require("../operations/workbookTable/getWorkbookTableBodyRange.js"));
|
|
12
|
+
const addressManipulation_ts_1 = require("../services/addressManipulation.js");
|
|
13
|
+
const workbookRange_ts_1 = require("../services/workbookRange.js");
|
|
8
14
|
/**
|
|
9
15
|
* Overwrite visible rows of a workbook table with the provided 2D array of values, inserting new rows at the end if needed.
|
|
10
16
|
* THIS IS SLOW as it must check each row's visibility.
|
|
@@ -14,28 +20,28 @@ import { createWorkbookRangeRef } from "../services/workbookRange.js";
|
|
|
14
20
|
* @throws {InvalidArgumentError} If the number of columns in any row of `values` does not match the table's column count.
|
|
15
21
|
* @returns Void when the operation is complete.
|
|
16
22
|
*/
|
|
17
|
-
|
|
18
|
-
const visibleRange = await
|
|
23
|
+
async function setWorkbookTableBodyVisibleRows(tableRef, values) {
|
|
24
|
+
const visibleRange = await (0, getWorkbookTableBodyRange_ts_1.default)(tableRef);
|
|
19
25
|
if (values.some((row) => row.length !== visibleRange.columnCount)) {
|
|
20
|
-
throw new
|
|
26
|
+
throw new InvalidArgumentError_ts_1.default(`Invalid number of columns in input values. Expected all rows to have ${visibleRange.columnCount}.`);
|
|
21
27
|
}
|
|
22
|
-
const firstRowAddress = getFirstRowAddress(visibleRange.address);
|
|
28
|
+
const firstRowAddress = (0, addressManipulation_ts_1.getFirstRowAddress)(visibleRange.address);
|
|
23
29
|
let currentRowAddress = firstRowAddress;
|
|
24
30
|
for (const rowValues of values) {
|
|
25
31
|
let rowRef;
|
|
26
32
|
let rowHidden = false;
|
|
27
33
|
do {
|
|
28
|
-
rowRef = createWorkbookRangeRef(tableRef, currentRowAddress);
|
|
29
|
-
if (isAddressOverlapping(currentRowAddress, visibleRange.address)) {
|
|
30
|
-
const row = await
|
|
34
|
+
rowRef = (0, workbookRange_ts_1.createWorkbookRangeRef)(tableRef, currentRowAddress);
|
|
35
|
+
if ((0, addressManipulation_ts_1.isAddressOverlapping)(currentRowAddress, visibleRange.address)) {
|
|
36
|
+
const row = await (0, getWorkbookWorksheetRange_ts_1.default)(rowRef);
|
|
31
37
|
rowHidden = row.rowHidden ?? false;
|
|
32
38
|
}
|
|
33
39
|
else {
|
|
34
|
-
await
|
|
40
|
+
await (0, insertWorkbookCells_ts_1.default)(rowRef, rowRef.address, "Down");
|
|
35
41
|
rowHidden = false;
|
|
36
42
|
}
|
|
37
|
-
currentRowAddress = incrementRowAddress(currentRowAddress);
|
|
43
|
+
currentRowAddress = (0, addressManipulation_ts_1.incrementRowAddress)(currentRowAddress);
|
|
38
44
|
} while (rowHidden);
|
|
39
|
-
await
|
|
45
|
+
await (0, updateWorkbookRange_ts_1.default)(rowRef, { values: [rowValues] });
|
|
40
46
|
}
|
|
41
47
|
}
|