microsoft-graph 2.21.0 → 2.22.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.
- package/.vscode/settings.json +2 -1
- package/dist/cjs/models/{Source.d.ts → DataSource.d.ts} +6 -6
- package/dist/cjs/models/DataSource.d.ts.map +1 -0
- package/dist/cjs/models/DataSourceDecoder.d.ts +4 -0
- package/dist/cjs/models/DataSourceDecoder.d.ts.map +1 -0
- package/dist/cjs/models/DataSourceEncoder.d.ts +4 -0
- package/dist/cjs/models/DataSourceEncoder.d.ts.map +1 -0
- package/dist/cjs/models/DataSourceIndex.d.ts +4 -0
- package/dist/cjs/models/DataSourceIndex.d.ts.map +1 -0
- package/dist/cjs/models/DataSourceRow.d.ts +4 -0
- package/dist/cjs/models/DataSourceRow.d.ts.map +1 -0
- package/dist/cjs/models/DataSourceRow.js +2 -0
- package/dist/cjs/models/Item.d.ts +2 -2
- package/dist/cjs/models/Item.d.ts.map +1 -1
- package/dist/cjs/models/RangeOperationCallback.d.ts +3 -0
- package/dist/cjs/models/RangeOperationCallback.d.ts.map +1 -0
- package/dist/cjs/models/RangeOperationCallback.js +2 -0
- package/dist/cjs/services/addressManipulation.d.ts +19 -0
- package/dist/cjs/services/addressManipulation.d.ts.map +1 -1
- package/dist/cjs/services/addressManipulation.js +59 -0
- package/dist/cjs/services/dataSource.d.ts +1 -0
- package/dist/cjs/services/dataSource.d.ts.map +1 -0
- package/dist/cjs/services/dataSource.js +196 -0
- package/dist/esm/models/{Source.d.ts → DataSource.d.ts} +6 -6
- package/dist/esm/models/DataSource.d.ts.map +1 -0
- package/dist/esm/models/DataSourceDecoder.d.ts +4 -0
- package/dist/esm/models/DataSourceDecoder.d.ts.map +1 -0
- package/dist/esm/models/DataSourceEncoder.d.ts +4 -0
- package/dist/esm/models/DataSourceEncoder.d.ts.map +1 -0
- package/dist/esm/models/DataSourceIndex.d.ts +4 -0
- package/dist/esm/models/DataSourceIndex.d.ts.map +1 -0
- package/dist/esm/models/DataSourceRow.d.ts +4 -0
- package/dist/esm/models/DataSourceRow.d.ts.map +1 -0
- package/dist/esm/models/DataSourceRow.js +1 -0
- package/dist/esm/models/Item.d.ts +2 -2
- package/dist/esm/models/Item.d.ts.map +1 -1
- package/dist/esm/models/RangeOperationCallback.d.ts +3 -0
- package/dist/esm/models/RangeOperationCallback.d.ts.map +1 -0
- package/dist/esm/models/RangeOperationCallback.js +1 -0
- package/dist/esm/services/addressManipulation.d.ts +19 -0
- package/dist/esm/services/addressManipulation.d.ts.map +1 -1
- package/dist/esm/services/addressManipulation.js +57 -0
- package/dist/esm/services/dataSource.d.ts +2 -0
- package/dist/esm/services/dataSource.d.ts.map +1 -0
- package/dist/esm/services/dataSource.js +196 -0
- package/package.json +176 -126
- package/dist/cjs/models/Source.d.ts.map +0 -1
- package/dist/cjs/models/SourceDecoder.d.ts +0 -4
- package/dist/cjs/models/SourceDecoder.d.ts.map +0 -1
- package/dist/cjs/models/SourceEncoder.d.ts +0 -4
- package/dist/cjs/models/SourceEncoder.d.ts.map +0 -1
- package/dist/cjs/models/SourceRow.d.ts +0 -4
- package/dist/cjs/models/SourceRow.d.ts.map +0 -1
- package/dist/cjs/services/source.d.ts +0 -1
- package/dist/cjs/services/source.d.ts.map +0 -1
- package/dist/cjs/services/source.js +0 -178
- package/dist/esm/models/Source.d.ts.map +0 -1
- package/dist/esm/models/SourceDecoder.d.ts +0 -4
- package/dist/esm/models/SourceDecoder.d.ts.map +0 -1
- package/dist/esm/models/SourceEncoder.d.ts +0 -4
- package/dist/esm/models/SourceEncoder.d.ts.map +0 -1
- package/dist/esm/models/SourceRow.d.ts +0 -4
- package/dist/esm/models/SourceRow.d.ts.map +0 -1
- package/dist/esm/services/source.d.ts +0 -2
- package/dist/esm/services/source.d.ts.map +0 -1
- package/dist/esm/services/source.js +0 -178
- /package/dist/cjs/models/{Source.js → DataSource.js} +0 -0
- /package/dist/cjs/models/{SourceDecoder.js → DataSourceDecoder.js} +0 -0
- /package/dist/cjs/models/{SourceEncoder.js → DataSourceEncoder.js} +0 -0
- /package/dist/cjs/models/{SourceRow.js → DataSourceIndex.js} +0 -0
- /package/dist/esm/models/{Source.js → DataSource.js} +0 -0
- /package/dist/esm/models/{SourceDecoder.js → DataSourceDecoder.js} +0 -0
- /package/dist/esm/models/{SourceEncoder.js → DataSourceEncoder.js} +0 -0
- /package/dist/esm/models/{SourceRow.js → DataSourceIndex.js} +0 -0
package/.vscode/settings.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import type { ColumnName } from "./ColumnName.ts";
|
|
2
|
+
import type { DataSourceDecoder } from "./DataSourceDecoder.ts";
|
|
3
|
+
import type { DataSourceEncoder } from "./DataSourceEncoder.ts";
|
|
2
4
|
import type { Item } from "./Item.ts";
|
|
3
5
|
import type { RecordBase } from "./RecordBase.ts";
|
|
4
|
-
import type { SourceDecoder } from "./SourceDecoder.ts";
|
|
5
|
-
import type { SourceEncoder } from "./SourceEncoder.ts";
|
|
6
6
|
import type { WorkbookRangeRef } from "./WorkbookRangeRef.ts";
|
|
7
|
-
export type
|
|
7
|
+
export type DataSource<T extends RecordBase> = {
|
|
8
8
|
rangeRef: WorkbookRangeRef;
|
|
9
9
|
head: ColumnName[];
|
|
10
10
|
coding: {
|
|
11
|
-
decode:
|
|
12
|
-
encode:
|
|
11
|
+
decode: DataSourceDecoder<T>;
|
|
12
|
+
encode: DataSourceEncoder<T> | null;
|
|
13
13
|
};
|
|
14
14
|
} & AsyncIterable<Item<T>>;
|
|
15
|
-
//# sourceMappingURL=
|
|
15
|
+
//# sourceMappingURL=DataSource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataSource.d.ts","sourceRoot":"","sources":["../../../src/models/DataSource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,UAAU,IAAI;IAC9C,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,MAAM,EAAE;QACP,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;KACpC,CAAC;CACF,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataSourceDecoder.d.ts","sourceRoot":"","sources":["../../../src/models/DataSourceDecoder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,UAAU,IAAI,CAAC,GAAG,EAAE,aAAa,KAAK,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataSourceEncoder.d.ts","sourceRoot":"","sources":["../../../src/models/DataSourceEncoder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,UAAU,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataSourceIndex.d.ts","sourceRoot":"","sources":["../../../src/models/DataSourceIndex.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG;IACtC,OAAO,EAAE,OAAO,CAAC;CACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataSourceRow.d.ts","sourceRoot":"","sources":["../../../src/models/DataSourceRow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { DataSourceIndex } from "./DataSourceIndex.ts";
|
|
2
2
|
import type { RecordBase } from "./RecordBase.ts";
|
|
3
3
|
import type { RowNumber } from "./RowNumber.ts";
|
|
4
4
|
export type Item<T extends RecordBase> = {
|
|
5
|
-
|
|
5
|
+
index: DataSourceIndex;
|
|
6
6
|
rowNumber: RowNumber;
|
|
7
7
|
record: T;
|
|
8
8
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Item.d.ts","sourceRoot":"","sources":["../../../src/models/Item.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"Item.d.ts","sourceRoot":"","sources":["../../../src/models/Item.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,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,KAAK,EAAE,eAAe,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,CAAC,CAAC;CACV,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RangeOperationCallback.d.ts","sourceRoot":"","sources":["../../../src/models/RangeOperationCallback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,MAAM,MAAM,sBAAsB,GAAG,CAAC,QAAQ,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Address, CellAddress, ColumnAddress, RowAddress } from "../models/Address.ts";
|
|
2
|
+
import type { WorkbookRangeRef } from "../models/WorkbookRangeRef.ts";
|
|
2
3
|
export type AddressComponents = {
|
|
3
4
|
startColumn: ColumnAddress;
|
|
4
5
|
endColumn: ColumnAddress;
|
|
@@ -128,4 +129,22 @@ export declare function countAddressRows(address: Address): number;
|
|
|
128
129
|
* @returns The number of columns in the address.
|
|
129
130
|
*/
|
|
130
131
|
export declare function countAddressColumns(address: Address): number;
|
|
132
|
+
/**
|
|
133
|
+
* Extracts a sub-address from a given address by specifying the number of rows and columns to include.
|
|
134
|
+
* @param address Address to extract the sub-address from.
|
|
135
|
+
* @param rows Number of rows to include. If positive, selects the first X rows, if negative, selects the last X rows. If null selects all rows.
|
|
136
|
+
* @param cols Number of columns to include. If positive, selects the first X columns, if negative, selects the last X columns. If null selects all columns.
|
|
137
|
+
* @returns Extracted sub-address.
|
|
138
|
+
* @throws InvalidArgumentError if the requested rows or columns exceed the available range.
|
|
139
|
+
*/
|
|
140
|
+
export declare function subaddress(address: Address, rows: number | null, cols: number | null): Address;
|
|
141
|
+
/**
|
|
142
|
+
* Extracts a sub-range from a given range by specifying the number of rows and columns to include.
|
|
143
|
+
* @param rangeRef Range reference to extract the sub-range from.
|
|
144
|
+
* @param rows Number of rows to include. If positive, selects the first X rows, if negative, selects the last X rows. If null selects all rows.
|
|
145
|
+
* @param cols Number of columns to include. If positive, selects the first X columns, if negative, selects the last X columns. If null selects all columns.
|
|
146
|
+
* @returns Extracted sub-range reference.
|
|
147
|
+
* @throws InvalidArgumentError if the requested rows or columns exceed the available range.
|
|
148
|
+
*/
|
|
149
|
+
export declare function subrange(rangeRef: WorkbookRangeRef, rows: number | null, cols?: number | null): WorkbookRangeRef;
|
|
131
150
|
//# sourceMappingURL=addressManipulation.d.ts.map
|
|
@@ -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;
|
|
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;AAGnJ,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAkBtE,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,EAAE,UAAU,UAAQ,GAAG,OAAO,CAE9E;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,iBAAiB,CAcpE;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,iBAAiB,EAAE,UAAU,UAAQ,GAAG,OAAO,CAsBzF;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;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAmC9F;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,GAAE,MAAM,GAAG,IAAW,GAAG,gBAAgB,CAMtH"}
|
|
@@ -22,9 +22,12 @@ exports.isAllColumnsAddress = isAllColumnsAddress;
|
|
|
22
22
|
exports.isAllRowsAddress = isAllRowsAddress;
|
|
23
23
|
exports.countAddressRows = countAddressRows;
|
|
24
24
|
exports.countAddressColumns = countAddressColumns;
|
|
25
|
+
exports.subaddress = subaddress;
|
|
26
|
+
exports.subrange = subrange;
|
|
25
27
|
const InvalidArgumentError_ts_1 = __importDefault(require("../errors/InvalidArgumentError.js"));
|
|
26
28
|
const UnsupportedAddressTypeError_ts_1 = __importDefault(require("../errors/UnsupportedAddressTypeError.js"));
|
|
27
29
|
const addressOffset_ts_1 = require("./addressOffset.js");
|
|
30
|
+
const cartesianAddress_ts_1 = require("./cartesianAddress.js");
|
|
28
31
|
const firstColumn = "A";
|
|
29
32
|
const lastColumn = "XFD";
|
|
30
33
|
const firstRow = "1";
|
|
@@ -276,6 +279,62 @@ function countAddressColumns(address) {
|
|
|
276
279
|
const components = decomposeAddress(address);
|
|
277
280
|
return (0, addressOffset_ts_1.columnAddressToOffset)(components.endColumn) - (0, addressOffset_ts_1.columnAddressToOffset)(components.startColumn) + 1;
|
|
278
281
|
}
|
|
282
|
+
/**
|
|
283
|
+
* Extracts a sub-address from a given address by specifying the number of rows and columns to include.
|
|
284
|
+
* @param address Address to extract the sub-address from.
|
|
285
|
+
* @param rows Number of rows to include. If positive, selects the first X rows, if negative, selects the last X rows. If null selects all rows.
|
|
286
|
+
* @param cols Number of columns to include. If positive, selects the first X columns, if negative, selects the last X columns. If null selects all columns.
|
|
287
|
+
* @returns Extracted sub-address.
|
|
288
|
+
* @throws InvalidArgumentError if the requested rows or columns exceed the available range.
|
|
289
|
+
*/
|
|
290
|
+
function subaddress(address, rows, cols) {
|
|
291
|
+
let { ax, bx, ay, by } = (0, cartesianAddress_ts_1.addressToCartesian)(address);
|
|
292
|
+
if (rows !== null) {
|
|
293
|
+
const rowCount = by - ay + 1;
|
|
294
|
+
if (Math.abs(rows) > rowCount) {
|
|
295
|
+
throw new InvalidArgumentError_ts_1.default(`Requested rows (${rows}) exceed available rows (${rowCount}) in range.`);
|
|
296
|
+
}
|
|
297
|
+
if (rows > 0) {
|
|
298
|
+
by = (ay + rows - 1);
|
|
299
|
+
}
|
|
300
|
+
else if (rows < 0) {
|
|
301
|
+
ay = (by + rows + 1);
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
if (cols !== null) {
|
|
305
|
+
const colCount = bx - ax + 1;
|
|
306
|
+
if (Math.abs(cols) > colCount) {
|
|
307
|
+
throw new InvalidArgumentError_ts_1.default(`Requested columns (${cols}) exceed available columns (${colCount}) in range.`);
|
|
308
|
+
}
|
|
309
|
+
if (cols > 0) {
|
|
310
|
+
bx = (ax + cols - 1);
|
|
311
|
+
}
|
|
312
|
+
else if (cols < 0) {
|
|
313
|
+
ax = (bx + cols + 1);
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
return (0, cartesianAddress_ts_1.cartesianToAddress)({
|
|
317
|
+
ay,
|
|
318
|
+
by,
|
|
319
|
+
ax,
|
|
320
|
+
bx,
|
|
321
|
+
});
|
|
322
|
+
}
|
|
323
|
+
/**
|
|
324
|
+
* Extracts a sub-range from a given range by specifying the number of rows and columns to include.
|
|
325
|
+
* @param rangeRef Range reference to extract the sub-range from.
|
|
326
|
+
* @param rows Number of rows to include. If positive, selects the first X rows, if negative, selects the last X rows. If null selects all rows.
|
|
327
|
+
* @param cols Number of columns to include. If positive, selects the first X columns, if negative, selects the last X columns. If null selects all columns.
|
|
328
|
+
* @returns Extracted sub-range reference.
|
|
329
|
+
* @throws InvalidArgumentError if the requested rows or columns exceed the available range.
|
|
330
|
+
*/
|
|
331
|
+
function subrange(rangeRef, rows, cols = null) {
|
|
332
|
+
const address = subaddress(rangeRef.address, rows, cols);
|
|
333
|
+
return {
|
|
334
|
+
...rangeRef,
|
|
335
|
+
address,
|
|
336
|
+
};
|
|
337
|
+
}
|
|
279
338
|
function isSingleRow(components) {
|
|
280
339
|
return components.startRow === components.endRow;
|
|
281
340
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=dataSource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataSource.d.ts","sourceRoot":"","sources":["../../../src/services/dataSource.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// import InvalidArgumentError from "../errors/InvalidArgumentError.ts";
|
|
3
|
+
// import InvalidOperationError from "../errors/InvalidOperationError.ts";
|
|
4
|
+
// import NeverError from "../errors/NeverError.ts";
|
|
5
|
+
// import type { Cell } from "../models/Cell.ts";
|
|
6
|
+
// import type { ColumnName } from "../models/ColumnName.ts";
|
|
7
|
+
// import type { ColumnOffset } from "../models/ColumnOffset.ts";
|
|
8
|
+
// import type { DataSource } from "../models/DataSource.ts";
|
|
9
|
+
// import type { DataSourceDecoder } from "../models/DataSourceDecoder.ts";
|
|
10
|
+
// import type { DataSourceEncoder } from "../models/DataSourceEncoder.ts";
|
|
11
|
+
// import type { DataSourceIndex } from "../models/DataSourceIndex.ts";
|
|
12
|
+
// import type { DataSourceRow } from "../models/DataSourceRow.ts";
|
|
13
|
+
// import type { Item } from "../models/Item.ts";
|
|
14
|
+
// import type { RangeOperationCallback } from "../models/RangeOperationCallback.ts";
|
|
15
|
+
// import type { RecordBase } from "../models/RecordBase.ts";
|
|
16
|
+
// import type { RowNumber } from "../models/RowNumber.ts";
|
|
17
|
+
// import type { RowOffset } from "../models/RowOffset.ts";
|
|
18
|
+
// import type { WorkbookRangeRef } from "../models/WorkbookRangeRef.ts";
|
|
19
|
+
// import type { WorkbookWorksheetRef } from "../models/WorkbookWorksheetRef.ts";
|
|
20
|
+
// import deleteWorkbookRange from "../operations/workbookRange/deleteWorkbookRange.ts";
|
|
21
|
+
// import insertWorkbookCells from "../operations/workbookRange/insertWorkbookCells.ts";
|
|
22
|
+
// import updateWorkbookRange from "../operations/workbookRange/updateWorkbookRange.ts";
|
|
23
|
+
// import readWorkbookRows from "../tasks/readWorkbookRows.ts";
|
|
24
|
+
// import { countAddressColumns, countAddressRows } from "./addressManipulation.ts";
|
|
25
|
+
// import { rowOffsetToAddress } from "./addressOffset.ts";
|
|
26
|
+
// import { addressToCartesian, cartesianToAddress } from "./cartesianAddress.ts";
|
|
27
|
+
// import { createWorkbookRangeRef } from "./workbookRange.ts";
|
|
28
|
+
// /**
|
|
29
|
+
// * Define a range and create a data source on it. From there you can read, update, create, insert and delete items with a given encoding and decoding strategy.
|
|
30
|
+
// * @param parentRef
|
|
31
|
+
// * @param decode
|
|
32
|
+
// * @param encode
|
|
33
|
+
// * @returns
|
|
34
|
+
// */
|
|
35
|
+
// export async function defineDataSource<T extends RecordBase>(parentRef: WorkbookWorksheetRef | WorkbookRangeRef, decode: DataSourceDecoder<T>, encode: DataSourceEncoder<T> | null = null): Promise<DataSource<T>> {
|
|
36
|
+
// const rangeRef = "address" in parentRef ? parentRef : createWorkbookRangeRef(parentRef, "A1");
|
|
37
|
+
// const source: DataSource<T> = {
|
|
38
|
+
// rangeRef,
|
|
39
|
+
// coding: {
|
|
40
|
+
// decode,
|
|
41
|
+
// encode,
|
|
42
|
+
// },
|
|
43
|
+
// head: [],
|
|
44
|
+
// async *[Symbol.asyncIterator](): AsyncGenerator<Item<T>> {
|
|
45
|
+
// const { ay } = addressToCartesian(this.rangeRef.address);
|
|
46
|
+
// let hasHead = false;
|
|
47
|
+
// let index = 0 as DataSourceIndex;
|
|
48
|
+
// for await (const row of readWorkbookRows(source.rangeRef)) {
|
|
49
|
+
// if (!hasHead) {
|
|
50
|
+
// source.head = row.map((cell) => cell.text as unknown as ColumnName);
|
|
51
|
+
// hasHead = true;
|
|
52
|
+
// continue;
|
|
53
|
+
// }
|
|
54
|
+
// const record = rowToRecord<T>(row, source);
|
|
55
|
+
// const rowNumber = indexToRowNumber(ay, index);
|
|
56
|
+
// yield {
|
|
57
|
+
// index,
|
|
58
|
+
// rowNumber,
|
|
59
|
+
// record,
|
|
60
|
+
// };
|
|
61
|
+
// index++;
|
|
62
|
+
// }
|
|
63
|
+
// },
|
|
64
|
+
// };
|
|
65
|
+
// return source;
|
|
66
|
+
// }
|
|
67
|
+
// export async function initializeDataSource<T extends RecordBase>(source: DataSource<T>, empty: T, formatHeader: RangeOperationCallback | null = null): Promise<void> {
|
|
68
|
+
// if (!isEmpty(source)) {
|
|
69
|
+
// throw new InvalidOperationError("Cannot initialize source with non-empty range.");
|
|
70
|
+
// }
|
|
71
|
+
// const { ax, ay } = addressToCartesian(source.rangeRef.address);
|
|
72
|
+
// const address = cartesianToAddress({
|
|
73
|
+
// ax,
|
|
74
|
+
// bx: (ax + source.head.length - 1) as ColumnOffset,
|
|
75
|
+
// ay,
|
|
76
|
+
// by: ay,
|
|
77
|
+
// });
|
|
78
|
+
// await insertWorkbookCells(source.rangeRef, address, "Right");
|
|
79
|
+
// source.rangeRef = createWorkbookRangeRef(source.rangeRef, address);
|
|
80
|
+
// source.head = Object.keys(empty) as ColumnName[];
|
|
81
|
+
// await updateWorkbookRange(source.rangeRef, {
|
|
82
|
+
// values: [source.head],
|
|
83
|
+
// });
|
|
84
|
+
// if (formatHeader) {
|
|
85
|
+
// await formatHeader(source.rangeRef);
|
|
86
|
+
// }
|
|
87
|
+
// }
|
|
88
|
+
// export async function readAllItems<T extends RecordBase>(source: DataSource<T>): Promise<Item<T>[]> {
|
|
89
|
+
// const result: Item<T>[] = [];
|
|
90
|
+
// for await (const item of source) {
|
|
91
|
+
// result.push(item);
|
|
92
|
+
// }
|
|
93
|
+
// return result;
|
|
94
|
+
// }
|
|
95
|
+
// export async function createItem<T extends RecordBase>(source: DataSource<T>, record: T, after: DataSourceIndex | null = null): Promise<Item<T>> {
|
|
96
|
+
// if (isEmpty(source)) {
|
|
97
|
+
// throw new InvalidOperationError("Source not initialized.");
|
|
98
|
+
// }
|
|
99
|
+
// const { ax, bx, ay, by } = addressToCartesian(source.rangeRef.address);
|
|
100
|
+
// const index = after ?? offsetToIndex(by);
|
|
101
|
+
// const rowNumber = indexToRowNumber(ay, index);
|
|
102
|
+
// const rowOffset = indexToOffset(ay, index);
|
|
103
|
+
// if (rowOffset <= ay || rowOffset > by) {
|
|
104
|
+
// throw new InvalidArgumentError(`'after' is out of range. Range is from ${offsetToIndex(ay)} to ${offsetToIndex(by)}, but 'after' index is ${offsetToIndex(rowOffset)}.`);
|
|
105
|
+
// }
|
|
106
|
+
// source.rangeRef.address = cartesianToAddress({
|
|
107
|
+
// ax,
|
|
108
|
+
// bx,
|
|
109
|
+
// ay,
|
|
110
|
+
// by: (by + 1) as RowOffset,
|
|
111
|
+
// });
|
|
112
|
+
// await insertWorkbookCells(source.rangeRef, rowOffsetToAddress(indexToOffset(ay, index)), "Down");
|
|
113
|
+
// await updateItem<T>(source, index, record);
|
|
114
|
+
// return {
|
|
115
|
+
// index,
|
|
116
|
+
// rowNumber,
|
|
117
|
+
// record,
|
|
118
|
+
// };
|
|
119
|
+
// }
|
|
120
|
+
// function indexToOffset(rowOffset: RowOffset, index: DataSourceIndex): RowOffset {
|
|
121
|
+
// return (rowOffset + index + 1) as RowOffset; // +1 to account for the header row
|
|
122
|
+
// }
|
|
123
|
+
// function indexToRowNumber(rowOffset: RowOffset, index: DataSourceIndex): RowNumber {
|
|
124
|
+
// return (rowOffset + index + 2) as RowNumber; // +1 to account for the header row, +1 to convert to 1-based index
|
|
125
|
+
// }
|
|
126
|
+
// function offsetToIndex(rowOffset: RowOffset): DataSourceIndex {
|
|
127
|
+
// return (rowOffset - 1) as DataSourceIndex; // -1 to convert from 1-based index to 0-based index
|
|
128
|
+
// }
|
|
129
|
+
// export async function updateItem<T extends RecordBase>(source: DataSource<T>, index: DataSourceIndex, record: T): Promise<void> {
|
|
130
|
+
// if (isEmpty(source)) {
|
|
131
|
+
// throw new InvalidOperationError("Source not initialized.");
|
|
132
|
+
// }
|
|
133
|
+
// const row = recordToRow(record, source);
|
|
134
|
+
// const { ax, bx, ay, by } = addressToCartesian(source.rangeRef.address);
|
|
135
|
+
// const rowOffset = indexToOffset(ay, index);
|
|
136
|
+
// if (rowOffset <= ay || rowOffset > by) {
|
|
137
|
+
// throw new InvalidArgumentError(`'after' is out of range. Range is from ${offsetToIndex(ay)} to ${offsetToIndex(by)}, but 'after' index is ${offsetToIndex(rowOffset)}.`);
|
|
138
|
+
// }
|
|
139
|
+
// const rangeRef = createWorkbookRangeRef(
|
|
140
|
+
// source.rangeRef,
|
|
141
|
+
// cartesianToAddress({
|
|
142
|
+
// ax,
|
|
143
|
+
// bx,
|
|
144
|
+
// ay: (ay + index) as RowOffset,
|
|
145
|
+
// by: (ay + index) as RowOffset,
|
|
146
|
+
// }),
|
|
147
|
+
// );
|
|
148
|
+
// await updateWorkbookRange(rangeRef, {
|
|
149
|
+
// values: [row.map((x) => x.value)],
|
|
150
|
+
// text: [row.map((x) => x.text)],
|
|
151
|
+
// numberFormat: [row.map((x) => x.numberFormat)],
|
|
152
|
+
// });
|
|
153
|
+
// }
|
|
154
|
+
// export async function deleteItem<T extends RecordBase>(source: DataSource<T>, index: DataSourceIndex): Promise<void> {
|
|
155
|
+
// if (isEmpty(source)) {
|
|
156
|
+
// throw new InvalidOperationError("Source not initialized.");
|
|
157
|
+
// }
|
|
158
|
+
// const { ax, bx, ay, by } = addressToCartesian(source.rangeRef.address);
|
|
159
|
+
// source.rangeRef.address = cartesianToAddress({
|
|
160
|
+
// ax,
|
|
161
|
+
// bx,
|
|
162
|
+
// ay,
|
|
163
|
+
// by: (by - 1) as RowOffset,
|
|
164
|
+
// });
|
|
165
|
+
// const rangeRef = createWorkbookRangeRef(source.rangeRef, rowOffsetToAddress(indexToOffset(ay, index)));
|
|
166
|
+
// await deleteWorkbookRange(rangeRef, "Up");
|
|
167
|
+
// }
|
|
168
|
+
// function rowToRecord<T extends RecordBase>(row: Cell[], source: DataSource<T>): T {
|
|
169
|
+
// const sourceRow = source.head.reduce((acc, heading, columnIndex) => {
|
|
170
|
+
// const cell = row[columnIndex];
|
|
171
|
+
// if (!cell) {
|
|
172
|
+
// throw new NeverError(`Cell at index ${columnIndex} is undefined`);
|
|
173
|
+
// }
|
|
174
|
+
// acc[heading] = cell;
|
|
175
|
+
// return acc;
|
|
176
|
+
// }, {} as DataSourceRow);
|
|
177
|
+
// const record = source.coding.decode(sourceRow);
|
|
178
|
+
// return record;
|
|
179
|
+
// }
|
|
180
|
+
// function recordToRow<T extends RecordBase>(record: T, source: DataSource<T>): Cell[] {
|
|
181
|
+
// if (!source.coding.encode) {
|
|
182
|
+
// throw new InvalidOperationError("Data source does not have an encoder defined.");
|
|
183
|
+
// }
|
|
184
|
+
// const sourceRow = source.coding.encode(record);
|
|
185
|
+
// const row = source.head.map((heading) => {
|
|
186
|
+
// const cell = sourceRow[heading];
|
|
187
|
+
// if (cell === undefined) {
|
|
188
|
+
// throw new NeverError(`Cell at index ${heading} is undefined`);
|
|
189
|
+
// }
|
|
190
|
+
// return cell;
|
|
191
|
+
// });
|
|
192
|
+
// return row;
|
|
193
|
+
// }
|
|
194
|
+
// function isEmpty<T extends RecordBase>(source: DataSource<T>) {
|
|
195
|
+
// return countAddressRows(source.rangeRef.address) <= 1 && countAddressColumns(source.rangeRef.address) <= 1; // TODO: It is possible that a data source has a single heading with no records
|
|
196
|
+
// }
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import type { ColumnName } from "./ColumnName.ts";
|
|
2
|
+
import type { DataSourceDecoder } from "./DataSourceDecoder.ts";
|
|
3
|
+
import type { DataSourceEncoder } from "./DataSourceEncoder.ts";
|
|
2
4
|
import type { Item } from "./Item.ts";
|
|
3
5
|
import type { RecordBase } from "./RecordBase.ts";
|
|
4
|
-
import type { SourceDecoder } from "./SourceDecoder.ts";
|
|
5
|
-
import type { SourceEncoder } from "./SourceEncoder.ts";
|
|
6
6
|
import type { WorkbookRangeRef } from "./WorkbookRangeRef.ts";
|
|
7
|
-
export type
|
|
7
|
+
export type DataSource<T extends RecordBase> = {
|
|
8
8
|
rangeRef: WorkbookRangeRef;
|
|
9
9
|
head: ColumnName[];
|
|
10
10
|
coding: {
|
|
11
|
-
decode:
|
|
12
|
-
encode:
|
|
11
|
+
decode: DataSourceDecoder<T>;
|
|
12
|
+
encode: DataSourceEncoder<T> | null;
|
|
13
13
|
};
|
|
14
14
|
} & AsyncIterable<Item<T>>;
|
|
15
|
-
//# sourceMappingURL=
|
|
15
|
+
//# sourceMappingURL=DataSource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataSource.d.ts","sourceRoot":"","sources":["../../../src/models/DataSource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,UAAU,IAAI;IAC9C,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,MAAM,EAAE;QACP,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;KACpC,CAAC;CACF,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataSourceDecoder.d.ts","sourceRoot":"","sources":["../../../src/models/DataSourceDecoder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,UAAU,IAAI,CAAC,GAAG,EAAE,aAAa,KAAK,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataSourceEncoder.d.ts","sourceRoot":"","sources":["../../../src/models/DataSourceEncoder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,UAAU,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataSourceIndex.d.ts","sourceRoot":"","sources":["../../../src/models/DataSourceIndex.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG;IACtC,OAAO,EAAE,OAAO,CAAC;CACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataSourceRow.d.ts","sourceRoot":"","sources":["../../../src/models/DataSourceRow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { DataSourceIndex } from "./DataSourceIndex.ts";
|
|
2
2
|
import type { RecordBase } from "./RecordBase.ts";
|
|
3
3
|
import type { RowNumber } from "./RowNumber.ts";
|
|
4
4
|
export type Item<T extends RecordBase> = {
|
|
5
|
-
|
|
5
|
+
index: DataSourceIndex;
|
|
6
6
|
rowNumber: RowNumber;
|
|
7
7
|
record: T;
|
|
8
8
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Item.d.ts","sourceRoot":"","sources":["../../../src/models/Item.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"Item.d.ts","sourceRoot":"","sources":["../../../src/models/Item.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,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,KAAK,EAAE,eAAe,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,CAAC,CAAC;CACV,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RangeOperationCallback.d.ts","sourceRoot":"","sources":["../../../src/models/RangeOperationCallback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,MAAM,MAAM,sBAAsB,GAAG,CAAC,QAAQ,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Address, CellAddress, ColumnAddress, RowAddress } from "../models/Address.ts";
|
|
2
|
+
import type { WorkbookRangeRef } from "../models/WorkbookRangeRef.ts";
|
|
2
3
|
export type AddressComponents = {
|
|
3
4
|
startColumn: ColumnAddress;
|
|
4
5
|
endColumn: ColumnAddress;
|
|
@@ -128,4 +129,22 @@ export declare function countAddressRows(address: Address): number;
|
|
|
128
129
|
* @returns The number of columns in the address.
|
|
129
130
|
*/
|
|
130
131
|
export declare function countAddressColumns(address: Address): number;
|
|
132
|
+
/**
|
|
133
|
+
* Extracts a sub-address from a given address by specifying the number of rows and columns to include.
|
|
134
|
+
* @param address Address to extract the sub-address from.
|
|
135
|
+
* @param rows Number of rows to include. If positive, selects the first X rows, if negative, selects the last X rows. If null selects all rows.
|
|
136
|
+
* @param cols Number of columns to include. If positive, selects the first X columns, if negative, selects the last X columns. If null selects all columns.
|
|
137
|
+
* @returns Extracted sub-address.
|
|
138
|
+
* @throws InvalidArgumentError if the requested rows or columns exceed the available range.
|
|
139
|
+
*/
|
|
140
|
+
export declare function subaddress(address: Address, rows: number | null, cols: number | null): Address;
|
|
141
|
+
/**
|
|
142
|
+
* Extracts a sub-range from a given range by specifying the number of rows and columns to include.
|
|
143
|
+
* @param rangeRef Range reference to extract the sub-range from.
|
|
144
|
+
* @param rows Number of rows to include. If positive, selects the first X rows, if negative, selects the last X rows. If null selects all rows.
|
|
145
|
+
* @param cols Number of columns to include. If positive, selects the first X columns, if negative, selects the last X columns. If null selects all columns.
|
|
146
|
+
* @returns Extracted sub-range reference.
|
|
147
|
+
* @throws InvalidArgumentError if the requested rows or columns exceed the available range.
|
|
148
|
+
*/
|
|
149
|
+
export declare function subrange(rangeRef: WorkbookRangeRef, rows: number | null, cols?: number | null): WorkbookRangeRef;
|
|
131
150
|
//# sourceMappingURL=addressManipulation.d.ts.map
|
|
@@ -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;
|
|
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;AAGnJ,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAkBtE,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,EAAE,UAAU,UAAQ,GAAG,OAAO,CAE9E;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,iBAAiB,CAcpE;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,iBAAiB,EAAE,UAAU,UAAQ,GAAG,OAAO,CAsBzF;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;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAmC9F;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,GAAE,MAAM,GAAG,IAAW,GAAG,gBAAgB,CAMtH"}
|