@openrewrite/rewrite 8.85.5 → 8.85.7
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/data-table.d.ts +15 -2
- package/dist/data-table.d.ts.map +1 -1
- package/dist/data-table.js +45 -28
- package/dist/data-table.js.map +1 -1
- package/dist/rewrite-javascript-version.txt +1 -1
- package/dist/rpc/request/batch-visit.d.ts +2 -1
- package/dist/rpc/request/batch-visit.d.ts.map +1 -1
- package/dist/rpc/request/batch-visit.js +7 -1
- package/dist/rpc/request/batch-visit.js.map +1 -1
- package/dist/rpc/request/generate.d.ts +2 -1
- package/dist/rpc/request/generate.d.ts.map +1 -1
- package/dist/rpc/request/generate.js +6 -1
- package/dist/rpc/request/generate.js.map +1 -1
- package/dist/rpc/request/index.d.ts +1 -0
- package/dist/rpc/request/index.d.ts.map +1 -1
- package/dist/rpc/request/index.js +1 -0
- package/dist/rpc/request/index.js.map +1 -1
- package/dist/rpc/request/set-data-table-store.d.ts +25 -0
- package/dist/rpc/request/set-data-table-store.d.ts.map +1 -0
- package/dist/rpc/request/set-data-table-store.js +73 -0
- package/dist/rpc/request/set-data-table-store.js.map +1 -0
- package/dist/rpc/request/visit.d.ts +2 -1
- package/dist/rpc/request/visit.d.ts.map +1 -1
- package/dist/rpc/request/visit.js +7 -1
- package/dist/rpc/request/visit.js.map +1 -1
- package/dist/rpc/rewrite-rpc.d.ts +1 -0
- package/dist/rpc/rewrite-rpc.d.ts.map +1 -1
- package/dist/rpc/rewrite-rpc.js +5 -3
- package/dist/rpc/rewrite-rpc.js.map +1 -1
- package/package.json +1 -1
- package/src/data-table.ts +44 -26
- package/src/rpc/request/batch-visit.ts +7 -0
- package/src/rpc/request/generate.ts +6 -0
- package/src/rpc/request/index.ts +1 -0
- package/src/rpc/request/set-data-table-store.ts +63 -0
- package/src/rpc/request/visit.ts +6 -0
- package/src/rpc/rewrite-rpc.ts +10 -4
package/dist/data-table.d.ts
CHANGED
|
@@ -12,6 +12,10 @@ export declare class InMemoryDataTableStore implements DataTableStore {
|
|
|
12
12
|
getRows(dataTableName: string, group?: string): any[];
|
|
13
13
|
getDataTables(): DataTable<any>[];
|
|
14
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* Sanitize a value for a filename, byte-identical to the Java host's
|
|
17
|
+
* {@code CsvDataTableStore.sanitize} so a shared data table resolves to the same file.
|
|
18
|
+
*/
|
|
15
19
|
export declare function sanitizeScope(scope: string): string;
|
|
16
20
|
export declare class DataTable<Row> {
|
|
17
21
|
private rowConstructor;
|
|
@@ -46,10 +50,15 @@ export interface ColumnDescriptor {
|
|
|
46
50
|
*/
|
|
47
51
|
export declare class CsvDataTableStore implements DataTableStore {
|
|
48
52
|
private readonly outputDir;
|
|
49
|
-
private readonly
|
|
53
|
+
private readonly prefixColumns;
|
|
54
|
+
private readonly suffixColumns;
|
|
50
55
|
private readonly _rowCounts;
|
|
51
56
|
private readonly _dataTables;
|
|
52
|
-
constructor(outputDir: string
|
|
57
|
+
constructor(outputDir: string, prefixColumns?: {
|
|
58
|
+
[key: string]: string;
|
|
59
|
+
}, suffixColumns?: {
|
|
60
|
+
[key: string]: string;
|
|
61
|
+
});
|
|
53
62
|
insertRow<Row>(dataTable: DataTable<Row>, _ctx: ExecutionContext, row: Row): void;
|
|
54
63
|
getRows(_dataTableName: string, _group?: string): any[];
|
|
55
64
|
getDataTables(): DataTable<any>[];
|
|
@@ -57,6 +66,10 @@ export declare class CsvDataTableStore implements DataTableStore {
|
|
|
57
66
|
[key: string]: number;
|
|
58
67
|
};
|
|
59
68
|
get tableKeys(): string[];
|
|
69
|
+
/**
|
|
70
|
+
* Filesystem-safe key for a data table; mirrors the Java host's
|
|
71
|
+
* {@code CsvDataTableStore.fileKey} so a shared table resolves to the same filename.
|
|
72
|
+
*/
|
|
60
73
|
static fileKey(dataTable: DataTable<any>): string;
|
|
61
74
|
}
|
|
62
75
|
//# sourceMappingURL=data-table.d.ts.map
|
package/dist/data-table.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-table.d.ts","sourceRoot":"","sources":["../src/data-table.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAG7C,eAAO,MAAM,gBAAgB,eAAiD,CAAC;AAG/E,wBAAgB,MAAM,CAAC,UAAU,EAAE,gBAAgB,IAC9B,QAAQ,GAAG,EAAE,aAAa,MAAM,UAUpD;AAED,MAAM,WAAW,cAAc;IAC3B,SAAS,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI,CAAA;IAEhF,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAA;IAE5D,aAAa,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE,CAAA;CACpC;AAED,qBAAa,sBAAuB,YAAW,cAAc;IACzD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgE;IAEzF,SAAS,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI;IAWjF,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,GAAG,EAAE;IAerD,aAAa,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE;CAGpC;AAOD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"data-table.d.ts","sourceRoot":"","sources":["../src/data-table.ts"],"names":[],"mappings":"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"}
|
package/dist/data-table.js
CHANGED
|
@@ -106,14 +106,16 @@ function sha256Prefix(input, hexChars) {
|
|
|
106
106
|
const hash = crypto.createHash('sha256').update(input, 'utf8').digest('hex');
|
|
107
107
|
return hash.substring(0, hexChars);
|
|
108
108
|
}
|
|
109
|
+
/**
|
|
110
|
+
* Sanitize a value for a filename, byte-identical to the Java host's
|
|
111
|
+
* {@code CsvDataTableStore.sanitize} so a shared data table resolves to the same file.
|
|
112
|
+
*/
|
|
109
113
|
function sanitizeScope(scope) {
|
|
110
114
|
// 1. lowercase
|
|
111
115
|
let s = scope.toLowerCase();
|
|
112
|
-
//
|
|
113
|
-
s = s.replace(/[
|
|
114
|
-
// 3. collapse consecutive '-', trim leading/trailing
|
|
116
|
+
// \p{L}\p{Nd} mirrors Java's Character.isLetterOrDigit, for cross-runtime parity
|
|
117
|
+
s = s.replace(/[^\p{L}\p{Nd}]/gu, '-');
|
|
115
118
|
s = s.replace(/-+/g, '-').replace(/^-|-$/g, '');
|
|
116
|
-
// 4. truncate to ~30 chars at word boundary
|
|
117
119
|
if (s.length > 30) {
|
|
118
120
|
s = s.substring(0, 30);
|
|
119
121
|
const lastDash = s.lastIndexOf('-');
|
|
@@ -121,7 +123,6 @@ function sanitizeScope(scope) {
|
|
|
121
123
|
s = s.substring(0, lastDash);
|
|
122
124
|
}
|
|
123
125
|
}
|
|
124
|
-
// 5. append 4-char hash
|
|
125
126
|
const hash = sha256Prefix(scope, 4);
|
|
126
127
|
return `${s}-${hash}`;
|
|
127
128
|
}
|
|
@@ -179,38 +180,42 @@ function escapeCsv(value) {
|
|
|
179
180
|
* Uses the data table's file-safe key for filenames.
|
|
180
181
|
*/
|
|
181
182
|
class CsvDataTableStore {
|
|
182
|
-
constructor(outputDir) {
|
|
183
|
+
constructor(outputDir, prefixColumns = {}, suffixColumns = {}) {
|
|
183
184
|
this.outputDir = outputDir;
|
|
184
|
-
this.
|
|
185
|
+
this.prefixColumns = prefixColumns;
|
|
186
|
+
this.suffixColumns = suffixColumns;
|
|
185
187
|
this._rowCounts = {};
|
|
186
188
|
this._dataTables = new Map();
|
|
187
189
|
fs.mkdirSync(outputDir, { recursive: true });
|
|
188
190
|
}
|
|
189
191
|
insertRow(dataTable, _ctx, row) {
|
|
190
|
-
var _a;
|
|
192
|
+
var _a, _b;
|
|
191
193
|
const fileKey = CsvDataTableStore.fileKey(dataTable);
|
|
192
194
|
const csvPath = path.join(this.outputDir, fileKey + '.csv');
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
const
|
|
199
|
-
|
|
195
|
+
this._dataTables.set(fileKey, dataTable);
|
|
196
|
+
const columns = dataTable.descriptor.columns;
|
|
197
|
+
// Key the header on file existence, not in-memory state, so writers sharing one file
|
|
198
|
+
// (Java host + RPC runtimes) emit it once; column names (not display names) match the Java writer.
|
|
199
|
+
if (!fs.existsSync(csvPath)) {
|
|
200
|
+
const header = [
|
|
201
|
+
...Object.keys(this.prefixColumns),
|
|
202
|
+
...columns.map(col => col.name),
|
|
203
|
+
...Object.keys(this.suffixColumns),
|
|
204
|
+
].map(escapeCsv).join(',');
|
|
200
205
|
const comments = [
|
|
201
206
|
`# @name ${dataTable.descriptor.name}`,
|
|
202
207
|
`# @instanceName ${dataTable.instanceName}`,
|
|
203
208
|
`# @group ${(_a = dataTable.group) !== null && _a !== void 0 ? _a : ''}`,
|
|
204
209
|
].join('\n');
|
|
205
|
-
fs.writeFileSync(csvPath, comments + '\n' +
|
|
210
|
+
fs.writeFileSync(csvPath, comments + '\n' + header + '\n');
|
|
206
211
|
}
|
|
207
|
-
const
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
+
const rowValues = [
|
|
213
|
+
...Object.values(this.prefixColumns),
|
|
214
|
+
...columns.map(col => row[col.name]),
|
|
215
|
+
...Object.values(this.suffixColumns),
|
|
216
|
+
].map(escapeCsv);
|
|
212
217
|
fs.appendFileSync(csvPath, rowValues.join(',') + '\n');
|
|
213
|
-
this._rowCounts[fileKey]
|
|
218
|
+
this._rowCounts[fileKey] = ((_b = this._rowCounts[fileKey]) !== null && _b !== void 0 ? _b : 0) + 1;
|
|
214
219
|
}
|
|
215
220
|
getRows(_dataTableName, _group) {
|
|
216
221
|
// CSV store writes to disk; reading back is not supported
|
|
@@ -223,15 +228,27 @@ class CsvDataTableStore {
|
|
|
223
228
|
return Object.assign({}, this._rowCounts);
|
|
224
229
|
}
|
|
225
230
|
get tableKeys() {
|
|
226
|
-
return
|
|
231
|
+
return Array.from(this._dataTables.keys());
|
|
227
232
|
}
|
|
233
|
+
/**
|
|
234
|
+
* Filesystem-safe key for a data table; mirrors the Java host's
|
|
235
|
+
* {@code CsvDataTableStore.fileKey} so a shared table resolves to the same filename.
|
|
236
|
+
*/
|
|
228
237
|
static fileKey(dataTable) {
|
|
229
|
-
|
|
230
|
-
const
|
|
231
|
-
if (
|
|
232
|
-
|
|
238
|
+
const name = dataTable.descriptor.name;
|
|
239
|
+
const group = dataTable.group;
|
|
240
|
+
if (group != null) {
|
|
241
|
+
if (group === name) {
|
|
242
|
+
return name;
|
|
243
|
+
}
|
|
244
|
+
return `${name}--${sanitizeScope(group)}`;
|
|
245
|
+
}
|
|
246
|
+
// Suffix only when instanceName was customized (differs from the display name).
|
|
247
|
+
const instanceName = dataTable.instanceName;
|
|
248
|
+
if (instanceName === dataTable.descriptor.displayName) {
|
|
249
|
+
return name;
|
|
233
250
|
}
|
|
234
|
-
return `${
|
|
251
|
+
return `${name}--${sanitizeScope(instanceName)}`;
|
|
235
252
|
}
|
|
236
253
|
}
|
|
237
254
|
exports.CsvDataTableStore = CsvDataTableStore;
|
package/dist/data-table.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-table.js","sourceRoot":"","sources":["../src/data-table.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,wBAWC;
|
|
1
|
+
{"version":3,"file":"data-table.js","sourceRoot":"","sources":["../src/data-table.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
8.85.
|
|
1
|
+
8.85.7
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as rpc from "vscode-jsonrpc/node";
|
|
2
2
|
import { Recipe } from "../../recipe";
|
|
3
3
|
import { Cursor } from "../../tree";
|
|
4
|
+
import { DataTableStore } from "../../data-table";
|
|
4
5
|
export interface BatchVisitItem {
|
|
5
6
|
visitor: string;
|
|
6
7
|
visitorOptions?: Map<string, any>;
|
|
@@ -22,6 +23,6 @@ export interface BatchVisitRequest {
|
|
|
22
23
|
visitors: BatchVisitItem[];
|
|
23
24
|
}
|
|
24
25
|
export declare class BatchVisit {
|
|
25
|
-
static handle(connection: rpc.MessageConnection, localObjects: Map<string, any>, preparedRecipes: Map<String, Recipe>, recipeCursors: WeakMap<Recipe, Cursor>, getObject: (id: string, sourceFileType?: string) => any, getCursor: (cursorIds: string[] | undefined, sourceFileType?: string) => Promise<Cursor>, metricsCsv?: string): void;
|
|
26
|
+
static handle(connection: rpc.MessageConnection, localObjects: Map<string, any>, preparedRecipes: Map<String, Recipe>, recipeCursors: WeakMap<Recipe, Cursor>, getObject: (id: string, sourceFileType?: string) => any, getCursor: (cursorIds: string[] | undefined, sourceFileType?: string) => Promise<Cursor>, dataTableStore: () => DataTableStore | undefined, metricsCsv?: string): void;
|
|
26
27
|
}
|
|
27
28
|
//# sourceMappingURL=batch-visit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch-visit.d.ts","sourceRoot":"","sources":["../../../src/rpc/request/batch-visit.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAC;AACpC,OAAO,EAAC,MAAM,EAAO,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"batch-visit.d.ts","sourceRoot":"","sources":["../../../src/rpc/request/batch-visit.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAC;AACpC,OAAO,EAAC,MAAM,EAAO,MAAM,YAAY,CAAC;AAKxC,OAAO,EAAmB,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAGlE,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CACpC;AAED,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,cAAc,EAAE,OAAO,CAAA;IACvB,eAAe,EAAE,MAAM,EAAE,CAAA;CAC5B;AAED,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,gBAAgB,EAAE,CAAA;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAC9B,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,CAAC,EAAE,MAAM,CAAA;IACT,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,QAAQ,EAAE,cAAc,EAAE,CAAA;CAC7B;AAiBD,qBAAa,UAAU;IACnB,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,iBAAiB,EACjC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9B,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,aAAa,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,EACtC,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,KAAK,GAAG,EACvD,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,cAAc,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,EACxF,cAAc,EAAE,MAAM,cAAc,GAAG,SAAS,EAChD,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;CA4E3C"}
|
|
@@ -53,6 +53,8 @@ const rpc = __importStar(require("vscode-jsonrpc/node"));
|
|
|
53
53
|
const visitor_1 = require("../../visitor");
|
|
54
54
|
const markers_1 = require("../../markers");
|
|
55
55
|
const visit_1 = require("./visit");
|
|
56
|
+
const execution_1 = require("../../execution");
|
|
57
|
+
const data_table_1 = require("../../data-table");
|
|
56
58
|
const metrics_1 = require("./metrics");
|
|
57
59
|
async function collectSearchResultIds(tree) {
|
|
58
60
|
const ids = new Set();
|
|
@@ -69,9 +71,13 @@ async function collectSearchResultIds(tree) {
|
|
|
69
71
|
return ids;
|
|
70
72
|
}
|
|
71
73
|
class BatchVisit {
|
|
72
|
-
static handle(connection, localObjects, preparedRecipes, recipeCursors, getObject, getCursor, metricsCsv) {
|
|
74
|
+
static handle(connection, localObjects, preparedRecipes, recipeCursors, getObject, getCursor, dataTableStore, metricsCsv) {
|
|
73
75
|
connection.onRequest(new rpc.RequestType("BatchVisit"), (0, metrics_1.withMetrics)("BatchVisit", metricsCsv, (_context) => async (request) => {
|
|
74
76
|
const p = await getObject(request.p, undefined);
|
|
77
|
+
const store = dataTableStore();
|
|
78
|
+
if (store && p instanceof execution_1.ExecutionContext) {
|
|
79
|
+
p.messages[data_table_1.DATA_TABLE_STORE] = store;
|
|
80
|
+
}
|
|
75
81
|
let tree = await getObject(request.treeId, request.sourceFileType);
|
|
76
82
|
const cursor = await getCursor(request.cursor, request.sourceFileType);
|
|
77
83
|
const results = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch-visit.js","sourceRoot":"","sources":["../../../src/rpc/request/batch-visit.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"batch-visit.js","sourceRoot":"","sources":["../../../src/rpc/request/batch-visit.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as rpc from "vscode-jsonrpc/node";
|
|
2
2
|
import { Recipe } from "../../recipe";
|
|
3
3
|
import { Cursor } from "../../tree";
|
|
4
|
+
import { DataTableStore } from "../../data-table";
|
|
4
5
|
export interface GenerateResponse {
|
|
5
6
|
ids: string[];
|
|
6
7
|
sourceFileTypes: string[];
|
|
@@ -9,6 +10,6 @@ export declare class Generate {
|
|
|
9
10
|
private readonly id;
|
|
10
11
|
private readonly p;
|
|
11
12
|
constructor(id: string, p: string);
|
|
12
|
-
static handle(connection: rpc.MessageConnection, localObjects: Map<string, any>, preparedRecipes: Map<String, Recipe>, recipeCursors: WeakMap<Recipe, Cursor>, getObject: (id: string) => any, metricsCsv?: string): void;
|
|
13
|
+
static handle(connection: rpc.MessageConnection, localObjects: Map<string, any>, preparedRecipes: Map<String, Recipe>, recipeCursors: WeakMap<Recipe, Cursor>, getObject: (id: string) => any, dataTableStore: () => DataTableStore | undefined, metricsCsv?: string): void;
|
|
13
14
|
}
|
|
14
15
|
//# sourceMappingURL=generate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/rpc/request/generate.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAC,MAAM,EAAiB,MAAM,cAAc,CAAC;AACpD,OAAO,EAAC,MAAM,EAAa,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/rpc/request/generate.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAC,MAAM,EAAiB,MAAM,cAAc,CAAC;AACpD,OAAO,EAAC,MAAM,EAAa,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAmB,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAGlE,MAAM,WAAW,gBAAgB;IAC7B,GAAG,EAAE,MAAM,EAAE,CAAA;IACb,eAAe,EAAE,MAAM,EAAE,CAAA;CAC5B;AAED,qBAAa,QAAQ;IACL,OAAO,CAAC,QAAQ,CAAC,EAAE;IAAU,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAA9B,EAAE,EAAE,MAAM,EAAmB,CAAC,EAAE,MAAM;IAGnE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,iBAAiB,EACjC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9B,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,aAAa,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,EACtC,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,GAAG,EAC9B,cAAc,EAAE,MAAM,cAAc,GAAG,SAAS,EAChD,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;CAwC3C"}
|
|
@@ -52,13 +52,14 @@ exports.Generate = void 0;
|
|
|
52
52
|
const rpc = __importStar(require("vscode-jsonrpc/node"));
|
|
53
53
|
const recipe_1 = require("../../recipe");
|
|
54
54
|
const tree_1 = require("../../tree");
|
|
55
|
+
const data_table_1 = require("../../data-table");
|
|
55
56
|
const metrics_1 = require("./metrics");
|
|
56
57
|
class Generate {
|
|
57
58
|
constructor(id, p) {
|
|
58
59
|
this.id = id;
|
|
59
60
|
this.p = p;
|
|
60
61
|
}
|
|
61
|
-
static handle(connection, localObjects, preparedRecipes, recipeCursors, getObject, metricsCsv) {
|
|
62
|
+
static handle(connection, localObjects, preparedRecipes, recipeCursors, getObject, dataTableStore, metricsCsv) {
|
|
62
63
|
connection.onRequest(new rpc.RequestType("Generate"), (0, metrics_1.withMetrics)("Generate", metricsCsv, (context) => async (request) => {
|
|
63
64
|
context.target = request.id;
|
|
64
65
|
const recipe = preparedRecipes.get(request.id);
|
|
@@ -73,6 +74,10 @@ class Generate {
|
|
|
73
74
|
recipeCursors.set(recipe, cursor);
|
|
74
75
|
}
|
|
75
76
|
const ctx = await getObject(request.p);
|
|
77
|
+
const store = dataTableStore();
|
|
78
|
+
if (store) {
|
|
79
|
+
ctx.messages[data_table_1.DATA_TABLE_STORE] = store;
|
|
80
|
+
}
|
|
76
81
|
const acc = recipe.accumulator(cursor, ctx);
|
|
77
82
|
const generated = await recipe.generate(acc, ctx);
|
|
78
83
|
for (const g of generated) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/rpc/request/generate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;GAcG;AACH,yDAA2C;AAC3C,yCAAoD;AACpD,qCAA8C;AAE9C,uCAAsC;AAOtC,MAAa,QAAQ;IACjB,YAA6B,EAAU,EAAmB,CAAS;QAAtC,OAAE,GAAF,EAAE,CAAQ;QAAmB,MAAC,GAAD,CAAC,CAAQ;IACnE,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,UAAiC,EACjC,YAA8B,EAC9B,eAAoC,EACpC,aAAsC,EACtC,SAA8B,EAC9B,UAAmB;QAC7B,UAAU,CAAC,SAAS,CAChB,IAAI,GAAG,CAAC,WAAW,CAAoC,UAAU,CAAC,EAClE,IAAA,qBAAW,EACP,UAAU,EACV,UAAU,EACV,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC3B,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC/C,MAAM,QAAQ,GAAG;gBACb,GAAG,EAAE,EAAE;gBACP,eAAe,EAAE,EAAE;aACF,CAAC;YAEtB,IAAI,MAAM,IAAI,MAAM,YAAY,uBAAc,EAAE,CAAC;gBAC7C,IAAI,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACvC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACV,MAAM,GAAG,IAAA,iBAAU,GAAE,CAAC;oBACtB,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBACtC,CAAC;gBACD,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC,CAAqB,CAAC;gBAC3D,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBAC5C,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;gBAEjD,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;oBACxB,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;oBACrC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACnC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC1C,CAAC;YAEL,CAAC;YACD,OAAO,QAAQ,CAAC;QACpB,CAAC,CACJ,CACJ,CAAC;IACN,CAAC;CACJ;
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/rpc/request/generate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;GAcG;AACH,yDAA2C;AAC3C,yCAAoD;AACpD,qCAA8C;AAE9C,iDAAkE;AAClE,uCAAsC;AAOtC,MAAa,QAAQ;IACjB,YAA6B,EAAU,EAAmB,CAAS;QAAtC,OAAE,GAAF,EAAE,CAAQ;QAAmB,MAAC,GAAD,CAAC,CAAQ;IACnE,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,UAAiC,EACjC,YAA8B,EAC9B,eAAoC,EACpC,aAAsC,EACtC,SAA8B,EAC9B,cAAgD,EAChD,UAAmB;QAC7B,UAAU,CAAC,SAAS,CAChB,IAAI,GAAG,CAAC,WAAW,CAAoC,UAAU,CAAC,EAClE,IAAA,qBAAW,EACP,UAAU,EACV,UAAU,EACV,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC3B,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC/C,MAAM,QAAQ,GAAG;gBACb,GAAG,EAAE,EAAE;gBACP,eAAe,EAAE,EAAE;aACF,CAAC;YAEtB,IAAI,MAAM,IAAI,MAAM,YAAY,uBAAc,EAAE,CAAC;gBAC7C,IAAI,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACvC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACV,MAAM,GAAG,IAAA,iBAAU,GAAE,CAAC;oBACtB,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBACtC,CAAC;gBACD,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC,CAAqB,CAAC;gBAC3D,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;gBAC/B,IAAI,KAAK,EAAE,CAAC;oBACR,GAAG,CAAC,QAAQ,CAAC,6BAAgB,CAAC,GAAG,KAAK,CAAC;gBAC3C,CAAC;gBACD,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBAC5C,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;gBAEjD,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;oBACxB,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;oBACrC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACnC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC1C,CAAC;YAEL,CAAC;YACD,OAAO,QAAQ,CAAC;QACpB,CAAC,CACJ,CACJ,CAAC;IACN,CAAC;CACJ;AAlDD,4BAkDC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rpc/request/index.ts"],"names":[],"mappings":"AAeA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rpc/request/index.ts"],"names":[],"mappings":"AAeA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC"}
|
|
@@ -39,4 +39,5 @@ __exportStar(require("./print"), exports);
|
|
|
39
39
|
__exportStar(require("./visit"), exports);
|
|
40
40
|
__exportStar(require("./batch-visit"), exports);
|
|
41
41
|
__exportStar(require("./trace-get-object"), exports);
|
|
42
|
+
__exportStar(require("./set-data-table-store"), exports);
|
|
42
43
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rpc/request/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;GAcG;AACH,6CAA2B;AAC3B,+CAA6B;AAC7B,oDAAkC;AAClC,0CAAwB;AACxB,kDAAgC;AAChC,mDAAiC;AACjC,0CAAwB;AACxB,0CAAwB;AACxB,gDAA8B;AAC9B,qDAAmC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rpc/request/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;GAcG;AACH,6CAA2B;AAC3B,+CAA6B;AAC7B,oDAAkC;AAClC,0CAAwB;AACxB,kDAAgC;AAChC,mDAAiC;AACjC,0CAAwB;AACxB,0CAAwB;AACxB,gDAA8B;AAC9B,qDAAmC;AACnC,yDAAuC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as rpc from "vscode-jsonrpc/node";
|
|
2
|
+
import { DataTableStore } from "../../data-table";
|
|
3
|
+
/**
|
|
4
|
+
* Conveys a data table store's configuration from the host; rows never cross the wire.
|
|
5
|
+
* Mirrors Java's {@code SetDataTableStore}.
|
|
6
|
+
*/
|
|
7
|
+
export type SetDataTableStore = SetDataTableStore.NoOp | SetDataTableStore.Csv;
|
|
8
|
+
export declare namespace SetDataTableStore {
|
|
9
|
+
interface NoOp {
|
|
10
|
+
readonly kind: "NOOP";
|
|
11
|
+
}
|
|
12
|
+
interface Csv {
|
|
13
|
+
readonly kind: "CSV";
|
|
14
|
+
readonly outputDir: string;
|
|
15
|
+
readonly prefixColumns?: {
|
|
16
|
+
[key: string]: string;
|
|
17
|
+
};
|
|
18
|
+
readonly suffixColumns?: {
|
|
19
|
+
[key: string]: string;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
function toDataTableStore(request: SetDataTableStore): DataTableStore;
|
|
23
|
+
function handle(connection: rpc.MessageConnection, install: (store: DataTableStore) => void, metricsCsv?: string): void;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=set-data-table-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"set-data-table-store.d.ts","sourceRoot":"","sources":["../../../src/rpc/request/set-data-table-store.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAoB,cAAc,EAAyB,MAAM,kBAAkB,CAAC;AAG3F;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC;AAE/E,yBAAiB,iBAAiB,CAAC;IAC/B,UAAiB,IAAI;QACjB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;KACzB;IAED,UAAiB,GAAG;QAChB,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;QACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAC;QACnD,QAAQ,CAAC,aAAa,CAAC,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAC;KACtD;IAED,SAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,cAAc,CAQ3E;IAED,SAAgB,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,iBAAiB,EACjC,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,EACxC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAYhD;CACJ"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.SetDataTableStore = void 0;
|
|
37
|
+
/*
|
|
38
|
+
* Copyright 2025 the original author or authors.
|
|
39
|
+
* <p>
|
|
40
|
+
* Licensed under the Moderne Source Available License (the "License");
|
|
41
|
+
* you may not use this file except in compliance with the License.
|
|
42
|
+
* You may obtain a copy of the License at
|
|
43
|
+
* <p>
|
|
44
|
+
* https://docs.moderne.io/licensing/moderne-source-available-license
|
|
45
|
+
* <p>
|
|
46
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
47
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
48
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
49
|
+
* See the License for the specific language governing permissions and
|
|
50
|
+
* limitations under the License.
|
|
51
|
+
*/
|
|
52
|
+
const rpc = __importStar(require("vscode-jsonrpc/node"));
|
|
53
|
+
const data_table_1 = require("../../data-table");
|
|
54
|
+
const metrics_1 = require("./metrics");
|
|
55
|
+
var SetDataTableStore;
|
|
56
|
+
(function (SetDataTableStore) {
|
|
57
|
+
function toDataTableStore(request) {
|
|
58
|
+
var _a, _b;
|
|
59
|
+
if (request.kind === "CSV" && request.outputDir) {
|
|
60
|
+
return new data_table_1.CsvDataTableStore(request.outputDir, (_a = request.prefixColumns) !== null && _a !== void 0 ? _a : {}, (_b = request.suffixColumns) !== null && _b !== void 0 ? _b : {});
|
|
61
|
+
}
|
|
62
|
+
return new data_table_1.InMemoryDataTableStore();
|
|
63
|
+
}
|
|
64
|
+
SetDataTableStore.toDataTableStore = toDataTableStore;
|
|
65
|
+
function handle(connection, install, metricsCsv) {
|
|
66
|
+
connection.onRequest(new rpc.RequestType("SetDataTableStore"), (0, metrics_1.withMetrics)("SetDataTableStore", metricsCsv, (_context) => async (request) => {
|
|
67
|
+
install(toDataTableStore(request));
|
|
68
|
+
return true;
|
|
69
|
+
}));
|
|
70
|
+
}
|
|
71
|
+
SetDataTableStore.handle = handle;
|
|
72
|
+
})(SetDataTableStore || (exports.SetDataTableStore = SetDataTableStore = {}));
|
|
73
|
+
//# sourceMappingURL=set-data-table-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"set-data-table-store.js","sourceRoot":"","sources":["../../../src/rpc/request/set-data-table-store.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;GAcG;AACH,yDAA2C;AAC3C,iDAA2F;AAC3F,uCAAsC;AAQtC,IAAiB,iBAAiB,CAqCjC;AArCD,WAAiB,iBAAiB;IAY9B,SAAgB,gBAAgB,CAAC,OAA0B;;QACvD,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YAC9C,OAAO,IAAI,8BAAiB,CACxB,OAAO,CAAC,SAAS,EACjB,MAAA,OAAO,CAAC,aAAa,mCAAI,EAAE,EAC3B,MAAA,OAAO,CAAC,aAAa,mCAAI,EAAE,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,IAAI,mCAAsB,EAAE,CAAC;IACxC,CAAC;IARe,kCAAgB,mBAQ/B,CAAA;IAED,SAAgB,MAAM,CAAC,UAAiC,EACjC,OAAwC,EACxC,UAAmB;QACtC,UAAU,CAAC,SAAS,CAChB,IAAI,GAAG,CAAC,WAAW,CAAoC,mBAAmB,CAAC,EAC3E,IAAA,qBAAW,EACP,mBAAmB,EACnB,UAAU,EACV,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC5B,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;YACnC,OAAO,IAAI,CAAC;QAChB,CAAC,CACJ,CACJ,CAAC;IACN,CAAC;IAde,wBAAM,SAcrB,CAAA;AACL,CAAC,EArCgB,iBAAiB,iCAAjB,iBAAiB,QAqCjC"}
|
|
@@ -2,6 +2,7 @@ import * as rpc from "vscode-jsonrpc/node";
|
|
|
2
2
|
import { Recipe } from "../../recipe";
|
|
3
3
|
import { Cursor } from "../../tree";
|
|
4
4
|
import { TreeVisitor } from "../../visitor";
|
|
5
|
+
import { DataTableStore } from "../../data-table";
|
|
5
6
|
export interface VisitResponse {
|
|
6
7
|
modified: boolean;
|
|
7
8
|
}
|
|
@@ -13,7 +14,7 @@ export declare class Visit {
|
|
|
13
14
|
readonly p: string;
|
|
14
15
|
readonly cursor: string[] | undefined;
|
|
15
16
|
constructor(visitor: string, sourceFileType: string, visitorOptions: Map<string, any> | undefined, treeId: string, p: string, cursor: string[] | undefined);
|
|
16
|
-
static handle(connection: rpc.MessageConnection, localObjects: Map<string, any>, preparedRecipes: Map<String, Recipe>, recipeCursors: WeakMap<Recipe, Cursor>, getObject: (id: string, sourceFileType?: string) => any, getCursor: (cursorIds: string[] | undefined, sourceFileType?: string) => Promise<Cursor>, metricsCsv?: string): void;
|
|
17
|
+
static handle(connection: rpc.MessageConnection, localObjects: Map<string, any>, preparedRecipes: Map<String, Recipe>, recipeCursors: WeakMap<Recipe, Cursor>, getObject: (id: string, sourceFileType?: string) => any, getCursor: (cursorIds: string[] | undefined, sourceFileType?: string) => Promise<Cursor>, dataTableStore: () => DataTableStore | undefined, metricsCsv?: string): void;
|
|
17
18
|
static instantiateVisitor(request: {
|
|
18
19
|
visitor: string;
|
|
19
20
|
visitorOptions?: Map<string, any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visit.d.ts","sourceRoot":"","sources":["../../../src/rpc/request/visit.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAC,MAAM,EAAiB,MAAM,cAAc,CAAC;AACpD,OAAO,EAAC,MAAM,EAA+B,MAAM,YAAY,CAAC;AAChE,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"visit.d.ts","sourceRoot":"","sources":["../../../src/rpc/request/visit.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAC,MAAM,EAAiB,MAAM,cAAc,CAAC;AACpD,OAAO,EAAC,MAAM,EAA+B,MAAM,YAAY,CAAC;AAChE,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAmB,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAGlE,MAAM,WAAW,aAAa;IAC1B,QAAQ,EAAE,OAAO,CAAA;CACpB;AAMD,qBAAa,KAAK;IACF,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,cAAc,EAAE,MAAM;IAC/B,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS;IACrD,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,CAAC,EAAE,MAAM;IAClB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS;gBAL5B,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,EAC5C,MAAM,EAAE,MAAM,EACd,CAAC,EAAE,MAAM,EACT,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS;IAGjD,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,iBAAiB,EACjC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9B,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,aAAa,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,EACtC,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,KAAK,GAAG,EACvD,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,cAAc,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,EACxF,cAAc,EAAE,MAAM,cAAc,GAAG,SAAS,EAChD,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;WA+B3B,kBAAkB,CAAC,OAAO,EAAE;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAC,EAC3D,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,aAAa,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,EACtC,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;CA8D5E"}
|
|
@@ -53,6 +53,8 @@ const rpc = __importStar(require("vscode-jsonrpc/node"));
|
|
|
53
53
|
const recipe_1 = require("../../recipe");
|
|
54
54
|
const tree_1 = require("../../tree");
|
|
55
55
|
const visitor_1 = require("../../visitor");
|
|
56
|
+
const execution_1 = require("../../execution");
|
|
57
|
+
const data_table_1 = require("../../data-table");
|
|
56
58
|
const metrics_1 = require("./metrics");
|
|
57
59
|
const recipePhases = new WeakMap();
|
|
58
60
|
class Visit {
|
|
@@ -64,9 +66,13 @@ class Visit {
|
|
|
64
66
|
this.p = p;
|
|
65
67
|
this.cursor = cursor;
|
|
66
68
|
}
|
|
67
|
-
static handle(connection, localObjects, preparedRecipes, recipeCursors, getObject, getCursor, metricsCsv) {
|
|
69
|
+
static handle(connection, localObjects, preparedRecipes, recipeCursors, getObject, getCursor, dataTableStore, metricsCsv) {
|
|
68
70
|
connection.onRequest(new rpc.RequestType("Visit"), (0, metrics_1.withMetrics)("Visit", metricsCsv, (context) => async (request) => {
|
|
69
71
|
const p = await getObject(request.p, undefined);
|
|
72
|
+
const store = dataTableStore();
|
|
73
|
+
if (store && p instanceof execution_1.ExecutionContext) {
|
|
74
|
+
p.messages[data_table_1.DATA_TABLE_STORE] = store;
|
|
75
|
+
}
|
|
70
76
|
const before = await getObject(request.treeId, request.sourceFileType);
|
|
71
77
|
const cursor = await getCursor(request.cursor, request.sourceFileType);
|
|
72
78
|
context.target = (0, metrics_1.extractSourcePath)(before, cursor);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visit.js","sourceRoot":"","sources":["../../../src/rpc/request/visit.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;GAcG;AACH,yDAA2C;AAC3C,yCAAoD;AACpD,qCAAgE;AAChE,2CAA0C;
|
|
1
|
+
{"version":3,"file":"visit.js","sourceRoot":"","sources":["../../../src/rpc/request/visit.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,6 +33,7 @@ export declare class RewriteRpc {
|
|
|
33
33
|
private remoteLanguages?;
|
|
34
34
|
private readonly logger?;
|
|
35
35
|
private traceGetObject;
|
|
36
|
+
private configuredDataTableStore?;
|
|
36
37
|
constructor(connection: MessageConnection | undefined, options: {
|
|
37
38
|
batchSize?: number;
|
|
38
39
|
marketplace?: RecipeMarketplace;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rewrite-rpc.d.ts","sourceRoot":"","sources":["../../src/rpc/rewrite-rpc.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,MAAM,EAAoC,UAAU,EAAE,IAAI,EAAC,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"rewrite-rpc.d.ts","sourceRoot":"","sources":["../../src/rpc/rewrite-rpc.ts"],"names":[],"mappings":"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"}
|
package/dist/rpc/rewrite-rpc.js
CHANGED
|
@@ -81,10 +81,12 @@ class RewriteRpc {
|
|
|
81
81
|
const getObject = (id, sourceFileType) => this.getObject(id, sourceFileType);
|
|
82
82
|
const getCursor = (cursorIds, sourceFileType) => this.getCursor(cursorIds, sourceFileType);
|
|
83
83
|
const traceGetObject = () => this.traceGetObject.send;
|
|
84
|
+
const dataTableStore = () => this.configuredDataTableStore;
|
|
84
85
|
const marketplace = options.marketplace || new marketplace_1.RecipeMarketplace();
|
|
85
|
-
request_1.Visit.handle(this.connection, this.localObjects, preparedRecipes, recipeCursors, getObject, getCursor, options.metricsCsv);
|
|
86
|
-
request_1.BatchVisit.handle(this.connection, this.localObjects, preparedRecipes, recipeCursors, getObject, getCursor, options.metricsCsv);
|
|
87
|
-
request_1.Generate.handle(this.connection, this.localObjects, preparedRecipes, recipeCursors, getObject, options.metricsCsv);
|
|
86
|
+
request_1.Visit.handle(this.connection, this.localObjects, preparedRecipes, recipeCursors, getObject, getCursor, dataTableStore, options.metricsCsv);
|
|
87
|
+
request_1.BatchVisit.handle(this.connection, this.localObjects, preparedRecipes, recipeCursors, getObject, getCursor, dataTableStore, options.metricsCsv);
|
|
88
|
+
request_1.Generate.handle(this.connection, this.localObjects, preparedRecipes, recipeCursors, getObject, dataTableStore, options.metricsCsv);
|
|
89
|
+
request_1.SetDataTableStore.handle(this.connection, store => this.configuredDataTableStore = store, options.metricsCsv);
|
|
88
90
|
request_1.GetObject.handle(this.connection, this.remoteObjects, this.localObjects, this.localRefs, (options === null || options === void 0 ? void 0 : options.batchSize) || 1000, traceGetObject, options.metricsCsv);
|
|
89
91
|
request_1.GetMarketplace.handle(this.connection, marketplace, options.metricsCsv);
|
|
90
92
|
get_languages_1.GetLanguages.handle(this.connection, options.metricsCsv);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rewrite-rpc.js","sourceRoot":"","sources":["../../src/rpc/rewrite-rpc.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rewrite-rpc.js","sourceRoot":"","sources":["../../src/rpc/rewrite-rpc.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/data-table.ts
CHANGED
|
@@ -82,14 +82,16 @@ function sha256Prefix(input: string, hexChars: number): string {
|
|
|
82
82
|
return hash.substring(0, hexChars);
|
|
83
83
|
}
|
|
84
84
|
|
|
85
|
+
/**
|
|
86
|
+
* Sanitize a value for a filename, byte-identical to the Java host's
|
|
87
|
+
* {@code CsvDataTableStore.sanitize} so a shared data table resolves to the same file.
|
|
88
|
+
*/
|
|
85
89
|
export function sanitizeScope(scope: string): string {
|
|
86
90
|
// 1. lowercase
|
|
87
91
|
let s = scope.toLowerCase();
|
|
88
|
-
//
|
|
89
|
-
s = s.replace(/[
|
|
90
|
-
// 3. collapse consecutive '-', trim leading/trailing
|
|
92
|
+
// \p{L}\p{Nd} mirrors Java's Character.isLetterOrDigit, for cross-runtime parity
|
|
93
|
+
s = s.replace(/[^\p{L}\p{Nd}]/gu, '-');
|
|
91
94
|
s = s.replace(/-+/g, '-').replace(/^-|-$/g, '');
|
|
92
|
-
// 4. truncate to ~30 chars at word boundary
|
|
93
95
|
if (s.length > 30) {
|
|
94
96
|
s = s.substring(0, 30);
|
|
95
97
|
const lastDash = s.lastIndexOf('-');
|
|
@@ -97,7 +99,6 @@ export function sanitizeScope(scope: string): string {
|
|
|
97
99
|
s = s.substring(0, lastDash);
|
|
98
100
|
}
|
|
99
101
|
}
|
|
100
|
-
// 5. append 4-char hash
|
|
101
102
|
const hash = sha256Prefix(scope, 4);
|
|
102
103
|
return `${s}-${hash}`;
|
|
103
104
|
}
|
|
@@ -182,41 +183,45 @@ function escapeCsv(value: unknown): string {
|
|
|
182
183
|
* Uses the data table's file-safe key for filenames.
|
|
183
184
|
*/
|
|
184
185
|
export class CsvDataTableStore implements DataTableStore {
|
|
185
|
-
private readonly _initializedTables = new Set<string>();
|
|
186
186
|
private readonly _rowCounts: { [key: string]: number } = {};
|
|
187
187
|
private readonly _dataTables = new Map<string, DataTable<any>>();
|
|
188
188
|
|
|
189
|
-
constructor(private readonly outputDir: string
|
|
189
|
+
constructor(private readonly outputDir: string,
|
|
190
|
+
private readonly prefixColumns: { [key: string]: string } = {},
|
|
191
|
+
private readonly suffixColumns: { [key: string]: string } = {}) {
|
|
190
192
|
fs.mkdirSync(outputDir, {recursive: true});
|
|
191
193
|
}
|
|
192
194
|
|
|
193
195
|
insertRow<Row>(dataTable: DataTable<Row>, _ctx: ExecutionContext, row: Row): void {
|
|
194
196
|
const fileKey = CsvDataTableStore.fileKey(dataTable);
|
|
195
197
|
const csvPath = path.join(this.outputDir, fileKey + '.csv');
|
|
198
|
+
this._dataTables.set(fileKey, dataTable);
|
|
196
199
|
|
|
197
|
-
|
|
198
|
-
this._initializedTables.add(fileKey);
|
|
199
|
-
this._rowCounts[fileKey] = 0;
|
|
200
|
-
this._dataTables.set(fileKey, dataTable);
|
|
200
|
+
const columns = dataTable.descriptor.columns;
|
|
201
201
|
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
202
|
+
// Key the header on file existence, not in-memory state, so writers sharing one file
|
|
203
|
+
// (Java host + RPC runtimes) emit it once; column names (not display names) match the Java writer.
|
|
204
|
+
if (!fs.existsSync(csvPath)) {
|
|
205
|
+
const header = [
|
|
206
|
+
...Object.keys(this.prefixColumns),
|
|
207
|
+
...columns.map(col => col.name),
|
|
208
|
+
...Object.keys(this.suffixColumns),
|
|
209
|
+
].map(escapeCsv).join(',');
|
|
205
210
|
const comments = [
|
|
206
211
|
`# @name ${dataTable.descriptor.name}`,
|
|
207
212
|
`# @instanceName ${dataTable.instanceName}`,
|
|
208
213
|
`# @group ${dataTable.group ?? ''}`,
|
|
209
214
|
].join('\n');
|
|
210
|
-
fs.writeFileSync(csvPath, comments + '\n' +
|
|
215
|
+
fs.writeFileSync(csvPath, comments + '\n' + header + '\n');
|
|
211
216
|
}
|
|
212
217
|
|
|
213
|
-
const
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
+
const rowValues = [
|
|
219
|
+
...Object.values(this.prefixColumns),
|
|
220
|
+
...columns.map(col => (row as any)[col.name]),
|
|
221
|
+
...Object.values(this.suffixColumns),
|
|
222
|
+
].map(escapeCsv);
|
|
218
223
|
fs.appendFileSync(csvPath, rowValues.join(',') + '\n');
|
|
219
|
-
this._rowCounts[fileKey]
|
|
224
|
+
this._rowCounts[fileKey] = (this._rowCounts[fileKey] ?? 0) + 1;
|
|
220
225
|
}
|
|
221
226
|
|
|
222
227
|
getRows(_dataTableName: string, _group?: string): any[] {
|
|
@@ -233,14 +238,27 @@ export class CsvDataTableStore implements DataTableStore {
|
|
|
233
238
|
}
|
|
234
239
|
|
|
235
240
|
get tableKeys(): string[] {
|
|
236
|
-
return
|
|
241
|
+
return Array.from(this._dataTables.keys());
|
|
237
242
|
}
|
|
238
243
|
|
|
244
|
+
/**
|
|
245
|
+
* Filesystem-safe key for a data table; mirrors the Java host's
|
|
246
|
+
* {@code CsvDataTableStore.fileKey} so a shared table resolves to the same filename.
|
|
247
|
+
*/
|
|
239
248
|
static fileKey(dataTable: DataTable<any>): string {
|
|
240
|
-
const
|
|
241
|
-
|
|
242
|
-
|
|
249
|
+
const name = dataTable.descriptor.name;
|
|
250
|
+
const group = dataTable.group;
|
|
251
|
+
if (group != null) {
|
|
252
|
+
if (group === name) {
|
|
253
|
+
return name;
|
|
254
|
+
}
|
|
255
|
+
return `${name}--${sanitizeScope(group)}`;
|
|
256
|
+
}
|
|
257
|
+
// Suffix only when instanceName was customized (differs from the display name).
|
|
258
|
+
const instanceName = dataTable.instanceName;
|
|
259
|
+
if (instanceName === dataTable.descriptor.displayName) {
|
|
260
|
+
return name;
|
|
243
261
|
}
|
|
244
|
-
return `${
|
|
262
|
+
return `${name}--${sanitizeScope(instanceName)}`;
|
|
245
263
|
}
|
|
246
264
|
}
|
|
@@ -19,6 +19,8 @@ import {Cursor, Tree} from "../../tree";
|
|
|
19
19
|
import {TreeVisitor} from "../../visitor";
|
|
20
20
|
import {MarkersKind, SearchResult} from "../../markers";
|
|
21
21
|
import {Visit} from "./visit";
|
|
22
|
+
import {ExecutionContext} from "../../execution";
|
|
23
|
+
import {DATA_TABLE_STORE, DataTableStore} from "../../data-table";
|
|
22
24
|
import {withMetrics} from "./metrics";
|
|
23
25
|
|
|
24
26
|
export interface BatchVisitItem {
|
|
@@ -67,6 +69,7 @@ export class BatchVisit {
|
|
|
67
69
|
recipeCursors: WeakMap<Recipe, Cursor>,
|
|
68
70
|
getObject: (id: string, sourceFileType?: string) => any,
|
|
69
71
|
getCursor: (cursorIds: string[] | undefined, sourceFileType?: string) => Promise<Cursor>,
|
|
72
|
+
dataTableStore: () => DataTableStore | undefined,
|
|
70
73
|
metricsCsv?: string): void {
|
|
71
74
|
connection.onRequest(
|
|
72
75
|
new rpc.RequestType<BatchVisitRequest, BatchVisitResponse, Error>("BatchVisit"),
|
|
@@ -75,6 +78,10 @@ export class BatchVisit {
|
|
|
75
78
|
metricsCsv,
|
|
76
79
|
(_context) => async (request) => {
|
|
77
80
|
const p = await getObject(request.p, undefined);
|
|
81
|
+
const store = dataTableStore();
|
|
82
|
+
if (store && p instanceof ExecutionContext) {
|
|
83
|
+
p.messages[DATA_TABLE_STORE] = store;
|
|
84
|
+
}
|
|
78
85
|
let tree: Tree = await getObject(request.treeId, request.sourceFileType);
|
|
79
86
|
const cursor = await getCursor(request.cursor, request.sourceFileType);
|
|
80
87
|
|
|
@@ -17,6 +17,7 @@ import * as rpc from "vscode-jsonrpc/node";
|
|
|
17
17
|
import {Recipe, ScanningRecipe} from "../../recipe";
|
|
18
18
|
import {Cursor, rootCursor} from "../../tree";
|
|
19
19
|
import {ExecutionContext} from "../../execution";
|
|
20
|
+
import {DATA_TABLE_STORE, DataTableStore} from "../../data-table";
|
|
20
21
|
import {withMetrics} from "./metrics";
|
|
21
22
|
|
|
22
23
|
export interface GenerateResponse {
|
|
@@ -33,6 +34,7 @@ export class Generate {
|
|
|
33
34
|
preparedRecipes: Map<String, Recipe>,
|
|
34
35
|
recipeCursors: WeakMap<Recipe, Cursor>,
|
|
35
36
|
getObject: (id: string) => any,
|
|
37
|
+
dataTableStore: () => DataTableStore | undefined,
|
|
36
38
|
metricsCsv?: string): void {
|
|
37
39
|
connection.onRequest(
|
|
38
40
|
new rpc.RequestType<Generate, GenerateResponse, Error>("Generate"),
|
|
@@ -54,6 +56,10 @@ export class Generate {
|
|
|
54
56
|
recipeCursors.set(recipe, cursor);
|
|
55
57
|
}
|
|
56
58
|
const ctx = await getObject(request.p) as ExecutionContext;
|
|
59
|
+
const store = dataTableStore();
|
|
60
|
+
if (store) {
|
|
61
|
+
ctx.messages[DATA_TABLE_STORE] = store;
|
|
62
|
+
}
|
|
57
63
|
const acc = recipe.accumulator(cursor, ctx);
|
|
58
64
|
const generated = await recipe.generate(acc, ctx)
|
|
59
65
|
|
package/src/rpc/request/index.ts
CHANGED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2025 the original author or authors.
|
|
3
|
+
* <p>
|
|
4
|
+
* Licensed under the Moderne Source Available License (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
* <p>
|
|
8
|
+
* https://docs.moderne.io/licensing/moderne-source-available-license
|
|
9
|
+
* <p>
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import * as rpc from "vscode-jsonrpc/node";
|
|
17
|
+
import {CsvDataTableStore, DataTableStore, InMemoryDataTableStore} from "../../data-table";
|
|
18
|
+
import {withMetrics} from "./metrics";
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Conveys a data table store's configuration from the host; rows never cross the wire.
|
|
22
|
+
* Mirrors Java's {@code SetDataTableStore}.
|
|
23
|
+
*/
|
|
24
|
+
export type SetDataTableStore = SetDataTableStore.NoOp | SetDataTableStore.Csv;
|
|
25
|
+
|
|
26
|
+
export namespace SetDataTableStore {
|
|
27
|
+
export interface NoOp {
|
|
28
|
+
readonly kind: "NOOP";
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export interface Csv {
|
|
32
|
+
readonly kind: "CSV";
|
|
33
|
+
readonly outputDir: string;
|
|
34
|
+
readonly prefixColumns?: { [key: string]: string };
|
|
35
|
+
readonly suffixColumns?: { [key: string]: string };
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export function toDataTableStore(request: SetDataTableStore): DataTableStore {
|
|
39
|
+
if (request.kind === "CSV" && request.outputDir) {
|
|
40
|
+
return new CsvDataTableStore(
|
|
41
|
+
request.outputDir,
|
|
42
|
+
request.prefixColumns ?? {},
|
|
43
|
+
request.suffixColumns ?? {});
|
|
44
|
+
}
|
|
45
|
+
return new InMemoryDataTableStore();
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export function handle(connection: rpc.MessageConnection,
|
|
49
|
+
install: (store: DataTableStore) => void,
|
|
50
|
+
metricsCsv?: string): void {
|
|
51
|
+
connection.onRequest(
|
|
52
|
+
new rpc.RequestType<SetDataTableStore, boolean, Error>("SetDataTableStore"),
|
|
53
|
+
withMetrics<SetDataTableStore, boolean>(
|
|
54
|
+
"SetDataTableStore",
|
|
55
|
+
metricsCsv,
|
|
56
|
+
(_context) => async (request) => {
|
|
57
|
+
install(toDataTableStore(request));
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
)
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
}
|
package/src/rpc/request/visit.ts
CHANGED
|
@@ -18,6 +18,7 @@ import {Recipe, ScanningRecipe} from "../../recipe";
|
|
|
18
18
|
import {Cursor, rootCursor, SourceFile, Tree} from "../../tree";
|
|
19
19
|
import {TreeVisitor} from "../../visitor";
|
|
20
20
|
import {ExecutionContext} from "../../execution";
|
|
21
|
+
import {DATA_TABLE_STORE, DataTableStore} from "../../data-table";
|
|
21
22
|
import {withMetrics, extractSourcePath} from "./metrics";
|
|
22
23
|
|
|
23
24
|
export interface VisitResponse {
|
|
@@ -43,6 +44,7 @@ export class Visit {
|
|
|
43
44
|
recipeCursors: WeakMap<Recipe, Cursor>,
|
|
44
45
|
getObject: (id: string, sourceFileType?: string) => any,
|
|
45
46
|
getCursor: (cursorIds: string[] | undefined, sourceFileType?: string) => Promise<Cursor>,
|
|
47
|
+
dataTableStore: () => DataTableStore | undefined,
|
|
46
48
|
metricsCsv?: string): void {
|
|
47
49
|
connection.onRequest(
|
|
48
50
|
new rpc.RequestType<Visit, VisitResponse, Error>("Visit"),
|
|
@@ -51,6 +53,10 @@ export class Visit {
|
|
|
51
53
|
metricsCsv,
|
|
52
54
|
(context) => async (request) => {
|
|
53
55
|
const p = await getObject(request.p, undefined);
|
|
56
|
+
const store = dataTableStore();
|
|
57
|
+
if (store && p instanceof ExecutionContext) {
|
|
58
|
+
p.messages[DATA_TABLE_STORE] = store;
|
|
59
|
+
}
|
|
54
60
|
const before: Tree = await getObject(request.treeId, request.sourceFileType);
|
|
55
61
|
const cursor = await getCursor(request.cursor, request.sourceFileType);
|
|
56
62
|
context.target = extractSourcePath(before, cursor);
|
package/src/rpc/rewrite-rpc.ts
CHANGED
|
@@ -33,8 +33,10 @@ import {
|
|
|
33
33
|
TraceGetObject,
|
|
34
34
|
Visit,
|
|
35
35
|
VisitResponse,
|
|
36
|
-
BatchVisit
|
|
36
|
+
BatchVisit,
|
|
37
|
+
SetDataTableStore
|
|
37
38
|
} from "./request";
|
|
39
|
+
import {DataTableStore} from "../data-table";
|
|
38
40
|
import {RecipeMarketplace} from "../marketplace";
|
|
39
41
|
import {initializeMetricsCsv} from "./request/metrics";
|
|
40
42
|
import {RpcObjectData, RpcObjectState, RpcReceiveQueue} from "./queue";
|
|
@@ -76,6 +78,8 @@ export class RewriteRpc {
|
|
|
76
78
|
private readonly logger?: rpc.Logger;
|
|
77
79
|
private traceGetObject: TraceGetObject = {receive: false, send: false};
|
|
78
80
|
|
|
81
|
+
private configuredDataTableStore?: DataTableStore;
|
|
82
|
+
|
|
79
83
|
constructor(readonly connection: MessageConnection = rpc.createMessageConnection(
|
|
80
84
|
new rpc.StreamMessageReader(process.stdin),
|
|
81
85
|
new rpc.StreamMessageWriter(process.stdout),
|
|
@@ -98,12 +102,14 @@ export class RewriteRpc {
|
|
|
98
102
|
const getObject = (id: string, sourceFileType?: string) => this.getObject(id, sourceFileType);
|
|
99
103
|
const getCursor = (cursorIds: string[] | undefined, sourceFileType?: string) => this.getCursor(cursorIds, sourceFileType);
|
|
100
104
|
const traceGetObject = () => this.traceGetObject.send;
|
|
105
|
+
const dataTableStore = () => this.configuredDataTableStore;
|
|
101
106
|
|
|
102
107
|
const marketplace = options.marketplace || new RecipeMarketplace();
|
|
103
108
|
|
|
104
|
-
Visit.handle(this.connection, this.localObjects, preparedRecipes, recipeCursors, getObject, getCursor, options.metricsCsv);
|
|
105
|
-
BatchVisit.handle(this.connection, this.localObjects, preparedRecipes, recipeCursors, getObject, getCursor, options.metricsCsv);
|
|
106
|
-
Generate.handle(this.connection, this.localObjects, preparedRecipes, recipeCursors, getObject, options.metricsCsv);
|
|
109
|
+
Visit.handle(this.connection, this.localObjects, preparedRecipes, recipeCursors, getObject, getCursor, dataTableStore, options.metricsCsv);
|
|
110
|
+
BatchVisit.handle(this.connection, this.localObjects, preparedRecipes, recipeCursors, getObject, getCursor, dataTableStore, options.metricsCsv);
|
|
111
|
+
Generate.handle(this.connection, this.localObjects, preparedRecipes, recipeCursors, getObject, dataTableStore, options.metricsCsv);
|
|
112
|
+
SetDataTableStore.handle(this.connection, store => this.configuredDataTableStore = store, options.metricsCsv);
|
|
107
113
|
GetObject.handle(this.connection, this.remoteObjects, this.localObjects,
|
|
108
114
|
this.localRefs, options?.batchSize || 1000, traceGetObject, options.metricsCsv);
|
|
109
115
|
GetMarketplace.handle(this.connection, marketplace, options.metricsCsv);
|