mdast-control 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/README.md +359 -0
  2. package/dist/cli.d.ts +2 -0
  3. package/dist/cli.js +534 -0
  4. package/dist/cli.js.map +1 -0
  5. package/dist/index.d.ts +7 -0
  6. package/dist/index.js +5 -0
  7. package/dist/index.js.map +1 -0
  8. package/dist/lsp/requests.d.ts +215 -0
  9. package/dist/lsp/requests.js +613 -0
  10. package/dist/lsp/requests.js.map +1 -0
  11. package/dist/lsp/server.d.ts +1 -0
  12. package/dist/lsp/server.js +110 -0
  13. package/dist/lsp/server.js.map +1 -0
  14. package/dist/lsp-methods.d.ts +25 -0
  15. package/dist/lsp-methods.js +26 -0
  16. package/dist/lsp-methods.js.map +1 -0
  17. package/dist/markdown.d.ts +17 -0
  18. package/dist/markdown.js +140 -0
  19. package/dist/markdown.js.map +1 -0
  20. package/dist/plugins.d.ts +144 -0
  21. package/dist/plugins.js +833 -0
  22. package/dist/plugins.js.map +1 -0
  23. package/dist/query.d.ts +8 -0
  24. package/dist/query.js +518 -0
  25. package/dist/query.js.map +1 -0
  26. package/dist/table-interchange.d.ts +22 -0
  27. package/dist/table-interchange.js +191 -0
  28. package/dist/table-interchange.js.map +1 -0
  29. package/dist/table-model.d.ts +15 -0
  30. package/dist/table-model.js +105 -0
  31. package/dist/table-model.js.map +1 -0
  32. package/dist/table-structural.d.ts +9 -0
  33. package/dist/table-structural.js +190 -0
  34. package/dist/table-structural.js.map +1 -0
  35. package/dist/table.d.ts +49 -0
  36. package/dist/table.js +131 -0
  37. package/dist/table.js.map +1 -0
  38. package/dist/transport.d.ts +6 -0
  39. package/dist/transport.js +7 -0
  40. package/dist/transport.js.map +1 -0
  41. package/dist/types.d.ts +57 -0
  42. package/dist/types.js +2 -0
  43. package/dist/types.js.map +1 -0
  44. package/package.json +60 -0
  45. package/scripts/verify-package.mjs +252 -0
@@ -0,0 +1,613 @@
1
+ import { ResponseError } from 'vscode-languageserver/node.js';
2
+ import { PluginOperationError, getCapabilities, getElementCapabilities, getOperationDescriptor, getPluginCapabilities, listPlugins, runPluginOperation, } from '../plugins.js';
3
+ import { copyMarkdown, deleteMarkdown, insertMarkdown, isInsertPosition, isMoveTargetPolicy, moveMarkdown, parseMarkdown, replaceMarkdown, stringifyAst, unwrapMarkdown, wrapMarkdown, } from '../markdown.js';
4
+ import { queryAst } from '../query.js';
5
+ import { addTableColumn, deleteTableColumn, deleteTableRow, extractTableModel, insertDelimitedAsTable, insertTableRow, replaceTableWithDelimited, sortTable, tableToDelimited, updateTableCell, } from '../table.js';
6
+ import { toTransportMatches } from '../transport.js';
7
+ export { MDAST_REQUEST_METHODS } from '../lsp-methods.js';
8
+ import { MDAST_REQUEST_METHODS } from '../lsp-methods.js';
9
+ export function capabilitiesRequest() {
10
+ return getCapabilities();
11
+ }
12
+ export function pluginListRequest() {
13
+ return listPlugins();
14
+ }
15
+ export function pluginShowRequest(pluginId) {
16
+ return getPluginCapabilities(pluginId) ?? null;
17
+ }
18
+ export function elementCapabilitiesRequest(elementKind) {
19
+ return getElementCapabilities(elementKind);
20
+ }
21
+ export function pluginOperationRequest(pluginId, operationName) {
22
+ return getOperationDescriptor(pluginId, operationName) ?? null;
23
+ }
24
+ export function pluginRunRequest(markdown, pluginId, operationName, query, args = {}) {
25
+ if (markdown === undefined) {
26
+ return null;
27
+ }
28
+ try {
29
+ return runPluginOperation({
30
+ plugin: pluginId,
31
+ operation: operationName,
32
+ markdown,
33
+ query,
34
+ args,
35
+ });
36
+ }
37
+ catch (error) {
38
+ if (error instanceof PluginOperationError) {
39
+ throw new ResponseError(-32001, error.message, error.toJSON());
40
+ }
41
+ throw error;
42
+ }
43
+ }
44
+ export function queryDocument(markdown, query) {
45
+ return toTransportMatches(queryAst(parseMarkdown(markdown), query));
46
+ }
47
+ export function queryRequest(markdown, query) {
48
+ if (markdown === undefined) {
49
+ return [];
50
+ }
51
+ return queryDocument(markdown, query);
52
+ }
53
+ export function handleQueryRequest(markdown, params) {
54
+ return queryRequest(markdown, params.query);
55
+ }
56
+ export function insertIntoDocument(markdown, query, position, snippet) {
57
+ const result = insertMarkdown(markdown, query, position, snippet);
58
+ return {
59
+ inserted: result.inserted,
60
+ markdown: stringifyAst(result.tree),
61
+ };
62
+ }
63
+ export function insertRequest(markdown, query, position, snippet) {
64
+ if (markdown === undefined) {
65
+ return { inserted: 0, markdown: '' };
66
+ }
67
+ if (!isInsertPosition(position)) {
68
+ throw new Error(`Unsupported insert position "${position}"`);
69
+ }
70
+ return insertIntoDocument(markdown, query, position, snippet);
71
+ }
72
+ export function handleInsertRequest(markdown, params) {
73
+ return insertRequest(markdown, params.query, params.position, params.markdown);
74
+ }
75
+ export function deleteFromDocument(markdown, query) {
76
+ const result = deleteMarkdown(markdown, query);
77
+ return {
78
+ changed: result.changed,
79
+ markdown: stringifyAst(result.tree),
80
+ };
81
+ }
82
+ export function deleteRequest(markdown, query) {
83
+ if (markdown === undefined) {
84
+ return { changed: 0, markdown: '' };
85
+ }
86
+ return deleteFromDocument(markdown, query);
87
+ }
88
+ export function handleDeleteRequest(markdown, params) {
89
+ return deleteRequest(markdown, params.query);
90
+ }
91
+ export function replaceInDocument(markdown, query, snippet) {
92
+ const result = replaceMarkdown(markdown, query, snippet);
93
+ return {
94
+ changed: result.changed,
95
+ markdown: stringifyAst(result.tree),
96
+ };
97
+ }
98
+ export function replaceRequest(markdown, query, snippet) {
99
+ if (markdown === undefined) {
100
+ return { changed: 0, markdown: '' };
101
+ }
102
+ return replaceInDocument(markdown, query, snippet);
103
+ }
104
+ export function handleReplaceRequest(markdown, params) {
105
+ return replaceRequest(markdown, params.query, params.markdown);
106
+ }
107
+ export function wrapInDocument(markdown, query, wrapper) {
108
+ const result = wrapMarkdown(markdown, query, wrapper);
109
+ return {
110
+ changed: result.changed,
111
+ markdown: stringifyAst(result.tree),
112
+ };
113
+ }
114
+ export function wrapRequest(markdown, query, wrapper) {
115
+ if (markdown === undefined) {
116
+ return { changed: 0, markdown: '' };
117
+ }
118
+ return wrapInDocument(markdown, query, wrapper);
119
+ }
120
+ export function handleWrapRequest(markdown, params) {
121
+ return wrapRequest(markdown, params.query, params.markdown);
122
+ }
123
+ export function unwrapInDocument(markdown, query) {
124
+ const result = unwrapMarkdown(markdown, query);
125
+ return {
126
+ changed: result.changed,
127
+ markdown: stringifyAst(result.tree),
128
+ };
129
+ }
130
+ export function unwrapRequest(markdown, query) {
131
+ if (markdown === undefined) {
132
+ return { changed: 0, markdown: '' };
133
+ }
134
+ return unwrapInDocument(markdown, query);
135
+ }
136
+ export function handleUnwrapRequest(markdown, params) {
137
+ return unwrapRequest(markdown, params.query);
138
+ }
139
+ export function moveInDocument(markdown, query, target, position, targetPolicy = 'exactly-one') {
140
+ const result = moveMarkdown(markdown, query, target, position, targetPolicy);
141
+ return {
142
+ changed: result.changed,
143
+ markdown: stringifyAst(result.tree),
144
+ };
145
+ }
146
+ export function moveRequest(markdown, query, target, position, targetPolicy = 'exactly-one') {
147
+ if (markdown === undefined) {
148
+ return { changed: 0, markdown: '' };
149
+ }
150
+ if (!isInsertPosition(position)) {
151
+ throw invalidParams(`Unsupported insert position "${position}"`);
152
+ }
153
+ if (!isMoveTargetPolicy(targetPolicy)) {
154
+ throw invalidParams(`Unsupported move target policy "${targetPolicy}"`);
155
+ }
156
+ return moveInDocument(markdown, query, target, position, targetPolicy);
157
+ }
158
+ export function handleMoveRequest(markdown, params) {
159
+ return moveRequest(markdown, params.query, params.target, params.position, params.targetPolicy);
160
+ }
161
+ export function copyIntoDocument(markdown, query, target, position, targetPolicy = 'exactly-one') {
162
+ const result = copyMarkdown(markdown, query, target, position, targetPolicy);
163
+ return { changed: result.changed, markdown: stringifyAst(result.tree) };
164
+ }
165
+ export function copyRequest(markdown, query, target, position, targetPolicy = 'exactly-one') {
166
+ if (markdown === undefined) {
167
+ return { changed: 0, markdown: '' };
168
+ }
169
+ if (!isInsertPosition(position)) {
170
+ throw invalidParams(`Unsupported insert position "${position}"`);
171
+ }
172
+ if (!isMoveTargetPolicy(targetPolicy)) {
173
+ throw invalidParams(`Unsupported move target policy "${targetPolicy}"`);
174
+ }
175
+ return copyIntoDocument(markdown, query, target, position, targetPolicy);
176
+ }
177
+ export function handleCopyRequest(markdown, params) {
178
+ return copyRequest(markdown, params.query, params.target, params.position, params.targetPolicy);
179
+ }
180
+ export function tableQueryRequest(markdown, query) {
181
+ return markdown === undefined ? null : extractTableModel(markdown, query);
182
+ }
183
+ export function handleTableQueryRequest(markdown, params) {
184
+ return tableQueryRequest(markdown, params.query);
185
+ }
186
+ export function tableExportRequest(markdown, query, format, options = {}) {
187
+ return markdown === undefined ? null : tableToDelimited(markdown, query, format, options);
188
+ }
189
+ export function handleTableExportRequest(markdown, params) {
190
+ return tableExportRequest(markdown, params.query, params.format, params.options);
191
+ }
192
+ export function tableImportRequest(markdown, params) {
193
+ if (markdown === undefined) {
194
+ return { changed: 0, markdown: '' };
195
+ }
196
+ if (params.mode === 'replace') {
197
+ const result = replaceTableWithDelimited(markdown, params.query, params.format, params.data, params.options);
198
+ return { changed: result.changed, markdown: stringifyAst(result.tree) };
199
+ }
200
+ const result = insertDelimitedAsTable(markdown, params.query, params.position, params.format, params.data, params.options);
201
+ return { changed: result.inserted, markdown: stringifyAst(result.tree) };
202
+ }
203
+ export function handleTableImportRequest(markdown, params) {
204
+ return tableImportRequest(markdown, params);
205
+ }
206
+ export function handleTableUpdateCellRequest(markdown, params) {
207
+ return tableMutationRequest(markdown, (text) => updateTableCell(text, params.query, params.row, params.column, params.value));
208
+ }
209
+ export function handleTableInsertRowRequest(markdown, params) {
210
+ return tableMutationRequest(markdown, (text) => insertTableRow(text, params.query, params.index, params.values));
211
+ }
212
+ export function handleTableDeleteRowRequest(markdown, params) {
213
+ return tableMutationRequest(markdown, (text) => deleteTableRow(text, params.query, params.row));
214
+ }
215
+ export function handleTableAddColumnRequest(markdown, params) {
216
+ return tableMutationRequest(markdown, (text) => addTableColumn(text, params.query, params.index, params.header, params.values));
217
+ }
218
+ export function handleTableDeleteColumnRequest(markdown, params) {
219
+ return tableMutationRequest(markdown, (text) => deleteTableColumn(text, params.query, params.column));
220
+ }
221
+ export function handleTableSortRequest(markdown, params) {
222
+ return tableMutationRequest(markdown, (text) => sortTable(text, params.query, params.column, params.direction));
223
+ }
224
+ function tableMutationRequest(markdown, mutate) {
225
+ if (markdown === undefined) {
226
+ return { changed: 0, markdown: '' };
227
+ }
228
+ const result = mutate(markdown);
229
+ return { changed: result.changed, markdown: stringifyAst(result.tree) };
230
+ }
231
+ export function registerMdastRequestHandlers(connection, getText) {
232
+ connection.onRequest(MDAST_REQUEST_METHODS.capabilities, () => capabilitiesRequest());
233
+ connection.onRequest(MDAST_REQUEST_METHODS.pluginList, () => pluginListRequest());
234
+ connection.onRequest(MDAST_REQUEST_METHODS.pluginShow, (params) => {
235
+ const parsed = parsePluginRequestParams(params);
236
+ return pluginShowRequest(parsed.plugin);
237
+ });
238
+ connection.onRequest(MDAST_REQUEST_METHODS.elementCapabilities, (params) => {
239
+ const parsed = parseElementRequestParams(params);
240
+ return elementCapabilitiesRequest(parsed.element);
241
+ });
242
+ connection.onRequest(MDAST_REQUEST_METHODS.pluginOperation, (params) => {
243
+ const parsed = parsePluginOperationRequestParams(params);
244
+ return pluginOperationRequest(parsed.plugin, parsed.operation);
245
+ });
246
+ connection.onRequest(MDAST_REQUEST_METHODS.pluginRun, (params) => {
247
+ const parsed = parsePluginRunRequestParams(params);
248
+ return pluginRunRequest(getText(parsed.uri), parsed.plugin, parsed.operation, parsed.query, parsed.args ?? {});
249
+ });
250
+ connection.onRequest(MDAST_REQUEST_METHODS.query, (params) => {
251
+ const parsed = parseQueryRequestParams(params);
252
+ return handleQueryRequest(getText(parsed.uri), parsed);
253
+ });
254
+ connection.onRequest(MDAST_REQUEST_METHODS.insert, (params) => {
255
+ const parsed = parseInsertRequestParams(params);
256
+ return handleInsertRequest(getText(parsed.uri), parsed);
257
+ });
258
+ connection.onRequest(MDAST_REQUEST_METHODS.delete, (params) => {
259
+ const parsed = parseQueryRequestParams(params);
260
+ return handleDeleteRequest(getText(parsed.uri), parsed);
261
+ });
262
+ connection.onRequest(MDAST_REQUEST_METHODS.replace, (params) => {
263
+ const parsed = parseReplaceRequestParams(params);
264
+ return handleReplaceRequest(getText(parsed.uri), parsed);
265
+ });
266
+ connection.onRequest(MDAST_REQUEST_METHODS.wrap, (params) => {
267
+ const parsed = parseWrapRequestParams(params);
268
+ return handleWrapRequest(getText(parsed.uri), parsed);
269
+ });
270
+ connection.onRequest(MDAST_REQUEST_METHODS.unwrap, (params) => {
271
+ const parsed = parseQueryRequestParams(params);
272
+ return handleUnwrapRequest(getText(parsed.uri), parsed);
273
+ });
274
+ connection.onRequest(MDAST_REQUEST_METHODS.move, (params) => {
275
+ const parsed = parseMoveRequestParams(params);
276
+ return handleMoveRequest(getText(parsed.uri), parsed);
277
+ });
278
+ connection.onRequest(MDAST_REQUEST_METHODS.copy, (params) => {
279
+ const parsed = parseCopyRequestParams(params);
280
+ return handleCopyRequest(getText(parsed.uri), parsed);
281
+ });
282
+ connection.onRequest(MDAST_REQUEST_METHODS.tableQuery, (params) => {
283
+ const parsed = parseQueryRequestParams(params);
284
+ return handleTableQueryRequest(getText(parsed.uri), parsed);
285
+ });
286
+ connection.onRequest(MDAST_REQUEST_METHODS.tableExport, (params) => {
287
+ const parsed = parseTableExportRequestParams(params);
288
+ return handleTableExportRequest(getText(parsed.uri), parsed);
289
+ });
290
+ connection.onRequest(MDAST_REQUEST_METHODS.tableImport, (params) => {
291
+ const parsed = parseTableImportRequestParams(params);
292
+ return handleTableImportRequest(getText(parsed.uri), parsed);
293
+ });
294
+ connection.onRequest(MDAST_REQUEST_METHODS.tableUpdateCell, (params) => {
295
+ const parsed = parseTableUpdateCellRequestParams(params);
296
+ return handleTableUpdateCellRequest(getText(parsed.uri), parsed);
297
+ });
298
+ connection.onRequest(MDAST_REQUEST_METHODS.tableInsertRow, (params) => {
299
+ const parsed = parseTableInsertRowRequestParams(params);
300
+ return handleTableInsertRowRequest(getText(parsed.uri), parsed);
301
+ });
302
+ connection.onRequest(MDAST_REQUEST_METHODS.tableDeleteRow, (params) => {
303
+ const parsed = parseTableDeleteRowRequestParams(params);
304
+ return handleTableDeleteRowRequest(getText(parsed.uri), parsed);
305
+ });
306
+ connection.onRequest(MDAST_REQUEST_METHODS.tableAddColumn, (params) => {
307
+ const parsed = parseTableAddColumnRequestParams(params);
308
+ return handleTableAddColumnRequest(getText(parsed.uri), parsed);
309
+ });
310
+ connection.onRequest(MDAST_REQUEST_METHODS.tableDeleteColumn, (params) => {
311
+ const parsed = parseTableDeleteColumnRequestParams(params);
312
+ return handleTableDeleteColumnRequest(getText(parsed.uri), parsed);
313
+ });
314
+ connection.onRequest(MDAST_REQUEST_METHODS.tableSort, (params) => {
315
+ const parsed = parseTableSortRequestParams(params);
316
+ return handleTableSortRequest(getText(parsed.uri), parsed);
317
+ });
318
+ }
319
+ function parseQueryRequestParams(params) {
320
+ if (!isRecord(params) || typeof params.uri !== 'string' || typeof params.query !== 'string') {
321
+ throw invalidParams('Invalid query request payload');
322
+ }
323
+ return {
324
+ uri: params.uri,
325
+ query: params.query,
326
+ };
327
+ }
328
+ function parsePluginRequestParams(params) {
329
+ if (!isRecord(params) || typeof params.plugin !== 'string') {
330
+ throw invalidParams('Invalid plugin request payload');
331
+ }
332
+ return {
333
+ plugin: params.plugin,
334
+ };
335
+ }
336
+ function parseElementRequestParams(params) {
337
+ if (!isRecord(params) || typeof params.element !== 'string') {
338
+ throw invalidParams('Invalid element capability request payload');
339
+ }
340
+ return {
341
+ element: params.element,
342
+ };
343
+ }
344
+ function parsePluginOperationRequestParams(params) {
345
+ if (!isRecord(params) || typeof params.plugin !== 'string' || typeof params.operation !== 'string') {
346
+ throw invalidParams('Invalid plugin operation request payload');
347
+ }
348
+ return {
349
+ plugin: params.plugin,
350
+ operation: params.operation,
351
+ };
352
+ }
353
+ function parsePluginRunRequestParams(params) {
354
+ if (!isRecord(params)
355
+ || typeof params.uri !== 'string'
356
+ || typeof params.plugin !== 'string'
357
+ || typeof params.operation !== 'string'
358
+ || typeof params.query !== 'string') {
359
+ throw invalidParams('Invalid plugin run request payload');
360
+ }
361
+ if (params.args !== undefined && (!isRecord(params.args) || Array.isArray(params.args))) {
362
+ throw invalidParams('Invalid plugin run args payload');
363
+ }
364
+ return {
365
+ uri: params.uri,
366
+ plugin: params.plugin,
367
+ operation: params.operation,
368
+ query: params.query,
369
+ args: params.args,
370
+ };
371
+ }
372
+ function parseInsertRequestParams(params) {
373
+ if (!isRecord(params)
374
+ || typeof params.uri !== 'string'
375
+ || typeof params.query !== 'string'
376
+ || typeof params.position !== 'string'
377
+ || typeof params.markdown !== 'string') {
378
+ throw invalidParams('Invalid insert request payload');
379
+ }
380
+ if (!isInsertPosition(params.position)) {
381
+ throw invalidParams(`Unsupported insert position "${params.position}"`);
382
+ }
383
+ return {
384
+ uri: params.uri,
385
+ query: params.query,
386
+ position: params.position,
387
+ markdown: params.markdown,
388
+ };
389
+ }
390
+ function parseReplaceRequestParams(params) {
391
+ if (!isRecord(params) || typeof params.uri !== 'string' || typeof params.query !== 'string' || typeof params.markdown !== 'string') {
392
+ throw invalidParams('Invalid replace request payload');
393
+ }
394
+ return {
395
+ uri: params.uri,
396
+ query: params.query,
397
+ markdown: params.markdown,
398
+ };
399
+ }
400
+ function parseWrapRequestParams(params) {
401
+ if (!isRecord(params) || typeof params.uri !== 'string' || typeof params.query !== 'string' || typeof params.markdown !== 'string') {
402
+ throw invalidParams('Invalid wrap request payload');
403
+ }
404
+ return {
405
+ uri: params.uri,
406
+ query: params.query,
407
+ markdown: params.markdown,
408
+ };
409
+ }
410
+ function parseMoveRequestParams(params) {
411
+ return parseTransferRequestParams(params, 'move');
412
+ }
413
+ function parseCopyRequestParams(params) {
414
+ return parseTransferRequestParams(params, 'copy');
415
+ }
416
+ function parseTransferRequestParams(params, operation) {
417
+ if (!isRecord(params)
418
+ || typeof params.uri !== 'string'
419
+ || typeof params.query !== 'string'
420
+ || typeof params.target !== 'string'
421
+ || typeof params.position !== 'string') {
422
+ throw invalidParams(`Invalid ${operation} request payload`);
423
+ }
424
+ if (!isInsertPosition(params.position)) {
425
+ throw invalidParams(`Unsupported insert position "${params.position}"`);
426
+ }
427
+ if (params.targetPolicy !== undefined && (typeof params.targetPolicy !== 'string' || !isMoveTargetPolicy(params.targetPolicy))) {
428
+ throw invalidParams(`Unsupported move target policy "${String(params.targetPolicy)}"`);
429
+ }
430
+ return {
431
+ uri: params.uri,
432
+ query: params.query,
433
+ target: params.target,
434
+ position: params.position,
435
+ ...(params.targetPolicy === undefined ? {} : { targetPolicy: params.targetPolicy }),
436
+ };
437
+ }
438
+ function parseTableExportRequestParams(params) {
439
+ if (!isRecord(params)
440
+ || typeof params.uri !== 'string'
441
+ || typeof params.query !== 'string'
442
+ || !isDelimitedFormat(params.format)) {
443
+ throw invalidParams('Invalid table export request payload');
444
+ }
445
+ return {
446
+ uri: params.uri,
447
+ query: params.query,
448
+ format: params.format,
449
+ ...(params.options === undefined ? {} : { options: parseDelimitedExportOptions(params.options) }),
450
+ };
451
+ }
452
+ function parseTableImportRequestParams(params) {
453
+ if (!isRecord(params)
454
+ || typeof params.uri !== 'string'
455
+ || typeof params.query !== 'string'
456
+ || !isDelimitedFormat(params.format)
457
+ || typeof params.data !== 'string'
458
+ || (params.mode !== 'replace' && params.mode !== 'insert')) {
459
+ throw invalidParams('Invalid table import request payload');
460
+ }
461
+ if (params.mode === 'insert') {
462
+ if (typeof params.position !== 'string' || !isInsertPosition(params.position)) {
463
+ throw invalidParams('Table insert import requires a supported position');
464
+ }
465
+ return {
466
+ uri: params.uri,
467
+ query: params.query,
468
+ format: params.format,
469
+ data: params.data,
470
+ mode: 'insert',
471
+ position: params.position,
472
+ ...(params.options === undefined ? {} : { options: parseDelimitedImportOptions(params.options) }),
473
+ };
474
+ }
475
+ if (params.position !== undefined) {
476
+ throw invalidParams('Table replace import does not accept a position');
477
+ }
478
+ return {
479
+ uri: params.uri,
480
+ query: params.query,
481
+ format: params.format,
482
+ data: params.data,
483
+ mode: 'replace',
484
+ ...(params.options === undefined ? {} : { options: parseDelimitedImportOptions(params.options) }),
485
+ };
486
+ }
487
+ function parseTableUpdateCellRequestParams(params) {
488
+ const base = parseTableMutationBase(params, 'update cell');
489
+ if (!isRecord(params) || !isSafeInteger(params.row) || !isTableColumnAddress(params.column) || typeof params.value !== 'string') {
490
+ throw invalidParams('Invalid table update cell request payload');
491
+ }
492
+ return { ...base, row: params.row, column: params.column, value: params.value };
493
+ }
494
+ function parseTableInsertRowRequestParams(params) {
495
+ const base = parseTableMutationBase(params, 'insert row');
496
+ if (!isRecord(params) || !isSafeInteger(params.index) || !isStringArray(params.values)) {
497
+ throw invalidParams('Invalid table insert row request payload');
498
+ }
499
+ return { ...base, index: params.index, values: params.values };
500
+ }
501
+ function parseTableDeleteRowRequestParams(params) {
502
+ const base = parseTableMutationBase(params, 'delete row');
503
+ if (!isRecord(params) || !isSafeInteger(params.row)) {
504
+ throw invalidParams('Invalid table delete row request payload');
505
+ }
506
+ return { ...base, row: params.row };
507
+ }
508
+ function parseTableAddColumnRequestParams(params) {
509
+ const base = parseTableMutationBase(params, 'add column');
510
+ if (!isRecord(params)
511
+ || !isSafeInteger(params.index)
512
+ || typeof params.header !== 'string'
513
+ || (params.values !== undefined && !isStringArray(params.values))) {
514
+ throw invalidParams('Invalid table add column request payload');
515
+ }
516
+ return {
517
+ ...base,
518
+ index: params.index,
519
+ header: params.header,
520
+ ...(params.values === undefined ? {} : { values: params.values }),
521
+ };
522
+ }
523
+ function parseTableDeleteColumnRequestParams(params) {
524
+ const base = parseTableMutationBase(params, 'delete column');
525
+ if (!isRecord(params) || !isTableColumnAddress(params.column)) {
526
+ throw invalidParams('Invalid table delete column request payload');
527
+ }
528
+ return { ...base, column: params.column };
529
+ }
530
+ function parseTableSortRequestParams(params) {
531
+ const base = parseTableMutationBase(params, 'sort');
532
+ if (!isRecord(params)
533
+ || !isTableColumnAddress(params.column)
534
+ || (params.direction !== 'asc' && params.direction !== 'desc')) {
535
+ throw invalidParams('Invalid table sort request payload');
536
+ }
537
+ return { ...base, column: params.column, direction: params.direction };
538
+ }
539
+ function parseTableMutationBase(params, operation) {
540
+ if (!isRecord(params) || typeof params.uri !== 'string' || typeof params.query !== 'string') {
541
+ throw invalidParams(`Invalid table ${operation} request payload`);
542
+ }
543
+ return { uri: params.uri, query: params.query };
544
+ }
545
+ function parseDelimitedExportOptions(value) {
546
+ if (!isRecord(value) || Array.isArray(value)) {
547
+ throw invalidParams('Invalid table export options payload');
548
+ }
549
+ if (value.includeHeader !== undefined && typeof value.includeHeader !== 'boolean') {
550
+ throw invalidParams('Invalid table export includeHeader option');
551
+ }
552
+ if (value.lineTerminator !== undefined && value.lineTerminator !== '\n' && value.lineTerminator !== '\r\n') {
553
+ throw invalidParams('Invalid table export lineTerminator option');
554
+ }
555
+ if (value.quoteMode !== undefined && value.quoteMode !== 'minimal' && value.quoteMode !== 'always') {
556
+ throw invalidParams('Invalid table export quoteMode option');
557
+ }
558
+ return {
559
+ ...(value.includeHeader === undefined ? {} : { includeHeader: value.includeHeader }),
560
+ ...(value.lineTerminator === undefined ? {} : { lineTerminator: value.lineTerminator }),
561
+ ...(value.quoteMode === undefined ? {} : { quoteMode: value.quoteMode }),
562
+ };
563
+ }
564
+ function parseDelimitedImportOptions(value) {
565
+ if (!isRecord(value) || Array.isArray(value)) {
566
+ throw invalidParams('Invalid table import options payload');
567
+ }
568
+ if (value.hasHeader !== undefined && typeof value.hasHeader !== 'boolean') {
569
+ throw invalidParams('Invalid table import hasHeader option');
570
+ }
571
+ if (value.strictWidth !== undefined && typeof value.strictWidth !== 'boolean') {
572
+ throw invalidParams('Invalid table import strictWidth option');
573
+ }
574
+ if (value.trimCells !== undefined && typeof value.trimCells !== 'boolean') {
575
+ throw invalidParams('Invalid table import trimCells option');
576
+ }
577
+ return {
578
+ ...(value.hasHeader === undefined ? {} : { hasHeader: value.hasHeader }),
579
+ ...(value.strictWidth === undefined ? {} : { strictWidth: value.strictWidth }),
580
+ ...(value.trimCells === undefined ? {} : { trimCells: value.trimCells }),
581
+ ...(value.align === undefined ? {} : { align: parseTableAlignment(value.align) }),
582
+ };
583
+ }
584
+ function parseTableAlignment(value) {
585
+ if (!Array.isArray(value)) {
586
+ throw invalidParams('Invalid table import alignment option');
587
+ }
588
+ return value.map((alignment, index) => {
589
+ if (alignment !== null && alignment !== 'left' && alignment !== 'right' && alignment !== 'center') {
590
+ throw invalidParams(`Invalid table alignment at column ${String(index)}`);
591
+ }
592
+ return alignment;
593
+ });
594
+ }
595
+ function isDelimitedFormat(value) {
596
+ return value === 'csv' || value === 'tsv';
597
+ }
598
+ function isSafeInteger(value) {
599
+ return typeof value === 'number' && Number.isSafeInteger(value);
600
+ }
601
+ function isTableColumnAddress(value) {
602
+ return typeof value === 'string' || isSafeInteger(value);
603
+ }
604
+ function isStringArray(value) {
605
+ return Array.isArray(value) && value.every((entry) => typeof entry === 'string');
606
+ }
607
+ function isRecord(value) {
608
+ return typeof value === 'object' && value !== null;
609
+ }
610
+ function invalidParams(message) {
611
+ return new ResponseError(-32602, message);
612
+ }
613
+ //# sourceMappingURL=requests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requests.js","sourceRoot":"","sources":["../../src/lsp/requests.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};