@yeyuan98/opencode-bioresearcher-plugin 1.7.0 → 1.7.1
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/tools/parser/pubmed/utils.js +3 -1
- package/dist/tools/table/backends/base.d.ts +8 -0
- package/dist/tools/table/backends/base.js +23 -0
- package/dist/tools/table/backends/csv/index.d.ts +64 -0
- package/dist/tools/table/backends/csv/index.js +660 -0
- package/dist/tools/table/backends/factory.d.ts +2 -0
- package/dist/tools/table/backends/factory.js +14 -0
- package/dist/tools/table/backends/interface.d.ts +68 -0
- package/dist/tools/table/backends/interface.js +1 -0
- package/dist/tools/table/backends/xlsx/index.d.ts +62 -0
- package/dist/tools/table/backends/xlsx/index.js +547 -0
- package/dist/tools/table/index.d.ts +6 -4
- package/dist/tools/table/tools.d.ts +6 -4
- package/dist/tools/table/tools.js +292 -459
- package/dist/tools/table/utils.d.ts +5 -5
- package/dist/tools/table/utils.js +18 -39
- package/dist/vendor/xlsx.d.mts +1 -0
- package/dist/vendor/xlsx.mjs +33989 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +5 -4
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare abstract class BaseTableBackend {
|
|
2
|
+
protected resolvedPath: string;
|
|
3
|
+
protected force: boolean;
|
|
4
|
+
constructor(resolvedPath: string, force: boolean);
|
|
5
|
+
abstract readonly type: string;
|
|
6
|
+
protected ensureSheetIndex(sheetIndex: number): void;
|
|
7
|
+
protected resolveSheetName(sheetName: string | undefined, availableNames: string[]): string;
|
|
8
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { checkFileSize } from '../utils';
|
|
2
|
+
export class BaseTableBackend {
|
|
3
|
+
resolvedPath;
|
|
4
|
+
force;
|
|
5
|
+
constructor(resolvedPath, force) {
|
|
6
|
+
this.resolvedPath = resolvedPath;
|
|
7
|
+
this.force = force;
|
|
8
|
+
checkFileSize(resolvedPath, force);
|
|
9
|
+
}
|
|
10
|
+
ensureSheetIndex(sheetIndex) {
|
|
11
|
+
if (sheetIndex !== 0) {
|
|
12
|
+
throw new Error('This file format only supports a single sheet (index 0)');
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
resolveSheetName(sheetName, availableNames) {
|
|
16
|
+
if (!sheetName)
|
|
17
|
+
return availableNames[0];
|
|
18
|
+
if (!availableNames.includes(sheetName)) {
|
|
19
|
+
throw new Error(`Sheet "${sheetName}" not found`);
|
|
20
|
+
}
|
|
21
|
+
return sheetName;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { BaseTableBackend } from '../base';
|
|
2
|
+
import type { IWritableTableBackend, SheetInfo } from '../interface';
|
|
3
|
+
export declare class CSVBackend extends BaseTableBackend implements IWritableTableBackend {
|
|
4
|
+
readonly type = "csv";
|
|
5
|
+
private delimiter;
|
|
6
|
+
private _headers;
|
|
7
|
+
private _totalDataRows;
|
|
8
|
+
constructor(resolvedPath: string, force: boolean);
|
|
9
|
+
private readHeaders;
|
|
10
|
+
private countDataRows;
|
|
11
|
+
listSheets(): SheetInfo[];
|
|
12
|
+
getHeaders(sheetIndex: number): {
|
|
13
|
+
headers: string[];
|
|
14
|
+
columnCount: number;
|
|
15
|
+
};
|
|
16
|
+
getTotalDataRows(sheetIndex: number): number;
|
|
17
|
+
getCell(sheetIndex: number, cellAddress: string): {
|
|
18
|
+
value: any;
|
|
19
|
+
type: string;
|
|
20
|
+
};
|
|
21
|
+
getRange(sheetIndex: number, range: string): any;
|
|
22
|
+
getPreview(sheetIndex: number, maxRows: number): {
|
|
23
|
+
rows: any[][];
|
|
24
|
+
totalRows: number;
|
|
25
|
+
};
|
|
26
|
+
search(sheetIndex: number, searchTerm: string, options: {
|
|
27
|
+
column?: string;
|
|
28
|
+
maxResults: number;
|
|
29
|
+
maxRowsScan: number;
|
|
30
|
+
}): {
|
|
31
|
+
results: any[];
|
|
32
|
+
totalMatchesFound: number;
|
|
33
|
+
rowsScanned: number;
|
|
34
|
+
};
|
|
35
|
+
filterRows(sheetIndex: number, column: string, operator: string, value: any, options: {
|
|
36
|
+
maxResults: number;
|
|
37
|
+
maxRowsScan: number;
|
|
38
|
+
}): {
|
|
39
|
+
matchedRows: Record<string, any>[];
|
|
40
|
+
totalMatchesFound: number;
|
|
41
|
+
totalDataRows: number;
|
|
42
|
+
};
|
|
43
|
+
summarize(sheetIndex: number, columns: string[] | undefined, options: {
|
|
44
|
+
maxRowsScan: number;
|
|
45
|
+
}): {
|
|
46
|
+
summaries: Record<string, any>;
|
|
47
|
+
rowCount: number;
|
|
48
|
+
};
|
|
49
|
+
groupBy(sheetIndex: number, groupColumn: string, aggColumn: string, aggType: string, options: {
|
|
50
|
+
maxRowsScan: number;
|
|
51
|
+
}): {
|
|
52
|
+
groups: Record<string, number>;
|
|
53
|
+
};
|
|
54
|
+
pivotSummary(sheetIndex: number, rowField: string, colField: string, valueField: string, agg: string, options: {
|
|
55
|
+
maxRowsScan: number;
|
|
56
|
+
}): {
|
|
57
|
+
columns: string[];
|
|
58
|
+
pivot: Record<string, Record<string, number>>;
|
|
59
|
+
};
|
|
60
|
+
appendRows(sheetIndex: number, rows: any[]): void;
|
|
61
|
+
updateCell(sheetIndex: number, cellAddress: string, value: any): void;
|
|
62
|
+
createFile(sheetName: string, data: any): void;
|
|
63
|
+
dispose(): void;
|
|
64
|
+
}
|