@deephaven/jsapi-types 1.0.0-dev0.33.2 → 1.0.0-dev0.33.4

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 +1298 -1333
  2. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -18,19 +18,17 @@ export interface IIterableResult<T> {
18
18
  export namespace dh.storage {
19
19
 
20
20
  /**
21
- * Represents a file's contents loaded from the server. If an etag was specified when loading, client should first test
22
- * if the etag of this instance matches - if so, the contents will be empty, and the client's existing contents should
23
- * be used.
21
+ * Storage service metadata about files and folders.
24
22
  */
25
- export class FileContents {
23
+ export class ItemDetails {
26
24
  protected constructor();
27
25
 
28
- static blob(blob:Blob):FileContents;
29
- static text(...text:string[]):FileContents;
30
- static arrayBuffers(...buffers:ArrayBuffer[]):FileContents;
31
- text():Promise<string>;
32
- arrayBuffer():Promise<ArrayBuffer>;
26
+ get filename():string;
27
+ get basename():string;
28
+ get size():number;
33
29
  get etag():string;
30
+ get type():ItemTypeType;
31
+ get dirname():string;
34
32
  }
35
33
 
36
34
  /**
@@ -92,17 +90,19 @@ export namespace dh.storage {
92
90
  }
93
91
 
94
92
  /**
95
- * Storage service metadata about files and folders.
93
+ * Represents a file's contents loaded from the server. If an etag was specified when loading, client should first test
94
+ * if the etag of this instance matches - if so, the contents will be empty, and the client's existing contents should
95
+ * be used.
96
96
  */
97
- export class ItemDetails {
97
+ export class FileContents {
98
98
  protected constructor();
99
99
 
100
- get filename():string;
101
- get basename():string;
102
- get size():number;
100
+ static blob(blob:Blob):FileContents;
101
+ static text(...text:string[]):FileContents;
102
+ static arrayBuffers(...buffers:ArrayBuffer[]):FileContents;
103
+ text():Promise<string>;
104
+ arrayBuffer():Promise<ArrayBuffer>;
103
105
  get etag():string;
104
- get type():ItemTypeType;
105
- get dirname():string;
106
106
  }
107
107
 
108
108
 
@@ -116,89 +116,6 @@ export namespace dh.storage {
116
116
 
117
117
  export namespace dh {
118
118
 
119
- /**
120
- * Wrap LocalTime values for use in JS. Provides text formatting for display and access to the underlying value.
121
- */
122
- export interface LocalTimeWrapper {
123
- valueOf():string;
124
- getHour():number;
125
- getMinute():number;
126
- getSecond():number;
127
- getNano():number;
128
- toString():string;
129
- }
130
- /**
131
- * Common interface for various ways of accessing table data and formatting.
132
- *
133
- * Java note: this interface contains some extra overloads that aren't available in JS. Implementations are expected to
134
- * implement only abstract methods, and default methods present in this interface will dispatch accordingly.
135
- */
136
- export interface TableData {
137
- get(index:LongWrapper|number):Row;
138
- getData(index:LongWrapper|number, column:Column):any;
139
- getFormat(index:LongWrapper|number, column:Column):Format;
140
- get columns():Array<Column>;
141
- get rows():Array<Row>;
142
- }
143
- /**
144
- * Represents the contents of a single widget data message from the server, with a binary data paylod and exported
145
- * objects. Implemented both by Widget itself and by the `event.details` when data is received by the client.
146
- *
147
- * Terminology note: the name of this type should probably use "Data" instead of "Message", and the methods should use
148
- * "payload" rather than "data" to match other platforms and the protobuf itself. These names are instead used for
149
- * backwards compatibility and to better follow JS expectations.
150
- */
151
- export interface WidgetMessageDetails {
152
- /**
153
- * Returns the data from this message as a base64-encoded string.
154
- */
155
- getDataAsBase64():string;
156
- /**
157
- * Returns the data from this message as a Uint8Array.
158
- */
159
- getDataAsU8():Uint8Array;
160
- /**
161
- * Returns the data from this message as a utf-8 string.
162
- */
163
- getDataAsString():string;
164
- /**
165
- * Returns an array of exported objects sent from the server. The plugin implementation is now responsible for these
166
- * objects, and should close them when no longer needed.
167
- */
168
- get exportedObjects():WidgetExportedObject[];
169
- }
170
- /**
171
- * This object may be pooled internally or discarded and not updated. Do not retain references to it. Instead, request
172
- * the viewport again.
173
- */
174
- export interface ViewportRow extends Row {
175
- get index():LongWrapper;
176
- }
177
- /**
178
- * This object may be pooled internally or discarded and not updated. Do not retain references to it.
179
- */
180
- export interface Format {
181
- /**
182
- * The format string to apply to the value of this cell.
183
- * @return String
184
- */
185
- readonly formatString?:string|null;
186
- /**
187
- * Color to apply to the cell's background, in <b>#rrggbb</b> format.
188
- * @return String
189
- */
190
- readonly backgroundColor?:string|null;
191
- /**
192
- * Color to apply to the text, in <b>#rrggbb</b> format.
193
- * @return String
194
- */
195
- readonly color?:string|null;
196
- /**
197
- *
198
- * @deprecated Prefer formatString. Number format string to apply to the value in this cell.
199
- */
200
- readonly numberFormat?:string|null;
201
- }
202
119
  export interface JoinableTable {
203
120
  freeze():Promise<Table>;
204
121
  snapshot(baseTable:Table, doInitialSnapshot?:boolean, stampColumns?:string[]):Promise<Table>;
@@ -211,75 +128,6 @@ export namespace dh {
211
128
  exactJoin(rightTable:JoinableTable, columnsToMatch:Array<string>, columnsToAdd?:Array<string>):Promise<Table>;
212
129
  naturalJoin(rightTable:JoinableTable, columnsToMatch:Array<string>, columnsToAdd?:Array<string>):Promise<Table>;
213
130
  }
214
- export interface RefreshToken {
215
- get bytes():string;
216
- get expiry():number;
217
- }
218
- export interface ColumnGroup {
219
- get name():string|null;
220
- get children():string[]|null;
221
- get color():string|null;
222
- }
223
- export interface LayoutHints {
224
- readonly searchDisplayMode?:SearchDisplayModeType|null;
225
-
226
- get hiddenColumns():string[]|null;
227
- get frozenColumns():string[]|null;
228
- get columnGroups():ColumnGroup[]|null;
229
- get areSavedLayoutsAllowed():boolean;
230
- get frontColumns():string[]|null;
231
- get backColumns():string[]|null;
232
- }
233
- export interface Row {
234
- get(column:Column):any;
235
- getFormat(column:Column):Format;
236
- get index():LongWrapper;
237
- }
238
- /**
239
- * Row implementation that also provides additional read-only properties. represents visible rows in the table,
240
- * but with additional properties to reflect the tree structure.
241
- */
242
- export interface TreeRow extends ViewportRow {
243
- /**
244
- * True if this node is currently expanded to show its children; false otherwise. Those children will be the
245
- * rows below this one with a greater depth than this one
246
- * @return boolean
247
- */
248
- get isExpanded():boolean;
249
- /**
250
- * The number of levels above this node; zero for top level nodes. Generally used by the UI to indent the
251
- * row and its expand/collapse icon
252
- * @return int
253
- */
254
- get depth():number;
255
- /**
256
- * True if this node has children and can be expanded; false otherwise. Note that this value may change when
257
- * the table updates, depending on the table's configuration
258
- * @return boolean
259
- */
260
- get hasChildren():boolean;
261
- get index():LongWrapper;
262
- }
263
- export interface HasEventHandling {
264
- /**
265
- * Listen for events on this object.
266
- * @param name - the name of the event to listen for
267
- * @param callback - a function to call when the event occurs
268
- * @return Returns a cleanup function.
269
- * @typeParam T - the type of the data that the event will provide
270
- */
271
- addEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):()=>void;
272
- nextEvent<T>(eventName:string, timeoutInMillis?:number):Promise<CustomEvent<T>>;
273
- hasListeners(name:string):boolean;
274
- /**
275
- * Removes an event listener added to this table.
276
- * @param name -
277
- * @param callback -
278
- * @return
279
- * @typeParam T -
280
- */
281
- removeEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):boolean;
282
- }
283
131
  /**
284
132
  * Contains data in the current viewport. Also contains the offset to this data, so that the actual row number may be
285
133
  * determined. Do not assume that the first row in `rows` is the first visible row, because extra rows may be provided
@@ -302,39 +150,49 @@ export namespace dh {
302
150
  */
303
151
  get rows():Array<ViewportRow>;
304
152
  }
153
+ export interface RefreshToken {
154
+ get bytes():string;
155
+ get expiry():number;
156
+ }
157
+ export interface Row {
158
+ get(column:Column):any;
159
+ getFormat(column:Column):Format;
160
+ get index():LongWrapper;
161
+ }
305
162
  /**
306
- * Event data, describing the indexes that were added/removed/updated, and providing access to Rows (and thus data
307
- * in columns) either by index, or scanning the complete present index.
308
- *
309
- * This class supports two ways of reading the table - checking the changes made since the last update, and reading
310
- * all data currently in the table. While it is more expensive to always iterate over every single row in the table,
311
- * it may in some cases actually be cheaper than maintaining state separately and updating only the changes, though
312
- * both options should be considered.
313
- *
314
- * The RangeSet objects allow iterating over the LongWrapper indexes in the table. Note that these "indexes" are not
315
- * necessarily contiguous and may be negative, and represent some internal state on the server, allowing it to keep
316
- * track of data efficiently. Those LongWrapper objects can be passed to the various methods on this instance to
317
- * read specific rows or cells out of the table.
163
+ * Wrap LocalDate values for use in JS. Provides text formatting for display and access to the underlying value.
318
164
  */
319
- export interface SubscriptionTableData extends TableData {
320
- get fullIndex():RangeSet;
165
+ export interface LocalDateWrapper {
166
+ valueOf():string;
167
+ getYear():number;
168
+ getMonthValue():number;
169
+ getDayOfMonth():number;
170
+ toString():string;
171
+ }
172
+ /**
173
+ * This object may be pooled internally or discarded and not updated. Do not retain references to it.
174
+ */
175
+ export interface Format {
321
176
  /**
322
- * The ordered set of row indexes removed since the last update
323
- * @return dh.RangeSet
177
+ * The format string to apply to the value of this cell.
178
+ * @return String
324
179
  */
325
- get removed():RangeSet;
180
+ readonly formatString?:string|null;
326
181
  /**
327
- * The ordered set of row indexes added since the last update
328
- * @return dh.RangeSet
182
+ * Color to apply to the cell's background, in <b>#rrggbb</b> format.
183
+ * @return String
329
184
  */
330
- get added():RangeSet;
331
- get columns():Array<Column>;
185
+ readonly backgroundColor?:string|null;
332
186
  /**
333
- * The ordered set of row indexes updated since the last update
334
- * @return dh.RangeSet
187
+ * Color to apply to the text, in <b>#rrggbb</b> format.
188
+ * @return String
335
189
  */
336
- get modified():RangeSet;
337
- get rows():Array<Row>;
190
+ readonly color?:string|null;
191
+ /**
192
+ *
193
+ * @deprecated Prefer formatString. Number format string to apply to the value in this cell.
194
+ */
195
+ readonly numberFormat?:string|null;
338
196
  }
339
197
  /**
340
198
  * Behaves like a Table, but doesn't expose all of its API for changing the internal state. Instead, state is driven by
@@ -466,17 +324,70 @@ export namespace dh {
466
324
  get isRefreshing():boolean;
467
325
  }
468
326
  /**
469
- * Represents a server-side object that may not yet have been fetched by the client. When this object will no longer be
470
- * used, if {@link fetch} is not called on this object, then {@link close} must be to ensure server-side resources
471
- * are correctly freed.
327
+ * Javascript wrapper for {@link io.deephaven.web.shared.data.ColumnStatistics} This class holds the results of a call to generate statistics on a
328
+ * table column.
472
329
  */
473
- export interface WidgetExportedObject {
330
+ export interface ColumnStatistics {
474
331
  /**
475
- * Returns the type of this export, typically one of {@link dh.VariableType}, but may also include plugin types. If
476
- * null, this object cannot be fetched, but can be passed to the server, such as via
477
- * {@link Widget.sendMessage}.
478
- * @return the string type of this server-side object, or null.
479
- */
332
+ * Gets the type of formatting that should be used for given statistic.
333
+ * <p>
334
+ * the format type for a statistic. A null return value means that the column formatting should be used.
335
+ * @param name - the display name of the statistic
336
+ * @return String
337
+ */
338
+ getType(name:string):string;
339
+ /**
340
+ * Gets a map with the name of each unique value as key and the count as the value. A map of each unique value's
341
+ * name to the count of how many times it occurred in the column. This map will be empty for tables containing more
342
+ * than 19 unique values.
343
+ * @return Map of String double
344
+ */
345
+ get uniqueValues():Map<string, number>;
346
+ /**
347
+ * Gets a map with the display name of statistics as keys and the numeric stat as a value.
348
+ * <p>
349
+ * A map of each statistic's name to its value.
350
+ * @return Map of String and Object
351
+ */
352
+ get statisticsMap():Map<string, object>;
353
+ }
354
+ /**
355
+ * Row implementation that also provides additional read-only properties. represents visible rows in the table,
356
+ * but with additional properties to reflect the tree structure.
357
+ */
358
+ export interface TreeRow extends ViewportRow {
359
+ /**
360
+ * True if this node is currently expanded to show its children; false otherwise. Those children will be the
361
+ * rows below this one with a greater depth than this one
362
+ * @return boolean
363
+ */
364
+ get isExpanded():boolean;
365
+ /**
366
+ * The number of levels above this node; zero for top level nodes. Generally used by the UI to indent the
367
+ * row and its expand/collapse icon
368
+ * @return int
369
+ */
370
+ get depth():number;
371
+ /**
372
+ * True if this node has children and can be expanded; false otherwise. Note that this value may change when
373
+ * the table updates, depending on the table's configuration
374
+ * @return boolean
375
+ */
376
+ get hasChildren():boolean;
377
+ get index():LongWrapper;
378
+ }
379
+ /**
380
+ * Represents a server-side object that may not yet have been fetched by the client. When this object will no longer be
381
+ * used, if {@link fetch} is not called on this object, then {@link close} must be to ensure server-side resources
382
+ * are correctly freed.
383
+ */
384
+ export interface WidgetExportedObject {
385
+ /**
386
+ * Returns the type of this export, typically one of {@link dh.VariableType}, but may also include plugin types. If
387
+ * null, this object cannot be fetched, but can be passed to the server, such as via
388
+ * {@link Widget.sendMessage}.
389
+ * @return the string type of this server-side object, or null.
390
+ */
480
391
  readonly type?:string|null;
481
392
 
482
393
  /**
@@ -497,43 +408,145 @@ export namespace dh {
497
408
  */
498
409
  close():void;
499
410
  }
411
+ export interface LayoutHints {
412
+ readonly searchDisplayMode?:SearchDisplayModeType|null;
413
+
414
+ get hiddenColumns():string[]|null;
415
+ get frozenColumns():string[]|null;
416
+ get columnGroups():ColumnGroup[]|null;
417
+ get areSavedLayoutsAllowed():boolean;
418
+ get frontColumns():string[]|null;
419
+ get backColumns():string[]|null;
420
+ }
500
421
  /**
501
- * Wrap LocalDate values for use in JS. Provides text formatting for display and access to the underlying value.
422
+ * Represents the contents of a single widget data message from the server, with a binary data paylod and exported
423
+ * objects. Implemented both by Widget itself and by the `event.details` when data is received by the client.
424
+ *
425
+ * Terminology note: the name of this type should probably use "Data" instead of "Message", and the methods should use
426
+ * "payload" rather than "data" to match other platforms and the protobuf itself. These names are instead used for
427
+ * backwards compatibility and to better follow JS expectations.
502
428
  */
503
- export interface LocalDateWrapper {
504
- valueOf():string;
505
- getYear():number;
506
- getMonthValue():number;
507
- getDayOfMonth():number;
508
- toString():string;
429
+ export interface WidgetMessageDetails {
430
+ /**
431
+ * Returns the data from this message as a base64-encoded string.
432
+ */
433
+ getDataAsBase64():string;
434
+ /**
435
+ * Returns the data from this message as a Uint8Array.
436
+ */
437
+ getDataAsU8():Uint8Array;
438
+ /**
439
+ * Returns the data from this message as a utf-8 string.
440
+ */
441
+ getDataAsString():string;
442
+ /**
443
+ * Returns an array of exported objects sent from the server. The plugin implementation is now responsible for these
444
+ * objects, and should close them when no longer needed.
445
+ */
446
+ get exportedObjects():WidgetExportedObject[];
509
447
  }
510
448
  /**
511
- * Javascript wrapper for {@link io.deephaven.web.shared.data.ColumnStatistics} This class holds the results of a call to generate statistics on a
512
- * table column.
449
+ * Common interface for various ways of accessing table data and formatting.
450
+ *
451
+ * Java note: this interface contains some extra overloads that aren't available in JS. Implementations are expected to
452
+ * implement only abstract methods, and default methods present in this interface will dispatch accordingly.
513
453
  */
514
- export interface ColumnStatistics {
454
+ export interface TableData {
455
+ get(index:LongWrapper|number):Row;
456
+ getData(index:LongWrapper|number, column:Column):any;
457
+ getFormat(index:LongWrapper|number, column:Column):Format;
458
+ get columns():Array<Column>;
459
+ get rows():Array<Row>;
460
+ }
461
+ export interface HasEventHandling {
515
462
  /**
516
- * Gets the type of formatting that should be used for given statistic.
517
- * <p>
518
- * the format type for a statistic. A null return value means that the column formatting should be used.
519
- * @param name - the display name of the statistic
520
- * @return String
463
+ * Listen for events on this object.
464
+ * @param name - the name of the event to listen for
465
+ * @param callback - a function to call when the event occurs
466
+ * @return Returns a cleanup function.
467
+ * @typeParam T - the type of the data that the event will provide
521
468
  */
522
- getType(name:string):string;
469
+ addEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):()=>void;
470
+ nextEvent<T>(eventName:string, timeoutInMillis?:number):Promise<CustomEvent<T>>;
471
+ hasListeners(name:string):boolean;
523
472
  /**
524
- * Gets a map with the name of each unique value as key and the count as the value. A map of each unique value's
525
- * name to the count of how many times it occurred in the column. This map will be empty for tables containing more
526
- * than 19 unique values.
527
- * @return Map of String double
473
+ * Removes an event listener added to this table.
474
+ * @param name -
475
+ * @param callback -
476
+ * @return
477
+ * @typeParam T -
528
478
  */
529
- get uniqueValues():Map<string, number>;
479
+ removeEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):boolean;
480
+ }
481
+ /**
482
+ * Event data, describing the indexes that were added/removed/updated, and providing access to Rows (and thus data
483
+ * in columns) either by index, or scanning the complete present index.
484
+ *
485
+ * This class supports two ways of reading the table - checking the changes made since the last update, and reading
486
+ * all data currently in the table. While it is more expensive to always iterate over every single row in the table,
487
+ * it may in some cases actually be cheaper than maintaining state separately and updating only the changes, though
488
+ * both options should be considered.
489
+ *
490
+ * The RangeSet objects allow iterating over the LongWrapper indexes in the table. Note that these "indexes" are not
491
+ * necessarily contiguous and may be negative, and represent some internal state on the server, allowing it to keep
492
+ * track of data efficiently. Those LongWrapper objects can be passed to the various methods on this instance to
493
+ * read specific rows or cells out of the table.
494
+ */
495
+ export interface SubscriptionTableData extends TableData {
496
+ get fullIndex():RangeSet;
530
497
  /**
531
- * Gets a map with the display name of statistics as keys and the numeric stat as a value.
532
- * <p>
533
- * A map of each statistic's name to its value.
534
- * @return Map of String and Object
498
+ * The ordered set of row indexes removed since the last update
499
+ * @return dh.RangeSet
535
500
  */
536
- get statisticsMap():Map<string, object>;
501
+ get removed():RangeSet;
502
+ /**
503
+ * The ordered set of row indexes added since the last update
504
+ * @return dh.RangeSet
505
+ */
506
+ get added():RangeSet;
507
+ get columns():Array<Column>;
508
+ /**
509
+ * The ordered set of row indexes updated since the last update
510
+ * @return dh.RangeSet
511
+ */
512
+ get modified():RangeSet;
513
+ get rows():Array<Row>;
514
+ }
515
+ export interface WorkerHeapInfo {
516
+ /**
517
+ * Total heap size available for this worker.
518
+ */
519
+ get totalHeapSize():number;
520
+ get freeMemory():number;
521
+ get maximumHeapSize():number;
522
+ }
523
+ /**
524
+ * Wrap LocalTime values for use in JS. Provides text formatting for display and access to the underlying value.
525
+ */
526
+ export interface LocalTimeWrapper {
527
+ valueOf():string;
528
+ getHour():number;
529
+ getMinute():number;
530
+ getSecond():number;
531
+ getNano():number;
532
+ toString():string;
533
+ }
534
+ export interface ColumnGroup {
535
+ get name():string|null;
536
+ get children():string[]|null;
537
+ get color():string|null;
538
+ }
539
+ export interface TreeViewportData extends TableData {
540
+ get offset():number;
541
+ get columns():Array<Column>;
542
+ get rows():Array<TreeRow>;
543
+ }
544
+ /**
545
+ * This object may be pooled internally or discarded and not updated. Do not retain references to it. Instead, request
546
+ * the viewport again.
547
+ */
548
+ export interface ViewportRow extends Row {
549
+ get index():LongWrapper;
537
550
  }
538
551
  /**
539
552
  * Encapsulates event handling around table subscriptions by "cheating" and wrapping up a JsTable instance to do the
@@ -580,149 +593,12 @@ export namespace dh {
580
593
  getViewportData():Promise<TableData>;
581
594
  snapshot(rows:RangeSet, columns:Column[]):Promise<TableData>;
582
595
  }
583
- export interface WorkerHeapInfo {
584
- /**
585
- * Total heap size available for this worker.
586
- */
587
- get totalHeapSize():number;
588
- get freeMemory():number;
589
- get maximumHeapSize():number;
590
- }
591
- export interface TreeViewportData extends TableData {
592
- get offset():number;
593
- get columns():Array<Column>;
594
- get rows():Array<TreeRow>;
595
- }
596
-
597
- /**
598
- * Wrap BigInteger values for use in JS. Provides text formatting for display and access to the underlying value.
599
- */
600
- export class BigIntegerWrapper {
601
- protected constructor();
602
-
603
- static ofString(str:string):BigIntegerWrapper;
604
- asNumber():number;
605
- valueOf():string;
606
- toString():string;
607
- }
608
-
609
- export class DateWrapper extends LongWrapper {
610
- protected constructor();
611
-
612
- static ofJsDate(date:Date):DateWrapper;
613
- asDate():Date;
614
- }
615
-
616
- /**
617
- * Describes a filter which can be applied to a table. Replacing these instances may be more expensive than reusing
618
- * them. These instances are immutable - all operations that compose them to build bigger expressions return a new
619
- * instance.
620
- */
621
- export class FilterCondition {
622
- protected constructor();
623
-
624
- /**
625
- * the opposite of this condition
626
- * @return FilterCondition
627
- */
628
- not():FilterCondition;
629
- /**
630
- * a condition representing the current condition logically ANDed with the other parameters
631
- * @param filters -
632
- * @return FilterCondition
633
- */
634
- and(...filters:FilterCondition[]):FilterCondition;
635
- /**
636
- * a condition representing the current condition logically ORed with the other parameters
637
- * @param filters -
638
- * @return FilterCondition.
639
- */
640
- or(...filters:FilterCondition[]):FilterCondition;
641
- /**
642
- * a string suitable for debugging showing the details of this condition.
643
- * @return String.
644
- */
645
- toString():string;
646
- get columns():Array<Column>;
647
- /**
648
- * a filter condition invoking a static function with the given parameters. Currently supported Deephaven static
649
- * functions:
650
- * <ul>
651
- * <li><b>inRange</b>: Given three comparable values, returns true if the first is less than the second but greater
652
- * than the third</li>
653
- * <li><b>isInf</b>:Returns true if the given number is <i>infinity</i></li>
654
- * <li><b>isNaN</b>:Returns true if the given number is <i>not a number</i></li>
655
- * <li><b>isNormal</b>:Returns true if the given number <i>is not null</i>, <i>is not infinity</i>, and <i>is not
656
- * "not a number"</i></li>
657
- * <li><b>startsWith</b>:Returns true if the first string starts with the second string</li>
658
- * <li><b>endsWith</b>Returns true if the first string ends with the second string</li>
659
- * <li><b>matches</b>:Returns true if the first string argument matches the second string used as a Java regular
660
- * expression</li>
661
- * <li><b>contains</b>:Returns true if the first string argument contains the second string as a substring</li>
662
- * <li><b>in</b>:Returns true if the first string argument can be found in the second array argument.
663
- * <p>
664
- * Note that the array can only be specified as a column reference at this time - typically the `FilterValue.in`
665
- * method should be used in other cases
666
- * </p>
667
- * </li>
668
- * </ul>
669
- * @param function -
670
- * @param args -
671
- * @return dh.FilterCondition
672
- */
673
- static invoke(func:string, ...args:FilterValue[]):FilterCondition;
674
- /**
675
- * a filter condition which will check if the given value can be found in any supported column on whatever table
676
- * this FilterCondition is passed to. This FilterCondition is somewhat unique in that it need not be given a column
677
- * instance, but will adapt to any table. On numeric columns, with a value passed in which can be parsed as a
678
- * number, the column will be filtered to numbers which equal, or can be "rounded" effectively to this number. On
679
- * String columns, the given value will match any column which contains this string in a case-insensitive search. An
680
- * optional second argument can be passed, an array of `FilterValue` from the columns to limit this search to (see
681
- * {@link dh.Column.filter}).
682
- * @param value -
683
- * @param columns -
684
- * @return dh.FilterCondition
685
- */
686
- static search(value:FilterValue, columns?:FilterValue[]):FilterCondition;
687
- }
688
-
689
- /**
690
- * Exists to keep the dh.TableMap namespace so that the web UI can remain compatible with the DHE API, which still calls
691
- * this type TableMap.
692
- * @deprecated
693
- */
694
- export class TableMap {
695
- static readonly EVENT_KEYADDED:string;
696
- static readonly EVENT_DISCONNECT:string;
697
- static readonly EVENT_RECONNECT:string;
698
- static readonly EVENT_RECONNECTFAILED:string;
699
-
700
- protected constructor();
701
- }
702
-
703
- export class LoginCredentials {
704
- type?:string|null;
705
- username?:string|null;
706
- token?:string|null;
707
-
708
- constructor();
709
- }
710
-
711
- /**
712
- * Event fired when a command is issued from the client.
713
- */
714
- export class CommandInfo {
715
- constructor(code:string, result:Promise<dh.ide.CommandResult>);
716
-
717
- get result():Promise<dh.ide.CommandResult>;
718
- get code():string;
719
- }
720
-
721
- export class CustomColumn {
722
- static readonly TYPE_FORMAT_COLOR:string;
723
- static readonly TYPE_FORMAT_NUMBER:string;
724
- static readonly TYPE_FORMAT_DATE:string;
725
- static readonly TYPE_NEW:string;
596
+
597
+ export class CustomColumn {
598
+ static readonly TYPE_FORMAT_COLOR:string;
599
+ static readonly TYPE_FORMAT_NUMBER:string;
600
+ static readonly TYPE_FORMAT_DATE:string;
601
+ static readonly TYPE_NEW:string;
726
602
 
727
603
  protected constructor();
728
604
 
@@ -753,87 +629,250 @@ export namespace dh {
753
629
  }
754
630
 
755
631
  /**
756
- * Describes how a Totals Table will be generated from its parent table. Each table has a default (which may be null)
757
- * indicating how that table was configured when it was declared, and each Totals Table has a similar property
758
- * describing how it was created. Both the <b>Table.getTotalsTable</b> and <b>Table.getGrandTotalsTable</b> methods take
759
- * this config as an optional parameter - without it, the table's default will be used, or if null, a default instance
760
- * of <b>TotalsTableConfig</b> will be supplied.
761
- *
762
- * This class has a no-arg constructor, allowing an instance to be made with the default values provided. However, any
763
- * JS object can be passed in to the methods which accept instances of this type, provided their values adhere to the
764
- * expected formats.
632
+ * Describes data that can be filtered, either a column reference or a literal value. Used this way, the type of a value
633
+ * can be specified so that values which are ambiguous or not well supported in JS will not be confused with Strings or
634
+ * imprecise numbers (e.g., nanosecond-precision date values). Additionally, once wrapped in this way, methods can be
635
+ * called on these value literal instances. These instances are immutable - any method called on them returns a new
636
+ * instance.
765
637
  */
766
- export class TotalsTableConfig {
638
+ export class FilterValue {
639
+ protected constructor();
640
+
767
641
  /**
768
- * @deprecated
642
+ * Constructs a number for the filter API from the given parameter. Can also be used on the values returned from
643
+ * {@link TableData.get} for DateTime values. To create
644
+ * a filter with a date, use <b>dh.DateWrapper.ofJsDate</b> or
645
+ * {@link i18n.DateTimeFormat.parse}. To create a filter with a
646
+ * 64-bit long integer, use {@link LongWrapper.ofString}.
647
+ * @param input - the number to wrap as a FilterValue
648
+ * @return an immutable FilterValue that can be built into a filter
769
649
  */
770
- static readonly COUNT:string;
650
+ static ofNumber(input:LongWrapper|number):FilterValue;
771
651
  /**
772
- * @deprecated
652
+ * a filter condition checking if the current value is equal to the given parameter
653
+ * @param term -
654
+ * @return {@link dh.FilterCondition}
773
655
  */
774
- static readonly MIN:string;
656
+ eq(term:FilterValue):FilterCondition;
775
657
  /**
776
- * @deprecated
658
+ * a filter condition checking if the current value is equal to the given parameter, ignoring differences of upper
659
+ * vs lower case
660
+ * @param term -
661
+ * @return {@link dh.FilterCondition}
777
662
  */
778
- static readonly MAX:string;
663
+ eqIgnoreCase(term:FilterValue):FilterCondition;
779
664
  /**
780
- * @deprecated
665
+ * a filter condition checking if the current value is not equal to the given parameter
666
+ * @param term -
667
+ * @return {@link dh.FilterCondition}
781
668
  */
782
- static readonly SUM:string;
669
+ notEq(term:FilterValue):FilterCondition;
783
670
  /**
784
- * @deprecated
671
+ * a filter condition checking if the current value is not equal to the given parameter, ignoring differences of
672
+ * upper vs lower case
673
+ * @param term -
674
+ * @return {@link dh.FilterCondition}
785
675
  */
786
- static readonly ABS_SUM:string;
676
+ notEqIgnoreCase(term:FilterValue):FilterCondition;
787
677
  /**
788
- * @deprecated
678
+ * a filter condition checking if the current value is greater than the given parameter
679
+ * @param term -
680
+ * @return {@link dh.FilterCondition}
789
681
  */
790
- static readonly VAR:string;
682
+ greaterThan(term:FilterValue):FilterCondition;
791
683
  /**
792
- * @deprecated
684
+ * a filter condition checking if the current value is less than the given parameter
685
+ * @param term -
686
+ * @return {@link dh.FilterCondition}
793
687
  */
794
- static readonly AVG:string;
688
+ lessThan(term:FilterValue):FilterCondition;
795
689
  /**
796
- * @deprecated
690
+ * a filter condition checking if the current value is greater than or equal to the given parameter
691
+ * @param term -
692
+ * @return {@link dh.FilterCondition}
797
693
  */
798
- static readonly STD:string;
694
+ greaterThanOrEqualTo(term:FilterValue):FilterCondition;
799
695
  /**
800
- * @deprecated
696
+ * a filter condition checking if the current value is less than or equal to the given parameter
697
+ * @param term -
698
+ * @return {@link dh.FilterCondition}
801
699
  */
802
- static readonly FIRST:string;
700
+ lessThanOrEqualTo(term:FilterValue):FilterCondition;
701
+ /**
702
+ * a filter condition checking if the current value is in the given set of values
703
+ * @param terms -
704
+ * @return {@link dh.FilterCondition}
705
+ */
706
+ in(terms:FilterValue[]):FilterCondition;
707
+ /**
708
+ * a filter condition checking if the current value is in the given set of values, ignoring differences of upper vs
709
+ * lower case
710
+ * @param terms -
711
+ * @return {@link dh.FilterCondition}
712
+ */
713
+ inIgnoreCase(terms:FilterValue[]):FilterCondition;
714
+ /**
715
+ * a filter condition checking that the current value is not in the given set of values
716
+ * @param terms -
717
+ * @return {@link dh.FilterCondition}
718
+ */
719
+ notIn(terms:FilterValue[]):FilterCondition;
720
+ /**
721
+ * a filter condition checking that the current value is not in the given set of values, ignoring differences of
722
+ * upper vs lower case
723
+ * @param terms -
724
+ * @return {@link dh.FilterCondition}
725
+ */
726
+ notInIgnoreCase(terms:FilterValue[]):FilterCondition;
727
+ /**
728
+ * a filter condition checking if the given value contains the given string value
729
+ * @param term -
730
+ * @return {@link dh.FilterCondition}
731
+ */
732
+ contains(term:FilterValue):FilterCondition;
733
+ /**
734
+ * a filter condition checking if the given value contains the given string value, ignoring differences of upper vs
735
+ * lower case
736
+ * @param term -
737
+ * @return {@link dh.FilterCondition}
738
+ */
739
+ containsIgnoreCase(term:FilterValue):FilterCondition;
740
+ /**
741
+ * a filter condition checking if the given value matches the provided regular expressions string. Regex patterns
742
+ * use Java regex syntax
743
+ * @param pattern -
744
+ * @return {@link dh.FilterCondition}
745
+ */
746
+ matches(pattern:FilterValue):FilterCondition;
747
+ /**
748
+ * a filter condition checking if the given value matches the provided regular expressions string, ignoring
749
+ * differences of upper vs lower case. Regex patterns use Java regex syntax
750
+ * @param pattern -
751
+ * @return {@link dh.FilterCondition}
752
+ */
753
+ matchesIgnoreCase(pattern:FilterValue):FilterCondition;
754
+ /**
755
+ * a filter condition checking if the current value is a true boolean
756
+ * @return {@link dh.FilterCondition}
757
+ */
758
+ isTrue():FilterCondition;
759
+ /**
760
+ * a filter condition checking if the current value is a false boolean
761
+ * @return {@link dh.FilterCondition}
762
+ */
763
+ isFalse():FilterCondition;
764
+ /**
765
+ * a filter condition checking if the current value is a null value
766
+ * @return {@link dh.FilterCondition}
767
+ */
768
+ isNull():FilterCondition;
769
+ /**
770
+ * a filter condition invoking the given method on the current value, with the given parameters. Currently supported
771
+ * functions that can be invoked on a String:
772
+ * <ul>
773
+ * <li><b>startsWith</b>: Returns true if the current string value starts with the supplied string argument</li>
774
+ * <li><b>endsWith</b>: Returns true if the current string value ends with the supplied string argument</li>
775
+ * <li><b>matches</b>: Returns true if the current string value matches the supplied string argument used as a Java
776
+ * regular expression</li>
777
+ * <li><b>contains</b>: Returns true if the current string value contains the supplied string argument
778
+ * <p>
779
+ * When invoking against a constant, this should be avoided in favor of FilterValue.contains
780
+ * </p>
781
+ * </li>
782
+ * </ul>
783
+ * @param method -
784
+ * @param args -
785
+ * @return
786
+ */
787
+ invoke(method:string, ...args:FilterValue[]):FilterCondition;
788
+ toString():string;
789
+ /**
790
+ * Constructs a string for the filter API from the given parameter.
791
+ * @param input -
792
+ * @return
793
+ */
794
+ static ofString(input:any):FilterValue;
795
+ /**
796
+ * Constructs a boolean for the filter API from the given parameter.
797
+ * @param b -
798
+ * @return
799
+ */
800
+ static ofBoolean(b:boolean):FilterValue;
801
+ }
802
+
803
+
804
+ /**
805
+ * Exists to keep the dh.TableMap namespace so that the web UI can remain compatible with the DHE API, which still calls
806
+ * this type TableMap.
807
+ * @deprecated
808
+ */
809
+ export class TableMap {
810
+ static readonly EVENT_KEYADDED:string;
811
+ static readonly EVENT_DISCONNECT:string;
812
+ static readonly EVENT_RECONNECT:string;
813
+ static readonly EVENT_RECONNECTFAILED:string;
814
+
815
+ protected constructor();
816
+ }
817
+
818
+ /**
819
+ * Presently, this is the entrypoint into the Deephaven JS API. By creating an instance of this with the server URL and
820
+ * some options, JS applications can run code on the server, and interact with available exportable objects.
821
+ */
822
+ export class IdeConnection implements HasEventHandling {
803
823
  /**
804
824
  * @deprecated
805
825
  */
806
- static readonly LAST:string;
826
+ static readonly HACK_CONNECTION_FAILURE:string;
827
+ static readonly EVENT_DISCONNECT:string;
828
+ static readonly EVENT_RECONNECT:string;
829
+ static readonly EVENT_SHUTDOWN:string;
830
+
807
831
  /**
832
+ * creates a new instance, from which console sessions can be made. <b>options</b> are optional.
833
+ * @param serverUrl - The url used when connecting to the server. Read-only.
834
+ * @param connectOptions - Optional Object
835
+ * @param fromJava - Optional boolean
808
836
  * @deprecated
809
837
  */
810
- static readonly SKIP:string;
811
- /**
812
- * Specifies if a Totals Table should be expanded by default in the UI. Defaults to false.
813
- */
814
- showTotalsByDefault:boolean;
838
+ constructor(serverUrl:string, connectOptions?:ConnectOptions, fromJava?:boolean);
839
+
815
840
  /**
816
- * Specifies if a Grand Totals Table should be expanded by default in the UI. Defaults to false.
841
+ * closes the current connection, releasing any resources on the server or client.
817
842
  */
818
- showGrandTotalsByDefault:boolean;
843
+ close():void;
844
+ running():Promise<IdeConnection>;
845
+ getObject(definitionObject:dh.ide.VariableDescriptor):Promise<any>;
846
+ subscribeToFieldUpdates(callback:(arg0:dh.ide.VariableChanges)=>void):()=>void;
819
847
  /**
820
- * Specifies the default operation for columns that do not have a specific operation applied; defaults to "Sum".
848
+ * Register a callback function to handle any log messages that are emitted on the server. Returns a function ,
849
+ * which can be invoked to remove this log handler. Any log handler registered in this way will receive as many old
850
+ * log messages as are presently available.
851
+ * @param callback -
852
+ * @return {@link io.deephaven.web.shared.fu.JsRunnable}
821
853
  */
822
- defaultOperation:AggregationOperationType;
854
+ onLogMessage(callback:(arg0:dh.ide.LogItem)=>void):()=>void;
855
+ startSession(type:string):Promise<IdeSession>;
856
+ getConsoleTypes():Promise<Array<string>>;
857
+ getWorkerHeapInfo():Promise<WorkerHeapInfo>;
823
858
  /**
824
- * Mapping from each column name to the aggregation(s) that should be applied to that column in the resulting Totals
825
- * Table. If a column is omitted, the defaultOperation is used.
859
+ * Listen for events on this object.
860
+ * @param name - the name of the event to listen for
861
+ * @param callback - a function to call when the event occurs
862
+ * @return Returns a cleanup function.
863
+ * @typeParam T - the type of the data that the event will provide
826
864
  */
827
- operationMap:{ [key: string]: Array<AggregationOperationType>; };
865
+ addEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):()=>void;
866
+ nextEvent<T>(eventName:string, timeoutInMillis?:number):Promise<CustomEvent<T>>;
867
+ hasListeners(name:string):boolean;
828
868
  /**
829
- * Groupings to use when generating the Totals Table. One row will exist for each unique set of values observed in
830
- * these columns. See also `Table.selectDistinct`.
869
+ * Removes an event listener added to this table.
870
+ * @param name -
871
+ * @param callback -
872
+ * @return
873
+ * @typeParam T -
831
874
  */
832
- groupBy:Array<string>;
833
-
834
- constructor();
835
-
836
- toString():string;
875
+ removeEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):boolean;
837
876
  }
838
877
 
839
878
  /**
@@ -849,13 +888,93 @@ export namespace dh {
849
888
  }
850
889
 
851
890
  /**
852
- * Presently optional and not used by the server, this allows the client to specify some authentication details. String
853
- * authToken <i>- base 64 encoded auth token. String serviceId -</i> The service ID to use for the connection.
891
+ * Event fired when a command is issued from the client.
854
892
  */
855
- export class ConnectOptions {
856
- headers:{ [key: string]: string; };
893
+ export class CommandInfo {
894
+ constructor(code:string, result:Promise<dh.ide.CommandResult>);
857
895
 
858
- constructor();
896
+ get result():Promise<dh.ide.CommandResult>;
897
+ get code():string;
898
+ }
899
+
900
+ export class DateWrapper extends LongWrapper {
901
+ protected constructor();
902
+
903
+ static ofJsDate(date:Date):DateWrapper;
904
+ asDate():Date;
905
+ }
906
+
907
+ /**
908
+ * Describes a filter which can be applied to a table. Replacing these instances may be more expensive than reusing
909
+ * them. These instances are immutable - all operations that compose them to build bigger expressions return a new
910
+ * instance.
911
+ */
912
+ export class FilterCondition {
913
+ protected constructor();
914
+
915
+ /**
916
+ * the opposite of this condition
917
+ * @return FilterCondition
918
+ */
919
+ not():FilterCondition;
920
+ /**
921
+ * a condition representing the current condition logically ANDed with the other parameters
922
+ * @param filters -
923
+ * @return FilterCondition
924
+ */
925
+ and(...filters:FilterCondition[]):FilterCondition;
926
+ /**
927
+ * a condition representing the current condition logically ORed with the other parameters
928
+ * @param filters -
929
+ * @return FilterCondition.
930
+ */
931
+ or(...filters:FilterCondition[]):FilterCondition;
932
+ /**
933
+ * a string suitable for debugging showing the details of this condition.
934
+ * @return String.
935
+ */
936
+ toString():string;
937
+ get columns():Array<Column>;
938
+ /**
939
+ * a filter condition invoking a static function with the given parameters. Currently supported Deephaven static
940
+ * functions:
941
+ * <ul>
942
+ * <li><b>inRange</b>: Given three comparable values, returns true if the first is less than the second but greater
943
+ * than the third</li>
944
+ * <li><b>isInf</b>:Returns true if the given number is <i>infinity</i></li>
945
+ * <li><b>isNaN</b>:Returns true if the given number is <i>not a number</i></li>
946
+ * <li><b>isNormal</b>:Returns true if the given number <i>is not null</i>, <i>is not infinity</i>, and <i>is not
947
+ * "not a number"</i></li>
948
+ * <li><b>startsWith</b>:Returns true if the first string starts with the second string</li>
949
+ * <li><b>endsWith</b>Returns true if the first string ends with the second string</li>
950
+ * <li><b>matches</b>:Returns true if the first string argument matches the second string used as a Java regular
951
+ * expression</li>
952
+ * <li><b>contains</b>:Returns true if the first string argument contains the second string as a substring</li>
953
+ * <li><b>in</b>:Returns true if the first string argument can be found in the second array argument.
954
+ * <p>
955
+ * Note that the array can only be specified as a column reference at this time - typically the `FilterValue.in`
956
+ * method should be used in other cases
957
+ * </p>
958
+ * </li>
959
+ * </ul>
960
+ * @param function -
961
+ * @param args -
962
+ * @return dh.FilterCondition
963
+ */
964
+ static invoke(func:string, ...args:FilterValue[]):FilterCondition;
965
+ /**
966
+ * a filter condition which will check if the given value can be found in any supported column on whatever table
967
+ * this FilterCondition is passed to. This FilterCondition is somewhat unique in that it need not be given a column
968
+ * instance, but will adapt to any table. On numeric columns, with a value passed in which can be parsed as a
969
+ * number, the column will be filtered to numbers which equal, or can be "rounded" effectively to this number. On
970
+ * String columns, the given value will match any column which contains this string in a case-insensitive search. An
971
+ * optional second argument can be passed, an array of `FilterValue` from the columns to limit this search to (see
972
+ * {@link dh.Column.filter}).
973
+ * @param value -
974
+ * @param columns -
975
+ * @return dh.FilterCondition
976
+ */
977
+ static search(value:FilterValue, columns?:FilterValue[]):FilterCondition;
859
978
  }
860
979
 
861
980
  /**
@@ -920,6 +1039,7 @@ export namespace dh {
920
1039
  */
921
1040
  static readonly EVENT_REQUEST_FAILED:string;
922
1041
  readonly description?:string|null;
1042
+ readonly layoutHints?:null|LayoutHints;
923
1043
 
924
1044
  protected constructor();
925
1045
 
@@ -1045,122 +1165,30 @@ export namespace dh {
1045
1165
  * @return {@link dh.Sort} array.
1046
1166
  */
1047
1167
  get sort():Array<Sort>;
1048
- /**
1049
- * True if this table may receive updates from the server, including size changed events, updated events after
1050
- * initial snapshot.
1051
- * @return boolean
1052
- */
1053
- get isRefreshing():boolean;
1054
- /**
1055
- * Listen for events on this object.
1056
- * @param name - the name of the event to listen for
1057
- * @param callback - a function to call when the event occurs
1058
- * @return Returns a cleanup function.
1059
- * @typeParam T - the type of the data that the event will provide
1060
- */
1061
- addEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):()=>void;
1062
- nextEvent<T>(eventName:string, timeoutInMillis?:number):Promise<CustomEvent<T>>;
1063
- hasListeners(name:string):boolean;
1064
- /**
1065
- * Removes an event listener added to this table.
1066
- * @param name -
1067
- * @param callback -
1068
- * @return
1069
- * @typeParam T -
1070
- */
1071
- removeEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):boolean;
1072
- }
1073
-
1074
-
1075
- /**
1076
- * Describes the structure of the column, and if desired can be used to get access to the data to be rendered in this
1077
- * column.
1078
- */
1079
- export class Column {
1080
- /**
1081
- * If this column is part of a roll-up tree table, represents the type of the row data that can be found in this
1082
- * column for leaf nodes if includeConstituents is enabled. Otherwise, it is <b>null</b>.
1083
- * @return String
1084
- */
1085
- readonly constituentType?:string|null;
1086
- readonly description?:string|null;
1087
-
1088
- protected constructor();
1089
-
1090
- /**
1091
- * the value for this column in the given row. Type will be consistent with the type of the Column.
1092
- * @param row -
1093
- * @return Any
1094
- */
1095
- get(row:Row):any;
1096
- getFormat(row:Row):Format;
1097
- /**
1098
- * Creates a sort builder object, to be used when sorting by this column.
1099
- * @return {@link dh.Sort}
1100
- */
1101
- sort():Sort;
1102
- /**
1103
- * Creates a new value for use in filters based on this column. Used either as a parameter to another filter
1104
- * operation, or as a builder to create a filter operation.
1105
- * @return {@link dh.FilterValue}
1106
- */
1107
- filter():FilterValue;
1108
- /**
1109
- * a <b>CustomColumn</b> object to apply using `applyCustomColumns` with the expression specified.
1110
- * @param expression -
1111
- * @return {@link dh.CustomColumn}
1112
- */
1113
- formatColor(expression:string):CustomColumn;
1114
- /**
1115
- * a <b>CustomColumn</b> object to apply using <b>applyCustomColumns</b> with the expression specified.
1116
- * @param expression -
1117
- * @return {@link dh.CustomColumn}
1118
- */
1119
- formatNumber(expression:string):CustomColumn;
1120
- /**
1121
- * a <b>CustomColumn</b> object to apply using <b>applyCustomColumns</b> with the expression specified.
1122
- * @param expression -
1123
- * @return {@link dh.CustomColumn}
1124
- */
1125
- formatDate(expression:string):CustomColumn;
1126
- toString():string;
1127
- /**
1128
- * Label for this column.
1129
- * @return String
1130
- */
1131
- get name():string;
1132
- /**
1133
- * True if this column is a partition column. Partition columns are used for filtering uncoalesced tables (see
1134
- * <b>isUncoalesced</b> property on <b>Table</b>)
1135
- * @return boolean
1136
- */
1137
- get isPartitionColumn():boolean;
1138
- /**
1139
- *
1140
- * @deprecated do not use. Internal index of the column in the table, to be used as a key on the Row.
1141
- * @return int
1142
- */
1143
- get index():number;
1144
- get isSortable():boolean;
1145
- /**
1146
- * Type of the row data that can be found in this column.
1147
- * @return String
1168
+ /**
1169
+ * True if this table may receive updates from the server, including size changed events, updated events after
1170
+ * initial snapshot.
1171
+ * @return boolean
1148
1172
  */
1149
- get type():string;
1173
+ get isRefreshing():boolean;
1150
1174
  /**
1151
- * Format entire rows colors using the expression specified. Returns a <b>CustomColumn</b> object to apply to a
1152
- * table using <b>applyCustomColumns</b> with the parameters specified.
1153
- * @param expression -
1154
- * @return {@link dh.CustomColumn}
1175
+ * Listen for events on this object.
1176
+ * @param name - the name of the event to listen for
1177
+ * @param callback - a function to call when the event occurs
1178
+ * @return Returns a cleanup function.
1179
+ * @typeParam T - the type of the data that the event will provide
1155
1180
  */
1156
- static formatRowColor(expression:string):CustomColumn;
1181
+ addEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):()=>void;
1182
+ nextEvent<T>(eventName:string, timeoutInMillis?:number):Promise<CustomEvent<T>>;
1183
+ hasListeners(name:string):boolean;
1157
1184
  /**
1158
- * a <b>CustomColumn</b> object to apply using <b>applyCustomColumns</b> with the expression specified.
1185
+ * Removes an event listener added to this table.
1159
1186
  * @param name -
1160
- * @param expression -
1161
- * @return {@link dh.CustomColumn}
1187
+ * @param callback -
1188
+ * @return
1189
+ * @typeParam T -
1162
1190
  */
1163
- static createCustomColumn(name:string, expression:string):CustomColumn;
1191
+ removeEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):boolean;
1164
1192
  }
1165
1193
 
1166
1194
  /**
@@ -1200,6 +1228,16 @@ export namespace dh {
1200
1228
  get columns():Array<Column>;
1201
1229
  }
1202
1230
 
1231
+ /**
1232
+ * Presently optional and not used by the server, this allows the client to specify some authentication details. String
1233
+ * authToken <i>- base 64 encoded auth token. String serviceId -</i> The service ID to use for the connection.
1234
+ */
1235
+ export class ConnectOptions {
1236
+ headers:{ [key: string]: string; };
1237
+
1238
+ constructor();
1239
+ }
1240
+
1203
1241
  export class CoreClient implements HasEventHandling {
1204
1242
  static readonly EVENT_CONNECT:string;
1205
1243
  static readonly EVENT_DISCONNECT:string;
@@ -1230,265 +1268,142 @@ export namespace dh {
1230
1268
  removeEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):boolean;
1231
1269
  }
1232
1270
 
1233
- /**
1234
- * Describes data that can be filtered, either a column reference or a literal value. Used this way, the type of a value
1235
- * can be specified so that values which are ambiguous or not well supported in JS will not be confused with Strings or
1236
- * imprecise numbers (e.g., nanosecond-precision date values). Additionally, once wrapped in this way, methods can be
1237
- * called on these value literal instances. These instances are immutable - any method called on them returns a new
1238
- * instance.
1239
- */
1240
- export class FilterValue {
1271
+ export class IdeSession implements HasEventHandling {
1272
+ static readonly EVENT_COMMANDSTARTED:string;
1273
+ static readonly EVENT_REQUEST_FAILED:string;
1274
+
1241
1275
  protected constructor();
1242
1276
 
1243
1277
  /**
1244
- * Constructs a number for the filter API from the given parameter. Can also be used on the values returned from
1245
- * {@link TableData.get} for DateTime values. To create
1246
- * a filter with a date, use <b>dh.DateWrapper.ofJsDate</b> or
1247
- * {@link i18n.DateTimeFormat.parse}. To create a filter with a
1248
- * 64-bit long integer, use {@link LongWrapper.ofString}.
1249
- * @param input - the number to wrap as a FilterValue
1250
- * @return an immutable FilterValue that can be built into a filter
1251
- */
1252
- static ofNumber(input:LongWrapper|number):FilterValue;
1253
- /**
1254
- * a filter condition checking if the current value is equal to the given parameter
1255
- * @param term -
1256
- * @return {@link dh.FilterCondition}
1257
- */
1258
- eq(term:FilterValue):FilterCondition;
1259
- /**
1260
- * a filter condition checking if the current value is equal to the given parameter, ignoring differences of upper
1261
- * vs lower case
1262
- * @param term -
1263
- * @return {@link dh.FilterCondition}
1264
- */
1265
- eqIgnoreCase(term:FilterValue):FilterCondition;
1266
- /**
1267
- * a filter condition checking if the current value is not equal to the given parameter
1268
- * @param term -
1269
- * @return {@link dh.FilterCondition}
1270
- */
1271
- notEq(term:FilterValue):FilterCondition;
1272
- /**
1273
- * a filter condition checking if the current value is not equal to the given parameter, ignoring differences of
1274
- * upper vs lower case
1275
- * @param term -
1276
- * @return {@link dh.FilterCondition}
1277
- */
1278
- notEqIgnoreCase(term:FilterValue):FilterCondition;
1279
- /**
1280
- * a filter condition checking if the current value is greater than the given parameter
1281
- * @param term -
1282
- * @return {@link dh.FilterCondition}
1283
- */
1284
- greaterThan(term:FilterValue):FilterCondition;
1285
- /**
1286
- * a filter condition checking if the current value is less than the given parameter
1287
- * @param term -
1288
- * @return {@link dh.FilterCondition}
1289
- */
1290
- lessThan(term:FilterValue):FilterCondition;
1291
- /**
1292
- * a filter condition checking if the current value is greater than or equal to the given parameter
1293
- * @param term -
1294
- * @return {@link dh.FilterCondition}
1295
- */
1296
- greaterThanOrEqualTo(term:FilterValue):FilterCondition;
1297
- /**
1298
- * a filter condition checking if the current value is less than or equal to the given parameter
1299
- * @param term -
1300
- * @return {@link dh.FilterCondition}
1301
- */
1302
- lessThanOrEqualTo(term:FilterValue):FilterCondition;
1303
- /**
1304
- * a filter condition checking if the current value is in the given set of values
1305
- * @param terms -
1306
- * @return {@link dh.FilterCondition}
1307
- */
1308
- in(terms:FilterValue[]):FilterCondition;
1309
- /**
1310
- * a filter condition checking if the current value is in the given set of values, ignoring differences of upper vs
1311
- * lower case
1312
- * @param terms -
1313
- * @return {@link dh.FilterCondition}
1314
- */
1315
- inIgnoreCase(terms:FilterValue[]):FilterCondition;
1316
- /**
1317
- * a filter condition checking that the current value is not in the given set of values
1318
- * @param terms -
1319
- * @return {@link dh.FilterCondition}
1320
- */
1321
- notIn(terms:FilterValue[]):FilterCondition;
1322
- /**
1323
- * a filter condition checking that the current value is not in the given set of values, ignoring differences of
1324
- * upper vs lower case
1325
- * @param terms -
1326
- * @return {@link dh.FilterCondition}
1327
- */
1328
- notInIgnoreCase(terms:FilterValue[]):FilterCondition;
1329
- /**
1330
- * a filter condition checking if the given value contains the given string value
1331
- * @param term -
1332
- * @return {@link dh.FilterCondition}
1333
- */
1334
- contains(term:FilterValue):FilterCondition;
1335
- /**
1336
- * a filter condition checking if the given value contains the given string value, ignoring differences of upper vs
1337
- * lower case
1338
- * @param term -
1339
- * @return {@link dh.FilterCondition}
1340
- */
1341
- containsIgnoreCase(term:FilterValue):FilterCondition;
1342
- /**
1343
- * a filter condition checking if the given value matches the provided regular expressions string. Regex patterns
1344
- * use Java regex syntax
1345
- * @param pattern -
1346
- * @return {@link dh.FilterCondition}
1347
- */
1348
- matches(pattern:FilterValue):FilterCondition;
1349
- /**
1350
- * a filter condition checking if the given value matches the provided regular expressions string, ignoring
1351
- * differences of upper vs lower case. Regex patterns use Java regex syntax
1352
- * @param pattern -
1353
- * @return {@link dh.FilterCondition}
1354
- */
1355
- matchesIgnoreCase(pattern:FilterValue):FilterCondition;
1356
- /**
1357
- * a filter condition checking if the current value is a true boolean
1358
- * @return {@link dh.FilterCondition}
1359
- */
1360
- isTrue():FilterCondition;
1361
- /**
1362
- * a filter condition checking if the current value is a false boolean
1363
- * @return {@link dh.FilterCondition}
1364
- */
1365
- isFalse():FilterCondition;
1366
- /**
1367
- * a filter condition checking if the current value is a null value
1368
- * @return {@link dh.FilterCondition}
1369
- */
1370
- isNull():FilterCondition;
1371
- /**
1372
- * a filter condition invoking the given method on the current value, with the given parameters. Currently supported
1373
- * functions that can be invoked on a String:
1374
- * <ul>
1375
- * <li><b>startsWith</b>: Returns true if the current string value starts with the supplied string argument</li>
1376
- * <li><b>endsWith</b>: Returns true if the current string value ends with the supplied string argument</li>
1377
- * <li><b>matches</b>: Returns true if the current string value matches the supplied string argument used as a Java
1378
- * regular expression</li>
1379
- * <li><b>contains</b>: Returns true if the current string value contains the supplied string argument
1380
- * <p>
1381
- * When invoking against a constant, this should be avoided in favor of FilterValue.contains
1382
- * </p>
1383
- * </li>
1384
- * </ul>
1385
- * @param method -
1386
- * @param args -
1387
- * @return
1388
- */
1389
- invoke(method:string, ...args:FilterValue[]):FilterCondition;
1390
- toString():string;
1391
- /**
1392
- * Constructs a string for the filter API from the given parameter.
1393
- * @param input -
1394
- * @return
1278
+ * Load the named table, with columns and size information already fully populated.
1279
+ * @param name -
1280
+ * @param applyPreviewColumns - optional boolean
1281
+ * @return {@link Promise} of {@link dh.Table}
1395
1282
  */
1396
- static ofString(input:any):FilterValue;
1283
+ getTable(name:string, applyPreviewColumns?:boolean):Promise<Table>;
1397
1284
  /**
1398
- * Constructs a boolean for the filter API from the given parameter.
1399
- * @param b -
1400
- * @return
1285
+ * Load the named Figure, including its tables and tablemaps as needed.
1286
+ * @param name -
1287
+ * @return promise of dh.plot.Figure
1401
1288
  */
1402
- static ofBoolean(b:boolean):FilterValue;
1403
- }
1404
-
1405
- /**
1406
- * Represents a set of Tables each corresponding to some key. The keys are available locally, but a call must be made to
1407
- * the server to get each Table. All tables will have the same structure.
1408
- */
1409
- export class PartitionedTable implements HasEventHandling {
1289
+ getFigure(name:string):Promise<dh.plot.Figure>;
1410
1290
  /**
1411
- * Indicates that a new key has been added to the array of keys, which can now be fetched with getTable.
1291
+ * Loads the named tree table or roll-up table, with column data populated. All nodes are collapsed by default, and
1292
+ * size is presently not available until the viewport is first set.
1293
+ * @param name -
1294
+ * @return {@link Promise} of {@link dh.TreeTable}
1412
1295
  */
1413
- static readonly EVENT_KEYADDED:string;
1296
+ getTreeTable(name:string):Promise<TreeTable>;
1297
+ getHierarchicalTable(name:string):Promise<TreeTable>;
1298
+ getObject(definitionObject:dh.ide.VariableDescriptor):Promise<any>;
1299
+ newTable(columnNames:string[], types:string[], data:string[][], userTimeZone:string):Promise<Table>;
1414
1300
  /**
1415
- * Indicates that a new key has been added to the array of keys, which can now be fetched with getTable.
1301
+ * Merges the given tables into a single table. Assumes all tables have the same structure.
1302
+ * @param tables -
1303
+ * @return {@link Promise} of {@link dh.Table}
1416
1304
  */
1417
- static readonly EVENT_DISCONNECT:string;
1305
+ mergeTables(tables:Table[]):Promise<Table>;
1306
+ bindTableToVariable(table:Table, name:string):Promise<void>;
1307
+ subscribeToFieldUpdates(callback:(arg0:dh.ide.VariableChanges)=>void):()=>void;
1308
+ close():void;
1309
+ runCode(code:string):Promise<dh.ide.CommandResult>;
1310
+ onLogMessage(callback:(arg0:dh.ide.LogItem)=>void):()=>void;
1311
+ openDocument(params:object):void;
1312
+ changeDocument(params:object):void;
1313
+ getCompletionItems(params:object):Promise<Array<dh.lsp.CompletionItem>>;
1314
+ getSignatureHelp(params:object):Promise<Array<dh.lsp.SignatureInformation>>;
1315
+ getHover(params:object):Promise<dh.lsp.Hover>;
1316
+ closeDocument(params:object):void;
1418
1317
  /**
1419
- * Indicates that a new key has been added to the array of keys, which can now be fetched with getTable.
1318
+ * Creates an empty table with the specified number of rows. Optionally columns and types may be specified, but all
1319
+ * values will be null.
1320
+ * @param size -
1321
+ * @return {@link Promise} of {@link dh.Table}
1420
1322
  */
1421
- static readonly EVENT_RECONNECT:string;
1323
+ emptyTable(size:number):Promise<Table>;
1422
1324
  /**
1423
- * Indicates that a new key has been added to the array of keys, which can now be fetched with getTable.
1325
+ * Creates a new table that ticks automatically every "periodNanos" nanoseconds. A start time may be provided; if so
1326
+ * the table will be populated with the interval from the specified date until now.
1327
+ * @param periodNanos -
1328
+ * @param startTime -
1329
+ * @return {@link Promise} of {@link dh.Table}
1424
1330
  */
1425
- static readonly EVENT_RECONNECTFAILED:string;
1331
+ timeTable(periodNanos:number, startTime?:DateWrapper):Promise<Table>;
1332
+ addEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):()=>void;
1333
+ nextEvent<T>(eventName:string, timeoutInMillis?:number):Promise<CustomEvent<T>>;
1334
+ hasListeners(name:string):boolean;
1335
+ removeEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):boolean;
1336
+ }
1337
+
1338
+ /**
1339
+ * Describes a Sort present on the table. No visible constructor, created through the use of Column.sort(), will be tied
1340
+ * to that particular column data. Sort instances are immutable, and use a builder pattern to make modifications. All
1341
+ * methods return a new Sort instance.
1342
+ */
1343
+ export class Sort {
1344
+ static readonly ASCENDING:string;
1345
+ static readonly DESCENDING:string;
1346
+ static readonly REVERSE:string;
1426
1347
 
1427
1348
  protected constructor();
1428
1349
 
1429
- typedTicket():dhinternal.io.deephaven.proto.ticket_pb.TypedTicket;
1430
- /**
1431
- * Fetch the table with the given key.
1432
- * @param key - The key to fetch. An array of values for each key column, in the same order as the key columns are.
1433
- * @return Promise of dh.Table
1434
- */
1435
- getTable(key:object):Promise<Table>;
1436
- /**
1437
- * Open a new table that is the result of merging all constituent tables. See
1438
- * {@link io.deephaven.engine.table.PartitionedTable#merge()} for details.
1439
- * @return A merged representation of the constituent tables.
1440
- */
1441
- getMergedTable():Promise<Table>;
1442
1350
  /**
1443
- * The set of all currently known keys. This is kept up to date, so getting the list after adding an event listener
1444
- * for <b>keyadded</b> will ensure no keys are missed.
1445
- * @return Set of Object
1351
+ * Builds a Sort instance to sort values in ascending order.
1352
+ * @return {@link dh.Sort}
1446
1353
  */
1447
- getKeys():Set<object>;
1354
+ asc():Sort;
1448
1355
  /**
1449
- * Fetch a table containing all the valid keys of the partitioned table.
1450
- * @return Promise of a Table
1356
+ * Builds a Sort instance to sort values in descending order.
1357
+ * @return {@link dh.Sort}
1451
1358
  */
1452
- getKeyTable():Promise<Table>;
1359
+ desc():Sort;
1453
1360
  /**
1454
- * Indicates that this PartitionedTable will no longer be used, removing subcriptions to updated keys, etc. This
1455
- * will not affect tables in use.
1361
+ * Builds a Sort instance which takes the absolute value before applying order.
1362
+ * @return {@link dh.Sort}
1456
1363
  */
1457
- close():void;
1364
+ abs():Sort;
1365
+ toString():string;
1458
1366
  /**
1459
- * The count of known keys.
1460
- * @return int
1367
+ * True if the absolute value of the column should be used when sorting; defaults to false.
1368
+ * @return boolean
1461
1369
  */
1462
- get size():number;
1370
+ get isAbs():boolean;
1463
1371
  /**
1464
- * An array of the columns in the tables that can be retrieved from this partitioned table, including both key and
1465
- * non-key columns.
1466
- * @return Array of Column
1372
+ * The column which is sorted.
1373
+ * @return {@link dh.Column}
1467
1374
  */
1468
- get columns():Column[];
1375
+ get column():Column;
1469
1376
  /**
1470
- * An array of all the key columns that the tables are partitioned by.
1471
- * @return Array of Column
1377
+ * The direction of this sort, either <b>ASC</b>, <b>DESC</b>, or <b>REVERSE</b>.
1378
+ * @return String
1472
1379
  */
1473
- get keyColumns():Column[];
1380
+ get direction():string;
1381
+ }
1382
+
1383
+ /**
1384
+ * This class allows iteration over non-contiguous indexes. In the future, this will support the EcmaScript 2015
1385
+ * Iteration protocol, but for now has one method which returns an iterator, and also supports querying the size.
1386
+ * Additionally, we may add support for creating RangeSet objects to better serve some use cases.
1387
+ */
1388
+ export class RangeSet {
1389
+ protected constructor();
1390
+
1391
+ static ofRange(first:number, last:number):RangeSet;
1392
+ static ofItems(rows:number[]):RangeSet;
1393
+ static ofRanges(ranges:RangeSet[]):RangeSet;
1394
+ static ofSortedRanges(ranges:RangeSet[]):RangeSet;
1474
1395
  /**
1475
- * Listen for events on this object.
1476
- * @param name - the name of the event to listen for
1477
- * @param callback - a function to call when the event occurs
1478
- * @return Returns a cleanup function.
1479
- * @typeParam T - the type of the data that the event will provide
1396
+ * a new iterator over all indexes in this collection.
1397
+ * @return Iterator of {@link dh.LongWrapper}
1480
1398
  */
1481
- addEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):()=>void;
1482
- nextEvent<T>(eventName:string, timeoutInMillis?:number):Promise<CustomEvent<T>>;
1483
- hasListeners(name:string):boolean;
1399
+ iterator():Iterator<LongWrapper>;
1484
1400
  /**
1485
- * Removes an event listener added to this table.
1486
- * @param name -
1487
- * @param callback -
1488
- * @return
1489
- * @typeParam T -
1401
+ * The total count of items contained in this collection. In some cases this can be expensive to compute, and
1402
+ * generally should not be needed except for debugging purposes, or preallocating space (i.e., do not call this
1403
+ * property each time through a loop).
1404
+ * @return double
1490
1405
  */
1491
- removeEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):boolean;
1406
+ get size():number;
1492
1407
  }
1493
1408
 
1494
1409
  export class LongWrapper {
@@ -1500,23 +1415,40 @@ export namespace dh {
1500
1415
  toString():string;
1501
1416
  }
1502
1417
 
1503
- export class QueryInfo {
1504
- static readonly EVENT_TABLE_OPENED:string;
1505
- static readonly EVENT_DISCONNECT:string;
1506
- static readonly EVENT_RECONNECT:string;
1507
- static readonly EVENT_CONNECT:string;
1418
+ export class LoginCredentials {
1419
+ type?:string|null;
1420
+ username?:string|null;
1421
+ token?:string|null;
1508
1422
 
1509
- protected constructor();
1423
+ constructor();
1510
1424
  }
1511
1425
 
1512
1426
  /**
1513
- * Deprecated for use in Deephaven Core.
1514
- * @deprecated
1427
+ * Describes a grouping and aggregations for a roll-up table. Pass to the <b>Table.rollup</b> function to create a
1428
+ * roll-up table.
1515
1429
  */
1516
- export class Client {
1517
- static readonly EVENT_REQUEST_FAILED:string;
1518
- static readonly EVENT_REQUEST_STARTED:string;
1519
- static readonly EVENT_REQUEST_SUCCEEDED:string;
1430
+ export class RollupConfig {
1431
+ /**
1432
+ * Ordered list of columns to group by to form the hierarchy of the resulting roll-up table.
1433
+ */
1434
+ groupingColumns:Array<String>;
1435
+ /**
1436
+ * Mapping from each aggregation name to the ordered list of columns it should be applied to in the resulting
1437
+ * roll-up table.
1438
+ */
1439
+ aggregations:{ [key: string]: Array<AggregationOperationType>; };
1440
+ /**
1441
+ * Optional parameter indicating if an extra leaf node should be added at the bottom of the hierarchy, showing the
1442
+ * rows in the underlying table which make up that grouping. Since these values might be a different type from the
1443
+ * rest of the column, any client code must check if TreeRow.hasChildren = false, and if so, interpret those values
1444
+ * as if they were Column.constituentType instead of Column.type. Defaults to false.
1445
+ */
1446
+ includeConstituents:boolean;
1447
+ includeOriginalColumns?:boolean|null;
1448
+ /**
1449
+ * Optional parameter indicating if original column descriptions should be included. Defaults to true.
1450
+ */
1451
+ includeDescriptions:boolean;
1520
1452
 
1521
1453
  constructor();
1522
1454
  }
@@ -1583,33 +1515,160 @@ export namespace dh {
1583
1515
  protected constructor();
1584
1516
 
1585
1517
  /**
1586
- * Ends the client connection to the server.
1518
+ * Ends the client connection to the server.
1519
+ */
1520
+ close():void;
1521
+ getDataAsBase64():string;
1522
+ getDataAsU8():Uint8Array;
1523
+ getDataAsString():string;
1524
+ /**
1525
+ * Sends a string/bytes payload to the server, along with references to objects that exist on the server.
1526
+ * @param msg - string/buffer/view instance that represents data to send
1527
+ * @param references - an array of objects that can be safely sent to the server
1528
+ */
1529
+ sendMessage(msg:string|ArrayBuffer|ArrayBufferView, references?:Array<Table|Widget|WidgetExportedObject|PartitionedTable|TotalsTable|TreeTable>):void;
1530
+ addEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):()=>void;
1531
+ nextEvent<T>(eventName:string, timeoutInMillis?:number):Promise<CustomEvent<T>>;
1532
+ hasListeners(name:string):boolean;
1533
+ removeEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):boolean;
1534
+ /**
1535
+ *
1536
+ * @return the exported objects sent in the initial message from the server. The client is responsible for closing
1537
+ * them when finished using them.
1538
+ */
1539
+ get exportedObjects():WidgetExportedObject[];
1540
+ /**
1541
+ *
1542
+ * @return the type of this widget
1543
+ */
1544
+ get type():string;
1545
+ }
1546
+
1547
+ /**
1548
+ * Configuration object for running Table.treeTable to produce a hierarchical view of a given "flat" table.
1549
+ *
1550
+ * Like TotalsTableConfig, `TreeTableConfig` supports an operation map indicating how to aggregate the data, as well as
1551
+ * an array of column names which will be the layers in the roll-up tree, grouped at each level. An additional optional
1552
+ * value can be provided describing the strategy the engine should use when grouping the rows.
1553
+ */
1554
+ export class TreeTableConfig {
1555
+ /**
1556
+ * The column representing the unique ID for each item
1557
+ */
1558
+ idColumn:string;
1559
+ /**
1560
+ * The column representing the parent ID for each item
1561
+ */
1562
+ parentColumn:string;
1563
+ /**
1564
+ * Optional parameter indicating if items with an invalid parent ID should be promoted to root. Defaults to false.
1565
+ */
1566
+ promoteOrphansToRoot:boolean;
1567
+
1568
+ constructor();
1569
+ }
1570
+
1571
+ /**
1572
+ * Deprecated for use in Deephaven Core.
1573
+ * @deprecated
1574
+ */
1575
+ export class Client {
1576
+ static readonly EVENT_REQUEST_FAILED:string;
1577
+ static readonly EVENT_REQUEST_STARTED:string;
1578
+ static readonly EVENT_REQUEST_SUCCEEDED:string;
1579
+
1580
+ constructor();
1581
+ }
1582
+
1583
+ /**
1584
+ * Describes the structure of the column, and if desired can be used to get access to the data to be rendered in this
1585
+ * column.
1586
+ */
1587
+ export class Column {
1588
+ /**
1589
+ * If this column is part of a roll-up tree table, represents the type of the row data that can be found in this
1590
+ * column for leaf nodes if includeConstituents is enabled. Otherwise, it is <b>null</b>.
1591
+ * @return String
1592
+ */
1593
+ readonly constituentType?:string|null;
1594
+ readonly description?:string|null;
1595
+
1596
+ protected constructor();
1597
+
1598
+ /**
1599
+ * the value for this column in the given row. Type will be consistent with the type of the Column.
1600
+ * @param row -
1601
+ * @return Any
1602
+ */
1603
+ get(row:Row):any;
1604
+ getFormat(row:Row):Format;
1605
+ /**
1606
+ * Creates a sort builder object, to be used when sorting by this column.
1607
+ * @return {@link dh.Sort}
1608
+ */
1609
+ sort():Sort;
1610
+ /**
1611
+ * Creates a new value for use in filters based on this column. Used either as a parameter to another filter
1612
+ * operation, or as a builder to create a filter operation.
1613
+ * @return {@link dh.FilterValue}
1614
+ */
1615
+ filter():FilterValue;
1616
+ /**
1617
+ * a <b>CustomColumn</b> object to apply using `applyCustomColumns` with the expression specified.
1618
+ * @param expression -
1619
+ * @return {@link dh.CustomColumn}
1620
+ */
1621
+ formatColor(expression:string):CustomColumn;
1622
+ /**
1623
+ * a <b>CustomColumn</b> object to apply using <b>applyCustomColumns</b> with the expression specified.
1624
+ * @param expression -
1625
+ * @return {@link dh.CustomColumn}
1587
1626
  */
1588
- close():void;
1589
- getDataAsBase64():string;
1590
- getDataAsU8():Uint8Array;
1591
- getDataAsString():string;
1627
+ formatNumber(expression:string):CustomColumn;
1592
1628
  /**
1593
- * Sends a string/bytes payload to the server, along with references to objects that exist on the server.
1594
- * @param msg - string/buffer/view instance that represents data to send
1595
- * @param references - an array of objects that can be safely sent to the server
1629
+ * a <b>CustomColumn</b> object to apply using <b>applyCustomColumns</b> with the expression specified.
1630
+ * @param expression -
1631
+ * @return {@link dh.CustomColumn}
1596
1632
  */
1597
- sendMessage(msg:string|ArrayBuffer|ArrayBufferView, references?:Array<Table|Widget|WidgetExportedObject|PartitionedTable|TotalsTable|TreeTable>):void;
1598
- addEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):()=>void;
1599
- nextEvent<T>(eventName:string, timeoutInMillis?:number):Promise<CustomEvent<T>>;
1600
- hasListeners(name:string):boolean;
1601
- removeEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):boolean;
1633
+ formatDate(expression:string):CustomColumn;
1634
+ toString():string;
1602
1635
  /**
1603
- *
1604
- * @return the exported objects sent in the initial message from the server. The client is responsible for closing
1605
- * them when finished using them.
1636
+ * Label for this column.
1637
+ * @return String
1606
1638
  */
1607
- get exportedObjects():WidgetExportedObject[];
1639
+ get name():string;
1640
+ /**
1641
+ * True if this column is a partition column. Partition columns are used for filtering uncoalesced tables (see
1642
+ * <b>isUncoalesced</b> property on <b>Table</b>)
1643
+ * @return boolean
1644
+ */
1645
+ get isPartitionColumn():boolean;
1608
1646
  /**
1609
1647
  *
1610
- * @return the type of this widget
1648
+ * @deprecated do not use. Internal index of the column in the table, to be used as a key on the Row.
1649
+ * @return int
1650
+ */
1651
+ get index():number;
1652
+ get isSortable():boolean;
1653
+ /**
1654
+ * Type of the row data that can be found in this column.
1655
+ * @return String
1611
1656
  */
1612
1657
  get type():string;
1658
+ /**
1659
+ * Format entire rows colors using the expression specified. Returns a <b>CustomColumn</b> object to apply to a
1660
+ * table using <b>applyCustomColumns</b> with the parameters specified.
1661
+ * @param expression -
1662
+ * @return {@link dh.CustomColumn}
1663
+ */
1664
+ static formatRowColor(expression:string):CustomColumn;
1665
+ /**
1666
+ * a <b>CustomColumn</b> object to apply using <b>applyCustomColumns</b> with the expression specified.
1667
+ * @param name -
1668
+ * @param expression -
1669
+ * @return {@link dh.CustomColumn}
1670
+ */
1671
+ static createCustomColumn(name:string, expression:string):CustomColumn;
1613
1672
  }
1614
1673
 
1615
1674
  /**
@@ -1671,230 +1730,32 @@ export namespace dh {
1671
1730
  * @param tablesToDelete -
1672
1731
  * @return
1673
1732
  */
1674
- deleteTables(tablesToDelete:Table[]):Promise<InputTable>;
1675
- /**
1676
- * A list of the key columns, by name
1677
- * @return String array.
1678
- */
1679
- get keys():string[];
1680
- /**
1681
- * A list of the value columns, by name
1682
- * @return String array.
1683
- */
1684
- get values():string[];
1685
- /**
1686
- * A list of the key Column objects
1687
- * @return {@link dh.Column} array.
1688
- */
1689
- get keyColumns():Column[];
1690
- /**
1691
- * A list of the value Column objects
1692
- * @return {@link dh.Column} array.
1693
- */
1694
- get valueColumns():Column[];
1695
- /**
1696
- * The source table for this Input Table
1697
- * @return dh.table
1698
- */
1699
- get table():Table;
1700
- }
1701
-
1702
- /**
1703
- * This class allows iteration over non-contiguous indexes. In the future, this will support the EcmaScript 2015
1704
- * Iteration protocol, but for now has one method which returns an iterator, and also supports querying the size.
1705
- * Additionally, we may add support for creating RangeSet objects to better serve some use cases.
1706
- */
1707
- export class RangeSet {
1708
- protected constructor();
1709
-
1710
- static ofRange(first:number, last:number):RangeSet;
1711
- static ofItems(rows:number[]):RangeSet;
1712
- static ofRanges(ranges:RangeSet[]):RangeSet;
1713
- static ofSortedRanges(ranges:RangeSet[]):RangeSet;
1714
- /**
1715
- * a new iterator over all indexes in this collection.
1716
- * @return Iterator of {@link dh.LongWrapper}
1717
- */
1718
- iterator():Iterator<LongWrapper>;
1719
- /**
1720
- * The total count of items contained in this collection. In some cases this can be expensive to compute, and
1721
- * generally should not be needed except for debugging purposes, or preallocating space (i.e., do not call this
1722
- * property each time through a loop).
1723
- * @return double
1724
- */
1725
- get size():number;
1726
- }
1727
-
1728
- export class Ide {
1729
- constructor();
1730
-
1731
- /**
1732
- * @deprecated
1733
- */
1734
- getExistingSession(websocketUrl:string, authToken:string, serviceId:string, language:string):Promise<IdeSession>;
1735
- /**
1736
- * @deprecated
1737
- */
1738
- static getExistingSession(websocketUrl:string, authToken:string, serviceId:string, language:string):Promise<IdeSession>;
1739
- }
1740
-
1741
- /**
1742
- * Presently, this is the entrypoint into the Deephaven JS API. By creating an instance of this with the server URL and
1743
- * some options, JS applications can run code on the server, and interact with available exportable objects.
1744
- */
1745
- export class IdeConnection implements HasEventHandling {
1746
- /**
1747
- * @deprecated
1748
- */
1749
- static readonly HACK_CONNECTION_FAILURE:string;
1750
- static readonly EVENT_DISCONNECT:string;
1751
- static readonly EVENT_RECONNECT:string;
1752
- static readonly EVENT_SHUTDOWN:string;
1753
-
1754
- /**
1755
- * creates a new instance, from which console sessions can be made. <b>options</b> are optional.
1756
- * @param serverUrl - The url used when connecting to the server. Read-only.
1757
- * @param connectOptions - Optional Object
1758
- * @param fromJava - Optional boolean
1759
- * @deprecated
1760
- */
1761
- constructor(serverUrl:string, connectOptions?:ConnectOptions, fromJava?:boolean);
1762
-
1763
- /**
1764
- * closes the current connection, releasing any resources on the server or client.
1765
- */
1766
- close():void;
1767
- running():Promise<IdeConnection>;
1768
- getObject(definitionObject:dh.ide.VariableDescriptor):Promise<any>;
1769
- subscribeToFieldUpdates(callback:(arg0:dh.ide.VariableChanges)=>void):()=>void;
1770
- /**
1771
- * Register a callback function to handle any log messages that are emitted on the server. Returns a function ,
1772
- * which can be invoked to remove this log handler. Any log handler registered in this way will receive as many old
1773
- * log messages as are presently available.
1774
- * @param callback -
1775
- * @return {@link io.deephaven.web.shared.fu.JsRunnable}
1776
- */
1777
- onLogMessage(callback:(arg0:dh.ide.LogItem)=>void):()=>void;
1778
- startSession(type:string):Promise<IdeSession>;
1779
- getConsoleTypes():Promise<Array<string>>;
1780
- getWorkerHeapInfo():Promise<WorkerHeapInfo>;
1781
- /**
1782
- * Listen for events on this object.
1783
- * @param name - the name of the event to listen for
1784
- * @param callback - a function to call when the event occurs
1785
- * @return Returns a cleanup function.
1786
- * @typeParam T - the type of the data that the event will provide
1787
- */
1788
- addEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):()=>void;
1789
- nextEvent<T>(eventName:string, timeoutInMillis?:number):Promise<CustomEvent<T>>;
1790
- hasListeners(name:string):boolean;
1791
- /**
1792
- * Removes an event listener added to this table.
1793
- * @param name -
1794
- * @param callback -
1795
- * @return
1796
- * @typeParam T -
1797
- */
1798
- removeEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):boolean;
1799
- }
1800
-
1801
- /**
1802
- * Configuration object for running Table.treeTable to produce a hierarchical view of a given "flat" table.
1803
- *
1804
- * Like TotalsTableConfig, `TreeTableConfig` supports an operation map indicating how to aggregate the data, as well as
1805
- * an array of column names which will be the layers in the roll-up tree, grouped at each level. An additional optional
1806
- * value can be provided describing the strategy the engine should use when grouping the rows.
1807
- */
1808
- export class TreeTableConfig {
1809
- /**
1810
- * The column representing the unique ID for each item
1811
- */
1812
- idColumn:string;
1813
- /**
1814
- * The column representing the parent ID for each item
1815
- */
1816
- parentColumn:string;
1817
- /**
1818
- * Optional parameter indicating if items with an invalid parent ID should be promoted to root. Defaults to false.
1819
- */
1820
- promoteOrphansToRoot:boolean;
1821
-
1822
- constructor();
1823
- }
1824
-
1825
- /**
1826
- * Describes a grouping and aggregations for a roll-up table. Pass to the <b>Table.rollup</b> function to create a
1827
- * roll-up table.
1828
- */
1829
- export class RollupConfig {
1830
- /**
1831
- * Ordered list of columns to group by to form the hierarchy of the resulting roll-up table.
1832
- */
1833
- groupingColumns:Array<String>;
1834
- /**
1835
- * Mapping from each aggregation name to the ordered list of columns it should be applied to in the resulting
1836
- * roll-up table.
1837
- */
1838
- aggregations:{ [key: string]: Array<AggregationOperationType>; };
1839
- /**
1840
- * Optional parameter indicating if an extra leaf node should be added at the bottom of the hierarchy, showing the
1841
- * rows in the underlying table which make up that grouping. Since these values might be a different type from the
1842
- * rest of the column, any client code must check if TreeRow.hasChildren = false, and if so, interpret those values
1843
- * as if they were Column.constituentType instead of Column.type. Defaults to false.
1844
- */
1845
- includeConstituents:boolean;
1846
- includeOriginalColumns?:boolean|null;
1847
- /**
1848
- * Optional parameter indicating if original column descriptions should be included. Defaults to true.
1849
- */
1850
- includeDescriptions:boolean;
1851
-
1852
- constructor();
1853
- }
1854
-
1855
- /**
1856
- * Describes a Sort present on the table. No visible constructor, created through the use of Column.sort(), will be tied
1857
- * to that particular column data. Sort instances are immutable, and use a builder pattern to make modifications. All
1858
- * methods return a new Sort instance.
1859
- */
1860
- export class Sort {
1861
- static readonly ASCENDING:string;
1862
- static readonly DESCENDING:string;
1863
- static readonly REVERSE:string;
1864
-
1865
- protected constructor();
1866
-
1867
- /**
1868
- * Builds a Sort instance to sort values in ascending order.
1869
- * @return {@link dh.Sort}
1870
- */
1871
- asc():Sort;
1733
+ deleteTables(tablesToDelete:Table[]):Promise<InputTable>;
1872
1734
  /**
1873
- * Builds a Sort instance to sort values in descending order.
1874
- * @return {@link dh.Sort}
1735
+ * A list of the key columns, by name
1736
+ * @return String array.
1875
1737
  */
1876
- desc():Sort;
1738
+ get keys():string[];
1877
1739
  /**
1878
- * Builds a Sort instance which takes the absolute value before applying order.
1879
- * @return {@link dh.Sort}
1740
+ * A list of the value columns, by name
1741
+ * @return String array.
1880
1742
  */
1881
- abs():Sort;
1882
- toString():string;
1743
+ get values():string[];
1883
1744
  /**
1884
- * True if the absolute value of the column should be used when sorting; defaults to false.
1885
- * @return boolean
1745
+ * A list of the key Column objects
1746
+ * @return {@link dh.Column} array.
1886
1747
  */
1887
- get isAbs():boolean;
1748
+ get keyColumns():Column[];
1888
1749
  /**
1889
- * The column which is sorted.
1890
- * @return {@link dh.Column}
1750
+ * A list of the value Column objects
1751
+ * @return {@link dh.Column} array.
1891
1752
  */
1892
- get column():Column;
1753
+ get valueColumns():Column[];
1893
1754
  /**
1894
- * The direction of this sort, either <b>ASC</b>, <b>DESC</b>, or <b>REVERSE</b>.
1895
- * @return String
1755
+ * The source table for this Input Table
1756
+ * @return dh.table
1896
1757
  */
1897
- get direction():string;
1758
+ get table():Table;
1898
1759
  }
1899
1760
 
1900
1761
  /**
@@ -2263,102 +2124,214 @@ export namespace dh {
2263
2124
  static reverse():Sort;
2264
2125
  }
2265
2126
 
2266
- export class IdeSession implements HasEventHandling {
2267
- static readonly EVENT_COMMANDSTARTED:string;
2268
- static readonly EVENT_REQUEST_FAILED:string;
2127
+ /**
2128
+ * Describes how a Totals Table will be generated from its parent table. Each table has a default (which may be null)
2129
+ * indicating how that table was configured when it was declared, and each Totals Table has a similar property
2130
+ * describing how it was created. Both the <b>Table.getTotalsTable</b> and <b>Table.getGrandTotalsTable</b> methods take
2131
+ * this config as an optional parameter - without it, the table's default will be used, or if null, a default instance
2132
+ * of <b>TotalsTableConfig</b> will be supplied.
2133
+ *
2134
+ * This class has a no-arg constructor, allowing an instance to be made with the default values provided. However, any
2135
+ * JS object can be passed in to the methods which accept instances of this type, provided their values adhere to the
2136
+ * expected formats.
2137
+ */
2138
+ export class TotalsTableConfig {
2139
+ /**
2140
+ * @deprecated
2141
+ */
2142
+ static readonly COUNT:string;
2143
+ /**
2144
+ * @deprecated
2145
+ */
2146
+ static readonly MIN:string;
2147
+ /**
2148
+ * @deprecated
2149
+ */
2150
+ static readonly MAX:string;
2151
+ /**
2152
+ * @deprecated
2153
+ */
2154
+ static readonly SUM:string;
2155
+ /**
2156
+ * @deprecated
2157
+ */
2158
+ static readonly ABS_SUM:string;
2159
+ /**
2160
+ * @deprecated
2161
+ */
2162
+ static readonly VAR:string;
2163
+ /**
2164
+ * @deprecated
2165
+ */
2166
+ static readonly AVG:string;
2167
+ /**
2168
+ * @deprecated
2169
+ */
2170
+ static readonly STD:string;
2171
+ /**
2172
+ * @deprecated
2173
+ */
2174
+ static readonly FIRST:string;
2175
+ /**
2176
+ * @deprecated
2177
+ */
2178
+ static readonly LAST:string;
2179
+ /**
2180
+ * @deprecated
2181
+ */
2182
+ static readonly SKIP:string;
2183
+ /**
2184
+ * Specifies if a Totals Table should be expanded by default in the UI. Defaults to false.
2185
+ */
2186
+ showTotalsByDefault:boolean;
2187
+ /**
2188
+ * Specifies if a Grand Totals Table should be expanded by default in the UI. Defaults to false.
2189
+ */
2190
+ showGrandTotalsByDefault:boolean;
2191
+ /**
2192
+ * Specifies the default operation for columns that do not have a specific operation applied; defaults to "Sum".
2193
+ */
2194
+ defaultOperation:AggregationOperationType;
2195
+ /**
2196
+ * Mapping from each column name to the aggregation(s) that should be applied to that column in the resulting Totals
2197
+ * Table. If a column is omitted, the defaultOperation is used.
2198
+ */
2199
+ operationMap:{ [key: string]: Array<AggregationOperationType>; };
2200
+ /**
2201
+ * Groupings to use when generating the Totals Table. One row will exist for each unique set of values observed in
2202
+ * these columns. See also `Table.selectDistinct`.
2203
+ */
2204
+ groupBy:Array<string>;
2205
+
2206
+ constructor();
2207
+
2208
+ toString():string;
2209
+ }
2210
+
2211
+ /**
2212
+ * Represents a set of Tables each corresponding to some key. The keys are available locally, but a call must be made to
2213
+ * the server to get each Table. All tables will have the same structure.
2214
+ */
2215
+ export class PartitionedTable implements HasEventHandling {
2216
+ /**
2217
+ * Indicates that a new key has been added to the array of keys, which can now be fetched with getTable.
2218
+ */
2219
+ static readonly EVENT_KEYADDED:string;
2220
+ /**
2221
+ * Indicates that a new key has been added to the array of keys, which can now be fetched with getTable.
2222
+ */
2223
+ static readonly EVENT_DISCONNECT:string;
2224
+ /**
2225
+ * Indicates that a new key has been added to the array of keys, which can now be fetched with getTable.
2226
+ */
2227
+ static readonly EVENT_RECONNECT:string;
2228
+ /**
2229
+ * Indicates that a new key has been added to the array of keys, which can now be fetched with getTable.
2230
+ */
2231
+ static readonly EVENT_RECONNECTFAILED:string;
2269
2232
 
2270
2233
  protected constructor();
2271
2234
 
2235
+ typedTicket():dhinternal.io.deephaven.proto.ticket_pb.TypedTicket;
2272
2236
  /**
2273
- * Load the named table, with columns and size information already fully populated.
2274
- * @param name -
2275
- * @param applyPreviewColumns - optional boolean
2276
- * @return {@link Promise} of {@link dh.Table}
2237
+ * Fetch the table with the given key.
2238
+ * @param key - The key to fetch. An array of values for each key column, in the same order as the key columns are.
2239
+ * @return Promise of dh.Table
2277
2240
  */
2278
- getTable(name:string, applyPreviewColumns?:boolean):Promise<Table>;
2241
+ getTable(key:object):Promise<Table>;
2279
2242
  /**
2280
- * Load the named Figure, including its tables and tablemaps as needed.
2281
- * @param name -
2282
- * @return promise of dh.plot.Figure
2243
+ * Open a new table that is the result of merging all constituent tables. See
2244
+ * {@link io.deephaven.engine.table.PartitionedTable#merge()} for details.
2245
+ * @return A merged representation of the constituent tables.
2283
2246
  */
2284
- getFigure(name:string):Promise<dh.plot.Figure>;
2247
+ getMergedTable():Promise<Table>;
2285
2248
  /**
2286
- * Loads the named tree table or roll-up table, with column data populated. All nodes are collapsed by default, and
2287
- * size is presently not available until the viewport is first set.
2288
- * @param name -
2289
- * @return {@link Promise} of {@link dh.TreeTable}
2249
+ * The set of all currently known keys. This is kept up to date, so getting the list after adding an event listener
2250
+ * for <b>keyadded</b> will ensure no keys are missed.
2251
+ * @return Set of Object
2290
2252
  */
2291
- getTreeTable(name:string):Promise<TreeTable>;
2292
- getHierarchicalTable(name:string):Promise<TreeTable>;
2293
- getObject(definitionObject:dh.ide.VariableDescriptor):Promise<any>;
2294
- newTable(columnNames:string[], types:string[], data:string[][], userTimeZone:string):Promise<Table>;
2253
+ getKeys():Set<object>;
2295
2254
  /**
2296
- * Merges the given tables into a single table. Assumes all tables have the same structure.
2297
- * @param tables -
2298
- * @return {@link Promise} of {@link dh.Table}
2255
+ * Fetch a table containing all the valid keys of the partitioned table.
2256
+ * @return Promise of a Table
2257
+ */
2258
+ getKeyTable():Promise<Table>;
2259
+ /**
2260
+ * Indicates that this PartitionedTable will no longer be used, removing subcriptions to updated keys, etc. This
2261
+ * will not affect tables in use.
2299
2262
  */
2300
- mergeTables(tables:Table[]):Promise<Table>;
2301
- bindTableToVariable(table:Table, name:string):Promise<void>;
2302
- subscribeToFieldUpdates(callback:(arg0:dh.ide.VariableChanges)=>void):()=>void;
2303
2263
  close():void;
2304
- runCode(code:string):Promise<dh.ide.CommandResult>;
2305
- onLogMessage(callback:(arg0:dh.ide.LogItem)=>void):()=>void;
2306
- openDocument(params:object):void;
2307
- changeDocument(params:object):void;
2308
- getCompletionItems(params:object):Promise<Array<dh.lsp.CompletionItem>>;
2309
- getSignatureHelp(params:object):Promise<Array<dh.lsp.SignatureInformation>>;
2310
- getHover(params:object):Promise<dh.lsp.Hover>;
2311
- closeDocument(params:object):void;
2312
2264
  /**
2313
- * Creates an empty table with the specified number of rows. Optionally columns and types may be specified, but all
2314
- * values will be null.
2315
- * @param size -
2316
- * @return {@link Promise} of {@link dh.Table}
2265
+ * The count of known keys.
2266
+ * @return int
2317
2267
  */
2318
- emptyTable(size:number):Promise<Table>;
2268
+ get size():number;
2319
2269
  /**
2320
- * Creates a new table that ticks automatically every "periodNanos" nanoseconds. A start time may be provided; if so
2321
- * the table will be populated with the interval from the specified date until now.
2322
- * @param periodNanos -
2323
- * @param startTime -
2324
- * @return {@link Promise} of {@link dh.Table}
2270
+ * An array of the columns in the tables that can be retrieved from this partitioned table, including both key and
2271
+ * non-key columns.
2272
+ * @return Array of Column
2273
+ */
2274
+ get columns():Column[];
2275
+ /**
2276
+ * An array of all the key columns that the tables are partitioned by.
2277
+ * @return Array of Column
2278
+ */
2279
+ get keyColumns():Column[];
2280
+ /**
2281
+ * Listen for events on this object.
2282
+ * @param name - the name of the event to listen for
2283
+ * @param callback - a function to call when the event occurs
2284
+ * @return Returns a cleanup function.
2285
+ * @typeParam T - the type of the data that the event will provide
2325
2286
  */
2326
- timeTable(periodNanos:number, startTime?:DateWrapper):Promise<Table>;
2327
2287
  addEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):()=>void;
2328
2288
  nextEvent<T>(eventName:string, timeoutInMillis?:number):Promise<CustomEvent<T>>;
2329
2289
  hasListeners(name:string):boolean;
2290
+ /**
2291
+ * Removes an event listener added to this table.
2292
+ * @param name -
2293
+ * @param callback -
2294
+ * @return
2295
+ * @typeParam T -
2296
+ */
2330
2297
  removeEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):boolean;
2331
2298
  }
2332
2299
 
2300
+ export class Ide {
2301
+ constructor();
2333
2302
 
2334
- /**
2335
- * This enum describes the name of each supported operation/aggregation type when creating a `TreeTable`.
2336
- */
2337
- type AggregationOperationType = string;
2338
- export class AggregationOperation {
2339
- static readonly COUNT:AggregationOperationType;
2340
- static readonly COUNT_DISTINCT:AggregationOperationType;
2341
- static readonly DISTINCT:AggregationOperationType;
2342
- static readonly MIN:AggregationOperationType;
2343
- static readonly MAX:AggregationOperationType;
2344
- static readonly SUM:AggregationOperationType;
2345
- static readonly ABS_SUM:AggregationOperationType;
2346
- static readonly VAR:AggregationOperationType;
2347
- static readonly AVG:AggregationOperationType;
2348
- static readonly STD:AggregationOperationType;
2349
- static readonly FIRST:AggregationOperationType;
2350
- static readonly LAST:AggregationOperationType;
2351
- static readonly UNIQUE:AggregationOperationType;
2352
- static readonly SKIP:AggregationOperationType;
2303
+ /**
2304
+ * @deprecated
2305
+ */
2306
+ getExistingSession(websocketUrl:string, authToken:string, serviceId:string, language:string):Promise<IdeSession>;
2307
+ /**
2308
+ * @deprecated
2309
+ */
2310
+ static getExistingSession(websocketUrl:string, authToken:string, serviceId:string, language:string):Promise<IdeSession>;
2353
2311
  }
2354
2312
 
2355
- type SearchDisplayModeType = string;
2356
- export class SearchDisplayMode {
2357
- static readonly SEARCH_DISPLAY_DEFAULT:SearchDisplayModeType;
2358
- static readonly SEARCH_DISPLAY_HIDE:SearchDisplayModeType;
2359
- static readonly SEARCH_DISPLAY_SHOW:SearchDisplayModeType;
2313
+ export class QueryInfo {
2314
+ static readonly EVENT_TABLE_OPENED:string;
2315
+ static readonly EVENT_DISCONNECT:string;
2316
+ static readonly EVENT_RECONNECT:string;
2317
+ static readonly EVENT_CONNECT:string;
2318
+
2319
+ protected constructor();
2320
+ }
2321
+
2322
+ /**
2323
+ * Wrap BigInteger values for use in JS. Provides text formatting for display and access to the underlying value.
2324
+ */
2325
+ export class BigIntegerWrapper {
2326
+ protected constructor();
2327
+
2328
+ static ofString(str:string):BigIntegerWrapper;
2329
+ asNumber():number;
2330
+ valueOf():string;
2331
+ toString():string;
2360
2332
  }
2361
2333
 
2334
+
2362
2335
  type ValueTypeType = string;
2363
2336
  export class ValueType {
2364
2337
  static readonly STRING:ValueTypeType;
@@ -2385,10 +2358,59 @@ export namespace dh {
2385
2358
  static readonly TREEMAP:VariableTypeType;
2386
2359
  }
2387
2360
 
2361
+ type SearchDisplayModeType = string;
2362
+ export class SearchDisplayMode {
2363
+ static readonly SEARCH_DISPLAY_DEFAULT:SearchDisplayModeType;
2364
+ static readonly SEARCH_DISPLAY_HIDE:SearchDisplayModeType;
2365
+ static readonly SEARCH_DISPLAY_SHOW:SearchDisplayModeType;
2366
+ }
2367
+
2368
+ /**
2369
+ * This enum describes the name of each supported operation/aggregation type when creating a `TreeTable`.
2370
+ */
2371
+ type AggregationOperationType = string;
2372
+ export class AggregationOperation {
2373
+ static readonly COUNT:AggregationOperationType;
2374
+ static readonly COUNT_DISTINCT:AggregationOperationType;
2375
+ static readonly DISTINCT:AggregationOperationType;
2376
+ static readonly MIN:AggregationOperationType;
2377
+ static readonly MAX:AggregationOperationType;
2378
+ static readonly SUM:AggregationOperationType;
2379
+ static readonly ABS_SUM:AggregationOperationType;
2380
+ static readonly VAR:AggregationOperationType;
2381
+ static readonly AVG:AggregationOperationType;
2382
+ static readonly STD:AggregationOperationType;
2383
+ static readonly FIRST:AggregationOperationType;
2384
+ static readonly LAST:AggregationOperationType;
2385
+ static readonly UNIQUE:AggregationOperationType;
2386
+ static readonly SKIP:AggregationOperationType;
2387
+ }
2388
+
2388
2389
  }
2389
2390
 
2390
2391
  export namespace dh.ide {
2391
2392
 
2393
+ /**
2394
+ * Represents a serialized fishlib LogRecord, suitable for display on javascript clients. A log entry sent from the
2395
+ * server.
2396
+ */
2397
+ export interface LogItem {
2398
+ /**
2399
+ * The level of the log message, enabling the client to ignore messages.
2400
+ * @return String
2401
+ */
2402
+ get logLevel():string;
2403
+ /**
2404
+ * Timestamp of the message in microseconds since Jan 1, 1970 UTC.
2405
+ * @return double
2406
+ */
2407
+ get micros():number;
2408
+ /**
2409
+ * The log message written on the server.
2410
+ * @return String
2411
+ */
2412
+ get message():string;
2413
+ }
2392
2414
  /**
2393
2415
  * Describes changes in the current set of variables in the script session. Note that variables that changed value
2394
2416
  * without changing type will be included as <b>updated</b>, but if a new value with one type replaces an old value with
@@ -2477,27 +2499,6 @@ export namespace dh.ide {
2477
2499
  */
2478
2500
  get applicationName():string;
2479
2501
  }
2480
- /**
2481
- * Represents a serialized fishlib LogRecord, suitable for display on javascript clients. A log entry sent from the
2482
- * server.
2483
- */
2484
- export interface LogItem {
2485
- /**
2486
- * The level of the log message, enabling the client to ignore messages.
2487
- * @return String
2488
- */
2489
- get logLevel():string;
2490
- /**
2491
- * Timestamp of the message in microseconds since Jan 1, 1970 UTC.
2492
- * @return double
2493
- */
2494
- get micros():number;
2495
- /**
2496
- * The log message written on the server.
2497
- * @return String
2498
- */
2499
- get message():string;
2500
- }
2501
2502
  }
2502
2503
 
2503
2504
  export namespace dh.i18n {
@@ -2769,6 +2770,21 @@ export namespace dh.i18n {
2769
2770
 
2770
2771
  export namespace dh.plot {
2771
2772
 
2773
+ /**
2774
+ * Describes a template that will be used to make new series instances when a new table added to a plotBy.
2775
+ */
2776
+ export interface MultiSeries {
2777
+ /**
2778
+ * The name for this multi-series.
2779
+ * @return String
2780
+ */
2781
+ get name():string;
2782
+ /**
2783
+ * The plotting style to use for the series that will be created. See <b>SeriesPlotStyle</b> enum for more details.
2784
+ * @return int
2785
+ */
2786
+ get plotStyle():SeriesPlotStyleType;
2787
+ }
2772
2788
  /**
2773
2789
  * Provides access to the data for displaying in a figure.
2774
2790
  */
@@ -2907,121 +2923,11 @@ export namespace dh.plot {
2907
2923
  get formatType():AxisFormatTypeType;
2908
2924
  get minRange():number;
2909
2925
  }
2910
- /**
2911
- * Describes a template that will be used to make new series instances when a new table added to a plotBy.
2912
- */
2913
- export interface MultiSeries {
2914
- /**
2915
- * The name for this multi-series.
2916
- * @return String
2917
- */
2918
- get name():string;
2919
- /**
2920
- * The plotting style to use for the series that will be created. See <b>SeriesPlotStyle</b> enum for more details.
2921
- * @return int
2922
- */
2923
- get plotStyle():SeriesPlotStyleType;
2924
- }
2925
2926
  export interface FigureDataUpdatedEvent {
2926
2927
  getArray(series:Series, sourceType:number, mappingFunc?:(arg0:any)=>any):Array<any>;
2927
2928
  get series():Series[];
2928
2929
  }
2929
2930
 
2930
- export class SeriesDescriptor {
2931
- plotStyle:string;
2932
- name?:string|null;
2933
- linesVisible?:boolean|null;
2934
- shapesVisible?:boolean|null;
2935
- gradientVisible?:boolean|null;
2936
- lineColor?:string|null;
2937
- pointLabelFormat?:string|null;
2938
- xToolTipPattern?:string|null;
2939
- yToolTipPattern?:string|null;
2940
- shapeLabel?:string|null;
2941
- shapeSize?:number|null;
2942
- shapeColor?:string|null;
2943
- shape?:string|null;
2944
- dataSources:Array<SourceDescriptor>;
2945
-
2946
- constructor();
2947
- }
2948
-
2949
- export class SourceDescriptor {
2950
- axis:AxisDescriptor;
2951
- table:dh.Table;
2952
- columnName:string;
2953
- type:string;
2954
-
2955
- constructor();
2956
- }
2957
-
2958
- /**
2959
- * Helper class to manage snapshots and deltas and keep not only a contiguous JS array of data per column in the
2960
- * underlying table, but also support a mapping function to let client code translate data in some way for display and
2961
- * keep that cached as well.
2962
- */
2963
- export class ChartData {
2964
- constructor(table:dh.Table);
2965
-
2966
- update(tableData:dh.SubscriptionTableData):void;
2967
- getColumn(columnName:string, mappingFunc:(arg0:any)=>any, currentUpdate:dh.TableData):Array<any>;
2968
- /**
2969
- * Removes some column from the cache, avoiding extra computation on incoming events, and possibly freeing some
2970
- * memory. If this pair of column name and map function are requested again, it will be recomputed from scratch.
2971
- */
2972
- removeColumn(columnName:string, mappingFunc:(arg0:any)=>any):void;
2973
- }
2974
-
2975
- export class FigureFetchError {
2976
- error:object;
2977
- errors:Array<string>;
2978
-
2979
- protected constructor();
2980
- }
2981
-
2982
- export class DownsampleOptions {
2983
- /**
2984
- * Max number of items in the series before DEFAULT will not attempt to load the series without downsampling. Above
2985
- * this size if downsample fails or is not applicable, the series won't be loaded unless DISABLE is passed to
2986
- * series.subscribe().
2987
- */
2988
- static MAX_SERIES_SIZE:number;
2989
- /**
2990
- * Max number of items in the series where the subscription will be allowed at all. Above this limit, even with
2991
- * downsampling disabled, the series will not load data.
2992
- */
2993
- static MAX_SUBSCRIPTION_SIZE:number;
2994
- /**
2995
- * Flag to let the API decide what data will be available, based on the nature of the data, the series, and how the
2996
- * axes are configured.
2997
- */
2998
- static readonly DEFAULT:DownsampleOptions;
2999
- /**
3000
- * Flat to entirely disable downsampling, and force all data to load, no matter how many items that would be, up to
3001
- * the limit of MAX_SUBSCRIPTION_SIZE.
3002
- */
3003
- static readonly DISABLE:DownsampleOptions;
3004
-
3005
- protected constructor();
3006
- }
3007
-
3008
- /**
3009
- * A descriptor used with JsFigureFactory.create to create a figure from JS.
3010
- */
3011
- export class FigureDescriptor {
3012
- title?:string|null;
3013
- titleFont?:string|null;
3014
- titleColor?:string|null;
3015
- isResizable?:boolean|null;
3016
- isDefaultTheme?:boolean|null;
3017
- updateInterval?:number|null;
3018
- cols?:number|null;
3019
- rows?:number|null;
3020
- charts:Array<ChartDescriptor>;
3021
-
3022
- constructor();
3023
- }
3024
-
3025
2931
  /**
3026
2932
  * Provide the details for a chart.
3027
2933
  */
@@ -3066,40 +2972,30 @@ export namespace dh.plot {
3066
2972
  get multiSeries():MultiSeries[];
3067
2973
  }
3068
2974
 
3069
- /**
3070
- * Provides the details for a figure.
3071
- *
3072
- * The Deephaven JS API supports automatic lossless downsampling of time-series data, when that data is plotted in one
3073
- * or more line series. Using a scatter plot or a X-axis of some type other than DateTime will prevent this feature from
3074
- * being applied to a series. To enable this feature, invoke <b>Axis.range(...)</b> to specify the length in pixels of
3075
- * the axis on the screen, and the range of values that are visible, and the server will use that width (and range, if
3076
- * any) to reduce the number of points sent to the client.
3077
- *
3078
- * Downsampling can also be controlled when calling either <b>Figure.subscribe()</b> or <b>Series.subscribe()</b> - both
3079
- * can be given an optional <b>dh.plot.DownsampleOptions</b> argument. Presently only two valid values exist,
3080
- * <b>DEFAULT</b>, and <b>DISABLE</b>, and if no argument is specified, <b>DEFAULT</b> is assumed. If there are more
3081
- * than 30,000 rows in a table, downsampling will be encouraged - data will not load without calling
3082
- * <b>subscribe(DISABLE)</b> or enabling downsampling via <b>Axis.range(...)</b>. If there are more than 200,000 rows,
3083
- * data will refuse to load without downsampling and <b>subscribe(DISABLE)</b> would have no effect.
3084
- *
3085
- * Downsampled data looks like normal data, except that select items have been removed if they would be redundant in the
3086
- * UI given the current configuration. Individual rows are intact, so that a tooltip or some other UI item is sure to be
3087
- * accurate and consistent, and at least the highest and lowest value for each axis will be retained as well, to ensure
3088
- * that the "important" values are visible.
3089
- *
3090
- * Four events exist to help with interacting with downsampled data, all fired from the <b>Figure</b> instance itself.
3091
- * First, <b>downsampleneeded</b> indicates that more than 30,000 rows would be fetched, and so specifying downsampling
3092
- * is no longer optional - it must either be enabled (calling <b>axis.range(...)</b>), or disabled. If the figure is
3093
- * configured for downsampling, when a change takes place that requires that the server perform some downsampling work,
3094
- * the <b>downsamplestarted</b> event will first be fired, which can be used to present a brief loading message,
3095
- * indicating to the user why data is not ready yet - when the server side process is complete,
3096
- * <b>downsamplefinished</b> will be fired. These events will repeat when the range changes, such as when zooming,
3097
- * panning, or resizing the figure. Finally, <b>downsamplefailed</b> indicates that something when wrong when
3098
- * downsampling, or possibly that downsampling cannot be disabled due to the number of rows in the table.
3099
- *
3100
- * At this time, not marked as a ServerObject, due to internal implementation issues which leave the door open to
3101
- * client-created figures.
3102
- */
2975
+ export class ChartDescriptor {
2976
+ colspan?:number|null;
2977
+ rowspan?:number|null;
2978
+ series:Array<SeriesDescriptor>;
2979
+ axes:Array<AxisDescriptor>;
2980
+ chartType:string;
2981
+ title?:string|null;
2982
+ titleFont?:string|null;
2983
+ titleColor?:string|null;
2984
+ showLegend?:boolean|null;
2985
+ legendFont?:string|null;
2986
+ legendColor?:string|null;
2987
+ is3d?:boolean|null;
2988
+
2989
+ constructor();
2990
+ }
2991
+
2992
+ export class FigureSourceException {
2993
+ table:dh.Table;
2994
+ source:SeriesDataSource;
2995
+
2996
+ protected constructor();
2997
+ }
2998
+
3103
2999
  export class Figure implements dh.HasEventHandling {
3104
3000
  /**
3105
3001
  * The title of the figure.
@@ -3143,8 +3039,7 @@ export namespace dh.plot {
3143
3039
  */
3144
3040
  static readonly EVENT_DOWNSAMPLENEEDED:string;
3145
3041
 
3146
- protected constructor();
3147
-
3042
+ static create(config:FigureDescriptor):Promise<Figure>;
3148
3043
  subscribe(forceDisableDownsample?:DownsampleOptions):void;
3149
3044
  /**
3150
3045
  * Disable updates for all series in this figure.
@@ -3183,7 +3078,68 @@ export namespace dh.plot {
3183
3078
  * @typeParam T -
3184
3079
  */
3185
3080
  removeEventListener<T>(name:string, callback:(e:CustomEvent<T>)=>void):boolean;
3186
- static create(config:FigureDescriptor):Promise<Figure>;
3081
+ }
3082
+
3083
+ /**
3084
+ * A descriptor used with JsFigureFactory.create to create a figure from JS.
3085
+ */
3086
+ export class FigureDescriptor {
3087
+ title?:string|null;
3088
+ titleFont?:string|null;
3089
+ titleColor?:string|null;
3090
+ isResizable?:boolean|null;
3091
+ isDefaultTheme?:boolean|null;
3092
+ updateInterval?:number|null;
3093
+ cols?:number|null;
3094
+ rows?:number|null;
3095
+ charts:Array<ChartDescriptor>;
3096
+
3097
+ constructor();
3098
+ }
3099
+
3100
+ export class SourceDescriptor {
3101
+ axis:AxisDescriptor;
3102
+ table:dh.Table;
3103
+ columnName:string;
3104
+ type:string;
3105
+
3106
+ constructor();
3107
+ }
3108
+
3109
+ /**
3110
+ * Helper class to manage snapshots and deltas and keep not only a contiguous JS array of data per column in the
3111
+ * underlying table, but also support a mapping function to let client code translate data in some way for display and
3112
+ * keep that cached as well.
3113
+ */
3114
+ export class ChartData {
3115
+ constructor(table:dh.Table);
3116
+
3117
+ update(tableData:dh.SubscriptionTableData):void;
3118
+ getColumn(columnName:string, mappingFunc:(arg0:any)=>any, currentUpdate:dh.TableData):Array<any>;
3119
+ /**
3120
+ * Removes some column from the cache, avoiding extra computation on incoming events, and possibly freeing some
3121
+ * memory. If this pair of column name and map function are requested again, it will be recomputed from scratch.
3122
+ */
3123
+ removeColumn(columnName:string, mappingFunc:(arg0:any)=>any):void;
3124
+ }
3125
+
3126
+ export class SeriesDescriptor {
3127
+ plotStyle:string;
3128
+ name?:string|null;
3129
+ linesVisible?:boolean|null;
3130
+ shapesVisible?:boolean|null;
3131
+ gradientVisible?:boolean|null;
3132
+ lineColor?:string|null;
3133
+ pointLabelFormat?:string|null;
3134
+ xToolTipPattern?:string|null;
3135
+ yToolTipPattern?:string|null;
3136
+ shapeLabel?:string|null;
3137
+ shapeSize?:number|null;
3138
+ shapeColor?:string|null;
3139
+ shape?:string|null;
3140
+ dataSources:Array<SourceDescriptor>;
3141
+
3142
+ constructor();
3187
3143
  }
3188
3144
 
3189
3145
  export class SeriesDataSourceException {
@@ -3193,26 +3149,35 @@ export namespace dh.plot {
3193
3149
  get message():string;
3194
3150
  }
3195
3151
 
3196
- export class ChartDescriptor {
3197
- colspan?:number|null;
3198
- rowspan?:number|null;
3199
- series:Array<SeriesDescriptor>;
3200
- axes:Array<AxisDescriptor>;
3201
- chartType:string;
3202
- title?:string|null;
3203
- titleFont?:string|null;
3204
- titleColor?:string|null;
3205
- showLegend?:boolean|null;
3206
- legendFont?:string|null;
3207
- legendColor?:string|null;
3208
- is3d?:boolean|null;
3152
+ export class DownsampleOptions {
3153
+ /**
3154
+ * Max number of items in the series before DEFAULT will not attempt to load the series without downsampling. Above
3155
+ * this size if downsample fails or is not applicable, the series won't be loaded unless DISABLE is passed to
3156
+ * series.subscribe().
3157
+ */
3158
+ static MAX_SERIES_SIZE:number;
3159
+ /**
3160
+ * Max number of items in the series where the subscription will be allowed at all. Above this limit, even with
3161
+ * downsampling disabled, the series will not load data.
3162
+ */
3163
+ static MAX_SUBSCRIPTION_SIZE:number;
3164
+ /**
3165
+ * Flag to let the API decide what data will be available, based on the nature of the data, the series, and how the
3166
+ * axes are configured.
3167
+ */
3168
+ static readonly DEFAULT:DownsampleOptions;
3169
+ /**
3170
+ * Flat to entirely disable downsampling, and force all data to load, no matter how many items that would be, up to
3171
+ * the limit of MAX_SUBSCRIPTION_SIZE.
3172
+ */
3173
+ static readonly DISABLE:DownsampleOptions;
3209
3174
 
3210
- constructor();
3175
+ protected constructor();
3211
3176
  }
3212
3177
 
3213
- export class FigureSourceException {
3214
- table:dh.Table;
3215
- source:SeriesDataSource;
3178
+ export class FigureFetchError {
3179
+ error:object;
3180
+ errors:Array<string>;
3216
3181
 
3217
3182
  protected constructor();
3218
3183
  }
@@ -3251,43 +3216,6 @@ export namespace dh.plot {
3251
3216
  static readonly NONE:AxisPositionType;
3252
3217
  }
3253
3218
 
3254
- type SeriesPlotStyleType = number;
3255
- export class SeriesPlotStyle {
3256
- static readonly BAR:SeriesPlotStyleType;
3257
- static readonly STACKED_BAR:SeriesPlotStyleType;
3258
- static readonly LINE:SeriesPlotStyleType;
3259
- static readonly AREA:SeriesPlotStyleType;
3260
- static readonly STACKED_AREA:SeriesPlotStyleType;
3261
- static readonly PIE:SeriesPlotStyleType;
3262
- static readonly HISTOGRAM:SeriesPlotStyleType;
3263
- static readonly OHLC:SeriesPlotStyleType;
3264
- static readonly SCATTER:SeriesPlotStyleType;
3265
- static readonly STEP:SeriesPlotStyleType;
3266
- static readonly ERROR_BAR:SeriesPlotStyleType;
3267
- static readonly TREEMAP:SeriesPlotStyleType;
3268
- }
3269
-
3270
- type AxisFormatTypeType = number;
3271
- export class AxisFormatType {
3272
- static readonly CATEGORY:AxisFormatTypeType;
3273
- static readonly NUMBER:AxisFormatTypeType;
3274
- }
3275
-
3276
- /**
3277
- * This enum describes what kind of chart is being drawn. This may limit what kinds of series can be found on it, or how
3278
- * those series should be rendered.
3279
- */
3280
- type ChartTypeType = number;
3281
- export class ChartType {
3282
- static readonly XY:ChartTypeType;
3283
- static readonly PIE:ChartTypeType;
3284
- static readonly OHLC:ChartTypeType;
3285
- static readonly CATEGORY:ChartTypeType;
3286
- static readonly XYZ:ChartTypeType;
3287
- static readonly CATEGORY_3D:ChartTypeType;
3288
- static readonly TREEMAP:ChartTypeType;
3289
- }
3290
-
3291
3219
  type AxisTypeType = number;
3292
3220
  export class AxisType {
3293
3221
  static readonly X:AxisTypeType;
@@ -3327,33 +3255,46 @@ export namespace dh.plot {
3327
3255
  static readonly HOVER_TEXT:SourceTypeType;
3328
3256
  }
3329
3257
 
3330
- }
3331
-
3332
- export namespace dh.lsp {
3258
+ /**
3259
+ * This enum describes what kind of chart is being drawn. This may limit what kinds of series can be found on it, or how
3260
+ * those series should be rendered.
3261
+ */
3262
+ type ChartTypeType = number;
3263
+ export class ChartType {
3264
+ static readonly XY:ChartTypeType;
3265
+ static readonly PIE:ChartTypeType;
3266
+ static readonly OHLC:ChartTypeType;
3267
+ static readonly CATEGORY:ChartTypeType;
3268
+ static readonly XYZ:ChartTypeType;
3269
+ static readonly CATEGORY_3D:ChartTypeType;
3270
+ static readonly TREEMAP:ChartTypeType;
3271
+ }
3333
3272
 
3334
- export class CompletionItem {
3335
- label:string;
3336
- kind:number;
3337
- detail:string;
3338
- documentation:MarkupContent;
3339
- deprecated:boolean;
3340
- preselect:boolean;
3341
- textEdit:TextEdit;
3342
- sortText:string;
3343
- filterText:string;
3344
- insertTextFormat:number;
3345
- additionalTextEdits:Array<TextEdit>;
3346
- commitCharacters:Array<string>;
3273
+ type SeriesPlotStyleType = number;
3274
+ export class SeriesPlotStyle {
3275
+ static readonly BAR:SeriesPlotStyleType;
3276
+ static readonly STACKED_BAR:SeriesPlotStyleType;
3277
+ static readonly LINE:SeriesPlotStyleType;
3278
+ static readonly AREA:SeriesPlotStyleType;
3279
+ static readonly STACKED_AREA:SeriesPlotStyleType;
3280
+ static readonly PIE:SeriesPlotStyleType;
3281
+ static readonly HISTOGRAM:SeriesPlotStyleType;
3282
+ static readonly OHLC:SeriesPlotStyleType;
3283
+ static readonly SCATTER:SeriesPlotStyleType;
3284
+ static readonly STEP:SeriesPlotStyleType;
3285
+ static readonly ERROR_BAR:SeriesPlotStyleType;
3286
+ static readonly TREEMAP:SeriesPlotStyleType;
3287
+ }
3347
3288
 
3348
- constructor();
3289
+ type AxisFormatTypeType = number;
3290
+ export class AxisFormatType {
3291
+ static readonly CATEGORY:AxisFormatTypeType;
3292
+ static readonly NUMBER:AxisFormatTypeType;
3349
3293
  }
3350
3294
 
3351
- export class MarkupContent {
3352
- kind:string;
3353
- value:string;
3295
+ }
3354
3296
 
3355
- constructor();
3356
- }
3297
+ export namespace dh.lsp {
3357
3298
 
3358
3299
  export class TextEdit {
3359
3300
  range:Range;
@@ -3370,20 +3311,20 @@ export namespace dh.lsp {
3370
3311
  constructor();
3371
3312
  }
3372
3313
 
3373
- export class Hover {
3374
- contents:MarkupContent;
3375
- range:Range;
3314
+ export class MarkupContent {
3315
+ kind:string;
3316
+ value:string;
3376
3317
 
3377
3318
  constructor();
3378
3319
  }
3379
3320
 
3380
- export class SignatureInformation {
3381
- label:string;
3382
- documentation:MarkupContent;
3383
- parameters:Array<ParameterInformation>;
3384
- activeParameter:number;
3321
+ export class Range {
3322
+ start:Position;
3323
+ end:Position;
3385
3324
 
3386
3325
  constructor();
3326
+
3327
+ isInside(innerStart:Position, innerEnd:Position):boolean;
3387
3328
  }
3388
3329
 
3389
3330
  export class ParameterInformation {
@@ -3393,6 +3334,13 @@ export namespace dh.lsp {
3393
3334
  constructor();
3394
3335
  }
3395
3336
 
3337
+ export class Hover {
3338
+ contents:MarkupContent;
3339
+ range:Range;
3340
+
3341
+ constructor();
3342
+ }
3343
+
3396
3344
  export class Position {
3397
3345
  line:number;
3398
3346
  character:number;
@@ -3406,23 +3354,36 @@ export namespace dh.lsp {
3406
3354
  copy():Position;
3407
3355
  }
3408
3356
 
3409
- export class Range {
3410
- start:Position;
3411
- end:Position;
3357
+ export class CompletionItem {
3358
+ label:string;
3359
+ kind:number;
3360
+ detail:string;
3361
+ documentation:MarkupContent;
3362
+ deprecated:boolean;
3363
+ preselect:boolean;
3364
+ textEdit:TextEdit;
3365
+ sortText:string;
3366
+ filterText:string;
3367
+ insertTextFormat:number;
3368
+ additionalTextEdits:Array<TextEdit>;
3369
+ commitCharacters:Array<string>;
3412
3370
 
3413
3371
  constructor();
3372
+ }
3414
3373
 
3415
- isInside(innerStart:Position, innerEnd:Position):boolean;
3374
+ export class SignatureInformation {
3375
+ label:string;
3376
+ documentation:MarkupContent;
3377
+ parameters:Array<ParameterInformation>;
3378
+ activeParameter:number;
3379
+
3380
+ constructor();
3416
3381
  }
3417
3382
 
3418
3383
  }
3419
3384
 
3420
3385
  export namespace dh.calendar {
3421
3386
 
3422
- export interface BusinessPeriod {
3423
- get close():string;
3424
- get open():string;
3425
- }
3426
3387
  export interface Holiday {
3427
3388
  /**
3428
3389
  * The date of the Holiday.
@@ -3435,6 +3396,10 @@ export namespace dh.calendar {
3435
3396
  */
3436
3397
  get businessPeriods():Array<BusinessPeriod>;
3437
3398
  }
3399
+ export interface BusinessPeriod {
3400
+ get close():string;
3401
+ get open():string;
3402
+ }
3438
3403
  /**
3439
3404
  * Defines a calendar with business hours and holidays.
3440
3405
  */