@deephaven/jsapi-types 1.0.0-dev0.34.1 → 1.0.0-dev0.34.2

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 (2) hide show
  1. package/dist/index.d.ts +1513 -1513
  2. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -1,10 +1,6 @@
1
1
  // Minimum TypeScript Version: 4.3
2
2
  // Generated using com.vertispan.tsdefs.doclet.TsDoclet
3
3
 
4
- export interface IIterableResult<T> {
5
- value:T;
6
- done:boolean;
7
- }
8
4
  /**
9
5
  * This is part of EcmaScript 2015, documented here for completeness. It supports a single method, <b>next()</b>, which
10
6
  * returns an object with a <b>boolean</b> named <b>done</b> (true if there are no more items to return; false
@@ -15,6 +11,10 @@ export interface Iterator<T> {
15
11
  hasNext():boolean;
16
12
  next():IIterableResult<T>;
17
13
  }
14
+ export interface IIterableResult<T> {
15
+ value:T;
16
+ done:boolean;
17
+ }
18
18
  export namespace dh.storage {
19
19
 
20
20
  /**
@@ -33,6 +33,20 @@ export namespace dh.storage {
33
33
  get etag():string;
34
34
  }
35
35
 
36
+ /**
37
+ * Storage service metadata about files and folders.
38
+ */
39
+ export class ItemDetails {
40
+ protected constructor();
41
+
42
+ get filename():string;
43
+ get basename():string;
44
+ get size():number;
45
+ get etag():string;
46
+ get type():ItemTypeType;
47
+ get dirname():string;
48
+ }
49
+
36
50
  /**
37
51
  * Remote service to read and write files on the server. Paths use "/" as a separator, and should not start with "/".
38
52
  */
@@ -91,20 +105,6 @@ export namespace dh.storage {
91
105
  createDirectory(path:string):Promise<void>;
92
106
  }
93
107
 
94
- /**
95
- * Storage service metadata about files and folders.
96
- */
97
- export class ItemDetails {
98
- protected constructor();
99
-
100
- get filename():string;
101
- get basename():string;
102
- get size():number;
103
- get etag():string;
104
- get type():ItemTypeType;
105
- get dirname():string;
106
- }
107
-
108
108
 
109
109
  type ItemTypeType = string;
110
110
  export class ItemType {
@@ -149,6 +149,85 @@ export namespace dh {
149
149
  get color():string|null;
150
150
  }
151
151
  /**
152
+ * Represents a server-side object that may not yet have been fetched by the client. When this object will no longer be
153
+ * used, if {@link fetch} is not called on this object, then {@link close} must be to ensure server-side resources
154
+ * are correctly freed.
155
+ */
156
+ export interface WidgetExportedObject {
157
+ /**
158
+ * Returns the type of this export, typically one of {@link dh.VariableType}, but may also include plugin types. If
159
+ * null, this object cannot be fetched, but can be passed to the server, such as via
160
+ * {@link Widget.sendMessage}.
161
+ * @return the string type of this server-side object, or null.
162
+ */
163
+ readonly type?:string|null;
164
+
165
+ /**
166
+ * Exports another copy of this reference, allowing it to be fetched separately. Results in rejection if the ticket
167
+ * was already closed (either by calling {@link WidgetExportedObject.close} or closing the object returned from {@link WidgetExportedObject.fetch}).
168
+ * @return a promise returning a reexported copy of this object, still referencing the same server-side object.
169
+ */
170
+ reexport():Promise<WidgetExportedObject>;
171
+ /**
172
+ * Returns a promise that will fetch the object represented by this reference. Multiple calls to this will return
173
+ * the same instance.
174
+ * @return a promise that will resolve to a client side object that represents the reference on the server.
175
+ */
176
+ fetch():Promise<any>;
177
+ /**
178
+ * Releases the server-side resources associated with this object, regardless of whether other client-side objects
179
+ * exist that also use that object. Should not be called after fetch() has been invoked.
180
+ */
181
+ close():void;
182
+ }
183
+ export interface TreeViewportData extends TableData {
184
+ get offset():number;
185
+ get columns():Array<Column>;
186
+ get rows():Array<TreeRow>;
187
+ }
188
+ /**
189
+ * Event data, describing the indexes that were added/removed/updated, and providing access to Rows (and thus data
190
+ * in columns) either by index, or scanning the complete present index.
191
+ *
192
+ * This class supports two ways of reading the table - checking the changes made since the last update, and reading
193
+ * all data currently in the table. While it is more expensive to always iterate over every single row in the table,
194
+ * it may in some cases actually be cheaper than maintaining state separately and updating only the changes, though
195
+ * both options should be considered.
196
+ *
197
+ * The RangeSet objects allow iterating over the LongWrapper indexes in the table. Note that these "indexes" are not
198
+ * necessarily contiguous and may be negative, and represent some internal state on the server, allowing it to keep
199
+ * track of data efficiently. Those LongWrapper objects can be passed to the various methods on this instance to
200
+ * read specific rows or cells out of the table.
201
+ */
202
+ export interface SubscriptionTableData extends TableData {
203
+ get fullIndex():RangeSet;
204
+ /**
205
+ * The ordered set of row indexes removed since the last update
206
+ * @return dh.RangeSet
207
+ */
208
+ get removed():RangeSet;
209
+ /**
210
+ * The ordered set of row indexes added since the last update
211
+ * @return dh.RangeSet
212
+ */
213
+ get added():RangeSet;
214
+ get columns():Array<Column>;
215
+ /**
216
+ * The ordered set of row indexes updated since the last update
217
+ * @return dh.RangeSet
218
+ */
219
+ get modified():RangeSet;
220
+ get rows():Array<Row>;
221
+ }
222
+ export interface WorkerHeapInfo {
223
+ /**
224
+ * Total heap size available for this worker.
225
+ */
226
+ get totalHeapSize():number;
227
+ get freeMemory():number;
228
+ get maximumHeapSize():number;
229
+ }
230
+ /**
152
231
  * Behaves like a Table, but doesn't expose all of its API for changing the internal state. Instead, state is driven by
153
232
  * the upstream table - when it changes handle, this listens and updates its own handle accordingly.
154
233
  *
@@ -277,87 +356,77 @@ export namespace dh {
277
356
  */
278
357
  get isRefreshing():boolean;
279
358
  }
280
- export interface TreeViewportData extends TableData {
281
- get offset():number;
282
- get columns():Array<Column>;
283
- get rows():Array<TreeRow>;
284
- }
285
- /**
286
- * Event data, describing the indexes that were added/removed/updated, and providing access to Rows (and thus data
287
- * in columns) either by index, or scanning the complete present index.
288
- *
289
- * This class supports two ways of reading the table - checking the changes made since the last update, and reading
290
- * all data currently in the table. While it is more expensive to always iterate over every single row in the table,
291
- * it may in some cases actually be cheaper than maintaining state separately and updating only the changes, though
292
- * both options should be considered.
293
- *
294
- * The RangeSet objects allow iterating over the LongWrapper indexes in the table. Note that these "indexes" are not
295
- * necessarily contiguous and may be negative, and represent some internal state on the server, allowing it to keep
296
- * track of data efficiently. Those LongWrapper objects can be passed to the various methods on this instance to
297
- * read specific rows or cells out of the table.
298
- */
299
- export interface SubscriptionTableData extends TableData {
300
- get fullIndex():RangeSet;
359
+ export interface HasEventHandling {
301
360
  /**
302
- * The ordered set of row indexes removed since the last update
303
- * @return dh.RangeSet
361
+ * Listen for events on this object.
362
+ * @param name - the name of the event to listen for
363
+ * @param callback - a function to call when the event occurs
364
+ * @return Returns a cleanup function.
365
+ * @typeParam T - the type of the data that the event will provide
304
366
  */
305
- get removed():RangeSet;
367
+ addEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):()=>void;
368
+ nextEvent<T>(eventName:string, timeoutInMillis?:number):Promise<CustomEvent<T>>;
369
+ hasListeners(name:string):boolean;
306
370
  /**
307
- * The ordered set of row indexes added since the last update
308
- * @return dh.RangeSet
371
+ * Removes an event listener added to this table.
372
+ * @param name -
373
+ * @param callback -
374
+ * @return
375
+ * @typeParam T -
309
376
  */
310
- get added():RangeSet;
377
+ removeEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):boolean;
378
+ }
379
+ /**
380
+ * Common interface for various ways of accessing table data and formatting.
381
+ *
382
+ * Java note: this interface contains some extra overloads that aren't available in JS. Implementations are expected to
383
+ * implement only abstract methods, and default methods present in this interface will dispatch accordingly.
384
+ */
385
+ export interface TableData {
386
+ get(index:LongWrapper|number):Row;
387
+ getData(index:LongWrapper|number, column:Column):any;
388
+ getFormat(index:LongWrapper|number, column:Column):Format;
311
389
  get columns():Array<Column>;
312
- /**
313
- * The ordered set of row indexes updated since the last update
314
- * @return dh.RangeSet
315
- */
316
- get modified():RangeSet;
317
390
  get rows():Array<Row>;
318
391
  }
319
- export interface RefreshToken {
320
- get bytes():string;
321
- get expiry():number;
392
+ export interface LayoutHints {
393
+ readonly searchDisplayMode?:SearchDisplayModeType|null;
394
+
395
+ get hiddenColumns():string[]|null;
396
+ get frozenColumns():string[]|null;
397
+ get columnGroups():ColumnGroup[]|null;
398
+ get areSavedLayoutsAllowed():boolean;
399
+ get frontColumns():string[]|null;
400
+ get backColumns():string[]|null;
322
401
  }
323
402
  /**
324
- * Represents a server-side object that may not yet have been fetched by the client. When this object will no longer be
325
- * used, if {@link fetch} is not called on this object, then {@link close} must be to ensure server-side resources
326
- * are correctly freed.
403
+ * This object may be pooled internally or discarded and not updated. Do not retain references to it. Instead, request
404
+ * the viewport again.
327
405
  */
328
- export interface WidgetExportedObject {
329
- /**
330
- * Returns the type of this export, typically one of {@link dh.VariableType}, but may also include plugin types. If
331
- * null, this object cannot be fetched, but can be passed to the server, such as via
332
- * {@link Widget.sendMessage}.
333
- * @return the string type of this server-side object, or null.
334
- */
335
- readonly type?:string|null;
336
-
406
+ export interface ViewportRow extends Row {
407
+ get index():LongWrapper;
408
+ }
409
+ /**
410
+ * Contains data in the current viewport. Also contains the offset to this data, so that the actual row number may be
411
+ * determined. Do not assume that the first row in `rows` is the first visible row, because extra rows may be provided
412
+ * for easier scrolling without going to the server.
413
+ */
414
+ export interface ViewportData extends TableData {
337
415
  /**
338
- * Exports another copy of this reference, allowing it to be fetched separately. Results in rejection if the ticket
339
- * was already closed (either by calling {@link WidgetExportedObject.close} or closing the object returned from {@link WidgetExportedObject.fetch}).
340
- * @return a promise returning a reexported copy of this object, still referencing the same server-side object.
416
+ * The index of the first returned row
417
+ * @return double
341
418
  */
342
- reexport():Promise<WidgetExportedObject>;
419
+ get offset():number;
343
420
  /**
344
- * Returns a promise that will fetch the object represented by this reference. Multiple calls to this will return
345
- * the same instance.
346
- * @return a promise that will resolve to a client side object that represents the reference on the server.
421
+ * A list of columns describing the data types in each row
422
+ * @return {@link dh.Column} array.
347
423
  */
348
- fetch():Promise<any>;
424
+ get columns():Array<Column>;
349
425
  /**
350
- * Releases the server-side resources associated with this object, regardless of whether other client-side objects
351
- * exist that also use that object. Should not be called after fetch() has been invoked.
426
+ * An array of rows of data
427
+ * @return {@link dh.ViewportRow} array.
352
428
  */
353
- close():void;
354
- }
355
- /**
356
- * This object may be pooled internally or discarded and not updated. Do not retain references to it. Instead, request
357
- * the viewport again.
358
- */
359
- export interface ViewportRow extends Row {
360
- get index():LongWrapper;
429
+ get rows():Array<ViewportRow>;
361
430
  }
362
431
  /**
363
432
  * Represents a table which can be joined to another table. Current implementations are {@link dh.Table} and
@@ -448,86 +517,11 @@ export namespace dh {
448
517
  */
449
518
  naturalJoin(rightTable:JoinableTable, columnsToMatch:Array<string>, columnsToAdd?:Array<string>|undefined|null):Promise<Table>;
450
519
  }
451
- export interface LayoutHints {
452
- readonly searchDisplayMode?:SearchDisplayModeType|null;
453
-
454
- get hiddenColumns():string[]|null;
455
- get frozenColumns():string[]|null;
456
- get columnGroups():ColumnGroup[]|null;
457
- get areSavedLayoutsAllowed():boolean;
458
- get frontColumns():string[]|null;
459
- get backColumns():string[]|null;
460
- }
461
- export interface HasEventHandling {
462
- /**
463
- * Listen for events on this object.
464
- * @param name - the name of the event to listen for
465
- * @param callback - a function to call when the event occurs
466
- * @return Returns a cleanup function.
467
- * @typeParam T - the type of the data that the event will provide
468
- */
469
- addEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):()=>void;
470
- nextEvent<T>(eventName:string, timeoutInMillis?:number):Promise<CustomEvent<T>>;
471
- hasListeners(name:string):boolean;
472
- /**
473
- * Removes an event listener added to this table.
474
- * @param name -
475
- * @param callback -
476
- * @return
477
- * @typeParam T -
478
- */
479
- removeEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):boolean;
480
- }
481
- /**
482
- * Encapsulates event handling around table subscriptions by "cheating" and wrapping up a JsTable instance to do the
483
- * real dirty work. This allows a viewport to stay open on the old table if desired, while this one remains open.
484
- * <p>
485
- * As this just wraps a JsTable (and thus a CTS), it holds its own flattened, pUT'd handle to get deltas from the
486
- * server. The setViewport method can be used to adjust this table instead of creating a new one.
487
- * <p>
488
- * Existing methods on JsTable like setViewport and getViewportData are intended to proxy to this, which then will talk
489
- * to the underlying handle and accumulated data.
490
- * <p>
491
- * As long as we keep the existing methods/events on JsTable, close() is not required if no other method is called, with
492
- * the idea then that the caller did not actually use this type. This means that for every exported method (which then
493
- * will mark the instance of "actually being used, please don't automatically close me"), there must be an internal
494
- * version called by those existing JsTable method, which will allow this instance to be cleaned up once the JsTable
495
- * deems it no longer in use.
496
- * <p>
497
- * Note that if the caller does close an instance, this shuts down the JsTable's use of this (while the converse is not
498
- * true), providing a way to stop the server from streaming updates to the client.
499
- *
500
- * This object serves as a "handle" to a subscription, allowing it to be acted on directly or canceled outright. If you
501
- * retain an instance of this, you have two choices - either only use it to call `close()` on it to stop the table's
502
- * viewport without creating a new one, or listen directly to this object instead of the table for data events, and
503
- * always call `close()` when finished. Calling any method on this object other than close() will result in it
504
- * continuing to live on after `setViewport` is called on the original table, or after the table is modified.
505
- */
506
- export interface TableViewportSubscription extends HasEventHandling {
507
- /**
508
- * Changes the rows and columns set on this viewport. This cannot be used to change the update interval.
509
- * @param firstRow -
510
- * @param lastRow -
511
- * @param columns -
512
- * @param updateIntervalMs -
513
- */
514
- setViewport(firstRow:number, lastRow:number, columns?:Column[]|undefined|null, updateIntervalMs?:number|undefined|null):void;
515
- /**
516
- * Stops this viewport from running, stopping all events on itself and on the table that created it.
517
- */
518
- close():void;
519
- /**
520
- * Gets the data currently visible in this viewport
521
- * @return Promise of {@link dh.TableData}.
522
- */
523
- getViewportData():Promise<TableData>;
524
- snapshot(rows:RangeSet, columns:Column[]):Promise<TableData>;
525
- }
526
- /**
527
- * Row implementation that also provides additional read-only properties. represents visible rows in the table,
528
- * but with additional properties to reflect the tree structure.
529
- */
530
- export interface TreeRow extends ViewportRow {
520
+ /**
521
+ * Row implementation that also provides additional read-only properties. represents visible rows in the table,
522
+ * but with additional properties to reflect the tree structure.
523
+ */
524
+ export interface TreeRow extends ViewportRow {
531
525
  /**
532
526
  * True if this node is currently expanded to show its children; false otherwise. Those children will be the
533
527
  * rows below this one with a greater depth than this one
@@ -549,49 +543,29 @@ export namespace dh {
549
543
  get index():LongWrapper;
550
544
  }
551
545
  /**
552
- * Wrap LocalDate values for use in JS. Provides text formatting for display and access to the underlying value.
546
+ * This object may be pooled internally or discarded and not updated. Do not retain references to it.
553
547
  */
554
- export interface LocalDateWrapper {
555
- valueOf():string;
556
- getYear():number;
557
- getMonthValue():number;
558
- getDayOfMonth():number;
559
- toString():string;
560
- }
561
- export interface WorkerHeapInfo {
548
+ export interface Format {
562
549
  /**
563
- * Total heap size available for this worker.
550
+ * The format string to apply to the value of this cell.
551
+ * @return String
564
552
  */
565
- get totalHeapSize():number;
566
- get freeMemory():number;
567
- get maximumHeapSize():number;
568
- }
569
- export interface Row {
570
- get(column:Column):any;
571
- getFormat(column:Column):Format;
572
- get index():LongWrapper;
573
- }
574
- /**
575
- * Contains data in the current viewport. Also contains the offset to this data, so that the actual row number may be
576
- * determined. Do not assume that the first row in `rows` is the first visible row, because extra rows may be provided
577
- * for easier scrolling without going to the server.
578
- */
579
- export interface ViewportData extends TableData {
553
+ readonly formatString?:string|null;
580
554
  /**
581
- * The index of the first returned row
582
- * @return double
555
+ * Color to apply to the cell's background, in <b>#rrggbb</b> format.
556
+ * @return String
583
557
  */
584
- get offset():number;
558
+ readonly backgroundColor?:string|null;
585
559
  /**
586
- * A list of columns describing the data types in each row
587
- * @return {@link dh.Column} array.
560
+ * Color to apply to the text, in <b>#rrggbb</b> format.
561
+ * @return String
588
562
  */
589
- get columns():Array<Column>;
563
+ readonly color?:string|null;
590
564
  /**
591
- * An array of rows of data
592
- * @return {@link dh.ViewportRow} array.
565
+ *
566
+ * @deprecated Prefer formatString. Number format string to apply to the value in this cell.
593
567
  */
594
- get rows():Array<ViewportRow>;
568
+ readonly numberFormat?:string|null;
595
569
  }
596
570
  /**
597
571
  * Javascript wrapper for {@link io.deephaven.web.shared.data.ColumnStatistics} This class holds the results of a call to generate statistics on a
@@ -621,43 +595,65 @@ export namespace dh {
621
595
  */
622
596
  get statisticsMap():Map<string, object>;
623
597
  }
598
+ export interface Row {
599
+ get(column:Column):any;
600
+ getFormat(column:Column):Format;
601
+ get index():LongWrapper;
602
+ }
624
603
  /**
625
- * This object may be pooled internally or discarded and not updated. Do not retain references to it.
604
+ * Wrap LocalDate values for use in JS. Provides text formatting for display and access to the underlying value.
626
605
  */
627
- export interface Format {
628
- /**
629
- * The format string to apply to the value of this cell.
630
- * @return String
631
- */
632
- readonly formatString?:string|null;
606
+ export interface LocalDateWrapper {
607
+ valueOf():string;
608
+ getYear():number;
609
+ getMonthValue():number;
610
+ getDayOfMonth():number;
611
+ toString():string;
612
+ }
613
+ /**
614
+ * Encapsulates event handling around table subscriptions by "cheating" and wrapping up a JsTable instance to do the
615
+ * real dirty work. This allows a viewport to stay open on the old table if desired, while this one remains open.
616
+ * <p>
617
+ * As this just wraps a JsTable (and thus a CTS), it holds its own flattened, pUT'd handle to get deltas from the
618
+ * server. The setViewport method can be used to adjust this table instead of creating a new one.
619
+ * <p>
620
+ * Existing methods on JsTable like setViewport and getViewportData are intended to proxy to this, which then will talk
621
+ * to the underlying handle and accumulated data.
622
+ * <p>
623
+ * As long as we keep the existing methods/events on JsTable, close() is not required if no other method is called, with
624
+ * the idea then that the caller did not actually use this type. This means that for every exported method (which then
625
+ * will mark the instance of "actually being used, please don't automatically close me"), there must be an internal
626
+ * version called by those existing JsTable method, which will allow this instance to be cleaned up once the JsTable
627
+ * deems it no longer in use.
628
+ * <p>
629
+ * Note that if the caller does close an instance, this shuts down the JsTable's use of this (while the converse is not
630
+ * true), providing a way to stop the server from streaming updates to the client.
631
+ *
632
+ * This object serves as a "handle" to a subscription, allowing it to be acted on directly or canceled outright. If you
633
+ * retain an instance of this, you have two choices - either only use it to call `close()` on it to stop the table's
634
+ * viewport without creating a new one, or listen directly to this object instead of the table for data events, and
635
+ * always call `close()` when finished. Calling any method on this object other than close() will result in it
636
+ * continuing to live on after `setViewport` is called on the original table, or after the table is modified.
637
+ */
638
+ export interface TableViewportSubscription extends HasEventHandling {
633
639
  /**
634
- * Color to apply to the cell's background, in <b>#rrggbb</b> format.
635
- * @return String
640
+ * Changes the rows and columns set on this viewport. This cannot be used to change the update interval.
641
+ * @param firstRow -
642
+ * @param lastRow -
643
+ * @param columns -
644
+ * @param updateIntervalMs -
636
645
  */
637
- readonly backgroundColor?:string|null;
646
+ setViewport(firstRow:number, lastRow:number, columns?:Column[]|undefined|null, updateIntervalMs?:number|undefined|null):void;
638
647
  /**
639
- * Color to apply to the text, in <b>#rrggbb</b> format.
640
- * @return String
648
+ * Stops this viewport from running, stopping all events on itself and on the table that created it.
641
649
  */
642
- readonly color?:string|null;
650
+ close():void;
643
651
  /**
644
- *
645
- * @deprecated Prefer formatString. Number format string to apply to the value in this cell.
652
+ * Gets the data currently visible in this viewport
653
+ * @return Promise of {@link dh.TableData}.
646
654
  */
647
- readonly numberFormat?:string|null;
648
- }
649
- /**
650
- * Common interface for various ways of accessing table data and formatting.
651
- *
652
- * Java note: this interface contains some extra overloads that aren't available in JS. Implementations are expected to
653
- * implement only abstract methods, and default methods present in this interface will dispatch accordingly.
654
- */
655
- export interface TableData {
656
- get(index:LongWrapper|number):Row;
657
- getData(index:LongWrapper|number, column:Column):any;
658
- getFormat(index:LongWrapper|number, column:Column):Format;
659
- get columns():Array<Column>;
660
- get rows():Array<Row>;
655
+ getViewportData():Promise<TableData>;
656
+ snapshot(rows:RangeSet, columns:Column[]):Promise<TableData>;
661
657
  }
662
658
  /**
663
659
  * Wrap LocalTime values for use in JS. Provides text formatting for display and access to the underlying value.
@@ -670,43 +666,115 @@ export namespace dh {
670
666
  getNano():number;
671
667
  toString():string;
672
668
  }
669
+ export interface RefreshToken {
670
+ get bytes():string;
671
+ get expiry():number;
672
+ }
673
673
 
674
- /**
675
- * Describes a Sort present on the table. No visible constructor, created through the use of Column.sort(), will be tied
676
- * to that particular column data. Sort instances are immutable, and use a builder pattern to make modifications. All
677
- * methods return a new Sort instance.
678
- */
679
- export class Sort {
680
- static readonly ASCENDING:string;
681
- static readonly DESCENDING:string;
682
- static readonly REVERSE:string;
674
+ export class IdeSession implements HasEventHandling {
675
+ static readonly EVENT_COMMANDSTARTED:string;
676
+ static readonly EVENT_REQUEST_FAILED:string;
683
677
 
684
678
  protected constructor();
685
679
 
686
680
  /**
687
- * Builds a Sort instance to sort values in ascending order.
688
- * @return {@link dh.Sort}
681
+ * Load the named table, with columns and size information already fully populated.
682
+ * @param name -
683
+ * @param applyPreviewColumns - optional boolean
684
+ * @return {@link Promise} of {@link dh.Table}
689
685
  */
690
- asc():Sort;
686
+ getTable(name:string, applyPreviewColumns?:boolean):Promise<Table>;
691
687
  /**
692
- * Builds a Sort instance to sort values in descending order.
693
- * @return {@link dh.Sort}
688
+ * Load the named Figure, including its tables and tablemaps as needed.
689
+ * @param name -
690
+ * @return promise of dh.plot.Figure
694
691
  */
695
- desc():Sort;
692
+ getFigure(name:string):Promise<dh.plot.Figure>;
696
693
  /**
697
- * Builds a Sort instance which takes the absolute value before applying order.
698
- * @return {@link dh.Sort}
694
+ * Loads the named tree table or roll-up table, with column data populated. All nodes are collapsed by default, and
695
+ * size is presently not available until the viewport is first set.
696
+ * @param name -
697
+ * @return {@link Promise} of {@link dh.TreeTable}
699
698
  */
700
- abs():Sort;
701
- toString():string;
699
+ getTreeTable(name:string):Promise<TreeTable>;
700
+ getHierarchicalTable(name:string):Promise<TreeTable>;
701
+ getPartitionedTable(name:string):Promise<PartitionedTable>;
702
+ getObject(definitionObject:dh.ide.VariableDescriptor):Promise<any>;
703
+ newTable(columnNames:string[], types:string[], data:string[][], userTimeZone:string):Promise<Table>;
702
704
  /**
703
- * True if the absolute value of the column should be used when sorting; defaults to false.
704
- * @return boolean
705
+ * Merges the given tables into a single table. Assumes all tables have the same structure.
706
+ * @param tables -
707
+ * @return {@link Promise} of {@link dh.Table}
705
708
  */
706
- get isAbs():boolean;
709
+ mergeTables(tables:Table[]):Promise<Table>;
710
+ bindTableToVariable(table:Table, name:string):Promise<void>;
711
+ subscribeToFieldUpdates(callback:(arg0:dh.ide.VariableChanges)=>void):()=>void;
712
+ close():void;
713
+ runCode(code:string):Promise<dh.ide.CommandResult>;
714
+ onLogMessage(callback:(arg0:dh.ide.LogItem)=>void):()=>void;
715
+ openDocument(params:object):void;
716
+ changeDocument(params:object):void;
717
+ getCompletionItems(params:object):Promise<Array<dh.lsp.CompletionItem>>;
718
+ getSignatureHelp(params:object):Promise<Array<dh.lsp.SignatureInformation>>;
719
+ getHover(params:object):Promise<dh.lsp.Hover>;
720
+ closeDocument(params:object):void;
707
721
  /**
708
- * The column which is sorted.
709
- * @return {@link dh.Column}
722
+ * Creates an empty table with the specified number of rows. Optionally columns and types may be specified, but all
723
+ * values will be null.
724
+ * @param size -
725
+ * @return {@link Promise} of {@link dh.Table}
726
+ */
727
+ emptyTable(size:number):Promise<Table>;
728
+ /**
729
+ * Creates a new table that ticks automatically every "periodNanos" nanoseconds. A start time may be provided; if so
730
+ * the table will be populated with the interval from the specified date until now.
731
+ * @param periodNanos -
732
+ * @param startTime -
733
+ * @return {@link Promise} of {@link dh.Table}
734
+ */
735
+ timeTable(periodNanos:number, startTime?:DateWrapper):Promise<Table>;
736
+ addEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):()=>void;
737
+ nextEvent<T>(eventName:string, timeoutInMillis?:number):Promise<CustomEvent<T>>;
738
+ hasListeners(name:string):boolean;
739
+ removeEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):boolean;
740
+ }
741
+
742
+ /**
743
+ * Describes a Sort present on the table. No visible constructor, created through the use of Column.sort(), will be tied
744
+ * to that particular column data. Sort instances are immutable, and use a builder pattern to make modifications. All
745
+ * methods return a new Sort instance.
746
+ */
747
+ export class Sort {
748
+ static readonly ASCENDING:string;
749
+ static readonly DESCENDING:string;
750
+ static readonly REVERSE:string;
751
+
752
+ protected constructor();
753
+
754
+ /**
755
+ * Builds a Sort instance to sort values in ascending order.
756
+ * @return {@link dh.Sort}
757
+ */
758
+ asc():Sort;
759
+ /**
760
+ * Builds a Sort instance to sort values in descending order.
761
+ * @return {@link dh.Sort}
762
+ */
763
+ desc():Sort;
764
+ /**
765
+ * Builds a Sort instance which takes the absolute value before applying order.
766
+ * @return {@link dh.Sort}
767
+ */
768
+ abs():Sort;
769
+ toString():string;
770
+ /**
771
+ * True if the absolute value of the column should be used when sorting; defaults to false.
772
+ * @return boolean
773
+ */
774
+ get isAbs():boolean;
775
+ /**
776
+ * The column which is sorted.
777
+ * @return {@link dh.Column}
710
778
  */
711
779
  get column():Column;
712
780
  /**
@@ -716,6 +784,424 @@ export namespace dh {
716
784
  get direction():string;
717
785
  }
718
786
 
787
+ export class DateWrapper extends LongWrapper {
788
+ protected constructor();
789
+
790
+ static ofJsDate(date:Date):DateWrapper;
791
+ asDate():Date;
792
+ }
793
+
794
+ export class QueryInfo {
795
+ static readonly EVENT_TABLE_OPENED:string;
796
+ static readonly EVENT_DISCONNECT:string;
797
+ static readonly EVENT_RECONNECT:string;
798
+ static readonly EVENT_CONNECT:string;
799
+
800
+ protected constructor();
801
+ }
802
+
803
+ /**
804
+ * Describes the structure of the column, and if desired can be used to get access to the data to be rendered in this
805
+ * column.
806
+ */
807
+ export class Column {
808
+ /**
809
+ * If this column is part of a roll-up tree table, represents the type of the row data that can be found in this
810
+ * column for leaf nodes if includeConstituents is enabled. Otherwise, it is <b>null</b>.
811
+ * @return String
812
+ */
813
+ readonly constituentType?:string|null;
814
+ readonly description?:string|null;
815
+
816
+ protected constructor();
817
+
818
+ /**
819
+ * the value for this column in the given row. Type will be consistent with the type of the Column.
820
+ * @param row -
821
+ * @return Any
822
+ */
823
+ get(row:Row):any;
824
+ getFormat(row:Row):Format;
825
+ /**
826
+ * Creates a sort builder object, to be used when sorting by this column.
827
+ * @return {@link dh.Sort}
828
+ */
829
+ sort():Sort;
830
+ /**
831
+ * Creates a new value for use in filters based on this column. Used either as a parameter to another filter
832
+ * operation, or as a builder to create a filter operation.
833
+ * @return {@link dh.FilterValue}
834
+ */
835
+ filter():FilterValue;
836
+ /**
837
+ * a <b>CustomColumn</b> object to apply using `applyCustomColumns` with the expression specified.
838
+ * @param expression -
839
+ * @return {@link dh.CustomColumn}
840
+ */
841
+ formatColor(expression:string):CustomColumn;
842
+ /**
843
+ * a <b>CustomColumn</b> object to apply using <b>applyCustomColumns</b> with the expression specified.
844
+ * @param expression -
845
+ * @return {@link dh.CustomColumn}
846
+ */
847
+ formatNumber(expression:string):CustomColumn;
848
+ /**
849
+ * a <b>CustomColumn</b> object to apply using <b>applyCustomColumns</b> with the expression specified.
850
+ * @param expression -
851
+ * @return {@link dh.CustomColumn}
852
+ */
853
+ formatDate(expression:string):CustomColumn;
854
+ toString():string;
855
+ /**
856
+ * Label for this column.
857
+ * @return String
858
+ */
859
+ get name():string;
860
+ /**
861
+ * True if this column is a partition column. Partition columns are used for filtering uncoalesced tables (see
862
+ * <b>isUncoalesced</b> property on <b>Table</b>)
863
+ * @return boolean
864
+ */
865
+ get isPartitionColumn():boolean;
866
+ /**
867
+ *
868
+ * @deprecated do not use. Internal index of the column in the table, to be used as a key on the Row.
869
+ * @return int
870
+ */
871
+ get index():number;
872
+ get isSortable():boolean;
873
+ /**
874
+ * Type of the row data that can be found in this column.
875
+ * @return String
876
+ */
877
+ get type():string;
878
+ /**
879
+ * Format entire rows colors using the expression specified. Returns a <b>CustomColumn</b> object to apply to a
880
+ * table using <b>applyCustomColumns</b> with the parameters specified.
881
+ * @param expression -
882
+ * @return {@link dh.CustomColumn}
883
+ */
884
+ static formatRowColor(expression:string):CustomColumn;
885
+ /**
886
+ * a <b>CustomColumn</b> object to apply using <b>applyCustomColumns</b> with the expression specified.
887
+ * @param name -
888
+ * @param expression -
889
+ * @return {@link dh.CustomColumn}
890
+ */
891
+ static createCustomColumn(name:string, expression:string):CustomColumn;
892
+ }
893
+
894
+ /**
895
+ * Exists to keep the dh.TableMap namespace so that the web UI can remain compatible with the DHE API, which still calls
896
+ * this type TableMap.
897
+ * @deprecated
898
+ */
899
+ export class TableMap {
900
+ static readonly EVENT_KEYADDED:string;
901
+ static readonly EVENT_DISCONNECT:string;
902
+ static readonly EVENT_RECONNECT:string;
903
+ static readonly EVENT_RECONNECTFAILED:string;
904
+
905
+ protected constructor();
906
+ }
907
+
908
+ /**
909
+ * A js type for operating on input tables.
910
+ *
911
+ * Represents a User Input Table, which can have data added to it from other sources.
912
+ *
913
+ * You may add rows using dictionaries of key-value tuples (representing columns by name), add tables containing all the
914
+ * key/value columns to add, or delete tables containing the keys to delete. Each operation is atomic, and will either
915
+ * succeed completely or fail completely. To guarantee order of operations, apply an operation and wait for the response
916
+ * before sending the next operation.
917
+ *
918
+ * Each table has one or more key columns, where each unique combination of keys will appear at most once in the table.
919
+ *
920
+ * To view the results of the Input Table, you should use standard table operations on the InputTable's source Table
921
+ * object.
922
+ */
923
+ export class InputTable {
924
+ protected constructor();
925
+
926
+ /**
927
+ * Adds a single row to the table. For each key or value column name in the Input Table, we retrieve that javascript
928
+ * property at that name and validate it can be put into the given column type.
929
+ * @param row -
930
+ * @param userTimeZone -
931
+ * @return Promise of dh.InputTable
932
+ */
933
+ addRow(row:{ [key: string]: any; }, userTimeZone?:string):Promise<InputTable>;
934
+ /**
935
+ * Add multiple rows to a table.
936
+ * @param rows -
937
+ * @param userTimeZone -
938
+ * @return Promise of dh.InputTable
939
+ */
940
+ addRows(rows:{ [key: string]: any; }[], userTimeZone?:string):Promise<InputTable>;
941
+ /**
942
+ * Add an entire table to this Input Table. Only column names that match the definition of the input table will be
943
+ * copied, and all key columns must have values filled in. This only copies the current state of the source table;
944
+ * future updates to the source table will not be reflected in the Input Table. The returned promise will be
945
+ * resolved to the same InputTable instance this method was called upon once the server returns.
946
+ * @param tableToAdd -
947
+ * @return Promise of dh.InputTable
948
+ */
949
+ addTable(tableToAdd:Table):Promise<InputTable>;
950
+ /**
951
+ * Add multiple tables to this Input Table.
952
+ * @param tablesToAdd -
953
+ * @return Promise of dh.InputTable
954
+ */
955
+ addTables(tablesToAdd:Table[]):Promise<InputTable>;
956
+ /**
957
+ * Deletes an entire table from this Input Table. Key columns must match the Input Table.
958
+ * @param tableToDelete -
959
+ * @return Promise of dh.InputTable
960
+ */
961
+ deleteTable(tableToDelete:Table):Promise<InputTable>;
962
+ /**
963
+ * Delete multiple tables from this Input Table.
964
+ * @param tablesToDelete -
965
+ * @return
966
+ */
967
+ deleteTables(tablesToDelete:Table[]):Promise<InputTable>;
968
+ /**
969
+ * A list of the key columns, by name
970
+ * @return String array.
971
+ */
972
+ get keys():string[];
973
+ /**
974
+ * A list of the value columns, by name
975
+ * @return String array.
976
+ */
977
+ get values():string[];
978
+ /**
979
+ * A list of the key Column objects
980
+ * @return {@link dh.Column} array.
981
+ */
982
+ get keyColumns():Column[];
983
+ /**
984
+ * A list of the value Column objects
985
+ * @return {@link dh.Column} array.
986
+ */
987
+ get valueColumns():Column[];
988
+ /**
989
+ * The source table for this Input Table
990
+ * @return dh.table
991
+ */
992
+ get table():Table;
993
+ }
994
+
995
+ /**
996
+ * Represents a non-viewport subscription to a table, and all data currently known to be present in the subscribed
997
+ * columns. This class handles incoming snapshots and deltas, and fires events to consumers to notify of data changes.
998
+ *
999
+ * Unlike {@link dh.TableViewportSubscription}, the "original" table does not have a reference to this instance, only the
1000
+ * "private" table instance does, since the original cannot modify the subscription, and the private instance must
1001
+ * forward data to it.
1002
+ *
1003
+ * Represents a subscription to the table on the server. Changes made to the table will not be reflected here - the
1004
+ * subscription must be closed and a new one optioned to see those changes. The event model is slightly different from
1005
+ * viewports to make it less expensive to compute for large tables.
1006
+ */
1007
+ export class TableSubscription implements HasEventHandling {
1008
+ /**
1009
+ * Indicates that some new data is available on the client, either an initial snapshot or a delta update. The
1010
+ * <b>detail</b> field of the event will contain a TableSubscriptionEventData detailing what has changed, or
1011
+ * allowing access to the entire range of items currently in the subscribed columns.
1012
+ */
1013
+ static readonly EVENT_UPDATED:string;
1014
+
1015
+ protected constructor();
1016
+
1017
+ /**
1018
+ * Stops the subscription on the server.
1019
+ */
1020
+ close():void;
1021
+ addEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):()=>void;
1022
+ nextEvent<T>(eventName:string, timeoutInMillis?:number):Promise<CustomEvent<T>>;
1023
+ hasListeners(name:string):boolean;
1024
+ removeEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):boolean;
1025
+ /**
1026
+ * The columns that were subscribed to when this subscription was created
1027
+ * @return {@link dh.Column}
1028
+ */
1029
+ get columns():Array<Column>;
1030
+ }
1031
+
1032
+ /**
1033
+ * Wrap BigInteger values for use in JS. Provides text formatting for display and access to the underlying value.
1034
+ */
1035
+ export class BigIntegerWrapper {
1036
+ protected constructor();
1037
+
1038
+ static ofString(str:string):BigIntegerWrapper;
1039
+ asNumber():number;
1040
+ valueOf():string;
1041
+ toString():string;
1042
+ }
1043
+
1044
+ /**
1045
+ * Represents a set of Tables each corresponding to some key. The keys are available locally, but a call must be made to
1046
+ * the server to get each Table. All tables will have the same structure.
1047
+ */
1048
+ export class PartitionedTable implements HasEventHandling {
1049
+ /**
1050
+ * Indicates that a new key has been added to the array of keys, which can now be fetched with getTable.
1051
+ */
1052
+ static readonly EVENT_KEYADDED:string;
1053
+ /**
1054
+ * Indicates that a new key has been added to the array of keys, which can now be fetched with getTable.
1055
+ */
1056
+ static readonly EVENT_DISCONNECT:string;
1057
+ /**
1058
+ * Indicates that a new key has been added to the array of keys, which can now be fetched with getTable.
1059
+ */
1060
+ static readonly EVENT_RECONNECT:string;
1061
+ /**
1062
+ * Indicates that a new key has been added to the array of keys, which can now be fetched with getTable.
1063
+ */
1064
+ static readonly EVENT_RECONNECTFAILED:string;
1065
+
1066
+ protected constructor();
1067
+
1068
+ typedTicket():dhinternal.io.deephaven.proto.ticket_pb.TypedTicket;
1069
+ /**
1070
+ * Fetch the table with the given key. If the key does not exist, returns `null`.
1071
+ * @param key - The key to fetch. An array of values for each key column, in the same order as the key columns are.
1072
+ * @return Promise of dh.Table, or `null` if the key does not exist.
1073
+ */
1074
+ getTable(key:object):Promise<Table|undefined|null>;
1075
+ /**
1076
+ * Open a new table that is the result of merging all constituent tables. See
1077
+ * {@link io.deephaven.engine.table.PartitionedTable#merge()} for details.
1078
+ * @return A merged representation of the constituent tables.
1079
+ */
1080
+ getMergedTable():Promise<Table>;
1081
+ /**
1082
+ * The set of all currently known keys. This is kept up to date, so getting the list after adding an event listener
1083
+ * for <b>keyadded</b> will ensure no keys are missed.
1084
+ * @return Set of Object
1085
+ */
1086
+ getKeys():Set<object>;
1087
+ /**
1088
+ * Fetch a table containing all the valid keys of the partitioned table.
1089
+ * @return Promise of a Table
1090
+ */
1091
+ getKeyTable():Promise<Table>;
1092
+ /**
1093
+ * Indicates that this PartitionedTable will no longer be used, removing subcriptions to updated keys, etc. This
1094
+ * will not affect tables in use.
1095
+ */
1096
+ close():void;
1097
+ /**
1098
+ * The count of known keys.
1099
+ * @return int
1100
+ */
1101
+ get size():number;
1102
+ /**
1103
+ * An array of the columns in the tables that can be retrieved from this partitioned table, including both key and
1104
+ * non-key columns.
1105
+ * @return Array of Column
1106
+ */
1107
+ get columns():Column[];
1108
+ /**
1109
+ * An array of all the key columns that the tables are partitioned by.
1110
+ * @return Array of Column
1111
+ */
1112
+ get keyColumns():Column[];
1113
+ /**
1114
+ * Listen for events on this object.
1115
+ * @param name - the name of the event to listen for
1116
+ * @param callback - a function to call when the event occurs
1117
+ * @return Returns a cleanup function.
1118
+ * @typeParam T - the type of the data that the event will provide
1119
+ */
1120
+ addEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):()=>void;
1121
+ nextEvent<T>(eventName:string, timeoutInMillis?:number):Promise<CustomEvent<T>>;
1122
+ hasListeners(name:string):boolean;
1123
+ /**
1124
+ * Removes an event listener added to this table.
1125
+ * @param name -
1126
+ * @param callback -
1127
+ * @return
1128
+ * @typeParam T -
1129
+ */
1130
+ removeEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):boolean;
1131
+ }
1132
+
1133
+ /**
1134
+ * Presently, this is the entrypoint into the Deephaven JS API. By creating an instance of this with the server URL and
1135
+ * some options, JS applications can run code on the server, and interact with available exportable objects.
1136
+ */
1137
+ export class IdeConnection implements HasEventHandling {
1138
+ /**
1139
+ * @deprecated
1140
+ */
1141
+ static readonly HACK_CONNECTION_FAILURE:string;
1142
+ static readonly EVENT_DISCONNECT:string;
1143
+ static readonly EVENT_RECONNECT:string;
1144
+ static readonly EVENT_SHUTDOWN:string;
1145
+
1146
+ /**
1147
+ * creates a new instance, from which console sessions can be made. <b>options</b> are optional.
1148
+ * @param serverUrl - The url used when connecting to the server. Read-only.
1149
+ * @param connectOptions - Optional Object
1150
+ * @param fromJava - Optional boolean
1151
+ * @deprecated
1152
+ */
1153
+ constructor(serverUrl:string, connectOptions?:ConnectOptions, fromJava?:boolean);
1154
+
1155
+ /**
1156
+ * closes the current connection, releasing any resources on the server or client.
1157
+ */
1158
+ close():void;
1159
+ running():Promise<IdeConnection>;
1160
+ getObject(definitionObject:dh.ide.VariableDescriptor):Promise<any>;
1161
+ subscribeToFieldUpdates(callback:(arg0:dh.ide.VariableChanges)=>void):()=>void;
1162
+ /**
1163
+ * Register a callback function to handle any log messages that are emitted on the server. Returns a function ,
1164
+ * which can be invoked to remove this log handler. Any log handler registered in this way will receive as many old
1165
+ * log messages as are presently available.
1166
+ * @param callback -
1167
+ * @return {@link io.deephaven.web.shared.fu.JsRunnable}
1168
+ */
1169
+ onLogMessage(callback:(arg0:dh.ide.LogItem)=>void):()=>void;
1170
+ startSession(type:string):Promise<IdeSession>;
1171
+ getConsoleTypes():Promise<Array<string>>;
1172
+ getWorkerHeapInfo():Promise<WorkerHeapInfo>;
1173
+ /**
1174
+ * Listen for events on this object.
1175
+ * @param name - the name of the event to listen for
1176
+ * @param callback - a function to call when the event occurs
1177
+ * @return Returns a cleanup function.
1178
+ * @typeParam T - the type of the data that the event will provide
1179
+ */
1180
+ addEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):()=>void;
1181
+ nextEvent<T>(eventName:string, timeoutInMillis?:number):Promise<CustomEvent<T>>;
1182
+ hasListeners(name:string):boolean;
1183
+ /**
1184
+ * Removes an event listener added to this table.
1185
+ * @param name -
1186
+ * @param callback -
1187
+ * @return
1188
+ * @typeParam T -
1189
+ */
1190
+ removeEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):boolean;
1191
+ }
1192
+
1193
+ /**
1194
+ * Deprecated for use in Deephaven Core.
1195
+ * @deprecated
1196
+ */
1197
+ export class Client {
1198
+ static readonly EVENT_REQUEST_FAILED:string;
1199
+ static readonly EVENT_REQUEST_STARTED:string;
1200
+ static readonly EVENT_REQUEST_SUCCEEDED:string;
1201
+
1202
+ constructor();
1203
+ }
1204
+
719
1205
  export class CoreClient implements HasEventHandling {
720
1206
  static readonly EVENT_CONNECT:string;
721
1207
  static readonly EVENT_DISCONNECT:string;
@@ -747,99 +1233,76 @@ export namespace dh {
747
1233
  }
748
1234
 
749
1235
  /**
750
- * Configuration object for running Table.treeTable to produce a hierarchical view of a given "flat" table.
751
- *
752
- * Like TotalsTableConfig, `TreeTableConfig` supports an operation map indicating how to aggregate the data, as well as
753
- * an array of column names which will be the layers in the roll-up tree, grouped at each level. An additional optional
754
- * value can be provided describing the strategy the engine should use when grouping the rows.
1236
+ * Describes a filter which can be applied to a table. Replacing these instances may be more expensive than reusing
1237
+ * them. These instances are immutable - all operations that compose them to build bigger expressions return a new
1238
+ * instance.
755
1239
  */
756
- export class TreeTableConfig {
757
- /**
758
- * The column representing the unique ID for each item
759
- */
760
- idColumn:string;
761
- /**
762
- * The column representing the parent ID for each item
763
- */
764
- parentColumn:string;
765
- /**
766
- * Optional parameter indicating if items with an invalid parent ID should be promoted to root. Defaults to false.
767
- */
768
- promoteOrphansToRoot:boolean;
769
-
770
- constructor();
771
- }
772
-
773
- export class LongWrapper {
1240
+ export class FilterCondition {
774
1241
  protected constructor();
775
1242
 
776
- static ofString(str:string):LongWrapper;
777
- asNumber():number;
778
- valueOf():string;
779
- toString():string;
780
- }
781
-
782
- /**
783
- * Represents a non-viewport subscription to a table, and all data currently known to be present in the subscribed
784
- * columns. This class handles incoming snapshots and deltas, and fires events to consumers to notify of data changes.
785
- *
786
- * Unlike {@link dh.TableViewportSubscription}, the "original" table does not have a reference to this instance, only the
787
- * "private" table instance does, since the original cannot modify the subscription, and the private instance must
788
- * forward data to it.
789
- *
790
- * Represents a subscription to the table on the server. Changes made to the table will not be reflected here - the
791
- * subscription must be closed and a new one optioned to see those changes. The event model is slightly different from
792
- * viewports to make it less expensive to compute for large tables.
793
- */
794
- export class TableSubscription implements HasEventHandling {
795
1243
  /**
796
- * Indicates that some new data is available on the client, either an initial snapshot or a delta update. The
797
- * <b>detail</b> field of the event will contain a TableSubscriptionEventData detailing what has changed, or
798
- * allowing access to the entire range of items currently in the subscribed columns.
1244
+ * the opposite of this condition
1245
+ * @return FilterCondition
799
1246
  */
800
- static readonly EVENT_UPDATED:string;
801
-
802
- protected constructor();
803
-
1247
+ not():FilterCondition;
804
1248
  /**
805
- * Stops the subscription on the server.
1249
+ * a condition representing the current condition logically ANDed with the other parameters
1250
+ * @param filters -
1251
+ * @return FilterCondition
806
1252
  */
807
- close():void;
808
- addEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):()=>void;
809
- nextEvent<T>(eventName:string, timeoutInMillis?:number):Promise<CustomEvent<T>>;
810
- hasListeners(name:string):boolean;
811
- removeEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):boolean;
1253
+ and(...filters:FilterCondition[]):FilterCondition;
812
1254
  /**
813
- * The columns that were subscribed to when this subscription was created
814
- * @return {@link dh.Column}
1255
+ * a condition representing the current condition logically ORed with the other parameters
1256
+ * @param filters -
1257
+ * @return FilterCondition.
1258
+ */
1259
+ or(...filters:FilterCondition[]):FilterCondition;
1260
+ /**
1261
+ * a string suitable for debugging showing the details of this condition.
1262
+ * @return String.
815
1263
  */
1264
+ toString():string;
816
1265
  get columns():Array<Column>;
817
- }
818
-
819
- /**
820
- * This class allows iteration over non-contiguous indexes. In the future, this will support the EcmaScript 2015
821
- * Iteration protocol, but for now has one method which returns an iterator, and also supports querying the size.
822
- * Additionally, we may add support for creating RangeSet objects to better serve some use cases.
823
- */
824
- export class RangeSet {
825
- protected constructor();
826
-
827
- static ofRange(first:number, last:number):RangeSet;
828
- static ofItems(rows:number[]):RangeSet;
829
- static ofRanges(ranges:RangeSet[]):RangeSet;
830
- static ofSortedRanges(ranges:RangeSet[]):RangeSet;
831
1266
  /**
832
- * a new iterator over all indexes in this collection.
833
- * @return Iterator of {@link dh.LongWrapper}
1267
+ * a filter condition invoking a static function with the given parameters. Currently supported Deephaven static
1268
+ * functions:
1269
+ * <ul>
1270
+ * <li><b>inRange</b>: Given three comparable values, returns true if the first is less than the second but greater
1271
+ * than the third</li>
1272
+ * <li><b>isInf</b>:Returns true if the given number is <i>infinity</i></li>
1273
+ * <li><b>isNaN</b>:Returns true if the given number is <i>not a number</i></li>
1274
+ * <li><b>isNormal</b>:Returns true if the given number <i>is not null</i>, <i>is not infinity</i>, and <i>is not
1275
+ * "not a number"</i></li>
1276
+ * <li><b>startsWith</b>:Returns true if the first string starts with the second string</li>
1277
+ * <li><b>endsWith</b>Returns true if the first string ends with the second string</li>
1278
+ * <li><b>matches</b>:Returns true if the first string argument matches the second string used as a Java regular
1279
+ * expression</li>
1280
+ * <li><b>contains</b>:Returns true if the first string argument contains the second string as a substring</li>
1281
+ * <li><b>in</b>:Returns true if the first string argument can be found in the second array argument.
1282
+ * <p>
1283
+ * Note that the array can only be specified as a column reference at this time - typically the `FilterValue.in`
1284
+ * method should be used in other cases
1285
+ * </p>
1286
+ * </li>
1287
+ * </ul>
1288
+ * @param function -
1289
+ * @param args -
1290
+ * @return dh.FilterCondition
834
1291
  */
835
- iterator():Iterator<LongWrapper>;
1292
+ static invoke(func:string, ...args:FilterValue[]):FilterCondition;
836
1293
  /**
837
- * The total count of items contained in this collection. In some cases this can be expensive to compute, and
838
- * generally should not be needed except for debugging purposes, or preallocating space (i.e., do not call this
839
- * property each time through a loop).
840
- * @return double
1294
+ * a filter condition which will check if the given value can be found in any supported column on whatever table
1295
+ * this FilterCondition is passed to. This FilterCondition is somewhat unique in that it need not be given a column
1296
+ * instance, but will adapt to any table. On numeric columns, with a value passed in which can be parsed as a
1297
+ * number, the column will be filtered to numbers which equal, or can be "rounded" effectively to this number. On
1298
+ * String columns, the given value will match any column which contains this string in a case-insensitive search. An
1299
+ * optional second argument can be passed, an array of `FilterValue` from the columns to limit this search to (see
1300
+ * {@link dh.Column.filter}).
1301
+ * @param value -
1302
+ * @param columns -
1303
+ * @return dh.FilterCondition
841
1304
  */
842
- get size():number;
1305
+ static search(value:FilterValue, columns?:FilterValue[]):FilterCondition;
843
1306
  }
844
1307
 
845
1308
  /**
@@ -1105,161 +1568,82 @@ export namespace dh {
1105
1568
  get totalSize():number;
1106
1569
  /**
1107
1570
  * The total count of rows in the table. The size can and will change; see the <b>sizechanged</b> event for details.
1108
- * Size will be negative in exceptional cases (e.g., the table is uncoalesced; see the <b>isUncoalesced</b>
1109
- * property). for details).
1110
- * @return double
1111
- */
1112
- get size():number;
1113
- /**
1114
- * True if this table has been closed.
1115
- * @return boolean
1116
- */
1117
- get isClosed():boolean;
1118
- /**
1119
- * Read-only. True if this table is uncoalesced. Set a viewport or filter on the partition columns to coalesce the
1120
- * table. Check the <b>isPartitionColumn</b> property on the table columns to retrieve the partition columns. Size
1121
- * will be unavailable until table is coalesced.
1122
- * @return boolean
1123
- */
1124
- get isUncoalesced():boolean;
1125
- /**
1126
- * Listen for events on this object.
1127
- * @param name - the name of the event to listen for
1128
- * @param callback - a function to call when the event occurs
1129
- * @return Returns a cleanup function.
1130
- * @typeParam T - the type of the data that the event will provide
1131
- */
1132
- addEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):()=>void;
1133
- nextEvent<T>(eventName:string, timeoutInMillis?:number):Promise<CustomEvent<T>>;
1134
- hasListeners(name:string):boolean;
1135
- /**
1136
- * Removes an event listener added to this table.
1137
- * @param name -
1138
- * @param callback -
1139
- * @return
1140
- * @typeParam T -
1141
- */
1142
- removeEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):boolean;
1143
- /**
1144
- * a Sort than can be used to reverse a table. This can be passed into n array in applySort. Note that Tree Tables
1145
- * do not support reverse.
1146
- * @return {@link dh.Sort}
1147
- */
1148
- static reverse():Sort;
1149
- }
1150
-
1151
-
1152
- /**
1153
- * Event fired when a command is issued from the client.
1154
- */
1155
- export class CommandInfo {
1156
- constructor(code:string, result:Promise<dh.ide.CommandResult>);
1157
-
1158
- get result():Promise<dh.ide.CommandResult>;
1159
- get code():string;
1160
- }
1161
-
1162
- /**
1163
- * Deprecated for use in Deephaven Core.
1164
- * @deprecated
1165
- */
1166
- export class Client {
1167
- static readonly EVENT_REQUEST_FAILED:string;
1168
- static readonly EVENT_REQUEST_STARTED:string;
1169
- static readonly EVENT_REQUEST_SUCCEEDED:string;
1170
-
1171
- constructor();
1172
- }
1173
-
1174
- export class IdeSession implements HasEventHandling {
1175
- static readonly EVENT_COMMANDSTARTED:string;
1176
- static readonly EVENT_REQUEST_FAILED:string;
1177
-
1178
- protected constructor();
1179
-
1180
- /**
1181
- * Load the named table, with columns and size information already fully populated.
1182
- * @param name -
1183
- * @param applyPreviewColumns - optional boolean
1184
- * @return {@link Promise} of {@link dh.Table}
1185
- */
1186
- getTable(name:string, applyPreviewColumns?:boolean):Promise<Table>;
1187
- /**
1188
- * Load the named Figure, including its tables and tablemaps as needed.
1189
- * @param name -
1190
- * @return promise of dh.plot.Figure
1191
- */
1192
- getFigure(name:string):Promise<dh.plot.Figure>;
1193
- /**
1194
- * Loads the named tree table or roll-up table, with column data populated. All nodes are collapsed by default, and
1195
- * size is presently not available until the viewport is first set.
1196
- * @param name -
1197
- * @return {@link Promise} of {@link dh.TreeTable}
1198
- */
1199
- getTreeTable(name:string):Promise<TreeTable>;
1200
- getHierarchicalTable(name:string):Promise<TreeTable>;
1201
- getPartitionedTable(name:string):Promise<PartitionedTable>;
1202
- getObject(definitionObject:dh.ide.VariableDescriptor):Promise<any>;
1203
- newTable(columnNames:string[], types:string[], data:string[][], userTimeZone:string):Promise<Table>;
1204
- /**
1205
- * Merges the given tables into a single table. Assumes all tables have the same structure.
1206
- * @param tables -
1207
- * @return {@link Promise} of {@link dh.Table}
1208
- */
1209
- mergeTables(tables:Table[]):Promise<Table>;
1210
- bindTableToVariable(table:Table, name:string):Promise<void>;
1211
- subscribeToFieldUpdates(callback:(arg0:dh.ide.VariableChanges)=>void):()=>void;
1212
- close():void;
1213
- runCode(code:string):Promise<dh.ide.CommandResult>;
1214
- onLogMessage(callback:(arg0:dh.ide.LogItem)=>void):()=>void;
1215
- openDocument(params:object):void;
1216
- changeDocument(params:object):void;
1217
- getCompletionItems(params:object):Promise<Array<dh.lsp.CompletionItem>>;
1218
- getSignatureHelp(params:object):Promise<Array<dh.lsp.SignatureInformation>>;
1219
- getHover(params:object):Promise<dh.lsp.Hover>;
1220
- closeDocument(params:object):void;
1571
+ * Size will be negative in exceptional cases (e.g., the table is uncoalesced; see the <b>isUncoalesced</b>
1572
+ * property). for details).
1573
+ * @return double
1574
+ */
1575
+ get size():number;
1221
1576
  /**
1222
- * Creates an empty table with the specified number of rows. Optionally columns and types may be specified, but all
1223
- * values will be null.
1224
- * @param size -
1225
- * @return {@link Promise} of {@link dh.Table}
1577
+ * True if this table has been closed.
1578
+ * @return boolean
1226
1579
  */
1227
- emptyTable(size:number):Promise<Table>;
1580
+ get isClosed():boolean;
1228
1581
  /**
1229
- * Creates a new table that ticks automatically every "periodNanos" nanoseconds. A start time may be provided; if so
1230
- * the table will be populated with the interval from the specified date until now.
1231
- * @param periodNanos -
1232
- * @param startTime -
1233
- * @return {@link Promise} of {@link dh.Table}
1582
+ * Read-only. True if this table is uncoalesced. Set a viewport or filter on the partition columns to coalesce the
1583
+ * table. Check the <b>isPartitionColumn</b> property on the table columns to retrieve the partition columns. Size
1584
+ * will be unavailable until table is coalesced.
1585
+ * @return boolean
1586
+ */
1587
+ get isUncoalesced():boolean;
1588
+ /**
1589
+ * Listen for events on this object.
1590
+ * @param name - the name of the event to listen for
1591
+ * @param callback - a function to call when the event occurs
1592
+ * @return Returns a cleanup function.
1593
+ * @typeParam T - the type of the data that the event will provide
1234
1594
  */
1235
- timeTable(periodNanos:number, startTime?:DateWrapper):Promise<Table>;
1236
1595
  addEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):()=>void;
1237
1596
  nextEvent<T>(eventName:string, timeoutInMillis?:number):Promise<CustomEvent<T>>;
1238
1597
  hasListeners(name:string):boolean;
1598
+ /**
1599
+ * Removes an event listener added to this table.
1600
+ * @param name -
1601
+ * @param callback -
1602
+ * @return
1603
+ * @typeParam T -
1604
+ */
1239
1605
  removeEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):boolean;
1606
+ /**
1607
+ * a Sort than can be used to reverse a table. This can be passed into n array in applySort. Note that Tree Tables
1608
+ * do not support reverse.
1609
+ * @return {@link dh.Sort}
1610
+ */
1611
+ static reverse():Sort;
1240
1612
  }
1241
1613
 
1242
- export class QueryInfo {
1243
- static readonly EVENT_TABLE_OPENED:string;
1244
- static readonly EVENT_DISCONNECT:string;
1245
- static readonly EVENT_RECONNECT:string;
1246
- static readonly EVENT_CONNECT:string;
1247
-
1248
- protected constructor();
1249
- }
1250
1614
 
1251
- /**
1252
- * Exists to keep the dh.TableMap namespace so that the web UI can remain compatible with the DHE API, which still calls
1253
- * this type TableMap.
1254
- * @deprecated
1255
- */
1256
- export class TableMap {
1257
- static readonly EVENT_KEYADDED:string;
1258
- static readonly EVENT_DISCONNECT:string;
1259
- static readonly EVENT_RECONNECT:string;
1260
- static readonly EVENT_RECONNECTFAILED:string;
1615
+ export class CustomColumn {
1616
+ static readonly TYPE_FORMAT_COLOR:string;
1617
+ static readonly TYPE_FORMAT_NUMBER:string;
1618
+ static readonly TYPE_FORMAT_DATE:string;
1619
+ static readonly TYPE_NEW:string;
1261
1620
 
1262
1621
  protected constructor();
1622
+
1623
+ valueOf():string;
1624
+ toString():string;
1625
+ /**
1626
+ * The expression to evaluate this custom column.
1627
+ * @return String
1628
+ */
1629
+ get expression():string;
1630
+ /**
1631
+ * The name of the column to use.
1632
+ * @return String
1633
+ */
1634
+ get name():string;
1635
+ /**
1636
+ * Type of custom column. One of
1637
+ *
1638
+ * <ul>
1639
+ * <li>FORMAT_COLOR</li>
1640
+ * <li>FORMAT_NUMBER</li>
1641
+ * <li>FORMAT_DATE</li>
1642
+ * <li>NEW</li>
1643
+ * </ul>
1644
+ * @return String
1645
+ */
1646
+ get type():string;
1263
1647
  }
1264
1648
 
1265
1649
  /**
@@ -1353,268 +1737,100 @@ export namespace dh {
1353
1737
  get type():string;
1354
1738
  }
1355
1739
 
1356
- export class DateWrapper extends LongWrapper {
1357
- protected constructor();
1358
-
1359
- static ofJsDate(date:Date):DateWrapper;
1360
- asDate():Date;
1361
- }
1362
-
1363
1740
  /**
1364
- * Presently optional and not used by the server, this allows the client to specify some authentication details. String
1365
- * authToken <i>- base 64 encoded auth token. String serviceId -</i> The service ID to use for the connection.
1741
+ * Wrap BigDecimal values for use in JS. Provides text formatting for display and access to the underlying value.
1366
1742
  */
1367
- export class ConnectOptions {
1368
- headers:{ [key: string]: string; };
1369
-
1370
- constructor();
1371
- }
1372
-
1373
- export class CustomColumn {
1374
- static readonly TYPE_FORMAT_COLOR:string;
1375
- static readonly TYPE_FORMAT_NUMBER:string;
1376
- static readonly TYPE_FORMAT_DATE:string;
1377
- static readonly TYPE_NEW:string;
1378
-
1743
+ export class BigDecimalWrapper {
1379
1744
  protected constructor();
1380
1745
 
1746
+ static ofString(value:string):BigDecimalWrapper;
1747
+ asNumber():number;
1381
1748
  valueOf():string;
1382
1749
  toString():string;
1383
- /**
1384
- * The expression to evaluate this custom column.
1385
- * @return String
1386
- */
1387
- get expression():string;
1388
- /**
1389
- * The name of the column to use.
1390
- * @return String
1391
- */
1392
- get name():string;
1393
- /**
1394
- * Type of custom column. One of
1395
- *
1396
- * <ul>
1397
- * <li>FORMAT_COLOR</li>
1398
- * <li>FORMAT_NUMBER</li>
1399
- * <li>FORMAT_DATE</li>
1400
- * <li>NEW</li>
1401
- * </ul>
1402
- * @return String
1403
- */
1404
- get type():string;
1405
1750
  }
1406
1751
 
1407
1752
  /**
1408
- * Behaves like a {@link dh.Table} externally, but data, state, and viewports are managed by an entirely different
1409
- * mechanism, and so reimplemented here.
1410
- * <p>
1411
- * Any time a change is made, we build a new request and send it to the server, and wait for the updated state.
1412
- * <p>
1413
- * Semantics around getting updates from the server are slightly different - we don't "unset" the viewport here after
1414
- * operations are performed, but encourage the client code to re-set them to the desired position.
1415
- * <p>
1416
- * The table size will be -1 until a viewport has been fetched.
1417
- * <p>
1418
- * Similar to a table, a Tree Table provides access to subscribed viewport data on the current hierarchy. A different
1419
- * Row type is used within that viewport, showing the depth of that node within the tree and indicating details about
1420
- * whether it has children or is expanded. The Tree Table itself then provides the ability to change if a row is
1421
- * expanded or not. Methods used to control or check if a row should be expanded or not can be invoked on a TreeRow
1422
- * instance, or on the number of the row (thus allowing for expanding/collapsing rows which are not currently visible in
1423
- * the viewport).
1424
- * <p>
1425
- * Events and viewports are somewhat different from tables, due to the expense of computing the expanded/collapsed rows
1426
- * and count of children at each level of the hierarchy, and differences in the data that is available.
1427
- * <p>
1428
- * <ul>
1429
- * <li>There is no {@link Table.totalSize | totalSize} property.</li>
1430
- * <li>The viewport is not un-set when changes are made to filter or sort, but changes will continue to be streamed in.
1431
- * It is suggested that the viewport be changed to the desired position (usually the first N rows) after any filter/sort
1432
- * change is made. Likewise, {@link getViewportData} will always return the most recent data, and will not wait if a
1433
- * new operation is pending.</li>
1434
- * <li>Custom columns are not directly supported. If the TreeTable was created client-side, the original Table can have
1435
- * custom columns applied, and the TreeTable can be recreated.</li>
1436
- * <li>Whereas Table has a {@link Table.totalsTableConfig} property, it is defined here as a method,
1437
- * {@link getTotalsTableConfig}. This returns a promise so the config can be fetched asynchronously.</li>
1438
- * <li>Totals Tables for trees vary in behavior between tree tables and roll-up tables. This behavior is based on the
1439
- * original flat table used to produce the Tree Table - for a hierarchical table (i.e. Table.treeTable in the query
1440
- * config), the totals will include non-leaf nodes (since they are themselves actual rows in the table), but in a
1441
- * roll-up table, the totals only include leaf nodes (as non-leaf nodes are generated through grouping the contents of
1442
- * the original table). Roll-ups also have the {@link dh.includeConstituents} property, indicating that a
1443
- * {@link dh.Column} in the tree may have a {@link Column.constituentType} property reflecting that the type of cells
1444
- * where {@link TreeRow.hasChildren} is false will be different from usual.</li>
1445
- * </ul>
1753
+ * Describes how a Totals Table will be generated from its parent table. Each table has a default (which may be null)
1754
+ * indicating how that table was configured when it was declared, and each Totals Table has a similar property
1755
+ * describing how it was created. Both the <b>Table.getTotalsTable</b> and <b>Table.getGrandTotalsTable</b> methods take
1756
+ * this config as an optional parameter - without it, the table's default will be used, or if null, a default instance
1757
+ * of <b>TotalsTableConfig</b> will be supplied.
1758
+ *
1759
+ * This class has a no-arg constructor, allowing an instance to be made with the default values provided. However, any
1760
+ * JS object can be passed in to the methods which accept instances of this type, provided their values adhere to the
1761
+ * expected formats.
1446
1762
  */
1447
- export class TreeTable implements HasEventHandling {
1448
- /**
1449
- * event.detail is the currently visible viewport data based on the active viewport configuration.
1450
- */
1451
- static readonly EVENT_UPDATED:string;
1452
- /**
1453
- * event.detail is the currently visible viewport data based on the active viewport configuration.
1454
- */
1455
- static readonly EVENT_DISCONNECT:string;
1456
- /**
1457
- * event.detail is the currently visible viewport data based on the active viewport configuration.
1458
- */
1459
- static readonly EVENT_RECONNECT:string;
1460
- /**
1461
- * event.detail is the currently visible viewport data based on the active viewport configuration.
1462
- */
1463
- static readonly EVENT_RECONNECTFAILED:string;
1464
- /**
1465
- * event.detail is the currently visible viewport data based on the active viewport configuration.
1466
- */
1467
- static readonly EVENT_REQUEST_FAILED:string;
1468
- readonly description?:string|null;
1469
-
1470
- protected constructor();
1471
-
1472
- /**
1473
- * Expands the given node, so that its children are visible when they are in the viewport. The parameter can be the
1474
- * row index, or the row object itself. The second parameter is a boolean value, false by default, specifying if the
1475
- * row and all descendants should be fully expanded. Equivalent to `setExpanded(row, true)` with an optional third
1476
- * boolean parameter.
1477
- * @param row -
1478
- * @param expandDescendants -
1479
- */
1480
- expand(row:TreeRow|number, expandDescendants?:boolean):void;
1481
- /**
1482
- * Collapses the given node, so that its children and descendants are not visible in the size or the viewport. The
1483
- * parameter can be the row index, or the row object itself. Equivalent to <b>setExpanded(row, false, false)</b>.
1484
- * @param row -
1485
- */
1486
- collapse(row:TreeRow|number):void;
1487
- /**
1488
- * Specifies if the given node should be expanded or collapsed. If this node has children, and the value is changed,
1489
- * the size of the table will change. If node is to be expanded and the third parameter, <b>expandDescendants</b>,
1490
- * is true, then its children will also be expanded.
1491
- * @param row -
1492
- * @param isExpanded -
1493
- * @param expandDescendants -
1494
- */
1495
- setExpanded(row:TreeRow|number, isExpanded:boolean, expandDescendants?:boolean):void;
1496
- expandAll():void;
1497
- collapseAll():void;
1498
- /**
1499
- * true if the given row is expanded, false otherwise. Equivalent to `TreeRow.isExpanded`, if an instance of the row
1500
- * is available
1501
- * @param row -
1502
- * @return boolean
1503
- */
1504
- isExpanded(row:TreeRow|number):boolean;
1505
- setViewport(firstRow:number, lastRow:number, columns?:Array<Column>|undefined|null, updateInterval?:number|undefined|null):void;
1506
- getViewportData():Promise<TreeViewportData>;
1763
+ export class TotalsTableConfig {
1507
1764
  /**
1508
- * Indicates that the table will no longer be used, and server resources can be freed.
1765
+ * @deprecated
1509
1766
  */
1510
- close():void;
1511
- typedTicket():dhinternal.io.deephaven.proto.ticket_pb.TypedTicket;
1512
- /**
1513
- * Applies the given sort to all levels of the tree. Returns the previous sort in use.
1514
- * @param sort -
1515
- * @return {@link dh.Sort} array
1767
+ static readonly COUNT:string;
1768
+ /**
1769
+ * @deprecated
1516
1770
  */
1517
- applySort(sort:Sort[]):Array<Sort>;
1771
+ static readonly MIN:string;
1518
1772
  /**
1519
- * Applies the given filter to the contents of the tree in such a way that if any node is visible, then any parent
1520
- * node will be visible as well even if that parent node would not normally be visible due to the filter's
1521
- * condition. Returns the previous sort in use.
1522
- * @param filter -
1523
- * @return {@link dh.FilterCondition} array
1773
+ * @deprecated
1524
1774
  */
1525
- applyFilter(filter:FilterCondition[]):Array<FilterCondition>;
1775
+ static readonly MAX:string;
1526
1776
  /**
1527
- * a column with the given name, or throws an exception if it cannot be found
1528
- * @param key -
1529
- * @return {@link dh.Column}
1777
+ * @deprecated
1530
1778
  */
1531
- findColumn(key:string):Column;
1779
+ static readonly SUM:string;
1532
1780
  /**
1533
- * an array with all of the named columns in order, or throws an exception if one cannot be found.
1534
- * @param keys -
1535
- * @return {@link dh.Column} array
1781
+ * @deprecated
1536
1782
  */
1537
- findColumns(keys:string[]):Column[];
1783
+ static readonly ABS_SUM:string;
1538
1784
  /**
1539
- * Provides Table-like selectDistinct functionality, but with a few quirks, since it is only fetching the distinct
1540
- * values for the given columns in the source table:
1541
- * <ul>
1542
- * <li>Rollups may make no sense, since values are aggregated.</li>
1543
- * <li>Values found on orphaned (and removed) nodes will show up in the resulting table, even though they are not in
1544
- * the tree.</li>
1545
- * <li>Values found on parent nodes which are only present in the tree since a child is visible will not be present
1546
- * in the resulting table.</li>
1547
- * </ul>
1785
+ * @deprecated
1548
1786
  */
1549
- selectDistinct(columns:Column[]):Promise<Table>;
1550
- getTotalsTableConfig():Promise<TotalsTableConfig>;
1551
- getTotalsTable(config?:object):Promise<TotalsTable>;
1552
- getGrandTotalsTable(config?:object):Promise<TotalsTable>;
1787
+ static readonly VAR:string;
1553
1788
  /**
1554
- * a new copy of this treetable, so it can be sorted and filtered separately, and maintain a different viewport.
1555
- * Unlike Table, this will _not_ copy the filter or sort, since tree table viewport semantics differ, and without a
1556
- * viewport set, the treetable doesn't evaluate these settings, and they aren't readable on the properties. Expanded
1557
- * state is also not copied.
1558
- * @return Promise of dh.TreeTable
1789
+ * @deprecated
1559
1790
  */
1560
- copy():Promise<TreeTable>;
1791
+ static readonly AVG:string;
1561
1792
  /**
1562
- * The current filter configuration of this Tree Table.
1563
- * @return {@link dh.FilterCondition} array
1793
+ * @deprecated
1564
1794
  */
1565
- get filter():Array<FilterCondition>;
1795
+ static readonly STD:string;
1566
1796
  /**
1567
- * True if this is a roll-up and will provide the original rows that make up each grouping.
1568
- * @return boolean
1797
+ * @deprecated
1569
1798
  */
1570
- get includeConstituents():boolean;
1571
- get groupedColumns():Array<Column>;
1799
+ static readonly FIRST:string;
1572
1800
  /**
1573
- * True if this table has been closed.
1574
- * @return boolean
1801
+ * @deprecated
1575
1802
  */
1576
- get isClosed():boolean;
1803
+ static readonly LAST:string;
1577
1804
  /**
1578
- * The current number of rows given the table's contents and the various expand/collapse states of each node. (No
1579
- * totalSize is provided at this time; its definition becomes unclear between roll-up and tree tables, especially
1580
- * when considering collapse/expand states).
1581
- * @return double
1805
+ * @deprecated
1582
1806
  */
1583
- get size():number;
1807
+ static readonly SKIP:string;
1584
1808
  /**
1585
- * The columns that can be shown in this Tree Table.
1586
- * @return {@link dh.Column} array
1809
+ * Specifies if a Totals Table should be expanded by default in the UI. Defaults to false.
1587
1810
  */
1588
- get columns():Array<Column>;
1811
+ showTotalsByDefault:boolean;
1589
1812
  /**
1590
- * The current sort configuration of this Tree Table
1591
- * @return {@link dh.Sort} array.
1813
+ * Specifies if a Grand Totals Table should be expanded by default in the UI. Defaults to false.
1592
1814
  */
1593
- get sort():Array<Sort>;
1815
+ showGrandTotalsByDefault:boolean;
1594
1816
  /**
1595
- * True if this table may receive updates from the server, including size changed events, updated events after
1596
- * initial snapshot.
1597
- * @return boolean
1817
+ * Specifies the default operation for columns that do not have a specific operation applied; defaults to "Sum".
1598
1818
  */
1599
- get isRefreshing():boolean;
1819
+ defaultOperation:AggregationOperationType;
1600
1820
  /**
1601
- * Listen for events on this object.
1602
- * @param name - the name of the event to listen for
1603
- * @param callback - a function to call when the event occurs
1604
- * @return Returns a cleanup function.
1605
- * @typeParam T - the type of the data that the event will provide
1821
+ * Mapping from each column name to the aggregation(s) that should be applied to that column in the resulting Totals
1822
+ * Table. If a column is omitted, the defaultOperation is used.
1606
1823
  */
1607
- addEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):()=>void;
1608
- nextEvent<T>(eventName:string, timeoutInMillis?:number):Promise<CustomEvent<T>>;
1609
- hasListeners(name:string):boolean;
1824
+ operationMap:{ [key: string]: Array<AggregationOperationType>; };
1610
1825
  /**
1611
- * Removes an event listener added to this table.
1612
- * @param name -
1613
- * @param callback -
1614
- * @return
1615
- * @typeParam T -
1826
+ * Groupings to use when generating the Totals Table. One row will exist for each unique set of values observed in
1827
+ * these columns. See also `Table.selectDistinct`.
1616
1828
  */
1617
- removeEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):boolean;
1829
+ groupBy:Array<string>;
1830
+
1831
+ constructor();
1832
+
1833
+ toString():string;
1618
1834
  }
1619
1835
 
1620
1836
  /**
@@ -1648,177 +1864,103 @@ export namespace dh {
1648
1864
  }
1649
1865
 
1650
1866
  /**
1651
- * Represents a set of Tables each corresponding to some key. The keys are available locally, but a call must be made to
1652
- * the server to get each Table. All tables will have the same structure.
1867
+ * Presently optional and not used by the server, this allows the client to specify some authentication details. String
1868
+ * authToken <i>- base 64 encoded auth token. String serviceId -</i> The service ID to use for the connection.
1653
1869
  */
1654
- export class PartitionedTable implements HasEventHandling {
1655
- /**
1656
- * Indicates that a new key has been added to the array of keys, which can now be fetched with getTable.
1657
- */
1658
- static readonly EVENT_KEYADDED:string;
1659
- /**
1660
- * Indicates that a new key has been added to the array of keys, which can now be fetched with getTable.
1661
- */
1662
- static readonly EVENT_DISCONNECT:string;
1663
- /**
1664
- * Indicates that a new key has been added to the array of keys, which can now be fetched with getTable.
1665
- */
1666
- static readonly EVENT_RECONNECT:string;
1667
- /**
1668
- * Indicates that a new key has been added to the array of keys, which can now be fetched with getTable.
1669
- */
1670
- static readonly EVENT_RECONNECTFAILED:string;
1671
-
1672
- protected constructor();
1870
+ export class ConnectOptions {
1871
+ headers:{ [key: string]: string; };
1673
1872
 
1674
- typedTicket():dhinternal.io.deephaven.proto.ticket_pb.TypedTicket;
1675
- /**
1676
- * Fetch the table with the given key. If the key does not exist, returns `null`.
1677
- * @param key - The key to fetch. An array of values for each key column, in the same order as the key columns are.
1678
- * @return Promise of dh.Table, or `null` if the key does not exist.
1679
- */
1680
- getTable(key:object):Promise<Table|undefined|null>;
1681
- /**
1682
- * Open a new table that is the result of merging all constituent tables. See
1683
- * {@link io.deephaven.engine.table.PartitionedTable#merge()} for details.
1684
- * @return A merged representation of the constituent tables.
1685
- */
1686
- getMergedTable():Promise<Table>;
1687
- /**
1688
- * The set of all currently known keys. This is kept up to date, so getting the list after adding an event listener
1689
- * for <b>keyadded</b> will ensure no keys are missed.
1690
- * @return Set of Object
1691
- */
1692
- getKeys():Set<object>;
1693
- /**
1694
- * Fetch a table containing all the valid keys of the partitioned table.
1695
- * @return Promise of a Table
1696
- */
1697
- getKeyTable():Promise<Table>;
1698
- /**
1699
- * Indicates that this PartitionedTable will no longer be used, removing subcriptions to updated keys, etc. This
1700
- * will not affect tables in use.
1701
- */
1702
- close():void;
1703
- /**
1704
- * The count of known keys.
1705
- * @return int
1706
- */
1707
- get size():number;
1708
- /**
1709
- * An array of the columns in the tables that can be retrieved from this partitioned table, including both key and
1710
- * non-key columns.
1711
- * @return Array of Column
1712
- */
1713
- get columns():Column[];
1714
- /**
1715
- * An array of all the key columns that the tables are partitioned by.
1716
- * @return Array of Column
1717
- */
1718
- get keyColumns():Column[];
1719
- /**
1720
- * Listen for events on this object.
1721
- * @param name - the name of the event to listen for
1722
- * @param callback - a function to call when the event occurs
1723
- * @return Returns a cleanup function.
1724
- * @typeParam T - the type of the data that the event will provide
1725
- */
1726
- addEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):()=>void;
1727
- nextEvent<T>(eventName:string, timeoutInMillis?:number):Promise<CustomEvent<T>>;
1728
- hasListeners(name:string):boolean;
1729
- /**
1730
- * Removes an event listener added to this table.
1731
- * @param name -
1732
- * @param callback -
1733
- * @return
1734
- * @typeParam T -
1735
- */
1736
- removeEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):boolean;
1873
+ constructor();
1737
1874
  }
1738
1875
 
1739
- /**
1740
- * Wrap BigInteger values for use in JS. Provides text formatting for display and access to the underlying value.
1741
- */
1742
- export class BigIntegerWrapper {
1876
+ export class LongWrapper {
1743
1877
  protected constructor();
1744
1878
 
1745
- static ofString(str:string):BigIntegerWrapper;
1879
+ static ofString(str:string):LongWrapper;
1746
1880
  asNumber():number;
1747
1881
  valueOf():string;
1748
1882
  toString():string;
1749
1883
  }
1750
1884
 
1751
1885
  /**
1752
- * Describes a filter which can be applied to a table. Replacing these instances may be more expensive than reusing
1753
- * them. These instances are immutable - all operations that compose them to build bigger expressions return a new
1754
- * instance.
1886
+ * Event fired when a command is issued from the client.
1755
1887
  */
1756
- export class FilterCondition {
1757
- protected constructor();
1888
+ export class CommandInfo {
1889
+ constructor(code:string, result:Promise<dh.ide.CommandResult>);
1890
+
1891
+ get result():Promise<dh.ide.CommandResult>;
1892
+ get code():string;
1893
+ }
1894
+
1895
+ export class LoginCredentials {
1896
+ type?:string|null;
1897
+ username?:string|null;
1898
+ token?:string|null;
1899
+
1900
+ constructor();
1901
+ }
1758
1902
 
1903
+ /**
1904
+ * Configuration object for running Table.treeTable to produce a hierarchical view of a given "flat" table.
1905
+ *
1906
+ * Like TotalsTableConfig, `TreeTableConfig` supports an operation map indicating how to aggregate the data, as well as
1907
+ * an array of column names which will be the layers in the roll-up tree, grouped at each level. An additional optional
1908
+ * value can be provided describing the strategy the engine should use when grouping the rows.
1909
+ */
1910
+ export class TreeTableConfig {
1759
1911
  /**
1760
- * the opposite of this condition
1761
- * @return FilterCondition
1912
+ * The column representing the unique ID for each item
1762
1913
  */
1763
- not():FilterCondition;
1914
+ idColumn:string;
1764
1915
  /**
1765
- * a condition representing the current condition logically ANDed with the other parameters
1766
- * @param filters -
1767
- * @return FilterCondition
1916
+ * The column representing the parent ID for each item
1768
1917
  */
1769
- and(...filters:FilterCondition[]):FilterCondition;
1918
+ parentColumn:string;
1919
+ /**
1920
+ * Optional parameter indicating if items with an invalid parent ID should be promoted to root. Defaults to false.
1921
+ */
1922
+ promoteOrphansToRoot:boolean;
1923
+
1924
+ constructor();
1925
+ }
1926
+
1927
+ export class Ide {
1928
+ constructor();
1929
+
1770
1930
  /**
1771
- * a condition representing the current condition logically ORed with the other parameters
1772
- * @param filters -
1773
- * @return FilterCondition.
1931
+ * @deprecated
1774
1932
  */
1775
- or(...filters:FilterCondition[]):FilterCondition;
1933
+ getExistingSession(websocketUrl:string, authToken:string, serviceId:string, language:string):Promise<IdeSession>;
1776
1934
  /**
1777
- * a string suitable for debugging showing the details of this condition.
1778
- * @return String.
1935
+ * @deprecated
1779
1936
  */
1780
- toString():string;
1781
- get columns():Array<Column>;
1937
+ static getExistingSession(websocketUrl:string, authToken:string, serviceId:string, language:string):Promise<IdeSession>;
1938
+ }
1939
+
1940
+ /**
1941
+ * This class allows iteration over non-contiguous indexes. In the future, this will support the EcmaScript 2015
1942
+ * Iteration protocol, but for now has one method which returns an iterator, and also supports querying the size.
1943
+ * Additionally, we may add support for creating RangeSet objects to better serve some use cases.
1944
+ */
1945
+ export class RangeSet {
1946
+ protected constructor();
1947
+
1948
+ static ofRange(first:number, last:number):RangeSet;
1949
+ static ofItems(rows:number[]):RangeSet;
1950
+ static ofRanges(ranges:RangeSet[]):RangeSet;
1951
+ static ofSortedRanges(ranges:RangeSet[]):RangeSet;
1782
1952
  /**
1783
- * a filter condition invoking a static function with the given parameters. Currently supported Deephaven static
1784
- * functions:
1785
- * <ul>
1786
- * <li><b>inRange</b>: Given three comparable values, returns true if the first is less than the second but greater
1787
- * than the third</li>
1788
- * <li><b>isInf</b>:Returns true if the given number is <i>infinity</i></li>
1789
- * <li><b>isNaN</b>:Returns true if the given number is <i>not a number</i></li>
1790
- * <li><b>isNormal</b>:Returns true if the given number <i>is not null</i>, <i>is not infinity</i>, and <i>is not
1791
- * "not a number"</i></li>
1792
- * <li><b>startsWith</b>:Returns true if the first string starts with the second string</li>
1793
- * <li><b>endsWith</b>Returns true if the first string ends with the second string</li>
1794
- * <li><b>matches</b>:Returns true if the first string argument matches the second string used as a Java regular
1795
- * expression</li>
1796
- * <li><b>contains</b>:Returns true if the first string argument contains the second string as a substring</li>
1797
- * <li><b>in</b>:Returns true if the first string argument can be found in the second array argument.
1798
- * <p>
1799
- * Note that the array can only be specified as a column reference at this time - typically the `FilterValue.in`
1800
- * method should be used in other cases
1801
- * </p>
1802
- * </li>
1803
- * </ul>
1804
- * @param function -
1805
- * @param args -
1806
- * @return dh.FilterCondition
1953
+ * a new iterator over all indexes in this collection.
1954
+ * @return Iterator of {@link dh.LongWrapper}
1807
1955
  */
1808
- static invoke(func:string, ...args:FilterValue[]):FilterCondition;
1956
+ iterator():Iterator<LongWrapper>;
1809
1957
  /**
1810
- * a filter condition which will check if the given value can be found in any supported column on whatever table
1811
- * this FilterCondition is passed to. This FilterCondition is somewhat unique in that it need not be given a column
1812
- * instance, but will adapt to any table. On numeric columns, with a value passed in which can be parsed as a
1813
- * number, the column will be filtered to numbers which equal, or can be "rounded" effectively to this number. On
1814
- * String columns, the given value will match any column which contains this string in a case-insensitive search. An
1815
- * optional second argument can be passed, an array of `FilterValue` from the columns to limit this search to (see
1816
- * {@link dh.Column.filter}).
1817
- * @param value -
1818
- * @param columns -
1819
- * @return dh.FilterCondition
1958
+ * The total count of items contained in this collection. In some cases this can be expensive to compute, and
1959
+ * generally should not be needed except for debugging purposes, or preallocating space (i.e., do not call this
1960
+ * property each time through a loop).
1961
+ * @return double
1820
1962
  */
1821
- static search(value:FilterValue, columns?:FilterValue[]):FilterCondition;
1963
+ get size():number;
1822
1964
  }
1823
1965
 
1824
1966
  /**
@@ -1881,496 +2023,331 @@ export namespace dh {
1881
2023
  lessThan(term:FilterValue):FilterCondition;
1882
2024
  /**
1883
2025
  * a filter condition checking if the current value is greater than or equal to the given parameter
1884
- * @param term -
1885
- * @return {@link dh.FilterCondition}
1886
- */
1887
- greaterThanOrEqualTo(term:FilterValue):FilterCondition;
1888
- /**
1889
- * a filter condition checking if the current value is less than or equal to the given parameter
1890
- * @param term -
1891
- * @return {@link dh.FilterCondition}
1892
- */
1893
- lessThanOrEqualTo(term:FilterValue):FilterCondition;
1894
- /**
1895
- * a filter condition checking if the current value is in the given set of values
1896
- * @param terms -
1897
- * @return {@link dh.FilterCondition}
1898
- */
1899
- in(terms:FilterValue[]):FilterCondition;
1900
- /**
1901
- * a filter condition checking if the current value is in the given set of values, ignoring differences of upper vs
1902
- * lower case
1903
- * @param terms -
1904
- * @return {@link dh.FilterCondition}
1905
- */
1906
- inIgnoreCase(terms:FilterValue[]):FilterCondition;
1907
- /**
1908
- * a filter condition checking that the current value is not in the given set of values
1909
- * @param terms -
1910
- * @return {@link dh.FilterCondition}
1911
- */
1912
- notIn(terms:FilterValue[]):FilterCondition;
1913
- /**
1914
- * a filter condition checking that the current value is not in the given set of values, ignoring differences of
1915
- * upper vs lower case
1916
- * @param terms -
1917
- * @return {@link dh.FilterCondition}
1918
- */
1919
- notInIgnoreCase(terms:FilterValue[]):FilterCondition;
1920
- /**
1921
- * a filter condition checking if the given value contains the given string value
1922
- * @param term -
1923
- * @return {@link dh.FilterCondition}
1924
- */
1925
- contains(term:FilterValue):FilterCondition;
1926
- /**
1927
- * a filter condition checking if the given value contains the given string value, ignoring differences of upper vs
1928
- * lower case
1929
- * @param term -
1930
- * @return {@link dh.FilterCondition}
1931
- */
1932
- containsIgnoreCase(term:FilterValue):FilterCondition;
1933
- /**
1934
- * a filter condition checking if the given value matches the provided regular expressions string. Regex patterns
1935
- * use Java regex syntax
1936
- * @param pattern -
1937
- * @return {@link dh.FilterCondition}
1938
- */
1939
- matches(pattern:FilterValue):FilterCondition;
1940
- /**
1941
- * a filter condition checking if the given value matches the provided regular expressions string, ignoring
1942
- * differences of upper vs lower case. Regex patterns use Java regex syntax
1943
- * @param pattern -
1944
- * @return {@link dh.FilterCondition}
1945
- */
1946
- matchesIgnoreCase(pattern:FilterValue):FilterCondition;
1947
- /**
1948
- * a filter condition checking if the current value is a true boolean
1949
- * @return {@link dh.FilterCondition}
1950
- */
1951
- isTrue():FilterCondition;
1952
- /**
1953
- * a filter condition checking if the current value is a false boolean
1954
- * @return {@link dh.FilterCondition}
1955
- */
1956
- isFalse():FilterCondition;
1957
- /**
1958
- * a filter condition checking if the current value is a null value
1959
- * @return {@link dh.FilterCondition}
1960
- */
1961
- isNull():FilterCondition;
1962
- /**
1963
- * a filter condition invoking the given method on the current value, with the given parameters. Currently supported
1964
- * functions that can be invoked on a String:
1965
- * <ul>
1966
- * <li><b>startsWith</b>: Returns true if the current string value starts with the supplied string argument</li>
1967
- * <li><b>endsWith</b>: Returns true if the current string value ends with the supplied string argument</li>
1968
- * <li><b>matches</b>: Returns true if the current string value matches the supplied string argument used as a Java
1969
- * regular expression</li>
1970
- * <li><b>contains</b>: Returns true if the current string value contains the supplied string argument
1971
- * <p>
1972
- * When invoking against a constant, this should be avoided in favor of FilterValue.contains
1973
- * </p>
1974
- * </li>
1975
- * </ul>
1976
- * @param method -
1977
- * @param args -
1978
- * @return
1979
- */
1980
- invoke(method:string, ...args:FilterValue[]):FilterCondition;
1981
- toString():string;
1982
- /**
1983
- * Constructs a string for the filter API from the given parameter.
1984
- * @param input -
1985
- * @return
1986
- */
1987
- static ofString(input:any):FilterValue;
1988
- /**
1989
- * Constructs a boolean for the filter API from the given parameter.
1990
- * @param b -
1991
- * @return
1992
- */
1993
- static ofBoolean(b:boolean):FilterValue;
1994
- }
1995
-
1996
- /**
1997
- * Presently, this is the entrypoint into the Deephaven JS API. By creating an instance of this with the server URL and
1998
- * some options, JS applications can run code on the server, and interact with available exportable objects.
1999
- */
2000
- export class IdeConnection implements HasEventHandling {
2001
- /**
2002
- * @deprecated
2003
- */
2004
- static readonly HACK_CONNECTION_FAILURE:string;
2005
- static readonly EVENT_DISCONNECT:string;
2006
- static readonly EVENT_RECONNECT:string;
2007
- static readonly EVENT_SHUTDOWN:string;
2008
-
2009
- /**
2010
- * creates a new instance, from which console sessions can be made. <b>options</b> are optional.
2011
- * @param serverUrl - The url used when connecting to the server. Read-only.
2012
- * @param connectOptions - Optional Object
2013
- * @param fromJava - Optional boolean
2014
- * @deprecated
2015
- */
2016
- constructor(serverUrl:string, connectOptions?:ConnectOptions, fromJava?:boolean);
2017
-
2018
- /**
2019
- * closes the current connection, releasing any resources on the server or client.
2020
- */
2021
- close():void;
2022
- running():Promise<IdeConnection>;
2023
- getObject(definitionObject:dh.ide.VariableDescriptor):Promise<any>;
2024
- subscribeToFieldUpdates(callback:(arg0:dh.ide.VariableChanges)=>void):()=>void;
2025
- /**
2026
- * Register a callback function to handle any log messages that are emitted on the server. Returns a function ,
2027
- * which can be invoked to remove this log handler. Any log handler registered in this way will receive as many old
2028
- * log messages as are presently available.
2029
- * @param callback -
2030
- * @return {@link io.deephaven.web.shared.fu.JsRunnable}
2031
- */
2032
- onLogMessage(callback:(arg0:dh.ide.LogItem)=>void):()=>void;
2033
- startSession(type:string):Promise<IdeSession>;
2034
- getConsoleTypes():Promise<Array<string>>;
2035
- getWorkerHeapInfo():Promise<WorkerHeapInfo>;
2036
- /**
2037
- * Listen for events on this object.
2038
- * @param name - the name of the event to listen for
2039
- * @param callback - a function to call when the event occurs
2040
- * @return Returns a cleanup function.
2041
- * @typeParam T - the type of the data that the event will provide
2042
- */
2043
- addEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):()=>void;
2044
- nextEvent<T>(eventName:string, timeoutInMillis?:number):Promise<CustomEvent<T>>;
2045
- hasListeners(name:string):boolean;
2046
- /**
2047
- * Removes an event listener added to this table.
2048
- * @param name -
2049
- * @param callback -
2050
- * @return
2051
- * @typeParam T -
2052
- */
2053
- removeEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):boolean;
2054
- }
2055
-
2056
- /**
2057
- * Describes how a Totals Table will be generated from its parent table. Each table has a default (which may be null)
2058
- * indicating how that table was configured when it was declared, and each Totals Table has a similar property
2059
- * describing how it was created. Both the <b>Table.getTotalsTable</b> and <b>Table.getGrandTotalsTable</b> methods take
2060
- * this config as an optional parameter - without it, the table's default will be used, or if null, a default instance
2061
- * of <b>TotalsTableConfig</b> will be supplied.
2062
- *
2063
- * This class has a no-arg constructor, allowing an instance to be made with the default values provided. However, any
2064
- * JS object can be passed in to the methods which accept instances of this type, provided their values adhere to the
2065
- * expected formats.
2066
- */
2067
- export class TotalsTableConfig {
2068
- /**
2069
- * @deprecated
2026
+ * @param term -
2027
+ * @return {@link dh.FilterCondition}
2070
2028
  */
2071
- static readonly COUNT:string;
2029
+ greaterThanOrEqualTo(term:FilterValue):FilterCondition;
2072
2030
  /**
2073
- * @deprecated
2031
+ * a filter condition checking if the current value is less than or equal to the given parameter
2032
+ * @param term -
2033
+ * @return {@link dh.FilterCondition}
2074
2034
  */
2075
- static readonly MIN:string;
2035
+ lessThanOrEqualTo(term:FilterValue):FilterCondition;
2076
2036
  /**
2077
- * @deprecated
2037
+ * a filter condition checking if the current value is in the given set of values
2038
+ * @param terms -
2039
+ * @return {@link dh.FilterCondition}
2078
2040
  */
2079
- static readonly MAX:string;
2041
+ in(terms:FilterValue[]):FilterCondition;
2080
2042
  /**
2081
- * @deprecated
2043
+ * a filter condition checking if the current value is in the given set of values, ignoring differences of upper vs
2044
+ * lower case
2045
+ * @param terms -
2046
+ * @return {@link dh.FilterCondition}
2082
2047
  */
2083
- static readonly SUM:string;
2048
+ inIgnoreCase(terms:FilterValue[]):FilterCondition;
2084
2049
  /**
2085
- * @deprecated
2050
+ * a filter condition checking that the current value is not in the given set of values
2051
+ * @param terms -
2052
+ * @return {@link dh.FilterCondition}
2086
2053
  */
2087
- static readonly ABS_SUM:string;
2054
+ notIn(terms:FilterValue[]):FilterCondition;
2088
2055
  /**
2089
- * @deprecated
2056
+ * a filter condition checking that the current value is not in the given set of values, ignoring differences of
2057
+ * upper vs lower case
2058
+ * @param terms -
2059
+ * @return {@link dh.FilterCondition}
2090
2060
  */
2091
- static readonly VAR:string;
2061
+ notInIgnoreCase(terms:FilterValue[]):FilterCondition;
2092
2062
  /**
2093
- * @deprecated
2063
+ * a filter condition checking if the given value contains the given string value
2064
+ * @param term -
2065
+ * @return {@link dh.FilterCondition}
2094
2066
  */
2095
- static readonly AVG:string;
2067
+ contains(term:FilterValue):FilterCondition;
2096
2068
  /**
2097
- * @deprecated
2069
+ * a filter condition checking if the given value contains the given string value, ignoring differences of upper vs
2070
+ * lower case
2071
+ * @param term -
2072
+ * @return {@link dh.FilterCondition}
2098
2073
  */
2099
- static readonly STD:string;
2074
+ containsIgnoreCase(term:FilterValue):FilterCondition;
2100
2075
  /**
2101
- * @deprecated
2076
+ * a filter condition checking if the given value matches the provided regular expressions string. Regex patterns
2077
+ * use Java regex syntax
2078
+ * @param pattern -
2079
+ * @return {@link dh.FilterCondition}
2102
2080
  */
2103
- static readonly FIRST:string;
2081
+ matches(pattern:FilterValue):FilterCondition;
2104
2082
  /**
2105
- * @deprecated
2083
+ * a filter condition checking if the given value matches the provided regular expressions string, ignoring
2084
+ * differences of upper vs lower case. Regex patterns use Java regex syntax
2085
+ * @param pattern -
2086
+ * @return {@link dh.FilterCondition}
2106
2087
  */
2107
- static readonly LAST:string;
2088
+ matchesIgnoreCase(pattern:FilterValue):FilterCondition;
2108
2089
  /**
2109
- * @deprecated
2090
+ * a filter condition checking if the current value is a true boolean
2091
+ * @return {@link dh.FilterCondition}
2110
2092
  */
2111
- static readonly SKIP:string;
2093
+ isTrue():FilterCondition;
2112
2094
  /**
2113
- * Specifies if a Totals Table should be expanded by default in the UI. Defaults to false.
2095
+ * a filter condition checking if the current value is a false boolean
2096
+ * @return {@link dh.FilterCondition}
2114
2097
  */
2115
- showTotalsByDefault:boolean;
2098
+ isFalse():FilterCondition;
2116
2099
  /**
2117
- * Specifies if a Grand Totals Table should be expanded by default in the UI. Defaults to false.
2100
+ * a filter condition checking if the current value is a null value
2101
+ * @return {@link dh.FilterCondition}
2118
2102
  */
2119
- showGrandTotalsByDefault:boolean;
2103
+ isNull():FilterCondition;
2120
2104
  /**
2121
- * Specifies the default operation for columns that do not have a specific operation applied; defaults to "Sum".
2105
+ * a filter condition invoking the given method on the current value, with the given parameters. Currently supported
2106
+ * functions that can be invoked on a String:
2107
+ * <ul>
2108
+ * <li><b>startsWith</b>: Returns true if the current string value starts with the supplied string argument</li>
2109
+ * <li><b>endsWith</b>: Returns true if the current string value ends with the supplied string argument</li>
2110
+ * <li><b>matches</b>: Returns true if the current string value matches the supplied string argument used as a Java
2111
+ * regular expression</li>
2112
+ * <li><b>contains</b>: Returns true if the current string value contains the supplied string argument
2113
+ * <p>
2114
+ * When invoking against a constant, this should be avoided in favor of FilterValue.contains
2115
+ * </p>
2116
+ * </li>
2117
+ * </ul>
2118
+ * @param method -
2119
+ * @param args -
2120
+ * @return
2122
2121
  */
2123
- defaultOperation:AggregationOperationType;
2122
+ invoke(method:string, ...args:FilterValue[]):FilterCondition;
2123
+ toString():string;
2124
2124
  /**
2125
- * Mapping from each column name to the aggregation(s) that should be applied to that column in the resulting Totals
2126
- * Table. If a column is omitted, the defaultOperation is used.
2125
+ * Constructs a string for the filter API from the given parameter.
2126
+ * @param input -
2127
+ * @return
2127
2128
  */
2128
- operationMap:{ [key: string]: Array<AggregationOperationType>; };
2129
+ static ofString(input:any):FilterValue;
2129
2130
  /**
2130
- * Groupings to use when generating the Totals Table. One row will exist for each unique set of values observed in
2131
- * these columns. See also `Table.selectDistinct`.
2131
+ * Constructs a boolean for the filter API from the given parameter.
2132
+ * @param b -
2133
+ * @return
2132
2134
  */
2133
- groupBy:Array<string>;
2134
-
2135
- constructor();
2136
-
2137
- toString():string;
2135
+ static ofBoolean(b:boolean):FilterValue;
2138
2136
  }
2139
2137
 
2140
2138
  /**
2141
- * Describes the structure of the column, and if desired can be used to get access to the data to be rendered in this
2142
- * column.
2139
+ * Behaves like a {@link dh.Table} externally, but data, state, and viewports are managed by an entirely different
2140
+ * mechanism, and so reimplemented here.
2141
+ * <p>
2142
+ * Any time a change is made, we build a new request and send it to the server, and wait for the updated state.
2143
+ * <p>
2144
+ * Semantics around getting updates from the server are slightly different - we don't "unset" the viewport here after
2145
+ * operations are performed, but encourage the client code to re-set them to the desired position.
2146
+ * <p>
2147
+ * The table size will be -1 until a viewport has been fetched.
2148
+ * <p>
2149
+ * Similar to a table, a Tree Table provides access to subscribed viewport data on the current hierarchy. A different
2150
+ * Row type is used within that viewport, showing the depth of that node within the tree and indicating details about
2151
+ * whether it has children or is expanded. The Tree Table itself then provides the ability to change if a row is
2152
+ * expanded or not. Methods used to control or check if a row should be expanded or not can be invoked on a TreeRow
2153
+ * instance, or on the number of the row (thus allowing for expanding/collapsing rows which are not currently visible in
2154
+ * the viewport).
2155
+ * <p>
2156
+ * Events and viewports are somewhat different from tables, due to the expense of computing the expanded/collapsed rows
2157
+ * and count of children at each level of the hierarchy, and differences in the data that is available.
2158
+ * <p>
2159
+ * <ul>
2160
+ * <li>There is no {@link Table.totalSize | totalSize} property.</li>
2161
+ * <li>The viewport is not un-set when changes are made to filter or sort, but changes will continue to be streamed in.
2162
+ * It is suggested that the viewport be changed to the desired position (usually the first N rows) after any filter/sort
2163
+ * change is made. Likewise, {@link getViewportData} will always return the most recent data, and will not wait if a
2164
+ * new operation is pending.</li>
2165
+ * <li>Custom columns are not directly supported. If the TreeTable was created client-side, the original Table can have
2166
+ * custom columns applied, and the TreeTable can be recreated.</li>
2167
+ * <li>Whereas Table has a {@link Table.totalsTableConfig} property, it is defined here as a method,
2168
+ * {@link getTotalsTableConfig}. This returns a promise so the config can be fetched asynchronously.</li>
2169
+ * <li>Totals Tables for trees vary in behavior between tree tables and roll-up tables. This behavior is based on the
2170
+ * original flat table used to produce the Tree Table - for a hierarchical table (i.e. Table.treeTable in the query
2171
+ * config), the totals will include non-leaf nodes (since they are themselves actual rows in the table), but in a
2172
+ * roll-up table, the totals only include leaf nodes (as non-leaf nodes are generated through grouping the contents of
2173
+ * the original table). Roll-ups also have the {@link dh.includeConstituents} property, indicating that a
2174
+ * {@link dh.Column} in the tree may have a {@link Column.constituentType} property reflecting that the type of cells
2175
+ * where {@link TreeRow.hasChildren} is false will be different from usual.</li>
2176
+ * </ul>
2143
2177
  */
2144
- export class Column {
2178
+ export class TreeTable implements HasEventHandling {
2145
2179
  /**
2146
- * If this column is part of a roll-up tree table, represents the type of the row data that can be found in this
2147
- * column for leaf nodes if includeConstituents is enabled. Otherwise, it is <b>null</b>.
2148
- * @return String
2180
+ * event.detail is the currently visible viewport data based on the active viewport configuration.
2149
2181
  */
2150
- readonly constituentType?:string|null;
2151
- readonly description?:string|null;
2152
-
2153
- protected constructor();
2154
-
2182
+ static readonly EVENT_UPDATED:string;
2155
2183
  /**
2156
- * the value for this column in the given row. Type will be consistent with the type of the Column.
2157
- * @param row -
2158
- * @return Any
2184
+ * event.detail is the currently visible viewport data based on the active viewport configuration.
2159
2185
  */
2160
- get(row:Row):any;
2161
- getFormat(row:Row):Format;
2186
+ static readonly EVENT_DISCONNECT:string;
2162
2187
  /**
2163
- * Creates a sort builder object, to be used when sorting by this column.
2164
- * @return {@link dh.Sort}
2188
+ * event.detail is the currently visible viewport data based on the active viewport configuration.
2165
2189
  */
2166
- sort():Sort;
2190
+ static readonly EVENT_RECONNECT:string;
2167
2191
  /**
2168
- * Creates a new value for use in filters based on this column. Used either as a parameter to another filter
2169
- * operation, or as a builder to create a filter operation.
2170
- * @return {@link dh.FilterValue}
2192
+ * event.detail is the currently visible viewport data based on the active viewport configuration.
2171
2193
  */
2172
- filter():FilterValue;
2194
+ static readonly EVENT_RECONNECTFAILED:string;
2173
2195
  /**
2174
- * a <b>CustomColumn</b> object to apply using `applyCustomColumns` with the expression specified.
2175
- * @param expression -
2176
- * @return {@link dh.CustomColumn}
2196
+ * event.detail is the currently visible viewport data based on the active viewport configuration.
2177
2197
  */
2178
- formatColor(expression:string):CustomColumn;
2198
+ static readonly EVENT_REQUEST_FAILED:string;
2199
+ readonly description?:string|null;
2200
+
2201
+ protected constructor();
2202
+
2179
2203
  /**
2180
- * a <b>CustomColumn</b> object to apply using <b>applyCustomColumns</b> with the expression specified.
2181
- * @param expression -
2182
- * @return {@link dh.CustomColumn}
2204
+ * Expands the given node, so that its children are visible when they are in the viewport. The parameter can be the
2205
+ * row index, or the row object itself. The second parameter is a boolean value, false by default, specifying if the
2206
+ * row and all descendants should be fully expanded. Equivalent to `setExpanded(row, true)` with an optional third
2207
+ * boolean parameter.
2208
+ * @param row -
2209
+ * @param expandDescendants -
2183
2210
  */
2184
- formatNumber(expression:string):CustomColumn;
2211
+ expand(row:TreeRow|number, expandDescendants?:boolean):void;
2185
2212
  /**
2186
- * a <b>CustomColumn</b> object to apply using <b>applyCustomColumns</b> with the expression specified.
2187
- * @param expression -
2188
- * @return {@link dh.CustomColumn}
2213
+ * Collapses the given node, so that its children and descendants are not visible in the size or the viewport. The
2214
+ * parameter can be the row index, or the row object itself. Equivalent to <b>setExpanded(row, false, false)</b>.
2215
+ * @param row -
2189
2216
  */
2190
- formatDate(expression:string):CustomColumn;
2191
- toString():string;
2217
+ collapse(row:TreeRow|number):void;
2192
2218
  /**
2193
- * Label for this column.
2194
- * @return String
2219
+ * Specifies if the given node should be expanded or collapsed. If this node has children, and the value is changed,
2220
+ * the size of the table will change. If node is to be expanded and the third parameter, <b>expandDescendants</b>,
2221
+ * is true, then its children will also be expanded.
2222
+ * @param row -
2223
+ * @param isExpanded -
2224
+ * @param expandDescendants -
2195
2225
  */
2196
- get name():string;
2226
+ setExpanded(row:TreeRow|number, isExpanded:boolean, expandDescendants?:boolean):void;
2227
+ expandAll():void;
2228
+ collapseAll():void;
2197
2229
  /**
2198
- * True if this column is a partition column. Partition columns are used for filtering uncoalesced tables (see
2199
- * <b>isUncoalesced</b> property on <b>Table</b>)
2230
+ * true if the given row is expanded, false otherwise. Equivalent to `TreeRow.isExpanded`, if an instance of the row
2231
+ * is available
2232
+ * @param row -
2200
2233
  * @return boolean
2201
2234
  */
2202
- get isPartitionColumn():boolean;
2203
- /**
2204
- *
2205
- * @deprecated do not use. Internal index of the column in the table, to be used as a key on the Row.
2206
- * @return int
2207
- */
2208
- get index():number;
2209
- get isSortable():boolean;
2235
+ isExpanded(row:TreeRow|number):boolean;
2236
+ setViewport(firstRow:number, lastRow:number, columns?:Array<Column>|undefined|null, updateInterval?:number|undefined|null):void;
2237
+ getViewportData():Promise<TreeViewportData>;
2210
2238
  /**
2211
- * Type of the row data that can be found in this column.
2212
- * @return String
2239
+ * Indicates that the table will no longer be used, and server resources can be freed.
2213
2240
  */
2214
- get type():string;
2241
+ close():void;
2242
+ typedTicket():dhinternal.io.deephaven.proto.ticket_pb.TypedTicket;
2215
2243
  /**
2216
- * Format entire rows colors using the expression specified. Returns a <b>CustomColumn</b> object to apply to a
2217
- * table using <b>applyCustomColumns</b> with the parameters specified.
2218
- * @param expression -
2219
- * @return {@link dh.CustomColumn}
2244
+ * Applies the given sort to all levels of the tree. Returns the previous sort in use.
2245
+ * @param sort -
2246
+ * @return {@link dh.Sort} array
2220
2247
  */
2221
- static formatRowColor(expression:string):CustomColumn;
2248
+ applySort(sort:Sort[]):Array<Sort>;
2222
2249
  /**
2223
- * a <b>CustomColumn</b> object to apply using <b>applyCustomColumns</b> with the expression specified.
2224
- * @param name -
2225
- * @param expression -
2226
- * @return {@link dh.CustomColumn}
2250
+ * Applies the given filter to the contents of the tree in such a way that if any node is visible, then any parent
2251
+ * node will be visible as well even if that parent node would not normally be visible due to the filter's
2252
+ * condition. Returns the previous sort in use.
2253
+ * @param filter -
2254
+ * @return {@link dh.FilterCondition} array
2227
2255
  */
2228
- static createCustomColumn(name:string, expression:string):CustomColumn;
2229
- }
2230
-
2231
- export class Ide {
2232
- constructor();
2233
-
2256
+ applyFilter(filter:FilterCondition[]):Array<FilterCondition>;
2234
2257
  /**
2235
- * @deprecated
2258
+ * a column with the given name, or throws an exception if it cannot be found
2259
+ * @param key -
2260
+ * @return {@link dh.Column}
2236
2261
  */
2237
- getExistingSession(websocketUrl:string, authToken:string, serviceId:string, language:string):Promise<IdeSession>;
2262
+ findColumn(key:string):Column;
2238
2263
  /**
2239
- * @deprecated
2264
+ * an array with all of the named columns in order, or throws an exception if one cannot be found.
2265
+ * @param keys -
2266
+ * @return {@link dh.Column} array
2240
2267
  */
2241
- static getExistingSession(websocketUrl:string, authToken:string, serviceId:string, language:string):Promise<IdeSession>;
2242
- }
2243
-
2244
- /**
2245
- * A js type for operating on input tables.
2246
- *
2247
- * Represents a User Input Table, which can have data added to it from other sources.
2248
- *
2249
- * You may add rows using dictionaries of key-value tuples (representing columns by name), add tables containing all the
2250
- * key/value columns to add, or delete tables containing the keys to delete. Each operation is atomic, and will either
2251
- * succeed completely or fail completely. To guarantee order of operations, apply an operation and wait for the response
2252
- * before sending the next operation.
2253
- *
2254
- * Each table has one or more key columns, where each unique combination of keys will appear at most once in the table.
2255
- *
2256
- * To view the results of the Input Table, you should use standard table operations on the InputTable's source Table
2257
- * object.
2258
- */
2259
- export class InputTable {
2260
- protected constructor();
2261
-
2268
+ findColumns(keys:string[]):Column[];
2262
2269
  /**
2263
- * Adds a single row to the table. For each key or value column name in the Input Table, we retrieve that javascript
2264
- * property at that name and validate it can be put into the given column type.
2265
- * @param row -
2266
- * @param userTimeZone -
2267
- * @return Promise of dh.InputTable
2270
+ * Provides Table-like selectDistinct functionality, but with a few quirks, since it is only fetching the distinct
2271
+ * values for the given columns in the source table:
2272
+ * <ul>
2273
+ * <li>Rollups may make no sense, since values are aggregated.</li>
2274
+ * <li>Values found on orphaned (and removed) nodes will show up in the resulting table, even though they are not in
2275
+ * the tree.</li>
2276
+ * <li>Values found on parent nodes which are only present in the tree since a child is visible will not be present
2277
+ * in the resulting table.</li>
2278
+ * </ul>
2268
2279
  */
2269
- addRow(row:{ [key: string]: any; }, userTimeZone?:string):Promise<InputTable>;
2280
+ selectDistinct(columns:Column[]):Promise<Table>;
2281
+ getTotalsTableConfig():Promise<TotalsTableConfig>;
2282
+ getTotalsTable(config?:object):Promise<TotalsTable>;
2283
+ getGrandTotalsTable(config?:object):Promise<TotalsTable>;
2270
2284
  /**
2271
- * Add multiple rows to a table.
2272
- * @param rows -
2273
- * @param userTimeZone -
2274
- * @return Promise of dh.InputTable
2285
+ * a new copy of this treetable, so it can be sorted and filtered separately, and maintain a different viewport.
2286
+ * Unlike Table, this will _not_ copy the filter or sort, since tree table viewport semantics differ, and without a
2287
+ * viewport set, the treetable doesn't evaluate these settings, and they aren't readable on the properties. Expanded
2288
+ * state is also not copied.
2289
+ * @return Promise of dh.TreeTable
2275
2290
  */
2276
- addRows(rows:{ [key: string]: any; }[], userTimeZone?:string):Promise<InputTable>;
2291
+ copy():Promise<TreeTable>;
2277
2292
  /**
2278
- * Add an entire table to this Input Table. Only column names that match the definition of the input table will be
2279
- * copied, and all key columns must have values filled in. This only copies the current state of the source table;
2280
- * future updates to the source table will not be reflected in the Input Table. The returned promise will be
2281
- * resolved to the same InputTable instance this method was called upon once the server returns.
2282
- * @param tableToAdd -
2283
- * @return Promise of dh.InputTable
2293
+ * The current filter configuration of this Tree Table.
2294
+ * @return {@link dh.FilterCondition} array
2284
2295
  */
2285
- addTable(tableToAdd:Table):Promise<InputTable>;
2296
+ get filter():Array<FilterCondition>;
2286
2297
  /**
2287
- * Add multiple tables to this Input Table.
2288
- * @param tablesToAdd -
2289
- * @return Promise of dh.InputTable
2298
+ * True if this is a roll-up and will provide the original rows that make up each grouping.
2299
+ * @return boolean
2290
2300
  */
2291
- addTables(tablesToAdd:Table[]):Promise<InputTable>;
2301
+ get includeConstituents():boolean;
2302
+ get groupedColumns():Array<Column>;
2292
2303
  /**
2293
- * Deletes an entire table from this Input Table. Key columns must match the Input Table.
2294
- * @param tableToDelete -
2295
- * @return Promise of dh.InputTable
2304
+ * True if this table has been closed.
2305
+ * @return boolean
2296
2306
  */
2297
- deleteTable(tableToDelete:Table):Promise<InputTable>;
2307
+ get isClosed():boolean;
2298
2308
  /**
2299
- * Delete multiple tables from this Input Table.
2300
- * @param tablesToDelete -
2301
- * @return
2309
+ * The current number of rows given the table's contents and the various expand/collapse states of each node. (No
2310
+ * totalSize is provided at this time; its definition becomes unclear between roll-up and tree tables, especially
2311
+ * when considering collapse/expand states).
2312
+ * @return double
2302
2313
  */
2303
- deleteTables(tablesToDelete:Table[]):Promise<InputTable>;
2314
+ get size():number;
2304
2315
  /**
2305
- * A list of the key columns, by name
2306
- * @return String array.
2316
+ * The columns that can be shown in this Tree Table.
2317
+ * @return {@link dh.Column} array
2307
2318
  */
2308
- get keys():string[];
2319
+ get columns():Array<Column>;
2309
2320
  /**
2310
- * A list of the value columns, by name
2311
- * @return String array.
2321
+ * The current sort configuration of this Tree Table
2322
+ * @return {@link dh.Sort} array.
2312
2323
  */
2313
- get values():string[];
2324
+ get sort():Array<Sort>;
2314
2325
  /**
2315
- * A list of the key Column objects
2316
- * @return {@link dh.Column} array.
2326
+ * True if this table may receive updates from the server, including size changed events, updated events after
2327
+ * initial snapshot.
2328
+ * @return boolean
2317
2329
  */
2318
- get keyColumns():Column[];
2330
+ get isRefreshing():boolean;
2319
2331
  /**
2320
- * A list of the value Column objects
2321
- * @return {@link dh.Column} array.
2332
+ * Listen for events on this object.
2333
+ * @param name - the name of the event to listen for
2334
+ * @param callback - a function to call when the event occurs
2335
+ * @return Returns a cleanup function.
2336
+ * @typeParam T - the type of the data that the event will provide
2322
2337
  */
2323
- get valueColumns():Column[];
2338
+ addEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):()=>void;
2339
+ nextEvent<T>(eventName:string, timeoutInMillis?:number):Promise<CustomEvent<T>>;
2340
+ hasListeners(name:string):boolean;
2324
2341
  /**
2325
- * The source table for this Input Table
2326
- * @return dh.table
2342
+ * Removes an event listener added to this table.
2343
+ * @param name -
2344
+ * @param callback -
2345
+ * @return
2346
+ * @typeParam T -
2327
2347
  */
2328
- get table():Table;
2329
- }
2330
-
2331
- /**
2332
- * Wrap BigDecimal values for use in JS. Provides text formatting for display and access to the underlying value.
2333
- */
2334
- export class BigDecimalWrapper {
2335
- protected constructor();
2336
-
2337
- static ofString(value:string):BigDecimalWrapper;
2338
- asNumber():number;
2339
- valueOf():string;
2340
- toString():string;
2341
- }
2342
-
2343
- export class LoginCredentials {
2344
- type?:string|null;
2345
- username?:string|null;
2346
- token?:string|null;
2347
-
2348
- constructor();
2349
- }
2350
-
2351
-
2352
- /**
2353
- * A set of string constants that can be used to describe the different objects the JS API can export.
2354
- */
2355
- type VariableTypeType = string;
2356
- export class VariableType {
2357
- static readonly TABLE:VariableTypeType;
2358
- static readonly TREETABLE:VariableTypeType;
2359
- static readonly HIERARCHICALTABLE:VariableTypeType;
2360
- static readonly TABLEMAP:VariableTypeType;
2361
- static readonly PARTITIONEDTABLE:VariableTypeType;
2362
- static readonly FIGURE:VariableTypeType;
2363
- static readonly OTHERWIDGET:VariableTypeType;
2364
- static readonly PANDAS:VariableTypeType;
2365
- static readonly TREEMAP:VariableTypeType;
2348
+ removeEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):boolean;
2366
2349
  }
2367
2350
 
2368
- type SearchDisplayModeType = string;
2369
- export class SearchDisplayMode {
2370
- static readonly SEARCH_DISPLAY_DEFAULT:SearchDisplayModeType;
2371
- static readonly SEARCH_DISPLAY_HIDE:SearchDisplayModeType;
2372
- static readonly SEARCH_DISPLAY_SHOW:SearchDisplayModeType;
2373
- }
2374
2351
 
2375
2352
  /**
2376
2353
  * This enum describes the name of each supported operation/aggregation type when creating a `TreeTable`.
@@ -2393,6 +2370,29 @@ export namespace dh {
2393
2370
  static readonly SKIP:AggregationOperationType;
2394
2371
  }
2395
2372
 
2373
+ type SearchDisplayModeType = string;
2374
+ export class SearchDisplayMode {
2375
+ static readonly SEARCH_DISPLAY_DEFAULT:SearchDisplayModeType;
2376
+ static readonly SEARCH_DISPLAY_HIDE:SearchDisplayModeType;
2377
+ static readonly SEARCH_DISPLAY_SHOW:SearchDisplayModeType;
2378
+ }
2379
+
2380
+ /**
2381
+ * A set of string constants that can be used to describe the different objects the JS API can export.
2382
+ */
2383
+ type VariableTypeType = string;
2384
+ export class VariableType {
2385
+ static readonly TABLE:VariableTypeType;
2386
+ static readonly TREETABLE:VariableTypeType;
2387
+ static readonly HIERARCHICALTABLE:VariableTypeType;
2388
+ static readonly TABLEMAP:VariableTypeType;
2389
+ static readonly PARTITIONEDTABLE:VariableTypeType;
2390
+ static readonly FIGURE:VariableTypeType;
2391
+ static readonly OTHERWIDGET:VariableTypeType;
2392
+ static readonly PANDAS:VariableTypeType;
2393
+ static readonly TREEMAP:VariableTypeType;
2394
+ }
2395
+
2396
2396
  type ValueTypeType = string;
2397
2397
  export class ValueType {
2398
2398
  static readonly STRING:ValueTypeType;
@@ -2407,6 +2407,21 @@ export namespace dh {
2407
2407
 
2408
2408
  export namespace dh.ide {
2409
2409
 
2410
+ /**
2411
+ * Indicates the result of code run on the server.
2412
+ */
2413
+ export interface CommandResult {
2414
+ /**
2415
+ * Describes changes made in the course of this command.
2416
+ * @return {@link dh.ide.VariableChanges}.
2417
+ */
2418
+ get changes():VariableChanges;
2419
+ /**
2420
+ * If the command failed, the error message will be provided here.
2421
+ * @return String
2422
+ */
2423
+ get error():string;
2424
+ }
2410
2425
  /**
2411
2426
  * Represents a serialized fishlib LogRecord, suitable for display on javascript clients. A log entry sent from the
2412
2427
  * server.
@@ -2429,6 +2444,14 @@ export namespace dh.ide {
2429
2444
  get message():string;
2430
2445
  }
2431
2446
  /**
2447
+ * Specifies a type and either id or name (but not both).
2448
+ */
2449
+ export interface VariableDescriptor {
2450
+ type:string;
2451
+ id?:string|null;
2452
+ name?:string|null;
2453
+ }
2454
+ /**
2432
2455
  * A format to describe a variable available to be read from the server. Application fields are optional, and only
2433
2456
  * populated when a variable is provided by application mode.
2434
2457
  * <p>
@@ -2463,19 +2486,11 @@ export namespace dh.ide {
2463
2486
  * @return String
2464
2487
  */
2465
2488
  get applicationId():string;
2466
- /**
2467
- * The name of the application which provided this variable
2468
- * @return String
2469
- */
2470
- get applicationName():string;
2471
- }
2472
- /**
2473
- * Specifies a type and either id or name (but not both).
2474
- */
2475
- export interface VariableDescriptor {
2476
- type:string;
2477
- id?:string|null;
2478
- name?:string|null;
2489
+ /**
2490
+ * The name of the application which provided this variable
2491
+ * @return String
2492
+ */
2493
+ get applicationName():string;
2479
2494
  }
2480
2495
  /**
2481
2496
  * Describes changes in the current set of variables in the script session. Note that variables that changed value
@@ -2501,24 +2516,63 @@ export namespace dh.ide {
2501
2516
  */
2502
2517
  get updated():Array<VariableDefinition>;
2503
2518
  }
2519
+ }
2520
+
2521
+ export namespace dh.i18n {
2522
+
2504
2523
  /**
2505
- * Indicates the result of code run on the server.
2524
+ * Exported wrapper of the GWT NumberFormat, plus LongWrapper support
2525
+ *
2526
+ * Utility class to parse and format numbers, using the same format patterns as are supported by the standard Java
2527
+ * implementation used in the Deephaven server and swing client. Works for numeric types including BigInteger and
2528
+ * BigDecimal.
2506
2529
  */
2507
- export interface CommandResult {
2530
+ export class NumberFormat {
2508
2531
  /**
2509
- * Describes changes made in the course of this command.
2510
- * @return {@link dh.ide.VariableChanges}.
2532
+ * Creates a new number format instance. This generally should be avoided in favor of the static `getFormat`
2533
+ * function, which will create and cache an instance so that later calls share the same instance.
2534
+ * @param pattern -
2511
2535
  */
2512
- get changes():VariableChanges;
2536
+ constructor(pattern:string);
2537
+
2513
2538
  /**
2514
- * If the command failed, the error message will be provided here.
2539
+ * a number format instance matching the specified format. If this format has not been specified before, a new
2540
+ * instance will be created and cached for later reuse. Prefer this method to calling the constructor directly to
2541
+ * take advantage of caching
2542
+ * @param pattern -
2543
+ * @return dh.i18n.NumberFormat
2544
+ */
2545
+ static getFormat(pattern:string):NumberFormat;
2546
+ /**
2547
+ * Parses the given text using the cached format matching the given pattern.
2548
+ * @param pattern -
2549
+ * @param text -
2550
+ * @return double
2551
+ */
2552
+ static parse(pattern:string, text:string):number;
2553
+ /**
2554
+ * Formats the specified number (or Java <b>long</b>, <b>BigInteger</b> or <b>BigDecimal</b> value) using the cached
2555
+ * format matching the given pattern string.
2556
+ * @param pattern -
2557
+ * @param number -
2515
2558
  * @return String
2516
2559
  */
2517
- get error():string;
2560
+ static format(pattern:string, number:number|dh.BigIntegerWrapper|dh.BigDecimalWrapper|dh.LongWrapper):string;
2561
+ /**
2562
+ * Parses the given text using this instance's pattern into a JS Number.
2563
+ * @param text -
2564
+ * @return double
2565
+ */
2566
+ parse(text:string):number;
2567
+ /**
2568
+ * Formats the specified number (or Java `long`, `BigInteger` or `BigDecimal` value) using this instance's pattern.
2569
+ * @param number -
2570
+ * @return String
2571
+ */
2572
+ format(number:number|dh.BigIntegerWrapper|dh.BigDecimalWrapper|dh.LongWrapper):string;
2573
+ toString():string;
2518
2574
  }
2519
- }
2520
2575
 
2521
- export namespace dh.i18n {
2522
2576
 
2523
2577
  /**
2524
2578
  * Represents the timezones supported by Deephaven. Can be used to format dates, taking into account the offset changing
@@ -2631,60 +2685,6 @@ export namespace dh.i18n {
2631
2685
  get id():string;
2632
2686
  }
2633
2687
 
2634
- /**
2635
- * Exported wrapper of the GWT NumberFormat, plus LongWrapper support
2636
- *
2637
- * Utility class to parse and format numbers, using the same format patterns as are supported by the standard Java
2638
- * implementation used in the Deephaven server and swing client. Works for numeric types including BigInteger and
2639
- * BigDecimal.
2640
- */
2641
- export class NumberFormat {
2642
- /**
2643
- * Creates a new number format instance. This generally should be avoided in favor of the static `getFormat`
2644
- * function, which will create and cache an instance so that later calls share the same instance.
2645
- * @param pattern -
2646
- */
2647
- constructor(pattern:string);
2648
-
2649
- /**
2650
- * a number format instance matching the specified format. If this format has not been specified before, a new
2651
- * instance will be created and cached for later reuse. Prefer this method to calling the constructor directly to
2652
- * take advantage of caching
2653
- * @param pattern -
2654
- * @return dh.i18n.NumberFormat
2655
- */
2656
- static getFormat(pattern:string):NumberFormat;
2657
- /**
2658
- * Parses the given text using the cached format matching the given pattern.
2659
- * @param pattern -
2660
- * @param text -
2661
- * @return double
2662
- */
2663
- static parse(pattern:string, text:string):number;
2664
- /**
2665
- * Formats the specified number (or Java <b>long</b>, <b>BigInteger</b> or <b>BigDecimal</b> value) using the cached
2666
- * format matching the given pattern string.
2667
- * @param pattern -
2668
- * @param number -
2669
- * @return String
2670
- */
2671
- static format(pattern:string, number:number|dh.BigIntegerWrapper|dh.BigDecimalWrapper|dh.LongWrapper):string;
2672
- /**
2673
- * Parses the given text using this instance's pattern into a JS Number.
2674
- * @param text -
2675
- * @return double
2676
- */
2677
- parse(text:string):number;
2678
- /**
2679
- * Formats the specified number (or Java `long`, `BigInteger` or `BigDecimal` value) using this instance's pattern.
2680
- * @param number -
2681
- * @return String
2682
- */
2683
- format(number:number|dh.BigIntegerWrapper|dh.BigDecimalWrapper|dh.LongWrapper):string;
2684
- toString():string;
2685
- }
2686
-
2687
-
2688
2688
  /**
2689
2689
  * Largely an exported wrapper for the GWT DateFormat, but also includes support for formatting nanoseconds as an
2690
2690
  * additional 6 decimal places after the rest of the number.
@@ -2831,6 +2831,27 @@ export namespace dh.plot {
2831
2831
  get multiSeries():MultiSeries;
2832
2832
  get shapeLabel():string;
2833
2833
  }
2834
+ export interface OneClick {
2835
+ setValueForColumn(columnName:string, value:any):void;
2836
+ getValueForColumn(columName:string):any;
2837
+ get requireAllFiltersToDisplay():boolean;
2838
+ get columns():dh.Column[];
2839
+ }
2840
+ /**
2841
+ * Describes a template that will be used to make new series instances when a new table added to a plotBy.
2842
+ */
2843
+ export interface MultiSeries {
2844
+ /**
2845
+ * The name for this multi-series.
2846
+ * @return String
2847
+ */
2848
+ get name():string;
2849
+ /**
2850
+ * The plotting style to use for the series that will be created. See <b>SeriesPlotStyle</b> enum for more details.
2851
+ * @return int
2852
+ */
2853
+ get plotStyle():SeriesPlotStyleType;
2854
+ }
2834
2855
  export interface FigureDataUpdatedEvent {
2835
2856
  getArray(series:Series, sourceType:number, mappingFunc?:(arg0:any)=>any):Array<any>;
2836
2857
  get series():Series[];
@@ -2923,52 +2944,45 @@ export namespace dh.plot {
2923
2944
  */
2924
2945
  get type():SourceTypeType;
2925
2946
  }
2926
- export interface OneClick {
2927
- setValueForColumn(columnName:string, value:any):void;
2928
- getValueForColumn(columName:string):any;
2929
- get requireAllFiltersToDisplay():boolean;
2930
- get columns():dh.Column[];
2931
- }
2932
- /**
2933
- * Describes a template that will be used to make new series instances when a new table added to a plotBy.
2934
- */
2935
- export interface MultiSeries {
2936
- /**
2937
- * The name for this multi-series.
2938
- * @return String
2939
- */
2940
- get name():string;
2941
- /**
2942
- * The plotting style to use for the series that will be created. See <b>SeriesPlotStyle</b> enum for more details.
2943
- * @return int
2944
- */
2945
- get plotStyle():SeriesPlotStyleType;
2947
+
2948
+ export class FigureSourceException {
2949
+ table:dh.Table;
2950
+ source:SeriesDataSource;
2951
+
2952
+ protected constructor();
2946
2953
  }
2947
2954
 
2948
- export class DownsampleOptions {
2949
- /**
2950
- * Max number of items in the series before DEFAULT will not attempt to load the series without downsampling. Above
2951
- * this size if downsample fails or is not applicable, the series won't be loaded unless DISABLE is passed to
2952
- * series.subscribe().
2953
- */
2954
- static MAX_SERIES_SIZE:number;
2955
- /**
2956
- * Max number of items in the series where the subscription will be allowed at all. Above this limit, even with
2957
- * downsampling disabled, the series will not load data.
2958
- */
2959
- static MAX_SUBSCRIPTION_SIZE:number;
2960
- /**
2961
- * Flag to let the API decide what data will be available, based on the nature of the data, the series, and how the
2962
- * axes are configured.
2963
- */
2964
- static readonly DEFAULT:DownsampleOptions;
2965
- /**
2966
- * Flat to entirely disable downsampling, and force all data to load, no matter how many items that would be, up to
2967
- * the limit of MAX_SUBSCRIPTION_SIZE.
2968
- */
2969
- static readonly DISABLE:DownsampleOptions;
2955
+ export class SourceDescriptor {
2956
+ axis:AxisDescriptor;
2957
+ table:dh.Table;
2958
+ columnName:string;
2959
+ type:string;
2960
+
2961
+ constructor();
2962
+ }
2970
2963
 
2964
+ export class SeriesDataSourceException {
2971
2965
  protected constructor();
2966
+
2967
+ get source():SeriesDataSource;
2968
+ get message():string;
2969
+ }
2970
+
2971
+ /**
2972
+ * A descriptor used with JsFigureFactory.create to create a figure from JS.
2973
+ */
2974
+ export class FigureDescriptor {
2975
+ title?:string|null;
2976
+ titleFont?:string|null;
2977
+ titleColor?:string|null;
2978
+ isResizable?:boolean|null;
2979
+ isDefaultTheme?:boolean|null;
2980
+ updateInterval?:number|null;
2981
+ cols?:number|null;
2982
+ rows?:number|null;
2983
+ charts:Array<ChartDescriptor>;
2984
+
2985
+ constructor();
2972
2986
  }
2973
2987
 
2974
2988
  /**
@@ -2990,6 +3004,23 @@ export namespace dh.plot {
2990
3004
  static runChartDownsample(table:dh.Table, xCol:string, yCols:string[], width:number, xRange?:dh.LongWrapper[]|undefined|null):Promise<dh.Table>;
2991
3005
  }
2992
3006
 
3007
+ /**
3008
+ * Helper class to manage snapshots and deltas and keep not only a contiguous JS array of data per column in the
3009
+ * underlying table, but also support a mapping function to let client code translate data in some way for display and
3010
+ * keep that cached as well.
3011
+ */
3012
+ export class ChartData {
3013
+ constructor(table:dh.Table);
3014
+
3015
+ update(tableData:dh.SubscriptionTableData):void;
3016
+ getColumn(columnName:string, mappingFunc:(arg0:any)=>any, currentUpdate:dh.TableData):Array<any>;
3017
+ /**
3018
+ * Removes some column from the cache, avoiding extra computation on incoming events, and possibly freeing some
3019
+ * memory. If this pair of column name and map function are requested again, it will be recomputed from scratch.
3020
+ */
3021
+ removeColumn(columnName:string, mappingFunc:(arg0:any)=>any):void;
3022
+ }
3023
+
2993
3024
  /**
2994
3025
  * Provide the details for a chart.
2995
3026
  */
@@ -3031,31 +3062,7 @@ export namespace dh.plot {
3031
3062
  get row():number;
3032
3063
  get legendColor():string;
3033
3064
  get legendFont():string;
3034
- get multiSeries():MultiSeries[];
3035
- }
3036
-
3037
- export class FigureSourceException {
3038
- table:dh.Table;
3039
- source:SeriesDataSource;
3040
-
3041
- protected constructor();
3042
- }
3043
-
3044
- /**
3045
- * A descriptor used with JsFigureFactory.create to create a figure from JS.
3046
- */
3047
- export class FigureDescriptor {
3048
- title?:string|null;
3049
- titleFont?:string|null;
3050
- titleColor?:string|null;
3051
- isResizable?:boolean|null;
3052
- isDefaultTheme?:boolean|null;
3053
- updateInterval?:number|null;
3054
- cols?:number|null;
3055
- rows?:number|null;
3056
- charts:Array<ChartDescriptor>;
3057
-
3058
- constructor();
3065
+ get multiSeries():MultiSeries[];
3059
3066
  }
3060
3067
 
3061
3068
  /**
@@ -3195,15 +3202,32 @@ export namespace dh.plot {
3195
3202
  constructor();
3196
3203
  }
3197
3204
 
3198
- export class SourceDescriptor {
3199
- axis:AxisDescriptor;
3200
- table:dh.Table;
3201
- columnName:string;
3202
- type:string;
3205
+ export class SeriesDescriptor {
3206
+ plotStyle:string;
3207
+ name?:string|null;
3208
+ linesVisible?:boolean|null;
3209
+ shapesVisible?:boolean|null;
3210
+ gradientVisible?:boolean|null;
3211
+ lineColor?:string|null;
3212
+ pointLabelFormat?:string|null;
3213
+ xToolTipPattern?:string|null;
3214
+ yToolTipPattern?:string|null;
3215
+ shapeLabel?:string|null;
3216
+ shapeSize?:number|null;
3217
+ shapeColor?:string|null;
3218
+ shape?:string|null;
3219
+ dataSources:Array<SourceDescriptor>;
3203
3220
 
3204
3221
  constructor();
3205
3222
  }
3206
3223
 
3224
+ export class FigureFetchError {
3225
+ error:object;
3226
+ errors:Array<string>;
3227
+
3228
+ protected constructor();
3229
+ }
3230
+
3207
3231
  export class AxisDescriptor {
3208
3232
  formatType:string;
3209
3233
  type:string;
@@ -3228,57 +3252,58 @@ export namespace dh.plot {
3228
3252
  constructor();
3229
3253
  }
3230
3254
 
3231
- export class FigureFetchError {
3232
- error:object;
3233
- errors:Array<string>;
3255
+ export class DownsampleOptions {
3256
+ /**
3257
+ * Max number of items in the series before DEFAULT will not attempt to load the series without downsampling. Above
3258
+ * this size if downsample fails or is not applicable, the series won't be loaded unless DISABLE is passed to
3259
+ * series.subscribe().
3260
+ */
3261
+ static MAX_SERIES_SIZE:number;
3262
+ /**
3263
+ * Max number of items in the series where the subscription will be allowed at all. Above this limit, even with
3264
+ * downsampling disabled, the series will not load data.
3265
+ */
3266
+ static MAX_SUBSCRIPTION_SIZE:number;
3267
+ /**
3268
+ * Flag to let the API decide what data will be available, based on the nature of the data, the series, and how the
3269
+ * axes are configured.
3270
+ */
3271
+ static readonly DEFAULT:DownsampleOptions;
3272
+ /**
3273
+ * Flat to entirely disable downsampling, and force all data to load, no matter how many items that would be, up to
3274
+ * the limit of MAX_SUBSCRIPTION_SIZE.
3275
+ */
3276
+ static readonly DISABLE:DownsampleOptions;
3234
3277
 
3235
3278
  protected constructor();
3236
3279
  }
3237
3280
 
3238
- /**
3239
- * Helper class to manage snapshots and deltas and keep not only a contiguous JS array of data per column in the
3240
- * underlying table, but also support a mapping function to let client code translate data in some way for display and
3241
- * keep that cached as well.
3242
- */
3243
- export class ChartData {
3244
- constructor(table:dh.Table);
3245
3281
 
3246
- update(tableData:dh.SubscriptionTableData):void;
3247
- getColumn(columnName:string, mappingFunc:(arg0:any)=>any, currentUpdate:dh.TableData):Array<any>;
3248
- /**
3249
- * Removes some column from the cache, avoiding extra computation on incoming events, and possibly freeing some
3250
- * memory. If this pair of column name and map function are requested again, it will be recomputed from scratch.
3251
- */
3252
- removeColumn(columnName:string, mappingFunc:(arg0:any)=>any):void;
3282
+ type AxisTypeType = number;
3283
+ export class AxisType {
3284
+ static readonly X:AxisTypeType;
3285
+ static readonly Y:AxisTypeType;
3286
+ static readonly SHAPE:AxisTypeType;
3287
+ static readonly SIZE:AxisTypeType;
3288
+ static readonly LABEL:AxisTypeType;
3289
+ static readonly COLOR:AxisTypeType;
3253
3290
  }
3254
3291
 
3255
- export class SeriesDescriptor {
3256
- plotStyle:string;
3257
- name?:string|null;
3258
- linesVisible?:boolean|null;
3259
- shapesVisible?:boolean|null;
3260
- gradientVisible?:boolean|null;
3261
- lineColor?:string|null;
3262
- pointLabelFormat?:string|null;
3263
- xToolTipPattern?:string|null;
3264
- yToolTipPattern?:string|null;
3265
- shapeLabel?:string|null;
3266
- shapeSize?:number|null;
3267
- shapeColor?:string|null;
3268
- shape?:string|null;
3269
- dataSources:Array<SourceDescriptor>;
3270
-
3271
- constructor();
3292
+ type AxisFormatTypeType = number;
3293
+ export class AxisFormatType {
3294
+ static readonly CATEGORY:AxisFormatTypeType;
3295
+ static readonly NUMBER:AxisFormatTypeType;
3272
3296
  }
3273
3297
 
3274
- export class SeriesDataSourceException {
3275
- protected constructor();
3276
-
3277
- get source():SeriesDataSource;
3278
- get message():string;
3298
+ type AxisPositionType = number;
3299
+ export class AxisPosition {
3300
+ static readonly TOP:AxisPositionType;
3301
+ static readonly BOTTOM:AxisPositionType;
3302
+ static readonly LEFT:AxisPositionType;
3303
+ static readonly RIGHT:AxisPositionType;
3304
+ static readonly NONE:AxisPositionType;
3279
3305
  }
3280
3306
 
3281
-
3282
3307
  /**
3283
3308
  * This enum describes what kind of chart is being drawn. This may limit what kinds of series can be found on it, or how
3284
3309
  * those series should be rendered.
@@ -3294,47 +3319,6 @@ export namespace dh.plot {
3294
3319
  static readonly TREEMAP:ChartTypeType;
3295
3320
  }
3296
3321
 
3297
- type AxisPositionType = number;
3298
- export class AxisPosition {
3299
- static readonly TOP:AxisPositionType;
3300
- static readonly BOTTOM:AxisPositionType;
3301
- static readonly LEFT:AxisPositionType;
3302
- static readonly RIGHT:AxisPositionType;
3303
- static readonly NONE:AxisPositionType;
3304
- }
3305
-
3306
- type AxisTypeType = number;
3307
- export class AxisType {
3308
- static readonly X:AxisTypeType;
3309
- static readonly Y:AxisTypeType;
3310
- static readonly SHAPE:AxisTypeType;
3311
- static readonly SIZE:AxisTypeType;
3312
- static readonly LABEL:AxisTypeType;
3313
- static readonly COLOR:AxisTypeType;
3314
- }
3315
-
3316
- type SeriesPlotStyleType = number;
3317
- export class SeriesPlotStyle {
3318
- static readonly BAR:SeriesPlotStyleType;
3319
- static readonly STACKED_BAR:SeriesPlotStyleType;
3320
- static readonly LINE:SeriesPlotStyleType;
3321
- static readonly AREA:SeriesPlotStyleType;
3322
- static readonly STACKED_AREA:SeriesPlotStyleType;
3323
- static readonly PIE:SeriesPlotStyleType;
3324
- static readonly HISTOGRAM:SeriesPlotStyleType;
3325
- static readonly OHLC:SeriesPlotStyleType;
3326
- static readonly SCATTER:SeriesPlotStyleType;
3327
- static readonly STEP:SeriesPlotStyleType;
3328
- static readonly ERROR_BAR:SeriesPlotStyleType;
3329
- static readonly TREEMAP:SeriesPlotStyleType;
3330
- }
3331
-
3332
- type AxisFormatTypeType = number;
3333
- export class AxisFormatType {
3334
- static readonly CATEGORY:AxisFormatTypeType;
3335
- static readonly NUMBER:AxisFormatTypeType;
3336
- }
3337
-
3338
3322
  /**
3339
3323
  * This enum describes the source it is in, and how this aspect of the data in the series should be used to render the
3340
3324
  * item. For example, a point in a error-bar plot might have a X value, three Y values (Y, Y_LOW, Y_HIGH), and some
@@ -3364,37 +3348,46 @@ export namespace dh.plot {
3364
3348
  static readonly HOVER_TEXT:SourceTypeType;
3365
3349
  }
3366
3350
 
3351
+ type SeriesPlotStyleType = number;
3352
+ export class SeriesPlotStyle {
3353
+ static readonly BAR:SeriesPlotStyleType;
3354
+ static readonly STACKED_BAR:SeriesPlotStyleType;
3355
+ static readonly LINE:SeriesPlotStyleType;
3356
+ static readonly AREA:SeriesPlotStyleType;
3357
+ static readonly STACKED_AREA:SeriesPlotStyleType;
3358
+ static readonly PIE:SeriesPlotStyleType;
3359
+ static readonly HISTOGRAM:SeriesPlotStyleType;
3360
+ static readonly OHLC:SeriesPlotStyleType;
3361
+ static readonly SCATTER:SeriesPlotStyleType;
3362
+ static readonly STEP:SeriesPlotStyleType;
3363
+ static readonly ERROR_BAR:SeriesPlotStyleType;
3364
+ static readonly TREEMAP:SeriesPlotStyleType;
3365
+ }
3366
+
3367
3367
  }
3368
3368
 
3369
3369
  export namespace dh.lsp {
3370
3370
 
3371
- export class MarkupContent {
3372
- kind:string;
3373
- value:string;
3374
-
3375
- constructor();
3376
- }
3377
-
3378
- export class TextDocumentContentChangeEvent {
3371
+ export class TextEdit {
3379
3372
  range:Range;
3380
- rangeLength:number;
3381
3373
  text:string;
3382
3374
 
3383
3375
  constructor();
3384
3376
  }
3385
3377
 
3386
- export class SignatureInformation {
3387
- label:string;
3388
- documentation:MarkupContent;
3389
- parameters:Array<ParameterInformation>;
3390
- activeParameter:number;
3391
-
3392
- constructor();
3393
- }
3394
-
3395
- export class ParameterInformation {
3378
+ export class CompletionItem {
3396
3379
  label:string;
3380
+ kind:number;
3381
+ detail:string;
3397
3382
  documentation:MarkupContent;
3383
+ deprecated:boolean;
3384
+ preselect:boolean;
3385
+ textEdit:TextEdit;
3386
+ sortText:string;
3387
+ filterText:string;
3388
+ insertTextFormat:number;
3389
+ additionalTextEdits:Array<TextEdit>;
3390
+ commitCharacters:Array<string>;
3398
3391
 
3399
3392
  constructor();
3400
3393
  }
@@ -3406,9 +3399,9 @@ export namespace dh.lsp {
3406
3399
  constructor();
3407
3400
  }
3408
3401
 
3409
- export class TextEdit {
3410
- range:Range;
3411
- text:string;
3402
+ export class ParameterInformation {
3403
+ label:string;
3404
+ documentation:MarkupContent;
3412
3405
 
3413
3406
  constructor();
3414
3407
  }
@@ -3422,19 +3415,11 @@ export namespace dh.lsp {
3422
3415
  isInside(innerStart:Position, innerEnd:Position):boolean;
3423
3416
  }
3424
3417
 
3425
- export class CompletionItem {
3418
+ export class SignatureInformation {
3426
3419
  label:string;
3427
- kind:number;
3428
- detail:string;
3429
3420
  documentation:MarkupContent;
3430
- deprecated:boolean;
3431
- preselect:boolean;
3432
- textEdit:TextEdit;
3433
- sortText:string;
3434
- filterText:string;
3435
- insertTextFormat:number;
3436
- additionalTextEdits:Array<TextEdit>;
3437
- commitCharacters:Array<string>;
3421
+ parameters:Array<ParameterInformation>;
3422
+ activeParameter:number;
3438
3423
 
3439
3424
  constructor();
3440
3425
  }
@@ -3452,10 +3437,37 @@ export namespace dh.lsp {
3452
3437
  copy():Position;
3453
3438
  }
3454
3439
 
3440
+ export class MarkupContent {
3441
+ kind:string;
3442
+ value:string;
3443
+
3444
+ constructor();
3445
+ }
3446
+
3447
+ export class TextDocumentContentChangeEvent {
3448
+ range:Range;
3449
+ rangeLength:number;
3450
+ text:string;
3451
+
3452
+ constructor();
3453
+ }
3454
+
3455
3455
  }
3456
3456
 
3457
3457
  export namespace dh.calendar {
3458
3458
 
3459
+ export interface Holiday {
3460
+ /**
3461
+ * The date of the Holiday.
3462
+ * @return {@link dh.LocalDateWrapper}
3463
+ */
3464
+ get date():dh.LocalDateWrapper;
3465
+ /**
3466
+ * The business periods that are open on the holiday.
3467
+ * @return dh.calendar.BusinessPeriod
3468
+ */
3469
+ get businessPeriods():Array<BusinessPeriod>;
3470
+ }
3459
3471
  /**
3460
3472
  * Defines a calendar with business hours and holidays.
3461
3473
  */
@@ -3490,18 +3502,6 @@ export namespace dh.calendar {
3490
3502
  get close():string;
3491
3503
  get open():string;
3492
3504
  }
3493
- export interface Holiday {
3494
- /**
3495
- * The date of the Holiday.
3496
- * @return {@link dh.LocalDateWrapper}
3497
- */
3498
- get date():dh.LocalDateWrapper;
3499
- /**
3500
- * The business periods that are open on the holiday.
3501
- * @return dh.calendar.BusinessPeriod
3502
- */
3503
- get businessPeriods():Array<BusinessPeriod>;
3504
- }
3505
3505
 
3506
3506
  type DayOfWeekType = string;
3507
3507
  export class DayOfWeek {