oakscriptjs 0.11.1 → 0.11.2

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 (60) hide show
  1. package/dist/cjs/callsite/index.d.ts.map +1 -1
  2. package/dist/cjs/callsite/index.js +5 -2
  3. package/dist/cjs/callsite/index.js.map +2 -2
  4. package/dist/cjs/index.d.ts +2 -2
  5. package/dist/cjs/index.d.ts.map +1 -1
  6. package/dist/cjs/index.js +2 -1
  7. package/dist/cjs/index.js.map +2 -2
  8. package/dist/cjs/script/index.d.ts +1 -1
  9. package/dist/cjs/script/index.d.ts.map +1 -1
  10. package/dist/cjs/script/index.js +6 -51
  11. package/dist/cjs/script/index.js.map +2 -2
  12. package/dist/cjs/session/calendar.d.ts.map +1 -1
  13. package/dist/cjs/session/calendar.js +1 -0
  14. package/dist/cjs/session/calendar.js.map +2 -2
  15. package/dist/cjs/session/context.d.ts +20 -4
  16. package/dist/cjs/session/context.d.ts.map +1 -1
  17. package/dist/cjs/session/context.js +65 -5
  18. package/dist/cjs/session/context.js.map +2 -2
  19. package/dist/cjs/ta/index.d.ts +31 -29
  20. package/dist/cjs/ta/index.d.ts.map +1 -1
  21. package/dist/cjs/ta/index.js +10 -12
  22. package/dist/cjs/ta/index.js.map +3 -3
  23. package/dist/cjs/table/index.d.ts +10 -5
  24. package/dist/cjs/table/index.d.ts.map +1 -1
  25. package/dist/cjs/table/index.js +11 -2
  26. package/dist/cjs/table/index.js.map +2 -2
  27. package/dist/esm/callsite/index.d.ts.map +1 -1
  28. package/dist/esm/callsite/index.js +5 -2
  29. package/dist/esm/callsite/index.js.map +1 -1
  30. package/dist/esm/index.d.ts +2 -2
  31. package/dist/esm/index.d.ts.map +1 -1
  32. package/dist/esm/index.js +5 -4
  33. package/dist/esm/index.js.map +1 -1
  34. package/dist/esm/script/index.d.ts +1 -1
  35. package/dist/esm/script/index.d.ts.map +1 -1
  36. package/dist/esm/script/index.js +7 -62
  37. package/dist/esm/script/index.js.map +1 -1
  38. package/dist/esm/session/calendar.d.ts.map +1 -1
  39. package/dist/esm/session/calendar.js +4 -0
  40. package/dist/esm/session/calendar.js.map +1 -1
  41. package/dist/esm/session/context.d.ts +20 -4
  42. package/dist/esm/session/context.d.ts.map +1 -1
  43. package/dist/esm/session/context.js +81 -7
  44. package/dist/esm/session/context.js.map +1 -1
  45. package/dist/esm/ta/index.d.ts +31 -29
  46. package/dist/esm/ta/index.d.ts.map +1 -1
  47. package/dist/esm/ta/index.js +45 -45
  48. package/dist/esm/ta/index.js.map +1 -1
  49. package/dist/esm/table/index.d.ts +10 -5
  50. package/dist/esm/table/index.d.ts.map +1 -1
  51. package/dist/esm/table/index.js +23 -8
  52. package/dist/esm/table/index.js.map +1 -1
  53. package/package.json +1 -1
  54. package/src/callsite/index.ts +5 -2
  55. package/src/index.ts +6 -3
  56. package/src/script/index.ts +7 -65
  57. package/src/session/calendar.ts +3 -0
  58. package/src/session/context.ts +99 -7
  59. package/src/ta/index.ts +46 -45
  60. package/src/table/index.ts +22 -6
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/callsite/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/callsite/index.ts"],"names":[],"mappings":"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"}
@@ -91,9 +91,12 @@ function cross() {
91
91
  class KeptCalls {
92
92
  values = [];
93
93
  bars = [];
94
- /** Keeps a non-na value; a later call on the same bar (a loop) replaces the value of that bar. */
94
+ /**
95
+ * Keeps a non-na value (+/-Infinity is skipped like na, #183); a later call on the same bar (a loop) replaces the
96
+ * value of that bar.
97
+ */
95
98
  add(barIndex, value) {
96
- if (Number.isNaN(value)) return;
99
+ if (!Number.isFinite(value)) return;
97
100
  const last = this.values.length - 1;
98
101
  if (last >= 0 && this.bars[last] === barIndex) this.values[last] = value;
99
102
  else {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/callsite/index.ts"],
4
- "sourcesContent": ["/**\n * @fileoverview Per-call history of ta.* functions called in a conditional block.\n *\n * In PineScript, every ta.* call keeps its own history of the values it receives. A call inside\n * an `if` block receives values only on the bars where the block runs, so its history skips the\n * other bars: `ta.crossover(a, b)` is false on the first bar the block runs, and `ta.sma(x, 3)`\n * averages the last 3 values it received, not the last 3 bars.\n *\n * - {@link whenCalled}: vectorized, when the bars of the calls are known in advance.\n * - {@link crossover} / {@link crossunder} / {@link cross} / {@link barssince}: one stateful call site for bar\n * loops, called only on the bars where the Pine call runs.\n * - {@link lowestByBar} / {@link highestByBar} / {@link lowestbars} / {@link highestbars} / {@link pivothigh} /\n * {@link pivotlow}: `ta.lowest` / `ta.highest` / `ta.lowestbars` / `ta.highestbars` / `ta.pivothigh` /\n * `ta.pivotlow` in a conditional block or a loop, also with a length that changes on each call. They keep the\n * non-na values of their calls; {@link lowest} / {@link highest} are the same sites called with `(value, length)`.\n * - {@link linreg}: `ta.linreg` in a conditional block, whose history is kept by bar (not by call).\n * - {@link sum} / {@link sma}: `math.sum` / `ta.sma` in a `for` / `while` loop, called several times on one bar.\n *\n * Since PineScript v6, `and` / `or` are lazy: the right operand runs only when the left operand does not decide\n * the result. A ta.* call in the right operand of `a or b` runs on the bars where `a` is false, in `a and b` on the\n * bars where `a` is true, so it needs a call site too:\n *\n * ```typescript\n * // Pine: longCond = longUp or (src > sig and ta.barssince(longUp) <= lookback)\n * const since = callsite.whenCalled(longUp.map((u, i) => !u && src[i] > sig[i]), (c) => taCore.barssince(c.map(Boolean)), longUp);\n * // ta.barssince(longUp) only runs where longUp is false: it never sees true and stays na\n * ```\n *\n * ```typescript\n * // Pine: if inRange\n * // buy = ta.crossover(cumRsi, 60)\n * const buy = callsite.whenCalled(inRange, (a) => taCore.crossover(a, a.map(() => 60)), cumRsi);\n *\n * // Same call in a bar loop\n * const buyCross = callsite.crossover();\n * for (let i = 0; i < n; i++) {\n * if (inRange[i]) {\n * const buy = buyCross(cumRsi[i], 60);\n * }\n * }\n * ```\n *\n * @module callsite\n */\n\nimport type { Source } from '../types/index.js';\nimport { linreg as linregSeries } from '../ta/index.js';\nimport { RunningSum, isNa } from '../ta/running-sum.js';\nimport { checkSumLength, checkWindowLength } from '../ta/limits.js';\nimport { seededRandom } from '../math/index.js';\n\n/**\n * Runs `fn` on the bars where `called` is true only, like a ta.* call inside an `if` block.\n * `fn` receives the values of `sources` on those bars, in order; its results are placed back on\n * the same bars. The other bars get na (NaN).\n *\n * @param called - true (or non-zero) on the bars where the call runs\n * @param fn - the calculation, for example `(x) => taCore.sma(x, 3)`\n * @param sources - the arguments of the call, one value per chart bar\n */\nexport function whenCalled<T extends number | boolean>(\n called: ArrayLike<boolean | number>,\n fn: (...values: number[][]) => ArrayLike<T>,\n ...sources: Source[]\n): Array<T | number> {\n const bars: number[] = [];\n for (let i = 0; i < called.length; i++) if (called[i]) bars.push(i);\n const result = fn(...sources.map(s => bars.map(i => s[i] ?? NaN)));\n const out = new Array<T | number>(called.length).fill(NaN);\n bars.forEach((bar, k) => {\n out[bar] = result[k]!;\n });\n return out;\n}\n\n/**\n * A call site that keeps the arguments of the last call where both were not na (na before such a call), as\n * ta.crossover / ta.crossunder / ta.cross.\n */\nfunction twoSeriesSite(test: (a: number, b: number, prevA: number, prevB: number) => boolean) {\n let prevA = NaN;\n let prevB = NaN;\n return (a: number, b: number): boolean => {\n const result = test(a, b, prevA, prevB);\n if (!Number.isNaN(a) && !Number.isNaN(b)) {\n prevA = a;\n prevB = b;\n }\n return result;\n };\n}\n\n/**\n * One `ta.crossover(a, b)` call site: compared with the last call where both arguments were not na; false before\n * such a call.\n */\nexport function crossover(): (a: number, b: number) => boolean {\n return twoSeriesSite((a, b, pa, pb) => a > b && pa <= pb);\n}\n\n/**\n * One `ta.crossunder(a, b)` call site: compared with the last call where both arguments were not na; false before\n * such a call.\n */\nexport function crossunder(): (a: number, b: number) => boolean {\n return twoSeriesSite((a, b, pa, pb) => a < b && pa >= pb);\n}\n\n/**\n * One `ta.barssince(condition)` call site: the number of calls since the condition was true on a call (0 on that\n * call), na before the first true condition. An na condition counts as false.\n */\nexport function barssince(): (condition: boolean | number) => number {\n let count = NaN;\n return (condition) => {\n if (condition && !Number.isNaN(condition)) count = 0;\n else if (!Number.isNaN(count)) count++;\n return count;\n };\n}\n\n/**\n * One `ta.cross(a, b)` call site, rules of `ta.cross`: the site keeps the side of the last call where `a` was\n * strictly above or strictly below `b` (none before such a call; equal values and na arguments do not change it),\n * and is true when the arguments are strictly on the other side. False with an na argument.\n */\nexport function cross(): (a: number, b: number) => boolean {\n let side = 0; // -1: last strictly below, 1: last strictly above, 0: none yet\n return (a, b) => {\n if (Number.isNaN(a) || Number.isNaN(b)) return false;\n const result = (side < 0 && a > b) || (side > 0 && a < b);\n if (a < b) side = -1;\n else if (a > b) side = 1;\n return result;\n };\n}\n\n/** The values a ta.highest / ta.lowest / ta.pivothigh call site keeps: the non-na values of its calls, one per bar. */\nclass KeptCalls {\n readonly values: number[] = [];\n readonly bars: number[] = [];\n\n /** Keeps a non-na value; a later call on the same bar (a loop) replaces the value of that bar. */\n add(barIndex: number, value: number): void {\n if (Number.isNaN(value)) return;\n const last = this.values.length - 1;\n if (last >= 0 && this.bars[last] === barIndex) this.values[last] = value;\n else {\n this.values.push(value);\n this.bars.push(barIndex);\n }\n }\n\n /** Position of the best of the last `count` kept values (the newest one on ties), -1 when there is none. */\n best(count: number, isLowest: boolean): number {\n const last = this.values.length - 1;\n if (last < 0 || !(count >= 1)) return -1;\n let best = last;\n for (let k = last - 1; k >= 0 && k > last - count; k--) {\n if (isLowest ? this.values[k]! < this.values[best]! : this.values[k]! > this.values[best]!) best = k;\n }\n return best;\n }\n}\n\n/** One `ta.lowest` / `ta.highest` / `ta.lowestbars` / `ta.highestbars` call site; rules in {@link lowestByBar}. */\nfunction extremeByBarSite(\n isLowest: boolean,\n offsets: boolean\n): (barIndex: number, value: number, length: number) => number {\n const kept = new KeptCalls();\n const name = (isLowest ? 'lowest' : 'highest') + (offsets ? 'bars' : '');\n return (barIndex, value, length) => {\n checkWindowLength(name, length, barIndex);\n kept.add(barIndex, value);\n const len = Math.trunc(length);\n if (barIndex < len - 1) return NaN;\n const best = kept.best(len, isLowest);\n if (best < 0) return NaN;\n return offsets ? -(barIndex - kept.bars[best]!) : kept.values[best]!;\n };\n}\n\n/** {@link extremeByBarSite} called with `(value, length, barIndex?)`: without a bar index, every call is a new bar. */\nfunction extremeSite(isLowest: boolean): (value: number, length: number, barIndex?: number) => number {\n const site = extremeByBarSite(isLowest, false);\n let calls = 0;\n return (value, length, barIndex) => site(barIndex ?? calls++, value, length);\n}\n\n/**\n * One `ta.lowest(source, length)` call site, called with `(value, length, barIndex?)`: the same site as\n * {@link lowestByBar} (same rules). Pass the bar index when the call does not run on every bar; without it every\n * call counts as one bar, which is right for a call on every bar (for example with a length that changes).\n *\n * @example\n * ```typescript\n * // Pine: lowPrice = ta.lowest(close[1], lookback) // lookback changes per bar\n * const lowPrice = callsite.lowest();\n * const out = closes.map((_, i) => lowPrice(i > 0 ? closes[i - 1]! : NaN, lookback[i]!));\n * ```\n */\nexport function lowest(): (value: number, length: number, barIndex?: number) => number {\n return extremeSite(true);\n}\n\n/**\n * One `ta.highest(source, length)` call site, called with `(value, length, barIndex?)`. Same rules as\n * {@link lowest}.\n */\nexport function highest(): (value: number, length: number, barIndex?: number) => number {\n return extremeSite(false);\n}\n\n/**\n * One `ta.lowest(source, length)` call site in a conditional block or a loop, called with\n * `(barIndex, value, length)` on the bars (and loop turns) where the Pine call runs. The length can change from one\n * call to the next.\n *\n * PineScript rules (measured in `if` blocks, ternaries, user functions and `for` loops, with constant lengths and\n * lengths that change, on sources with and without na):\n * - the call site keeps the non-na values it received, each with its bar; nothing is kept for a bar without a call\n * or for an na value\n * - the result is na while `barIndex < length - 1` (by bar, not by call) and while no value was received\n * - otherwise it is the lowest of the last `length` kept values, or of all of them when there are fewer: the first\n * call after bar `length - 1` gives its own value. A call with an na value also gives this result\n * - in a loop (several calls on one bar), a bar has one kept value: each call replaces the value of the earlier\n * calls of that bar, so a call gives the lowest of its value and the values of the bars before\n *\n * Called on every bar, it equals `ta.lowest`.\n *\n * @example\n * ```typescript\n * // Pine: lo = cond ? ta.lowest(low, 6) : na\n * const site = callsite.lowestByBar();\n * const lo = lows.map((v, i) => (cond[i] ? site(i, v, 6) : NaN));\n * ```\n */\nexport function lowestByBar(): (barIndex: number, value: number, length: number) => number {\n return extremeByBarSite(true, false);\n}\n\n/**\n * One `ta.highest(source, length)` call site in a conditional block or a loop, called with\n * `(barIndex, value, length)`. Same rules as {@link lowestByBar}.\n */\nexport function highestByBar(): (barIndex: number, value: number, length: number) => number {\n return extremeByBarSite(false, false);\n}\n\n/**\n * One `ta.lowestbars(source, length)` call site in a conditional block or a loop, called with\n * `(barIndex, value, length)`: the offset (0 or negative) from this bar to the bar of the lowest of the last `length`\n * kept values, the newest one on equal values. The values are kept as in {@link lowestByBar}; the offset counts\n * bars, not calls, so it can be below `-(length - 1)`.\n *\n * @example\n * ```typescript\n * // Pine: off = cond ? ta.lowestbars(low, 10) : na\n * const site = callsite.lowestbars();\n * const off = lows.map((v, i) => (cond[i] ? site(i, v, 10) : NaN));\n * ```\n */\nexport function lowestbars(): (barIndex: number, value: number, length: number) => number {\n return extremeByBarSite(true, true);\n}\n\n/**\n * One `ta.highestbars(source, length)` call site in a conditional block or a loop, called with\n * `(barIndex, value, length)`. Same rules as {@link lowestbars}.\n */\nexport function highestbars(): (barIndex: number, value: number, length: number) => number {\n return extremeByBarSite(false, true);\n}\n\n/** One `ta.pivothigh` / `ta.pivotlow` call site; rules in {@link pivothigh}. */\nfunction pivotSite(isLowest: boolean): (barIndex: number, value: number, leftbars: number, rightbars: number) => number {\n const kept = new KeptCalls();\n return (barIndex, value, leftbars, rightbars) => {\n kept.add(barIndex, value);\n const left = Math.trunc(leftbars);\n const right = Math.trunc(rightbars);\n if (!(barIndex >= left + right)) return NaN;\n const best = kept.best(left + right + 1, isLowest);\n return best >= 0 && kept.bars[best] === barIndex - right ? kept.values[best]! : NaN;\n };\n}\n\n/**\n * One `ta.pivothigh(source, leftbars, rightbars)` call site in a conditional block, called with\n * `(barIndex, value, leftbars, rightbars)` on the bars where the Pine call runs. The lengths can change from one call\n * to the next (the lengths of the current call are used).\n *\n * PineScript rules (measured in `if` blocks and ternaries, and on sources with na):\n * - the call site keeps the non-na values it received, each with its bar\n * - on a call it takes the last `leftbars + rightbars + 1` kept values (all of them when there are fewer) and finds\n * the highest, the newest one on equal values\n * - there is a pivot only when that value is on the bar `rightbars` BARS back (by bar index, not by call); the\n * result is its value, na otherwise and before bar `leftbars + rightbars`\n *\n * Called on every bar, it equals `ta.pivothigh`.\n *\n * @example\n * ```typescript\n * // Pine: ph = useFilter ? ta.pivothigh(src, 5, 5) : na\n * const site = callsite.pivothigh();\n * const ph = src.map((v, i) => (useFilter[i] ? site(i, v, 5, 5) : NaN));\n * ```\n */\nexport function pivothigh(): (barIndex: number, value: number, leftbars: number, rightbars: number) => number {\n return pivotSite(false);\n}\n\n/**\n * One `ta.pivotlow(source, leftbars, rightbars)` call site in a conditional block, called with\n * `(barIndex, value, leftbars, rightbars)`. Same rules as {@link pivothigh} (the lowest value).\n */\nexport function pivotlow(): (barIndex: number, value: number, leftbars: number, rightbars: number) => number {\n return pivotSite(true);\n}\n\n/**\n * One `ta.linreg(source, length, offset)` call site in a conditional block, called with\n * `(barIndex, value, length, offset)` on the bars where the Pine call runs.\n *\n * PineScript rules (measured): `ta.linreg` keeps the values it receives in a ring of `length + 1` slots indexed by the\n * bar index, filled with 0 at the start and written only on the bars where it is called. The window is read from the\n * ring for the last `length` bars: a bar before the first call counts as 0, and a bar without a call holds the value of\n * the call `length + 1` bars earlier (0 if there was none). The result is na before bar `length - 1`. Called on every\n * bar, it equals `ta.linreg`.\n *\n * @example\n * ```typescript\n * // Pine: if bar_index >= 20\n * // a := ta.linreg(close, 10, 0)\n * const site = callsite.linreg();\n * const a = closes.map((c, i) => (i >= 20 ? site(i, c, 10, 0) : NaN));\n * ```\n */\nexport function linreg(): (barIndex: number, value: number, length: number, offset?: number) => number {\n let ring: number[] = [];\n return (barIndex, value, length, offset = 0) => {\n const len = Math.floor(length);\n if (ring.length !== len + 1) ring = new Array<number>(len + 1).fill(0);\n ring[barIndex % (len + 1)] = value;\n if (barIndex < len - 1) return NaN;\n const window = Array.from({ length: len }, (_, k) => ring[(barIndex - len + 1 + k) % (len + 1)]!);\n return linregSeries(window, len, offset)[len - 1]!;\n };\n}\n\n\n/**\n * One `math.sum` call site in a loop; rules in {@link sum}. With `squares`, it also keeps the running sum of the\n * squared values (for {@link stdev}). Returns `[sum, sumOfSquares]` (NaN when not kept).\n */\nfunction loopSumSite(\n name: string,\n squares: boolean\n): (barIndex: number, value: number, length: number) => [number, number] {\n const running = new RunningSum();\n const runningSq = new RunningSum();\n let lastBar = NaN;\n let pending = false;\n return (barIndex, value, length) => {\n const len = Math.floor(length);\n checkSumLength(name === 'sum' ? 'math.sum' : `ta.${name}`, len, barIndex);\n if (!(len >= 1)) throw new Error(`callsite.${name}: length must be at least 1 (got ${length})`);\n if (barIndex !== lastBar) {\n if (pending) {\n running.commit();\n if (squares) runningSq.commit();\n }\n pending = false;\n lastBar = barIndex;\n }\n if (isNa(value)) {\n pending = false;\n return [running.stepNa(len), squares ? runningSq.stepNa(len) : NaN];\n }\n const x = value;\n const out: [number, number] = [running.step(x, len), squares ? runningSq.step(x * x, len) : NaN];\n pending = true;\n return out;\n };\n}\n\n/**\n * One `math.sum(source, length)` call site inside a `for` / `while` loop, called with `(barIndex, value, length)` on\n * each call.\n *\n * PineScript rules (measured on calls in loops, 1 to 3 calls per bar, and bars without a call):\n * - the call site keeps one history value per bar: the value of its last call on that bar\n * - every call on a bar starts from the state of the earlier bars, so it gives the sum of its value and the last\n * `length - 1` kept values; the last call of the bar is the one kept for the later bars\n * - the length can change from one call to the next (also on the same bar): each call first moves the kept sum to\n * its own length as `math.sum` with a series length does (Kahan steps of the raw values)\n * - a bar without a call is not in the history (as a call in an `if` block)\n * - the sum is the same compensated running sum as `math.sum` (bit for bit)\n *\n * An na value is skipped as in `math.sum` (it returns the sum of the last `length` earlier values); when it is the\n * last call of a bar, the bar is not in the history (not measured).\n *\n * @example\n * ```typescript\n * // Pine: for i = 0 to 2\n * // s = math.sum(close * (1 + 0.01 * i), 7)\n * const site = callsite.sum();\n * for (let b = 0; b < closes.length; b++) {\n * for (let i = 0; i <= 2; i++) {\n * const s = site(b, closes[b]! * (1 + 0.01 * i), 7);\n * }\n * }\n * ```\n */\nexport function sum(): (barIndex: number, value: number, length: number) => number {\n const site = loopSumSite('sum', false);\n return (barIndex, value, length) => site(barIndex, value, length)[0];\n}\n\n/**\n * One `ta.sma(source, length)` call site inside a `for` / `while` loop, called with `(barIndex, value, length)` on\n * each call: {@link sum} divided by the length (same rules).\n *\n * @example\n * ```typescript\n * // Pine: evaluate(ratio) => ta.sma(gann(ratio), n) // called once per ratio in a while loop\n * const site = callsite.sma();\n * for (let b = 0; b < closes.length; b++) {\n * for (const ratio of ratios) {\n * const avg = site(b, gann(b, ratio), n);\n * }\n * }\n * ```\n */\nexport function sma(): (barIndex: number, value: number, length: number) => number {\n const site = loopSumSite('sma', false);\n return (barIndex, value, length) => site(barIndex, value, length)[0] / Math.floor(length);\n}\n\n/**\n * One `ta.stdev(source, length, biased)` call site inside a `for` / `while` loop, called with\n * `(barIndex, value, length, biased?)` on each call: the running sums of the values and of their squares follow the\n * rules of {@link sum}; the result is computed from them as `ta.stdev` (bit for bit).\n *\n * @example\n * ```typescript\n * // Pine: for len in lengths\n * // [mid, up, lo] = ta.bb(close, len, 2)\n * const avgSite = callsite.sma();\n * const devSite = callsite.stdev();\n * for (let b = 0; b < closes.length; b++) {\n * for (const len of lengths) {\n * const mid = avgSite(b, closes[b]!, len);\n * const dev = devSite(b, closes[b]!, len);\n * }\n * }\n * ```\n */\nexport function stdev(): (barIndex: number, value: number, length: number, biased?: boolean) => number {\n const site = loopSumSite('stdev', true);\n return (barIndex, value, length, biased = true) => {\n const len = Math.floor(length);\n const [s, sq] = site(barIndex, value, length);\n const mean = s / len;\n const variance = biased ? sq / len - mean * mean : sq / (len - 1) - (mean * s) / (len - 1);\n if (!biased && len <= 1) return NaN;\n return Number.isNaN(variance) ? NaN : variance > 0 ? Math.sqrt(variance) : 0;\n };\n}\n\n/**\n * One `math.random(min, max, seed)` call site: PineScript keeps one generator per call site, so two call sites\n * with the same seed give the same sequence. Called with `(min?, max?)` once per bar.\n *\n * @example\n * ```typescript\n * // Pine: a = math.random(0, 1, 42), b = math.random(0, 1, 42) // a == b on every bar\n * const a = callsite.random(42);\n * const b = callsite.random(42);\n * ```\n */\nexport function random(seed: number): (min?: number, max?: number) => number {\n return seededRandom(seed);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * @fileoverview Per-call history of ta.* functions called in a conditional block.\n *\n * In PineScript, every ta.* call keeps its own history of the values it receives. A call inside\n * an `if` block receives values only on the bars where the block runs, so its history skips the\n * other bars: `ta.crossover(a, b)` is false on the first bar the block runs, and `ta.sma(x, 3)`\n * averages the last 3 values it received, not the last 3 bars.\n *\n * - {@link whenCalled}: vectorized, when the bars of the calls are known in advance.\n * - {@link crossover} / {@link crossunder} / {@link cross} / {@link barssince}: one stateful call site for bar\n * loops, called only on the bars where the Pine call runs.\n * - {@link lowestByBar} / {@link highestByBar} / {@link lowestbars} / {@link highestbars} / {@link pivothigh} /\n * {@link pivotlow}: `ta.lowest` / `ta.highest` / `ta.lowestbars` / `ta.highestbars` / `ta.pivothigh` /\n * `ta.pivotlow` in a conditional block or a loop, also with a length that changes on each call. They keep the\n * non-na values of their calls; {@link lowest} / {@link highest} are the same sites called with `(value, length)`.\n * - {@link linreg}: `ta.linreg` in a conditional block, whose history is kept by bar (not by call).\n * - {@link sum} / {@link sma}: `math.sum` / `ta.sma` in a `for` / `while` loop, called several times on one bar.\n *\n * Since PineScript v6, `and` / `or` are lazy: the right operand runs only when the left operand does not decide\n * the result. A ta.* call in the right operand of `a or b` runs on the bars where `a` is false, in `a and b` on the\n * bars where `a` is true, so it needs a call site too:\n *\n * ```typescript\n * // Pine: longCond = longUp or (src > sig and ta.barssince(longUp) <= lookback)\n * const since = callsite.whenCalled(longUp.map((u, i) => !u && src[i] > sig[i]), (c) => taCore.barssince(c.map(Boolean)), longUp);\n * // ta.barssince(longUp) only runs where longUp is false: it never sees true and stays na\n * ```\n *\n * ```typescript\n * // Pine: if inRange\n * // buy = ta.crossover(cumRsi, 60)\n * const buy = callsite.whenCalled(inRange, (a) => taCore.crossover(a, a.map(() => 60)), cumRsi);\n *\n * // Same call in a bar loop\n * const buyCross = callsite.crossover();\n * for (let i = 0; i < n; i++) {\n * if (inRange[i]) {\n * const buy = buyCross(cumRsi[i], 60);\n * }\n * }\n * ```\n *\n * @module callsite\n */\n\nimport type { Source } from '../types/index.js';\nimport { linreg as linregSeries } from '../ta/index.js';\nimport { RunningSum, isNa } from '../ta/running-sum.js';\nimport { checkSumLength, checkWindowLength } from '../ta/limits.js';\nimport { seededRandom } from '../math/index.js';\n\n/**\n * Runs `fn` on the bars where `called` is true only, like a ta.* call inside an `if` block.\n * `fn` receives the values of `sources` on those bars, in order; its results are placed back on\n * the same bars. The other bars get na (NaN).\n *\n * @param called - true (or non-zero) on the bars where the call runs\n * @param fn - the calculation, for example `(x) => taCore.sma(x, 3)`\n * @param sources - the arguments of the call, one value per chart bar\n */\nexport function whenCalled<T extends number | boolean>(\n called: ArrayLike<boolean | number>,\n fn: (...values: number[][]) => ArrayLike<T>,\n ...sources: Source[]\n): Array<T | number> {\n const bars: number[] = [];\n for (let i = 0; i < called.length; i++) if (called[i]) bars.push(i);\n const result = fn(...sources.map(s => bars.map(i => s[i] ?? NaN)));\n const out = new Array<T | number>(called.length).fill(NaN);\n bars.forEach((bar, k) => {\n out[bar] = result[k]!;\n });\n return out;\n}\n\n/**\n * A call site that keeps the arguments of the last call where both were not na (na before such a call), as\n * ta.crossover / ta.crossunder / ta.cross.\n */\nfunction twoSeriesSite(test: (a: number, b: number, prevA: number, prevB: number) => boolean) {\n let prevA = NaN;\n let prevB = NaN;\n return (a: number, b: number): boolean => {\n const result = test(a, b, prevA, prevB);\n if (!Number.isNaN(a) && !Number.isNaN(b)) {\n prevA = a;\n prevB = b;\n }\n return result;\n };\n}\n\n/**\n * One `ta.crossover(a, b)` call site: compared with the last call where both arguments were not na; false before\n * such a call.\n */\nexport function crossover(): (a: number, b: number) => boolean {\n return twoSeriesSite((a, b, pa, pb) => a > b && pa <= pb);\n}\n\n/**\n * One `ta.crossunder(a, b)` call site: compared with the last call where both arguments were not na; false before\n * such a call.\n */\nexport function crossunder(): (a: number, b: number) => boolean {\n return twoSeriesSite((a, b, pa, pb) => a < b && pa >= pb);\n}\n\n/**\n * One `ta.barssince(condition)` call site: the number of calls since the condition was true on a call (0 on that\n * call), na before the first true condition. An na condition counts as false.\n */\nexport function barssince(): (condition: boolean | number) => number {\n let count = NaN;\n return (condition) => {\n if (condition && !Number.isNaN(condition)) count = 0;\n else if (!Number.isNaN(count)) count++;\n return count;\n };\n}\n\n/**\n * One `ta.cross(a, b)` call site, rules of `ta.cross`: the site keeps the side of the last call where `a` was\n * strictly above or strictly below `b` (none before such a call; equal values and na arguments do not change it),\n * and is true when the arguments are strictly on the other side. False with an na argument.\n */\nexport function cross(): (a: number, b: number) => boolean {\n let side = 0; // -1: last strictly below, 1: last strictly above, 0: none yet\n return (a, b) => {\n if (Number.isNaN(a) || Number.isNaN(b)) return false;\n const result = (side < 0 && a > b) || (side > 0 && a < b);\n if (a < b) side = -1;\n else if (a > b) side = 1;\n return result;\n };\n}\n\n/** The values a ta.highest / ta.lowest / ta.pivothigh call site keeps: the non-na values of its calls, one per bar. */\nclass KeptCalls {\n readonly values: number[] = [];\n readonly bars: number[] = [];\n\n /**\n * Keeps a non-na value (+/-Infinity is skipped like na, #183); a later call on the same bar (a loop) replaces the\n * value of that bar.\n */\n add(barIndex: number, value: number): void {\n if (!Number.isFinite(value)) return;\n const last = this.values.length - 1;\n if (last >= 0 && this.bars[last] === barIndex) this.values[last] = value;\n else {\n this.values.push(value);\n this.bars.push(barIndex);\n }\n }\n\n /** Position of the best of the last `count` kept values (the newest one on ties), -1 when there is none. */\n best(count: number, isLowest: boolean): number {\n const last = this.values.length - 1;\n if (last < 0 || !(count >= 1)) return -1;\n let best = last;\n for (let k = last - 1; k >= 0 && k > last - count; k--) {\n if (isLowest ? this.values[k]! < this.values[best]! : this.values[k]! > this.values[best]!) best = k;\n }\n return best;\n }\n}\n\n/** One `ta.lowest` / `ta.highest` / `ta.lowestbars` / `ta.highestbars` call site; rules in {@link lowestByBar}. */\nfunction extremeByBarSite(\n isLowest: boolean,\n offsets: boolean\n): (barIndex: number, value: number, length: number) => number {\n const kept = new KeptCalls();\n const name = (isLowest ? 'lowest' : 'highest') + (offsets ? 'bars' : '');\n return (barIndex, value, length) => {\n checkWindowLength(name, length, barIndex);\n kept.add(barIndex, value);\n const len = Math.trunc(length);\n if (barIndex < len - 1) return NaN;\n const best = kept.best(len, isLowest);\n if (best < 0) return NaN;\n return offsets ? -(barIndex - kept.bars[best]!) : kept.values[best]!;\n };\n}\n\n/** {@link extremeByBarSite} called with `(value, length, barIndex?)`: without a bar index, every call is a new bar. */\nfunction extremeSite(isLowest: boolean): (value: number, length: number, barIndex?: number) => number {\n const site = extremeByBarSite(isLowest, false);\n let calls = 0;\n return (value, length, barIndex) => site(barIndex ?? calls++, value, length);\n}\n\n/**\n * One `ta.lowest(source, length)` call site, called with `(value, length, barIndex?)`: the same site as\n * {@link lowestByBar} (same rules). Pass the bar index when the call does not run on every bar; without it every\n * call counts as one bar, which is right for a call on every bar (for example with a length that changes).\n *\n * @example\n * ```typescript\n * // Pine: lowPrice = ta.lowest(close[1], lookback) // lookback changes per bar\n * const lowPrice = callsite.lowest();\n * const out = closes.map((_, i) => lowPrice(i > 0 ? closes[i - 1]! : NaN, lookback[i]!));\n * ```\n */\nexport function lowest(): (value: number, length: number, barIndex?: number) => number {\n return extremeSite(true);\n}\n\n/**\n * One `ta.highest(source, length)` call site, called with `(value, length, barIndex?)`. Same rules as\n * {@link lowest}.\n */\nexport function highest(): (value: number, length: number, barIndex?: number) => number {\n return extremeSite(false);\n}\n\n/**\n * One `ta.lowest(source, length)` call site in a conditional block or a loop, called with\n * `(barIndex, value, length)` on the bars (and loop turns) where the Pine call runs. The length can change from one\n * call to the next.\n *\n * PineScript rules (measured in `if` blocks, ternaries, user functions and `for` loops, with constant lengths and\n * lengths that change, on sources with and without na):\n * - the call site keeps the non-na values it received, each with its bar; nothing is kept for a bar without a call\n * or for an na value\n * - the result is na while `barIndex < length - 1` (by bar, not by call) and while no value was received\n * - otherwise it is the lowest of the last `length` kept values, or of all of them when there are fewer: the first\n * call after bar `length - 1` gives its own value. A call with an na value also gives this result\n * - in a loop (several calls on one bar), a bar has one kept value: each call replaces the value of the earlier\n * calls of that bar, so a call gives the lowest of its value and the values of the bars before\n *\n * Called on every bar, it equals `ta.lowest`.\n *\n * @example\n * ```typescript\n * // Pine: lo = cond ? ta.lowest(low, 6) : na\n * const site = callsite.lowestByBar();\n * const lo = lows.map((v, i) => (cond[i] ? site(i, v, 6) : NaN));\n * ```\n */\nexport function lowestByBar(): (barIndex: number, value: number, length: number) => number {\n return extremeByBarSite(true, false);\n}\n\n/**\n * One `ta.highest(source, length)` call site in a conditional block or a loop, called with\n * `(barIndex, value, length)`. Same rules as {@link lowestByBar}.\n */\nexport function highestByBar(): (barIndex: number, value: number, length: number) => number {\n return extremeByBarSite(false, false);\n}\n\n/**\n * One `ta.lowestbars(source, length)` call site in a conditional block or a loop, called with\n * `(barIndex, value, length)`: the offset (0 or negative) from this bar to the bar of the lowest of the last `length`\n * kept values, the newest one on equal values. The values are kept as in {@link lowestByBar}; the offset counts\n * bars, not calls, so it can be below `-(length - 1)`.\n *\n * @example\n * ```typescript\n * // Pine: off = cond ? ta.lowestbars(low, 10) : na\n * const site = callsite.lowestbars();\n * const off = lows.map((v, i) => (cond[i] ? site(i, v, 10) : NaN));\n * ```\n */\nexport function lowestbars(): (barIndex: number, value: number, length: number) => number {\n return extremeByBarSite(true, true);\n}\n\n/**\n * One `ta.highestbars(source, length)` call site in a conditional block or a loop, called with\n * `(barIndex, value, length)`. Same rules as {@link lowestbars}.\n */\nexport function highestbars(): (barIndex: number, value: number, length: number) => number {\n return extremeByBarSite(false, true);\n}\n\n/** One `ta.pivothigh` / `ta.pivotlow` call site; rules in {@link pivothigh}. */\nfunction pivotSite(isLowest: boolean): (barIndex: number, value: number, leftbars: number, rightbars: number) => number {\n const kept = new KeptCalls();\n return (barIndex, value, leftbars, rightbars) => {\n kept.add(barIndex, value);\n const left = Math.trunc(leftbars);\n const right = Math.trunc(rightbars);\n if (!(barIndex >= left + right)) return NaN;\n const best = kept.best(left + right + 1, isLowest);\n return best >= 0 && kept.bars[best] === barIndex - right ? kept.values[best]! : NaN;\n };\n}\n\n/**\n * One `ta.pivothigh(source, leftbars, rightbars)` call site in a conditional block, called with\n * `(barIndex, value, leftbars, rightbars)` on the bars where the Pine call runs. The lengths can change from one call\n * to the next (the lengths of the current call are used).\n *\n * PineScript rules (measured in `if` blocks and ternaries, and on sources with na):\n * - the call site keeps the non-na values it received, each with its bar\n * - on a call it takes the last `leftbars + rightbars + 1` kept values (all of them when there are fewer) and finds\n * the highest, the newest one on equal values\n * - there is a pivot only when that value is on the bar `rightbars` BARS back (by bar index, not by call); the\n * result is its value, na otherwise and before bar `leftbars + rightbars`\n *\n * Called on every bar, it equals `ta.pivothigh`.\n *\n * @example\n * ```typescript\n * // Pine: ph = useFilter ? ta.pivothigh(src, 5, 5) : na\n * const site = callsite.pivothigh();\n * const ph = src.map((v, i) => (useFilter[i] ? site(i, v, 5, 5) : NaN));\n * ```\n */\nexport function pivothigh(): (barIndex: number, value: number, leftbars: number, rightbars: number) => number {\n return pivotSite(false);\n}\n\n/**\n * One `ta.pivotlow(source, leftbars, rightbars)` call site in a conditional block, called with\n * `(barIndex, value, leftbars, rightbars)`. Same rules as {@link pivothigh} (the lowest value).\n */\nexport function pivotlow(): (barIndex: number, value: number, leftbars: number, rightbars: number) => number {\n return pivotSite(true);\n}\n\n/**\n * One `ta.linreg(source, length, offset)` call site in a conditional block, called with\n * `(barIndex, value, length, offset)` on the bars where the Pine call runs.\n *\n * PineScript rules (measured): `ta.linreg` keeps the values it receives in a ring of `length + 1` slots indexed by the\n * bar index, filled with 0 at the start and written only on the bars where it is called. The window is read from the\n * ring for the last `length` bars: a bar before the first call counts as 0, and a bar without a call holds the value of\n * the call `length + 1` bars earlier (0 if there was none). The result is na before bar `length - 1`. Called on every\n * bar, it equals `ta.linreg`.\n *\n * @example\n * ```typescript\n * // Pine: if bar_index >= 20\n * // a := ta.linreg(close, 10, 0)\n * const site = callsite.linreg();\n * const a = closes.map((c, i) => (i >= 20 ? site(i, c, 10, 0) : NaN));\n * ```\n */\nexport function linreg(): (barIndex: number, value: number, length: number, offset?: number) => number {\n let ring: number[] = [];\n return (barIndex, value, length, offset = 0) => {\n const len = Math.floor(length);\n if (ring.length !== len + 1) ring = new Array<number>(len + 1).fill(0);\n ring[barIndex % (len + 1)] = value;\n if (barIndex < len - 1) return NaN;\n const window = Array.from({ length: len }, (_, k) => ring[(barIndex - len + 1 + k) % (len + 1)]!);\n return linregSeries(window, len, offset)[len - 1]!;\n };\n}\n\n\n/**\n * One `math.sum` call site in a loop; rules in {@link sum}. With `squares`, it also keeps the running sum of the\n * squared values (for {@link stdev}). Returns `[sum, sumOfSquares]` (NaN when not kept).\n */\nfunction loopSumSite(\n name: string,\n squares: boolean\n): (barIndex: number, value: number, length: number) => [number, number] {\n const running = new RunningSum();\n const runningSq = new RunningSum();\n let lastBar = NaN;\n let pending = false;\n return (barIndex, value, length) => {\n const len = Math.floor(length);\n checkSumLength(name === 'sum' ? 'math.sum' : `ta.${name}`, len, barIndex);\n if (!(len >= 1)) throw new Error(`callsite.${name}: length must be at least 1 (got ${length})`);\n if (barIndex !== lastBar) {\n if (pending) {\n running.commit();\n if (squares) runningSq.commit();\n }\n pending = false;\n lastBar = barIndex;\n }\n if (isNa(value)) {\n pending = false;\n return [running.stepNa(len), squares ? runningSq.stepNa(len) : NaN];\n }\n const x = value;\n const out: [number, number] = [running.step(x, len), squares ? runningSq.step(x * x, len) : NaN];\n pending = true;\n return out;\n };\n}\n\n/**\n * One `math.sum(source, length)` call site inside a `for` / `while` loop, called with `(barIndex, value, length)` on\n * each call.\n *\n * PineScript rules (measured on calls in loops, 1 to 3 calls per bar, and bars without a call):\n * - the call site keeps one history value per bar: the value of its last call on that bar\n * - every call on a bar starts from the state of the earlier bars, so it gives the sum of its value and the last\n * `length - 1` kept values; the last call of the bar is the one kept for the later bars\n * - the length can change from one call to the next (also on the same bar): each call first moves the kept sum to\n * its own length as `math.sum` with a series length does (Kahan steps of the raw values)\n * - a bar without a call is not in the history (as a call in an `if` block)\n * - the sum is the same compensated running sum as `math.sum` (bit for bit)\n *\n * An na value is skipped as in `math.sum` (it returns the sum of the last `length` earlier values); when it is the\n * last call of a bar, the bar is not in the history (not measured).\n *\n * @example\n * ```typescript\n * // Pine: for i = 0 to 2\n * // s = math.sum(close * (1 + 0.01 * i), 7)\n * const site = callsite.sum();\n * for (let b = 0; b < closes.length; b++) {\n * for (let i = 0; i <= 2; i++) {\n * const s = site(b, closes[b]! * (1 + 0.01 * i), 7);\n * }\n * }\n * ```\n */\nexport function sum(): (barIndex: number, value: number, length: number) => number {\n const site = loopSumSite('sum', false);\n return (barIndex, value, length) => site(barIndex, value, length)[0];\n}\n\n/**\n * One `ta.sma(source, length)` call site inside a `for` / `while` loop, called with `(barIndex, value, length)` on\n * each call: {@link sum} divided by the length (same rules).\n *\n * @example\n * ```typescript\n * // Pine: evaluate(ratio) => ta.sma(gann(ratio), n) // called once per ratio in a while loop\n * const site = callsite.sma();\n * for (let b = 0; b < closes.length; b++) {\n * for (const ratio of ratios) {\n * const avg = site(b, gann(b, ratio), n);\n * }\n * }\n * ```\n */\nexport function sma(): (barIndex: number, value: number, length: number) => number {\n const site = loopSumSite('sma', false);\n return (barIndex, value, length) => site(barIndex, value, length)[0] / Math.floor(length);\n}\n\n/**\n * One `ta.stdev(source, length, biased)` call site inside a `for` / `while` loop, called with\n * `(barIndex, value, length, biased?)` on each call: the running sums of the values and of their squares follow the\n * rules of {@link sum}; the result is computed from them as `ta.stdev` (bit for bit).\n *\n * @example\n * ```typescript\n * // Pine: for len in lengths\n * // [mid, up, lo] = ta.bb(close, len, 2)\n * const avgSite = callsite.sma();\n * const devSite = callsite.stdev();\n * for (let b = 0; b < closes.length; b++) {\n * for (const len of lengths) {\n * const mid = avgSite(b, closes[b]!, len);\n * const dev = devSite(b, closes[b]!, len);\n * }\n * }\n * ```\n */\nexport function stdev(): (barIndex: number, value: number, length: number, biased?: boolean) => number {\n const site = loopSumSite('stdev', true);\n return (barIndex, value, length, biased = true) => {\n const len = Math.floor(length);\n const [s, sq] = site(barIndex, value, length);\n const mean = s / len;\n const variance = biased ? sq / len - mean * mean : sq / (len - 1) - (mean * s) / (len - 1);\n if (!biased && len <= 1) return NaN;\n return Number.isNaN(variance) ? NaN : variance > 0 ? Math.sqrt(variance) : 0;\n };\n}\n\n/**\n * One `math.random(min, max, seed)` call site: PineScript keeps one generator per call site, so two call sites\n * with the same seed give the same sequence. Called with `(min?, max?)` once per bar.\n *\n * @example\n * ```typescript\n * // Pine: a = math.random(0, 1, 42), b = math.random(0, 1, 42) // a == b on every bar\n * const a = callsite.random(42);\n * const b = callsite.random(42);\n * ```\n */\nexport function random(seed: number): (min?: number, max?: number) => number {\n return seededRandom(seed);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["linregSeries"]
7
7
  }
@@ -36,7 +36,7 @@ export { taCore, math, array, map, str, color, time, timeframe, matrix, line, bo
36
36
  export { drawingOutputs, type DrawingOutputs } from './drawing/output.js';
37
37
  export { barInterval, barTime } from './drawing/bar-time.js';
38
38
  export { resetDrawings, setDrawingLimits, setDrawingBar, holdDrawing, releaseDrawing, varDrawing, type DrawingLimits, type DrawingVariable, } from './drawing/registry.js';
39
- export { chartSessions, periodTime, periodClose, tradingDayTime, chartSessionFlags, resampleSession, barTimeAfter, barsUntil, type SessionContext, type ChartSessions, type SessionResample, } from './session/context.js';
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';
42
42
  export { resample, periodsOf, afterCompletion, mapToChart, heikinAshi, type Resampled } from './security/resample.js';
@@ -64,7 +64,7 @@ export type * from './strategy/index.js';
64
64
  export { LightweightChartsAdapter } from './runtime/adapters/LightweightChartsAdapter.js';
65
65
  export type { LightweightSeriesDefinitions } from './runtime/adapters/LightweightChartsAdapter.js';
66
66
  export { SimpleInputAdapter } from './runtime/adapters/SimpleInputAdapter.js';
67
- export declare const VERSION = "0.11.1";
67
+ export declare const VERSION = "0.11.2";
68
68
  /**
69
69
  * Library information
70
70
  */
@@ -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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"}
package/dist/cjs/index.js CHANGED
@@ -133,6 +133,7 @@ __export(index_exports, {
133
133
  securityOther: () => import_other.securityOther,
134
134
  securityOtherValues: () => import_other.securityOtherValues,
135
135
  sessionFlags: () => import_bars.sessionFlags,
136
+ sessionPeriods: () => import_context.sessionPeriods,
136
137
  setContext: () => import_runtime.setContext,
137
138
  setDrawingBar: () => import_registry.setDrawingBar,
138
139
  setDrawingLimits: () => import_registry.setDrawingLimits,
@@ -201,7 +202,7 @@ var import_input_active = require("./runtime/input-active.js");
201
202
  var import_strategy = require("./strategy/index.js");
202
203
  var import_LightweightChartsAdapter = require("./runtime/adapters/LightweightChartsAdapter.js");
203
204
  var import_SimpleInputAdapter = require("./runtime/adapters/SimpleInputAdapter.js");
204
- const VERSION = "0.11.1";
205
+ const VERSION = "0.11.2";
205
206
  const info = {
206
207
  name: "OakScriptJS",
207
208
  version: VERSION,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "sourcesContent": ["/**\n * OakScriptJS - Simplified PineScript-like library for JavaScript\n *\n * This library provides Series-based lazy evaluation and technical analysis functions\n * for building trading indicators. The PineScript-style script API is in `oakscriptjs/script`.\n *\n * Key features:\n * - Series class for lazy evaluation and method chaining\n * - Core TA functions (array-based)\n * - TA-Series wrappers (Series-based)\n *\n * @packageDocumentation\n */\n\n// Export all types\nexport * from './types/index.js';\nexport * from './types/metadata.js';\n\n// Export core namespaces (array-based functions)\nimport * as taCore from './ta/index.js';\nimport * as math from './math/index.js';\nimport * as array from './array/index.js';\nimport * as map from './map/index.js';\nimport * as str from './str/index.js';\nimport * as color from './color/index.js';\nimport * as time from './time/index.js';\nimport * as timeframe from './timeframe/index.js';\nimport * as matrix from './matrix/index.js';\nimport * as line from './line/index.js';\nimport * as box from './box/index.js';\nimport * as label from './label/index.js';\nimport * as linefill from './linefill/index.js';\nimport * as chartPoint from './chartpoint/index.js';\nimport * as polyline from './polyline/index.js';\nimport * as table from './table/index.js';\nimport * as text from './text/index.js';\nimport * as compare from './compare/index.js';\nimport * as callsite from './callsite/index.js';\n\nexport { taCore, math, array, map, str, color, time, timeframe, matrix, line, box, label, linefill, chartPoint, polyline, table, text, compare, callsite };\n\n// Renderable drawings (IndicatorResult labels, lines, boxes, linefills, polylines, tables) and future bar times\nexport { drawingOutputs, type DrawingOutputs } from './drawing/output.js';\nexport { barInterval, barTime } from './drawing/bar-time.js';\n\n// Drawing registry limits (PineScript indicator(max_lines_count / max_labels_count / max_boxes_count / max_polylines_count))\nexport {\n resetDrawings,\n setDrawingLimits,\n setDrawingBar,\n holdDrawing,\n releaseDrawing,\n varDrawing,\n type DrawingLimits,\n type DrawingVariable,\n} from './drawing/registry.js';\n\n// The session of a chart context without a script run: time(tf), time_close(tf), time_tradingday, session.* flags,\n// request.security periods with the session and holidays, and bars after the last bar on the trading calendar\nexport {\n chartSessions,\n periodTime,\n periodClose,\n tradingDayTime,\n chartSessionFlags,\n resampleSession,\n barTimeAfter,\n barsUntil,\n type SessionContext,\n type ChartSessions,\n type SessionResample,\n} from './session/context.js';\nexport { TradingCalendar, type SessionSpec } from './session/calendar.js';\nexport { SessionBars, sessionFlags, type SessionFlags } from './session/bars.js';\n\n// Same-symbol request.security on a higher timeframe (completion and lookahead rules) and ticker.heikinashi\nexport { resample, periodsOf, afterCompletion, mapToChart, heikinAshi, type Resampled } from './security/resample.js';\n// request.security of another symbol: which bar of the other symbol each chart bar shows (#179)\nexport {\n securityOther,\n securityOtherValues,\n securityLowerTf,\n type OtherSymbolChart,\n type OtherSymbolOptions,\n type SymbolCalendar,\n} from './security/other.js';\n\n// Export Series class (self-contained, no context)\nexport { Series, BarData } from './runtime/series.js';\nexport type { SeriesExtractor } from './runtime/series.js';\n\n// Export TA-Series namespace (Series-based wrappers)\nimport * as ta from './ta-series.js';\nexport { ta };\n\n// Export metadata types for indicator return values\nexport type {\n PlotOptions,\n HLineOptions,\n FillOptions,\n InputMetadata,\n PlotMetadata,\n IndicatorMetadata,\n TimeValue,\n PlotData,\n HLineData,\n FillData,\n FillGradient,\n IndicatorResult,\n IndicatorFactory,\n PlotStyle,\n LineStyle,\n PlotDisplay,\n InputType\n} from './types/metadata.js';\n\n// Re-export commonly used functions for convenience\nexport { sma, ema, rsi, macd, bb, stdev, crossover, crossunder, change, tr, atr, cum, vwap } from './ta-series.js';\nexport { abs, ceil, floor, round, max, min, avg, sum, sqrt, pow, exp, log, sin, cos, tan } from './math/index.js';\nexport { rgb, from_hex as color_from_hex, new_color } from './color/index.js';\n\n// Export chart data utilities\nexport { ohlcFromBars, getClose, getHigh, getLow, getOpen, getSource, getSourceSeries, at, div } from './utils/index.js';\n\n// Export libraries (ZigZag, etc.)\nexport * from './lib/index.js';\n\n// Export helper functions for generated indicators (PineScript compatibility)\nexport {isNA as na, nz, fixnan} from './utils/index.js';\n\n// Export indicator infrastructure\nexport {\n indicator,\n type IndicatorMetadataConfig,\n type InputDefinition,\n type IndicatorContext,\n type IndicatorInstance,\n type IndicatorConstructor,\n} from './indicator.js';\n\nexport {\n input,\n type InputValue,\n type IntInputOptions,\n type FloatInputOptions,\n type SourceInputOptions,\n type BoolInputOptions,\n type StringInputOptions,\n type TimeInputOptions,\n type SourceType,\n} from './input.js';\n\nexport {\n plot as plotHelper,\n createPlot,\n type Time,\n type TimeValuePair,\n type PlotOptions as PlotHelperOptions,\n type PlotResult,\n} from './plot.js';\n\n// Runtime exports - global context runtime (setContext, plot, hline) drawing through a ChartAdapter\nexport {\n setContext,\n clearContext,\n getContext,\n registerCalculate,\n recalculate,\n plot,\n hline,\n clearPlots,\n} from './runtime/runtime.js';\n\nexport {\n input_int,\n input_float,\n input_bool,\n input_string,\n input_source,\n input_timeframe,\n input_session,\n input_symbol,\n input_time,\n} from './runtime/inputs.js';\nexport { isInputActive } from './runtime/input-active.js';\n\nexport type {\n OakScriptContext,\n ChartAdapter,\n InputAdapter,\n SeriesHandle,\n SeriesOptions,\n InputConfig,\n InputCondition,\n InputOptions,\n OhlcvData,\n PlotConfig,\n HLineConfig,\n FillConfig,\n ArrowConfig,\n CandleConfig,\n} from './runtime/types.js';\n\n// Strategy types and constants (the script API forwards strategy.* calls to a host engine)\nexport {\n STRATEGY_CONSTANTS,\n STRATEGY_DEFAULTS,\n STRATEGY_NUMBER_VARIABLES,\n STRATEGY_TEXT_VARIABLES,\n} from './strategy/index.js';\nexport type * from './strategy/index.js';\n\nexport { LightweightChartsAdapter } from './runtime/adapters/LightweightChartsAdapter.js';\nexport type { LightweightSeriesDefinitions } from './runtime/adapters/LightweightChartsAdapter.js';\nexport { SimpleInputAdapter } from './runtime/adapters/SimpleInputAdapter.js';\n\n// Version\nexport const VERSION = '0.11.1';\n\n/**\n * Library information\n */\nexport const info = {\n name: 'OakScriptJS',\n version: VERSION,\n description: 'Simplified PineScript-like library - Series + TA functions',\n features: {\n series: 'Lazy evaluation with Series class',\n ta: 'Technical analysis functions (Series and array-based)',\n script: 'PineScript-style script API (oakscriptjs/script): indicator, strategy, inputs, plots, request.security',\n runtime: 'Global context runtime drawing through a ChartAdapter',\n indicator: 'Indicator function with automatic pane management'\n },\n namespaces: {\n core: ['ta', 'math', 'array', 'map', 'str', 'color', 'time', 'timeframe', 'matrix'],\n drawing: ['line', 'box', 'label', 'linefill', 'chartPoint', 'polyline', 'table', 'text'],\n runtime: ['setContext', 'plot', 'hline', 'input_*'],\n indicator: ['indicator', 'input', 'plotHelper', 'createPlot']\n }\n};\n\n// PineScript compatibility stubs - functions that have no runtime effect\n// These are no-ops so that PineScript-style code runs without modification\n\n/**\n * alertcondition() - Stub for PineScript alert configuration\n * In PineScript, this registers an alert condition. In oakscriptjs, it's a no-op\n * since alert configuration is handled by the host application.\n */\nexport function alertcondition(_condition: unknown, _title?: string, _message?: string): void {\n // No-op: Alert conditions are handled by the host application\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA,0BAAc,6BAfd;AAgBA,0BAAc,gCAhBd;AAmBA,aAAwB;AACxB,WAAsB;AACtB,YAAuB;AACvB,UAAqB;AACrB,UAAqB;AACrB,YAAuB;AACvB,WAAsB;AACtB,gBAA2B;AAC3B,aAAwB;AACxB,WAAsB;AACtB,UAAqB;AACrB,YAAuB;AACvB,eAA0B;AAC1B,iBAA4B;AAC5B,eAA0B;AAC1B,YAAuB;AACvB,WAAsB;AACtB,cAAyB;AACzB,eAA0B;AAK1B,oBAAoD;AACpD,sBAAqC;AAGrC,sBASO;AAIP,qBAYO;AACP,sBAAkD;AAClD,kBAA6D;AAG7D,sBAA6F;AAE7F,mBAOO;AAGP,oBAAgC;AAIhC,SAAoB;AAyBpB,uBAAkG;AAClG,kBAAgG;AAChG,mBAA2D;AAG3D,mBAAsG;AAGtG,0BAAc,2BA7Hd;AAgIA,IAAAA,gBAAqC;AAGrC,uBAOO;AAEP,mBAUO;AAEP,kBAOO;AAGP,qBASO;AAEP,oBAUO;AACP,0BAA8B;AAoB9B,sBAKO;AAGP,sCAAyC;AAEzC,gCAAmC;AAG5B,MAAM,UAAU;AAKhB,MAAM,OAAO;AAAA,EAClB,MAAM;AAAA,EACN,SAAS;AAAA,EACT,aAAa;AAAA,EACb,UAAU;AAAA,IACR,QAAQ;AAAA,IACR,IAAI;AAAA,IACJ,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,WAAW;AAAA,EACb;AAAA,EACA,YAAY;AAAA,IACV,MAAM,CAAC,MAAM,QAAQ,SAAS,OAAO,OAAO,SAAS,QAAQ,aAAa,QAAQ;AAAA,IAClF,SAAS,CAAC,QAAQ,OAAO,SAAS,YAAY,cAAc,YAAY,SAAS,MAAM;AAAA,IACvF,SAAS,CAAC,cAAc,QAAQ,SAAS,SAAS;AAAA,IAClD,WAAW,CAAC,aAAa,SAAS,cAAc,YAAY;AAAA,EAC9D;AACF;AAUO,SAAS,eAAe,YAAqB,QAAiB,UAAyB;AAE9F;",
4
+ "sourcesContent": ["/**\n * OakScriptJS - Simplified PineScript-like library for JavaScript\n *\n * This library provides Series-based lazy evaluation and technical analysis functions\n * for building trading indicators. The PineScript-style script API is in `oakscriptjs/script`.\n *\n * Key features:\n * - Series class for lazy evaluation and method chaining\n * - Core TA functions (array-based)\n * - TA-Series wrappers (Series-based)\n *\n * @packageDocumentation\n */\n\n// Export all types\nexport * from './types/index.js';\nexport * from './types/metadata.js';\n\n// Export core namespaces (array-based functions)\nimport * as taCore from './ta/index.js';\nimport * as math from './math/index.js';\nimport * as array from './array/index.js';\nimport * as map from './map/index.js';\nimport * as str from './str/index.js';\nimport * as color from './color/index.js';\nimport * as time from './time/index.js';\nimport * as timeframe from './timeframe/index.js';\nimport * as matrix from './matrix/index.js';\nimport * as line from './line/index.js';\nimport * as box from './box/index.js';\nimport * as label from './label/index.js';\nimport * as linefill from './linefill/index.js';\nimport * as chartPoint from './chartpoint/index.js';\nimport * as polyline from './polyline/index.js';\nimport * as table from './table/index.js';\nimport * as text from './text/index.js';\nimport * as compare from './compare/index.js';\nimport * as callsite from './callsite/index.js';\n\nexport { taCore, math, array, map, str, color, time, timeframe, matrix, line, box, label, linefill, chartPoint, polyline, table, text, compare, callsite };\n\n// Renderable drawings (IndicatorResult labels, lines, boxes, linefills, polylines, tables) and future bar times\nexport { drawingOutputs, type DrawingOutputs } from './drawing/output.js';\nexport { barInterval, barTime } from './drawing/bar-time.js';\n\n// Drawing registry limits (PineScript indicator(max_lines_count / max_labels_count / max_boxes_count / max_polylines_count))\nexport {\n resetDrawings,\n setDrawingLimits,\n setDrawingBar,\n holdDrawing,\n releaseDrawing,\n varDrawing,\n type DrawingLimits,\n type DrawingVariable,\n} from './drawing/registry.js';\n\n// The session of a chart context without a script run: time(tf, session, timezone), time_close(...), time_tradingday,\n// session.* flags, request.security periods with the session and holidays, and bars after the last bar on the trading\n// calendar\nexport {\n chartSessions,\n sessionPeriods,\n periodTime,\n periodClose,\n tradingDayTime,\n chartSessionFlags,\n resampleSession,\n barTimeAfter,\n barsUntil,\n type SessionContext,\n type ChartSessions,\n type SessionPeriods,\n type SessionResample,\n} from './session/context.js';\nexport { TradingCalendar, type SessionSpec } from './session/calendar.js';\nexport { SessionBars, sessionFlags, type SessionFlags } from './session/bars.js';\n\n// Same-symbol request.security on a higher timeframe (completion and lookahead rules) and ticker.heikinashi\nexport { resample, periodsOf, afterCompletion, mapToChart, heikinAshi, type Resampled } from './security/resample.js';\n// request.security of another symbol: which bar of the other symbol each chart bar shows (#179)\nexport {\n securityOther,\n securityOtherValues,\n securityLowerTf,\n type OtherSymbolChart,\n type OtherSymbolOptions,\n type SymbolCalendar,\n} from './security/other.js';\n\n// Export Series class (self-contained, no context)\nexport { Series, BarData } from './runtime/series.js';\nexport type { SeriesExtractor } from './runtime/series.js';\n\n// Export TA-Series namespace (Series-based wrappers)\nimport * as ta from './ta-series.js';\nexport { ta };\n\n// Export metadata types for indicator return values\nexport type {\n PlotOptions,\n HLineOptions,\n FillOptions,\n InputMetadata,\n PlotMetadata,\n IndicatorMetadata,\n TimeValue,\n PlotData,\n HLineData,\n FillData,\n FillGradient,\n IndicatorResult,\n IndicatorFactory,\n PlotStyle,\n LineStyle,\n PlotDisplay,\n InputType\n} from './types/metadata.js';\n\n// Re-export commonly used functions for convenience\nexport { sma, ema, rsi, macd, bb, stdev, crossover, crossunder, change, tr, atr, cum, vwap } from './ta-series.js';\nexport { abs, ceil, floor, round, max, min, avg, sum, sqrt, pow, exp, log, sin, cos, tan } from './math/index.js';\nexport { rgb, from_hex as color_from_hex, new_color } from './color/index.js';\n\n// Export chart data utilities\nexport { ohlcFromBars, getClose, getHigh, getLow, getOpen, getSource, getSourceSeries, at, div } from './utils/index.js';\n\n// Export libraries (ZigZag, etc.)\nexport * from './lib/index.js';\n\n// Export helper functions for generated indicators (PineScript compatibility)\nexport {isNA as na, nz, fixnan} from './utils/index.js';\n\n// Export indicator infrastructure\nexport {\n indicator,\n type IndicatorMetadataConfig,\n type InputDefinition,\n type IndicatorContext,\n type IndicatorInstance,\n type IndicatorConstructor,\n} from './indicator.js';\n\nexport {\n input,\n type InputValue,\n type IntInputOptions,\n type FloatInputOptions,\n type SourceInputOptions,\n type BoolInputOptions,\n type StringInputOptions,\n type TimeInputOptions,\n type SourceType,\n} from './input.js';\n\nexport {\n plot as plotHelper,\n createPlot,\n type Time,\n type TimeValuePair,\n type PlotOptions as PlotHelperOptions,\n type PlotResult,\n} from './plot.js';\n\n// Runtime exports - global context runtime (setContext, plot, hline) drawing through a ChartAdapter\nexport {\n setContext,\n clearContext,\n getContext,\n registerCalculate,\n recalculate,\n plot,\n hline,\n clearPlots,\n} from './runtime/runtime.js';\n\nexport {\n input_int,\n input_float,\n input_bool,\n input_string,\n input_source,\n input_timeframe,\n input_session,\n input_symbol,\n input_time,\n} from './runtime/inputs.js';\nexport { isInputActive } from './runtime/input-active.js';\n\nexport type {\n OakScriptContext,\n ChartAdapter,\n InputAdapter,\n SeriesHandle,\n SeriesOptions,\n InputConfig,\n InputCondition,\n InputOptions,\n OhlcvData,\n PlotConfig,\n HLineConfig,\n FillConfig,\n ArrowConfig,\n CandleConfig,\n} from './runtime/types.js';\n\n// Strategy types and constants (the script API forwards strategy.* calls to a host engine)\nexport {\n STRATEGY_CONSTANTS,\n STRATEGY_DEFAULTS,\n STRATEGY_NUMBER_VARIABLES,\n STRATEGY_TEXT_VARIABLES,\n} from './strategy/index.js';\nexport type * from './strategy/index.js';\n\nexport { LightweightChartsAdapter } from './runtime/adapters/LightweightChartsAdapter.js';\nexport type { LightweightSeriesDefinitions } from './runtime/adapters/LightweightChartsAdapter.js';\nexport { SimpleInputAdapter } from './runtime/adapters/SimpleInputAdapter.js';\n\n// Version\nexport const VERSION = '0.11.2';\n\n/**\n * Library information\n */\nexport const info = {\n name: 'OakScriptJS',\n version: VERSION,\n description: 'Simplified PineScript-like library - Series + TA functions',\n features: {\n series: 'Lazy evaluation with Series class',\n ta: 'Technical analysis functions (Series and array-based)',\n script: 'PineScript-style script API (oakscriptjs/script): indicator, strategy, inputs, plots, request.security',\n runtime: 'Global context runtime drawing through a ChartAdapter',\n indicator: 'Indicator function with automatic pane management'\n },\n namespaces: {\n core: ['ta', 'math', 'array', 'map', 'str', 'color', 'time', 'timeframe', 'matrix'],\n drawing: ['line', 'box', 'label', 'linefill', 'chartPoint', 'polyline', 'table', 'text'],\n runtime: ['setContext', 'plot', 'hline', 'input_*'],\n indicator: ['indicator', 'input', 'plotHelper', 'createPlot']\n }\n};\n\n// PineScript compatibility stubs - functions that have no runtime effect\n// These are no-ops so that PineScript-style code runs without modification\n\n/**\n * alertcondition() - Stub for PineScript alert configuration\n * In PineScript, this registers an alert condition. In oakscriptjs, it's a no-op\n * since alert configuration is handled by the host application.\n */\nexport function alertcondition(_condition: unknown, _title?: string, _message?: string): void {\n // No-op: Alert conditions are handled by the host application\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA,0BAAc,6BAfd;AAgBA,0BAAc,gCAhBd;AAmBA,aAAwB;AACxB,WAAsB;AACtB,YAAuB;AACvB,UAAqB;AACrB,UAAqB;AACrB,YAAuB;AACvB,WAAsB;AACtB,gBAA2B;AAC3B,aAAwB;AACxB,WAAsB;AACtB,UAAqB;AACrB,YAAuB;AACvB,eAA0B;AAC1B,iBAA4B;AAC5B,eAA0B;AAC1B,YAAuB;AACvB,WAAsB;AACtB,cAAyB;AACzB,eAA0B;AAK1B,oBAAoD;AACpD,sBAAqC;AAGrC,sBASO;AAKP,qBAcO;AACP,sBAAkD;AAClD,kBAA6D;AAG7D,sBAA6F;AAE7F,mBAOO;AAGP,oBAAgC;AAIhC,SAAoB;AAyBpB,uBAAkG;AAClG,kBAAgG;AAChG,mBAA2D;AAG3D,mBAAsG;AAGtG,0BAAc,2BAhId;AAmIA,IAAAA,gBAAqC;AAGrC,uBAOO;AAEP,mBAUO;AAEP,kBAOO;AAGP,qBASO;AAEP,oBAUO;AACP,0BAA8B;AAoB9B,sBAKO;AAGP,sCAAyC;AAEzC,gCAAmC;AAG5B,MAAM,UAAU;AAKhB,MAAM,OAAO;AAAA,EAClB,MAAM;AAAA,EACN,SAAS;AAAA,EACT,aAAa;AAAA,EACb,UAAU;AAAA,IACR,QAAQ;AAAA,IACR,IAAI;AAAA,IACJ,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,WAAW;AAAA,EACb;AAAA,EACA,YAAY;AAAA,IACV,MAAM,CAAC,MAAM,QAAQ,SAAS,OAAO,OAAO,SAAS,QAAQ,aAAa,QAAQ;AAAA,IAClF,SAAS,CAAC,QAAQ,OAAO,SAAS,YAAY,cAAc,YAAY,SAAS,MAAM;AAAA,IACvF,SAAS,CAAC,cAAc,QAAQ,SAAS,SAAS;AAAA,IAClD,WAAW,CAAC,aAAa,SAAS,cAAc,YAAY;AAAA,EAC9D;AACF;AAUO,SAAS,eAAe,YAAqB,QAAiB,UAAyB;AAE9F;",
6
6
  "names": ["import_utils"]
7
7
  }
@@ -1018,6 +1018,7 @@ export declare const table: {
1018
1018
  cell(table_id: import("../index.js").Table, column: number, row: number, text?: string, width?: number, height?: number, text_color?: import("../types/index.js").color, text_halign?: "left" | "right" | "center", text_valign?: "center" | "top" | "bottom", text_size?: string | number, bgcolor?: import("../types/index.js").color, tooltip?: string, text_font_family?: "default" | "monospace", text_formatting?: number): void;
1019
1019
  merge_cells(table_id: import("../index.js").Table, start_column: number, start_row: number, end_column: number, end_row: number): void;
1020
1020
  clear(table_id: import("../index.js").Table, start_column: number, start_row: number, end_column?: number, end_row?: number): void;
1021
+ set_position(table_id: import("../index.js").Table, position: "top_left" | "top_center" | "top_right" | "middle_left" | "middle_center" | "middle_right" | "bottom_left" | "bottom_center" | "bottom_right"): void;
1021
1022
  delete_table(table_id: import("../index.js").Table): void;
1022
1023
  cell_set_text: (table_id: import("../index.js").Table, column: number, row: number, value: string | undefined) => void;
1023
1024
  cell_set_width: (table_id: import("../index.js").Table, column: number, row: number, value: number | undefined) => void;
@@ -1030,7 +1031,6 @@ export declare const table: {
1030
1031
  cell_set_tooltip: (table_id: import("../index.js").Table, column: number, row: number, value: string | undefined) => void;
1031
1032
  cell_set_text_font_family: (table_id: import("../index.js").Table, column: number, row: number, value: "default" | "monospace" | undefined) => void;
1032
1033
  cell_set_text_formatting: (table_id: import("../index.js").Table, column: number, row: number, value: number | undefined) => void;
1033
- set_position: (table_id: import("../index.js").Table, value: "top_left" | "top_center" | "top_right" | "middle_left" | "middle_center" | "middle_right" | "bottom_left" | "bottom_center" | "bottom_right") => void;
1034
1034
  set_bgcolor: (table_id: import("../index.js").Table, value: import("../types/index.js").color | undefined) => void;
1035
1035
  set_frame_color: (table_id: import("../index.js").Table, value: import("../types/index.js").color | undefined) => void;
1036
1036
  set_frame_width: (table_id: import("../index.js").Table, value: number | undefined) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/script/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/script/index.ts"],"names":[],"mappings":"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"}
@@ -130,7 +130,7 @@ var import_resample = require("../security/resample.js");
130
130
  var import_other = require("../security/other.js");
131
131
  var import_types = require("../types/index.js");
132
132
  var import_strategy = require("../strategy/index.js");
133
- var import_session = require("../time/session.js");
133
+ var import_context = require("../session/context.js");
134
134
  var import_strategy2 = require("../strategy/index.js");
135
135
  var compare = __toESM(require("../compare/index.js"), 1);
136
136
  var import_input_active = require("../runtime/input-active.js");
@@ -1134,23 +1134,6 @@ function sessionBars() {
1134
1134
  }
1135
1135
  return sessionCache;
1136
1136
  }
1137
- function calendarFor(session2, timezone, dayPlacement = false) {
1138
- const { bars: bars2 } = sessionBars();
1139
- if (!session2 && !timezone) return { bars: bars2, test: false };
1140
- const tz = timezone ?? exchangeTimezone();
1141
- if (session2 !== void 0 && (0, import_session.parsePineSession)(session2) === null) {
1142
- const name = session2.trim();
1143
- const symbol = name === "regular" && chartCtx.regularSession ? chartCtx.regularSession : chartCtx.session;
1144
- return { bars: new import_bars.SessionBars(new import_calendar.TradingCalendar(tz, { session: toSpec(symbol).session }, "symbol"), bars2.chart.period), test: true };
1145
- }
1146
- const spec = session2 ? { session: session2 } : { session: toSpec(chartCtx.session).session };
1147
- return {
1148
- bars: new import_bars.SessionBars(new import_calendar.TradingCalendar(tz, spec, session2 ? "pine" : "symbol", dayPlacement), bars2.chart.period),
1149
- test: true,
1150
- // a PineScript session string: the rules of time.inSession (runs ending at 0000, days around a clock change)
1151
- inside: session2 ? (time2) => timeCore.inSession(time2, session2, tz, timeframeCore.in_seconds(bars2.chart.period) * 1e3) : void 0
1152
- };
1153
- }
1154
1137
  function perBar(fn) {
1155
1138
  const times = ctxBars.bars.map(barTime);
1156
1139
  return import_series.Series.fromArray(ctxBars, times.map((t, i) => fn(t, i, times)));
@@ -1160,46 +1143,18 @@ function callableSeries(series, fn) {
1160
1143
  Object.assign(fn, series);
1161
1144
  return fn;
1162
1145
  }
1163
- function sessionPeriods(timeframeString, session2, timezone) {
1164
- const tf = timeframeCore.info(timeframeString);
1165
- const { bars: bars2, test, inside } = calendarFor(session2, timezone, !tf.isintraday);
1166
- const open2 = (t) => bars2.timeOf(t, timeframeString);
1167
- const close2 = (t) => bars2.closeOf(t, timeframeString);
1168
- if (!test) return { open: open2, close: close2 };
1169
- if (tf.isintraday) {
1170
- if (session2 !== void 0 && (0, import_session.parsePineSession)(session2) !== null && !bars2.chart.isdwm) {
1171
- const tz = timezone ?? exchangeTimezone();
1172
- const barMs = timeframeCore.in_seconds(bars2.chart.period) * 1e3;
1173
- const ms = timeframeCore.in_seconds(tf.period) * 1e3;
1174
- const run = (t) => (0, import_session.sessionRun)(t, session2, tz, barMs);
1175
- const start = (t, r) => r[0] + Math.floor((t - r[0]) / ms) * ms;
1176
- return {
1177
- open: (t) => {
1178
- const r = run(t);
1179
- return r ? start(t, r) : NaN;
1180
- },
1181
- close: (t) => {
1182
- const r = run(t);
1183
- return r ? Math.min(start(t, r) + ms, r[1]) : NaN;
1184
- }
1185
- };
1186
- }
1187
- const isIn = (t) => inside ? inside(t) : bars2.inside(t);
1188
- return { open: (t) => isIn(t) ? open2(t) : NaN, close: (t) => isIn(t) ? close2(t) : NaN };
1189
- }
1190
- if (tf.isdaily && tf.multiplier === 1) {
1191
- return { open: (t) => bars2.inside(t) ? open2(t) : NaN, close: (t) => bars2.inside(t) ? close2(t) : NaN };
1192
- }
1193
- return { open: open2, close: close2 };
1146
+ function chartSessionPeriods(timeframeString, session2, timezone) {
1147
+ const { bars: bars2 } = sessionBars();
1148
+ return (0, import_context.sessionPeriods)(bars2, { ...chartCtx, timezone: exchangeTimezone() }, timeframeString, session2, timezone);
1194
1149
  }
1195
1150
  function timeFunction(tf, session2, timezone) {
1196
1151
  collector();
1197
- const { open: open2 } = sessionPeriods(tf || chartTimeframe().period, session2, timezone);
1152
+ const { open: open2 } = chartSessionPeriods(tf || chartTimeframe().period, session2, timezone);
1198
1153
  return perBar((t) => open2(t));
1199
1154
  }
1200
1155
  function timeCloseFunction(tf, session2, timezone) {
1201
1156
  collector();
1202
- const { close: close2 } = sessionPeriods(tf || chartTimeframe().period, session2, timezone);
1157
+ const { close: close2 } = chartSessionPeriods(tf || chartTimeframe().period, session2, timezone);
1203
1158
  return perBar((t) => close2(t));
1204
1159
  }
1205
1160
  let runNow = NaN;