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
@@ -207,43 +207,70 @@ export interface FillGradient {
207
207
  bottomColor: Array<string | null>;
208
208
  }
209
209
  /**
210
- * Marker location on the chart (PineScript plotshape/plotchar locations)
210
+ * Marker location on the chart (PineScript plotshape/plotchar `location.*`)
211
211
  */
212
212
  export type MarkerLocation = 'abovebar' | 'belowbar' | 'top' | 'bottom' | 'absolute';
213
+ /**
214
+ * PineScript size constant (`size.auto`, `size.tiny`, ...)
215
+ */
216
+ export type PineSize = 'auto' | 'tiny' | 'small' | 'normal' | 'large' | 'huge';
213
217
  /**
214
218
  * Marker size (PineScript size.* constants)
215
219
  */
216
- export type MarkerSize = 'auto' | 'tiny' | 'small' | 'normal' | 'large' | 'huge';
220
+ export type MarkerSize = PineSize;
217
221
  /**
218
222
  * Shape style (PineScript shape.* constants)
219
223
  */
220
224
  export type ShapeStyle = 'xcross' | 'cross' | 'triangleup' | 'triangledown' | 'flag' | 'circle' | 'arrowup' | 'arrowdown' | 'labelup' | 'labeldown' | 'square' | 'diamond';
221
225
  /**
222
- * One marker emitted by plotshape()/plotchar() on a bar where the condition held
226
+ * Position of a marker:
227
+ * - aboveBar / belowBar / inBar: next to the bar (PineScript location.abovebar / location.belowbar)
228
+ * - atPriceTop / atPriceBottom / atPriceMiddle: at `price` (PineScript location.absolute), with the meaning of the
229
+ * lightweight-charts price positions: atPriceTop has the shape above the price, its bottom (the tip of a label) on
230
+ * the price (shape.labeldown); atPriceBottom has the shape below the price, its top on the price (shape.labelup);
231
+ * atPriceMiddle centres the shape on the price (other shapes)
232
+ * - top / bottom: at the top / bottom edge of the pane of the indicator (PineScript location.top / location.bottom),
233
+ * the price pane for an overlay indicator or with forceOverlay
234
+ */
235
+ export type MarkerPosition = 'aboveBar' | 'belowBar' | 'inBar' | 'atPriceTop' | 'atPriceBottom' | 'atPriceMiddle' | 'top' | 'bottom';
236
+ /**
237
+ * Marker shape (PineScript shape.* in the lightweight-charts spelling)
238
+ */
239
+ export type MarkerShape = 'arrowUp' | 'arrowDown' | 'circle' | 'square' | 'labelUp' | 'labelDown' | 'triangleUp' | 'triangleDown' | 'cross' | 'xcross' | 'diamond' | 'flag';
240
+ /**
241
+ * One marker: a plotshape()/plotchar() marker on a bar where the condition held, or a marker of a built-in indicator
223
242
  */
224
243
  export interface MarkerData {
225
244
  /** Time of the bar the marker is displayed on (offset already applied) */
226
- time: any;
227
- /** Id of the plotshape/plotchar declaration that produced it */
228
- id: string;
229
- /** Marker location relative to the bar */
230
- location: MarkerLocation;
231
- /** Shape style, or 'char' for plotchar markers */
232
- style: ShapeStyle | 'char';
233
- /** Character (plotchar only) */
234
- char?: string;
235
- /** Marker color */
236
- color?: string;
237
- /** Text shown near the marker */
245
+ time: number;
246
+ /** Where the marker is drawn */
247
+ position: MarkerPosition;
248
+ /** Price of the atPrice* positions (required with them) */
249
+ price?: number;
250
+ /** Shape. A plotchar marker also has `char`: the character is drawn in place of the shape */
251
+ shape: MarkerShape;
252
+ /**
253
+ * Shape colour (the character colour of a plotchar marker). A fully transparent colour ('transparent',
254
+ * '#rrggbb00', 'rgba(r, g, b, 0)') draws no shape, as PineScript `color = na`; the text is still drawn
255
+ */
256
+ color: string;
257
+ /** Text; a line feed starts a new line */
238
258
  text?: string;
239
- /** Text color */
240
- textcolor?: string;
241
- /** Marker size */
242
- size?: MarkerSize;
243
- /** Hover tooltip (extension over PineScript plotshape, used by label.new ports) */
259
+ /**
260
+ * Text colour (PineScript textcolor). When omitted: white inside label shapes (labelUp / labelDown), the shape
261
+ * colour for the other shapes
262
+ */
263
+ textColor?: string;
264
+ /** Size multiplier (1 = default size) or a PineScript size */
265
+ size?: number | PineSize;
266
+ /** PineScript force_overlay = true: the marker of a non-overlay indicator is drawn on the price pane */
267
+ forceOverlay?: boolean;
268
+ /** Id of the plotshape/plotchar declaration that produced it (script markers) */
269
+ id?: string;
270
+ /** plotchar character, drawn in place of the shape */
271
+ char?: string;
272
+ /** Hover tooltip */
244
273
  tooltip?: string;
245
- /** Price for location 'absolute' (the series value on that bar) */
246
- price?: number;
247
274
  }
248
275
  /**
249
276
  * Per-bar arrow from plotarrow(): up arrow for a positive value, down arrow for a negative value
@@ -259,14 +286,203 @@ export interface ArrowData {
259
286
  color: string;
260
287
  }
261
288
  /**
262
- * Per-bar color for bgcolor()/barcolor() output
289
+ * Per-bar candle color (barcolor() output)
263
290
  */
264
291
  export interface BarColorData {
265
292
  /** Time of the colored bar (offset already applied) */
266
- time: any;
293
+ time: number;
267
294
  /** Color */
268
295
  color: string;
269
296
  }
297
+ /**
298
+ * Per-bar background color (bgcolor() output)
299
+ */
300
+ export interface BgColorData {
301
+ /** Time of the colored bar (offset already applied) */
302
+ time: number;
303
+ /** Color (with its transparency) */
304
+ color: string;
305
+ /** PineScript bgcolor(..., force_overlay = true): drawn on the price pane even for a non-overlay indicator */
306
+ forceOverlay?: boolean;
307
+ }
308
+ /**
309
+ * One candle of plotcandle() (or of a built-in indicator that draws candles)
310
+ */
311
+ export interface PlotCandleData {
312
+ time: number;
313
+ open: number;
314
+ high: number;
315
+ low: number;
316
+ close: number;
317
+ /** Body colour */
318
+ color?: string;
319
+ borderColor?: string;
320
+ wickColor?: string;
321
+ /** PineScript force_overlay = true: the candles of a non-overlay indicator are drawn on the price pane */
322
+ forceOverlay?: boolean;
323
+ }
324
+ /**
325
+ * One bar of plotbar(): an OHLC bar (a vertical line from low to high, the open tick on the left, the close tick on
326
+ * the right)
327
+ */
328
+ export interface PlotBarData {
329
+ time: number;
330
+ open: number;
331
+ high: number;
332
+ low: number;
333
+ close: number;
334
+ color?: string;
335
+ /** PineScript force_overlay = true: the bars of a non-overlay indicator are drawn on the price pane */
336
+ forceOverlay?: boolean;
337
+ }
338
+ /** PineScript label style (`label.style_*` without the prefix) */
339
+ export type LabelStyle = 'none' | 'xcross' | 'cross' | 'triangleup' | 'triangledown' | 'flag' | 'circle' | 'arrowup' | 'arrowdown' | 'label_up' | 'label_down' | 'label_left' | 'label_right' | 'label_lower_left' | 'label_lower_right' | 'label_upper_left' | 'label_upper_right' | 'label_center' | 'square' | 'diamond' | 'text_outline';
340
+ /**
341
+ * A label (PineScript label.new)
342
+ */
343
+ export interface LabelData {
344
+ time: number;
345
+ /** Price; not used with yloc 'abovebar' / 'belowbar' */
346
+ price: number;
347
+ text: string;
348
+ /** Background, border and arrow colour */
349
+ color?: string;
350
+ textColor?: string;
351
+ /** 'none': text only, no background (PineScript label.style_none) */
352
+ style?: LabelStyle;
353
+ size?: PineSize | number;
354
+ /**
355
+ * PineScript yloc: 'price' (default) places the label at `price`; 'abovebar' / 'belowbar' place it above the bar
356
+ * high / below the bar low and ignore `price` (the renderer reads the bar at `time`).
357
+ */
358
+ yloc?: 'price' | 'abovebar' | 'belowbar';
359
+ textAlign?: 'left' | 'center' | 'right';
360
+ tooltip?: string;
361
+ fontFamily?: 'default' | 'monospace';
362
+ /** PineScript text.format_* flags: 0 none, 1 bold, 2 italic, 3 bold + italic */
363
+ textFormatting?: number;
364
+ /** PineScript force_overlay = true: the label of a non-overlay indicator is drawn on the price pane */
365
+ forceOverlay?: boolean;
366
+ }
367
+ /**
368
+ * A line (PineScript line.new)
369
+ */
370
+ export interface LineDrawingData {
371
+ time1: number;
372
+ price1: number;
373
+ time2: number;
374
+ price2: number;
375
+ color?: string;
376
+ width?: number;
377
+ style?: 'solid' | 'dashed' | 'dotted' | 'arrow_left' | 'arrow_right' | 'arrow_both';
378
+ extend?: 'none' | 'left' | 'right' | 'both';
379
+ /** PineScript force_overlay = true: the line of a non-overlay indicator is drawn on the price pane */
380
+ forceOverlay?: boolean;
381
+ }
382
+ /**
383
+ * A rectangle (PineScript box.new): time1 / price1 are the left / top, time2 / price2 the right / bottom
384
+ */
385
+ export interface BoxData {
386
+ time1: number;
387
+ price1: number;
388
+ time2: number;
389
+ price2: number;
390
+ bgColor?: string;
391
+ borderColor?: string;
392
+ borderWidth?: number;
393
+ borderStyle?: 'solid' | 'dashed' | 'dotted';
394
+ text?: string;
395
+ textColor?: string;
396
+ textSize?: PineSize | number;
397
+ textHAlign?: 'left' | 'center' | 'right';
398
+ textVAlign?: 'top' | 'center' | 'bottom';
399
+ textWrap?: 'none' | 'auto';
400
+ fontFamily?: 'default' | 'monospace';
401
+ /** PineScript text.format_* flags: 0 none, 1 bold, 2 italic, 3 bold + italic */
402
+ textFormatting?: number;
403
+ /** PineScript box extend: the box continues to the left / right edge of the chart */
404
+ extend?: 'none' | 'left' | 'right' | 'both';
405
+ /** PineScript force_overlay = true: the box of a non-overlay indicator is drawn on the price pane */
406
+ forceOverlay?: boolean;
407
+ }
408
+ /**
409
+ * The area between two lines (PineScript linefill.new), with the two lines as drawn (their extend included)
410
+ */
411
+ export interface LinefillData {
412
+ line1: LineDrawingData;
413
+ line2: LineDrawingData;
414
+ color?: string;
415
+ }
416
+ /**
417
+ * A polyline (PineScript polyline.new)
418
+ */
419
+ export interface PolylineData {
420
+ points: Array<{
421
+ time: number;
422
+ price: number;
423
+ }>;
424
+ /** Curved segments between the points */
425
+ curved?: boolean;
426
+ /** The last point is connected to the first */
427
+ closed?: boolean;
428
+ lineColor?: string;
429
+ /** Fill of the area inside the polyline */
430
+ fillColor?: string;
431
+ lineStyle?: 'solid' | 'dotted' | 'dashed' | 'arrow_left' | 'arrow_right' | 'arrow_both';
432
+ lineWidth?: number;
433
+ /** PineScript force_overlay = true: the polyline of a non-overlay indicator is drawn on the price pane */
434
+ forceOverlay?: boolean;
435
+ }
436
+ /** Table position (PineScript position.*) */
437
+ export type TablePosition = 'top_left' | 'top_center' | 'top_right' | 'middle_left' | 'middle_center' | 'middle_right' | 'bottom_left' | 'bottom_center' | 'bottom_right';
438
+ /**
439
+ * A table cell (PineScript table.cell)
440
+ */
441
+ export interface TableCellData {
442
+ row: number;
443
+ column: number;
444
+ text: string;
445
+ bgColor?: string;
446
+ textColor?: string;
447
+ textSize?: PineSize | number;
448
+ /** Width in % of the chart width; 0 fits the text */
449
+ width?: number;
450
+ /** Height in % of the chart height; 0 fits the text */
451
+ height?: number;
452
+ textHAlign?: 'left' | 'center' | 'right';
453
+ textVAlign?: 'top' | 'center' | 'bottom';
454
+ tooltip?: string;
455
+ fontFamily?: 'default' | 'monospace';
456
+ /** PineScript text.format_* flags: 0 none, 1 bold, 2 italic, 3 bold + italic */
457
+ textFormatting?: number;
458
+ }
459
+ /**
460
+ * Merged cells of a table (PineScript table.merge_cells): the cell at the start column / row covers the range and
461
+ * gives its content
462
+ */
463
+ export interface TableMergeData {
464
+ startColumn: number;
465
+ startRow: number;
466
+ endColumn: number;
467
+ endRow: number;
468
+ }
469
+ /**
470
+ * A table (PineScript table.new)
471
+ */
472
+ export interface TableData {
473
+ position: TablePosition;
474
+ columns: number;
475
+ rows: number;
476
+ cells: TableCellData[];
477
+ merges?: TableMergeData[];
478
+ bgColor?: string;
479
+ frameColor?: string;
480
+ frameWidth?: number;
481
+ borderColor?: string;
482
+ borderWidth?: number;
483
+ /** PineScript force_overlay = true: the table of a non-overlay indicator is drawn on the price pane */
484
+ forceOverlay?: boolean;
485
+ }
270
486
  /**
271
487
  * Complete indicator calculation result
272
488
  */
@@ -284,9 +500,25 @@ export interface IndicatorResult {
284
500
  /** Arrows from plotarrow() */
285
501
  arrows?: ArrowData[];
286
502
  /** Background colors from bgcolor() */
287
- bgcolors?: BarColorData[];
503
+ bgColors?: BgColorData[];
288
504
  /** Bar colors from barcolor() */
289
- barcolors?: BarColorData[];
505
+ barColors?: BarColorData[];
506
+ /** Candles from plotcandle(), keyed by plotcandle id */
507
+ plotCandles?: Record<string, PlotCandleData[]>;
508
+ /** OHLC bars from plotbar(), keyed by plotbar id */
509
+ plotBars?: Record<string, PlotBarData[]>;
510
+ /** Labels alive after the last bar */
511
+ labels?: LabelData[];
512
+ /** Lines alive after the last bar */
513
+ lines?: LineDrawingData[];
514
+ /** Boxes alive after the last bar */
515
+ boxes?: BoxData[];
516
+ /** Linefills alive after the last bar */
517
+ linefills?: LinefillData[];
518
+ /** Polylines alive after the last bar */
519
+ polylines?: PolylineData[];
520
+ /** Tables alive after the last bar */
521
+ tables?: TableData[];
290
522
  }
291
523
  /**
292
524
  * Indicator factory function type
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../src/types/metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../src/types/metadata.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oakscriptjs",
3
- "version": "0.9.6",
3
+ "version": "0.10.0",
4
4
  "type": "module",
5
5
  "description": "PineScript v6 compatible technical analysis library for JavaScript/TypeScript",
6
6
  "main": "./dist/cjs/index.js",
@@ -3,7 +3,7 @@
3
3
  * Mirrors PineScript's array.* functions
4
4
  */
5
5
 
6
- import type { PineArray, int, float, bool, simple_int, color, Line, Box, Label, Linefill } from '../types/index.js';
6
+ import type { PineArray, int, float, bool, simple_int, color, Line, Box, Label, Linefill, Table } from '../types/index.js';
7
7
 
8
8
  /**
9
9
  * Creates a new array with initial size and default value
@@ -753,6 +753,17 @@ export function new_linefill(size: simple_int = 0, initial_value?: Linefill): Pi
753
753
  return new_array<Linefill>(size, initial_value);
754
754
  }
755
755
 
756
+ /**
757
+ * Creates a new array of tables (PineScript `array.new_table`).
758
+ *
759
+ * @param size - Initial size of array (default: 0)
760
+ * @param initial_value - Initial value for all elements (default: undefined)
761
+ * @returns New table array
762
+ */
763
+ export function new_table(size: simple_int = 0, initial_value?: Table): PineArray<Table> {
764
+ return new_array<Table>(size, initial_value);
765
+ }
766
+
756
767
  /**
757
768
  * Absolute value of array elements
758
769
  *
@@ -1241,25 +1252,3 @@ export function newtype<T>(size: simple_int = 0, initial_value?: T): PineArray<T
1241
1252
  return new_array<T>(size, initial_value);
1242
1253
  }
1243
1254
 
1244
- /**
1245
- * ⚠️ RENDERING FUNCTIONS NOT IMPLEMENTED
1246
- *
1247
- * The following array constructor functions are intentionally excluded
1248
- * because they create arrays for rendering objects, which are outside
1249
- * the scope of this calculation-focused library:
1250
- *
1251
- * - `new_box()` - Creates arrays of box drawing objects
1252
- * - `new_label()` - Creates arrays of label objects
1253
- * - `new_line()` - Creates arrays of line drawing objects
1254
- * - `new_linefill()` - Creates arrays of line fill objects
1255
- * - `new_table()` - Creates arrays of table layout objects
1256
- *
1257
- * **Design Constraint**: This library focuses on calculation and indicator
1258
- * functions only. Rendering, visualization, and UI functions require a
1259
- * rendering engine and are not included.
1260
- *
1261
- * If you need these functions, consider:
1262
- * 1. Using PineScript directly
1263
- * 2. Implementing a rendering layer separately
1264
- * 3. Using this library for calculations and another library for visualization
1265
- */
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Times of bars after the last bar.
3
+ *
4
+ * PineScript draws on future bars: `line.new(..., bar_index + 15, ...)`, box edges after the last bar,
5
+ * `plot(..., offset = k)`. These points get the time of the future bar: the last bar time plus k times the bar
6
+ * interval. The bar interval is the most frequent gap between two consecutive bars (1 day on daily bars even with
7
+ * weekends and holidays). A renderer that adds the same future bar slots to the chart draws a point at
8
+ * `barTime(bars, n - 1 + k)` k bars after the last bar.
9
+ *
10
+ * @module drawing/bar-time
11
+ */
12
+
13
+ /** Most frequent positive gap between consecutive bar times (in the unit of the bar times); 0 with fewer than 2 bars. */
14
+ export function barInterval(bars: ReadonlyArray<{ time: number }>): number {
15
+ const counts = new Map<number, number>();
16
+ let best = 0;
17
+ let bestCount = 0;
18
+ for (let i = 1; i < bars.length; i++) {
19
+ const d = bars[i]!.time - bars[i - 1]!.time;
20
+ if (!(d > 0)) continue;
21
+ const c = (counts.get(d) ?? 0) + 1;
22
+ counts.set(d, c);
23
+ // ties: the smaller gap
24
+ if (c > bestCount || (c === bestCount && d < best)) {
25
+ best = d;
26
+ bestCount = c;
27
+ }
28
+ }
29
+ return best;
30
+ }
31
+
32
+ /**
33
+ * Time of bar `index`: the bar time for 0 <= index < bars.length, the time of a future bar for
34
+ * index >= bars.length (last bar time + (index - last index) * barInterval(bars)). NaN for a negative or non-integer
35
+ * index, or no bar. `interval` can be passed to avoid recomputing it.
36
+ */
37
+ export function barTime(bars: ReadonlyArray<{ time: number }>, index: number, interval?: number): number {
38
+ const n = bars.length;
39
+ if (n === 0 || index < 0 || !Number.isInteger(index)) return NaN;
40
+ if (index < n) return bars[index]!.time;
41
+ return bars[n - 1]!.time + (index - (n - 1)) * (interval ?? barInterval(bars));
42
+ }