microsoft-graph 2.15.2 → 2.17.0

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 (119) hide show
  1. package/dist/cjs/errors/InvalidOperationError.d.ts +4 -0
  2. package/dist/cjs/errors/InvalidOperationError.d.ts.map +1 -0
  3. package/dist/cjs/errors/InvalidOperationError.js +9 -0
  4. package/dist/cjs/graphApi.js +2 -2
  5. package/dist/cjs/models/Cell.d.ts +8 -0
  6. package/dist/cjs/models/Cell.d.ts.map +1 -0
  7. package/dist/cjs/models/Cell.js +2 -0
  8. package/dist/cjs/models/Item.d.ts +9 -0
  9. package/dist/cjs/models/Item.d.ts.map +1 -0
  10. package/dist/cjs/models/Item.js +2 -0
  11. package/dist/cjs/models/NumberFormat.d.ts +4 -0
  12. package/dist/cjs/models/NumberFormat.d.ts.map +1 -0
  13. package/dist/cjs/models/NumberFormat.js +2 -0
  14. package/dist/cjs/models/RecordBase.d.ts +3 -0
  15. package/dist/cjs/models/RecordBase.d.ts.map +1 -0
  16. package/dist/cjs/models/RecordBase.js +2 -0
  17. package/dist/cjs/models/RowNumber.d.ts +4 -0
  18. package/dist/cjs/models/RowNumber.d.ts.map +1 -0
  19. package/dist/cjs/models/RowNumber.js +2 -0
  20. package/dist/cjs/models/Source.d.ts +15 -0
  21. package/dist/cjs/models/Source.d.ts.map +1 -0
  22. package/dist/cjs/models/Source.js +2 -0
  23. package/dist/cjs/models/SourceDecoder.d.ts +4 -0
  24. package/dist/cjs/models/SourceDecoder.d.ts.map +1 -0
  25. package/dist/cjs/models/SourceDecoder.js +2 -0
  26. package/dist/cjs/models/SourceEncoder.d.ts +4 -0
  27. package/dist/cjs/models/SourceEncoder.d.ts.map +1 -0
  28. package/dist/cjs/models/SourceEncoder.js +2 -0
  29. package/dist/cjs/models/SourceRow.d.ts +4 -0
  30. package/dist/cjs/models/SourceRow.d.ts.map +1 -0
  31. package/dist/cjs/models/SourceRow.js +2 -0
  32. package/dist/cjs/models/SourceRowValue.d.ts +4 -0
  33. package/dist/cjs/models/SourceRowValue.d.ts.map +1 -0
  34. package/dist/cjs/models/SourceRowValue.js +2 -0
  35. package/dist/cjs/operations/workbookWorksheet/getWorkbookWorksheetUsedRangeAddress.d.ts +12 -0
  36. package/dist/cjs/operations/workbookWorksheet/getWorkbookWorksheetUsedRangeAddress.d.ts.map +1 -0
  37. package/dist/cjs/operations/workbookWorksheet/getWorkbookWorksheetUsedRangeAddress.js +36 -0
  38. package/dist/cjs/services/addressManipulation.d.ts.map +1 -1
  39. package/dist/cjs/services/addressManipulation.js +0 -6
  40. package/dist/cjs/services/addressOffset.d.ts +1 -1
  41. package/dist/cjs/services/addressOffset.js +1 -1
  42. package/dist/cjs/services/cartesianAddress.d.ts +1 -1
  43. package/dist/cjs/services/cartesianAddress.d.ts.map +1 -1
  44. package/dist/cjs/services/cartesianAddress.js +15 -5
  45. package/dist/cjs/services/httpStatus.d.ts +6 -0
  46. package/dist/cjs/services/httpStatus.d.ts.map +1 -1
  47. package/dist/cjs/services/httpStatus.js +9 -0
  48. package/dist/cjs/services/numberFormat.d.ts +3 -0
  49. package/dist/cjs/services/numberFormat.d.ts.map +1 -0
  50. package/dist/cjs/services/numberFormat.js +4 -0
  51. package/dist/cjs/services/source.d.ts +1 -0
  52. package/dist/cjs/services/source.d.ts.map +1 -0
  53. package/dist/cjs/services/source.js +178 -0
  54. package/dist/cjs/tasks/iterateWorkbookRange.d.ts +15 -0
  55. package/dist/cjs/tasks/iterateWorkbookRange.d.ts.map +1 -0
  56. package/dist/cjs/tasks/iterateWorkbookRange.js +68 -0
  57. package/dist/cjs/tasks/iterateWorkbookRangeValues.d.ts +1 -0
  58. package/dist/cjs/tasks/iterateWorkbookRangeValues.d.ts.map +1 -1
  59. package/dist/cjs/tasks/iterateWorkbookRangeValues.js +1 -0
  60. package/dist/esm/errors/InvalidOperationError.d.ts +4 -0
  61. package/dist/esm/errors/InvalidOperationError.d.ts.map +1 -0
  62. package/dist/esm/errors/InvalidOperationError.js +6 -0
  63. package/dist/esm/graphApi.js +3 -3
  64. package/dist/esm/models/Cell.d.ts +8 -0
  65. package/dist/esm/models/Cell.d.ts.map +1 -0
  66. package/dist/esm/models/Cell.js +1 -0
  67. package/dist/esm/models/Item.d.ts +9 -0
  68. package/dist/esm/models/Item.d.ts.map +1 -0
  69. package/dist/esm/models/Item.js +1 -0
  70. package/dist/esm/models/NumberFormat.d.ts +4 -0
  71. package/dist/esm/models/NumberFormat.d.ts.map +1 -0
  72. package/dist/esm/models/NumberFormat.js +1 -0
  73. package/dist/esm/models/RecordBase.d.ts +3 -0
  74. package/dist/esm/models/RecordBase.d.ts.map +1 -0
  75. package/dist/esm/models/RecordBase.js +1 -0
  76. package/dist/esm/models/RowNumber.d.ts +4 -0
  77. package/dist/esm/models/RowNumber.d.ts.map +1 -0
  78. package/dist/esm/models/RowNumber.js +1 -0
  79. package/dist/esm/models/Source.d.ts +15 -0
  80. package/dist/esm/models/Source.d.ts.map +1 -0
  81. package/dist/esm/models/Source.js +1 -0
  82. package/dist/esm/models/SourceDecoder.d.ts +4 -0
  83. package/dist/esm/models/SourceDecoder.d.ts.map +1 -0
  84. package/dist/esm/models/SourceDecoder.js +1 -0
  85. package/dist/esm/models/SourceEncoder.d.ts +4 -0
  86. package/dist/esm/models/SourceEncoder.d.ts.map +1 -0
  87. package/dist/esm/models/SourceEncoder.js +1 -0
  88. package/dist/esm/models/SourceRow.d.ts +4 -0
  89. package/dist/esm/models/SourceRow.d.ts.map +1 -0
  90. package/dist/esm/models/SourceRow.js +1 -0
  91. package/dist/esm/models/SourceRowValue.d.ts +4 -0
  92. package/dist/esm/models/SourceRowValue.d.ts.map +1 -0
  93. package/dist/esm/models/SourceRowValue.js +1 -0
  94. package/dist/esm/operations/workbookWorksheet/getWorkbookWorksheetUsedRangeAddress.d.ts +12 -0
  95. package/dist/esm/operations/workbookWorksheet/getWorkbookWorksheetUsedRangeAddress.d.ts.map +1 -0
  96. package/dist/esm/operations/workbookWorksheet/getWorkbookWorksheetUsedRangeAddress.js +30 -0
  97. package/dist/esm/services/addressManipulation.d.ts.map +1 -1
  98. package/dist/esm/services/addressManipulation.js +0 -6
  99. package/dist/esm/services/addressOffset.d.ts +1 -1
  100. package/dist/esm/services/addressOffset.js +1 -1
  101. package/dist/esm/services/cartesianAddress.d.ts +1 -1
  102. package/dist/esm/services/cartesianAddress.d.ts.map +1 -1
  103. package/dist/esm/services/cartesianAddress.js +12 -5
  104. package/dist/esm/services/httpStatus.d.ts +6 -0
  105. package/dist/esm/services/httpStatus.d.ts.map +1 -1
  106. package/dist/esm/services/httpStatus.js +8 -0
  107. package/dist/esm/services/numberFormat.d.ts +3 -0
  108. package/dist/esm/services/numberFormat.d.ts.map +1 -0
  109. package/dist/esm/services/numberFormat.js +1 -0
  110. package/dist/esm/services/source.d.ts +2 -0
  111. package/dist/esm/services/source.d.ts.map +1 -0
  112. package/dist/esm/services/source.js +178 -0
  113. package/dist/esm/tasks/iterateWorkbookRange.d.ts +15 -0
  114. package/dist/esm/tasks/iterateWorkbookRange.d.ts.map +1 -0
  115. package/dist/esm/tasks/iterateWorkbookRange.js +62 -0
  116. package/dist/esm/tasks/iterateWorkbookRangeValues.d.ts +1 -0
  117. package/dist/esm/tasks/iterateWorkbookRangeValues.d.ts.map +1 -1
  118. package/dist/esm/tasks/iterateWorkbookRangeValues.js +1 -0
  119. package/package.json +379 -2
@@ -0,0 +1,4 @@
1
+ export default class InvalidOperationError extends Error {
2
+ constructor(message?: string);
3
+ }
4
+ //# sourceMappingURL=InvalidOperationError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InvalidOperationError.d.ts","sourceRoot":"","sources":["../../../src/errors/InvalidOperationError.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,KAAK;gBACpC,OAAO,CAAC,EAAE,MAAM;CAInC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class InvalidOperationError extends Error {
4
+ constructor(message) {
5
+ super(message);
6
+ this.name = "InvalidOperationError";
7
+ }
8
+ }
9
+ exports.default = InvalidOperationError;
@@ -45,7 +45,7 @@ async function sequential(...operations) {
45
45
  return (await executeBatch(...definitions));
46
46
  }
47
47
  const maxBatchOperations = 20; // https://learn.microsoft.com/en-us/graph/json-batching?tabs=http#batch-size-limitations
48
- const maxRetries = 3;
48
+ const maxRetries = 5;
49
49
  const defaultRetryDelayMilliseconds = 1000;
50
50
  const consecutiveRetryDelayMultiplier = 2;
51
51
  async function executeSingle(definition) {
@@ -139,7 +139,7 @@ async function innerFetch(args) {
139
139
  catch (error) {
140
140
  if (axios_1.default.isAxiosError(error) && error.response) {
141
141
  response = error.response;
142
- if (!((0, httpStatus_ts_1.isHttpTooManyRequests)(response.status) || (0, httpStatus_ts_1.isServiceUnavailable)(response.status) || (0, httpStatus_ts_1.isGatewayTimeout)(response.status))) {
142
+ if (!((0, httpStatus_ts_1.isHttpTooManyRequests)(response.status) || (0, httpStatus_ts_1.isServiceUnavailable)(response.status) || (0, httpStatus_ts_1.isGatewayTimeout)(response.status) || (0, httpStatus_ts_1.isLocked)(response.status))) {
143
143
  throw error;
144
144
  }
145
145
  const requestedRetryAfterSeconds = Number.parseInt(response.headers["retry-after"] ?? "0", 10);
@@ -0,0 +1,8 @@
1
+ import type { CellValue } from "../models/CellValue.ts";
2
+ import type { NumberFormat } from "./NumberFormat.ts";
3
+ export type Cell = {
4
+ text: string;
5
+ value: CellValue;
6
+ numberFormat: NumberFormat;
7
+ };
8
+ //# 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,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,MAAM,IAAI,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,SAAS,CAAC;IACjB,YAAY,EAAE,YAAY,CAAC;CAC3B,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,9 @@
1
+ import type { RowOffset } from "../models/RowOffset.ts";
2
+ import type { RecordBase } from "./RecordBase.ts";
3
+ import type { RowNumber } from "./RowNumber.ts";
4
+ export type Item<T extends RecordBase> = {
5
+ rowOffset: RowOffset;
6
+ rowNumber: RowNumber;
7
+ record: T;
8
+ };
9
+ //# sourceMappingURL=Item.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Item.d.ts","sourceRoot":"","sources":["../../../src/models/Item.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,MAAM,IAAI,CAAC,CAAC,SAAS,UAAU,IAAI;IACxC,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,CAAC,CAAC;CACV,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,4 @@
1
+ export type NumberFormat = string & {
2
+ __brand: "NumberFormat";
3
+ };
4
+ //# sourceMappingURL=NumberFormat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberFormat.d.ts","sourceRoot":"","sources":["../../../src/models/NumberFormat.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG;IACnC,OAAO,EAAE,cAAc,CAAC;CACxB,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,3 @@
1
+ import type { CellValue } from "./CellValue.ts";
2
+ export type RecordBase = Record<string, CellValue>;
3
+ //# sourceMappingURL=RecordBase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RecordBase.d.ts","sourceRoot":"","sources":["../../../src/models/RecordBase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,4 @@
1
+ export type RowNumber = number & {
2
+ __brand: "RowNumber";
3
+ };
4
+ //# sourceMappingURL=RowNumber.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RowNumber.d.ts","sourceRoot":"","sources":["../../../src/models/RowNumber.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG;IAChC,OAAO,EAAE,WAAW,CAAC;CACrB,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,15 @@
1
+ import type { ColumnName } from "./ColumnName.ts";
2
+ import type { Item } from "./Item.ts";
3
+ import type { RecordBase } from "./RecordBase.ts";
4
+ import type { SourceDecoder } from "./SourceDecoder.ts";
5
+ import type { SourceEncoder } from "./SourceEncoder.ts";
6
+ import type { WorkbookRangeRef } from "./WorkbookRangeRef.ts";
7
+ export type Source<T extends RecordBase> = {
8
+ rangeRef: WorkbookRangeRef;
9
+ head: ColumnName[];
10
+ coding: {
11
+ decode: SourceDecoder<T>;
12
+ encode: SourceEncoder<T>;
13
+ };
14
+ } & AsyncIterable<Item<T>>;
15
+ //# sourceMappingURL=Source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Source.d.ts","sourceRoot":"","sources":["../../../src/models/Source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,UAAU,IAAI;IAC1C,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,MAAM,EAAE;QACP,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;KACzB,CAAC;CACF,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,4 @@
1
+ import type { RecordBase } from "./RecordBase.ts";
2
+ import type { SourceRow } from "./SourceRow.ts";
3
+ export type SourceDecoder<T extends RecordBase> = (row: SourceRow) => T;
4
+ //# sourceMappingURL=SourceDecoder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SourceDecoder.d.ts","sourceRoot":"","sources":["../../../src/models/SourceDecoder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,UAAU,IAAI,CAAC,GAAG,EAAE,SAAS,KAAK,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,4 @@
1
+ import type { RecordBase } from "./RecordBase.ts";
2
+ import type { SourceRow } from "./SourceRow.ts";
3
+ export type SourceEncoder<T extends RecordBase> = (record: T) => SourceRow;
4
+ //# sourceMappingURL=SourceEncoder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SourceEncoder.d.ts","sourceRoot":"","sources":["../../../src/models/SourceEncoder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,UAAU,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,SAAS,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,4 @@
1
+ import type { Cell } from "../models/Cell.ts";
2
+ import type { ColumnName } from "../models/ColumnName.ts";
3
+ export type SourceRow = Record<ColumnName, Cell>;
4
+ //# sourceMappingURL=SourceRow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SourceRow.d.ts","sourceRoot":"","sources":["../../../src/models/SourceRow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,4 @@
1
+ import type { CellValue } from "./CellValue.ts";
2
+ import type { ColumnName } from "./ColumnName.ts";
3
+ export type SourceRowValue = Record<ColumnName, CellValue>;
4
+ //# sourceMappingURL=SourceRowValue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SourceRowValue.d.ts","sourceRoot":"","sources":["../../../src/models/SourceRowValue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,12 @@
1
+ import type { Address } from "../../models/Address.ts";
2
+ import type { GraphOperation } from "../../models/GraphOperation.ts";
3
+ import type { WorkbookWorksheetRef } from "../../models/WorkbookWorksheetRef.ts";
4
+ /**
5
+ * Retrieve the address of the used range in a worksheet, ignoring trailing rows and columns that are blank.
6
+ *
7
+ * @param worksheetRef - A reference to the worksheet, optionally including session information.
8
+ * @returns Address of the used range of the worksheet.
9
+ * @see https://learn.microsoft.com/en-us/graph/api/range-usedrange
10
+ */
11
+ export default function getWorkbookWorksheetUsedRangeAddress(worksheetRef: WorkbookWorksheetRef): GraphOperation<Address>;
12
+ //# sourceMappingURL=getWorkbookWorksheetUsedRangeAddress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getWorkbookWorksheetUsedRangeAddress.d.ts","sourceRoot":"","sources":["../../../../src/operations/workbookWorksheet/getWorkbookWorksheetUsedRangeAddress.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAoB,MAAM,yBAAyB,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAIjF;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,oCAAoC,CAAC,YAAY,EAAE,oBAAoB,GAAG,cAAc,CAAC,OAAO,CAAC,CAmBxH"}
@@ -0,0 +1,36 @@
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 = getWorkbookWorksheetUsedRangeAddress;
7
+ const ProtocolError_ts_1 = __importDefault(require("../../errors/ProtocolError.js"));
8
+ const graphApi_ts_1 = require("../../graphApi.js");
9
+ const addressManipulation_ts_1 = require("../../services/addressManipulation.js");
10
+ const templatedPaths_ts_1 = require("../../services/templatedPaths.js");
11
+ /**
12
+ * Retrieve the address of the used range in a worksheet, ignoring trailing rows and columns that are blank.
13
+ *
14
+ * @param worksheetRef - A reference to the worksheet, optionally including session information.
15
+ * @returns Address of the used range of the worksheet.
16
+ * @see https://learn.microsoft.com/en-us/graph/api/range-usedrange
17
+ */
18
+ function getWorkbookWorksheetUsedRangeAddress(worksheetRef) {
19
+ return (0, graphApi_ts_1.operation)({
20
+ contextId: worksheetRef.contextId,
21
+ method: "GET",
22
+ path: (0, templatedPaths_ts_1.generatePath)("/sites/{site-id}/drives/{drive-id}/items/{item-id}/workbook/worksheets/{worksheet-id}/range/usedRange?$select=address", worksheetRef),
23
+ headers: {
24
+ "workbook-session-id": worksheetRef.sessionId,
25
+ },
26
+ body: null,
27
+ responseTransform: (response) => {
28
+ const range = response;
29
+ if (!range.address) {
30
+ throw new ProtocolError_ts_1.default("Invalid response: address is missing");
31
+ }
32
+ const address = (0, addressManipulation_ts_1.composeAddress)((0, addressManipulation_ts_1.decomposeAddress)(range.address)); // Strip any prefixed sheet name
33
+ return address;
34
+ },
35
+ });
36
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"addressManipulation.d.ts","sourceRoot":"","sources":["../../../src/services/addressManipulation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAoB,aAAa,EAAsB,UAAU,EAAmB,MAAM,sBAAsB,CAAC;AAmBnJ,MAAM,MAAM,iBAAiB,GAAG;IAC/B,WAAW,EAAE,aAAa,CAAC;IAC3B,SAAS,EAAE,aAAa,CAAC;IACzB,QAAQ,EAAE,UAAU,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC;CACnB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,iBAAiB,CAcpE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CA6BrE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,CAGjE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,CAGhE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAS5D;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAS3D;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAS/D;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAS9D;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAqChG;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAE7D;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAE7D;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAKlF;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAG5D;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAG/D;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAG7D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAG1D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAGzD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAG5D"}
1
+ {"version":3,"file":"addressManipulation.d.ts","sourceRoot":"","sources":["../../../src/services/addressManipulation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAoB,aAAa,EAAsB,UAAU,EAAmB,MAAM,sBAAsB,CAAC;AAmBnJ,MAAM,MAAM,iBAAiB,GAAG;IAC/B,WAAW,EAAE,aAAa,CAAC;IAC3B,SAAS,EAAE,aAAa,CAAC;IACzB,QAAQ,EAAE,UAAU,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC;CACnB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,iBAAiB,CAcpE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAsBrE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,CAGjE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,CAGhE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAS5D;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAS3D;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAS/D;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAS9D;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAqChG;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAE7D;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAE7D;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAKlF;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAG5D;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAG/D;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAG7D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAG1D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAGzD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAG5D"}
@@ -70,12 +70,6 @@ function composeAddress(components) {
70
70
  if (isSingleColumn(components) && isSingleRow(components)) {
71
71
  return composeCellAddress(components.startColumn, components.startRow);
72
72
  }
73
- if (components.startColumn > components.endColumn) {
74
- throw new InvalidArgumentError_ts_1.default("Invalid address. End column is before start column.");
75
- }
76
- if (components.startRow > components.endRow) {
77
- throw new InvalidArgumentError_ts_1.default("Invalid address. End row is before start row.");
78
- }
79
73
  return composeCellRangeAddress(components.startColumn, components.startRow, components.endColumn, components.endRow);
80
74
  }
81
75
  /**
@@ -13,7 +13,7 @@ export declare function columnAddressToOffset(column: ColumnAddress): ColumnOffs
13
13
  * @returns The column address.
14
14
  */
15
15
  export declare function columnOffsetToAddress(offset: ColumnOffset): ColumnAddress;
16
- /** @deprecated Use columnAddressToOffset instead. */
16
+ /** @deprecated Use columnOffsetToAddress instead. */
17
17
  export declare function offsetToColumnAddress(offset: ColumnOffset): ColumnAddress;
18
18
  /**
19
19
  * Converts a row address (e.g., "1") to a zero-based row offset.
@@ -33,7 +33,7 @@ function columnOffsetToAddress(offset) {
33
33
  }
34
34
  return result;
35
35
  }
36
- /** @deprecated Use columnAddressToOffset instead. */
36
+ /** @deprecated Use columnOffsetToAddress instead. */
37
37
  function offsetToColumnAddress(offset) {
38
38
  return columnOffsetToAddress(offset);
39
39
  }
@@ -13,5 +13,5 @@ export declare function addressToCartesian(address: Address): Cartesian;
13
13
  * @param {Cartesian} cartesian - The Cartesian coordinates, including start (ax, ay) and end (bx, by).
14
14
  * @returns {Address} The cell range address (e.g., "A1:C3").
15
15
  */
16
- export declare function cartesianToAddress(cartesian: Cartesian): Address;
16
+ export declare function cartesianToAddress({ ax, ay, bx, by }: Cartesian): Address;
17
17
  //# sourceMappingURL=cartesianAddress.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cartesianAddress.d.ts","sourceRoot":"","sources":["../../../src/services/cartesianAddress.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAIxD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAU9D;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAchE"}
1
+ {"version":3,"file":"cartesianAddress.d.ts","sourceRoot":"","sources":["../../../src/services/cartesianAddress.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAIxD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAU9D;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,GAAG,OAAO,CAqBzE"}
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.addressToCartesian = addressToCartesian;
4
7
  exports.cartesianToAddress = cartesianToAddress;
8
+ const InvalidArgumentError_ts_1 = __importDefault(require("../errors/InvalidArgumentError.js"));
5
9
  const addressManipulation_ts_1 = require("./addressManipulation.js");
6
10
  const addressOffset_ts_1 = require("./addressOffset.js");
7
11
  /**
@@ -24,11 +28,17 @@ function addressToCartesian(address) {
24
28
  * @param {Cartesian} cartesian - The Cartesian coordinates, including start (ax, ay) and end (bx, by).
25
29
  * @returns {Address} The cell range address (e.g., "A1:C3").
26
30
  */
27
- function cartesianToAddress(cartesian) {
28
- const startColumn = (0, addressOffset_ts_1.columnOffsetToAddress)(cartesian.ax);
29
- const startRow = (0, addressOffset_ts_1.rowOffsetToAddress)(cartesian.ay);
30
- const endColumn = (0, addressOffset_ts_1.columnOffsetToAddress)(cartesian.bx);
31
- const endRow = (0, addressOffset_ts_1.rowOffsetToAddress)(cartesian.by);
31
+ function cartesianToAddress({ ax, ay, bx, by }) {
32
+ const startColumn = (0, addressOffset_ts_1.columnOffsetToAddress)(ax);
33
+ const startRow = (0, addressOffset_ts_1.rowOffsetToAddress)(ay);
34
+ const endColumn = (0, addressOffset_ts_1.columnOffsetToAddress)(bx);
35
+ const endRow = (0, addressOffset_ts_1.rowOffsetToAddress)(by);
36
+ if (ax > bx) {
37
+ throw new InvalidArgumentError_ts_1.default("Invalid address. End column is before start column.");
38
+ }
39
+ if (ay > by) {
40
+ throw new InvalidArgumentError_ts_1.default("Invalid address. End row is before start row.");
41
+ }
32
42
  const address = (0, addressManipulation_ts_1.composeAddress)({
33
43
  startRow,
34
44
  startColumn,
@@ -34,4 +34,10 @@ export declare function isServiceUnavailable(status: number): boolean;
34
34
  * @returns True if the status code is 504, otherwise false.
35
35
  */
36
36
  export declare function isGatewayTimeout(status: number): boolean;
37
+ /**
38
+ * Checks if the HTTP status code indicates the resource is locked
39
+ * @param status - The HTTP status code.
40
+ * @returns True if the status code is 423, otherwise false.
41
+ */
42
+ export declare function isLocked(status: number): boolean;
37
43
  //# sourceMappingURL=httpStatus.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"httpStatus.d.ts","sourceRoot":"","sources":["../../../src/services/httpStatus.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAErD;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAExD"}
1
+ {"version":3,"file":"httpStatus.d.ts","sourceRoot":"","sources":["../../../src/services/httpStatus.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAErD;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAExD;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEhD"}
@@ -6,6 +6,7 @@ exports.isHttpNotFound = isHttpNotFound;
6
6
  exports.isHttpTooManyRequests = isHttpTooManyRequests;
7
7
  exports.isServiceUnavailable = isServiceUnavailable;
8
8
  exports.isGatewayTimeout = isGatewayTimeout;
9
+ exports.isLocked = isLocked;
9
10
  /**
10
11
  * Checks if the HTTP status code indicates a successful response.
11
12
  * @param status - The HTTP status code.
@@ -54,3 +55,11 @@ function isServiceUnavailable(status) {
54
55
  function isGatewayTimeout(status) {
55
56
  return status === 504;
56
57
  }
58
+ /**
59
+ * Checks if the HTTP status code indicates the resource is locked
60
+ * @param status - The HTTP status code.
61
+ * @returns True if the status code is 423, otherwise false.
62
+ */
63
+ function isLocked(status) {
64
+ return status === 423;
65
+ }
@@ -0,0 +1,3 @@
1
+ import type { NumberFormat } from "../models/NumberFormat.ts";
2
+ export declare const generalNumberFormat: NumberFormat;
3
+ //# sourceMappingURL=numberFormat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"numberFormat.d.ts","sourceRoot":"","sources":["../../../src/services/numberFormat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,eAAO,MAAM,mBAAmB,EAAgB,YAAY,CAAC"}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generalNumberFormat = void 0;
4
+ exports.generalNumberFormat = "General";
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../../src/services/source.ts"],"names":[],"mappings":""}
@@ -0,0 +1,178 @@
1
+ "use strict";
2
+ // import InvalidOperationError from "../errors/InvalidOperationError.ts";
3
+ // import NeverError from "../errors/NeverError.ts";
4
+ // import type { Cell } from "../models/Cell.ts";
5
+ // import type { ColumnName } from "../models/ColumnName.ts";
6
+ // import type { ColumnOffset } from "../models/ColumnOffset.ts";
7
+ // import type { Item } from "../models/Item.ts";
8
+ // import type { RecordBase } from "../models/RecordBase.ts";
9
+ // import type { RowNumber } from "../models/RowNumber.ts";
10
+ // import type { RowOffset } from "../models/RowOffset.ts";
11
+ // import type { Source } from "../models/source.ts";
12
+ // import type { SourceDecoder } from "../models/SourceDecoder.ts";
13
+ // import type { SourceEncoder } from "../models/SourceEncoder.ts";
14
+ // import type { SourceRow } from "../models/SourceRow.ts";
15
+ // import type { WorkbookWorksheetRef } from "../models/WorkbookWorksheetRef.ts";
16
+ // import deleteWorkbookRange from "../operations/workbookRange/deleteWorkbookRange.ts";
17
+ // import insertWorkbookCells from "../operations/workbookRange/insertWorkbookCells.ts";
18
+ // import setWorkbookRangeFont from "../operations/workbookRange/setWorkbookRangeFont.ts";
19
+ // import updateWorkbookRange from "../operations/workbookRange/updateWorkbookRange.ts";
20
+ // import getWorkbookWorksheetUsedRangeAddress from "../operations/workbookWorksheet/getWorkbookWorksheetUsedRangeAddress.ts";
21
+ // import iterateWorkbookRange from "../tasks/iterateWorkbookRange.ts";
22
+ // import { countAddressColumns, countAddressRows } from "./addressManipulation.ts";
23
+ // import { rowOffsetToAddress } from "./addressOffset.ts";
24
+ // import { addressToCartesian, cartesianToAddress } from "./cartesianAddress.ts";
25
+ // import { createWorkbookRangeRef } from "./workbookRange.ts";
26
+ // export async function defineSource<T extends RecordBase>(worksheetRef: WorkbookWorksheetRef, decode: SourceDecoder<T>, encode: SourceEncoder<T>): Promise<Source<T>> {
27
+ // const usedRange = await getWorkbookWorksheetUsedRangeAddress(worksheetRef);
28
+ // const rangeRef = createWorkbookRangeRef(worksheetRef, usedRange);
29
+ // const b = addressToCartesian(usedRange);
30
+ // // TODO: Header
31
+ // const a = await getWorkbookWorksheetRange();
32
+ // const source: Source<T> = {
33
+ // rangeRef,
34
+ // coding: {
35
+ // decode,
36
+ // encode,
37
+ // },
38
+ // head: [],
39
+ // async *[Symbol.asyncIterator](): AsyncGenerator<Item<T>> {
40
+ // let hasHead = false;
41
+ // for await (const { rowOffset, row } of iterateWorkbookRange(rangeRef)) {
42
+ // if (!hasHead) {
43
+ // source.head = row.map((cell) => cell.text) as ColumnName[];
44
+ // hasHead = true;
45
+ // continue;
46
+ // }
47
+ // const record = rowToRecord<T>(row, source);
48
+ // const rowNumber = rowOffsetToNumber(rowOffset);
49
+ // yield {
50
+ // rowOffset,
51
+ // rowNumber,
52
+ // record,
53
+ // };
54
+ // }
55
+ // },
56
+ // };
57
+ // return source;
58
+ // }
59
+ // export async function initializeSource<T extends RecordBase>(source: Source<T>, empty: T): Promise<void> {
60
+ // if (!isEmpty(source)) {
61
+ // throw new InvalidOperationError("Cannot initialize source with non-empty worksheet.");
62
+ // }
63
+ // source.head = Object.keys(empty) as ColumnName[];
64
+ // const address = cartesianToAddress({
65
+ // ax: 0 as ColumnOffset,
66
+ // bx: (source.head.length - 1) as ColumnOffset,
67
+ // ay: 0 as RowOffset,
68
+ // by: 0 as RowOffset,
69
+ // });
70
+ // source.rangeRef = createWorkbookRangeRef(source.rangeRef, address);
71
+ // await updateWorkbookRange(source.rangeRef, {
72
+ // values: [source.head],
73
+ // });
74
+ // await setWorkbookRangeFont(source.rangeRef, {
75
+ // bold: true,
76
+ // });
77
+ // }
78
+ // export async function readAllItems<T extends RecordBase>(source: Source<T>): Promise<Item<T>[]> {
79
+ // const result: Item<T>[] = [];
80
+ // for await (const item of source) {
81
+ // result.push(item);
82
+ // }
83
+ // return result;
84
+ // }
85
+ // export async function createItem<T extends RecordBase>(source: Source<T>, record: T, after: RowOffset = 0 as RowOffset): Promise<Item<T>> {
86
+ // if (!isInitialized(source)) {
87
+ // throw new InvalidOperationError("Source not initialized.");
88
+ // }
89
+ // await insertWorkbookCells(source.rangeRef, rowOffsetToAddress(after), "Down");
90
+ // const row = recordToRow(record, source);
91
+ // const address = cartesianToAddress({
92
+ // ax: 0 as ColumnOffset,
93
+ // bx: (row.length - 1) as ColumnOffset,
94
+ // ay: after,
95
+ // by: after,
96
+ // });
97
+ // const rangeRef = createWorkbookRangeRef(source.rangeRef, address);
98
+ // await updateWorkbookRange(rangeRef, {
99
+ // values: [row],
100
+ // // TODO: Format
101
+ // });
102
+ // const { ax, bx, ay, by } = addressToCartesian(source.rangeRef.address);
103
+ // source.rangeRef.address = cartesianToAddress({
104
+ // ax,
105
+ // bx,
106
+ // ay,
107
+ // by: (by + 1) as RowOffset,
108
+ // });
109
+ // return {
110
+ // rowOffset: after,
111
+ // rowNumber: rowOffsetToNumber(after),
112
+ // record,
113
+ // };
114
+ // }
115
+ // export async function updateItem<T extends RecordBase>(source: Source<T>, offset: RowOffset, record: T): Promise<void> {
116
+ // if (!isInitialized(source)) {
117
+ // throw new InvalidOperationError("Source not initialized.");
118
+ // }
119
+ // const row = recordToRow(record, source);
120
+ // const address = cartesianToAddress({
121
+ // ax: 0 as ColumnOffset,
122
+ // bx: (row.length - 1) as ColumnOffset,
123
+ // ay: offset,
124
+ // by: offset,
125
+ // });
126
+ // const rangeRef = createWorkbookRangeRef(source.rangeRef, address);
127
+ // await updateWorkbookRange(rangeRef, {
128
+ // values: [row],
129
+ // // TODO: format
130
+ // });
131
+ // }
132
+ // export async function deleteItem<T extends RecordBase>(source: Source<T>, offset: RowOffset): Promise<void> {
133
+ // if (!isInitialized(source)) {
134
+ // throw new InvalidOperationError("Source not initialized.");
135
+ // }
136
+ // const rangeRef = createWorkbookRangeRef(source.rangeRef, rowOffsetToAddress(offset));
137
+ // await deleteWorkbookRange(rangeRef, "Up");
138
+ // const { ax, bx, ay, by } = addressToCartesian(source.rangeRef.address);
139
+ // source.rangeRef.address = cartesianToAddress({
140
+ // ax,
141
+ // bx,
142
+ // ay,
143
+ // by: (by - 1) as RowOffset,
144
+ // });
145
+ // }
146
+ // function rowToRecord<T extends RecordBase>(row: Cell[], source: Source<T>): T {
147
+ // const sourceRow = source.head.reduce((acc, heading, columnIndex) => {
148
+ // const cell = row[columnIndex];
149
+ // if (!cell) {
150
+ // throw new NeverError(`Cell at index ${columnIndex} is undefined`);
151
+ // }
152
+ // acc[heading] = cell;
153
+ // return acc;
154
+ // }, {} as SourceRow);
155
+ // const record = source.coding.decode(sourceRow);
156
+ // return record;
157
+ // }
158
+ // function recordToRow<T extends RecordBase>(record: T, source: Source<T>): Cell[] {
159
+ // const sourceRow = source.coding.encode(record);
160
+ // const row = source.head.map((heading) => {
161
+ // const cell = sourceRow[heading];
162
+ // if (cell === undefined) {
163
+ // throw new NeverError(`Cell at index ${heading} is undefined`);
164
+ // }
165
+ // return cell;
166
+ // });
167
+ // return row;
168
+ // }
169
+ // function rowOffsetToNumber(offset: RowOffset): RowNumber {
170
+ // return (offset + 1) as RowNumber;
171
+ // }
172
+ // function isEmpty<T extends RecordBase>(source: Source<T>) {
173
+ // return countAddressRows(source.rangeRef.address) <= 1 && countAddressColumns(source.rangeRef.address) <= 1;
174
+ // }
175
+ // function isInitialized<T extends RecordBase>(source: Source<T>) {
176
+ // return source.head.length > 0;
177
+ // }
178
+ // // TODO: Tidy Cell/CellValue types
@@ -0,0 +1,15 @@
1
+ import type { Cell } from "../models/Cell.ts";
2
+ import type { RowOffset } from "../models/RowOffset.ts";
3
+ import type { WorkbookRangeRef } from "../models/WorkbookRangeRef.ts";
4
+ /**
5
+ * Iterates over the values of a workbook range in chunks, fetching data in manageable sizes.
6
+ *
7
+ * @param rangeRef - A reference to the workbook range to iterate over.
8
+ * @param overwriteRowsPerRequest - Optional. The number of rows to fetch per request. If omitted, it is automatically calculated.
9
+ * @returns An async iterable that yields rows of range values.
10
+ */
11
+ export default function iterateWorkbookRange(rangeRef: WorkbookRangeRef, overwriteRowsPerRequest?: number | null): AsyncIterable<{
12
+ rowOffset: RowOffset;
13
+ row: Cell[];
14
+ }>;
15
+ //# sourceMappingURL=iterateWorkbookRange.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iterateWorkbookRange.d.ts","sourceRoot":"","sources":["../../../src/tasks/iterateWorkbookRange.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AActE;;;;;;GAMG;AACH,wBAA+B,oBAAoB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,uBAAuB,GAAE,MAAM,GAAG,IAAW,GAAG,aAAa,CAAC;IAAE,SAAS,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,IAAI,EAAE,CAAA;CAAE,CAAC,CAsDnL"}