oakscriptjs 0.11.6 → 0.12.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 (63) hide show
  1. package/dist/cjs/drawing/registry.d.ts +2 -0
  2. package/dist/cjs/drawing/registry.d.ts.map +1 -1
  3. package/dist/cjs/drawing/registry.js +7 -0
  4. package/dist/cjs/drawing/registry.js.map +2 -2
  5. package/dist/cjs/index.d.ts +4 -3
  6. package/dist/cjs/index.d.ts.map +1 -1
  7. package/dist/cjs/index.js +6 -1
  8. package/dist/cjs/index.js.map +2 -2
  9. package/dist/cjs/runtime/inputs.d.ts.map +1 -1
  10. package/dist/cjs/runtime/inputs.js +6 -2
  11. package/dist/cjs/runtime/inputs.js.map +2 -2
  12. package/dist/cjs/runtime/types.d.ts +69 -0
  13. package/dist/cjs/runtime/types.d.ts.map +1 -1
  14. package/dist/cjs/runtime/types.js.map +1 -1
  15. package/dist/cjs/script/index.d.ts +24 -2
  16. package/dist/cjs/script/index.d.ts.map +1 -1
  17. package/dist/cjs/script/index.js +58 -21
  18. package/dist/cjs/script/index.js.map +2 -2
  19. package/dist/cjs/types/metadata.d.ts +8 -0
  20. package/dist/cjs/types/metadata.d.ts.map +1 -1
  21. package/dist/cjs/types/metadata.js.map +1 -1
  22. package/dist/cjs/utils/index.d.ts.map +1 -1
  23. package/dist/cjs/utils/index.js +13 -2
  24. package/dist/cjs/utils/index.js.map +2 -2
  25. package/dist/cjs/utils/source-resolver.d.ts +17 -0
  26. package/dist/cjs/utils/source-resolver.d.ts.map +1 -0
  27. package/dist/cjs/utils/source-resolver.js +45 -0
  28. package/dist/cjs/utils/source-resolver.js.map +7 -0
  29. package/dist/esm/drawing/registry.d.ts +2 -0
  30. package/dist/esm/drawing/registry.d.ts.map +1 -1
  31. package/dist/esm/drawing/registry.js +8 -0
  32. package/dist/esm/drawing/registry.js.map +1 -1
  33. package/dist/esm/index.d.ts +4 -3
  34. package/dist/esm/index.d.ts.map +1 -1
  35. package/dist/esm/index.js +3 -2
  36. package/dist/esm/index.js.map +1 -1
  37. package/dist/esm/runtime/inputs.d.ts.map +1 -1
  38. package/dist/esm/runtime/inputs.js +8 -2
  39. package/dist/esm/runtime/inputs.js.map +1 -1
  40. package/dist/esm/runtime/types.d.ts +69 -0
  41. package/dist/esm/runtime/types.d.ts.map +1 -1
  42. package/dist/esm/script/index.d.ts +24 -2
  43. package/dist/esm/script/index.d.ts.map +1 -1
  44. package/dist/esm/script/index.js +57 -15
  45. package/dist/esm/script/index.js.map +1 -1
  46. package/dist/esm/types/metadata.d.ts +8 -0
  47. package/dist/esm/types/metadata.d.ts.map +1 -1
  48. package/dist/esm/utils/index.d.ts.map +1 -1
  49. package/dist/esm/utils/index.js +18 -1
  50. package/dist/esm/utils/index.js.map +1 -1
  51. package/dist/esm/utils/source-resolver.d.ts +17 -0
  52. package/dist/esm/utils/source-resolver.d.ts.map +1 -0
  53. package/dist/esm/utils/source-resolver.js +24 -0
  54. package/dist/esm/utils/source-resolver.js.map +1 -0
  55. package/package.json +1 -1
  56. package/src/drawing/registry.ts +10 -0
  57. package/src/index.ts +6 -1
  58. package/src/runtime/inputs.ts +7 -2
  59. package/src/runtime/types.ts +65 -0
  60. package/src/script/index.ts +80 -21
  61. package/src/types/metadata.ts +8 -0
  62. package/src/utils/index.ts +15 -1
  63. package/src/utils/source-resolver.ts +29 -0
@@ -171,6 +171,8 @@ export interface PlotData {
171
171
  * Horizontal line data
172
172
  */
173
173
  export interface HLineData {
174
+ /** Id of the declaration that produced it (its config entry) */
175
+ id?: string;
174
176
  /** Y-axis value */
175
177
  value: number;
176
178
  /** Line options */
@@ -180,6 +182,8 @@ export interface HLineData {
180
182
  * Fill data (area between two plots)
181
183
  */
182
184
  export interface FillData {
185
+ /** Id of the declaration that produced it (its config entry) */
186
+ id?: string;
183
187
  /** First plot index or name */
184
188
  plot1: number | string;
185
189
  /** Second plot index or name */
@@ -289,6 +293,8 @@ export interface ArrowData {
289
293
  * Per-bar candle color (barcolor() output)
290
294
  */
291
295
  export interface BarColorData {
296
+ /** Id of the declaration that produced it (its config entry) */
297
+ id?: string;
292
298
  /** Time of the colored bar (offset already applied) */
293
299
  time: number;
294
300
  /** Color */
@@ -298,6 +304,8 @@ export interface BarColorData {
298
304
  * Per-bar background color (bgcolor() output)
299
305
  */
300
306
  export interface BgColorData {
307
+ /** Id of the declaration that produced it (its config entry) */
308
+ id?: string;
301
309
  /** Time of the colored bar (offset already applied) */
302
310
  time: number;
303
311
  /** Color (with its transparency) */
@@ -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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"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/types/metadata.ts"],
4
- "sourcesContent": ["/**\n * @fileoverview Type definitions for indicator metadata\n * These types define the structure of data returned by indicators\n * @module types/metadata\n */\n\n/**\n * Plot style options\n */\nexport type PlotStyle = 'line' | 'stepline' | 'histogram' | 'area' | 'circles' | 'columns' | 'cross' | 'areabr' | 'steplinebr' | 'linebr' | 'stepline_diamond';\n\n/**\n * Line style options\n */\nexport type LineStyle = 'solid' | 'dashed' | 'dotted';\n\n/**\n * Plot display options\n */\nexport type PlotDisplay = 'all' | 'none' | 'data_window' | 'status_line' | 'pane';\n\n/**\n * Options for a plot\n */\nexport interface PlotOptions {\n /** Plot title */\n title?: string;\n /** Plot color (hex string or named color) */\n color?: string;\n /** Line width */\n linewidth?: number;\n /** Plot style */\n style?: PlotStyle;\n /** Line style (PineScript `linestyle`); default solid. A constant or an input value, not per bar */\n linestyle?: LineStyle;\n /** Track price on price scale */\n trackprice?: boolean;\n /** Histogram base value */\n histbase?: number;\n /** Offset from current bar */\n offset?: number;\n /** Join gaps in data */\n join?: boolean;\n /** User can edit */\n editable?: boolean;\n /** Display mode */\n display?: PlotDisplay;\n /** Transparency (0-100) */\n transp?: number;\n /** Draw the plot on the main chart pane even when the indicator is not an overlay; default false */\n force_overlay?: boolean;\n}\n\n/**\n * Options for a horizontal line\n */\nexport interface HLineOptions {\n /** Line title */\n title?: string;\n /** Line color */\n color?: string;\n /** Line style (PineScript default: dashed) */\n linestyle?: LineStyle;\n /** Line width */\n linewidth?: number;\n /** User can edit */\n editable?: boolean;\n}\n\n/**\n * Options for a fill\n */\nexport interface FillOptions {\n /** Fill color */\n color?: string;\n /** Transparency (0-100) */\n transp?: number;\n /** Fill title */\n title?: string;\n /** User can edit */\n editable?: boolean;\n /** Fill gaps in data */\n fillgaps?: boolean;\n}\n\n/**\n * Input parameter type\n */\nexport type InputType = 'int' | 'float' | 'bool' | 'string' | 'source' | 'color' | 'timeframe' | 'session' | 'time' | 'symbol';\n\n/**\n * Input parameter metadata\n */\nexport interface InputMetadata {\n /** Input type */\n type: InputType;\n /** Internal name (snake_case) */\n name: string;\n /** Display title */\n title: string;\n /** Default value */\n defval: any;\n /** Minimum value (for numeric inputs) */\n minval?: number;\n /** Maximum value (for numeric inputs) */\n maxval?: number;\n /** Step size (for numeric inputs) */\n step?: number;\n /** Tooltip text */\n tooltip?: string;\n /** Inline group */\n inline?: string;\n /** Parameter group */\n group?: string;\n /** Options for dropdown (for string/source inputs) */\n options?: any[];\n /** Confirm before changing */\n confirm?: boolean;\n}\n\n/**\n * Plot metadata\n */\nexport interface PlotMetadata {\n /** Variable name for the plot */\n varName: string;\n /** Plot title */\n title: string;\n /** Plot color */\n color: string;\n /** Line width */\n linewidth: number;\n /** Plot style */\n style: PlotStyle;\n}\n\n/**\n * Indicator metadata\n */\nexport interface IndicatorMetadata {\n /** Indicator title */\n title: string;\n /** Short title */\n shorttitle?: string;\n /** Overlay on main chart */\n overlay: boolean;\n /** Number format precision */\n precision?: number;\n /** Number format */\n format?: string;\n /** Timeframe */\n timeframe?: string;\n /** Show gaps in timeframes */\n timeframe_gaps?: boolean;\n /** Input parameters */\n inputs?: InputMetadata[];\n /** Plots */\n plots?: PlotMetadata[];\n}\n\n/**\n * Time-value pair for charting\n */\nexport interface TimeValue {\n /** Time (timestamp or string) */\n time: any;\n /** Value */\n value: number;\n /** Per-bar color override */\n color?: string;\n}\n\n/**\n * Plot data with options\n */\nexport interface PlotData {\n /** Time-value pairs */\n data: TimeValue[];\n /** Plot options */\n options?: PlotOptions;\n}\n\n/**\n * Horizontal line data\n */\nexport interface HLineData {\n /** Y-axis value */\n value: number;\n /** Line options */\n options?: HLineOptions;\n}\n\n/**\n * Fill data (area between two plots)\n */\nexport interface FillData {\n /** First plot index or name */\n plot1: number | string;\n /** Second plot index or name */\n plot2: number | string;\n /** Fill options */\n options?: FillOptions;\n /** Per-bar fill colors (overrides static options.color) */\n colors?: string[];\n /** Gradient fill (PineScript `fill(p1, p2, top_value, bottom_value, top_color, bottom_color)`) */\n gradient?: FillGradient;\n}\n\n/**\n * Gradient of a fill, one entry per bar. PineScript rules: the colour\n * changes with the price, `topColor` at `topValue` and `bottomColor` at `bottomValue`; outside that range the end\n * colour is kept; each bar has its own gradient (the part from bar i-1 to bar i uses the values of bar i).\n */\nexport interface FillGradient {\n /** Price of `topColor`, per bar */\n topValue: number[];\n /** Price of `bottomColor`, per bar */\n bottomValue: number[];\n /** Colour at `topValue`, per bar (null: na) */\n topColor: Array<string | null>;\n /** Colour at `bottomValue`, per bar (null: na) */\n bottomColor: Array<string | null>;\n}\n\n/**\n * Marker location on the chart (PineScript plotshape/plotchar `location.*`)\n */\nexport type MarkerLocation = 'abovebar' | 'belowbar' | 'top' | 'bottom' | 'absolute';\n\n/**\n * PineScript size constant (`size.auto`, `size.tiny`, ...)\n */\nexport type PineSize = 'auto' | 'tiny' | 'small' | 'normal' | 'large' | 'huge';\n\n/**\n * Marker size (PineScript size.* constants)\n */\nexport type MarkerSize = PineSize;\n\n/**\n * Shape style (PineScript shape.* constants)\n */\nexport type ShapeStyle =\n | 'xcross'\n | 'cross'\n | 'triangleup'\n | 'triangledown'\n | 'flag'\n | 'circle'\n | 'arrowup'\n | 'arrowdown'\n | 'labelup'\n | 'labeldown'\n | 'square'\n | 'diamond';\n\n/**\n * Position of a marker:\n * - aboveBar / belowBar / inBar: next to the bar (PineScript location.abovebar / location.belowbar)\n * - atPriceTop / atPriceBottom / atPriceMiddle: at `price` (PineScript location.absolute), with the meaning of the\n * lightweight-charts price positions: atPriceTop has the shape above the price, its bottom (the tip of a label) on\n * the price (shape.labeldown); atPriceBottom has the shape below the price, its top on the price (shape.labelup);\n * atPriceMiddle centres the shape on the price (other shapes)\n * - top / bottom: at the top / bottom edge of the pane of the indicator (PineScript location.top / location.bottom),\n * the price pane for an overlay indicator or with forceOverlay\n */\nexport type MarkerPosition =\n | 'aboveBar'\n | 'belowBar'\n | 'inBar'\n | 'atPriceTop'\n | 'atPriceBottom'\n | 'atPriceMiddle'\n | 'top'\n | 'bottom';\n\n/**\n * Marker shape (PineScript shape.* in the lightweight-charts spelling)\n */\nexport type MarkerShape =\n | 'arrowUp'\n | 'arrowDown'\n | 'circle'\n | 'square'\n | 'labelUp'\n | 'labelDown'\n | 'triangleUp'\n | 'triangleDown'\n | 'cross'\n | 'xcross'\n | 'diamond'\n | 'flag';\n\n/**\n * One marker: a plotshape()/plotchar() marker on a bar where the condition held, or a marker of a built-in indicator\n */\nexport interface MarkerData {\n /** Time of the bar the marker is displayed on (offset already applied) */\n time: number;\n /** Where the marker is drawn */\n position: MarkerPosition;\n /** Price of the atPrice* positions (required with them) */\n price?: number;\n /** Shape. A plotchar marker also has `char`: the character is drawn in place of the shape */\n shape: MarkerShape;\n /**\n * Shape colour (the character colour of a plotchar marker). A fully transparent colour ('transparent',\n * '#rrggbb00', 'rgba(r, g, b, 0)') draws no shape, as PineScript `color = na`; the text is still drawn\n */\n color: string;\n /** Text; a line feed starts a new line */\n text?: string;\n /**\n * Text colour (PineScript textcolor). When omitted: white inside label shapes (labelUp / labelDown), the shape\n * colour for the other shapes\n */\n textColor?: string;\n /** Size multiplier (1 = default size) or a PineScript size */\n size?: number | PineSize;\n /** PineScript force_overlay = true: the marker of a non-overlay indicator is drawn on the price pane */\n forceOverlay?: boolean;\n /** Id of the plotshape/plotchar declaration that produced it (script markers) */\n id?: string;\n /** plotchar character, drawn in place of the shape */\n char?: string;\n /** Hover tooltip */\n tooltip?: string;\n}\n\n/**\n * Per-bar arrow from plotarrow(): up arrow for a positive value, down arrow for a negative value\n */\nexport interface ArrowData {\n /** Time of the bar the arrow is displayed on (offset already applied) */\n time: any;\n /** Id of the plotarrow declaration that produced it */\n id: string;\n /** Series value (non-zero): its sign gives the direction, its absolute value the height */\n value: number;\n /** Arrow color (colorup or colordown of that bar) */\n color: string;\n}\n\n/**\n * Per-bar candle color (barcolor() output)\n */\nexport interface BarColorData {\n /** Time of the colored bar (offset already applied) */\n time: number;\n /** Color */\n color: string;\n}\n\n/**\n * Per-bar background color (bgcolor() output)\n */\nexport interface BgColorData {\n /** Time of the colored bar (offset already applied) */\n time: number;\n /** Color (with its transparency) */\n color: string;\n /** PineScript bgcolor(..., force_overlay = true): drawn on the price pane even for a non-overlay indicator */\n forceOverlay?: boolean;\n}\n\n/**\n * One candle of plotcandle() (or of a built-in indicator that draws candles)\n */\nexport interface PlotCandleData {\n time: number;\n open: number;\n high: number;\n low: number;\n close: number;\n /** Body colour */\n color?: string;\n borderColor?: string;\n wickColor?: string;\n /** PineScript force_overlay = true: the candles of a non-overlay indicator are drawn on the price pane */\n forceOverlay?: boolean;\n}\n\n/**\n * One bar of plotbar(): an OHLC bar (a vertical line from low to high, the open tick on the left, the close tick on\n * the right)\n */\nexport interface PlotBarData {\n time: number;\n open: number;\n high: number;\n low: number;\n close: number;\n color?: string;\n /** PineScript force_overlay = true: the bars of a non-overlay indicator are drawn on the price pane */\n forceOverlay?: boolean;\n}\n\n/** PineScript label style (`label.style_*` without the prefix) */\nexport type LabelStyle =\n | 'none'\n | 'xcross'\n | 'cross'\n | 'triangleup'\n | 'triangledown'\n | 'flag'\n | 'circle'\n | 'arrowup'\n | 'arrowdown'\n | 'label_up'\n | 'label_down'\n | 'label_left'\n | 'label_right'\n | 'label_lower_left'\n | 'label_lower_right'\n | 'label_upper_left'\n | 'label_upper_right'\n | 'label_center'\n | 'square'\n | 'diamond'\n | 'text_outline';\n\n// Drawing outputs (labels, lines, boxes, linefills, polylines, tables). A field the script did not set is omitted and\n// the renderer uses the PineScript default; a colour set to na is 'transparent'. A point on a bar after the last bar\n// (PineScript bar_index + k) has the time of that future bar (see barTime). The same applies to markers and plots.\n\n/**\n * A label (PineScript label.new)\n */\nexport interface LabelData {\n time: number;\n /** 'bar_time': the x coordinates are times given by the script (xloc.bar_time). A time after the last bar is\n * drawn on the future bar that holds it, on the chart's calendar (trading sessions). Omitted: bar indexes (a\n * future bar index k bars after the last bar has the time lastTime + k * interval). */\n xloc?: 'bar_time';\n /** Price; not used with yloc 'abovebar' / 'belowbar' */\n price: number;\n text: string;\n /** Background, border and arrow colour. Omitted: #2962FF (color.blue; #2196F3 in a v4 script) */\n color?: string;\n /** Omitted: #FFFFFF in a v6 script, #363A45 in v4 and v5 (the result does not carry the version) */\n textColor?: string;\n /** 'none': text only, no background (PineScript label.style_none). Omitted: 'label_down' */\n style?: LabelStyle;\n /** Omitted: 'normal' */\n size?: PineSize | number;\n /**\n * PineScript yloc: 'price' (default) places the label at `price`; 'abovebar' / 'belowbar' place it above the bar\n * high / below the bar low and ignore `price` (the renderer reads the bar at `time`).\n */\n yloc?: 'price' | 'abovebar' | 'belowbar';\n /** Omitted: 'center' */\n textAlign?: 'left' | 'center' | 'right';\n tooltip?: string;\n fontFamily?: 'default' | 'monospace';\n /** PineScript text.format_* flags: 0 none, 1 bold, 2 italic, 3 bold + italic */\n textFormatting?: number;\n /** PineScript force_overlay = true: the label of a non-overlay indicator is drawn on the price pane */\n forceOverlay?: boolean;\n}\n\n/**\n * A line (PineScript line.new)\n */\nexport interface LineDrawingData {\n time1: number;\n price1: number;\n time2: number;\n price2: number;\n /** 'bar_time': the x coordinates are times given by the script (xloc.bar_time). A time after the last bar is\n * drawn on the future bar that holds it, on the chart's calendar (trading sessions). Omitted: bar indexes (a\n * future bar index k bars after the last bar has the time lastTime + k * interval). */\n xloc?: 'bar_time';\n /** Omitted: #2962FF (color.blue; #2196F3 in a v4 script) */\n color?: string;\n /** Omitted: 1. A width of 0 is kept (PineScript `width = 0`) */\n width?: number;\n /** Omitted: 'solid' */\n style?: 'solid' | 'dashed' | 'dotted' | 'arrow_left' | 'arrow_right' | 'arrow_both';\n extend?: 'none' | 'left' | 'right' | 'both';\n /** PineScript force_overlay = true: the line of a non-overlay indicator is drawn on the price pane */\n forceOverlay?: boolean;\n}\n\n/**\n * A rectangle (PineScript box.new): time1 / price1 are the left / top, time2 / price2 the right / bottom\n */\nexport interface BoxData {\n time1: number;\n price1: number;\n time2: number;\n price2: number;\n /** 'bar_time': the x coordinates are times given by the script (xloc.bar_time). A time after the last bar is\n * drawn on the future bar that holds it, on the chart's calendar (trading sessions). Omitted: bar indexes (a\n * future bar index k bars after the last bar has the time lastTime + k * interval). */\n xloc?: 'bar_time';\n /** Omitted: #2962FF (color.blue; #2196F3 in a v4 script) */\n bgColor?: string;\n /** Omitted: #2962FF (color.blue; #2196F3 in a v4 script) */\n borderColor?: string;\n /** Omitted: 1. A width of 0 is no border (PineScript `border_width = 0`) */\n borderWidth?: number;\n /** Omitted: 'solid' */\n borderStyle?: 'solid' | 'dashed' | 'dotted';\n text?: string;\n /** Omitted: #FFFFFF in a v6 script, #363A45 in v5 (the result does not carry the version) */\n textColor?: string;\n /** Omitted: 'auto' */\n textSize?: PineSize | number;\n /** Omitted: 'center' */\n textHAlign?: 'left' | 'center' | 'right';\n /** Omitted: 'center' */\n textVAlign?: 'top' | 'center' | 'bottom';\n textWrap?: 'none' | 'auto';\n fontFamily?: 'default' | 'monospace';\n /** PineScript text.format_* flags: 0 none, 1 bold, 2 italic, 3 bold + italic */\n textFormatting?: number;\n /** PineScript box extend: the box continues to the left / right edge of the chart */\n extend?: 'none' | 'left' | 'right' | 'both';\n /** PineScript force_overlay = true: the box of a non-overlay indicator is drawn on the price pane */\n forceOverlay?: boolean;\n}\n\n/**\n * The area between two lines (PineScript linefill.new), with the two lines as drawn (their extend included)\n */\nexport interface LinefillData {\n line1: LineDrawingData;\n line2: LineDrawingData;\n color?: string;\n}\n\n/**\n * A polyline (PineScript polyline.new)\n */\nexport interface PolylineData {\n points: Array<{ time: number; price: number }>;\n /** 'bar_time': the x coordinates are times given by the script (xloc.bar_time). A time after the last bar is\n * drawn on the future bar that holds it, on the chart's calendar (trading sessions). Omitted: bar indexes (a\n * future bar index k bars after the last bar has the time lastTime + k * interval). */\n xloc?: 'bar_time';\n /** Curved segments between the points */\n curved?: boolean;\n /** The last point is connected to the first */\n closed?: boolean;\n /** Omitted: #2962FF (color.blue) */\n lineColor?: string;\n /** Fill of the area inside the polyline. Omitted: no fill */\n fillColor?: string;\n lineStyle?: 'solid' | 'dotted' | 'dashed' | 'arrow_left' | 'arrow_right' | 'arrow_both';\n /** Omitted: 1 */\n lineWidth?: number;\n /** PineScript force_overlay = true: the polyline of a non-overlay indicator is drawn on the price pane */\n forceOverlay?: boolean;\n}\n\n/** Table position (PineScript position.*) */\nexport type TablePosition =\n | 'top_left'\n | 'top_center'\n | 'top_right'\n | 'middle_left'\n | 'middle_center'\n | 'middle_right'\n | 'bottom_left'\n | 'bottom_center'\n | 'bottom_right';\n\n/**\n * A table cell (PineScript table.cell)\n */\nexport interface TableCellData {\n row: number;\n column: number;\n text: string;\n /** Omitted: no background */\n bgColor?: string;\n /** Omitted: #363A45 (in v4, v5 and v6 scripts) */\n textColor?: string;\n /** Omitted: 'auto' */\n textSize?: PineSize | number;\n /** Width in % of the chart width; 0 fits the text */\n width?: number;\n /** Height in % of the chart height; 0 fits the text */\n height?: number;\n textHAlign?: 'left' | 'center' | 'right';\n textVAlign?: 'top' | 'center' | 'bottom';\n tooltip?: string;\n fontFamily?: 'default' | 'monospace';\n /** PineScript text.format_* flags: 0 none, 1 bold, 2 italic, 3 bold + italic */\n textFormatting?: number;\n}\n\n/**\n * Merged cells of a table (PineScript table.merge_cells): the cell at the start column / row covers the range and\n * gives its content\n */\nexport interface TableMergeData {\n startColumn: number;\n startRow: number;\n endColumn: number;\n endRow: number;\n}\n\n/**\n * A table (PineScript table.new)\n */\nexport interface TableData {\n position: TablePosition;\n columns: number;\n rows: number;\n cells: TableCellData[];\n merges?: TableMergeData[];\n /** Omitted: no background */\n bgColor?: string;\n /** Omitted: no frame */\n frameColor?: string;\n /** Omitted: 0 */\n frameWidth?: number;\n /** Omitted: no cell borders */\n borderColor?: string;\n /** Omitted: 0 */\n borderWidth?: number;\n /** PineScript force_overlay = true: the table of a non-overlay indicator is drawn on the price pane */\n forceOverlay?: boolean;\n}\n\n/**\n * Complete indicator calculation result\n */\nexport interface IndicatorResult {\n /** Indicator metadata */\n metadata: IndicatorMetadata;\n /** Plot data as Record mapping plot IDs to TimeValue arrays */\n plots: Record<string, TimeValue[]>;\n /** Horizontal lines */\n hlines?: HLineData[];\n /** Fills */\n fills?: FillData[];\n /** Markers from plotshape()/plotchar() */\n markers?: MarkerData[];\n /** Arrows from plotarrow() */\n arrows?: ArrowData[];\n /** Background colors from bgcolor() */\n bgColors?: BgColorData[];\n /** Bar colors from barcolor() */\n barColors?: BarColorData[];\n /** Candles from plotcandle(), keyed by plotcandle id */\n plotCandles?: Record<string, PlotCandleData[]>;\n /** OHLC bars from plotbar(), keyed by plotbar id */\n plotBars?: Record<string, PlotBarData[]>;\n /** Labels alive after the last bar */\n labels?: LabelData[];\n /** Lines alive after the last bar */\n lines?: LineDrawingData[];\n /** Boxes alive after the last bar */\n boxes?: BoxData[];\n /** Linefills alive after the last bar */\n linefills?: LinefillData[];\n /** Polylines alive after the last bar */\n polylines?: PolylineData[];\n /** Tables alive after the last bar */\n tables?: TableData[];\n}\n\n/**\n * Indicator factory function type\n */\nexport type IndicatorFactory = (options?: Record<string, any>) => {\n /** Indicator metadata */\n metadata: IndicatorMetadata;\n /** Calculate function */\n calculate: (bars: any[]) => PlotData[] | TimeValue[];\n};\n"],
4
+ "sourcesContent": ["/**\n * @fileoverview Type definitions for indicator metadata\n * These types define the structure of data returned by indicators\n * @module types/metadata\n */\n\n/**\n * Plot style options\n */\nexport type PlotStyle = 'line' | 'stepline' | 'histogram' | 'area' | 'circles' | 'columns' | 'cross' | 'areabr' | 'steplinebr' | 'linebr' | 'stepline_diamond';\n\n/**\n * Line style options\n */\nexport type LineStyle = 'solid' | 'dashed' | 'dotted';\n\n/**\n * Plot display options\n */\nexport type PlotDisplay = 'all' | 'none' | 'data_window' | 'status_line' | 'pane';\n\n/**\n * Options for a plot\n */\nexport interface PlotOptions {\n /** Plot title */\n title?: string;\n /** Plot color (hex string or named color) */\n color?: string;\n /** Line width */\n linewidth?: number;\n /** Plot style */\n style?: PlotStyle;\n /** Line style (PineScript `linestyle`); default solid. A constant or an input value, not per bar */\n linestyle?: LineStyle;\n /** Track price on price scale */\n trackprice?: boolean;\n /** Histogram base value */\n histbase?: number;\n /** Offset from current bar */\n offset?: number;\n /** Join gaps in data */\n join?: boolean;\n /** User can edit */\n editable?: boolean;\n /** Display mode */\n display?: PlotDisplay;\n /** Transparency (0-100) */\n transp?: number;\n /** Draw the plot on the main chart pane even when the indicator is not an overlay; default false */\n force_overlay?: boolean;\n}\n\n/**\n * Options for a horizontal line\n */\nexport interface HLineOptions {\n /** Line title */\n title?: string;\n /** Line color */\n color?: string;\n /** Line style (PineScript default: dashed) */\n linestyle?: LineStyle;\n /** Line width */\n linewidth?: number;\n /** User can edit */\n editable?: boolean;\n}\n\n/**\n * Options for a fill\n */\nexport interface FillOptions {\n /** Fill color */\n color?: string;\n /** Transparency (0-100) */\n transp?: number;\n /** Fill title */\n title?: string;\n /** User can edit */\n editable?: boolean;\n /** Fill gaps in data */\n fillgaps?: boolean;\n}\n\n/**\n * Input parameter type\n */\nexport type InputType = 'int' | 'float' | 'bool' | 'string' | 'source' | 'color' | 'timeframe' | 'session' | 'time' | 'symbol';\n\n/**\n * Input parameter metadata\n */\nexport interface InputMetadata {\n /** Input type */\n type: InputType;\n /** Internal name (snake_case) */\n name: string;\n /** Display title */\n title: string;\n /** Default value */\n defval: any;\n /** Minimum value (for numeric inputs) */\n minval?: number;\n /** Maximum value (for numeric inputs) */\n maxval?: number;\n /** Step size (for numeric inputs) */\n step?: number;\n /** Tooltip text */\n tooltip?: string;\n /** Inline group */\n inline?: string;\n /** Parameter group */\n group?: string;\n /** Options for dropdown (for string/source inputs) */\n options?: any[];\n /** Confirm before changing */\n confirm?: boolean;\n}\n\n/**\n * Plot metadata\n */\nexport interface PlotMetadata {\n /** Variable name for the plot */\n varName: string;\n /** Plot title */\n title: string;\n /** Plot color */\n color: string;\n /** Line width */\n linewidth: number;\n /** Plot style */\n style: PlotStyle;\n}\n\n/**\n * Indicator metadata\n */\nexport interface IndicatorMetadata {\n /** Indicator title */\n title: string;\n /** Short title */\n shorttitle?: string;\n /** Overlay on main chart */\n overlay: boolean;\n /** Number format precision */\n precision?: number;\n /** Number format */\n format?: string;\n /** Timeframe */\n timeframe?: string;\n /** Show gaps in timeframes */\n timeframe_gaps?: boolean;\n /** Input parameters */\n inputs?: InputMetadata[];\n /** Plots */\n plots?: PlotMetadata[];\n}\n\n/**\n * Time-value pair for charting\n */\nexport interface TimeValue {\n /** Time (timestamp or string) */\n time: any;\n /** Value */\n value: number;\n /** Per-bar color override */\n color?: string;\n}\n\n/**\n * Plot data with options\n */\nexport interface PlotData {\n /** Time-value pairs */\n data: TimeValue[];\n /** Plot options */\n options?: PlotOptions;\n}\n\n/**\n * Horizontal line data\n */\nexport interface HLineData {\n /** Id of the declaration that produced it (its config entry) */\n id?: string;\n /** Y-axis value */\n value: number;\n /** Line options */\n options?: HLineOptions;\n}\n\n/**\n * Fill data (area between two plots)\n */\nexport interface FillData {\n /** Id of the declaration that produced it (its config entry) */\n id?: string;\n /** First plot index or name */\n plot1: number | string;\n /** Second plot index or name */\n plot2: number | string;\n /** Fill options */\n options?: FillOptions;\n /** Per-bar fill colors (overrides static options.color) */\n colors?: string[];\n /** Gradient fill (PineScript `fill(p1, p2, top_value, bottom_value, top_color, bottom_color)`) */\n gradient?: FillGradient;\n}\n\n/**\n * Gradient of a fill, one entry per bar. PineScript rules: the colour\n * changes with the price, `topColor` at `topValue` and `bottomColor` at `bottomValue`; outside that range the end\n * colour is kept; each bar has its own gradient (the part from bar i-1 to bar i uses the values of bar i).\n */\nexport interface FillGradient {\n /** Price of `topColor`, per bar */\n topValue: number[];\n /** Price of `bottomColor`, per bar */\n bottomValue: number[];\n /** Colour at `topValue`, per bar (null: na) */\n topColor: Array<string | null>;\n /** Colour at `bottomValue`, per bar (null: na) */\n bottomColor: Array<string | null>;\n}\n\n/**\n * Marker location on the chart (PineScript plotshape/plotchar `location.*`)\n */\nexport type MarkerLocation = 'abovebar' | 'belowbar' | 'top' | 'bottom' | 'absolute';\n\n/**\n * PineScript size constant (`size.auto`, `size.tiny`, ...)\n */\nexport type PineSize = 'auto' | 'tiny' | 'small' | 'normal' | 'large' | 'huge';\n\n/**\n * Marker size (PineScript size.* constants)\n */\nexport type MarkerSize = PineSize;\n\n/**\n * Shape style (PineScript shape.* constants)\n */\nexport type ShapeStyle =\n | 'xcross'\n | 'cross'\n | 'triangleup'\n | 'triangledown'\n | 'flag'\n | 'circle'\n | 'arrowup'\n | 'arrowdown'\n | 'labelup'\n | 'labeldown'\n | 'square'\n | 'diamond';\n\n/**\n * Position of a marker:\n * - aboveBar / belowBar / inBar: next to the bar (PineScript location.abovebar / location.belowbar)\n * - atPriceTop / atPriceBottom / atPriceMiddle: at `price` (PineScript location.absolute), with the meaning of the\n * lightweight-charts price positions: atPriceTop has the shape above the price, its bottom (the tip of a label) on\n * the price (shape.labeldown); atPriceBottom has the shape below the price, its top on the price (shape.labelup);\n * atPriceMiddle centres the shape on the price (other shapes)\n * - top / bottom: at the top / bottom edge of the pane of the indicator (PineScript location.top / location.bottom),\n * the price pane for an overlay indicator or with forceOverlay\n */\nexport type MarkerPosition =\n | 'aboveBar'\n | 'belowBar'\n | 'inBar'\n | 'atPriceTop'\n | 'atPriceBottom'\n | 'atPriceMiddle'\n | 'top'\n | 'bottom';\n\n/**\n * Marker shape (PineScript shape.* in the lightweight-charts spelling)\n */\nexport type MarkerShape =\n | 'arrowUp'\n | 'arrowDown'\n | 'circle'\n | 'square'\n | 'labelUp'\n | 'labelDown'\n | 'triangleUp'\n | 'triangleDown'\n | 'cross'\n | 'xcross'\n | 'diamond'\n | 'flag';\n\n/**\n * One marker: a plotshape()/plotchar() marker on a bar where the condition held, or a marker of a built-in indicator\n */\nexport interface MarkerData {\n /** Time of the bar the marker is displayed on (offset already applied) */\n time: number;\n /** Where the marker is drawn */\n position: MarkerPosition;\n /** Price of the atPrice* positions (required with them) */\n price?: number;\n /** Shape. A plotchar marker also has `char`: the character is drawn in place of the shape */\n shape: MarkerShape;\n /**\n * Shape colour (the character colour of a plotchar marker). A fully transparent colour ('transparent',\n * '#rrggbb00', 'rgba(r, g, b, 0)') draws no shape, as PineScript `color = na`; the text is still drawn\n */\n color: string;\n /** Text; a line feed starts a new line */\n text?: string;\n /**\n * Text colour (PineScript textcolor). When omitted: white inside label shapes (labelUp / labelDown), the shape\n * colour for the other shapes\n */\n textColor?: string;\n /** Size multiplier (1 = default size) or a PineScript size */\n size?: number | PineSize;\n /** PineScript force_overlay = true: the marker of a non-overlay indicator is drawn on the price pane */\n forceOverlay?: boolean;\n /** Id of the plotshape/plotchar declaration that produced it (script markers) */\n id?: string;\n /** plotchar character, drawn in place of the shape */\n char?: string;\n /** Hover tooltip */\n tooltip?: string;\n}\n\n/**\n * Per-bar arrow from plotarrow(): up arrow for a positive value, down arrow for a negative value\n */\nexport interface ArrowData {\n /** Time of the bar the arrow is displayed on (offset already applied) */\n time: any;\n /** Id of the plotarrow declaration that produced it */\n id: string;\n /** Series value (non-zero): its sign gives the direction, its absolute value the height */\n value: number;\n /** Arrow color (colorup or colordown of that bar) */\n color: string;\n}\n\n/**\n * Per-bar candle color (barcolor() output)\n */\nexport interface BarColorData {\n /** Id of the declaration that produced it (its config entry) */\n id?: string;\n /** Time of the colored bar (offset already applied) */\n time: number;\n /** Color */\n color: string;\n}\n\n/**\n * Per-bar background color (bgcolor() output)\n */\nexport interface BgColorData {\n /** Id of the declaration that produced it (its config entry) */\n id?: string;\n /** Time of the colored bar (offset already applied) */\n time: number;\n /** Color (with its transparency) */\n color: string;\n /** PineScript bgcolor(..., force_overlay = true): drawn on the price pane even for a non-overlay indicator */\n forceOverlay?: boolean;\n}\n\n/**\n * One candle of plotcandle() (or of a built-in indicator that draws candles)\n */\nexport interface PlotCandleData {\n time: number;\n open: number;\n high: number;\n low: number;\n close: number;\n /** Body colour */\n color?: string;\n borderColor?: string;\n wickColor?: string;\n /** PineScript force_overlay = true: the candles of a non-overlay indicator are drawn on the price pane */\n forceOverlay?: boolean;\n}\n\n/**\n * One bar of plotbar(): an OHLC bar (a vertical line from low to high, the open tick on the left, the close tick on\n * the right)\n */\nexport interface PlotBarData {\n time: number;\n open: number;\n high: number;\n low: number;\n close: number;\n color?: string;\n /** PineScript force_overlay = true: the bars of a non-overlay indicator are drawn on the price pane */\n forceOverlay?: boolean;\n}\n\n/** PineScript label style (`label.style_*` without the prefix) */\nexport type LabelStyle =\n | 'none'\n | 'xcross'\n | 'cross'\n | 'triangleup'\n | 'triangledown'\n | 'flag'\n | 'circle'\n | 'arrowup'\n | 'arrowdown'\n | 'label_up'\n | 'label_down'\n | 'label_left'\n | 'label_right'\n | 'label_lower_left'\n | 'label_lower_right'\n | 'label_upper_left'\n | 'label_upper_right'\n | 'label_center'\n | 'square'\n | 'diamond'\n | 'text_outline';\n\n// Drawing outputs (labels, lines, boxes, linefills, polylines, tables). A field the script did not set is omitted and\n// the renderer uses the PineScript default; a colour set to na is 'transparent'. A point on a bar after the last bar\n// (PineScript bar_index + k) has the time of that future bar (see barTime). The same applies to markers and plots.\n\n/**\n * A label (PineScript label.new)\n */\nexport interface LabelData {\n time: number;\n /** 'bar_time': the x coordinates are times given by the script (xloc.bar_time). A time after the last bar is\n * drawn on the future bar that holds it, on the chart's calendar (trading sessions). Omitted: bar indexes (a\n * future bar index k bars after the last bar has the time lastTime + k * interval). */\n xloc?: 'bar_time';\n /** Price; not used with yloc 'abovebar' / 'belowbar' */\n price: number;\n text: string;\n /** Background, border and arrow colour. Omitted: #2962FF (color.blue; #2196F3 in a v4 script) */\n color?: string;\n /** Omitted: #FFFFFF in a v6 script, #363A45 in v4 and v5 (the result does not carry the version) */\n textColor?: string;\n /** 'none': text only, no background (PineScript label.style_none). Omitted: 'label_down' */\n style?: LabelStyle;\n /** Omitted: 'normal' */\n size?: PineSize | number;\n /**\n * PineScript yloc: 'price' (default) places the label at `price`; 'abovebar' / 'belowbar' place it above the bar\n * high / below the bar low and ignore `price` (the renderer reads the bar at `time`).\n */\n yloc?: 'price' | 'abovebar' | 'belowbar';\n /** Omitted: 'center' */\n textAlign?: 'left' | 'center' | 'right';\n tooltip?: string;\n fontFamily?: 'default' | 'monospace';\n /** PineScript text.format_* flags: 0 none, 1 bold, 2 italic, 3 bold + italic */\n textFormatting?: number;\n /** PineScript force_overlay = true: the label of a non-overlay indicator is drawn on the price pane */\n forceOverlay?: boolean;\n}\n\n/**\n * A line (PineScript line.new)\n */\nexport interface LineDrawingData {\n time1: number;\n price1: number;\n time2: number;\n price2: number;\n /** 'bar_time': the x coordinates are times given by the script (xloc.bar_time). A time after the last bar is\n * drawn on the future bar that holds it, on the chart's calendar (trading sessions). Omitted: bar indexes (a\n * future bar index k bars after the last bar has the time lastTime + k * interval). */\n xloc?: 'bar_time';\n /** Omitted: #2962FF (color.blue; #2196F3 in a v4 script) */\n color?: string;\n /** Omitted: 1. A width of 0 is kept (PineScript `width = 0`) */\n width?: number;\n /** Omitted: 'solid' */\n style?: 'solid' | 'dashed' | 'dotted' | 'arrow_left' | 'arrow_right' | 'arrow_both';\n extend?: 'none' | 'left' | 'right' | 'both';\n /** PineScript force_overlay = true: the line of a non-overlay indicator is drawn on the price pane */\n forceOverlay?: boolean;\n}\n\n/**\n * A rectangle (PineScript box.new): time1 / price1 are the left / top, time2 / price2 the right / bottom\n */\nexport interface BoxData {\n time1: number;\n price1: number;\n time2: number;\n price2: number;\n /** 'bar_time': the x coordinates are times given by the script (xloc.bar_time). A time after the last bar is\n * drawn on the future bar that holds it, on the chart's calendar (trading sessions). Omitted: bar indexes (a\n * future bar index k bars after the last bar has the time lastTime + k * interval). */\n xloc?: 'bar_time';\n /** Omitted: #2962FF (color.blue; #2196F3 in a v4 script) */\n bgColor?: string;\n /** Omitted: #2962FF (color.blue; #2196F3 in a v4 script) */\n borderColor?: string;\n /** Omitted: 1. A width of 0 is no border (PineScript `border_width = 0`) */\n borderWidth?: number;\n /** Omitted: 'solid' */\n borderStyle?: 'solid' | 'dashed' | 'dotted';\n text?: string;\n /** Omitted: #FFFFFF in a v6 script, #363A45 in v5 (the result does not carry the version) */\n textColor?: string;\n /** Omitted: 'auto' */\n textSize?: PineSize | number;\n /** Omitted: 'center' */\n textHAlign?: 'left' | 'center' | 'right';\n /** Omitted: 'center' */\n textVAlign?: 'top' | 'center' | 'bottom';\n textWrap?: 'none' | 'auto';\n fontFamily?: 'default' | 'monospace';\n /** PineScript text.format_* flags: 0 none, 1 bold, 2 italic, 3 bold + italic */\n textFormatting?: number;\n /** PineScript box extend: the box continues to the left / right edge of the chart */\n extend?: 'none' | 'left' | 'right' | 'both';\n /** PineScript force_overlay = true: the box of a non-overlay indicator is drawn on the price pane */\n forceOverlay?: boolean;\n}\n\n/**\n * The area between two lines (PineScript linefill.new), with the two lines as drawn (their extend included)\n */\nexport interface LinefillData {\n line1: LineDrawingData;\n line2: LineDrawingData;\n color?: string;\n}\n\n/**\n * A polyline (PineScript polyline.new)\n */\nexport interface PolylineData {\n points: Array<{ time: number; price: number }>;\n /** 'bar_time': the x coordinates are times given by the script (xloc.bar_time). A time after the last bar is\n * drawn on the future bar that holds it, on the chart's calendar (trading sessions). Omitted: bar indexes (a\n * future bar index k bars after the last bar has the time lastTime + k * interval). */\n xloc?: 'bar_time';\n /** Curved segments between the points */\n curved?: boolean;\n /** The last point is connected to the first */\n closed?: boolean;\n /** Omitted: #2962FF (color.blue) */\n lineColor?: string;\n /** Fill of the area inside the polyline. Omitted: no fill */\n fillColor?: string;\n lineStyle?: 'solid' | 'dotted' | 'dashed' | 'arrow_left' | 'arrow_right' | 'arrow_both';\n /** Omitted: 1 */\n lineWidth?: number;\n /** PineScript force_overlay = true: the polyline of a non-overlay indicator is drawn on the price pane */\n forceOverlay?: boolean;\n}\n\n/** Table position (PineScript position.*) */\nexport type TablePosition =\n | 'top_left'\n | 'top_center'\n | 'top_right'\n | 'middle_left'\n | 'middle_center'\n | 'middle_right'\n | 'bottom_left'\n | 'bottom_center'\n | 'bottom_right';\n\n/**\n * A table cell (PineScript table.cell)\n */\nexport interface TableCellData {\n row: number;\n column: number;\n text: string;\n /** Omitted: no background */\n bgColor?: string;\n /** Omitted: #363A45 (in v4, v5 and v6 scripts) */\n textColor?: string;\n /** Omitted: 'auto' */\n textSize?: PineSize | number;\n /** Width in % of the chart width; 0 fits the text */\n width?: number;\n /** Height in % of the chart height; 0 fits the text */\n height?: number;\n textHAlign?: 'left' | 'center' | 'right';\n textVAlign?: 'top' | 'center' | 'bottom';\n tooltip?: string;\n fontFamily?: 'default' | 'monospace';\n /** PineScript text.format_* flags: 0 none, 1 bold, 2 italic, 3 bold + italic */\n textFormatting?: number;\n}\n\n/**\n * Merged cells of a table (PineScript table.merge_cells): the cell at the start column / row covers the range and\n * gives its content\n */\nexport interface TableMergeData {\n startColumn: number;\n startRow: number;\n endColumn: number;\n endRow: number;\n}\n\n/**\n * A table (PineScript table.new)\n */\nexport interface TableData {\n position: TablePosition;\n columns: number;\n rows: number;\n cells: TableCellData[];\n merges?: TableMergeData[];\n /** Omitted: no background */\n bgColor?: string;\n /** Omitted: no frame */\n frameColor?: string;\n /** Omitted: 0 */\n frameWidth?: number;\n /** Omitted: no cell borders */\n borderColor?: string;\n /** Omitted: 0 */\n borderWidth?: number;\n /** PineScript force_overlay = true: the table of a non-overlay indicator is drawn on the price pane */\n forceOverlay?: boolean;\n}\n\n/**\n * Complete indicator calculation result\n */\nexport interface IndicatorResult {\n /** Indicator metadata */\n metadata: IndicatorMetadata;\n /** Plot data as Record mapping plot IDs to TimeValue arrays */\n plots: Record<string, TimeValue[]>;\n /** Horizontal lines */\n hlines?: HLineData[];\n /** Fills */\n fills?: FillData[];\n /** Markers from plotshape()/plotchar() */\n markers?: MarkerData[];\n /** Arrows from plotarrow() */\n arrows?: ArrowData[];\n /** Background colors from bgcolor() */\n bgColors?: BgColorData[];\n /** Bar colors from barcolor() */\n barColors?: BarColorData[];\n /** Candles from plotcandle(), keyed by plotcandle id */\n plotCandles?: Record<string, PlotCandleData[]>;\n /** OHLC bars from plotbar(), keyed by plotbar id */\n plotBars?: Record<string, PlotBarData[]>;\n /** Labels alive after the last bar */\n labels?: LabelData[];\n /** Lines alive after the last bar */\n lines?: LineDrawingData[];\n /** Boxes alive after the last bar */\n boxes?: BoxData[];\n /** Linefills alive after the last bar */\n linefills?: LinefillData[];\n /** Polylines alive after the last bar */\n polylines?: PolylineData[];\n /** Tables alive after the last bar */\n tables?: TableData[];\n}\n\n/**\n * Indicator factory function type\n */\nexport type IndicatorFactory = (options?: Record<string, any>) => {\n /** Indicator metadata */\n metadata: IndicatorMetadata;\n /** Calculate function */\n calculate: (bars: any[]) => PlotData[] | TimeValue[];\n};\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;",
6
6
  "names": []
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"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"}
@@ -43,6 +43,7 @@ module.exports = __toCommonJS(utils_exports);
43
43
  var import_ta = require("../ta/index.js");
44
44
  var import_series = require("../runtime/series.js");
45
45
  var import_registry = require("../drawing/registry.js");
46
+ var import_source_resolver = require("./source-resolver.js");
46
47
  function validateSeriesLength(source, length, functionName) {
47
48
  if (source.length < length) {
48
49
  console.warn(`${functionName}: Source length (${source.length}) is less than required length (${length})`);
@@ -132,6 +133,9 @@ function getSource(data, source = "close") {
132
133
  case "volume":
133
134
  return ohlc.volume ?? ohlc.close.map(() => NaN);
134
135
  }
136
+ const ext = (0, import_source_resolver.externalSource)(source);
137
+ if (!ext) return ohlc.close;
138
+ return ohlc.close.map((_, i) => ext[i] ?? NaN);
135
139
  } else {
136
140
  const bars = data;
137
141
  switch (source) {
@@ -154,6 +158,9 @@ function getSource(data, source = "close") {
154
158
  case "volume":
155
159
  return bars.map((b) => b.volume ?? NaN);
156
160
  }
161
+ const ext = (0, import_source_resolver.externalSource)(source);
162
+ if (!ext) return bars.map((b) => b.close);
163
+ return bars.map((_, i) => ext[i] ?? NaN);
157
164
  }
158
165
  }
159
166
  function getSourceSeries(bars, source = "close") {
@@ -180,8 +187,12 @@ function getSourceSeries(bars, source = "close") {
180
187
  return high.add(low).add(close).add(close).div(4);
181
188
  case "volume":
182
189
  return import_series.Series.fromBars(bars, "volume");
183
- default:
184
- return close;
190
+ default: {
191
+ const ext = (0, import_source_resolver.externalSource)(source);
192
+ if (!ext) return close;
193
+ const values = Array.from({ length: bars.length }, (_, i) => ext[i] ?? NaN);
194
+ return new import_series.Series(bars, (_bar, i) => values[i] ?? NaN);
195
+ }
185
196
  }
186
197
  }
187
198
  function shift(series, offset) {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/utils/index.ts"],
4
- "sourcesContent": ["/**\n * Utility functions for OakScriptJS\n * These are internal helpers and not part of the PineScript API\n */\n\nimport type { series_float, int, float, Source, Bar, OHLC } from '../types/index.js';\nimport { sma, ema, wma, rma } from '../ta/index.js';\nimport { Series } from '../runtime/series.js';\nimport type { SourceType } from '../input.js';\nimport { isDeleted } from '../drawing/registry.js';\n\n/**\n * Validates that a series has sufficient data for a given length\n */\nexport function validateSeriesLength(source: Source, length: int, functionName: string): void {\n if (source.length < length) {\n console.warn(`${functionName}: Source length (${source.length}) is less than required length (${length})`);\n }\n}\n\n/**\n * Creates a series filled with NaN values\n */\nexport function createNaNSeries(length: int): series_float {\n return new Array(length).fill(NaN);\n}\n\n/**\n * Checks if a value is `na`: NaN, null, undefined, +/-Infinity, or a deleted drawing object\n * (as in PineScript, `na(l)` is true after `line.delete(l)`, and `na(1 / 0)` is true).\n */\nexport function isNA(value: any): boolean {\n return (\n value === null ||\n value === undefined ||\n Number.isNaN(value) ||\n value === Infinity ||\n value === -Infinity ||\n isDeleted(value)\n );\n}\n\n/**\n * Returns the value or a default if it's NA\n */\nexport function nz(value: any, defaultValue: any = 0): any {\n return isNA(value) ? defaultValue : value;\n}\n\n/**\n * PineScript `fixnan(source)`: replaces each `na` value (NaN, null or undefined) with the\n * previous non-`na` value. Values before the first non-`na` value stay `na`.\n * Works for numeric series and for color series (arrays of color strings with `undefined` for `na`).\n */\nexport function fixnan<T>(source: T[]): T[] {\n let last: T | undefined;\n let seen = false;\n return source.map((v) => {\n // PineScript fixnan keeps +/-Infinity (only NaN / null / undefined are replaced)\n if (!(v === null || v === undefined || Number.isNaN(v) || isDeleted(v))) {\n last = v;\n seen = true;\n return v;\n }\n return seen ? (last as T) : v;\n });\n}\n\n/**\n * PineScript history reference `x[offset]` at bar `i` of an array: the value `offset` bars back,\n * `na` (NaN) before the first bar. A negative offset (a later bar) throws, as in PineScript.\n */\nexport function at(source: ArrayLike<number>, i: int, offset: int = 0): float {\n if (offset < 0) {\n throw new RangeError(`at(): the offset must be >= 0 (got ${offset}); a negative offset reads a later bar.`);\n }\n const j = i - offset;\n return j >= 0 && j < source.length ? (source[j] ?? NaN) : NaN;\n}\n\n/**\n * PineScript division: `a / 0` is +/-Infinity (0 / 0 is NaN), as in JavaScript. PineScript keeps the infinite value\n * in comparisons (`1 / 0 > 0` is true) and treats it as `na` in `na()`, `nz()` and plots.\n */\nexport function div(a: float, b: float): float {\n return a / b;\n}\n\n/**\n * Ensures a value is within bounds\n */\nexport function clamp(value: float, min: float, max: float): float {\n return Math.max(min, Math.min(max, value));\n}\n\n/**\n * Linear interpolation\n */\nexport function lerp(start: float, end: float, t: float): float {\n return start + (end - start) * t;\n}\n\n/**\n * Normalize a value from one range to another\n */\nexport function normalize(value: float, min: float, max: float, newMin: float = 0, newMax: float = 1): float {\n return newMin + ((value - min) * (newMax - newMin)) / (max - min);\n}\n\n// ===== Chart Data Utilities =====\n// These functions help convert between bar arrays and OHLC data structures\n\n/**\n * Creates OHLC data from bar array\n * @param bars - Array of bar data\n * @returns OHLC data structure\n */\nexport function ohlcFromBars(bars: Bar[]): OHLC {\n return {\n open: bars.map(b => b.open),\n high: bars.map(b => b.high),\n low: bars.map(b => b.low),\n close: bars.map(b => b.close),\n };\n}\n\n/**\n * Gets close prices from OHLC\n * @param ohlc - OHLC data\n * @returns Close price series\n */\nexport function getClose(ohlc: OHLC): series_float {\n return ohlc.close;\n}\n\n/**\n * Gets high prices from OHLC\n * @param ohlc - OHLC data\n * @returns High price series\n */\nexport function getHigh(ohlc: OHLC): series_float {\n return ohlc.high;\n}\n\n/**\n * Gets low prices from OHLC\n * @param ohlc - OHLC data\n * @returns Low price series\n */\nexport function getLow(ohlc: OHLC): series_float {\n return ohlc.low;\n}\n\n/**\n * Gets open prices from OHLC\n * @param ohlc - OHLC data\n * @returns Open price series\n */\nexport function getOpen(ohlc: OHLC): series_float {\n return ohlc.open;\n}\n\n// ===== Source Extraction Utilities =====\n\n/**\n * Extract a specific source from OHLC data or bar array\n *\n * @param data - Bar array or OHLC data\n * @param source - Source type: 'close', 'open', 'high', 'low', 'hl2', 'hlc3', 'ohlc4', 'hlcc4', 'volume' (NaN for a\n * bar without volume)\n * @returns Series of the requested source\n *\n * @example\n * ```typescript\n * const bars = [{ open: 100, high: 105, low: 98, close: 102 }, ...];\n * const closes = getSource(bars, 'close'); // [102, ...]\n * const hl2 = getSource(bars, 'hl2'); // [(105+98)/2, ...]\n * ```\n */\nexport function getSource(\n data: Bar[] | OHLC,\n source: SourceType = 'close'\n): series_float {\n // Check if data is OHLC structure\n const isOHLC = 'open' in data && Array.isArray(data.open);\n\n if (isOHLC) {\n const ohlc = data as OHLC;\n switch (source) {\n case 'close': return ohlc.close;\n case 'open': return ohlc.open;\n case 'high': return ohlc.high;\n case 'low': return ohlc.low;\n case 'hl2': return ohlc.high.map((h, i) => (h + ohlc.low[i]!) / 2);\n case 'hlc3': return ohlc.high.map((h, i) => (h + ohlc.low[i]! + ohlc.close[i]!) / 3);\n case 'ohlc4': return ohlc.open.map((o, i) => (o + ohlc.high[i]! + ohlc.low[i]! + ohlc.close[i]!) / 4);\n case 'hlcc4': return ohlc.high.map((h, i) => (h + ohlc.low[i]! + ohlc.close[i]! + ohlc.close[i]!) / 4);\n case 'volume': return ohlc.volume ?? ohlc.close.map(() => NaN);\n }\n } else {\n const bars = data as Bar[];\n switch (source) {\n case 'close': return bars.map(b => b.close);\n case 'open': return bars.map(b => b.open);\n case 'high': return bars.map(b => b.high);\n case 'low': return bars.map(b => b.low);\n case 'hl2': return bars.map(b => (b.high + b.low) / 2);\n case 'hlc3': return bars.map(b => (b.high + b.low + b.close) / 3);\n case 'ohlc4': return bars.map(b => (b.open + b.high + b.low + b.close) / 4);\n case 'hlcc4': return bars.map(b => (b.high + b.low + b.close + b.close) / 4);\n case 'volume': return bars.map(b => b.volume ?? NaN);\n }\n }\n}\n\n/**\n * Creates a Series from bars based on the specified source type.\n * Unlike getSource() which returns number[], this returns a Series\n * with chainable methods like .add(), .sub(), .mul(), .div()\n *\n * @param bars - Array of bar data\n * @param source - Source type (default: 'close')\n * @returns Series object for the requested source\n *\n * @example\n * ```typescript\n * const bars = [{ time: 1, open: 100, high: 105, low: 98, close: 102, volume: 1000 }, ...];\n * const source = getSourceSeries(bars, 'hlc3');\n * const smaResult = ta.sma(source, 14);\n * ```\n */\nexport function getSourceSeries(\n bars: Bar[],\n source: SourceType = 'close'\n): Series {\n const open = new Series(bars, (bar) => bar.open);\n const high = new Series(bars, (bar) => bar.high);\n const low = new Series(bars, (bar) => bar.low);\n const close = new Series(bars, (bar) => bar.close);\n\n switch (source) {\n case 'open': return open;\n case 'high': return high;\n case 'low': return low;\n case 'close': return close;\n case 'hl2': return high.add(low).div(2);\n case 'hlc3': return high.add(low).add(close).div(3);\n case 'ohlc4': return open.add(high).add(low).add(close).div(4);\n case 'hlcc4': return high.add(low).add(close).add(close).div(4);\n case 'volume': return Series.fromBars(bars, 'volume');\n default: return close;\n }\n}\n\n// ===== Series Manipulation Utilities =====\n\n/**\n * Shift (offset) a series forward or backward in time\n *\n * @param series - Series to shift\n * @param offset - Number of bars to shift (positive = forward/right, negative = backward/left)\n * @returns Shifted series with NaN padding\n *\n * @example\n * ```typescript\n * const values = [1, 2, 3, 4, 5];\n * shift(values, 2); // [NaN, NaN, 1, 2, 3] (shift forward)\n * shift(values, -2); // [3, 4, 5, NaN, NaN] (shift backward)\n * ```\n */\nexport function shift(series: series_float, offset: int): series_float {\n if (offset === 0) return series;\n\n if (offset > 0) {\n // Shift forward: add NaN at start, remove from end\n return Array(offset).fill(NaN).concat(series.slice(0, -offset));\n } else {\n // Shift backward: remove from start, add NaN at end\n return series.slice(-offset).concat(Array(-offset).fill(NaN));\n }\n}\n\n/**\n * Apply smoothing to a series using a specified method\n *\n * @param series - Series to smooth\n * @param method - Smoothing method: 'SMA', 'EMA', 'WMA', 'RMA'\n * @param length - Smoothing length\n * @returns Smoothed series\n *\n * @example\n * ```typescript\n * const values = [10, 11, 12, 13, 14];\n * const smoothed = smooth(values, 'EMA', 3);\n * ```\n *\n * @remarks\n * This is a convenience function that delegates to the appropriate ta function.\n * Import this from utils, not from ta namespace.\n */\nexport function smooth(\n series: series_float,\n method: 'SMA' | 'EMA' | 'WMA' | 'RMA',\n length: int\n): series_float {\n switch (method.toUpperCase()) {\n case 'SMA': return sma(series, length);\n case 'EMA': return ema(series, length);\n case 'WMA': return wma(series, length);\n case 'RMA': return rma(series, length);\n default:\n throw new Error(`Unknown smoothing method: ${method}`);\n }\n}\n\n/**\n * Format series values with timestamps for output\n *\n * @param values - Series of values to format\n * @param timestamps - Array of timestamps (optional)\n * @returns Array of objects with time and value properties\n *\n * @example\n * ```typescript\n * const values = [100, 101, NaN, 103];\n * const times = [1, 2, 3, 4];\n * const formatted = formatOutput(values, times);\n * // [{ time: 1, value: 100 }, { time: 2, value: 101 }, { time: 3, value: null }, { time: 4, value: 103 }]\n * ```\n */\nexport function formatOutput(\n values: series_float,\n timestamps?: number[]\n): Array<{ time: number; value: number | null }> {\n return values.map((value, index) => ({\n time: timestamps ? timestamps[index]! : index,\n value: isNaN(value) ? null : value\n }));\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * Utility functions for OakScriptJS\n * These are internal helpers and not part of the PineScript API\n */\n\nimport type { series_float, int, float, Source, Bar, OHLC } from '../types/index.js';\nimport { sma, ema, wma, rma } from '../ta/index.js';\nimport { Series } from '../runtime/series.js';\nimport type { SourceType } from '../input.js';\nimport { isDeleted } from '../drawing/registry.js';\nimport { externalSource } from './source-resolver.js';\n\n/**\n * Validates that a series has sufficient data for a given length\n */\nexport function validateSeriesLength(source: Source, length: int, functionName: string): void {\n if (source.length < length) {\n console.warn(`${functionName}: Source length (${source.length}) is less than required length (${length})`);\n }\n}\n\n/**\n * Creates a series filled with NaN values\n */\nexport function createNaNSeries(length: int): series_float {\n return new Array(length).fill(NaN);\n}\n\n/**\n * Checks if a value is `na`: NaN, null, undefined, +/-Infinity, or a deleted drawing object\n * (as in PineScript, `na(l)` is true after `line.delete(l)`, and `na(1 / 0)` is true).\n */\nexport function isNA(value: any): boolean {\n return (\n value === null ||\n value === undefined ||\n Number.isNaN(value) ||\n value === Infinity ||\n value === -Infinity ||\n isDeleted(value)\n );\n}\n\n/**\n * Returns the value or a default if it's NA\n */\nexport function nz(value: any, defaultValue: any = 0): any {\n return isNA(value) ? defaultValue : value;\n}\n\n/**\n * PineScript `fixnan(source)`: replaces each `na` value (NaN, null or undefined) with the\n * previous non-`na` value. Values before the first non-`na` value stay `na`.\n * Works for numeric series and for color series (arrays of color strings with `undefined` for `na`).\n */\nexport function fixnan<T>(source: T[]): T[] {\n let last: T | undefined;\n let seen = false;\n return source.map((v) => {\n // PineScript fixnan keeps +/-Infinity (only NaN / null / undefined are replaced)\n if (!(v === null || v === undefined || Number.isNaN(v) || isDeleted(v))) {\n last = v;\n seen = true;\n return v;\n }\n return seen ? (last as T) : v;\n });\n}\n\n/**\n * PineScript history reference `x[offset]` at bar `i` of an array: the value `offset` bars back,\n * `na` (NaN) before the first bar. A negative offset (a later bar) throws, as in PineScript.\n */\nexport function at(source: ArrayLike<number>, i: int, offset: int = 0): float {\n if (offset < 0) {\n throw new RangeError(`at(): the offset must be >= 0 (got ${offset}); a negative offset reads a later bar.`);\n }\n const j = i - offset;\n return j >= 0 && j < source.length ? (source[j] ?? NaN) : NaN;\n}\n\n/**\n * PineScript division: `a / 0` is +/-Infinity (0 / 0 is NaN), as in JavaScript. PineScript keeps the infinite value\n * in comparisons (`1 / 0 > 0` is true) and treats it as `na` in `na()`, `nz()` and plots.\n */\nexport function div(a: float, b: float): float {\n return a / b;\n}\n\n/**\n * Ensures a value is within bounds\n */\nexport function clamp(value: float, min: float, max: float): float {\n return Math.max(min, Math.min(max, value));\n}\n\n/**\n * Linear interpolation\n */\nexport function lerp(start: float, end: float, t: float): float {\n return start + (end - start) * t;\n}\n\n/**\n * Normalize a value from one range to another\n */\nexport function normalize(value: float, min: float, max: float, newMin: float = 0, newMax: float = 1): float {\n return newMin + ((value - min) * (newMax - newMin)) / (max - min);\n}\n\n// ===== Chart Data Utilities =====\n// These functions help convert between bar arrays and OHLC data structures\n\n/**\n * Creates OHLC data from bar array\n * @param bars - Array of bar data\n * @returns OHLC data structure\n */\nexport function ohlcFromBars(bars: Bar[]): OHLC {\n return {\n open: bars.map(b => b.open),\n high: bars.map(b => b.high),\n low: bars.map(b => b.low),\n close: bars.map(b => b.close),\n };\n}\n\n/**\n * Gets close prices from OHLC\n * @param ohlc - OHLC data\n * @returns Close price series\n */\nexport function getClose(ohlc: OHLC): series_float {\n return ohlc.close;\n}\n\n/**\n * Gets high prices from OHLC\n * @param ohlc - OHLC data\n * @returns High price series\n */\nexport function getHigh(ohlc: OHLC): series_float {\n return ohlc.high;\n}\n\n/**\n * Gets low prices from OHLC\n * @param ohlc - OHLC data\n * @returns Low price series\n */\nexport function getLow(ohlc: OHLC): series_float {\n return ohlc.low;\n}\n\n/**\n * Gets open prices from OHLC\n * @param ohlc - OHLC data\n * @returns Open price series\n */\nexport function getOpen(ohlc: OHLC): series_float {\n return ohlc.open;\n}\n\n// ===== Source Extraction Utilities =====\n\n/**\n * Extract a specific source from OHLC data or bar array\n *\n * @param data - Bar array or OHLC data\n * @param source - Source type: 'close', 'open', 'high', 'low', 'hl2', 'hlc3', 'ohlc4', 'hlcc4', 'volume' (NaN for a\n * bar without volume)\n * @returns Series of the requested source\n *\n * @example\n * ```typescript\n * const bars = [{ open: 100, high: 105, low: 98, close: 102 }, ...];\n * const closes = getSource(bars, 'close'); // [102, ...]\n * const hl2 = getSource(bars, 'hl2'); // [(105+98)/2, ...]\n * ```\n */\nexport function getSource(\n data: Bar[] | OHLC,\n source: SourceType = 'close'\n): series_float {\n // Check if data is OHLC structure\n const isOHLC = 'open' in data && Array.isArray(data.open);\n\n if (isOHLC) {\n const ohlc = data as OHLC;\n switch (source) {\n case 'close': return ohlc.close;\n case 'open': return ohlc.open;\n case 'high': return ohlc.high;\n case 'low': return ohlc.low;\n case 'hl2': return ohlc.high.map((h, i) => (h + ohlc.low[i]!) / 2);\n case 'hlc3': return ohlc.high.map((h, i) => (h + ohlc.low[i]! + ohlc.close[i]!) / 3);\n case 'ohlc4': return ohlc.open.map((o, i) => (o + ohlc.high[i]! + ohlc.low[i]! + ohlc.close[i]!) / 4);\n case 'hlcc4': return ohlc.high.map((h, i) => (h + ohlc.low[i]! + ohlc.close[i]! + ohlc.close[i]!) / 4);\n case 'volume': return ohlc.volume ?? ohlc.close.map(() => NaN);\n }\n const ext = externalSource(source);\n if (!ext) return ohlc.close;\n return ohlc.close.map((_, i) => (ext as ArrayLike<number>)[i] ?? NaN);\n } else {\n const bars = data as Bar[];\n switch (source) {\n case 'close': return bars.map(b => b.close);\n case 'open': return bars.map(b => b.open);\n case 'high': return bars.map(b => b.high);\n case 'low': return bars.map(b => b.low);\n case 'hl2': return bars.map(b => (b.high + b.low) / 2);\n case 'hlc3': return bars.map(b => (b.high + b.low + b.close) / 3);\n case 'ohlc4': return bars.map(b => (b.open + b.high + b.low + b.close) / 4);\n case 'hlcc4': return bars.map(b => (b.high + b.low + b.close + b.close) / 4);\n case 'volume': return bars.map(b => b.volume ?? NaN);\n }\n // Another source (study on study), else close.\n const ext = externalSource(source);\n if (!ext) return bars.map(b => b.close);\n return bars.map((_, i) => (ext as ArrayLike<number>)[i] ?? NaN);\n }\n}\n\n/**\n * Creates a Series from bars based on the specified source type.\n * Unlike getSource() which returns number[], this returns a Series\n * with chainable methods like .add(), .sub(), .mul(), .div()\n *\n * @param bars - Array of bar data\n * @param source - Source type (default: 'close')\n * @returns Series object for the requested source\n *\n * @example\n * ```typescript\n * const bars = [{ time: 1, open: 100, high: 105, low: 98, close: 102, volume: 1000 }, ...];\n * const source = getSourceSeries(bars, 'hlc3');\n * const smaResult = ta.sma(source, 14);\n * ```\n */\nexport function getSourceSeries(\n bars: Bar[],\n source: SourceType = 'close'\n): Series {\n const open = new Series(bars, (bar) => bar.open);\n const high = new Series(bars, (bar) => bar.high);\n const low = new Series(bars, (bar) => bar.low);\n const close = new Series(bars, (bar) => bar.close);\n\n switch (source) {\n case 'open': return open;\n case 'high': return high;\n case 'low': return low;\n case 'close': return close;\n case 'hl2': return high.add(low).div(2);\n case 'hlc3': return high.add(low).add(close).div(3);\n case 'ohlc4': return open.add(high).add(low).add(close).div(4);\n case 'hlcc4': return high.add(low).add(close).add(close).div(4);\n case 'volume': return Series.fromBars(bars, 'volume');\n default: {\n // Another source (study on study), else close.\n const ext = externalSource(source);\n if (!ext) return close;\n const values = Array.from({ length: bars.length }, (_, i) => ext[i] ?? NaN);\n return new Series(bars, (_bar, i) => values[i] ?? NaN);\n }\n }\n}\n\n// ===== Series Manipulation Utilities =====\n\n/**\n * Shift (offset) a series forward or backward in time\n *\n * @param series - Series to shift\n * @param offset - Number of bars to shift (positive = forward/right, negative = backward/left)\n * @returns Shifted series with NaN padding\n *\n * @example\n * ```typescript\n * const values = [1, 2, 3, 4, 5];\n * shift(values, 2); // [NaN, NaN, 1, 2, 3] (shift forward)\n * shift(values, -2); // [3, 4, 5, NaN, NaN] (shift backward)\n * ```\n */\nexport function shift(series: series_float, offset: int): series_float {\n if (offset === 0) return series;\n\n if (offset > 0) {\n // Shift forward: add NaN at start, remove from end\n return Array(offset).fill(NaN).concat(series.slice(0, -offset));\n } else {\n // Shift backward: remove from start, add NaN at end\n return series.slice(-offset).concat(Array(-offset).fill(NaN));\n }\n}\n\n/**\n * Apply smoothing to a series using a specified method\n *\n * @param series - Series to smooth\n * @param method - Smoothing method: 'SMA', 'EMA', 'WMA', 'RMA'\n * @param length - Smoothing length\n * @returns Smoothed series\n *\n * @example\n * ```typescript\n * const values = [10, 11, 12, 13, 14];\n * const smoothed = smooth(values, 'EMA', 3);\n * ```\n *\n * @remarks\n * This is a convenience function that delegates to the appropriate ta function.\n * Import this from utils, not from ta namespace.\n */\nexport function smooth(\n series: series_float,\n method: 'SMA' | 'EMA' | 'WMA' | 'RMA',\n length: int\n): series_float {\n switch (method.toUpperCase()) {\n case 'SMA': return sma(series, length);\n case 'EMA': return ema(series, length);\n case 'WMA': return wma(series, length);\n case 'RMA': return rma(series, length);\n default:\n throw new Error(`Unknown smoothing method: ${method}`);\n }\n}\n\n/**\n * Format series values with timestamps for output\n *\n * @param values - Series of values to format\n * @param timestamps - Array of timestamps (optional)\n * @returns Array of objects with time and value properties\n *\n * @example\n * ```typescript\n * const values = [100, 101, NaN, 103];\n * const times = [1, 2, 3, 4];\n * const formatted = formatOutput(values, times);\n * // [{ time: 1, value: 100 }, { time: 2, value: 101 }, { time: 3, value: null }, { time: 4, value: 103 }]\n * ```\n */\nexport function formatOutput(\n values: series_float,\n timestamps?: number[]\n): Array<{ time: number; value: number | null }> {\n return values.map((value, index) => ({\n time: timestamps ? timestamps[index]! : index,\n value: isNaN(value) ? null : value\n }));\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Sources other than the bar fields: a study calculated on another study's output (PineScript hosts call it "study
3
+ * on study"). A source input then holds a host name such as `"<sourceId>$<plotIndex>"`; the host resolves it to
4
+ * values aligned with the bars it passes to the calculation (`NaN` where there is no value).
5
+ *
6
+ * The host sets the resolver around a calculation and clears it after; a name it does not know falls back to
7
+ * `close`, as before.
8
+ */
9
+ /** Values of a source by name, aligned with the bars of the calculation; null/undefined = unknown name. */
10
+ export type SourceResolver = (name: string) => ArrayLike<number> | null | undefined;
11
+ /** Built-in sources (bar fields and their averages). */
12
+ export declare const BUILTIN_SOURCES: ReadonlySet<string>;
13
+ /** Set (or clear with null) how source names other than the built-ins are read. */
14
+ export declare function setSourceResolver(fn: SourceResolver | null): void;
15
+ /** Values of a non built-in source name, or null when no resolver knows it. */
16
+ export declare function externalSource(name: string): ArrayLike<number> | null;
17
+ //# sourceMappingURL=source-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-resolver.d.ts","sourceRoot":"","sources":["../../../src/utils/source-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,2GAA2G;AAC3G,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;AAIpF,wDAAwD;AACxD,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,MAAM,CAE9C,CAAC;AAEH,mFAAmF;AACnF,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,cAAc,GAAG,IAAI,GAAG,IAAI,CAEjE;AAED,+EAA+E;AAC/E,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,CAGrE"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var source_resolver_exports = {};
20
+ __export(source_resolver_exports, {
21
+ BUILTIN_SOURCES: () => BUILTIN_SOURCES,
22
+ externalSource: () => externalSource,
23
+ setSourceResolver: () => setSourceResolver
24
+ });
25
+ module.exports = __toCommonJS(source_resolver_exports);
26
+ let resolver = null;
27
+ const BUILTIN_SOURCES = /* @__PURE__ */ new Set([
28
+ "open",
29
+ "high",
30
+ "low",
31
+ "close",
32
+ "hl2",
33
+ "hlc3",
34
+ "ohlc4",
35
+ "hlcc4",
36
+ "volume"
37
+ ]);
38
+ function setSourceResolver(fn) {
39
+ resolver = fn;
40
+ }
41
+ function externalSource(name) {
42
+ if (!resolver || BUILTIN_SOURCES.has(name)) return null;
43
+ return resolver(name) ?? null;
44
+ }
45
+ //# sourceMappingURL=source-resolver.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/utils/source-resolver.ts"],
4
+ "sourcesContent": ["/**\n * Sources other than the bar fields: a study calculated on another study's output (PineScript hosts call it \"study\n * on study\"). A source input then holds a host name such as `\"<sourceId>$<plotIndex>\"`; the host resolves it to\n * values aligned with the bars it passes to the calculation (`NaN` where there is no value).\n *\n * The host sets the resolver around a calculation and clears it after; a name it does not know falls back to\n * `close`, as before.\n */\n\n/** Values of a source by name, aligned with the bars of the calculation; null/undefined = unknown name. */\nexport type SourceResolver = (name: string) => ArrayLike<number> | null | undefined;\n\nlet resolver: SourceResolver | null = null;\n\n/** Built-in sources (bar fields and their averages). */\nexport const BUILTIN_SOURCES: ReadonlySet<string> = new Set([\n 'open', 'high', 'low', 'close', 'hl2', 'hlc3', 'ohlc4', 'hlcc4', 'volume',\n]);\n\n/** Set (or clear with null) how source names other than the built-ins are read. */\nexport function setSourceResolver(fn: SourceResolver | null): void {\n resolver = fn;\n}\n\n/** Values of a non built-in source name, or null when no resolver knows it. */\nexport function externalSource(name: string): ArrayLike<number> | null {\n if (!resolver || BUILTIN_SOURCES.has(name)) return null;\n return resolver(name) ?? null;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYA,IAAI,WAAkC;AAG/B,MAAM,kBAAuC,oBAAI,IAAI;AAAA,EAC1D;AAAA,EAAQ;AAAA,EAAQ;AAAA,EAAO;AAAA,EAAS;AAAA,EAAO;AAAA,EAAQ;AAAA,EAAS;AAAA,EAAS;AACnE,CAAC;AAGM,SAAS,kBAAkB,IAAiC;AACjE,aAAW;AACb;AAGO,SAAS,eAAe,MAAwC;AACrE,MAAI,CAAC,YAAY,gBAAgB,IAAI,IAAI,EAAG,QAAO;AACnD,SAAO,SAAS,IAAI,KAAK;AAC3B;",
6
+ "names": []
7
+ }
@@ -111,6 +111,8 @@ export declare function setDrawingBar(barIndex: number | null, last?: boolean, l
111
111
  * #176).
112
112
  */
113
113
  export declare function checkBarIndex(method: string, variable: string, x: number, xloc: string | undefined): number;
114
+ /** The kinds of drawing objects created since the last {@link resetDrawings}, even when none is alive any more. */
115
+ export declare function createdDrawingKinds(): DrawingKind[];
114
116
  /** Records a new object and deletes the oldest objects of its kind when the count is too high. */
115
117
  export declare function register<K extends DrawingKind>(kind: K, obj: DrawingTypes[K]): DrawingTypes[K];
116
118
  /** Deletes an object (no effect when it is already deleted). */
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/drawing/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAErF,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC;AAEvF,UAAU,YAAY;IACpB,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,GAAG,CAAC;IACT,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,KAAK,CAAC;CACd;AAED,+FAA+F;AAC/F,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAIpC,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,GAAG,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AAkChG;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAOvD;AAED,yFAAyF;AACzF,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAKnE;AAgBD,kEAAkE;AAClE,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,MAAM;IAC/C,8FAA8F;IAC9F,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC;CACtB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAY5E;AAED,oHAAoH;AACpH,eAAO,MAAM,qBAAqB,QAAQ,CAAC;AAC3C,4HAA4H;AAC5H,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAwB5C;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,GAAE,OAAe,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAetG;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAiB3G;AAuDD,kGAAkG;AAClG,wBAAgB,QAAQ,CAAC,CAAC,SAAS,WAAW,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAS9F;AA8BD,gEAAgE;AAChE,wBAAgB,MAAM,CAAC,CAAC,SAAS,WAAW,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CASjF;AAED,8EAA8E;AAC9E,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAE/C;AAED,mEAAmE;AACnE,wBAAgB,GAAG,CAAC,CAAC,SAAS,WAAW,EAAE,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAE1E;AAED,4FAA4F;AAC5F,wBAAgB,aAAa,CAAC,SAAS,GAAE,aAAkB,GAAG,IAAI,CAejE;AAED,uGAAuG;AACvG,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI,CAE/D"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/drawing/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAErF,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC;AAEvF,UAAU,YAAY;IACpB,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,GAAG,CAAC;IACT,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,KAAK,CAAC;CACd;AAED,+FAA+F;AAC/F,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAIpC,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,GAAG,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AAkChG;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAOvD;AAED,yFAAyF;AACzF,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAKnE;AAgBD,kEAAkE;AAClE,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,MAAM;IAC/C,8FAA8F;IAC9F,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC;CACtB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAY5E;AAED,oHAAoH;AACpH,eAAO,MAAM,qBAAqB,QAAQ,CAAC;AAC3C,4HAA4H;AAC5H,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAwB5C;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,GAAE,OAAe,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAetG;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAiB3G;AA0DD,mHAAmH;AACnH,wBAAgB,mBAAmB,IAAI,WAAW,EAAE,CAEnD;AAED,kGAAkG;AAClG,wBAAgB,QAAQ,CAAC,CAAC,SAAS,WAAW,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAU9F;AA8BD,gEAAgE;AAChE,wBAAgB,MAAM,CAAC,CAAC,SAAS,WAAW,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CASjF;AAED,8EAA8E;AAC9E,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAE/C;AAED,mEAAmE;AACnE,wBAAgB,GAAG,CAAC,CAAC,SAAS,WAAW,EAAE,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAE1E;AAED,4FAA4F;AAC5F,wBAAgB,aAAa,CAAC,SAAS,GAAE,aAAkB,GAAG,IAAI,CAgBjE;AAED,uGAAuG;AACvG,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI,CAE/D"}
@@ -257,9 +257,16 @@ function cutOldest(kind, list, obj, only) {
257
257
  list.push(...kept);
258
258
  return cut;
259
259
  }
260
+ /** Kinds of the objects created since the last reset (a table counts too), in no order. */
261
+ const created = new Set();
262
+ /** The kinds of drawing objects created since the last {@link resetDrawings}, even when none is alive any more. */
263
+ export function createdDrawingKinds() {
264
+ return [...created];
265
+ }
260
266
  /** Records a new object and deletes the oldest objects of its kind when the count is too high. */
261
267
  export function register(kind, obj) {
262
268
  const list = live[kind];
269
+ created.add(kind);
263
270
  if (lastBar && isCounted(kind))
264
271
  return registerLast(lastBar, kind, obj);
265
272
  if (isCounted(kind) && pending[kind] >= PENDING_RESET[kind])
@@ -332,6 +339,7 @@ export function all(kind) {
332
339
  export function resetDrawings(newLimits = {}) {
333
340
  for (const kind of Object.keys(live))
334
341
  live[kind].length = 0;
342
+ created.clear();
335
343
  held = new WeakMap();
336
344
  releasedAt = new WeakMap();
337
345
  heldAt = new WeakMap();
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/drawing/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/drawing/registry.ts"],"names":[],"mappings":"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"}
@@ -35,7 +35,7 @@ import * as callsite from './callsite/index.js';
35
35
  export { taCore, math, array, map, str, color, time, timeframe, matrix, line, box, label, linefill, chartPoint, polyline, table, text, compare, callsite };
36
36
  export { drawingOutputs, type DrawingOutputs } from './drawing/output.js';
37
37
  export { barInterval, barTime } from './drawing/bar-time.js';
38
- export { resetDrawings, setDrawingLimits, setDrawingBar, holdDrawing, releaseDrawing, varDrawing, type DrawingLimits, type DrawingVariable, } from './drawing/registry.js';
38
+ export { resetDrawings, setDrawingLimits, setDrawingBar, holdDrawing, releaseDrawing, varDrawing, createdDrawingKinds, type DrawingKind, type DrawingLimits, type DrawingVariable, } from './drawing/registry.js';
39
39
  export { chartSessions, sessionPeriods, periodTime, periodClose, tradingDayTime, chartSessionFlags, resampleSession, barTimeAfter, barsUntil, type SessionContext, type ChartSessions, type SessionPeriods, type SessionResample, } from './session/context.js';
40
40
  export { TradingCalendar, type SessionSpec } from './session/calendar.js';
41
41
  export { SessionBars, sessionFlags, type SessionFlags } from './session/bars.js';
@@ -50,6 +50,7 @@ export { sma, ema, rsi, macd, bb, stdev, crossover, crossunder, change, tr, atr,
50
50
  export { abs, ceil, floor, round, max, min, avg, sum, sqrt, pow, exp, log, sin, cos, tan } from './math/index.js';
51
51
  export { rgb, from_hex as color_from_hex, new_color } from './color/index.js';
52
52
  export { ohlcFromBars, getClose, getHigh, getLow, getOpen, getSource, getSourceSeries, at, div } from './utils/index.js';
53
+ export { setSourceResolver, externalSource, BUILTIN_SOURCES, type SourceResolver } from './utils/source-resolver.js';
53
54
  export * from './lib/index.js';
54
55
  export { isNA as na, nz, fixnan } from './utils/index.js';
55
56
  export { indicator, type IndicatorMetadataConfig, type InputDefinition, type IndicatorContext, type IndicatorInstance, type IndicatorConstructor, } from './indicator.js';
@@ -58,13 +59,13 @@ export { plot as plotHelper, createPlot, type Time, type TimeValuePair, type Plo
58
59
  export { setContext, clearContext, getContext, registerCalculate, recalculate, plot, hline, clearPlots, } from './runtime/runtime.js';
59
60
  export { input_int, input_float, input_bool, input_string, input_text_area, input_source, input_timeframe, input_session, input_symbol, input_time, } from './runtime/inputs.js';
60
61
  export { isInputActive } from './runtime/input-active.js';
61
- export type { OakScriptContext, ChartAdapter, InputAdapter, SeriesHandle, SeriesOptions, InputConfig, InputCondition, InputOptions, OhlcvData, PlotConfig, HLineConfig, FillConfig, ArrowConfig, CandleConfig, } from './runtime/types.js';
62
+ export type { OakScriptContext, ChartAdapter, InputAdapter, SeriesHandle, SeriesOptions, InputConfig, InputCondition, InputOptions, OhlcvData, PlotConfig, HLineConfig, FillConfig, ArrowConfig, CandleConfig, ShapeConfig, BarColorConfig, } from './runtime/types.js';
62
63
  export { STRATEGY_CONSTANTS, STRATEGY_DEFAULTS, STRATEGY_NUMBER_VARIABLES, STRATEGY_TEXT_VARIABLES, } from './strategy/index.js';
63
64
  export type * from './strategy/index.js';
64
65
  export { LightweightChartsAdapter } from './runtime/adapters/LightweightChartsAdapter.js';
65
66
  export type { LightweightSeriesDefinitions } from './runtime/adapters/LightweightChartsAdapter.js';
66
67
  export { SimpleInputAdapter } from './runtime/adapters/SimpleInputAdapter.js';
67
- export declare const VERSION = "0.11.6";
68
+ export declare const VERSION = "0.12.0";
68
69
  /**
69
70
  * Library information
70
71
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}