oakscriptjs 0.9.6 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/array/index.d.ts +9 -23
  3. package/dist/cjs/array/index.d.ts.map +1 -1
  4. package/dist/cjs/array/index.js +4 -0
  5. package/dist/cjs/array/index.js.map +2 -2
  6. package/dist/cjs/drawing/bar-time.d.ts +24 -0
  7. package/dist/cjs/drawing/bar-time.d.ts.map +1 -0
  8. package/dist/cjs/drawing/bar-time.js +47 -0
  9. package/dist/cjs/drawing/bar-time.js.map +7 -0
  10. package/dist/cjs/drawing/output.d.ts +32 -0
  11. package/dist/cjs/drawing/output.d.ts.map +1 -0
  12. package/dist/cjs/drawing/output.js +184 -0
  13. package/dist/cjs/drawing/output.js.map +7 -0
  14. package/dist/cjs/drawing/registry.d.ts +5 -4
  15. package/dist/cjs/drawing/registry.d.ts.map +1 -1
  16. package/dist/cjs/drawing/registry.js +11 -2
  17. package/dist/cjs/drawing/registry.js.map +2 -2
  18. package/dist/cjs/index.d.ts +6 -3
  19. package/dist/cjs/index.d.ts.map +1 -1
  20. package/dist/cjs/index.js +9 -2
  21. package/dist/cjs/index.js.map +2 -2
  22. package/dist/cjs/polyline/index.d.ts +3 -5
  23. package/dist/cjs/polyline/index.d.ts.map +1 -1
  24. package/dist/cjs/polyline/index.js +0 -5
  25. package/dist/cjs/polyline/index.js.map +2 -2
  26. package/dist/cjs/runtime/types.d.ts +22 -0
  27. package/dist/cjs/runtime/types.d.ts.map +1 -1
  28. package/dist/cjs/runtime/types.js.map +1 -1
  29. package/dist/cjs/script/index.d.ts +82 -5
  30. package/dist/cjs/script/index.d.ts.map +1 -1
  31. package/dist/cjs/script/index.js +141 -26
  32. package/dist/cjs/script/index.js.map +3 -3
  33. package/dist/cjs/table/index.d.ts +87 -0
  34. package/dist/cjs/table/index.d.ts.map +1 -0
  35. package/dist/cjs/table/index.js +150 -0
  36. package/dist/cjs/table/index.js.map +7 -0
  37. package/dist/cjs/text/index.d.ts +17 -2
  38. package/dist/cjs/text/index.d.ts.map +1 -1
  39. package/dist/cjs/text/index.js +15 -1
  40. package/dist/cjs/text/index.js.map +2 -2
  41. package/dist/cjs/types/index.d.ts +30 -1
  42. package/dist/cjs/types/index.d.ts.map +1 -1
  43. package/dist/cjs/types/index.js +12 -0
  44. package/dist/cjs/types/index.js.map +2 -2
  45. package/dist/cjs/types/metadata.d.ts +258 -26
  46. package/dist/cjs/types/metadata.d.ts.map +1 -1
  47. package/dist/cjs/types/metadata.js.map +1 -1
  48. package/dist/esm/array/index.d.ts +9 -23
  49. package/dist/esm/array/index.d.ts.map +1 -1
  50. package/dist/esm/array/index.js +10 -22
  51. package/dist/esm/array/index.js.map +1 -1
  52. package/dist/esm/drawing/bar-time.d.ts +24 -0
  53. package/dist/esm/drawing/bar-time.d.ts.map +1 -0
  54. package/dist/esm/drawing/bar-time.js +44 -0
  55. package/dist/esm/drawing/bar-time.js.map +1 -0
  56. package/dist/esm/drawing/output.d.ts +32 -0
  57. package/dist/esm/drawing/output.d.ts.map +1 -0
  58. package/dist/esm/drawing/output.js +190 -0
  59. package/dist/esm/drawing/output.js.map +1 -0
  60. package/dist/esm/drawing/registry.d.ts +5 -4
  61. package/dist/esm/drawing/registry.d.ts.map +1 -1
  62. package/dist/esm/drawing/registry.js +12 -2
  63. package/dist/esm/drawing/registry.js.map +1 -1
  64. package/dist/esm/index.d.ts +6 -3
  65. package/dist/esm/index.d.ts.map +1 -1
  66. package/dist/esm/index.js +7 -3
  67. package/dist/esm/index.js.map +1 -1
  68. package/dist/esm/polyline/index.d.ts +3 -5
  69. package/dist/esm/polyline/index.d.ts.map +1 -1
  70. package/dist/esm/polyline/index.js +3 -9
  71. package/dist/esm/polyline/index.js.map +1 -1
  72. package/dist/esm/runtime/types.d.ts +22 -0
  73. package/dist/esm/runtime/types.d.ts.map +1 -1
  74. package/dist/esm/script/index.d.ts +82 -5
  75. package/dist/esm/script/index.d.ts.map +1 -1
  76. package/dist/esm/script/index.js +167 -21
  77. package/dist/esm/script/index.js.map +1 -1
  78. package/dist/esm/table/index.d.ts +87 -0
  79. package/dist/esm/table/index.d.ts.map +1 -0
  80. package/dist/esm/table/index.js +169 -0
  81. package/dist/esm/table/index.js.map +1 -0
  82. package/dist/esm/text/index.d.ts +17 -2
  83. package/dist/esm/text/index.d.ts.map +1 -1
  84. package/dist/esm/text/index.js +17 -2
  85. package/dist/esm/text/index.js.map +1 -1
  86. package/dist/esm/types/index.d.ts +30 -1
  87. package/dist/esm/types/index.d.ts.map +1 -1
  88. package/dist/esm/types/index.js +14 -0
  89. package/dist/esm/types/index.js.map +1 -1
  90. package/dist/esm/types/metadata.d.ts +258 -26
  91. package/dist/esm/types/metadata.d.ts.map +1 -1
  92. package/package.json +1 -1
  93. package/src/array/index.ts +12 -23
  94. package/src/drawing/bar-time.ts +42 -0
  95. package/src/drawing/output.ts +214 -0
  96. package/src/drawing/registry.ts +16 -6
  97. package/src/index.ts +9 -3
  98. package/src/polyline/index.ts +3 -12
  99. package/src/runtime/types.ts +23 -0
  100. package/src/script/index.ts +254 -24
  101. package/src/table/index.ts +221 -0
  102. package/src/text/index.ts +18 -2
  103. package/src/types/index.ts +32 -1
  104. package/src/types/metadata.ts +325 -26
@@ -42,10 +42,12 @@ import * as labelCore from '../label/index.js';
42
42
  import * as boxCore from '../box/index.js';
43
43
  import * as linefillCore from '../linefill/index.js';
44
44
  import * as polylineCore from '../polyline/index.js';
45
+ import * as tableCore from '../table/index.js';
45
46
  import * as chartPointCore from '../chartpoint/index.js';
46
47
  import * as textCore from '../text/index.js';
47
48
  import * as mathCore from '../math/index.js';
48
49
  import { resetDrawings, setDrawingLimits } from '../drawing/registry.js';
50
+ import { drawingOutputs } from '../drawing/output.js';
49
51
  import * as timeframeCore from '../timeframe/index.js';
50
52
  import * as timeCore from '../time/index.js';
51
53
  import * as strCore from '../str/index.js';
@@ -53,6 +55,7 @@ import { formatMessage } from '../str/messageformat.js';
53
55
  import { TradingCalendar } from '../session/calendar.js';
54
56
  import { SessionBars, sessionFlags } from '../session/bars.js';
55
57
  import { afterCompletion, heikinAshi, mapToChart, periodsOf, resample } from '../security/resample.js';
58
+ import { position } from '../types/index.js';
56
59
  import { STRATEGY_CONSTANTS, STRATEGY_DEFAULTS, STRATEGY_NUMBER_VARIABLES, STRATEGY_TEXT_VARIABLES, } from '../strategy/index.js';
57
60
  import { parsePineSession } from '../time/session.js';
58
61
  /** Bars for the current run. Module-level and REUSED across runs so builtins
@@ -84,8 +87,11 @@ function freshCollector(inputValues) {
84
87
  arrowConfig: [],
85
88
  arrows: [],
86
89
  barColorConfig: [],
87
- bgcolors: [],
88
- barcolors: [],
90
+ bgColors: [],
91
+ barColors: [],
92
+ candleConfig: [],
93
+ plotCandles: {},
94
+ plotBars: {},
89
95
  alertConfig: [],
90
96
  alerts: [],
91
97
  };
@@ -135,6 +141,7 @@ export function executeScript(body, barsInput, inputs = {}, chart = {}, options
135
141
  shapeConfig: c.shapeConfig,
136
142
  arrowConfig: c.arrowConfig,
137
143
  barColorConfig: c.barColorConfig,
144
+ candleConfig: c.candleConfig,
138
145
  defaultInputs: c.defaultInputs,
139
146
  alertConfig: c.alertConfig,
140
147
  strategyConfig: c.strategy?.properties,
@@ -144,8 +151,11 @@ export function executeScript(body, barsInput, inputs = {}, chart = {}, options
144
151
  fills: c.fills.length ? c.fills : undefined,
145
152
  markers: c.markers.length ? c.markers : undefined,
146
153
  arrows: c.arrows.length ? c.arrows : undefined,
147
- bgcolors: c.bgcolors.length ? c.bgcolors : undefined,
148
- barcolors: c.barcolors.length ? c.barcolors : undefined,
154
+ bgColors: c.bgColors.length ? c.bgColors : undefined,
155
+ barColors: c.barColors.length ? c.barColors : undefined,
156
+ plotCandles: Object.keys(c.plotCandles).length ? c.plotCandles : undefined,
157
+ plotBars: Object.keys(c.plotBars).length ? c.plotBars : undefined,
158
+ ...drawingOutputs(ctxBars.bars, chartCtx.timeUnit),
149
159
  alerts: c.alerts.length ? c.alerts : undefined,
150
160
  },
151
161
  };
@@ -467,8 +477,43 @@ export function fill(a, b, ...args) {
467
477
  gradient,
468
478
  });
469
479
  }
480
+ /** PineScript shape.* style -> marker shape. */
481
+ const MARKER_SHAPES = {
482
+ xcross: 'xcross',
483
+ cross: 'cross',
484
+ triangleup: 'triangleUp',
485
+ triangledown: 'triangleDown',
486
+ flag: 'flag',
487
+ circle: 'circle',
488
+ arrowup: 'arrowUp',
489
+ arrowdown: 'arrowDown',
490
+ labelup: 'labelUp',
491
+ labeldown: 'labelDown',
492
+ square: 'square',
493
+ diamond: 'diamond',
494
+ };
495
+ /**
496
+ * Marker position of a PineScript location. With location.absolute the shape sits on the price: a label pointing
497
+ * down above it, a label pointing up below it, the other shapes (and the characters) centred on it.
498
+ */
499
+ function markerPosition(location, shape) {
500
+ switch (location) {
501
+ case 'abovebar':
502
+ return 'aboveBar';
503
+ case 'belowbar':
504
+ return 'belowBar';
505
+ case 'top':
506
+ return 'top';
507
+ case 'bottom':
508
+ return 'bottom';
509
+ case 'absolute':
510
+ return shape === 'labeldown' ? 'atPriceTop' : shape === 'labelup' ? 'atPriceBottom' : 'atPriceMiddle';
511
+ }
512
+ }
513
+ /** Default colour of plotshape / plotchar markers. */
514
+ const MARKER_COLOR = '#2962FF';
470
515
  /** Shared emitter for plotshape()/plotchar(). Emits one marker per bar where
471
- * the condition is truthy (not na, not 0). */
516
+ * the condition is truthy (not na, not 0). A plotchar marker has the shape 'circle' and its character in `char`. */
472
517
  function emitMarkers(kind, condition, title, options) {
473
518
  const c = collector();
474
519
  const id = `${kind}${c.shapeConfig.filter((s) => s.kind === kind).length}`;
@@ -489,6 +534,25 @@ function emitMarkers(kind, condition, title, options) {
489
534
  offset: options.offset,
490
535
  forceOverlay: options.force_overlay,
491
536
  });
537
+ const shapeStyle = kind === 'shape' ? style : undefined;
538
+ const template = {
539
+ position: markerPosition(location, shapeStyle),
540
+ shape: shapeStyle ? MARKER_SHAPES[shapeStyle] : 'circle',
541
+ color: options.color ?? MARKER_COLOR,
542
+ id,
543
+ };
544
+ if (char !== undefined)
545
+ template.char = char;
546
+ if (options.text !== undefined)
547
+ template.text = options.text;
548
+ if (options.textcolor !== undefined)
549
+ template.textColor = options.textcolor;
550
+ if (options.size !== undefined)
551
+ template.size = options.size;
552
+ if (options.tooltip !== undefined)
553
+ template.tooltip = options.tooltip;
554
+ if (options.force_overlay)
555
+ template.forceOverlay = true;
492
556
  const values = condition.toArray();
493
557
  const b = bars();
494
558
  const off = options.offset ?? 0;
@@ -499,19 +563,8 @@ function emitMarkers(kind, condition, title, options) {
499
563
  const j = i + off;
500
564
  if (j < 0 || j >= b.length)
501
565
  continue;
502
- c.markers.push({
503
- time: b[j].time,
504
- id,
505
- location,
506
- style,
507
- char,
508
- color: options.color,
509
- text: options.text,
510
- textcolor: options.textcolor,
511
- size: options.size,
512
- tooltip: options.tooltip,
513
- price: location === 'absolute' ? v : undefined,
514
- });
566
+ const time = b[j].time;
567
+ c.markers.push(location === 'absolute' ? { time, ...template, price: v } : { time, ...template });
515
568
  }
516
569
  }
517
570
  /** PineScript `plotshape()` — a marker on each bar where the condition holds. */
@@ -569,7 +622,8 @@ function emitBarColors(kind, colors, options) {
569
622
  c.barColorConfig.push({ id, kind, title: options.title, offset: options.offset, forceOverlay: options.force_overlay });
570
623
  const b = bars();
571
624
  const off = options.offset ?? 0;
572
- const target = kind === 'bgcolor' ? c.bgcolors : c.barcolors;
625
+ const target = kind === 'bgcolor' ? c.bgColors : c.barColors;
626
+ const forceOverlay = kind === 'bgcolor' && options.force_overlay === true;
573
627
  for (let i = 0; i < b.length; i++) {
574
628
  const col = typeof colors === 'string' ? colors : colors[i];
575
629
  if (!col)
@@ -577,7 +631,7 @@ function emitBarColors(kind, colors, options) {
577
631
  const j = i + off;
578
632
  if (j < 0 || j >= b.length)
579
633
  continue;
580
- target.push({ time: b[j].time, color: col });
634
+ target.push(forceOverlay ? { time: b[j].time, color: col, forceOverlay } : { time: b[j].time, color: col });
581
635
  }
582
636
  }
583
637
  /**
@@ -591,6 +645,87 @@ export function bgcolor(colors, options = {}) {
591
645
  export function barcolor(colors, options = {}) {
592
646
  emitBarColors('barcolor', colors, options);
593
647
  }
648
+ /** Colour of bar i: undefined when the argument is not given, 'transparent' for an na entry. */
649
+ function candleColor(col, i) {
650
+ if (col === undefined)
651
+ return undefined;
652
+ if (typeof col === 'string')
653
+ return col;
654
+ return col[i] ?? 'transparent';
655
+ }
656
+ /** The bars where open, high, low and close are all not na (PineScript draws no candle / bar otherwise). */
657
+ function ohlcRows(o, h, l, cl) {
658
+ const [ov, hv, lv, cv] = [o.toArray(), h.toArray(), l.toArray(), cl.toArray()];
659
+ const rows = [];
660
+ for (let i = 0; i < bars().length; i++) {
661
+ const [open, high, low, close] = [ov[i], hv[i], lv[i], cv[i]];
662
+ if (Number.isFinite(open) && Number.isFinite(high) && Number.isFinite(low) && Number.isFinite(close)) {
663
+ rows.push({ i, open, high, low, close });
664
+ }
665
+ }
666
+ return rows;
667
+ }
668
+ const staticColor = (col) => (typeof col === 'string' ? col : undefined);
669
+ /**
670
+ * PineScript `plotcandle(open, high, low, close, title?, { color, wickcolor, bordercolor, display, force_overlay })`:
671
+ * candles in `result.plotCandles[id]`, the declaration in `candleConfig`. A bar with an na value has no candle.
672
+ */
673
+ export function plotcandle(open, high, low, close, title, options = {}) {
674
+ const c = collector();
675
+ const id = `plotcandle${c.candleConfig.filter((x) => x.kind === 'candle').length}`;
676
+ c.candleConfig.push({
677
+ id,
678
+ kind: 'candle',
679
+ title,
680
+ color: staticColor(options.color),
681
+ wickColor: staticColor(options.wickcolor),
682
+ borderColor: staticColor(options.bordercolor),
683
+ display: options.display,
684
+ forceOverlay: options.force_overlay,
685
+ });
686
+ const b = bars();
687
+ c.plotCandles[id] = ohlcRows(open, high, low, close).map(({ i, ...ohlc }) => {
688
+ const candle = { time: b[i].time, ...ohlc };
689
+ const color = candleColor(options.color, i);
690
+ const wickColor = candleColor(options.wickcolor, i);
691
+ const borderColor = candleColor(options.bordercolor, i);
692
+ if (color !== undefined)
693
+ candle.color = color;
694
+ if (wickColor !== undefined)
695
+ candle.wickColor = wickColor;
696
+ if (borderColor !== undefined)
697
+ candle.borderColor = borderColor;
698
+ if (options.force_overlay)
699
+ candle.forceOverlay = true;
700
+ return candle;
701
+ });
702
+ }
703
+ /**
704
+ * PineScript `plotbar(open, high, low, close, title?, { color, display, force_overlay })`: OHLC bars in
705
+ * `result.plotBars[id]`, the declaration in `candleConfig`. A bar with an na value is not drawn.
706
+ */
707
+ export function plotbar(open, high, low, close, title, options = {}) {
708
+ const c = collector();
709
+ const id = `plotbar${c.candleConfig.filter((x) => x.kind === 'bar').length}`;
710
+ c.candleConfig.push({
711
+ id,
712
+ kind: 'bar',
713
+ title,
714
+ color: staticColor(options.color),
715
+ display: options.display,
716
+ forceOverlay: options.force_overlay,
717
+ });
718
+ const b = bars();
719
+ c.plotBars[id] = ohlcRows(open, high, low, close).map(({ i, ...ohlc }) => {
720
+ const bar = { time: b[i].time, ...ohlc };
721
+ const color = candleColor(options.color, i);
722
+ if (color !== undefined)
723
+ bar.color = color;
724
+ if (options.force_overlay)
725
+ bar.forceOverlay = true;
726
+ return bar;
727
+ });
728
+ }
594
729
  /**
595
730
  * Runs the callback once per bar, in order, and collects the returned values
596
731
  * into a Series. This is the escape hatch for PineScript logic the vectorized
@@ -1289,7 +1424,18 @@ export const polyline = {
1289
1424
  return polylineCore.all();
1290
1425
  },
1291
1426
  };
1292
- /** PineScript `text.format_*` constants. */
1427
+ /**
1428
+ * PineScript `table.*`; `table.all` lists the live tables in creation order. The live tables go to `result.tables`.
1429
+ */
1430
+ export const table = {
1431
+ ...tableCore,
1432
+ get all() {
1433
+ return tableCore.all();
1434
+ },
1435
+ };
1436
+ /** PineScript `position.*` constants (table positions). */
1437
+ export { position };
1438
+ /** PineScript `text.format_*`, `text.align_*` and `text.wrap_*` constants. */
1293
1439
  export const text = { ...textCore };
1294
1440
  /**
1295
1441
  * PineScript `chart.point.*`. `chart.point.now(price?)` is the point of the current bar
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/script/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/script/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Table namespace
3
+ * Functions for creating and filling table drawing objects.
4
+ *
5
+ * @remarks
6
+ * A table is drawn at a fixed position of the pane (`position.*`), not at a bar. Tables have no getters in
7
+ * PineScript; the script API returns the live tables in `result.tables`.
8
+ *
9
+ * PineScript rules:
10
+ * - `table.cell` defines a cell: the arguments it does not give get their default, a previous definition of the
11
+ * cell is replaced
12
+ * - `table.cell_set_*` changes one property of a cell (a cell that was not defined is created)
13
+ * - a column or row outside the table is a runtime error
14
+ * - a deleted table is `na`: its functions do nothing
15
+ *
16
+ * @version 6
17
+ */
18
+ import type { Table, color } from '../types/index.js';
19
+ type TablePosition = Table['position'];
20
+ type HAlign = 'left' | 'center' | 'right';
21
+ type VAlign = 'top' | 'center' | 'bottom';
22
+ type FontFamily = 'default' | 'monospace';
23
+ /**
24
+ * Creates a new table (PineScript `table.new`).
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * const t = table.new(position.top_right, 2, 3, '#131722', '#787B86', 1);
29
+ * table.cell(t, 0, 0, 'RSI', 0, 0, '#FFFFFF');
30
+ * ```
31
+ */
32
+ export declare function new_table(position: TablePosition, columns: number, rows: number, bgcolor?: color, frame_color?: color, frame_width?: number, border_color?: color, border_width?: number, force_overlay?: boolean): Table;
33
+ /**
34
+ * Defines a cell (PineScript `table.cell`): its text and properties. Omitted properties get their default.
35
+ */
36
+ export declare function cell(table_id: Table, column: number, row: number, text?: string, width?: number, height?: number, text_color?: color, text_halign?: HAlign, text_valign?: VAlign, text_size?: string | number, bgcolor?: color, tooltip?: string, text_font_family?: FontFamily, text_formatting?: number): void;
37
+ /** Sets the text of a cell. */
38
+ export declare const cell_set_text: (table_id: Table, column: number, row: number, value: string | undefined) => void;
39
+ /** Sets the width of a cell (% of the chart width; 0 fits the text). */
40
+ export declare const cell_set_width: (table_id: Table, column: number, row: number, value: number | undefined) => void;
41
+ /** Sets the height of a cell (% of the chart height; 0 fits the text). */
42
+ export declare const cell_set_height: (table_id: Table, column: number, row: number, value: number | undefined) => void;
43
+ /** Sets the text colour of a cell. */
44
+ export declare const cell_set_text_color: (table_id: Table, column: number, row: number, value: color | undefined) => void;
45
+ /** Sets the horizontal text alignment of a cell. */
46
+ export declare const cell_set_text_halign: (table_id: Table, column: number, row: number, value: "left" | "right" | "center" | undefined) => void;
47
+ /** Sets the vertical text alignment of a cell. */
48
+ export declare const cell_set_text_valign: (table_id: Table, column: number, row: number, value: "center" | "top" | "bottom" | undefined) => void;
49
+ /** Sets the text size of a cell. */
50
+ export declare const cell_set_text_size: (table_id: Table, column: number, row: number, value: string | number | undefined) => void;
51
+ /** Sets the background colour of a cell. */
52
+ export declare const cell_set_bgcolor: (table_id: Table, column: number, row: number, value: color | undefined) => void;
53
+ /** Sets the tooltip of a cell. */
54
+ export declare const cell_set_tooltip: (table_id: Table, column: number, row: number, value: string | undefined) => void;
55
+ /** Sets the font family of a cell. */
56
+ export declare const cell_set_text_font_family: (table_id: Table, column: number, row: number, value: "default" | "monospace" | undefined) => void;
57
+ /** Sets the text formatting of a cell (`text.format_*` flags). */
58
+ export declare const cell_set_text_formatting: (table_id: Table, column: number, row: number, value: number | undefined) => void;
59
+ /**
60
+ * Merges the cells from start_column / start_row to end_column / end_row (PineScript `table.merge_cells`). The
61
+ * merged cell shows the content of the start cell.
62
+ */
63
+ export declare function merge_cells(table_id: Table, start_column: number, start_row: number, end_column: number, end_row: number): void;
64
+ /**
65
+ * Removes the cells from start_column / start_row to end_column / end_row (PineScript `table.clear`; default end:
66
+ * the start cell), and the merges that start in that range.
67
+ */
68
+ export declare function clear(table_id: Table, start_column: number, start_row: number, end_column?: number, end_row?: number): void;
69
+ /** Moves the table to another position (`position.*`). */
70
+ export declare const set_position: (table_id: Table, value: "top_left" | "top_center" | "top_right" | "middle_left" | "middle_center" | "middle_right" | "bottom_left" | "bottom_center" | "bottom_right") => void;
71
+ /** Sets the background colour of the table. */
72
+ export declare const set_bgcolor: (table_id: Table, value: color | undefined) => void;
73
+ /** Sets the colour of the outer frame. */
74
+ export declare const set_frame_color: (table_id: Table, value: color | undefined) => void;
75
+ /** Sets the width of the outer frame. */
76
+ export declare const set_frame_width: (table_id: Table, value: number | undefined) => void;
77
+ /** Sets the colour of the cell borders. */
78
+ export declare const set_border_color: (table_id: Table, value: color | undefined) => void;
79
+ /** Sets the width of the cell borders. */
80
+ export declare const set_border_width: (table_id: Table, value: number | undefined) => void;
81
+ /** Deletes the table (PineScript `table.delete`). */
82
+ export declare function delete_table(table_id: Table): void;
83
+ /** All live tables, in creation order (PineScript `table.all`). A new array. */
84
+ export declare function all(): Table[];
85
+ export { new_table as new };
86
+ export { delete_table as delete };
87
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/table/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAa,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAEjE,KAAK,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;AACvC,KAAK,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAC1C,KAAK,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAC1C,KAAK,UAAU,GAAG,SAAS,GAAG,WAAW,CAAC;AAE1C;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CACvB,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,KAAK,EACf,WAAW,CAAC,EAAE,KAAK,EACnB,WAAW,CAAC,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,KAAK,EACpB,YAAY,CAAC,EAAE,MAAM,EACrB,aAAa,CAAC,EAAE,OAAO,GACtB,KAAK,CAcP;AAqBD;;GAEG;AACH,wBAAgB,IAAI,CAClB,QAAQ,EAAE,KAAK,EACf,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,KAAK,EAClB,WAAW,CAAC,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAC3B,OAAO,CAAC,EAAE,KAAK,EACf,OAAO,CAAC,EAAE,MAAM,EAChB,gBAAgB,CAAC,EAAE,UAAU,EAC7B,eAAe,CAAC,EAAE,MAAM,GACvB,IAAI,CAgBN;AASD,+BAA+B;AAC/B,eAAO,MAAM,aAAa,aAPN,KAAK,UAAU,MAAM,OAAO,MAAM,gCAAwB,IAOjB,CAAC;AAC9D,wEAAwE;AACxE,eAAO,MAAM,cAAc,aATP,KAAK,UAAU,MAAM,OAAO,MAAM,gCAAwB,IASd,CAAC;AACjE,0EAA0E;AAC1E,eAAO,MAAM,eAAe,aAXR,KAAK,UAAU,MAAM,OAAO,MAAM,gCAAwB,IAWX,CAAC;AACpE,sCAAsC;AACtC,eAAO,MAAM,mBAAmB,aAbZ,KAAK,UAAU,MAAM,OAAO,MAAM,+BAAwB,IAaC,CAAC;AAChF,oDAAoD;AACpD,eAAO,MAAM,oBAAoB,aAfb,KAAK,UAAU,MAAM,OAAO,MAAM,qDAAwB,IAeI,CAAC;AACnF,kDAAkD;AAClD,eAAO,MAAM,oBAAoB,aAjBb,KAAK,UAAU,MAAM,OAAO,MAAM,qDAAwB,IAiBI,CAAC;AACnF,oCAAoC;AACpC,eAAO,MAAM,kBAAkB,aAnBX,KAAK,UAAU,MAAM,OAAO,MAAM,yCAAwB,IAmBF,CAAC;AAC7E,4CAA4C;AAC5C,eAAO,MAAM,gBAAgB,aArBT,KAAK,UAAU,MAAM,OAAO,MAAM,+BAAwB,IAqBR,CAAC;AACvE,kCAAkC;AAClC,eAAO,MAAM,gBAAgB,aAvBT,KAAK,UAAU,MAAM,OAAO,MAAM,gCAAwB,IAuBR,CAAC;AACvE,sCAAsC;AACtC,eAAO,MAAM,yBAAyB,aAzBlB,KAAK,UAAU,MAAM,OAAO,MAAM,iDAAwB,IAyBmB,CAAC;AAClG,kEAAkE;AAClE,eAAO,MAAM,wBAAwB,aA3BjB,KAAK,UAAU,MAAM,OAAO,MAAM,gCAAwB,IA2BgB,CAAC;AAE/F;;;GAGG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,KAAK,EACf,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GACd,IAAI,CAQN;AAED;;;GAGG;AACH,wBAAgB,KAAK,CACnB,QAAQ,EAAE,KAAK,EACf,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,UAAU,GAAE,MAAqB,EACjC,OAAO,GAAE,MAAkB,GAC1B,IAAI,CAUN;AASD,0DAA0D;AAC1D,eAAO,MAAM,YAAY,aAPL,KAAK,2JAAoB,IAOG,CAAC;AACjD,+CAA+C;AAC/C,eAAO,MAAM,WAAW,aATJ,KAAK,+BAAoB,IASC,CAAC;AAC/C,0CAA0C;AAC1C,eAAO,MAAM,eAAe,aAXR,KAAK,+BAAoB,IAWS,CAAC;AACvD,yCAAyC;AACzC,eAAO,MAAM,eAAe,aAbR,KAAK,gCAAoB,IAaS,CAAC;AACvD,2CAA2C;AAC3C,eAAO,MAAM,gBAAgB,aAfT,KAAK,+BAAoB,IAeW,CAAC;AACzD,0CAA0C;AAC1C,eAAO,MAAM,gBAAgB,aAjBT,KAAK,gCAAoB,IAiBW,CAAC;AAEzD,qDAAqD;AACrD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,KAAK,GAAG,IAAI,CAElD;AAED,gFAAgF;AAChF,wBAAgB,GAAG,IAAI,KAAK,EAAE,CAE7B;AAGD,OAAO,EAAE,SAAS,IAAI,GAAG,EAAE,CAAC;AAC5B,OAAO,EAAE,YAAY,IAAI,MAAM,EAAE,CAAC"}