@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.
Files changed (37) hide show
  1. package/dist/data-table.d.ts +15 -2
  2. package/dist/data-table.d.ts.map +1 -1
  3. package/dist/data-table.js +45 -28
  4. package/dist/data-table.js.map +1 -1
  5. package/dist/rewrite-javascript-version.txt +1 -1
  6. package/dist/rpc/request/batch-visit.d.ts +2 -1
  7. package/dist/rpc/request/batch-visit.d.ts.map +1 -1
  8. package/dist/rpc/request/batch-visit.js +7 -1
  9. package/dist/rpc/request/batch-visit.js.map +1 -1
  10. package/dist/rpc/request/generate.d.ts +2 -1
  11. package/dist/rpc/request/generate.d.ts.map +1 -1
  12. package/dist/rpc/request/generate.js +6 -1
  13. package/dist/rpc/request/generate.js.map +1 -1
  14. package/dist/rpc/request/index.d.ts +1 -0
  15. package/dist/rpc/request/index.d.ts.map +1 -1
  16. package/dist/rpc/request/index.js +1 -0
  17. package/dist/rpc/request/index.js.map +1 -1
  18. package/dist/rpc/request/set-data-table-store.d.ts +25 -0
  19. package/dist/rpc/request/set-data-table-store.d.ts.map +1 -0
  20. package/dist/rpc/request/set-data-table-store.js +73 -0
  21. package/dist/rpc/request/set-data-table-store.js.map +1 -0
  22. package/dist/rpc/request/visit.d.ts +2 -1
  23. package/dist/rpc/request/visit.d.ts.map +1 -1
  24. package/dist/rpc/request/visit.js +7 -1
  25. package/dist/rpc/request/visit.js.map +1 -1
  26. package/dist/rpc/rewrite-rpc.d.ts +1 -0
  27. package/dist/rpc/rewrite-rpc.d.ts.map +1 -1
  28. package/dist/rpc/rewrite-rpc.js +5 -3
  29. package/dist/rpc/rewrite-rpc.js.map +1 -1
  30. package/package.json +1 -1
  31. package/src/data-table.ts +44 -26
  32. package/src/rpc/request/batch-visit.ts +7 -0
  33. package/src/rpc/request/generate.ts +6 -0
  34. package/src/rpc/request/index.ts +1 -0
  35. package/src/rpc/request/set-data-table-store.ts +63 -0
  36. package/src/rpc/request/visit.ts +6 -0
  37. package/src/rpc/rewrite-rpc.ts +10 -4
@@ -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 _initializedTables;
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
@@ -1 +1 @@
1
- {"version":3,"file":"data-table.d.ts","sourceRoot":"","sources":["../src/data-table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-table.d.ts","sourceRoot":"","sources":["../src/data-table.ts"],"names":[],"mappings":"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"}
@@ -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
- // 2. replace non-alphanumeric with '-'
113
- s = s.replace(/[^a-z0-9]/g, '-');
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._initializedTables = new Set();
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
- if (!this._initializedTables.has(fileKey)) {
194
- this._initializedTables.add(fileKey);
195
- this._rowCounts[fileKey] = 0;
196
- this._dataTables.set(fileKey, dataTable);
197
- const columns = dataTable.descriptor.columns;
198
- const headerRow = columns.map(col => escapeCsv(col.displayName)).join(',');
199
- // Write metadata comments + header
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' + headerRow + '\n');
210
+ fs.writeFileSync(csvPath, comments + '\n' + header + '\n');
206
211
  }
207
- const columns = dataTable.descriptor.columns;
208
- const rowValues = columns.map(col => {
209
- const value = row[col.name];
210
- return escapeCsv(value);
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 [...this._initializedTables];
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
- var _a;
230
- const suffix = (_a = dataTable.group) !== null && _a !== void 0 ? _a : dataTable.instanceName;
231
- if (suffix === dataTable.descriptor.name) {
232
- return dataTable.descriptor.name;
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 `${dataTable.descriptor.name}--${sanitizeScope(suffix)}`;
251
+ return `${name}--${sanitizeScope(instanceName)}`;
235
252
  }
236
253
  }
237
254
  exports.CsvDataTableStore = CsvDataTableStore;
@@ -1 +1 @@
1
- {"version":3,"file":"data-table.js","sourceRoot":"","sources":["../src/data-table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-table.js","sourceRoot":"","sources":["../src/data-table.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- 8.85.5
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;AAMxC,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,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;CAwE3C"}
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;AAI9C,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,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;CAoC3C"}
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;AA7CD,4BA6CC"}
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"}
@@ -8,4 +8,5 @@ export * from "./print";
8
8
  export * from "./visit";
9
9
  export * from "./batch-visit";
10
10
  export * from "./trace-get-object";
11
+ export * from "./set-data-table-store";
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -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;AAI1C,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,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;WA2B3B,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"}
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":"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"}
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":"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"}
1
+ {"version":3,"file":"rewrite-rpc.d.ts","sourceRoot":"","sources":["../../src/rpc/rewrite-rpc.ts"],"names":[],"mappings":"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"}
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;GAcG;AACH,yDAA2C;AAE3C,kCAAmF;AAEnF,gEAA0D;AAC1D,uCAiBmB;AAEnB,gDAAiD;AACjD,+CAAuD;AACvD,mCAAuE;AACvE,qCAAmC;AAEnC,+DAAiF;AAEjF,4CAA0C;AAC1C,2DAAqD;AAErD,MAAa,UAAU;IAiCnB,YAAqB,aAAgC,GAAG,CAAC,uBAAuB,CAChE,IAAI,GAAG,CAAC,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC,EAC1C,IAAI,GAAG,CAAC,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,CAC9C,EACD,OAMC;;QAVQ,eAAU,GAAV,UAAU,CAGlB;QAnBI,cAAS,GAAG,IAAA,0BAAW,GAAE,CAAC;QAElC,iBAAY,GAAgD,IAAI,GAAG,EAAE,CAAC;QAC/E,oDAAoD;QACnC,mBAAc,GAAG,IAAI,WAAW,EAAE,CAAC;QAE3C,kBAAa,GAAqB,IAAI,GAAG,EAAE,CAAC;QAC5C,eAAU,GAAqB,IAAI,GAAG,EAAE,CAAC;QACzC,cAAS,GAAiB,IAAI,wBAAY,EAAE,CAAC;QAI9C,mBAAc,GAAmB,EAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAC,CAAC;QAenE,4CAA4C;QAC5C,IAAA,8BAAoB,EAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAE7B,MAAM,eAAe,GAAwB,IAAI,GAAG,EAAE,CAAC;QACvD,MAAM,aAAa,GAA4B,IAAI,OAAO,EAAE,CAAA;QAE5D,2FAA2F;QAC3F,MAAM,SAAS,GAAG,CAAC,EAAU,EAAE,cAAuB,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;QAC9F,MAAM,SAAS,GAAG,CAAC,SAA+B,EAAE,cAAuB,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QAC1H,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;QACtD,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC;QAE3D,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,+BAAiB,EAAE,CAAC;QAEnE,eAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAC3I,oBAAU,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAChJ,kBAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QACnI,2BAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,wBAAwB,GAAG,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAC9G,mBAAS,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,EACnE,IAAI,CAAC,SAAS,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,KAAI,IAAI,EAAE,cAAc,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QACpF,wBAAc,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QACxE,4BAAY,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QACzD,uBAAa,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QACxF,eAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QACrE,sBAAY,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAC5E,eAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAC7E,gCAAc,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,MAAA,OAAO,CAAC,gBAAgB,mCAAI,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAEhI,IAAI,CAAC,UAAU,CAAC,SAAS,CACrB,IAAI,GAAG,CAAC,WAAW,CAAiC,gBAAgB,CAAC,EACrE,KAAK,EAAE,OAAO,EAAE,EAAE;YACd,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;YAC9B,OAAO,IAAI,CAAC;QAChB,CAAC,CACJ,CAAA;QAED,8DAA8D;QAC9D,iEAAiE;QACjE,iDAAiD;QACjD,MAAM,eAAe,GAAG,GAAG,EAAE;YACzB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;YAC1B,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;YAC5B,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACvB,eAAe,CAAC,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACrC,CAAC,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QAEvC,IAAI,CAAC,UAAU,CAAC,SAAS,CACrB,IAAI,GAAG,CAAC,YAAY,CAAiB,OAAO,CAAC,EAC7C,KAAK,IAAI,EAAE;YACP,8DAA8D;YAC9D,sDAAsD;YACtD,mCAAmC;YACnC,eAAe,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QAChB,CAAC,CACJ,CAAA;QAED,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;IAC7B,CAAC;IAID;;;;;;OAMG;IACH,KAAK,CAAC,KAAK;QACP,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAC7B,IAAI,GAAG,CAAC,YAAY,CAAiB,OAAO,CAAC,CAChD,CAAC;QACF,IAAI,CAAC,eAAe,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,KAAiB;QACvB,UAAkB,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,GAAG;QACN,OAAQ,UAAkB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACtD,CAAC;IAED,GAAG;QACC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,SAAS,CAAI,EAAU,EAAE,cAAuB;QAClD,iEAAiE;QACjE,gFAAgF;QAChF,6EAA6E;QAC7E,gFAAgF;QAChF,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAE1C,MAAM,CAAC,GAAG,IAAI,uBAAe,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,GAAG,EAAE;YAChE,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAC9B,IAAI,GAAG,CAAC,WAAW,CAAoC,WAAW,CAAC,EACnE,IAAI,mBAAS,CAAC,EAAE,EAAE,cAAc,CAAC,CACpC,CAAC;QACN,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAE7C,IAAI,YAAe,CAAC;QACpB,IAAI,CAAC;YACD,YAAY,GAAG,MAAM,CAAC,CAAC,OAAO,CAAI,MAAW,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,iEAAiE;YACjE,+DAA+D;YAC/D,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC9B,MAAM,CAAC,CAAC;QACZ,CAAC;QAED,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7B,IAAI,GAAG,CAAC,KAAK,KAAK,sBAAc,CAAC,aAAa,EAAE,CAAC;YAC7C,qBAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACtE,MAAM,IAAI,KAAK,CAAC,mCAAmC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;QACzC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;QAExC,OAAO,YAAY,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,SAA+B,EAAE,cAAuB;QACpE,IAAI,MAAM,GAAG,IAAA,iBAAU,GAAE,CAAC;QAC1B,IAAI,SAAS,EAAE,CAAC;YACZ,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;gBACxE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;gBACnD,MAAM,GAAG,IAAI,aAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YAC9C,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAqB,EAAE,cAAsB,EAAE,UAAmB;QAC1E,MAAM,MAAM,GAAiB,EAAE,CAAC;QAChC,KAAK,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAC7C,IAAI,GAAG,CAAC,WAAW,CAAyB,OAAO,CAAC,EACpD,IAAI,eAAK,CAAC,MAAM,EAAE,UAAU,CAAC,CAChC,EAAE,CAAC;YACA,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAID,KAAK,CAAC,KAAK,CAAC,IAAU,EAAE,MAAe;QACnC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAA,mBAAY,EAAC,IAAI,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,IAAA,mBAAY,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,mBAAY,EAAC,CAAC,CAAC,CAAE,CAAC;QAC7F,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CACpC,IAAI,GAAG,CAAC,WAAW,CAAuB,OAAO,CAAC,EAClD,IAAI,eAAK,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,CACtC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,SAAS;QACX,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YACxB,IAAI,CAAC,eAAe,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CACpD,IAAI,GAAG,CAAC,YAAY,CAAkB,cAAc,CAAC,CACxD,CAAC;QACN,CAAC;QACD,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,WAAW;QACb,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAC1C,IAAI,GAAG,CAAC,YAAY,CAAqC,gBAAgB,CAAC,CAC7E,CAAC;QACF,OAAO,MAAM,IAAA,uBAAa,EAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAU,EAAE,OAAa;QACzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAC9C,IAAI,GAAG,CAAC,WAAW,CAA8C,eAAe,CAAC,EACjF,IAAI,uBAAa,CAAC,EAAE,EAAE,OAAO,CAAC,CACjC,CAAC;QACF,OAAO,IAAI,kBAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,WAAW,EAC7E,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAU,EAAE,WAAmB,EAAE,CAAM,EAAE,MAAe;QAChE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAE5C,MAAM,cAAc,GAAG,IAAA,mBAAY,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnD,MAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,mBAAY,EAAC,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC;QAEvD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAC9C,IAAI,GAAG,CAAC,WAAW,CAA8B,OAAO,CAAC,EACzD,IAAI,eAAK,CAAC,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,SAAS,CAAC,CACxF,CAAC;QACF,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzF,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,cAAsB,EAAE,GAAqB;QACxD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,SAAS,GAAiB,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAC9C,IAAI,GAAG,CAAC,WAAW,CAAoC,UAAU,CAAC,EAClE,IAAI,kBAAQ,CAAC,cAAc,EAAE,KAAK,CAAC,CACtC,CAAC;QACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,SAAS,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvF,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,cAAc,CAAC,OAA2D;QACtE,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAC9B,IAAI,GAAG,CAAC,WAAW,CAAgD,gBAAgB,CAAC,EACpF,IAAI,gCAAc,CAAC,OAAO,CAAC,CAC9B,CAAC;IACN,CAAC;IAEO,WAAW,CAAI,GAAM;QACzB,IAAI,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,EAAE,EAAE,CAAC;YACN,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YAC/B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,EAAE,CAAA;IACb,CAAC;IAED,YAAY,CAAC,MAA0B;QACnC,IAAI,MAAM,EAAE,CAAC;YACT,MAAM,SAAS,GAAG,EAAE,CAAC;YACrB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC/B,IAAI,EAAU,CAAC;gBACf,IAAI,IAAA,aAAM,EAAC,CAAC,CAAC,EAAE,CAAC;oBACZ,EAAE,GAAI,CAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;oBAC/B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBACjC,CAAC;qBAAM,CAAC;oBACJ,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBAC7B,CAAC;gBACD,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvB,CAAC;YACD,OAAO,SAAS,CAAA;QACpB,CAAC;IACL,CAAC;;AAzSL,gCA0SC;AAzSG;;;;;;;;;;;;;GAaG;AACqB,qBAAU,GAAW,MAAM,CAAC,GAAG,CAAC,uCAAuC,CAAC,AAA9D,CAA+D;AA6RrG,MAAM,WAAW;IACb,YAAoB,YAAY,IAAI,OAAO,EAAe,EAC7B,eAAe,IAAI,GAAG,EAAe;QAD9C,cAAS,GAAT,SAAS,CAA6B;QAC7B,iBAAY,GAAZ,YAAY,CAAyB;IAClE,CAAC;IAED,GAAG,CAAC,GAAQ,EAAE,KAAU;QACpB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC1C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;IACL,CAAC;IAED,GAAG,CAAC,GAAQ;QACR,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACJ,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC;IACL,CAAC;IAED,GAAG,CAAC,GAAQ;QACR,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACJ,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC;IACL,CAAC;IAED,KAAK;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,OAAO,EAAe,CAAC;QAC5C,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;CACJ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openrewrite/rewrite",
3
- "version": "8.85.5",
3
+ "version": "8.85.7",
4
4
  "license": "Moderne Source Available License",
5
5
  "description": "OpenRewrite JavaScript.",
6
6
  "repository": {
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
- // 2. replace non-alphanumeric with '-'
89
- s = s.replace(/[^a-z0-9]/g, '-');
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
- if (!this._initializedTables.has(fileKey)) {
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
- const columns = dataTable.descriptor.columns;
203
- const headerRow = columns.map(col => escapeCsv(col.displayName)).join(',');
204
- // Write metadata comments + header
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' + headerRow + '\n');
215
+ fs.writeFileSync(csvPath, comments + '\n' + header + '\n');
211
216
  }
212
217
 
213
- const columns = dataTable.descriptor.columns;
214
- const rowValues = columns.map(col => {
215
- const value = (row as any)[col.name];
216
- return escapeCsv(value);
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 [...this._initializedTables];
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 suffix = dataTable.group ?? dataTable.instanceName;
241
- if (suffix === dataTable.descriptor.name) {
242
- return dataTable.descriptor.name;
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 `${dataTable.descriptor.name}--${sanitizeScope(suffix)}`;
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
 
@@ -23,3 +23,4 @@ export * from "./print";
23
23
  export * from "./visit";
24
24
  export * from "./batch-visit";
25
25
  export * from "./trace-get-object";
26
+ export * from "./set-data-table-store";
@@ -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
+ }
@@ -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);
@@ -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);