@deephaven/jsapi-types 1.0.0-dev0.36.0 → 1.0.0-dev0.36.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.d.ts +1027 -1027
  2. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -17,6 +17,37 @@ export interface Iterator<T> {
17
17
  }
18
18
  export namespace dh.storage {
19
19
 
20
+ /**
21
+ * Storage service metadata about files and folders.
22
+ */
23
+ export class ItemDetails {
24
+ protected constructor();
25
+
26
+ toString():string;
27
+ get filename():string;
28
+ get basename():string;
29
+ get size():number;
30
+ get etag():string;
31
+ get type():ItemTypeType;
32
+ get dirname():string;
33
+ }
34
+
35
+ /**
36
+ * Represents a file's contents loaded from the server. If an etag was specified when loading, client should first test
37
+ * if the etag of this instance matches - if so, the contents will be empty, and the client's existing contents should
38
+ * be used.
39
+ */
40
+ export class FileContents {
41
+ protected constructor();
42
+
43
+ static blob(blob:Blob):FileContents;
44
+ static text(...text:string[]):FileContents;
45
+ static arrayBuffers(...buffers:ArrayBuffer[]):FileContents;
46
+ text():Promise<string>;
47
+ arrayBuffer():Promise<ArrayBuffer>;
48
+ get etag():string;
49
+ }
50
+
20
51
  /**
21
52
  * Remote service to read and write files on the server. Paths use "/" as a separator, and should not start with "/".
22
53
  */
@@ -75,37 +106,6 @@ export namespace dh.storage {
75
106
  createDirectory(path:string):Promise<void>;
76
107
  }
77
108
 
78
- /**
79
- * Storage service metadata about files and folders.
80
- */
81
- export class ItemDetails {
82
- protected constructor();
83
-
84
- toString():string;
85
- get filename():string;
86
- get basename():string;
87
- get size():number;
88
- get etag():string;
89
- get type():ItemTypeType;
90
- get dirname():string;
91
- }
92
-
93
- /**
94
- * Represents a file's contents loaded from the server. If an etag was specified when loading, client should first test
95
- * if the etag of this instance matches - if so, the contents will be empty, and the client's existing contents should
96
- * be used.
97
- */
98
- export class FileContents {
99
- protected constructor();
100
-
101
- static blob(blob:Blob):FileContents;
102
- static text(...text:string[]):FileContents;
103
- static arrayBuffers(...buffers:ArrayBuffer[]):FileContents;
104
- text():Promise<string>;
105
- arrayBuffer():Promise<ArrayBuffer>;
106
- get etag():string;
107
- }
108
-
109
109
 
110
110
  type ItemTypeType = string;
111
111
  export class ItemType {
@@ -122,134 +122,13 @@ export namespace dh {
122
122
  get children():string[]|null;
123
123
  get color():string|null;
124
124
  }
125
- /**
126
- * Behaves like a Table, but doesn't expose all of its API for changing the internal state. Instead, state is driven by
127
- * the upstream table - when it changes handle, this listens and updates its own handle accordingly.
128
- *
129
- * Additionally, this is automatically subscribed to its one and only row, across all columns.
130
- *
131
- * A new config is returned any time it is accessed, to prevent accidental mutation, and to allow it to be used as a
132
- * template when fetching a new totals table, or changing the totals table in use.
133
- *
134
- * A simplistic Table, providing access to aggregation of the table it is sourced from. This table is always
135
- * automatically subscribed to its parent, and adopts changes automatically from it. This class has limited methods
136
- * found on Table. Instances of this type always have a size of one when no groupBy is set on the config, but may
137
- * potentially contain as few as zero rows, or as many as the parent table if each row gets its own group.
138
- *
139
- * When using the `groupBy` feature, it may be desireable to also provide a row to the user with all values across all
140
- * rows. To achieve this, request the same Totals Table again, but remove the `groupBy` setting.
141
- */
142
- export interface TotalsTable extends JoinableTable {
143
- /**
144
- * Specifies the range of items to pass to the client and update as they change. If the columns parameter is not
145
- * provided, all columns will be used. Until this is called, no data will be available. Invoking this will result in
146
- * events to be fired once data becomes available, starting with an <b>updated</b> event and one <b>rowadded</b>
147
- * event per row in that range.
148
- * @param firstRow -
149
- * @param lastRow -
150
- * @param columns -
151
- * @param updateIntervalMs -
152
- */
153
- setViewport(firstRow:number, lastRow:number, columns?:Array<Column>, updateIntervalMs?:number):void;
154
- /**
155
- * the currently visible viewport. If the current set of operations has not yet resulted in data, it will not
156
- * resolve until that data is ready.
157
- * @return Promise of {@link dh.TableData}
158
- */
159
- getViewportData():Promise<TableData>;
160
- /**
161
- * a column by the given name. You should prefer to always retrieve a new Column instance instead of caching a
162
- * returned value.
163
- * @param key -
164
- * @return {@link dh.Column}
165
- */
166
- findColumn(key:string):Column;
167
- /**
168
- * multiple columns specified by the given names.
169
- * @param keys -
170
- * @return {@link dh.Column} array
171
- */
172
- findColumns(keys:string[]):Column[];
173
- /**
174
- * Indicates that the table will no longer be used, and resources used to provide it can be freed up on the server.
175
- */
176
- close():void;
177
- addEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):()=>void;
178
- removeEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):boolean;
179
- nextEvent<T>(eventName:string, timeoutInMillis:number):Promise<CustomEvent<T>>;
180
- hasListeners(name:string):boolean;
181
- /**
182
- * Replace the currently set sort on this table. Returns the previously set value. Note that the sort property will
183
- * immediately return the new value, but you may receive update events using the old sort before the new sort is
184
- * applied, and the <b>sortchanged</b> event fires. Reusing existing, applied sorts may enable this to perform
185
- * better on the server. The <b>updated</b> event will also fire, but <b>rowadded</b> and <b>rowremoved</b> will
186
- * not.
187
- * @param sort -
188
- * @return {@link dh.Sort} array
189
- */
190
- applySort(sort:Sort[]):Array<Sort>;
191
- /**
192
- * Replace the current custom columns with a new set. These columns can be used when adding new filter and sort
193
- * operations to the table, as long as they are present.
194
- * @param customColumns -
195
- * @return
196
- */
197
- applyCustomColumns(customColumns:Array<string|CustomColumn>):Array<CustomColumn>;
198
- /**
199
- * Replace the currently set filters on the table. Returns the previously set value. Note that the filter property
200
- * will immediately return the new value, but you may receive update events using the old filter before the new one
201
- * is applied, and the <b>filterchanged</b> event fires. Reusing existing, applied filters may enable this to
202
- * perform better on the server. The <b>updated</b> event will also fire, but <b>rowadded</b> and <b>rowremoved</b>
203
- * will not.
204
- * @param filter -
205
- * @return {@link dh.FilterCondition} array
206
- */
207
- applyFilter(filter:FilterCondition[]):Array<FilterCondition>;
208
- /**
209
- * An ordered list of Filters to apply to the table. To update, call applyFilter(). Note that this getter will
210
- * return the new value immediately, even though it may take a little time to update on the server. You may listen
211
- * for the <b>filterchanged</b> event to know when to update the UI.
212
- * @return {@link dh.FilterCondition} array
213
- */
214
- get filter():Array<FilterCondition>;
215
- /**
216
- * True if this table has been closed.
217
- * @return boolean
218
- */
219
- get isClosed():boolean;
220
- /**
221
- * The total number of rows in this table. This may change as the base table's configuration, filter, or contents
222
- * change.
223
- * @return double
224
- */
225
- get size():number;
226
- /**
227
- * The columns present on this table. Note that this may not include all columns in the parent table, and in cases
228
- * where a given column has more than one aggregation applied, the column name will have a suffix indicating the
229
- * aggregation used. This suffixed name will be of the form <b>columnName + '__' + aggregationName</b>.
230
- * @return {@link dh.Column} array
231
- */
232
- get columns():Array<Column>;
233
- get totalsTableConfig():TotalsTableConfig;
234
- /**
235
- * An ordered list of Sorts to apply to the table. To update, call applySort(). Note that this getter will return
236
- * the new value immediately, even though it may take a little time to update on the server. You may listen for the
237
- * <b>sortchanged</b> event to know when to update the UI.
238
- * @return {@link dh.Sort} array
239
- */
240
- get sort():Array<Sort>;
241
- /**
242
- * Read-only. An ordered list of custom column formulas to add to the table, either adding new columns or replacing
243
- * existing ones. To update, call <b>applyCustomColumns()</b>.
244
- * @return {@link dh.CustomColumn} array
245
- */
246
- get customColumns():Array<CustomColumn>;
125
+ export interface WorkerHeapInfo {
247
126
  /**
248
- * True if this table may receive updates from the server, including size changed events, updated events after
249
- * initial snapshot.
250
- * @return boolean
127
+ * Total heap size available for this worker.
251
128
  */
252
- get isRefreshing():boolean;
129
+ get totalHeapSize():number;
130
+ get freeMemory():number;
131
+ get maximumHeapSize():number;
253
132
  }
254
133
  /**
255
134
  * Common interface for various ways of accessing table data and formatting.
@@ -319,14 +198,6 @@ export namespace dh {
319
198
  getViewportData():Promise<TableData>;
320
199
  snapshot(rows:RangeSet, columns:Column[]):Promise<TableData>;
321
200
  }
322
- export interface WorkerHeapInfo {
323
- /**
324
- * Total heap size available for this worker.
325
- */
326
- get totalHeapSize():number;
327
- get freeMemory():number;
328
- get maximumHeapSize():number;
329
- }
330
201
  /**
331
202
  * Event data, describing the indexes that were added/removed/updated, and providing access to Rows (and thus data
332
203
  * in columns) either by index, or scanning the complete present index.
@@ -361,34 +232,25 @@ export namespace dh {
361
232
  get modified():RangeSet;
362
233
  get rows():Array<Row>;
363
234
  }
364
- export interface RefreshToken {
365
- get bytes():string;
366
- get expiry():number;
367
- }
368
- /**
369
- * This object may be pooled internally or discarded and not updated. Do not retain references to it.
370
- */
371
- export interface Format {
372
- /**
373
- * The format string to apply to the value of this cell.
374
- * @return String
375
- */
376
- readonly formatString?:string|null;
377
- /**
378
- * Color to apply to the cell's background, in <b>#rrggbb</b> format.
379
- * @return String
380
- */
381
- readonly backgroundColor?:string|null;
235
+ export interface HasEventHandling {
382
236
  /**
383
- * Color to apply to the text, in <b>#rrggbb</b> format.
384
- * @return String
237
+ * Listen for events on this object.
238
+ * @param name - the name of the event to listen for
239
+ * @param callback - a function to call when the event occurs
240
+ * @return Returns a cleanup function.
241
+ * @typeParam T - the type of the data that the event will provide
385
242
  */
386
- readonly color?:string|null;
243
+ addEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):()=>void;
244
+ nextEvent<T>(eventName:string, timeoutInMillis?:number):Promise<CustomEvent<T>>;
245
+ hasListeners(name:string):boolean;
387
246
  /**
388
- *
389
- * @deprecated Prefer formatString. Number format string to apply to the value in this cell.
247
+ * Removes an event listener added to this table.
248
+ * @param name -
249
+ * @param callback -
250
+ * @return
251
+ * @typeParam T -
390
252
  */
391
- readonly numberFormat?:string|null;
253
+ removeEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):boolean;
392
254
  }
393
255
  /**
394
256
  * Represents a table which can be joined to another table. Current implementations are {@link dh.Table} and
@@ -504,35 +366,15 @@ export namespace dh {
504
366
  get hasChildren():boolean;
505
367
  get index():LongWrapper;
506
368
  }
507
- export interface HasEventHandling {
369
+ /**
370
+ * Contains data in the current viewport. Also contains the offset to this data, so that the actual row number may be
371
+ * determined. Do not assume that the first row in `rows` is the first visible row, because extra rows may be provided
372
+ * for easier scrolling without going to the server.
373
+ */
374
+ export interface ViewportData extends TableData {
508
375
  /**
509
- * Listen for events on this object.
510
- * @param name - the name of the event to listen for
511
- * @param callback - a function to call when the event occurs
512
- * @return Returns a cleanup function.
513
- * @typeParam T - the type of the data that the event will provide
514
- */
515
- addEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):()=>void;
516
- nextEvent<T>(eventName:string, timeoutInMillis?:number):Promise<CustomEvent<T>>;
517
- hasListeners(name:string):boolean;
518
- /**
519
- * Removes an event listener added to this table.
520
- * @param name -
521
- * @param callback -
522
- * @return
523
- * @typeParam T -
524
- */
525
- removeEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):boolean;
526
- }
527
- /**
528
- * Contains data in the current viewport. Also contains the offset to this data, so that the actual row number may be
529
- * determined. Do not assume that the first row in `rows` is the first visible row, because extra rows may be provided
530
- * for easier scrolling without going to the server.
531
- */
532
- export interface ViewportData extends TableData {
533
- /**
534
- * The index of the first returned row
535
- * @return double
376
+ * The index of the first returned row
377
+ * @return double
536
378
  */
537
379
  get offset():number;
538
380
  /**
@@ -597,6 +439,31 @@ export namespace dh {
597
439
  toString():string;
598
440
  }
599
441
  /**
442
+ * This object may be pooled internally or discarded and not updated. Do not retain references to it.
443
+ */
444
+ export interface Format {
445
+ /**
446
+ * The format string to apply to the value of this cell.
447
+ * @return String
448
+ */
449
+ readonly formatString?:string|null;
450
+ /**
451
+ * Color to apply to the cell's background, in <b>#rrggbb</b> format.
452
+ * @return String
453
+ */
454
+ readonly backgroundColor?:string|null;
455
+ /**
456
+ * Color to apply to the text, in <b>#rrggbb</b> format.
457
+ * @return String
458
+ */
459
+ readonly color?:string|null;
460
+ /**
461
+ *
462
+ * @deprecated Prefer formatString. Number format string to apply to the value in this cell.
463
+ */
464
+ readonly numberFormat?:string|null;
465
+ }
466
+ /**
600
467
  * Javascript wrapper for {@link io.deephaven.web.shared.data.ColumnStatistics} This class holds the results of a call to generate statistics on a
601
468
  * table column.
602
469
  */
@@ -656,173 +523,66 @@ export namespace dh {
656
523
  */
657
524
  close():void;
658
525
  }
659
- export interface TreeViewportData extends TableData {
660
- get offset():number;
661
- get columns():Array<Column>;
662
- get rows():Array<TreeRow>;
663
- }
664
- /**
665
- * Wrap LocalDate values for use in JS. Provides text formatting for display and access to the underlying value.
666
- */
667
- export interface LocalDateWrapper {
668
- valueOf():string;
669
- getYear():number;
670
- getMonthValue():number;
671
- getDayOfMonth():number;
672
- toString():string;
673
- }
674
-
675
- export class LoginCredentials {
676
- type?:string|null;
677
- username?:string|null;
678
- token?:string|null;
679
-
680
- constructor();
526
+ export interface RefreshToken {
527
+ get bytes():string;
528
+ get expiry():number;
681
529
  }
682
-
683
530
  /**
684
- * Describes how a Totals Table will be generated from its parent table. Each table has a default (which may be null)
685
- * indicating how that table was configured when it was declared, and each Totals Table has a similar property
686
- * describing how it was created. Both the <b>Table.getTotalsTable</b> and <b>Table.getGrandTotalsTable</b> methods take
687
- * this config as an optional parameter - without it, the table's default will be used, or if null, a default instance
688
- * of <b>TotalsTableConfig</b> will be supplied.
531
+ * Behaves like a Table, but doesn't expose all of its API for changing the internal state. Instead, state is driven by
532
+ * the upstream table - when it changes handle, this listens and updates its own handle accordingly.
689
533
  *
690
- * This class has a no-arg constructor, allowing an instance to be made with the default values provided. However, any
691
- * JS object can be passed in to the methods which accept instances of this type, provided their values adhere to the
692
- * expected formats.
534
+ * Additionally, this is automatically subscribed to its one and only row, across all columns.
535
+ *
536
+ * A new config is returned any time it is accessed, to prevent accidental mutation, and to allow it to be used as a
537
+ * template when fetching a new totals table, or changing the totals table in use.
538
+ *
539
+ * A simplistic Table, providing access to aggregation of the table it is sourced from. This table is always
540
+ * automatically subscribed to its parent, and adopts changes automatically from it. This class has limited methods
541
+ * found on Table. Instances of this type always have a size of one when no groupBy is set on the config, but may
542
+ * potentially contain as few as zero rows, or as many as the parent table if each row gets its own group.
543
+ *
544
+ * When using the `groupBy` feature, it may be desireable to also provide a row to the user with all values across all
545
+ * rows. To achieve this, request the same Totals Table again, but remove the `groupBy` setting.
693
546
  */
694
- export class TotalsTableConfig {
695
- /**
696
- * @deprecated
697
- */
698
- static readonly COUNT:string;
699
- /**
700
- * @deprecated
701
- */
702
- static readonly MIN:string;
703
- /**
704
- * @deprecated
705
- */
706
- static readonly MAX:string;
707
- /**
708
- * @deprecated
709
- */
710
- static readonly SUM:string;
711
- /**
712
- * @deprecated
713
- */
714
- static readonly ABS_SUM:string;
715
- /**
716
- * @deprecated
717
- */
718
- static readonly VAR:string;
719
- /**
720
- * @deprecated
721
- */
722
- static readonly AVG:string;
723
- /**
724
- * @deprecated
725
- */
726
- static readonly STD:string;
727
- /**
728
- * @deprecated
729
- */
730
- static readonly FIRST:string;
731
- /**
732
- * @deprecated
733
- */
734
- static readonly LAST:string;
735
- /**
736
- * @deprecated
737
- */
738
- static readonly SKIP:string;
739
- /**
740
- * Specifies if a Totals Table should be expanded by default in the UI. Defaults to false.
741
- */
742
- showTotalsByDefault:boolean;
743
- /**
744
- * Specifies if a Grand Totals Table should be expanded by default in the UI. Defaults to false.
745
- */
746
- showGrandTotalsByDefault:boolean;
747
- /**
748
- * Specifies the default operation for columns that do not have a specific operation applied; defaults to "Sum".
749
- */
750
- defaultOperation:AggregationOperationType;
547
+ export interface TotalsTable extends JoinableTable {
751
548
  /**
752
- * Mapping from each column name to the aggregation(s) that should be applied to that column in the resulting Totals
753
- * Table. If a column is omitted, the defaultOperation is used.
549
+ * Specifies the range of items to pass to the client and update as they change. If the columns parameter is not
550
+ * provided, all columns will be used. Until this is called, no data will be available. Invoking this will result in
551
+ * events to be fired once data becomes available, starting with an <b>updated</b> event and one <b>rowadded</b>
552
+ * event per row in that range.
553
+ * @param firstRow -
554
+ * @param lastRow -
555
+ * @param columns -
556
+ * @param updateIntervalMs -
754
557
  */
755
- operationMap:{ [key: string]: Array<AggregationOperationType>; };
558
+ setViewport(firstRow:number, lastRow:number, columns?:Array<Column>, updateIntervalMs?:number):void;
756
559
  /**
757
- * Groupings to use when generating the Totals Table. One row will exist for each unique set of values observed in
758
- * these columns. See also `Table.selectDistinct`.
560
+ * the currently visible viewport. If the current set of operations has not yet resulted in data, it will not
561
+ * resolve until that data is ready.
562
+ * @return Promise of {@link dh.TableData}
759
563
  */
760
- groupBy:Array<string>;
761
-
762
- constructor();
763
-
764
- toString():string;
765
- }
766
-
767
- /**
768
- * Provides access to data in a table. Note that several methods present their response through Promises. This allows
769
- * the client to both avoid actually connecting to the server until necessary, and also will permit some changes not to
770
- * inform the UI right away that they have taken place.
771
- */
772
- export class Table implements JoinableTable, HasEventHandling {
773
- readonly description?:string|null;
774
- readonly pluginName?:string|null;
775
- readonly layoutHints?:null|LayoutHints;
776
- static readonly EVENT_SIZECHANGED:string;
777
- static readonly EVENT_UPDATED:string;
778
- static readonly EVENT_ROWADDED:string;
779
- static readonly EVENT_ROWREMOVED:string;
780
- static readonly EVENT_ROWUPDATED:string;
781
- static readonly EVENT_SORTCHANGED:string;
782
- static readonly EVENT_FILTERCHANGED:string;
783
- static readonly EVENT_CUSTOMCOLUMNSCHANGED:string;
784
- static readonly EVENT_DISCONNECT:string;
785
- static readonly EVENT_RECONNECT:string;
786
- static readonly EVENT_RECONNECTFAILED:string;
787
- static readonly EVENT_REQUEST_FAILED:string;
788
- static readonly EVENT_REQUEST_SUCCEEDED:string;
789
- static readonly SIZE_UNCOALESCED:number;
790
-
791
- protected constructor();
792
-
793
- batch(userCode:(arg0:unknown)=>void):Promise<Table>;
564
+ getViewportData():Promise<TableData>;
794
565
  /**
795
- * Retrieve a column by the given name. You should prefer to always retrieve a new Column instance instead of
796
- * caching a returned value.
566
+ * a column by the given name. You should prefer to always retrieve a new Column instance instead of caching a
567
+ * returned value.
797
568
  * @param key -
798
569
  * @return {@link dh.Column}
799
570
  */
800
571
  findColumn(key:string):Column;
801
572
  /**
802
- * Retrieve multiple columns specified by the given names.
573
+ * multiple columns specified by the given names.
803
574
  * @param keys -
804
575
  * @return {@link dh.Column} array
805
576
  */
806
577
  findColumns(keys:string[]):Column[];
807
- isBlinkTable():boolean;
808
- /**
809
- * If .hasInputTable is true, you may call this method to gain access to an InputTable object which can be used to
810
- * mutate the data within the table. If the table is not an Input Table, the promise will be immediately rejected.
811
- * @return Promise of dh.InputTable
812
- */
813
- inputTable():Promise<InputTable>;
814
578
  /**
815
- * Indicates that this Table instance will no longer be used, and its connection to the server can be cleaned up.
579
+ * Indicates that the table will no longer be used, and resources used to provide it can be freed up on the server.
816
580
  */
817
581
  close():void;
818
- getAttributes():string[];
819
- /**
820
- * null if no property exists, a string if it is an easily serializable property, or a ```Promise
821
- * &lt;Table&gt;``` that will either resolve with a table or error out if the object can't be passed to JS.
822
- * @param attributeName -
823
- * @return Object
824
- */
825
- getAttribute(attributeName:string):unknown|undefined|null;
582
+ addEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):()=>void;
583
+ removeEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):boolean;
584
+ nextEvent<T>(eventName:string, timeoutInMillis:number):Promise<CustomEvent<T>>;
585
+ hasListeners(name:string):boolean;
826
586
  /**
827
587
  * Replace the currently set sort on this table. Returns the previously set value. Note that the sort property will
828
588
  * immediately return the new value, but you may receive update events using the old sort before the new sort is
@@ -834,6 +594,13 @@ export namespace dh {
834
594
  */
835
595
  applySort(sort:Sort[]):Array<Sort>;
836
596
  /**
597
+ * Replace the current custom columns with a new set. These columns can be used when adding new filter and sort
598
+ * operations to the table, as long as they are present.
599
+ * @param customColumns -
600
+ * @return
601
+ */
602
+ applyCustomColumns(customColumns:Array<string|CustomColumn>):Array<CustomColumn>;
603
+ /**
837
604
  * Replace the currently set filters on the table. Returns the previously set value. Note that the filter property
838
605
  * will immediately return the new value, but you may receive update events using the old filter before the new one
839
606
  * is applied, and the <b>filterchanged</b> event fires. Reusing existing, applied filters may enable this to
@@ -844,163 +611,41 @@ export namespace dh {
844
611
  */
845
612
  applyFilter(filter:FilterCondition[]):Array<FilterCondition>;
846
613
  /**
847
- * used when adding new filter and sort operations to the table, as long as they are present.
848
- * @param customColumns -
849
- * @return {@link dh.CustomColumn} array
614
+ * An ordered list of Filters to apply to the table. To update, call applyFilter(). Note that this getter will
615
+ * return the new value immediately, even though it may take a little time to update on the server. You may listen
616
+ * for the <b>filterchanged</b> event to know when to update the UI.
617
+ * @return {@link dh.FilterCondition} array
850
618
  */
851
- applyCustomColumns(customColumns:Array<string|CustomColumn>):Array<CustomColumn>;
619
+ get filter():Array<FilterCondition>;
852
620
  /**
853
- * If the columns parameter is not provided, all columns will be used. If the updateIntervalMs parameter is not
854
- * provided, a default of one second will be used. Until this is called, no data will be available. Invoking this
855
- * will result in events to be fired once data becomes available, starting with an `updated` event and a
856
- * <b>rowadded</b> event per row in that range. The returned object allows the viewport to be closed when no longer
857
- * needed.
858
- * @param firstRow -
859
- * @param lastRow -
860
- * @param columns -
861
- * @param updateIntervalMs -
862
- * @return {@link dh.TableViewportSubscription}
863
- */
864
- setViewport(firstRow:number, lastRow:number, columns?:Array<Column>|undefined|null, updateIntervalMs?:number|undefined|null):TableViewportSubscription;
865
- /**
866
- * Gets the currently visible viewport. If the current set of operations has not yet resulted in data, it will not
867
- * resolve until that data is ready. If this table is closed before the promise resolves, it will be rejected - to
868
- * separate the lifespan of this promise from the table itself, call
869
- * {@link TableViewportSubscription.getViewportData} on the result from {@link Table.setViewport}.
870
- * @return Promise of {@link dh.TableData}
871
- */
872
- getViewportData():Promise<TableData>;
873
- /**
874
- * Creates a subscription to the specified columns, across all rows in the table. The optional parameter
875
- * updateIntervalMs may be specified to indicate how often the server should send updates, defaulting to one second
876
- * if omitted. Useful for charts or taking a snapshot of the table atomically. The initial snapshot will arrive in a
877
- * single event, but later changes will be sent as updates. However, this may still be very expensive to run from a
878
- * browser for very large tables. Each call to subscribe creates a new subscription, which must have <b>close()</b>
879
- * called on it to stop it, and all events are fired from the TableSubscription instance.
880
- * @param columns -
881
- * @param updateIntervalMs -
882
- * @return {@link dh.TableSubscription}
883
- */
884
- subscribe(columns:Array<Column>, updateIntervalMs?:number):TableSubscription;
885
- /**
886
- * a new table containing the distinct tuples of values from the given columns that are present in the original
887
- * table. This table can be manipulated as any other table. Sorting is often desired as the default sort is the
888
- * order of appearance of values from the original table.
889
- * @param columns -
890
- * @return Promise of dh.Table
891
- */
892
- selectDistinct(columns:Column[]):Promise<Table>;
893
- /**
894
- * Creates a new copy of this table, so it can be sorted and filtered separately, and maintain a different viewport.
895
- * @return Promise of dh.Table
896
- */
897
- copy():Promise<Table>;
898
- /**
899
- * a promise that will resolve to a Totals Table of this table. This table will obey the configurations provided as
900
- * a parameter, or will use the table's default if no parameter is provided, and be updated once per second as
901
- * necessary. Note that multiple calls to this method will each produce a new TotalsTable which must have close()
902
- * called on it when not in use.
903
- * @param config -
904
- * @return Promise of dh.TotalsTable
905
- */
906
- getTotalsTable(config?:TotalsTableConfig|undefined|null):Promise<TotalsTable>;
907
- /**
908
- * a promise that will resolve to a Totals Table of this table, ignoring any filters. See <b>getTotalsTable()</b>
909
- * above for more specifics.
910
- * @param config -
911
- * @return promise of dh.TotalsTable
912
- */
913
- getGrandTotalsTable(config?:TotalsTableConfig|undefined|null):Promise<TotalsTable>;
914
- /**
915
- * a promise that will resolve to a new roll-up <b>TreeTable</b> of this table. Multiple calls to this method will
916
- * each produce a new <b>TreeTable</b> which must have close() called on it when not in use.
917
- * @param configObject -
918
- * @return Promise of dh.TreeTable
919
- */
920
- rollup(configObject:RollupConfig):Promise<TreeTable>;
921
- /**
922
- * a promise that will resolve to a new `TreeTable` of this table. Multiple calls to this method will each produce a
923
- * new `TreeTable` which must have close() called on it when not in use.
924
- * @param configObject -
925
- * @return Promise dh.TreeTable
926
- */
927
- treeTable(configObject:TreeTableConfig):Promise<TreeTable>;
928
- /**
929
- * a "frozen" version of this table (a server-side snapshot of the entire source table). Viewports on the frozen
930
- * table will not update. This does not change the original table, and the new table will not have any of the client
931
- * side sorts/filters/columns. New client side sorts/filters/columns can be added to the frozen copy.
932
- * @return Promise of dh.Table
933
- */
934
- freeze():Promise<Table>;
935
- snapshot(baseTable:Table, doInitialSnapshot?:boolean, stampColumns?:string[]):Promise<Table>;
936
- /**
937
- *
938
- * @inheritDoc
939
- * @deprecated
940
- */
941
- join(joinType:string, rightTable:JoinableTable, columnsToMatch:Array<string>, columnsToAdd?:Array<string>|undefined|null, asOfMatchRule?:string|undefined|null):Promise<Table>;
942
- asOfJoin(rightTable:JoinableTable, columnsToMatch:Array<string>, columnsToAdd?:Array<string>|undefined|null, asOfMatchRule?:string|undefined|null):Promise<Table>;
943
- crossJoin(rightTable:JoinableTable, columnsToMatch:Array<string>, columnsToAdd?:Array<string>|undefined|null, reserveBits?:number|undefined|null):Promise<Table>;
944
- exactJoin(rightTable:JoinableTable, columnsToMatch:Array<string>, columnsToAdd?:Array<string>):Promise<Table>;
945
- naturalJoin(rightTable:JoinableTable, columnsToMatch:Array<string>, columnsToAdd?:Array<string>):Promise<Table>;
946
- byExternal(keys:object, dropKeys?:boolean):Promise<PartitionedTable>;
947
- /**
948
- * Creates a new PartitionedTable from the contents of the current table, partitioning data based on the specified
949
- * keys.
950
- * @param keys -
951
- * @param dropKeys -
952
- * @return Promise dh.PartitionedTable
953
- */
954
- partitionBy(keys:object, dropKeys?:boolean):Promise<PartitionedTable>;
955
- /**
956
- * a promise that will resolve to ColumnStatistics for the column of this table.
957
- * @param column -
958
- * @return Promise of dh.ColumnStatistics
959
- */
960
- getColumnStatistics(column:Column):Promise<ColumnStatistics>;
961
- /**
962
- * Seek the row matching the data provided
963
- * @param startingRow - Row to start the seek from
964
- * @param column - Column to seek for value on
965
- * @param valueType - Type of value provided
966
- * @param seekValue - Value to seek
967
- * @param insensitive - Optional value to flag a search as case-insensitive. Defaults to `false`.
968
- * @param contains - Optional value to have the seek value do a contains search instead of exact equality. Defaults to
969
- * `false`.
970
- * @param isBackwards - Optional value to seek backwards through the table instead of forwards. Defaults to `false`.
971
- * @return A promise that resolves to the row value found.
621
+ * True if this table has been closed.
622
+ * @return boolean
972
623
  */
973
- seekRow(startingRow:number, column:Column, valueType:ValueTypeType, seekValue:any, insensitive?:boolean|undefined|null, contains?:boolean|undefined|null, isBackwards?:boolean|undefined|null):Promise<number>;
974
- toString():string;
624
+ get isClosed():boolean;
975
625
  /**
976
- * True if this table represents a user Input Table (created by InputTable.newInputTable). When true, you may call
977
- * .inputTable() to add or remove data from the underlying table.
978
- * @return boolean
626
+ * The total number of rows in this table. This may change as the base table's configuration, filter, or contents
627
+ * change.
628
+ * @return double
979
629
  */
980
- get hasInputTable():boolean;
630
+ get size():number;
981
631
  /**
982
- * The columns that are present on this table. This is always all possible columns. If you specify fewer columns in
983
- * .setViewport(), you will get only those columns in your ViewportData. <b>Number size</b> The total count of rows
984
- * in the table. The size can and will change; see the <b>sizechanged</b> event for details. Size will be negative
985
- * in exceptional cases (eg. the table is uncoalesced, see the <b>isUncoalesced</b> property for details).
632
+ * The columns present on this table. Note that this may not include all columns in the parent table, and in cases
633
+ * where a given column has more than one aggregation applied, the column name will have a suffix indicating the
634
+ * aggregation used. This suffixed name will be of the form <b>columnName + '__' + aggregationName</b>.
986
635
  * @return {@link dh.Column} array
987
636
  */
988
637
  get columns():Array<Column>;
989
- /**
990
- * The default configuration to be used when building a <b>TotalsTable</b> for this table.
991
- * @return dh.TotalsTableConfig
992
- */
993
638
  get totalsTableConfig():TotalsTableConfig;
994
639
  /**
995
- * An ordered list of Sorts to apply to the table. To update, call <b>applySort()</b>. Note that this getter will
996
- * return the new value immediately, even though it may take a little time to update on the server. You may listen
997
- * for the <b>sortchanged</b> event to know when to update the UI.
640
+ * An ordered list of Sorts to apply to the table. To update, call applySort(). Note that this getter will return
641
+ * the new value immediately, even though it may take a little time to update on the server. You may listen for the
642
+ * <b>sortchanged</b> event to know when to update the UI.
998
643
  * @return {@link dh.Sort} array
999
644
  */
1000
645
  get sort():Array<Sort>;
1001
646
  /**
1002
- * An ordered list of custom column formulas to add to the table, either adding new columns or replacing existing
1003
- * ones. To update, call <b>applyCustomColumns()</b>.
647
+ * Read-only. An ordered list of custom column formulas to add to the table, either adding new columns or replacing
648
+ * existing ones. To update, call <b>applyCustomColumns()</b>.
1004
649
  * @return {@link dh.CustomColumn} array
1005
650
  */
1006
651
  get customColumns():Array<CustomColumn>;
@@ -1010,66 +655,22 @@ export namespace dh {
1010
655
  * @return boolean
1011
656
  */
1012
657
  get isRefreshing():boolean;
1013
- /**
1014
- * An ordered list of Filters to apply to the table. To update, call applyFilter(). Note that this getter will
1015
- * return the new value immediately, even though it may take a little time to update on the server. You may listen
1016
- * for the <b>filterchanged</b> event to know when to update the UI.
1017
- * @return {@link dh.FilterCondition} array
1018
- */
1019
- get filter():Array<FilterCondition>;
1020
- /**
1021
- * The total count of the rows in the table, excluding any filters. Unlike <b>size</b>, changes to this value will
1022
- * not result in any event. <b>Sort[] sort</b> an ordered list of Sorts to apply to the table. To update, call
1023
- * applySort(). Note that this getter will return the new value immediately, even though it may take a little time
1024
- * to update on the server. You may listen for the <b>sortchanged</b> event to know when to update the UI.
1025
- * @return double
1026
- */
1027
- get totalSize():number;
1028
- /**
1029
- * The total count of rows in the table. The size can and will change; see the <b>sizechanged</b> event for details.
1030
- * Size will be negative in exceptional cases (e.g., the table is uncoalesced; see the <b>isUncoalesced</b>
1031
- * property). for details).
1032
- * @return double
1033
- */
1034
- get size():number;
1035
- /**
1036
- * True if this table has been closed.
1037
- * @return boolean
1038
- */
1039
- get isClosed():boolean;
1040
- /**
1041
- * Read-only. True if this table is uncoalesced. Set a viewport or filter on the partition columns to coalesce the
1042
- * table. Check the <b>isPartitionColumn</b> property on the table columns to retrieve the partition columns. Size
1043
- * will be unavailable until table is coalesced.
1044
- * @return boolean
1045
- */
1046
- get isUncoalesced():boolean;
1047
- /**
1048
- * Listen for events on this object.
1049
- * @param name - the name of the event to listen for
1050
- * @param callback - a function to call when the event occurs
1051
- * @return Returns a cleanup function.
1052
- * @typeParam T - the type of the data that the event will provide
1053
- */
1054
- addEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):()=>void;
1055
- nextEvent<T>(eventName:string, timeoutInMillis?:number):Promise<CustomEvent<T>>;
1056
- hasListeners(name:string):boolean;
1057
- /**
1058
- * Removes an event listener added to this table.
1059
- * @param name -
1060
- * @param callback -
1061
- * @return
1062
- * @typeParam T -
1063
- */
1064
- removeEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):boolean;
1065
- /**
1066
- * a Sort than can be used to reverse a table. This can be passed into n array in applySort. Note that Tree Tables
1067
- * do not support reverse.
1068
- * @return {@link dh.Sort}
1069
- */
1070
- static reverse():Sort;
1071
658
  }
1072
-
659
+ export interface TreeViewportData extends TableData {
660
+ get offset():number;
661
+ get columns():Array<Column>;
662
+ get rows():Array<TreeRow>;
663
+ }
664
+ /**
665
+ * Wrap LocalDate values for use in JS. Provides text formatting for display and access to the underlying value.
666
+ */
667
+ export interface LocalDateWrapper {
668
+ valueOf():string;
669
+ getYear():number;
670
+ getMonthValue():number;
671
+ getDayOfMonth():number;
672
+ toString():string;
673
+ }
1073
674
 
1074
675
  /**
1075
676
  * Represents a set of Tables each corresponding to some key. The keys are available locally, but a call must be made to
@@ -1306,15 +907,6 @@ export namespace dh {
1306
907
  removeEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):boolean;
1307
908
  }
1308
909
 
1309
- export class QueryInfo {
1310
- static readonly EVENT_TABLE_OPENED:string;
1311
- static readonly EVENT_DISCONNECT:string;
1312
- static readonly EVENT_RECONNECT:string;
1313
- static readonly EVENT_CONNECT:string;
1314
-
1315
- protected constructor();
1316
- }
1317
-
1318
910
  /**
1319
911
  * Configuration object for running Table.treeTable to produce a hierarchical view of a given "flat" table.
1320
912
  *
@@ -1339,6 +931,18 @@ export namespace dh {
1339
931
  constructor();
1340
932
  }
1341
933
 
934
+ /**
935
+ * Wrap BigInteger values for use in JS. Provides text formatting for display and access to the underlying value.
936
+ */
937
+ export class BigIntegerWrapper {
938
+ protected constructor();
939
+
940
+ static ofString(str:string):BigIntegerWrapper;
941
+ asNumber():number;
942
+ valueOf():string;
943
+ toString():string;
944
+ }
945
+
1342
946
  /**
1343
947
  * Presently optional and not used by the server, this allows the client to specify some authentication details. String
1344
948
  * authToken <i>- base 64 encoded auth token. String serviceId -</i> The service ID to use for the connection.
@@ -1350,104 +954,178 @@ export namespace dh {
1350
954
  }
1351
955
 
1352
956
  /**
1353
- * Describes a filter which can be applied to a table. Replacing these instances may be more expensive than reusing
1354
- * them. These instances are immutable - all operations that compose them to build bigger expressions return a new
957
+ * Describes data that can be filtered, either a column reference or a literal value. Used this way, the type of a value
958
+ * can be specified so that values which are ambiguous or not well supported in JS will not be confused with Strings or
959
+ * imprecise numbers (e.g., nanosecond-precision date values). Additionally, once wrapped in this way, methods can be
960
+ * called on these value literal instances. These instances are immutable - any method called on them returns a new
1355
961
  * instance.
1356
962
  */
1357
- export class FilterCondition {
963
+ export class FilterValue {
1358
964
  protected constructor();
1359
965
 
1360
966
  /**
1361
- * the opposite of this condition
1362
- * @return FilterCondition
967
+ * Constructs a number for the filter API from the given parameter. Can also be used on the values returned from
968
+ * {@link TableData.get} for DateTime values. To create
969
+ * a filter with a date, use <b>dh.DateWrapper.ofJsDate</b> or
970
+ * {@link i18n.DateTimeFormat.parse}. To create a filter with a
971
+ * 64-bit long integer, use {@link LongWrapper.ofString}.
972
+ * @param input - the number to wrap as a FilterValue
973
+ * @return an immutable FilterValue that can be built into a filter
1363
974
  */
1364
- not():FilterCondition;
975
+ static ofNumber(input:LongWrapper|number):FilterValue;
1365
976
  /**
1366
- * a condition representing the current condition logically ANDed with the other parameters
1367
- * @param filters -
1368
- * @return FilterCondition
977
+ * a filter condition checking if the current value is equal to the given parameter
978
+ * @param term -
979
+ * @return {@link dh.FilterCondition}
1369
980
  */
1370
- and(...filters:FilterCondition[]):FilterCondition;
981
+ eq(term:FilterValue):FilterCondition;
1371
982
  /**
1372
- * a condition representing the current condition logically ORed with the other parameters
1373
- * @param filters -
1374
- * @return FilterCondition.
983
+ * a filter condition checking if the current value is equal to the given parameter, ignoring differences of upper
984
+ * vs lower case
985
+ * @param term -
986
+ * @return {@link dh.FilterCondition}
1375
987
  */
1376
- or(...filters:FilterCondition[]):FilterCondition;
988
+ eqIgnoreCase(term:FilterValue):FilterCondition;
1377
989
  /**
1378
- * a string suitable for debugging showing the details of this condition.
1379
- * @return String.
990
+ * a filter condition checking if the current value is not equal to the given parameter
991
+ * @param term -
992
+ * @return {@link dh.FilterCondition}
1380
993
  */
1381
- toString():string;
1382
- get columns():Array<Column>;
994
+ notEq(term:FilterValue):FilterCondition;
1383
995
  /**
1384
- * a filter condition invoking a static function with the given parameters. Currently supported Deephaven static
1385
- * functions:
996
+ * a filter condition checking if the current value is not equal to the given parameter, ignoring differences of
997
+ * upper vs lower case
998
+ * @param term -
999
+ * @return {@link dh.FilterCondition}
1000
+ */
1001
+ notEqIgnoreCase(term:FilterValue):FilterCondition;
1002
+ /**
1003
+ * a filter condition checking if the current value is greater than the given parameter
1004
+ * @param term -
1005
+ * @return {@link dh.FilterCondition}
1006
+ */
1007
+ greaterThan(term:FilterValue):FilterCondition;
1008
+ /**
1009
+ * a filter condition checking if the current value is less than the given parameter
1010
+ * @param term -
1011
+ * @return {@link dh.FilterCondition}
1012
+ */
1013
+ lessThan(term:FilterValue):FilterCondition;
1014
+ /**
1015
+ * a filter condition checking if the current value is greater than or equal to the given parameter
1016
+ * @param term -
1017
+ * @return {@link dh.FilterCondition}
1018
+ */
1019
+ greaterThanOrEqualTo(term:FilterValue):FilterCondition;
1020
+ /**
1021
+ * a filter condition checking if the current value is less than or equal to the given parameter
1022
+ * @param term -
1023
+ * @return {@link dh.FilterCondition}
1024
+ */
1025
+ lessThanOrEqualTo(term:FilterValue):FilterCondition;
1026
+ /**
1027
+ * a filter condition checking if the current value is in the given set of values
1028
+ * @param terms -
1029
+ * @return {@link dh.FilterCondition}
1030
+ */
1031
+ in(terms:FilterValue[]):FilterCondition;
1032
+ /**
1033
+ * a filter condition checking if the current value is in the given set of values, ignoring differences of upper vs
1034
+ * lower case
1035
+ * @param terms -
1036
+ * @return {@link dh.FilterCondition}
1037
+ */
1038
+ inIgnoreCase(terms:FilterValue[]):FilterCondition;
1039
+ /**
1040
+ * a filter condition checking that the current value is not in the given set of values
1041
+ * @param terms -
1042
+ * @return {@link dh.FilterCondition}
1043
+ */
1044
+ notIn(terms:FilterValue[]):FilterCondition;
1045
+ /**
1046
+ * a filter condition checking that the current value is not in the given set of values, ignoring differences of
1047
+ * upper vs lower case
1048
+ * @param terms -
1049
+ * @return {@link dh.FilterCondition}
1050
+ */
1051
+ notInIgnoreCase(terms:FilterValue[]):FilterCondition;
1052
+ /**
1053
+ * a filter condition checking if the given value contains the given string value
1054
+ * @param term -
1055
+ * @return {@link dh.FilterCondition}
1056
+ */
1057
+ contains(term:FilterValue):FilterCondition;
1058
+ /**
1059
+ * a filter condition checking if the given value contains the given string value, ignoring differences of upper vs
1060
+ * lower case
1061
+ * @param term -
1062
+ * @return {@link dh.FilterCondition}
1063
+ */
1064
+ containsIgnoreCase(term:FilterValue):FilterCondition;
1065
+ /**
1066
+ * a filter condition checking if the given value matches the provided regular expressions string. Regex patterns
1067
+ * use Java regex syntax
1068
+ * @param pattern -
1069
+ * @return {@link dh.FilterCondition}
1070
+ */
1071
+ matches(pattern:FilterValue):FilterCondition;
1072
+ /**
1073
+ * a filter condition checking if the given value matches the provided regular expressions string, ignoring
1074
+ * differences of upper vs lower case. Regex patterns use Java regex syntax
1075
+ * @param pattern -
1076
+ * @return {@link dh.FilterCondition}
1077
+ */
1078
+ matchesIgnoreCase(pattern:FilterValue):FilterCondition;
1079
+ /**
1080
+ * a filter condition checking if the current value is a true boolean
1081
+ * @return {@link dh.FilterCondition}
1082
+ */
1083
+ isTrue():FilterCondition;
1084
+ /**
1085
+ * a filter condition checking if the current value is a false boolean
1086
+ * @return {@link dh.FilterCondition}
1087
+ */
1088
+ isFalse():FilterCondition;
1089
+ /**
1090
+ * a filter condition checking if the current value is a null value
1091
+ * @return {@link dh.FilterCondition}
1092
+ */
1093
+ isNull():FilterCondition;
1094
+ /**
1095
+ * a filter condition invoking the given method on the current value, with the given parameters. Currently supported
1096
+ * functions that can be invoked on a String:
1386
1097
  * <ul>
1387
- * <li><b>inRange</b>: Given three comparable values, returns true if the first is less than the second but greater
1388
- * than the third</li>
1389
- * <li><b>isInf</b>:Returns true if the given number is <i>infinity</i></li>
1390
- * <li><b>isNaN</b>:Returns true if the given number is <i>not a number</i></li>
1391
- * <li><b>isNormal</b>:Returns true if the given number <i>is not null</i>, <i>is not infinity</i>, and <i>is not
1392
- * "not a number"</i></li>
1393
- * <li><b>startsWith</b>:Returns true if the first string starts with the second string</li>
1394
- * <li><b>endsWith</b>Returns true if the first string ends with the second string</li>
1395
- * <li><b>matches</b>:Returns true if the first string argument matches the second string used as a Java regular
1396
- * expression</li>
1397
- * <li><b>contains</b>:Returns true if the first string argument contains the second string as a substring</li>
1398
- * <li><b>in</b>:Returns true if the first string argument can be found in the second array argument.
1098
+ * <li><b>startsWith</b>: Returns true if the current string value starts with the supplied string argument</li>
1099
+ * <li><b>endsWith</b>: Returns true if the current string value ends with the supplied string argument</li>
1100
+ * <li><b>matches</b>: Returns true if the current string value matches the supplied string argument used as a Java
1101
+ * regular expression</li>
1102
+ * <li><b>contains</b>: Returns true if the current string value contains the supplied string argument
1399
1103
  * <p>
1400
- * Note that the array can only be specified as a column reference at this time - typically the `FilterValue.in`
1401
- * method should be used in other cases
1104
+ * When invoking against a constant, this should be avoided in favor of FilterValue.contains
1402
1105
  * </p>
1403
1106
  * </li>
1404
1107
  * </ul>
1405
- * @param function -
1108
+ * @param method -
1406
1109
  * @param args -
1407
- * @return dh.FilterCondition
1408
- */
1409
- static invoke(func:string, ...args:FilterValue[]):FilterCondition;
1410
- /**
1411
- * a filter condition which will check if the given value can be found in any supported column on whatever table
1412
- * this FilterCondition is passed to. This FilterCondition is somewhat unique in that it need not be given a column
1413
- * instance, but will adapt to any table. On numeric columns, with a value passed in which can be parsed as a
1414
- * number, the column will be filtered to numbers which equal, or can be "rounded" effectively to this number. On
1415
- * String columns, the given value will match any column which contains this string in a case-insensitive search. An
1416
- * optional second argument can be passed, an array of `FilterValue` from the columns to limit this search to (see
1417
- * {@link dh.Column.filter}).
1418
- * @param value -
1419
- * @param columns -
1420
- * @return dh.FilterCondition
1110
+ * @return
1421
1111
  */
1422
- static search(value:FilterValue, columns?:FilterValue[]):FilterCondition;
1423
- }
1424
-
1425
- /**
1426
- * This class allows iteration over non-contiguous indexes. In the future, this will support the EcmaScript 2015
1427
- * Iteration protocol, but for now has one method which returns an iterator, and also supports querying the size.
1428
- * Additionally, we may add support for creating RangeSet objects to better serve some use cases.
1429
- */
1430
- export class RangeSet {
1431
- protected constructor();
1432
-
1433
- static ofRange(first:number, last:number):RangeSet;
1434
- static ofItems(rows:number[]):RangeSet;
1435
- static ofRanges(ranges:RangeSet[]):RangeSet;
1436
- static ofSortedRanges(ranges:RangeSet[]):RangeSet;
1112
+ invoke(method:string, ...args:FilterValue[]):FilterCondition;
1113
+ toString():string;
1437
1114
  /**
1438
- * a new iterator over all indexes in this collection.
1439
- * @return Iterator of {@link dh.LongWrapper}
1115
+ * Constructs a string for the filter API from the given parameter.
1116
+ * @param input -
1117
+ * @return
1440
1118
  */
1441
- iterator():Iterator<LongWrapper>;
1119
+ static ofString(input:any):FilterValue;
1442
1120
  /**
1443
- * The total count of items contained in this collection. In some cases this can be expensive to compute, and
1444
- * generally should not be needed except for debugging purposes, or preallocating space (i.e., do not call this
1445
- * property each time through a loop).
1446
- * @return double
1121
+ * Constructs a boolean for the filter API from the given parameter.
1122
+ * @param b -
1123
+ * @return
1447
1124
  */
1448
- get size():number;
1125
+ static ofBoolean(b:boolean):FilterValue;
1449
1126
  }
1450
1127
 
1128
+
1451
1129
  /**
1452
1130
  * Event fired when a command is issued from the client.
1453
1131
  */
@@ -1472,6 +1150,15 @@ export namespace dh {
1472
1150
  protected constructor();
1473
1151
  }
1474
1152
 
1153
+ export class QueryInfo {
1154
+ static readonly EVENT_TABLE_OPENED:string;
1155
+ static readonly EVENT_DISCONNECT:string;
1156
+ static readonly EVENT_RECONNECT:string;
1157
+ static readonly EVENT_CONNECT:string;
1158
+
1159
+ protected constructor();
1160
+ }
1161
+
1475
1162
  /**
1476
1163
  * A Widget represents a server side object that sends one or more responses to the client. The client can then
1477
1164
  * interpret these responses to see what to render, or how to respond.
@@ -1586,69 +1273,366 @@ export namespace dh {
1586
1273
  */
1587
1274
  desc():Sort;
1588
1275
  /**
1589
- * Builds a Sort instance which takes the absolute value before applying order.
1590
- * @return {@link dh.Sort}
1276
+ * Builds a Sort instance which takes the absolute value before applying order.
1277
+ * @return {@link dh.Sort}
1278
+ */
1279
+ abs():Sort;
1280
+ toString():string;
1281
+ /**
1282
+ * True if the absolute value of the column should be used when sorting; defaults to false.
1283
+ * @return boolean
1284
+ */
1285
+ get isAbs():boolean;
1286
+ /**
1287
+ * The column which is sorted.
1288
+ * @return {@link dh.Column}
1289
+ */
1290
+ get column():Column;
1291
+ /**
1292
+ * The direction of this sort, either <b>ASC</b>, <b>DESC</b>, or <b>REVERSE</b>.
1293
+ * @return String
1294
+ */
1295
+ get direction():string;
1296
+ }
1297
+
1298
+ export class CustomColumn {
1299
+ static readonly TYPE_FORMAT_COLOR:string;
1300
+ static readonly TYPE_FORMAT_NUMBER:string;
1301
+ static readonly TYPE_FORMAT_DATE:string;
1302
+ static readonly TYPE_NEW:string;
1303
+
1304
+ protected constructor();
1305
+
1306
+ valueOf():string;
1307
+ toString():string;
1308
+ /**
1309
+ * The expression to evaluate this custom column.
1310
+ * @return String
1311
+ */
1312
+ get expression():string;
1313
+ /**
1314
+ * The name of the column to use.
1315
+ * @return String
1316
+ */
1317
+ get name():string;
1318
+ /**
1319
+ * Type of custom column. One of
1320
+ *
1321
+ * <ul>
1322
+ * <li>FORMAT_COLOR</li>
1323
+ * <li>FORMAT_NUMBER</li>
1324
+ * <li>FORMAT_DATE</li>
1325
+ * <li>NEW</li>
1326
+ * </ul>
1327
+ * @return String
1328
+ */
1329
+ get type():string;
1330
+ }
1331
+
1332
+ /**
1333
+ * Provides access to data in a table. Note that several methods present their response through Promises. This allows
1334
+ * the client to both avoid actually connecting to the server until necessary, and also will permit some changes not to
1335
+ * inform the UI right away that they have taken place.
1336
+ */
1337
+ export class Table implements JoinableTable, HasEventHandling {
1338
+ readonly description?:string|null;
1339
+ readonly pluginName?:string|null;
1340
+ readonly layoutHints?:null|LayoutHints;
1341
+ static readonly EVENT_SIZECHANGED:string;
1342
+ static readonly EVENT_UPDATED:string;
1343
+ static readonly EVENT_ROWADDED:string;
1344
+ static readonly EVENT_ROWREMOVED:string;
1345
+ static readonly EVENT_ROWUPDATED:string;
1346
+ static readonly EVENT_SORTCHANGED:string;
1347
+ static readonly EVENT_FILTERCHANGED:string;
1348
+ static readonly EVENT_CUSTOMCOLUMNSCHANGED:string;
1349
+ static readonly EVENT_DISCONNECT:string;
1350
+ static readonly EVENT_RECONNECT:string;
1351
+ static readonly EVENT_RECONNECTFAILED:string;
1352
+ static readonly EVENT_REQUEST_FAILED:string;
1353
+ static readonly EVENT_REQUEST_SUCCEEDED:string;
1354
+ static readonly SIZE_UNCOALESCED:number;
1355
+
1356
+ protected constructor();
1357
+
1358
+ batch(userCode:(arg0:unknown)=>void):Promise<Table>;
1359
+ /**
1360
+ * Retrieve a column by the given name. You should prefer to always retrieve a new Column instance instead of
1361
+ * caching a returned value.
1362
+ * @param key -
1363
+ * @return {@link dh.Column}
1364
+ */
1365
+ findColumn(key:string):Column;
1366
+ /**
1367
+ * Retrieve multiple columns specified by the given names.
1368
+ * @param keys -
1369
+ * @return {@link dh.Column} array
1370
+ */
1371
+ findColumns(keys:string[]):Column[];
1372
+ isBlinkTable():boolean;
1373
+ /**
1374
+ * If .hasInputTable is true, you may call this method to gain access to an InputTable object which can be used to
1375
+ * mutate the data within the table. If the table is not an Input Table, the promise will be immediately rejected.
1376
+ * @return Promise of dh.InputTable
1377
+ */
1378
+ inputTable():Promise<InputTable>;
1379
+ /**
1380
+ * Indicates that this Table instance will no longer be used, and its connection to the server can be cleaned up.
1381
+ */
1382
+ close():void;
1383
+ getAttributes():string[];
1384
+ /**
1385
+ * null if no property exists, a string if it is an easily serializable property, or a ```Promise
1386
+ * &lt;Table&gt;``` that will either resolve with a table or error out if the object can't be passed to JS.
1387
+ * @param attributeName -
1388
+ * @return Object
1389
+ */
1390
+ getAttribute(attributeName:string):unknown|undefined|null;
1391
+ /**
1392
+ * Replace the currently set sort on this table. Returns the previously set value. Note that the sort property will
1393
+ * immediately return the new value, but you may receive update events using the old sort before the new sort is
1394
+ * applied, and the <b>sortchanged</b> event fires. Reusing existing, applied sorts may enable this to perform
1395
+ * better on the server. The <b>updated</b> event will also fire, but <b>rowadded</b> and <b>rowremoved</b> will
1396
+ * not.
1397
+ * @param sort -
1398
+ * @return {@link dh.Sort} array
1399
+ */
1400
+ applySort(sort:Sort[]):Array<Sort>;
1401
+ /**
1402
+ * Replace the currently set filters on the table. Returns the previously set value. Note that the filter property
1403
+ * will immediately return the new value, but you may receive update events using the old filter before the new one
1404
+ * is applied, and the <b>filterchanged</b> event fires. Reusing existing, applied filters may enable this to
1405
+ * perform better on the server. The <b>updated</b> event will also fire, but <b>rowadded</b> and <b>rowremoved</b>
1406
+ * will not.
1407
+ * @param filter -
1408
+ * @return {@link dh.FilterCondition} array
1409
+ */
1410
+ applyFilter(filter:FilterCondition[]):Array<FilterCondition>;
1411
+ /**
1412
+ * used when adding new filter and sort operations to the table, as long as they are present.
1413
+ * @param customColumns -
1414
+ * @return {@link dh.CustomColumn} array
1415
+ */
1416
+ applyCustomColumns(customColumns:Array<string|CustomColumn>):Array<CustomColumn>;
1417
+ /**
1418
+ * If the columns parameter is not provided, all columns will be used. If the updateIntervalMs parameter is not
1419
+ * provided, a default of one second will be used. Until this is called, no data will be available. Invoking this
1420
+ * will result in events to be fired once data becomes available, starting with an `updated` event and a
1421
+ * <b>rowadded</b> event per row in that range. The returned object allows the viewport to be closed when no longer
1422
+ * needed.
1423
+ * @param firstRow -
1424
+ * @param lastRow -
1425
+ * @param columns -
1426
+ * @param updateIntervalMs -
1427
+ * @return {@link dh.TableViewportSubscription}
1428
+ */
1429
+ setViewport(firstRow:number, lastRow:number, columns?:Array<Column>|undefined|null, updateIntervalMs?:number|undefined|null):TableViewportSubscription;
1430
+ /**
1431
+ * Gets the currently visible viewport. If the current set of operations has not yet resulted in data, it will not
1432
+ * resolve until that data is ready. If this table is closed before the promise resolves, it will be rejected - to
1433
+ * separate the lifespan of this promise from the table itself, call
1434
+ * {@link TableViewportSubscription.getViewportData} on the result from {@link Table.setViewport}.
1435
+ * @return Promise of {@link dh.TableData}
1436
+ */
1437
+ getViewportData():Promise<TableData>;
1438
+ /**
1439
+ * Creates a subscription to the specified columns, across all rows in the table. The optional parameter
1440
+ * updateIntervalMs may be specified to indicate how often the server should send updates, defaulting to one second
1441
+ * if omitted. Useful for charts or taking a snapshot of the table atomically. The initial snapshot will arrive in a
1442
+ * single event, but later changes will be sent as updates. However, this may still be very expensive to run from a
1443
+ * browser for very large tables. Each call to subscribe creates a new subscription, which must have <b>close()</b>
1444
+ * called on it to stop it, and all events are fired from the TableSubscription instance.
1445
+ * @param columns -
1446
+ * @param updateIntervalMs -
1447
+ * @return {@link dh.TableSubscription}
1448
+ */
1449
+ subscribe(columns:Array<Column>, updateIntervalMs?:number):TableSubscription;
1450
+ /**
1451
+ * a new table containing the distinct tuples of values from the given columns that are present in the original
1452
+ * table. This table can be manipulated as any other table. Sorting is often desired as the default sort is the
1453
+ * order of appearance of values from the original table.
1454
+ * @param columns -
1455
+ * @return Promise of dh.Table
1456
+ */
1457
+ selectDistinct(columns:Column[]):Promise<Table>;
1458
+ /**
1459
+ * Creates a new copy of this table, so it can be sorted and filtered separately, and maintain a different viewport.
1460
+ * @return Promise of dh.Table
1461
+ */
1462
+ copy():Promise<Table>;
1463
+ /**
1464
+ * a promise that will resolve to a Totals Table of this table. This table will obey the configurations provided as
1465
+ * a parameter, or will use the table's default if no parameter is provided, and be updated once per second as
1466
+ * necessary. Note that multiple calls to this method will each produce a new TotalsTable which must have close()
1467
+ * called on it when not in use.
1468
+ * @param config -
1469
+ * @return Promise of dh.TotalsTable
1470
+ */
1471
+ getTotalsTable(config?:TotalsTableConfig|undefined|null):Promise<TotalsTable>;
1472
+ /**
1473
+ * a promise that will resolve to a Totals Table of this table, ignoring any filters. See <b>getTotalsTable()</b>
1474
+ * above for more specifics.
1475
+ * @param config -
1476
+ * @return promise of dh.TotalsTable
1477
+ */
1478
+ getGrandTotalsTable(config?:TotalsTableConfig|undefined|null):Promise<TotalsTable>;
1479
+ /**
1480
+ * a promise that will resolve to a new roll-up <b>TreeTable</b> of this table. Multiple calls to this method will
1481
+ * each produce a new <b>TreeTable</b> which must have close() called on it when not in use.
1482
+ * @param configObject -
1483
+ * @return Promise of dh.TreeTable
1484
+ */
1485
+ rollup(configObject:RollupConfig):Promise<TreeTable>;
1486
+ /**
1487
+ * a promise that will resolve to a new `TreeTable` of this table. Multiple calls to this method will each produce a
1488
+ * new `TreeTable` which must have close() called on it when not in use.
1489
+ * @param configObject -
1490
+ * @return Promise dh.TreeTable
1491
+ */
1492
+ treeTable(configObject:TreeTableConfig):Promise<TreeTable>;
1493
+ /**
1494
+ * a "frozen" version of this table (a server-side snapshot of the entire source table). Viewports on the frozen
1495
+ * table will not update. This does not change the original table, and the new table will not have any of the client
1496
+ * side sorts/filters/columns. New client side sorts/filters/columns can be added to the frozen copy.
1497
+ * @return Promise of dh.Table
1498
+ */
1499
+ freeze():Promise<Table>;
1500
+ snapshot(baseTable:Table, doInitialSnapshot?:boolean, stampColumns?:string[]):Promise<Table>;
1501
+ /**
1502
+ *
1503
+ * @inheritDoc
1504
+ * @deprecated
1505
+ */
1506
+ join(joinType:string, rightTable:JoinableTable, columnsToMatch:Array<string>, columnsToAdd?:Array<string>|undefined|null, asOfMatchRule?:string|undefined|null):Promise<Table>;
1507
+ asOfJoin(rightTable:JoinableTable, columnsToMatch:Array<string>, columnsToAdd?:Array<string>|undefined|null, asOfMatchRule?:string|undefined|null):Promise<Table>;
1508
+ crossJoin(rightTable:JoinableTable, columnsToMatch:Array<string>, columnsToAdd?:Array<string>|undefined|null, reserveBits?:number|undefined|null):Promise<Table>;
1509
+ exactJoin(rightTable:JoinableTable, columnsToMatch:Array<string>, columnsToAdd?:Array<string>):Promise<Table>;
1510
+ naturalJoin(rightTable:JoinableTable, columnsToMatch:Array<string>, columnsToAdd?:Array<string>):Promise<Table>;
1511
+ byExternal(keys:object, dropKeys?:boolean):Promise<PartitionedTable>;
1512
+ /**
1513
+ * Creates a new PartitionedTable from the contents of the current table, partitioning data based on the specified
1514
+ * keys.
1515
+ * @param keys -
1516
+ * @param dropKeys -
1517
+ * @return Promise dh.PartitionedTable
1518
+ */
1519
+ partitionBy(keys:object, dropKeys?:boolean):Promise<PartitionedTable>;
1520
+ /**
1521
+ * a promise that will resolve to ColumnStatistics for the column of this table.
1522
+ * @param column -
1523
+ * @return Promise of dh.ColumnStatistics
1524
+ */
1525
+ getColumnStatistics(column:Column):Promise<ColumnStatistics>;
1526
+ /**
1527
+ * Seek the row matching the data provided
1528
+ * @param startingRow - Row to start the seek from
1529
+ * @param column - Column to seek for value on
1530
+ * @param valueType - Type of value provided
1531
+ * @param seekValue - Value to seek
1532
+ * @param insensitive - Optional value to flag a search as case-insensitive. Defaults to `false`.
1533
+ * @param contains - Optional value to have the seek value do a contains search instead of exact equality. Defaults to
1534
+ * `false`.
1535
+ * @param isBackwards - Optional value to seek backwards through the table instead of forwards. Defaults to `false`.
1536
+ * @return A promise that resolves to the row value found.
1537
+ */
1538
+ seekRow(startingRow:number, column:Column, valueType:ValueTypeType, seekValue:any, insensitive?:boolean|undefined|null, contains?:boolean|undefined|null, isBackwards?:boolean|undefined|null):Promise<number>;
1539
+ toString():string;
1540
+ /**
1541
+ * True if this table represents a user Input Table (created by InputTable.newInputTable). When true, you may call
1542
+ * .inputTable() to add or remove data from the underlying table.
1543
+ * @return boolean
1544
+ */
1545
+ get hasInputTable():boolean;
1546
+ /**
1547
+ * The columns that are present on this table. This is always all possible columns. If you specify fewer columns in
1548
+ * .setViewport(), you will get only those columns in your ViewportData. <b>Number size</b> The total count of rows
1549
+ * in the table. The size can and will change; see the <b>sizechanged</b> event for details. Size will be negative
1550
+ * in exceptional cases (eg. the table is uncoalesced, see the <b>isUncoalesced</b> property for details).
1551
+ * @return {@link dh.Column} array
1552
+ */
1553
+ get columns():Array<Column>;
1554
+ /**
1555
+ * The default configuration to be used when building a <b>TotalsTable</b> for this table.
1556
+ * @return dh.TotalsTableConfig
1557
+ */
1558
+ get totalsTableConfig():TotalsTableConfig;
1559
+ /**
1560
+ * An ordered list of Sorts to apply to the table. To update, call <b>applySort()</b>. Note that this getter will
1561
+ * return the new value immediately, even though it may take a little time to update on the server. You may listen
1562
+ * for the <b>sortchanged</b> event to know when to update the UI.
1563
+ * @return {@link dh.Sort} array
1564
+ */
1565
+ get sort():Array<Sort>;
1566
+ /**
1567
+ * An ordered list of custom column formulas to add to the table, either adding new columns or replacing existing
1568
+ * ones. To update, call <b>applyCustomColumns()</b>.
1569
+ * @return {@link dh.CustomColumn} array
1570
+ */
1571
+ get customColumns():Array<CustomColumn>;
1572
+ /**
1573
+ * True if this table may receive updates from the server, including size changed events, updated events after
1574
+ * initial snapshot.
1575
+ * @return boolean
1576
+ */
1577
+ get isRefreshing():boolean;
1578
+ /**
1579
+ * An ordered list of Filters to apply to the table. To update, call applyFilter(). Note that this getter will
1580
+ * return the new value immediately, even though it may take a little time to update on the server. You may listen
1581
+ * for the <b>filterchanged</b> event to know when to update the UI.
1582
+ * @return {@link dh.FilterCondition} array
1583
+ */
1584
+ get filter():Array<FilterCondition>;
1585
+ /**
1586
+ * The total count of the rows in the table, excluding any filters. Unlike <b>size</b>, changes to this value will
1587
+ * not result in any event. <b>Sort[] sort</b> an ordered list of Sorts to apply to the table. To update, call
1588
+ * applySort(). Note that this getter will return the new value immediately, even though it may take a little time
1589
+ * to update on the server. You may listen for the <b>sortchanged</b> event to know when to update the UI.
1590
+ * @return double
1591
1591
  */
1592
- abs():Sort;
1593
- toString():string;
1592
+ get totalSize():number;
1594
1593
  /**
1595
- * True if the absolute value of the column should be used when sorting; defaults to false.
1596
- * @return boolean
1594
+ * The total count of rows in the table. The size can and will change; see the <b>sizechanged</b> event for details.
1595
+ * Size will be negative in exceptional cases (e.g., the table is uncoalesced; see the <b>isUncoalesced</b>
1596
+ * property). for details).
1597
+ * @return double
1597
1598
  */
1598
- get isAbs():boolean;
1599
+ get size():number;
1599
1600
  /**
1600
- * The column which is sorted.
1601
- * @return {@link dh.Column}
1601
+ * True if this table has been closed.
1602
+ * @return boolean
1602
1603
  */
1603
- get column():Column;
1604
+ get isClosed():boolean;
1604
1605
  /**
1605
- * The direction of this sort, either <b>ASC</b>, <b>DESC</b>, or <b>REVERSE</b>.
1606
- * @return String
1606
+ * Read-only. True if this table is uncoalesced. Set a viewport or filter on the partition columns to coalesce the
1607
+ * table. Check the <b>isPartitionColumn</b> property on the table columns to retrieve the partition columns. Size
1608
+ * will be unavailable until table is coalesced.
1609
+ * @return boolean
1607
1610
  */
1608
- get direction():string;
1609
- }
1610
-
1611
- export class CustomColumn {
1612
- static readonly TYPE_FORMAT_COLOR:string;
1613
- static readonly TYPE_FORMAT_NUMBER:string;
1614
- static readonly TYPE_FORMAT_DATE:string;
1615
- static readonly TYPE_NEW:string;
1616
-
1617
- protected constructor();
1618
-
1619
- valueOf():string;
1620
- toString():string;
1611
+ get isUncoalesced():boolean;
1621
1612
  /**
1622
- * The expression to evaluate this custom column.
1623
- * @return String
1613
+ * Listen for events on this object.
1614
+ * @param name - the name of the event to listen for
1615
+ * @param callback - a function to call when the event occurs
1616
+ * @return Returns a cleanup function.
1617
+ * @typeParam T - the type of the data that the event will provide
1624
1618
  */
1625
- get expression():string;
1619
+ addEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):()=>void;
1620
+ nextEvent<T>(eventName:string, timeoutInMillis?:number):Promise<CustomEvent<T>>;
1621
+ hasListeners(name:string):boolean;
1626
1622
  /**
1627
- * The name of the column to use.
1628
- * @return String
1623
+ * Removes an event listener added to this table.
1624
+ * @param name -
1625
+ * @param callback -
1626
+ * @return
1627
+ * @typeParam T -
1629
1628
  */
1630
- get name():string;
1629
+ removeEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):boolean;
1631
1630
  /**
1632
- * Type of custom column. One of
1633
- *
1634
- * <ul>
1635
- * <li>FORMAT_COLOR</li>
1636
- * <li>FORMAT_NUMBER</li>
1637
- * <li>FORMAT_DATE</li>
1638
- * <li>NEW</li>
1639
- * </ul>
1640
- * @return String
1631
+ * a Sort than can be used to reverse a table. This can be passed into n array in applySort. Note that Tree Tables
1632
+ * do not support reverse.
1633
+ * @return {@link dh.Sort}
1641
1634
  */
1642
- get type():string;
1643
- }
1644
-
1645
- export class LongWrapper {
1646
- protected constructor();
1647
-
1648
- static ofString(str:string):LongWrapper;
1649
- asNumber():number;
1650
- valueOf():string;
1651
- toString():string;
1635
+ static reverse():Sort;
1652
1636
  }
1653
1637
 
1654
1638
  export class Ide {
@@ -1785,6 +1769,14 @@ export namespace dh {
1785
1769
  static createCustomColumn(name:string, expression:string):CustomColumn;
1786
1770
  }
1787
1771
 
1772
+ export class LoginCredentials {
1773
+ type?:string|null;
1774
+ username?:string|null;
1775
+ token?:string|null;
1776
+
1777
+ constructor();
1778
+ }
1779
+
1788
1780
  /**
1789
1781
  * Describes a grouping and aggregations for a roll-up table. Pass to the <b>Table.rollup</b> function to create a
1790
1782
  * roll-up table.
@@ -2030,236 +2022,244 @@ export namespace dh {
2030
2022
  }
2031
2023
 
2032
2024
  /**
2033
- * Wrap BigInteger values for use in JS. Provides text formatting for display and access to the underlying value.
2025
+ * Deprecated for use in Deephaven Core.
2026
+ * @deprecated
2034
2027
  */
2035
- export class BigIntegerWrapper {
2028
+ export class Client {
2029
+ static readonly EVENT_REQUEST_FAILED:string;
2030
+ static readonly EVENT_REQUEST_STARTED:string;
2031
+ static readonly EVENT_REQUEST_SUCCEEDED:string;
2032
+
2033
+ constructor();
2034
+ }
2035
+
2036
+ export class LongWrapper {
2036
2037
  protected constructor();
2037
2038
 
2038
- static ofString(str:string):BigIntegerWrapper;
2039
+ static ofString(str:string):LongWrapper;
2039
2040
  asNumber():number;
2040
2041
  valueOf():string;
2041
2042
  toString():string;
2042
2043
  }
2043
2044
 
2044
2045
  /**
2045
- * Represents a non-viewport subscription to a table, and all data currently known to be present in the subscribed
2046
- * columns. This class handles incoming snapshots and deltas, and fires events to consumers to notify of data changes.
2047
- *
2048
- * Unlike {@link dh.TableViewportSubscription}, the "original" table does not have a reference to this instance, only the
2049
- * "private" table instance does, since the original cannot modify the subscription, and the private instance must
2050
- * forward data to it.
2051
- *
2052
- * Represents a subscription to the table on the server. Changes made to the table will not be reflected here - the
2053
- * subscription must be closed and a new one optioned to see those changes. The event model is slightly different from
2054
- * viewports to make it less expensive to compute for large tables.
2046
+ * This class allows iteration over non-contiguous indexes. In the future, this will support the EcmaScript 2015
2047
+ * Iteration protocol, but for now has one method which returns an iterator, and also supports querying the size.
2048
+ * Additionally, we may add support for creating RangeSet objects to better serve some use cases.
2055
2049
  */
2056
- export class TableSubscription implements HasEventHandling {
2057
- /**
2058
- * Indicates that some new data is available on the client, either an initial snapshot or a delta update. The
2059
- * <b>detail</b> field of the event will contain a TableSubscriptionEventData detailing what has changed, or
2060
- * allowing access to the entire range of items currently in the subscribed columns.
2061
- */
2062
- static readonly EVENT_UPDATED:string;
2063
-
2050
+ export class RangeSet {
2064
2051
  protected constructor();
2065
2052
 
2053
+ static ofRange(first:number, last:number):RangeSet;
2054
+ static ofItems(rows:number[]):RangeSet;
2055
+ static ofRanges(ranges:RangeSet[]):RangeSet;
2056
+ static ofSortedRanges(ranges:RangeSet[]):RangeSet;
2066
2057
  /**
2067
- * Stops the subscription on the server.
2058
+ * a new iterator over all indexes in this collection.
2059
+ * @return Iterator of {@link dh.LongWrapper}
2068
2060
  */
2069
- close():void;
2070
- addEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):()=>void;
2071
- nextEvent<T>(eventName:string, timeoutInMillis?:number):Promise<CustomEvent<T>>;
2072
- hasListeners(name:string):boolean;
2073
- removeEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):boolean;
2061
+ iterator():Iterator<LongWrapper>;
2074
2062
  /**
2075
- * The columns that were subscribed to when this subscription was created
2076
- * @return {@link dh.Column}
2063
+ * The total count of items contained in this collection. In some cases this can be expensive to compute, and
2064
+ * generally should not be needed except for debugging purposes, or preallocating space (i.e., do not call this
2065
+ * property each time through a loop).
2066
+ * @return double
2077
2067
  */
2078
- get columns():Array<Column>;
2079
- }
2080
-
2081
- /**
2082
- * Deprecated for use in Deephaven Core.
2083
- * @deprecated
2084
- */
2085
- export class Client {
2086
- static readonly EVENT_REQUEST_FAILED:string;
2087
- static readonly EVENT_REQUEST_STARTED:string;
2088
- static readonly EVENT_REQUEST_SUCCEEDED:string;
2089
-
2090
- constructor();
2068
+ get size():number;
2091
2069
  }
2092
2070
 
2093
2071
  /**
2094
- * Describes data that can be filtered, either a column reference or a literal value. Used this way, the type of a value
2095
- * can be specified so that values which are ambiguous or not well supported in JS will not be confused with Strings or
2096
- * imprecise numbers (e.g., nanosecond-precision date values). Additionally, once wrapped in this way, methods can be
2097
- * called on these value literal instances. These instances are immutable - any method called on them returns a new
2072
+ * Describes a filter which can be applied to a table. Replacing these instances may be more expensive than reusing
2073
+ * them. These instances are immutable - all operations that compose them to build bigger expressions return a new
2098
2074
  * instance.
2099
2075
  */
2100
- export class FilterValue {
2076
+ export class FilterCondition {
2101
2077
  protected constructor();
2102
2078
 
2103
2079
  /**
2104
- * Constructs a number for the filter API from the given parameter. Can also be used on the values returned from
2105
- * {@link TableData.get} for DateTime values. To create
2106
- * a filter with a date, use <b>dh.DateWrapper.ofJsDate</b> or
2107
- * {@link i18n.DateTimeFormat.parse}. To create a filter with a
2108
- * 64-bit long integer, use {@link LongWrapper.ofString}.
2109
- * @param input - the number to wrap as a FilterValue
2110
- * @return an immutable FilterValue that can be built into a filter
2080
+ * the opposite of this condition
2081
+ * @return FilterCondition
2111
2082
  */
2112
- static ofNumber(input:LongWrapper|number):FilterValue;
2083
+ not():FilterCondition;
2113
2084
  /**
2114
- * a filter condition checking if the current value is equal to the given parameter
2115
- * @param term -
2116
- * @return {@link dh.FilterCondition}
2085
+ * a condition representing the current condition logically ANDed with the other parameters
2086
+ * @param filters -
2087
+ * @return FilterCondition
2117
2088
  */
2118
- eq(term:FilterValue):FilterCondition;
2089
+ and(...filters:FilterCondition[]):FilterCondition;
2119
2090
  /**
2120
- * a filter condition checking if the current value is equal to the given parameter, ignoring differences of upper
2121
- * vs lower case
2122
- * @param term -
2123
- * @return {@link dh.FilterCondition}
2091
+ * a condition representing the current condition logically ORed with the other parameters
2092
+ * @param filters -
2093
+ * @return FilterCondition.
2124
2094
  */
2125
- eqIgnoreCase(term:FilterValue):FilterCondition;
2095
+ or(...filters:FilterCondition[]):FilterCondition;
2126
2096
  /**
2127
- * a filter condition checking if the current value is not equal to the given parameter
2128
- * @param term -
2129
- * @return {@link dh.FilterCondition}
2097
+ * a string suitable for debugging showing the details of this condition.
2098
+ * @return String.
2130
2099
  */
2131
- notEq(term:FilterValue):FilterCondition;
2100
+ toString():string;
2101
+ get columns():Array<Column>;
2102
+ /**
2103
+ * a filter condition invoking a static function with the given parameters. Currently supported Deephaven static
2104
+ * functions:
2105
+ * <ul>
2106
+ * <li><b>inRange</b>: Given three comparable values, returns true if the first is less than the second but greater
2107
+ * than the third</li>
2108
+ * <li><b>isInf</b>:Returns true if the given number is <i>infinity</i></li>
2109
+ * <li><b>isNaN</b>:Returns true if the given number is <i>not a number</i></li>
2110
+ * <li><b>isNormal</b>:Returns true if the given number <i>is not null</i>, <i>is not infinity</i>, and <i>is not
2111
+ * "not a number"</i></li>
2112
+ * <li><b>startsWith</b>:Returns true if the first string starts with the second string</li>
2113
+ * <li><b>endsWith</b>Returns true if the first string ends with the second string</li>
2114
+ * <li><b>matches</b>:Returns true if the first string argument matches the second string used as a Java regular
2115
+ * expression</li>
2116
+ * <li><b>contains</b>:Returns true if the first string argument contains the second string as a substring</li>
2117
+ * <li><b>in</b>:Returns true if the first string argument can be found in the second array argument.
2118
+ * <p>
2119
+ * Note that the array can only be specified as a column reference at this time - typically the `FilterValue.in`
2120
+ * method should be used in other cases
2121
+ * </p>
2122
+ * </li>
2123
+ * </ul>
2124
+ * @param function -
2125
+ * @param args -
2126
+ * @return dh.FilterCondition
2127
+ */
2128
+ static invoke(func:string, ...args:FilterValue[]):FilterCondition;
2129
+ /**
2130
+ * a filter condition which will check if the given value can be found in any supported column on whatever table
2131
+ * this FilterCondition is passed to. This FilterCondition is somewhat unique in that it need not be given a column
2132
+ * instance, but will adapt to any table. On numeric columns, with a value passed in which can be parsed as a
2133
+ * number, the column will be filtered to numbers which equal, or can be "rounded" effectively to this number. On
2134
+ * String columns, the given value will match any column which contains this string in a case-insensitive search. An
2135
+ * optional second argument can be passed, an array of `FilterValue` from the columns to limit this search to (see
2136
+ * {@link dh.Column.filter}).
2137
+ * @param value -
2138
+ * @param columns -
2139
+ * @return dh.FilterCondition
2140
+ */
2141
+ static search(value:FilterValue, columns?:FilterValue[]):FilterCondition;
2142
+ }
2143
+
2144
+ /**
2145
+ * Represents a non-viewport subscription to a table, and all data currently known to be present in the subscribed
2146
+ * columns. This class handles incoming snapshots and deltas, and fires events to consumers to notify of data changes.
2147
+ *
2148
+ * Unlike {@link dh.TableViewportSubscription}, the "original" table does not have a reference to this instance, only the
2149
+ * "private" table instance does, since the original cannot modify the subscription, and the private instance must
2150
+ * forward data to it.
2151
+ *
2152
+ * Represents a subscription to the table on the server. Changes made to the table will not be reflected here - the
2153
+ * subscription must be closed and a new one optioned to see those changes. The event model is slightly different from
2154
+ * viewports to make it less expensive to compute for large tables.
2155
+ */
2156
+ export class TableSubscription implements HasEventHandling {
2132
2157
  /**
2133
- * a filter condition checking if the current value is not equal to the given parameter, ignoring differences of
2134
- * upper vs lower case
2135
- * @param term -
2136
- * @return {@link dh.FilterCondition}
2158
+ * Indicates that some new data is available on the client, either an initial snapshot or a delta update. The
2159
+ * <b>detail</b> field of the event will contain a TableSubscriptionEventData detailing what has changed, or
2160
+ * allowing access to the entire range of items currently in the subscribed columns.
2137
2161
  */
2138
- notEqIgnoreCase(term:FilterValue):FilterCondition;
2162
+ static readonly EVENT_UPDATED:string;
2163
+
2164
+ protected constructor();
2165
+
2139
2166
  /**
2140
- * a filter condition checking if the current value is greater than the given parameter
2141
- * @param term -
2142
- * @return {@link dh.FilterCondition}
2167
+ * Stops the subscription on the server.
2143
2168
  */
2144
- greaterThan(term:FilterValue):FilterCondition;
2169
+ close():void;
2170
+ addEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):()=>void;
2171
+ nextEvent<T>(eventName:string, timeoutInMillis?:number):Promise<CustomEvent<T>>;
2172
+ hasListeners(name:string):boolean;
2173
+ removeEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):boolean;
2145
2174
  /**
2146
- * a filter condition checking if the current value is less than the given parameter
2147
- * @param term -
2148
- * @return {@link dh.FilterCondition}
2175
+ * The columns that were subscribed to when this subscription was created
2176
+ * @return {@link dh.Column}
2149
2177
  */
2150
- lessThan(term:FilterValue):FilterCondition;
2178
+ get columns():Array<Column>;
2179
+ }
2180
+
2181
+ /**
2182
+ * Describes how a Totals Table will be generated from its parent table. Each table has a default (which may be null)
2183
+ * indicating how that table was configured when it was declared, and each Totals Table has a similar property
2184
+ * describing how it was created. Both the <b>Table.getTotalsTable</b> and <b>Table.getGrandTotalsTable</b> methods take
2185
+ * this config as an optional parameter - without it, the table's default will be used, or if null, a default instance
2186
+ * of <b>TotalsTableConfig</b> will be supplied.
2187
+ *
2188
+ * This class has a no-arg constructor, allowing an instance to be made with the default values provided. However, any
2189
+ * JS object can be passed in to the methods which accept instances of this type, provided their values adhere to the
2190
+ * expected formats.
2191
+ */
2192
+ export class TotalsTableConfig {
2151
2193
  /**
2152
- * a filter condition checking if the current value is greater than or equal to the given parameter
2153
- * @param term -
2154
- * @return {@link dh.FilterCondition}
2194
+ * @deprecated
2155
2195
  */
2156
- greaterThanOrEqualTo(term:FilterValue):FilterCondition;
2196
+ static readonly COUNT:string;
2157
2197
  /**
2158
- * a filter condition checking if the current value is less than or equal to the given parameter
2159
- * @param term -
2160
- * @return {@link dh.FilterCondition}
2198
+ * @deprecated
2161
2199
  */
2162
- lessThanOrEqualTo(term:FilterValue):FilterCondition;
2200
+ static readonly MIN:string;
2163
2201
  /**
2164
- * a filter condition checking if the current value is in the given set of values
2165
- * @param terms -
2166
- * @return {@link dh.FilterCondition}
2202
+ * @deprecated
2167
2203
  */
2168
- in(terms:FilterValue[]):FilterCondition;
2204
+ static readonly MAX:string;
2169
2205
  /**
2170
- * a filter condition checking if the current value is in the given set of values, ignoring differences of upper vs
2171
- * lower case
2172
- * @param terms -
2173
- * @return {@link dh.FilterCondition}
2206
+ * @deprecated
2174
2207
  */
2175
- inIgnoreCase(terms:FilterValue[]):FilterCondition;
2208
+ static readonly SUM:string;
2176
2209
  /**
2177
- * a filter condition checking that the current value is not in the given set of values
2178
- * @param terms -
2179
- * @return {@link dh.FilterCondition}
2210
+ * @deprecated
2180
2211
  */
2181
- notIn(terms:FilterValue[]):FilterCondition;
2212
+ static readonly ABS_SUM:string;
2182
2213
  /**
2183
- * a filter condition checking that the current value is not in the given set of values, ignoring differences of
2184
- * upper vs lower case
2185
- * @param terms -
2186
- * @return {@link dh.FilterCondition}
2214
+ * @deprecated
2187
2215
  */
2188
- notInIgnoreCase(terms:FilterValue[]):FilterCondition;
2216
+ static readonly VAR:string;
2189
2217
  /**
2190
- * a filter condition checking if the given value contains the given string value
2191
- * @param term -
2192
- * @return {@link dh.FilterCondition}
2218
+ * @deprecated
2193
2219
  */
2194
- contains(term:FilterValue):FilterCondition;
2220
+ static readonly AVG:string;
2195
2221
  /**
2196
- * a filter condition checking if the given value contains the given string value, ignoring differences of upper vs
2197
- * lower case
2198
- * @param term -
2199
- * @return {@link dh.FilterCondition}
2222
+ * @deprecated
2200
2223
  */
2201
- containsIgnoreCase(term:FilterValue):FilterCondition;
2224
+ static readonly STD:string;
2202
2225
  /**
2203
- * a filter condition checking if the given value matches the provided regular expressions string. Regex patterns
2204
- * use Java regex syntax
2205
- * @param pattern -
2206
- * @return {@link dh.FilterCondition}
2226
+ * @deprecated
2207
2227
  */
2208
- matches(pattern:FilterValue):FilterCondition;
2228
+ static readonly FIRST:string;
2209
2229
  /**
2210
- * a filter condition checking if the given value matches the provided regular expressions string, ignoring
2211
- * differences of upper vs lower case. Regex patterns use Java regex syntax
2212
- * @param pattern -
2213
- * @return {@link dh.FilterCondition}
2230
+ * @deprecated
2214
2231
  */
2215
- matchesIgnoreCase(pattern:FilterValue):FilterCondition;
2232
+ static readonly LAST:string;
2216
2233
  /**
2217
- * a filter condition checking if the current value is a true boolean
2218
- * @return {@link dh.FilterCondition}
2234
+ * @deprecated
2219
2235
  */
2220
- isTrue():FilterCondition;
2236
+ static readonly SKIP:string;
2221
2237
  /**
2222
- * a filter condition checking if the current value is a false boolean
2223
- * @return {@link dh.FilterCondition}
2238
+ * Specifies if a Totals Table should be expanded by default in the UI. Defaults to false.
2224
2239
  */
2225
- isFalse():FilterCondition;
2240
+ showTotalsByDefault:boolean;
2226
2241
  /**
2227
- * a filter condition checking if the current value is a null value
2228
- * @return {@link dh.FilterCondition}
2242
+ * Specifies if a Grand Totals Table should be expanded by default in the UI. Defaults to false.
2229
2243
  */
2230
- isNull():FilterCondition;
2244
+ showGrandTotalsByDefault:boolean;
2231
2245
  /**
2232
- * a filter condition invoking the given method on the current value, with the given parameters. Currently supported
2233
- * functions that can be invoked on a String:
2234
- * <ul>
2235
- * <li><b>startsWith</b>: Returns true if the current string value starts with the supplied string argument</li>
2236
- * <li><b>endsWith</b>: Returns true if the current string value ends with the supplied string argument</li>
2237
- * <li><b>matches</b>: Returns true if the current string value matches the supplied string argument used as a Java
2238
- * regular expression</li>
2239
- * <li><b>contains</b>: Returns true if the current string value contains the supplied string argument
2240
- * <p>
2241
- * When invoking against a constant, this should be avoided in favor of FilterValue.contains
2242
- * </p>
2243
- * </li>
2244
- * </ul>
2245
- * @param method -
2246
- * @param args -
2247
- * @return
2246
+ * Specifies the default operation for columns that do not have a specific operation applied; defaults to "Sum".
2248
2247
  */
2249
- invoke(method:string, ...args:FilterValue[]):FilterCondition;
2250
- toString():string;
2248
+ defaultOperation:AggregationOperationType;
2251
2249
  /**
2252
- * Constructs a string for the filter API from the given parameter.
2253
- * @param input -
2254
- * @return
2250
+ * Mapping from each column name to the aggregation(s) that should be applied to that column in the resulting Totals
2251
+ * Table. If a column is omitted, the defaultOperation is used.
2255
2252
  */
2256
- static ofString(input:any):FilterValue;
2253
+ operationMap:{ [key: string]: Array<AggregationOperationType>; };
2257
2254
  /**
2258
- * Constructs a boolean for the filter API from the given parameter.
2259
- * @param b -
2260
- * @return
2255
+ * Groupings to use when generating the Totals Table. One row will exist for each unique set of values observed in
2256
+ * these columns. See also `Table.selectDistinct`.
2261
2257
  */
2262
- static ofBoolean(b:boolean):FilterValue;
2258
+ groupBy:Array<string>;
2259
+
2260
+ constructor();
2261
+
2262
+ toString():string;
2263
2263
  }
2264
2264
 
2265
2265
  /**
@@ -2357,6 +2357,13 @@ export namespace dh {
2357
2357
  }
2358
2358
 
2359
2359
 
2360
+ type SearchDisplayModeType = string;
2361
+ export class SearchDisplayMode {
2362
+ static readonly SEARCH_DISPLAY_DEFAULT:SearchDisplayModeType;
2363
+ static readonly SEARCH_DISPLAY_HIDE:SearchDisplayModeType;
2364
+ static readonly SEARCH_DISPLAY_SHOW:SearchDisplayModeType;
2365
+ }
2366
+
2360
2367
  /**
2361
2368
  * This enum describes the name of each supported operation/aggregation type when creating a `TreeTable`.
2362
2369
  */
@@ -2378,6 +2385,16 @@ export namespace dh {
2378
2385
  static readonly SKIP:AggregationOperationType;
2379
2386
  }
2380
2387
 
2388
+ type ValueTypeType = string;
2389
+ export class ValueType {
2390
+ static readonly STRING:ValueTypeType;
2391
+ static readonly NUMBER:ValueTypeType;
2392
+ static readonly DOUBLE:ValueTypeType;
2393
+ static readonly LONG:ValueTypeType;
2394
+ static readonly DATETIME:ValueTypeType;
2395
+ static readonly BOOLEAN:ValueTypeType;
2396
+ }
2397
+
2381
2398
  /**
2382
2399
  * A set of string constants that can be used to describe the different objects the JS API can export.
2383
2400
  */
@@ -2394,70 +2411,77 @@ export namespace dh {
2394
2411
  static readonly TREEMAP:VariableTypeType;
2395
2412
  }
2396
2413
 
2397
- type SearchDisplayModeType = string;
2398
- export class SearchDisplayMode {
2399
- static readonly SEARCH_DISPLAY_DEFAULT:SearchDisplayModeType;
2400
- static readonly SEARCH_DISPLAY_HIDE:SearchDisplayModeType;
2401
- static readonly SEARCH_DISPLAY_SHOW:SearchDisplayModeType;
2402
- }
2403
-
2404
- type ValueTypeType = string;
2405
- export class ValueType {
2406
- static readonly STRING:ValueTypeType;
2407
- static readonly NUMBER:ValueTypeType;
2408
- static readonly DOUBLE:ValueTypeType;
2409
- static readonly LONG:ValueTypeType;
2410
- static readonly DATETIME:ValueTypeType;
2411
- static readonly BOOLEAN:ValueTypeType;
2412
- }
2413
-
2414
2414
  }
2415
2415
 
2416
2416
  export namespace dh.ide {
2417
2417
 
2418
2418
  /**
2419
- * Indicates the result of code run on the server.
2419
+ * Specifies a type and either id or name (but not both).
2420
2420
  */
2421
- export interface CommandResult {
2421
+ export interface VariableDescriptor {
2422
+ type:string;
2423
+ id?:string|null;
2424
+ name?:string|null;
2425
+ }
2426
+ /**
2427
+ * Represents a serialized fishlib LogRecord, suitable for display on javascript clients. A log entry sent from the
2428
+ * server.
2429
+ */
2430
+ export interface LogItem {
2422
2431
  /**
2423
- * Describes changes made in the course of this command.
2424
- * @return {@link dh.ide.VariableChanges}.
2432
+ * The level of the log message, enabling the client to ignore messages.
2433
+ * @return String
2425
2434
  */
2426
- get changes():VariableChanges;
2435
+ get logLevel():string;
2427
2436
  /**
2428
- * If the command failed, the error message will be provided here.
2437
+ * Timestamp of the message in microseconds since Jan 1, 1970 UTC.
2438
+ * @return double
2439
+ */
2440
+ get micros():number;
2441
+ /**
2442
+ * The log message written on the server.
2429
2443
  * @return String
2430
2444
  */
2431
- get error():string;
2445
+ get message():string;
2432
2446
  }
2433
2447
  /**
2434
- * Specifies a type and either id or name (but not both).
2448
+ * Describes changes in the current set of variables in the script session. Note that variables that changed value
2449
+ * without changing type will be included as <b>updated</b>, but if a new value with one type replaces an old value with
2450
+ * a different type, this will be included as an entry in both <b>removed</b> and <b>created</b> to indicate the old and
2451
+ * new types.
2435
2452
  */
2436
- export interface VariableDescriptor {
2437
- type:string;
2438
- id?:string|null;
2439
- name?:string|null;
2453
+ export interface VariableChanges {
2454
+ /**
2455
+ *
2456
+ * @return The variables that no longer exist after this operation, or were replaced by some variable with a
2457
+ * different type.
2458
+ */
2459
+ get removed():Array<VariableDefinition>;
2460
+ /**
2461
+ *
2462
+ * @return The variables that were created by this operation, or have a new type.
2463
+ */
2464
+ get created():Array<VariableDefinition>;
2465
+ /**
2466
+ *
2467
+ * @return The variables that changed value during this operation.
2468
+ */
2469
+ get updated():Array<VariableDefinition>;
2440
2470
  }
2441
2471
  /**
2442
- * Represents a serialized fishlib LogRecord, suitable for display on javascript clients. A log entry sent from the
2443
- * server.
2472
+ * Indicates the result of code run on the server.
2444
2473
  */
2445
- export interface LogItem {
2446
- /**
2447
- * The level of the log message, enabling the client to ignore messages.
2448
- * @return String
2449
- */
2450
- get logLevel():string;
2474
+ export interface CommandResult {
2451
2475
  /**
2452
- * Timestamp of the message in microseconds since Jan 1, 1970 UTC.
2453
- * @return double
2476
+ * Describes changes made in the course of this command.
2477
+ * @return {@link dh.ide.VariableChanges}.
2454
2478
  */
2455
- get micros():number;
2479
+ get changes():VariableChanges;
2456
2480
  /**
2457
- * The log message written on the server.
2481
+ * If the command failed, the error message will be provided here.
2458
2482
  * @return String
2459
2483
  */
2460
- get message():string;
2484
+ get error():string;
2461
2485
  }
2462
2486
  /**
2463
2487
  * A format to describe a variable available to be read from the server. Application fields are optional, and only
@@ -2500,33 +2524,120 @@ export namespace dh.ide {
2500
2524
  */
2501
2525
  get applicationName():string;
2502
2526
  }
2527
+ }
2528
+
2529
+ export namespace dh.i18n {
2530
+
2503
2531
  /**
2504
- * Describes changes in the current set of variables in the script session. Note that variables that changed value
2505
- * without changing type will be included as <b>updated</b>, but if a new value with one type replaces an old value with
2506
- * a different type, this will be included as an entry in both <b>removed</b> and <b>created</b> to indicate the old and
2507
- * new types.
2532
+ * Represents the timezones supported by Deephaven. Can be used to format dates, taking into account the offset changing
2533
+ * throughout the year (potentially changing each year). These instances mostly are useful at this time to pass to the
2534
+ * <b>DateTimeFormat.format()</b> methods, though also support a few properties at this time to see details about each
2535
+ * instance.
2536
+ *
2537
+ *
2538
+ * The following timezone codes are supported when getting a timezone object - instances appearing in the same line will
2539
+ * return the same details:
2540
+ *
2541
+ * <ul>
2542
+ * <li>GMT/UTC</li>
2543
+ * <li>Asia/Tokyo</li>
2544
+ * <li>Asia/Seoul</li>
2545
+ * <li>Asia/Hong_Kong</li>
2546
+ * <li>Asia/Singapore</li>
2547
+ * <li>Asia/Calcutta/Asia/Kolkata</li>
2548
+ * <li>Europe/Berlin</li>
2549
+ * <li>Europe/London</li>
2550
+ * <li>America/Sao_Paulo</li>
2551
+ * <li>America/St_Johns</li>
2552
+ * <li>America/Halifax</li>
2553
+ * <li>America/New_York</li>
2554
+ * <li>America/Chicago</li>
2555
+ * <li>America/Denver</li>
2556
+ * <li>America/Los_Angeles</li>
2557
+ * <li>America/Anchorage</li>
2558
+ * <li>Pacific/Honolulu</li>
2559
+ * </ul>
2560
+ *
2561
+ * A Timezone object can also be created from an abbreviation. The following abbreviations are supported:
2562
+ *
2563
+ * <ul>
2564
+ * <li>UTC</li>
2565
+ * <li>GMT</li>
2566
+ * <li>Z</li>
2567
+ * <li>NY</li>
2568
+ * <li>ET</li>
2569
+ * <li>EST</li>
2570
+ * <li>EDT</li>
2571
+ * <li>MN</li>
2572
+ * <li>CT</li>
2573
+ * <li>CST</li>
2574
+ * <li>CDT</li>
2575
+ * <li>MT</li>
2576
+ * <li>MST</li>
2577
+ * <li>MDT</li>
2578
+ * <li>PT</li>
2579
+ * <li>PST</li>
2580
+ * <li>PDT</li>
2581
+ * <li>HI</li>
2582
+ * <li>HST</li>
2583
+ * <li>HDT</li>
2584
+ * <li>BT</li>
2585
+ * <li>BRST</li>
2586
+ * <li>BRT</li>
2587
+ * <li>KR</li>
2588
+ * <li>KST</li>
2589
+ * <li>HK</li>
2590
+ * <li>HKT</li>
2591
+ * <li>JP</li>
2592
+ * <li>JST</li>
2593
+ * <li>AT</li>
2594
+ * <li>AST</li>
2595
+ * <li>ADT</li>
2596
+ * <li>NF</li>
2597
+ * <li>NST</li>
2598
+ * <li>NDT</li>
2599
+ * <li>AL</li>
2600
+ * <li>AKST</li>
2601
+ * <li>AKDT</li>
2602
+ * <li>IN</li>
2603
+ * <li>IST</li>
2604
+ * <li>CE</li>
2605
+ * <li>CET</li>
2606
+ * <li>CEST</li>
2607
+ * <li>SG</li>
2608
+ * <li>SGT</li>
2609
+ * <li>LON</li>
2610
+ * <li>BST</li>
2611
+ * <li>MOS</li>
2612
+ * <li>SHG</li>
2613
+ * <li>CH</li>
2614
+ * <li>NL</li>
2615
+ * <li>TW</li>
2616
+ * <li>SYD</li>
2617
+ * <li>AEST</li>
2618
+ * <li>AEDT</li>
2619
+ * </ul>
2508
2620
  */
2509
- export interface VariableChanges {
2621
+ export class TimeZone {
2622
+ protected constructor();
2623
+
2510
2624
  /**
2511
- *
2512
- * @return The variables that no longer exist after this operation, or were replaced by some variable with a
2513
- * different type.
2625
+ * Factory method which creates timezone instances from one of the supported keys.
2626
+ * @param tzCode -
2627
+ * @return dh.i18n.TimeZone
2514
2628
  */
2515
- get removed():Array<VariableDefinition>;
2629
+ static getTimeZone(tzCode:string):TimeZone;
2516
2630
  /**
2517
- *
2518
- * @return The variables that were created by this operation, or have a new type.
2631
+ * the standard offset of this timezone, in minutes
2632
+ * @return int
2519
2633
  */
2520
- get created():Array<VariableDefinition>;
2634
+ get standardOffset():number;
2521
2635
  /**
2522
- *
2523
- * @return The variables that changed value during this operation.
2636
+ * the timezone code that represents this `TimeZone`, usually the same key as was use to create this instance
2637
+ * @return String
2524
2638
  */
2525
- get updated():Array<VariableDefinition>;
2639
+ get id():string;
2526
2640
  }
2527
- }
2528
-
2529
- export namespace dh.i18n {
2530
2641
 
2531
2642
  /**
2532
2643
  * Largely an exported wrapper for the GWT DateFormat, but also includes support for formatting nanoseconds as an
@@ -2680,117 +2791,6 @@ export namespace dh.i18n {
2680
2791
  }
2681
2792
 
2682
2793
 
2683
- /**
2684
- * Represents the timezones supported by Deephaven. Can be used to format dates, taking into account the offset changing
2685
- * throughout the year (potentially changing each year). These instances mostly are useful at this time to pass to the
2686
- * <b>DateTimeFormat.format()</b> methods, though also support a few properties at this time to see details about each
2687
- * instance.
2688
- *
2689
- *
2690
- * The following timezone codes are supported when getting a timezone object - instances appearing in the same line will
2691
- * return the same details:
2692
- *
2693
- * <ul>
2694
- * <li>GMT/UTC</li>
2695
- * <li>Asia/Tokyo</li>
2696
- * <li>Asia/Seoul</li>
2697
- * <li>Asia/Hong_Kong</li>
2698
- * <li>Asia/Singapore</li>
2699
- * <li>Asia/Calcutta/Asia/Kolkata</li>
2700
- * <li>Europe/Berlin</li>
2701
- * <li>Europe/London</li>
2702
- * <li>America/Sao_Paulo</li>
2703
- * <li>America/St_Johns</li>
2704
- * <li>America/Halifax</li>
2705
- * <li>America/New_York</li>
2706
- * <li>America/Chicago</li>
2707
- * <li>America/Denver</li>
2708
- * <li>America/Los_Angeles</li>
2709
- * <li>America/Anchorage</li>
2710
- * <li>Pacific/Honolulu</li>
2711
- * </ul>
2712
- *
2713
- * A Timezone object can also be created from an abbreviation. The following abbreviations are supported:
2714
- *
2715
- * <ul>
2716
- * <li>UTC</li>
2717
- * <li>GMT</li>
2718
- * <li>Z</li>
2719
- * <li>NY</li>
2720
- * <li>ET</li>
2721
- * <li>EST</li>
2722
- * <li>EDT</li>
2723
- * <li>MN</li>
2724
- * <li>CT</li>
2725
- * <li>CST</li>
2726
- * <li>CDT</li>
2727
- * <li>MT</li>
2728
- * <li>MST</li>
2729
- * <li>MDT</li>
2730
- * <li>PT</li>
2731
- * <li>PST</li>
2732
- * <li>PDT</li>
2733
- * <li>HI</li>
2734
- * <li>HST</li>
2735
- * <li>HDT</li>
2736
- * <li>BT</li>
2737
- * <li>BRST</li>
2738
- * <li>BRT</li>
2739
- * <li>KR</li>
2740
- * <li>KST</li>
2741
- * <li>HK</li>
2742
- * <li>HKT</li>
2743
- * <li>JP</li>
2744
- * <li>JST</li>
2745
- * <li>AT</li>
2746
- * <li>AST</li>
2747
- * <li>ADT</li>
2748
- * <li>NF</li>
2749
- * <li>NST</li>
2750
- * <li>NDT</li>
2751
- * <li>AL</li>
2752
- * <li>AKST</li>
2753
- * <li>AKDT</li>
2754
- * <li>IN</li>
2755
- * <li>IST</li>
2756
- * <li>CE</li>
2757
- * <li>CET</li>
2758
- * <li>CEST</li>
2759
- * <li>SG</li>
2760
- * <li>SGT</li>
2761
- * <li>LON</li>
2762
- * <li>BST</li>
2763
- * <li>MOS</li>
2764
- * <li>SHG</li>
2765
- * <li>CH</li>
2766
- * <li>NL</li>
2767
- * <li>TW</li>
2768
- * <li>SYD</li>
2769
- * <li>AEST</li>
2770
- * <li>AEDT</li>
2771
- * </ul>
2772
- */
2773
- export class TimeZone {
2774
- protected constructor();
2775
-
2776
- /**
2777
- * Factory method which creates timezone instances from one of the supported keys.
2778
- * @param tzCode -
2779
- * @return dh.i18n.TimeZone
2780
- */
2781
- static getTimeZone(tzCode:string):TimeZone;
2782
- /**
2783
- * the standard offset of this timezone, in minutes
2784
- * @return int
2785
- */
2786
- get standardOffset():number;
2787
- /**
2788
- * the timezone code that represents this `TimeZone`, usually the same key as was use to create this instance
2789
- * @return String
2790
- */
2791
- get id():string;
2792
- }
2793
-
2794
2794
  }
2795
2795
 
2796
2796
  export namespace dh.plot {