oakscriptjs 0.8.1 → 0.9.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.
- package/LICENSE +1 -1
- package/README.md +31 -9
- package/dist/cjs/array/index.d.ts +701 -0
- package/dist/cjs/array/index.d.ts.map +1 -0
- package/dist/cjs/array/index.js +392 -0
- package/dist/cjs/array/index.js.map +7 -0
- package/dist/cjs/box/index.d.ts +444 -0
- package/dist/cjs/box/index.d.ts.map +1 -0
- package/dist/cjs/box/index.js +246 -0
- package/dist/cjs/box/index.js.map +7 -0
- package/dist/cjs/callsite/index.d.ts +61 -0
- package/dist/cjs/callsite/index.d.ts.map +1 -0
- package/dist/cjs/callsite/index.js +65 -0
- package/dist/cjs/callsite/index.js.map +7 -0
- package/dist/cjs/chartpoint/index.d.ts +90 -0
- package/dist/cjs/chartpoint/index.d.ts.map +1 -0
- package/dist/cjs/chartpoint/index.js +56 -0
- package/dist/cjs/chartpoint/index.js.map +7 -0
- package/dist/cjs/color/index.d.ts +285 -0
- package/dist/cjs/color/index.d.ts.map +1 -0
- package/dist/cjs/color/index.js +143 -0
- package/dist/cjs/color/index.js.map +7 -0
- package/dist/cjs/compare/index.d.ts +26 -0
- package/dist/cjs/compare/index.d.ts.map +1 -0
- package/dist/cjs/compare/index.js +50 -0
- package/dist/cjs/compare/index.js.map +7 -0
- package/dist/cjs/drawing/registry.d.ts +42 -0
- package/dist/cjs/drawing/registry.d.ts.map +1 -0
- package/dist/cjs/drawing/registry.js +87 -0
- package/dist/cjs/drawing/registry.js.map +7 -0
- package/dist/cjs/index.d.ts +85 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +184 -0
- package/dist/cjs/index.js.map +7 -0
- package/dist/cjs/indicator.d.ts +117 -0
- package/dist/cjs/indicator.d.ts.map +1 -0
- package/dist/cjs/indicator.js +74 -0
- package/dist/cjs/indicator.js.map +7 -0
- package/dist/cjs/input.d.ts +196 -0
- package/dist/cjs/input.d.ts.map +1 -0
- package/dist/cjs/input.js +197 -0
- package/dist/cjs/input.js.map +7 -0
- package/dist/cjs/label/index.d.ts +303 -0
- package/dist/cjs/label/index.d.ts.map +1 -0
- package/dist/cjs/label/index.js +190 -0
- package/dist/cjs/label/index.js.map +7 -0
- package/dist/cjs/lib/index.d.ts +8 -0
- package/dist/cjs/lib/index.d.ts.map +1 -0
- package/dist/cjs/lib/index.js +19 -0
- package/dist/cjs/lib/index.js.map +7 -0
- package/dist/{lib → cjs/lib}/zigzag/index.d.ts +4 -1
- package/dist/cjs/lib/zigzag/index.d.ts.map +1 -0
- package/dist/cjs/lib/zigzag/index.js +27 -0
- package/dist/cjs/lib/zigzag/index.js.map +7 -0
- package/dist/cjs/lib/zigzag/zigzag.d.ts +100 -0
- package/dist/cjs/lib/zigzag/zigzag.d.ts.map +1 -0
- package/dist/cjs/lib/zigzag/zigzag.js +207 -0
- package/dist/cjs/lib/zigzag/zigzag.js.map +7 -0
- package/dist/cjs/line/index.d.ts +342 -0
- package/dist/cjs/line/index.d.ts.map +1 -0
- package/dist/cjs/line/index.js +193 -0
- package/dist/cjs/line/index.js.map +7 -0
- package/dist/cjs/linefill/index.d.ts +124 -0
- package/dist/cjs/linefill/index.d.ts.map +1 -0
- package/dist/cjs/linefill/index.js +56 -0
- package/dist/cjs/linefill/index.js.map +7 -0
- package/dist/cjs/map/index.d.ts +69 -0
- package/dist/cjs/map/index.d.ts.map +1 -0
- package/dist/cjs/map/index.js +80 -0
- package/dist/cjs/map/index.js.map +7 -0
- package/dist/cjs/math/index.d.ts +560 -0
- package/dist/cjs/math/index.d.ts.map +1 -0
- package/dist/cjs/math/index.js +441 -0
- package/dist/cjs/math/index.js.map +7 -0
- package/dist/cjs/matrix/index.d.ts +1231 -0
- package/dist/cjs/matrix/index.d.ts.map +1 -0
- package/dist/cjs/matrix/index.js +1200 -0
- package/dist/cjs/matrix/index.js.map +7 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/plot.d.ts +76 -0
- package/dist/cjs/plot.d.ts.map +1 -0
- package/dist/cjs/plot.js +51 -0
- package/dist/cjs/plot.js.map +7 -0
- package/dist/cjs/polyline/index.d.ts +115 -0
- package/dist/cjs/polyline/index.d.ts.map +1 -0
- package/dist/cjs/polyline/index.js +76 -0
- package/dist/cjs/polyline/index.js.map +7 -0
- package/dist/cjs/runtime/adapters/LightweightChartsAdapter.d.ts +86 -0
- package/dist/cjs/runtime/adapters/LightweightChartsAdapter.d.ts.map +1 -0
- package/dist/cjs/runtime/adapters/LightweightChartsAdapter.js +141 -0
- package/dist/cjs/runtime/adapters/LightweightChartsAdapter.js.map +7 -0
- package/dist/cjs/runtime/adapters/SimpleInputAdapter.d.ts +59 -0
- package/dist/cjs/runtime/adapters/SimpleInputAdapter.d.ts.map +1 -0
- package/dist/cjs/runtime/adapters/SimpleInputAdapter.js +117 -0
- package/dist/cjs/runtime/adapters/SimpleInputAdapter.js.map +7 -0
- package/dist/{runtime → cjs/runtime}/index.d.ts +12 -5
- package/dist/cjs/runtime/index.d.ts.map +1 -0
- package/dist/cjs/runtime/index.js +49 -0
- package/dist/cjs/runtime/index.js.map +7 -0
- package/dist/cjs/runtime/inputs.d.ts +91 -0
- package/dist/cjs/runtime/inputs.d.ts.map +1 -0
- package/dist/cjs/runtime/inputs.js +262 -0
- package/dist/cjs/runtime/inputs.js.map +7 -0
- package/dist/cjs/runtime/runtime.d.ts +70 -0
- package/dist/cjs/runtime/runtime.d.ts.map +1 -0
- package/dist/cjs/runtime/runtime.js +148 -0
- package/dist/cjs/runtime/runtime.js.map +7 -0
- package/dist/cjs/runtime/series.d.ts +362 -0
- package/dist/cjs/runtime/series.d.ts.map +1 -0
- package/dist/cjs/runtime/series.js +560 -0
- package/dist/cjs/runtime/series.js.map +7 -0
- package/dist/cjs/runtime/types.d.ts +282 -0
- package/dist/cjs/runtime/types.d.ts.map +1 -0
- package/dist/cjs/runtime/types.js +17 -0
- package/dist/cjs/runtime/types.js.map +7 -0
- package/dist/cjs/script/index.d.ts +987 -0
- package/dist/cjs/script/index.d.ts.map +1 -0
- package/dist/cjs/script/index.js +1169 -0
- package/dist/cjs/script/index.js.map +7 -0
- package/dist/cjs/security/resample.d.ts +63 -0
- package/dist/cjs/security/resample.d.ts.map +1 -0
- package/dist/cjs/security/resample.js +84 -0
- package/dist/cjs/security/resample.js.map +7 -0
- package/dist/cjs/session/bars.d.ts +80 -0
- package/dist/cjs/session/bars.d.ts.map +1 -0
- package/dist/cjs/session/bars.js +219 -0
- package/dist/cjs/session/bars.js.map +7 -0
- package/dist/cjs/session/calendar.d.ts +70 -0
- package/dist/cjs/session/calendar.d.ts.map +1 -0
- package/dist/cjs/session/calendar.js +164 -0
- package/dist/cjs/session/calendar.js.map +7 -0
- package/dist/cjs/str/dateformat.d.ts +15 -0
- package/dist/cjs/str/dateformat.d.ts.map +1 -0
- package/dist/cjs/str/dateformat.js +149 -0
- package/dist/cjs/str/dateformat.js.map +7 -0
- package/dist/cjs/str/index.d.ts +459 -0
- package/dist/cjs/str/index.d.ts.map +1 -0
- package/dist/cjs/str/index.js +143 -0
- package/dist/cjs/str/index.js.map +7 -0
- package/dist/cjs/str/messageformat.d.ts +14 -0
- package/dist/cjs/str/messageformat.d.ts.map +1 -0
- package/dist/cjs/str/messageformat.js +114 -0
- package/dist/cjs/str/messageformat.js.map +7 -0
- package/dist/cjs/str/numberformat.d.ts +19 -0
- package/dist/cjs/str/numberformat.d.ts.map +1 -0
- package/dist/cjs/str/numberformat.js +170 -0
- package/dist/cjs/str/numberformat.js.map +7 -0
- package/dist/{strategy → cjs/strategy}/index.d.ts +50 -0
- package/dist/cjs/strategy/index.d.ts.map +1 -0
- package/dist/cjs/strategy/index.js +92 -0
- package/dist/cjs/strategy/index.js.map +7 -0
- package/dist/cjs/ta/index.d.ts +1397 -0
- package/dist/cjs/ta/index.d.ts.map +1 -0
- package/dist/cjs/ta/index.js +1715 -0
- package/dist/cjs/ta/index.js.map +7 -0
- package/dist/cjs/ta/running-sum.d.ts +30 -0
- package/dist/cjs/ta/running-sum.d.ts.map +1 -0
- package/dist/cjs/ta/running-sum.js +99 -0
- package/dist/cjs/ta/running-sum.js.map +7 -0
- package/dist/cjs/ta-series.d.ts +558 -0
- package/dist/cjs/ta-series.d.ts.map +1 -0
- package/dist/cjs/ta-series.js +606 -0
- package/dist/cjs/ta-series.js.map +7 -0
- package/dist/cjs/text/index.d.ts +14 -0
- package/dist/cjs/text/index.d.ts.map +1 -0
- package/dist/cjs/text/index.js +29 -0
- package/dist/cjs/text/index.js.map +7 -0
- package/dist/cjs/time/datestring.d.ts +23 -0
- package/dist/cjs/time/datestring.d.ts.map +1 -0
- package/dist/cjs/time/datestring.js +106 -0
- package/dist/cjs/time/datestring.js.map +7 -0
- package/dist/cjs/time/index.d.ts +89 -0
- package/dist/cjs/time/index.d.ts.map +1 -0
- package/dist/cjs/time/index.js +85 -0
- package/dist/cjs/time/index.js.map +7 -0
- package/dist/cjs/time/session.d.ts +17 -0
- package/dist/cjs/time/session.d.ts.map +1 -0
- package/dist/cjs/time/session.js +65 -0
- package/dist/cjs/time/session.js.map +7 -0
- package/dist/cjs/time/timezone.d.ts +40 -0
- package/dist/cjs/time/timezone.d.ts.map +1 -0
- package/dist/cjs/time/timezone.js +125 -0
- package/dist/cjs/time/timezone.js.map +7 -0
- package/dist/cjs/timeframe/index.d.ts +73 -0
- package/dist/cjs/timeframe/index.d.ts.map +1 -0
- package/dist/cjs/timeframe/index.js +85 -0
- package/dist/cjs/timeframe/index.js.map +7 -0
- package/dist/cjs/types/index.d.ts +343 -0
- package/dist/cjs/types/index.d.ts.map +1 -0
- package/dist/cjs/types/index.js +32 -0
- package/dist/cjs/types/index.js.map +7 -0
- package/dist/cjs/types/metadata.d.ts +300 -0
- package/dist/cjs/types/metadata.d.ts.map +1 -0
- package/dist/cjs/types/metadata.js +17 -0
- package/dist/cjs/types/metadata.js.map +7 -0
- package/dist/cjs/utils/index.d.ts +167 -0
- package/dist/cjs/utils/index.d.ts.map +1 -0
- package/dist/cjs/utils/index.js +209 -0
- package/dist/cjs/utils/index.js.map +7 -0
- package/dist/esm/array/index.d.ts +701 -0
- package/dist/esm/array/index.d.ts.map +1 -0
- package/dist/esm/array/index.js +983 -0
- package/dist/esm/array/index.js.map +1 -0
- package/dist/esm/box/index.d.ts +444 -0
- package/dist/esm/box/index.d.ts.map +1 -0
- package/dist/esm/box/index.js +602 -0
- package/dist/esm/box/index.js.map +1 -0
- package/dist/esm/callsite/index.d.ts +61 -0
- package/dist/esm/callsite/index.d.ts.map +1 -0
- package/dist/esm/callsite/index.js +97 -0
- package/dist/esm/callsite/index.js.map +1 -0
- package/dist/esm/chartpoint/index.d.ts +90 -0
- package/dist/esm/chartpoint/index.d.ts.map +1 -0
- package/dist/esm/chartpoint/index.js +113 -0
- package/dist/esm/chartpoint/index.js.map +1 -0
- package/dist/esm/color/index.d.ts +285 -0
- package/dist/esm/color/index.d.ts.map +1 -0
- package/dist/esm/color/index.js +373 -0
- package/dist/esm/color/index.js.map +1 -0
- package/dist/esm/compare/index.d.ts +26 -0
- package/dist/esm/compare/index.d.ts.map +1 -0
- package/dist/esm/compare/index.js +39 -0
- package/dist/esm/compare/index.js.map +1 -0
- package/dist/esm/drawing/registry.d.ts +42 -0
- package/dist/esm/drawing/registry.d.ts.map +1 -0
- package/dist/esm/drawing/registry.js +89 -0
- package/dist/esm/drawing/registry.js.map +1 -0
- package/dist/esm/index.d.ts +85 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +96 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/indicator.d.ts +117 -0
- package/dist/esm/indicator.d.ts.map +1 -0
- package/dist/esm/indicator.js +84 -0
- package/dist/esm/indicator.js.map +1 -0
- package/dist/esm/input.d.ts +196 -0
- package/dist/esm/input.d.ts.map +1 -0
- package/dist/esm/input.js +183 -0
- package/dist/esm/input.js.map +1 -0
- package/dist/esm/label/index.d.ts +303 -0
- package/dist/esm/label/index.d.ts.map +1 -0
- package/dist/esm/label/index.js +417 -0
- package/dist/esm/label/index.js.map +1 -0
- package/dist/esm/lib/index.d.ts +8 -0
- package/dist/esm/lib/index.d.ts.map +1 -0
- package/dist/esm/lib/index.js +8 -0
- package/dist/esm/lib/index.js.map +1 -0
- package/dist/esm/lib/zigzag/index.d.ts +5 -0
- package/dist/esm/lib/zigzag/index.d.ts.map +1 -0
- package/dist/esm/lib/zigzag/index.js +5 -0
- package/dist/esm/lib/zigzag/index.js.map +1 -0
- package/dist/esm/lib/zigzag/zigzag.d.ts +100 -0
- package/dist/esm/lib/zigzag/zigzag.d.ts.map +1 -0
- package/dist/esm/lib/zigzag/zigzag.js +229 -0
- package/dist/esm/lib/zigzag/zigzag.js.map +1 -0
- package/dist/esm/line/index.d.ts +342 -0
- package/dist/esm/line/index.d.ts.map +1 -0
- package/dist/esm/line/index.js +470 -0
- package/dist/esm/line/index.js.map +1 -0
- package/dist/esm/linefill/index.d.ts +124 -0
- package/dist/esm/linefill/index.d.ts.map +1 -0
- package/dist/esm/linefill/index.js +144 -0
- package/dist/esm/linefill/index.js.map +1 -0
- package/dist/esm/map/index.d.ts +69 -0
- package/dist/esm/map/index.d.ts.map +1 -0
- package/dist/esm/map/index.js +106 -0
- package/dist/esm/map/index.js.map +1 -0
- package/dist/esm/math/index.d.ts +560 -0
- package/dist/esm/math/index.d.ts.map +1 -0
- package/dist/esm/math/index.js +495 -0
- package/dist/esm/math/index.js.map +1 -0
- package/dist/esm/matrix/index.d.ts +1231 -0
- package/dist/esm/matrix/index.d.ts.map +1 -0
- package/dist/esm/matrix/index.js +2450 -0
- package/dist/esm/matrix/index.js.map +1 -0
- package/dist/esm/plot.d.ts +76 -0
- package/dist/esm/plot.d.ts.map +1 -0
- package/dist/esm/plot.js +63 -0
- package/dist/esm/plot.js.map +1 -0
- package/dist/esm/polyline/index.d.ts +115 -0
- package/dist/esm/polyline/index.d.ts.map +1 -0
- package/dist/esm/polyline/index.js +157 -0
- package/dist/esm/polyline/index.js.map +1 -0
- package/dist/esm/runtime/adapters/LightweightChartsAdapter.d.ts +86 -0
- package/dist/esm/runtime/adapters/LightweightChartsAdapter.d.ts.map +1 -0
- package/dist/esm/runtime/adapters/LightweightChartsAdapter.js +140 -0
- package/dist/esm/runtime/adapters/LightweightChartsAdapter.js.map +1 -0
- package/dist/esm/runtime/adapters/SimpleInputAdapter.d.ts +59 -0
- package/dist/esm/runtime/adapters/SimpleInputAdapter.d.ts.map +1 -0
- package/dist/esm/runtime/adapters/SimpleInputAdapter.js +115 -0
- package/dist/esm/runtime/adapters/SimpleInputAdapter.js.map +1 -0
- package/dist/esm/runtime/index.d.ts +13 -0
- package/dist/esm/runtime/index.d.ts.map +1 -0
- package/dist/esm/runtime/index.js +14 -0
- package/dist/esm/runtime/index.js.map +1 -0
- package/dist/esm/runtime/inputs.d.ts +91 -0
- package/dist/esm/runtime/inputs.d.ts.map +1 -0
- package/dist/esm/runtime/inputs.js +334 -0
- package/dist/esm/runtime/inputs.js.map +1 -0
- package/dist/esm/runtime/runtime.d.ts +70 -0
- package/dist/esm/runtime/runtime.d.ts.map +1 -0
- package/dist/esm/runtime/runtime.js +193 -0
- package/dist/esm/runtime/runtime.js.map +1 -0
- package/dist/esm/runtime/series.d.ts +362 -0
- package/dist/esm/runtime/series.d.ts.map +1 -0
- package/dist/esm/runtime/series.js +583 -0
- package/dist/esm/runtime/series.js.map +1 -0
- package/dist/esm/runtime/types.d.ts +282 -0
- package/dist/esm/runtime/types.d.ts.map +1 -0
- package/dist/esm/runtime/types.js +7 -0
- package/dist/esm/runtime/types.js.map +1 -0
- package/dist/esm/script/index.d.ts +987 -0
- package/dist/esm/script/index.d.ts.map +1 -0
- package/dist/esm/script/index.js +1289 -0
- package/dist/esm/script/index.js.map +1 -0
- package/dist/esm/security/resample.d.ts +63 -0
- package/dist/esm/security/resample.d.ts.map +1 -0
- package/dist/esm/security/resample.js +110 -0
- package/dist/esm/security/resample.js.map +1 -0
- package/dist/esm/session/bars.d.ts +80 -0
- package/dist/esm/session/bars.d.ts.map +1 -0
- package/dist/esm/session/bars.js +232 -0
- package/dist/esm/session/bars.js.map +1 -0
- package/dist/esm/session/calendar.d.ts +70 -0
- package/dist/esm/session/calendar.d.ts.map +1 -0
- package/dist/esm/session/calendar.js +172 -0
- package/dist/esm/session/calendar.js.map +1 -0
- package/dist/esm/str/dateformat.d.ts +15 -0
- package/dist/esm/str/dateformat.d.ts.map +1 -0
- package/dist/esm/str/dateformat.js +136 -0
- package/dist/esm/str/dateformat.js.map +1 -0
- package/dist/esm/str/index.d.ts +459 -0
- package/dist/esm/str/index.d.ts.map +1 -0
- package/dist/esm/str/index.js +540 -0
- package/dist/esm/str/index.js.map +1 -0
- package/dist/esm/str/messageformat.d.ts +14 -0
- package/dist/esm/str/messageformat.d.ts.map +1 -0
- package/dist/esm/str/messageformat.js +111 -0
- package/dist/esm/str/messageformat.js.map +1 -0
- package/dist/esm/str/numberformat.d.ts +19 -0
- package/dist/esm/str/numberformat.d.ts.map +1 -0
- package/dist/esm/str/numberformat.js +189 -0
- package/dist/esm/str/numberformat.js.map +1 -0
- package/dist/esm/strategy/index.d.ts +245 -0
- package/dist/esm/strategy/index.d.ts.map +1 -0
- package/dist/esm/strategy/index.js +84 -0
- package/dist/esm/strategy/index.js.map +1 -0
- package/dist/esm/ta/index.d.ts +1397 -0
- package/dist/esm/ta/index.d.ts.map +1 -0
- package/dist/esm/ta/index.js +3227 -0
- package/dist/esm/ta/index.js.map +1 -0
- package/dist/esm/ta/running-sum.d.ts +30 -0
- package/dist/esm/ta/running-sum.d.ts.map +1 -0
- package/dist/esm/ta/running-sum.js +113 -0
- package/dist/esm/ta/running-sum.js.map +1 -0
- package/dist/esm/ta-series.d.ts +558 -0
- package/dist/esm/ta-series.d.ts.map +1 -0
- package/dist/esm/ta-series.js +910 -0
- package/dist/esm/ta-series.js.map +1 -0
- package/dist/esm/text/index.d.ts +14 -0
- package/dist/esm/text/index.d.ts.map +1 -0
- package/dist/esm/text/index.js +14 -0
- package/dist/esm/text/index.js.map +1 -0
- package/dist/esm/time/datestring.d.ts +23 -0
- package/dist/esm/time/datestring.d.ts.map +1 -0
- package/dist/esm/time/datestring.js +94 -0
- package/dist/esm/time/datestring.js.map +1 -0
- package/dist/esm/time/index.d.ts +89 -0
- package/dist/esm/time/index.d.ts.map +1 -0
- package/dist/esm/time/index.js +108 -0
- package/dist/esm/time/index.js.map +1 -0
- package/dist/esm/time/session.d.ts +17 -0
- package/dist/esm/time/session.d.ts.map +1 -0
- package/dist/esm/time/session.js +69 -0
- package/dist/esm/time/session.js.map +1 -0
- package/dist/esm/time/timezone.d.ts +40 -0
- package/dist/esm/time/timezone.d.ts.map +1 -0
- package/dist/esm/time/timezone.js +144 -0
- package/dist/esm/time/timezone.js.map +1 -0
- package/dist/esm/timeframe/index.d.ts +73 -0
- package/dist/esm/timeframe/index.d.ts.map +1 -0
- package/dist/esm/timeframe/index.js +131 -0
- package/dist/esm/timeframe/index.js.map +1 -0
- package/dist/esm/types/index.d.ts +343 -0
- package/dist/esm/types/index.d.ts.map +1 -0
- package/dist/esm/types/index.js +17 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/esm/types/metadata.d.ts +300 -0
- package/dist/esm/types/metadata.d.ts.map +1 -0
- package/dist/esm/types/metadata.js +7 -0
- package/dist/esm/types/metadata.js.map +1 -0
- package/dist/esm/utils/index.d.ts +167 -0
- package/dist/esm/utils/index.d.ts.map +1 -0
- package/dist/esm/utils/index.js +295 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/package.json +53 -23
- package/src/array/index.ts +1056 -0
- package/src/box/index.ts +680 -0
- package/src/callsite/index.ts +104 -0
- package/src/chartpoint/index.ts +126 -0
- package/src/color/index.ts +411 -0
- package/src/compare/index.ts +46 -0
- package/src/drawing/registry.ts +106 -0
- package/src/index.ts +201 -0
- package/src/indicator.ts +185 -0
- package/src/input.ts +280 -0
- package/src/label/index.ts +490 -0
- package/src/lib/index.ts +8 -0
- package/src/lib/zigzag/index.ts +13 -0
- package/src/lib/zigzag/zigzag.ts +318 -0
- package/src/line/index.ts +530 -0
- package/src/linefill/index.ts +152 -0
- package/src/map/index.ts +115 -0
- package/src/math/index.ts +1071 -0
- package/src/matrix/index.ts +2697 -0
- package/src/plot.ts +121 -0
- package/src/polyline/index.ts +184 -0
- package/src/runtime/adapters/LightweightChartsAdapter.ts +201 -0
- package/src/runtime/adapters/SimpleInputAdapter.ts +132 -0
- package/src/runtime/index.ts +52 -0
- package/src/runtime/inputs.ts +377 -0
- package/src/runtime/runtime.ts +241 -0
- package/src/runtime/series.ts +644 -0
- package/src/runtime/types.ts +292 -0
- package/src/script/index.ts +1865 -0
- package/src/security/resample.ts +119 -0
- package/src/session/bars.ts +262 -0
- package/src/session/calendar.ts +199 -0
- package/src/str/dateformat.ts +104 -0
- package/src/str/index.ts +557 -0
- package/src/str/messageformat.ts +109 -0
- package/src/str/numberformat.ts +197 -0
- package/src/strategy/index.ts +281 -0
- package/src/ta/index.ts +3580 -0
- package/src/ta/running-sum.ts +117 -0
- package/src/ta-series.ts +1036 -0
- package/src/text/index.ts +14 -0
- package/src/time/datestring.ts +96 -0
- package/src/time/index.ts +161 -0
- package/src/time/session.ts +79 -0
- package/src/time/timezone.ts +180 -0
- package/src/timeframe/index.ts +144 -0
- package/src/types/index.ts +398 -0
- package/src/types/metadata.ts +334 -0
- package/src/utils/index.ts +334 -0
- package/dist/array/index.d.ts +0 -57
- package/dist/array/index.d.ts.map +0 -1
- package/dist/box/index.d.ts +0 -37
- package/dist/box/index.d.ts.map +0 -1
- package/dist/callsite/index.d.ts +0 -7
- package/dist/callsite/index.d.ts.map +0 -1
- package/dist/chartpoint/index.d.ts +0 -8
- package/dist/chartpoint/index.d.ts.map +0 -1
- package/dist/color/index.d.ts +0 -28
- package/dist/color/index.d.ts.map +0 -1
- package/dist/compare/index.d.ts +0 -8
- package/dist/compare/index.d.ts.map +0 -1
- package/dist/drawing/registry.d.ts +0 -19
- package/dist/drawing/registry.d.ts.map +0 -1
- package/dist/index.cjs +0 -7979
- package/dist/index.d.ts +0 -64
- package/dist/index.d.ts.map +0 -1
- package/dist/index.mjs +0 -7962
- package/dist/indicator.d.ts +0 -42
- package/dist/indicator.d.ts.map +0 -1
- package/dist/input.d.ts +0 -47
- package/dist/input.d.ts.map +0 -1
- package/dist/label/index.d.ts +0 -30
- package/dist/label/index.d.ts.map +0 -1
- package/dist/lib/index.d.ts +0 -2
- package/dist/lib/index.d.ts.map +0 -1
- package/dist/lib/zigzag/index.d.ts.map +0 -1
- package/dist/lib/zigzag/zigzag.d.ts +0 -47
- package/dist/lib/zigzag/zigzag.d.ts.map +0 -1
- package/dist/line/index.d.ts +0 -30
- package/dist/line/index.d.ts.map +0 -1
- package/dist/linefill/index.d.ts +0 -10
- package/dist/linefill/index.d.ts.map +0 -1
- package/dist/map/index.d.ts +0 -14
- package/dist/map/index.d.ts.map +0 -1
- package/dist/math/index.d.ts +0 -53
- package/dist/math/index.d.ts.map +0 -1
- package/dist/matrix/index.d.ts +0 -52
- package/dist/matrix/index.d.ts.map +0 -1
- package/dist/plot.d.ts +0 -20
- package/dist/plot.d.ts.map +0 -1
- package/dist/polyline/index.d.ts +0 -11
- package/dist/polyline/index.d.ts.map +0 -1
- package/dist/runtime/adapters/LightweightChartsAdapter.d.ts +0 -15
- package/dist/runtime/adapters/LightweightChartsAdapter.d.ts.map +0 -1
- package/dist/runtime/adapters/SimpleInputAdapter.d.ts +0 -16
- package/dist/runtime/adapters/SimpleInputAdapter.d.ts.map +0 -1
- package/dist/runtime/index.cjs +0 -600
- package/dist/runtime/index.d.ts.map +0 -1
- package/dist/runtime/index.mjs +0 -577
- package/dist/runtime/inputs.d.ts +0 -13
- package/dist/runtime/inputs.d.ts.map +0 -1
- package/dist/runtime/runtime.d.ts +0 -16
- package/dist/runtime/runtime.d.ts.map +0 -1
- package/dist/runtime/series.d.ts +0 -60
- package/dist/runtime/series.d.ts.map +0 -1
- package/dist/runtime/types.d.ts +0 -122
- package/dist/runtime/types.d.ts.map +0 -1
- package/dist/script/index.cjs +0 -6372
- package/dist/script/index.d.ts +0 -709
- package/dist/script/index.d.ts.map +0 -1
- package/dist/script/index.mjs +0 -6355
- package/dist/security/resample.d.ts +0 -13
- package/dist/security/resample.d.ts.map +0 -1
- package/dist/session/bars.d.ts +0 -34
- package/dist/session/bars.d.ts.map +0 -1
- package/dist/session/calendar.d.ts +0 -31
- package/dist/session/calendar.d.ts.map +0 -1
- package/dist/str/dateformat.d.ts +0 -2
- package/dist/str/dateformat.d.ts.map +0 -1
- package/dist/str/index.d.ts +0 -24
- package/dist/str/index.d.ts.map +0 -1
- package/dist/str/messageformat.d.ts +0 -2
- package/dist/str/messageformat.d.ts.map +0 -1
- package/dist/str/numberformat.d.ts +0 -3
- package/dist/str/numberformat.d.ts.map +0 -1
- package/dist/strategy/index.d.ts.map +0 -1
- package/dist/ta/index.d.ts +0 -72
- package/dist/ta/index.d.ts.map +0 -1
- package/dist/ta-series.d.ts +0 -143
- package/dist/ta-series.d.ts.map +0 -1
- package/dist/text/index.d.ts +0 -4
- package/dist/text/index.d.ts.map +0 -1
- package/dist/time/datestring.d.ts +0 -2
- package/dist/time/datestring.d.ts.map +0 -1
- package/dist/time/index.d.ts +0 -15
- package/dist/time/index.d.ts.map +0 -1
- package/dist/time/session.d.ts +0 -2
- package/dist/time/session.d.ts.map +0 -1
- package/dist/time/timezone.d.ts +0 -13
- package/dist/time/timezone.d.ts.map +0 -1
- package/dist/timeframe/index.d.ts +0 -17
- package/dist/timeframe/index.d.ts.map +0 -1
- package/dist/types/index.d.ts +0 -181
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/metadata.d.ts +0 -131
- package/dist/types/metadata.d.ts.map +0 -1
- package/dist/utils/index.d.ts +0 -26
- package/dist/utils/index.d.ts.map +0 -1
|
@@ -0,0 +1,701 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Array namespace
|
|
3
|
+
* Mirrors PineScript's array.* functions
|
|
4
|
+
*/
|
|
5
|
+
import type { PineArray, int, float, bool, simple_int, color, Line, Box, Label, Linefill } from '../types/index.js';
|
|
6
|
+
/**
|
|
7
|
+
* Creates a new array with initial size and default value
|
|
8
|
+
*/
|
|
9
|
+
export declare function new_array<T>(size?: simple_int, initial_value?: T): PineArray<T>;
|
|
10
|
+
/**
|
|
11
|
+
* Returns the number of elements in an array
|
|
12
|
+
*/
|
|
13
|
+
export declare function size<T>(id: PineArray<T>): int;
|
|
14
|
+
/**
|
|
15
|
+
* Returns the element at the specified index
|
|
16
|
+
*/
|
|
17
|
+
export declare function get<T>(id: PineArray<T>, index: simple_int): T;
|
|
18
|
+
/**
|
|
19
|
+
* Sets the value of the element at the specified index
|
|
20
|
+
*/
|
|
21
|
+
export declare function set<T>(id: PineArray<T>, index: simple_int, value: T): void;
|
|
22
|
+
/**
|
|
23
|
+
* Appends a value to the end of the array
|
|
24
|
+
*/
|
|
25
|
+
export declare function push<T>(id: PineArray<T>, value: T): void;
|
|
26
|
+
/**
|
|
27
|
+
* Removes and returns the last element of the array
|
|
28
|
+
*/
|
|
29
|
+
export declare function pop<T>(id: PineArray<T>): T;
|
|
30
|
+
/**
|
|
31
|
+
* Inserts a value at the beginning of the array
|
|
32
|
+
*/
|
|
33
|
+
export declare function unshift<T>(id: PineArray<T>, value: T): void;
|
|
34
|
+
/**
|
|
35
|
+
* Removes and returns the first element of the array
|
|
36
|
+
*/
|
|
37
|
+
export declare function shift<T>(id: PineArray<T>): T;
|
|
38
|
+
/**
|
|
39
|
+
* Removes all elements from the array
|
|
40
|
+
*/
|
|
41
|
+
export declare function clear<T>(id: PineArray<T>): void;
|
|
42
|
+
/**
|
|
43
|
+
* Inserts a value at the specified index
|
|
44
|
+
*/
|
|
45
|
+
export declare function insert<T>(id: PineArray<T>, index: simple_int, value: T): void;
|
|
46
|
+
/**
|
|
47
|
+
* Removes the element at the specified index
|
|
48
|
+
*/
|
|
49
|
+
export declare function remove<T>(id: PineArray<T>, index: simple_int): T;
|
|
50
|
+
/**
|
|
51
|
+
* Returns true if the array contains the value
|
|
52
|
+
*/
|
|
53
|
+
export declare function includes<T>(id: PineArray<T>, value: T): bool;
|
|
54
|
+
/**
|
|
55
|
+
* Returns the index of the first occurrence of the value
|
|
56
|
+
*/
|
|
57
|
+
export declare function indexof<T>(id: PineArray<T>, value: T): int;
|
|
58
|
+
/**
|
|
59
|
+
* Returns the index of the last occurrence of the value
|
|
60
|
+
*/
|
|
61
|
+
export declare function lastindexof<T>(id: PineArray<T>, value: T): int;
|
|
62
|
+
/**
|
|
63
|
+
* Returns a shallow copy of the array
|
|
64
|
+
*/
|
|
65
|
+
export declare function copy<T>(id: PineArray<T>): PineArray<T>;
|
|
66
|
+
/**
|
|
67
|
+
* Concatenates two arrays
|
|
68
|
+
*/
|
|
69
|
+
export declare function concat<T>(id1: PineArray<T>, id2: PineArray<T>): PineArray<T>;
|
|
70
|
+
/**
|
|
71
|
+
* Joins all elements into a string
|
|
72
|
+
*/
|
|
73
|
+
export declare function join(id: PineArray<any>, separator?: string): string;
|
|
74
|
+
/**
|
|
75
|
+
* Reverses the array in place
|
|
76
|
+
*/
|
|
77
|
+
export declare function reverse<T>(id: PineArray<T>): void;
|
|
78
|
+
/**
|
|
79
|
+
* Returns a slice of the array
|
|
80
|
+
*/
|
|
81
|
+
export declare function slice<T>(id: PineArray<T>, index_from: simple_int, index_to?: simple_int): PineArray<T>;
|
|
82
|
+
/**
|
|
83
|
+
* Sorts array elements (numeric)
|
|
84
|
+
*/
|
|
85
|
+
export declare function sort<T>(id: PineArray<T>, order?: 'asc' | 'desc'): void;
|
|
86
|
+
/**
|
|
87
|
+
* Returns the sum of all elements (numeric arrays only)
|
|
88
|
+
*/
|
|
89
|
+
export declare function sum(id: PineArray<float>): float;
|
|
90
|
+
/**
|
|
91
|
+
* Returns the average of all elements (numeric arrays only)
|
|
92
|
+
*/
|
|
93
|
+
export declare function avg(id: PineArray<float>): float;
|
|
94
|
+
/**
|
|
95
|
+
* The `nth` smallest value (0 = the smallest) of the non-na elements (PineScript `array.min(id, nth)`).
|
|
96
|
+
* An `nth` past the end gives the greatest value; an array without values gives NaN.
|
|
97
|
+
*/
|
|
98
|
+
export declare function min(id: PineArray<float>, nth?: simple_int): float;
|
|
99
|
+
/**
|
|
100
|
+
* The `nth` greatest value (0 = the greatest) of the non-na elements (PineScript `array.max(id, nth)`).
|
|
101
|
+
* An `nth` past the end gives the smallest value; an array without values gives NaN.
|
|
102
|
+
*/
|
|
103
|
+
export declare function max(id: PineArray<float>, nth?: simple_int): float;
|
|
104
|
+
/**
|
|
105
|
+
* Returns the median value (numeric arrays only)
|
|
106
|
+
*/
|
|
107
|
+
export declare function median(id: PineArray<float>): float;
|
|
108
|
+
/**
|
|
109
|
+
* Returns the mode (most frequent value)
|
|
110
|
+
*/
|
|
111
|
+
export declare function mode(id: PineArray<float>): float;
|
|
112
|
+
/**
|
|
113
|
+
* Standard deviation of the non-na elements (PineScript `array.stdev(id, biased)`).
|
|
114
|
+
* `biased` true (default) divides by the count, false by the count - 1.
|
|
115
|
+
*/
|
|
116
|
+
export declare function stdev(id: PineArray<float>, biased?: bool): float;
|
|
117
|
+
/**
|
|
118
|
+
* Variance of the non-na elements (PineScript `array.variance(id, biased)`).
|
|
119
|
+
* `biased` true (default) divides by the count, false by the count - 1.
|
|
120
|
+
*/
|
|
121
|
+
export declare function variance(id: PineArray<float>, biased?: bool): float;
|
|
122
|
+
/**
|
|
123
|
+
* Fills the array with the specified value
|
|
124
|
+
*/
|
|
125
|
+
export declare function fill<T>(id: PineArray<T>, value: T, index_from?: simple_int, index_to?: simple_int): void;
|
|
126
|
+
/**
|
|
127
|
+
* Creates an array from its arguments (PineScript `array.from(arg0, arg1, ...)`).
|
|
128
|
+
* `na` values are kept.
|
|
129
|
+
*
|
|
130
|
+
* @example
|
|
131
|
+
* ```typescript
|
|
132
|
+
* array.from(0.236, 0.382, 0.5, 0.618); // [0.236, 0.382, 0.5, 0.618]
|
|
133
|
+
* ```
|
|
134
|
+
*/
|
|
135
|
+
export declare function from<T>(...values: T[]): PineArray<T>;
|
|
136
|
+
/**
|
|
137
|
+
* Returns the first element of the array
|
|
138
|
+
*
|
|
139
|
+
* @param id - The array
|
|
140
|
+
* @returns The first element, or undefined if array is empty
|
|
141
|
+
*
|
|
142
|
+
* @remarks
|
|
143
|
+
* - Equivalent to `array.get(id, 0)`
|
|
144
|
+
* - Returns undefined for empty arrays
|
|
145
|
+
*
|
|
146
|
+
* @example
|
|
147
|
+
* ```typescript
|
|
148
|
+
* const arr = [1, 2, 3, 4, 5];
|
|
149
|
+
* const firstElement = array.first(arr); // Returns: 1
|
|
150
|
+
* ```
|
|
151
|
+
*/
|
|
152
|
+
export declare function first<T>(id: PineArray<T>): T;
|
|
153
|
+
/**
|
|
154
|
+
* Returns the last element of the array
|
|
155
|
+
*
|
|
156
|
+
* @param id - The array
|
|
157
|
+
* @returns The last element, or undefined if array is empty
|
|
158
|
+
*
|
|
159
|
+
* @remarks
|
|
160
|
+
* - Equivalent to `array.get(id, array.size(id) - 1)`
|
|
161
|
+
* - Returns undefined for empty arrays
|
|
162
|
+
*
|
|
163
|
+
* @example
|
|
164
|
+
* ```typescript
|
|
165
|
+
* const arr = [1, 2, 3, 4, 5];
|
|
166
|
+
* const lastElement = array.last(arr); // Returns: 5
|
|
167
|
+
* ```
|
|
168
|
+
*/
|
|
169
|
+
export declare function last<T>(id: PineArray<T>): T;
|
|
170
|
+
/**
|
|
171
|
+
* True when at least one element of a bool array is true (PineScript `array.some(id)`).
|
|
172
|
+
* An empty array gives false.
|
|
173
|
+
*/
|
|
174
|
+
export declare function some(id: PineArray<bool>): bool;
|
|
175
|
+
/**
|
|
176
|
+
* True when every element of a bool array is true (PineScript `array.every(id)`).
|
|
177
|
+
* An empty array gives false, as in PineScript.
|
|
178
|
+
*/
|
|
179
|
+
export declare function every(id: PineArray<bool>): bool;
|
|
180
|
+
/**
|
|
181
|
+
* Create new boolean array
|
|
182
|
+
*
|
|
183
|
+
* Creates a new array object of bool type elements.
|
|
184
|
+
*
|
|
185
|
+
* @param size - Initial size of array (default: 0)
|
|
186
|
+
* @param initial_value - Initial value for all elements (default: false)
|
|
187
|
+
* @returns New boolean array
|
|
188
|
+
*
|
|
189
|
+
* @example
|
|
190
|
+
* ```typescript
|
|
191
|
+
* const arr = array.new_bool(5, true);
|
|
192
|
+
* // Creates: [true, true, true, true, true]
|
|
193
|
+
* ```
|
|
194
|
+
*/
|
|
195
|
+
export declare function new_bool(size?: simple_int, initial_value?: bool): PineArray<bool>;
|
|
196
|
+
/**
|
|
197
|
+
* Create new float array
|
|
198
|
+
*
|
|
199
|
+
* Creates a new array object of float type elements.
|
|
200
|
+
*
|
|
201
|
+
* @param size - Initial size of array (default: 0)
|
|
202
|
+
* @param initial_value - Initial value for all elements (default: NaN)
|
|
203
|
+
* @returns New float array
|
|
204
|
+
*
|
|
205
|
+
* @example
|
|
206
|
+
* ```typescript
|
|
207
|
+
* const arr = array.new_float(5, 0.0);
|
|
208
|
+
* // Creates: [0.0, 0.0, 0.0, 0.0, 0.0]
|
|
209
|
+
* ```
|
|
210
|
+
*/
|
|
211
|
+
export declare function new_float(size?: simple_int, initial_value?: float): PineArray<float>;
|
|
212
|
+
/**
|
|
213
|
+
* Create new integer array
|
|
214
|
+
*
|
|
215
|
+
* Creates a new array object of int type elements.
|
|
216
|
+
*
|
|
217
|
+
* @param size - Initial size of array (default: 0)
|
|
218
|
+
* @param initial_value - Initial value for all elements (default: NaN)
|
|
219
|
+
* @returns New integer array
|
|
220
|
+
*
|
|
221
|
+
* @example
|
|
222
|
+
* ```typescript
|
|
223
|
+
* const arr = array.new_int(5, 0);
|
|
224
|
+
* // Creates: [0, 0, 0, 0, 0]
|
|
225
|
+
* ```
|
|
226
|
+
*/
|
|
227
|
+
export declare function new_int(size?: simple_int, initial_value?: int): PineArray<int>;
|
|
228
|
+
/**
|
|
229
|
+
* Create new string array
|
|
230
|
+
*
|
|
231
|
+
* Creates a new array object of string type elements.
|
|
232
|
+
*
|
|
233
|
+
* @param size - Initial size of array (default: 0)
|
|
234
|
+
* @param initial_value - Initial value for all elements (default: undefined)
|
|
235
|
+
* @returns New string array
|
|
236
|
+
*
|
|
237
|
+
* @example
|
|
238
|
+
* ```typescript
|
|
239
|
+
* const arr = array.new_string(5, "text");
|
|
240
|
+
* // Creates: ["text", "text", "text", "text", "text"]
|
|
241
|
+
* ```
|
|
242
|
+
*/
|
|
243
|
+
export declare function new_string(size?: simple_int, initial_value?: string): PineArray<string>;
|
|
244
|
+
/**
|
|
245
|
+
* Create new color array
|
|
246
|
+
*
|
|
247
|
+
* Creates a new array object of color type elements.
|
|
248
|
+
*
|
|
249
|
+
* @param size - Initial size of array (default: 0)
|
|
250
|
+
* @param initial_value - Initial value for all elements (default: undefined)
|
|
251
|
+
* @returns New color array
|
|
252
|
+
*
|
|
253
|
+
* @example
|
|
254
|
+
* ```typescript
|
|
255
|
+
* const arr = array.new_color(5, "#FF0000");
|
|
256
|
+
* // Creates: ["#FF0000", "#FF0000", "#FF0000", "#FF0000", "#FF0000"]
|
|
257
|
+
* ```
|
|
258
|
+
*/
|
|
259
|
+
export declare function new_color(size?: simple_int, initial_value?: color): PineArray<color>;
|
|
260
|
+
/**
|
|
261
|
+
* Create new line array
|
|
262
|
+
*
|
|
263
|
+
* Creates a new array object of line type elements.
|
|
264
|
+
*
|
|
265
|
+
* @param size - Initial size of array (default: 0)
|
|
266
|
+
* @param initial_value - Initial value for all elements (default: undefined)
|
|
267
|
+
* @returns New line array
|
|
268
|
+
*
|
|
269
|
+
* @example
|
|
270
|
+
* ```typescript
|
|
271
|
+
* import { array, line } from 'oakscriptjs';
|
|
272
|
+
*
|
|
273
|
+
* // Create array to store last 15 lines
|
|
274
|
+
* const lines = array.new_line();
|
|
275
|
+
* const trendLine = line.new(0, 100, 50, 150);
|
|
276
|
+
* array.push(lines, trendLine);
|
|
277
|
+
*
|
|
278
|
+
* // Manage line count
|
|
279
|
+
* if (array.size(lines) > 15) {
|
|
280
|
+
* const oldLine = array.shift(lines);
|
|
281
|
+
* }
|
|
282
|
+
* ```
|
|
283
|
+
*
|
|
284
|
+
* @remarks
|
|
285
|
+
* Useful for managing collections of trend lines, support/resistance levels, or channel lines.
|
|
286
|
+
* In PineScript, this is typically used with line.delete() to manage chart object limits.
|
|
287
|
+
*/
|
|
288
|
+
export declare function new_line(size?: simple_int, initial_value?: Line): PineArray<Line>;
|
|
289
|
+
/**
|
|
290
|
+
* Create new box array
|
|
291
|
+
*
|
|
292
|
+
* Creates a new array object of box type elements.
|
|
293
|
+
*
|
|
294
|
+
* @param size - Initial size of array (default: 0)
|
|
295
|
+
* @param initial_value - Initial value for all elements (default: undefined)
|
|
296
|
+
* @returns New box array
|
|
297
|
+
*
|
|
298
|
+
* @example
|
|
299
|
+
* ```typescript
|
|
300
|
+
* import { array, box } from 'oakscriptjs';
|
|
301
|
+
*
|
|
302
|
+
* // Create array to store gap boxes
|
|
303
|
+
* const gaps = array.new_box();
|
|
304
|
+
* const gapBox = box.new(10, 120, 15, 110);
|
|
305
|
+
* array.push(gaps, gapBox);
|
|
306
|
+
*
|
|
307
|
+
* // Track multiple gaps
|
|
308
|
+
* for (let i = 0; i < array.size(gaps); i++) {
|
|
309
|
+
* const gap = array.get(gaps, i);
|
|
310
|
+
* const gapTop = box.get_top(gap);
|
|
311
|
+
* const gapBottom = box.get_bottom(gap);
|
|
312
|
+
* // Check if gap filled...
|
|
313
|
+
* }
|
|
314
|
+
* ```
|
|
315
|
+
*
|
|
316
|
+
* @remarks
|
|
317
|
+
* Useful for tracking ranges, gaps, consolidation zones, or rectangle patterns.
|
|
318
|
+
* Enables systematic analysis of multiple box objects.
|
|
319
|
+
*/
|
|
320
|
+
export declare function new_box(size?: simple_int, initial_value?: Box): PineArray<Box>;
|
|
321
|
+
/**
|
|
322
|
+
* Create new label array
|
|
323
|
+
*
|
|
324
|
+
* Creates a new array object of label type elements.
|
|
325
|
+
*
|
|
326
|
+
* @param size - Initial size of array (default: 0)
|
|
327
|
+
* @param initial_value - Initial value for all elements (default: undefined)
|
|
328
|
+
* @returns New label array
|
|
329
|
+
*
|
|
330
|
+
* @example
|
|
331
|
+
* ```typescript
|
|
332
|
+
* import { array, label } from 'oakscriptjs';
|
|
333
|
+
*
|
|
334
|
+
* // Create array to store pivot labels
|
|
335
|
+
* const pivotLabels = array.new_label();
|
|
336
|
+
*
|
|
337
|
+
* // Add labels for pivot highs
|
|
338
|
+
* const pivotLabel = label.new(50, 155.5, 'PH', 'bar_index', 'abovebar');
|
|
339
|
+
* array.push(pivotLabels, pivotLabel);
|
|
340
|
+
*
|
|
341
|
+
* // Limit number of labels shown
|
|
342
|
+
* const maxLabels = 50;
|
|
343
|
+
* if (array.size(pivotLabels) > maxLabels) {
|
|
344
|
+
* array.shift(pivotLabels);
|
|
345
|
+
* }
|
|
346
|
+
* ```
|
|
347
|
+
*
|
|
348
|
+
* @remarks
|
|
349
|
+
* Useful for managing collections of annotations, pivot markers, or signal labels.
|
|
350
|
+
* Helps limit the number of labels displayed by removing old ones.
|
|
351
|
+
*/
|
|
352
|
+
export declare function new_label(size?: simple_int, initial_value?: Label): PineArray<Label>;
|
|
353
|
+
/**
|
|
354
|
+
* Create new linefill array
|
|
355
|
+
*
|
|
356
|
+
* Creates a new array object of linefill type elements.
|
|
357
|
+
*
|
|
358
|
+
* @param size - Initial size of array (default: 0)
|
|
359
|
+
* @param initial_value - Initial value for all elements (default: undefined)
|
|
360
|
+
* @returns New linefill array
|
|
361
|
+
*
|
|
362
|
+
* @example
|
|
363
|
+
* ```typescript
|
|
364
|
+
* import { array, line, linefill } from 'oakscriptjs';
|
|
365
|
+
*
|
|
366
|
+
* // Create array to store channel fills
|
|
367
|
+
* const channels = array.new_linefill();
|
|
368
|
+
*
|
|
369
|
+
* // Create channel
|
|
370
|
+
* const upperLine = line.new(0, 120, 50, 130);
|
|
371
|
+
* const lowerLine = line.new(0, 100, 50, 110);
|
|
372
|
+
* const channelFill = linefill.new(upperLine, lowerLine, '#0000FF15');
|
|
373
|
+
*
|
|
374
|
+
* array.push(channels, channelFill);
|
|
375
|
+
* ```
|
|
376
|
+
*
|
|
377
|
+
* @remarks
|
|
378
|
+
* Useful for managing collections of channel fills, Bollinger Band fills, or regression channel fills.
|
|
379
|
+
* Enables dynamic color changes across multiple channels.
|
|
380
|
+
*/
|
|
381
|
+
export declare function new_linefill(size?: simple_int, initial_value?: Linefill): PineArray<Linefill>;
|
|
382
|
+
/**
|
|
383
|
+
* Absolute value of array elements
|
|
384
|
+
*
|
|
385
|
+
* Returns an array containing the absolute value of each element in the original array.
|
|
386
|
+
*
|
|
387
|
+
* @param id - Array of numeric values
|
|
388
|
+
* @returns New array with absolute values
|
|
389
|
+
*
|
|
390
|
+
* @example
|
|
391
|
+
* ```typescript
|
|
392
|
+
* const arr = [-1, -2, 3, -4, 5];
|
|
393
|
+
* const result = array.abs(arr);
|
|
394
|
+
* // Returns: [1, 2, 3, 4, 5]
|
|
395
|
+
* ```
|
|
396
|
+
*/
|
|
397
|
+
export declare function abs(id: PineArray<float>): PineArray<float>;
|
|
398
|
+
/**
|
|
399
|
+
* Range of array values
|
|
400
|
+
*
|
|
401
|
+
* Returns the difference between the maximum and minimum values in the array.
|
|
402
|
+
*
|
|
403
|
+
* @param id - Array of numeric values
|
|
404
|
+
* @returns Difference between max and min (range)
|
|
405
|
+
*
|
|
406
|
+
* @example
|
|
407
|
+
* ```typescript
|
|
408
|
+
* const arr = [1, 5, 3, 9, 2];
|
|
409
|
+
* const result = array.range(arr);
|
|
410
|
+
* // Returns: 8 (9 - 1)
|
|
411
|
+
* ```
|
|
412
|
+
*
|
|
413
|
+
* @remarks
|
|
414
|
+
* Returns NaN if the array is empty.
|
|
415
|
+
*/
|
|
416
|
+
export declare function range(id: PineArray<float>): float;
|
|
417
|
+
/**
|
|
418
|
+
* Binary Search
|
|
419
|
+
*
|
|
420
|
+
* Searches for a value in a sorted array using binary search algorithm.
|
|
421
|
+
* Returns the index of the value if found, or -1 if not found.
|
|
422
|
+
*
|
|
423
|
+
* @param id - Sorted array (ascending order)
|
|
424
|
+
* @param val - Value to search for
|
|
425
|
+
* @returns Index of the value, or -1 if not found
|
|
426
|
+
*
|
|
427
|
+
* @example
|
|
428
|
+
* ```typescript
|
|
429
|
+
* const arr = [-2, 0, 1, 5, 9]; // Must be sorted
|
|
430
|
+
* const index = array.binary_search(arr, 5);
|
|
431
|
+
* // Returns: 3
|
|
432
|
+
* ```
|
|
433
|
+
*
|
|
434
|
+
* @remarks
|
|
435
|
+
* - Array must be sorted in ascending order
|
|
436
|
+
* - Uses standard binary search algorithm
|
|
437
|
+
* - Time complexity: O(log n)
|
|
438
|
+
*/
|
|
439
|
+
export declare function binary_search(id: PineArray<float>, val: float): int;
|
|
440
|
+
/**
|
|
441
|
+
* Binary Search Leftmost
|
|
442
|
+
*
|
|
443
|
+
* Returns the index of the value if found. When not found, returns the index
|
|
444
|
+
* of the next smallest element to the left of where the value would be.
|
|
445
|
+
*
|
|
446
|
+
* @param id - Sorted array (ascending order)
|
|
447
|
+
* @param val - Value to search for
|
|
448
|
+
* @returns Index of value or insertion point to the left
|
|
449
|
+
*
|
|
450
|
+
* @example
|
|
451
|
+
* ```typescript
|
|
452
|
+
* const arr = [-2, 0, 1, 5, 9];
|
|
453
|
+
* const index = array.binary_search_leftmost(arr, 3);
|
|
454
|
+
* // Returns: 2 (index of 1, which is left of where 3 would be)
|
|
455
|
+
* ```
|
|
456
|
+
*
|
|
457
|
+
* @example
|
|
458
|
+
* ```typescript
|
|
459
|
+
* const arr = [4, 5, 5, 5];
|
|
460
|
+
* const index = array.binary_search_leftmost(arr, 5);
|
|
461
|
+
* // Returns: 1 (index of first instance of 5)
|
|
462
|
+
* ```
|
|
463
|
+
*
|
|
464
|
+
* @remarks
|
|
465
|
+
* - Array must be sorted in ascending order
|
|
466
|
+
* - For duplicate values, returns leftmost occurrence
|
|
467
|
+
* - When value not found, returns position of next smaller element
|
|
468
|
+
*/
|
|
469
|
+
export declare function binary_search_leftmost(id: PineArray<float>, val: float): int;
|
|
470
|
+
/**
|
|
471
|
+
* Binary Search Rightmost
|
|
472
|
+
*
|
|
473
|
+
* Returns the index of the value if found. When not found, returns the index
|
|
474
|
+
* of the element to the right of where the value would be.
|
|
475
|
+
*
|
|
476
|
+
* @param id - Sorted array (ascending order)
|
|
477
|
+
* @param val - Value to search for
|
|
478
|
+
* @returns Index of value or insertion point to the right
|
|
479
|
+
*
|
|
480
|
+
* @example
|
|
481
|
+
* ```typescript
|
|
482
|
+
* const arr = [-2, 0, 1, 5, 9];
|
|
483
|
+
* const index = array.binary_search_rightmost(arr, 3);
|
|
484
|
+
* // Returns: 3 (index of 5, which is right of where 3 would be)
|
|
485
|
+
* ```
|
|
486
|
+
*
|
|
487
|
+
* @example
|
|
488
|
+
* ```typescript
|
|
489
|
+
* const arr = [4, 5, 5, 5];
|
|
490
|
+
* const index = array.binary_search_rightmost(arr, 5);
|
|
491
|
+
* // Returns: 3 (index of last instance of 5)
|
|
492
|
+
* ```
|
|
493
|
+
*
|
|
494
|
+
* @remarks
|
|
495
|
+
* - Array must be sorted in ascending order
|
|
496
|
+
* - For duplicate values, returns rightmost occurrence
|
|
497
|
+
* - When value not found, returns position of next larger element
|
|
498
|
+
*/
|
|
499
|
+
export declare function binary_search_rightmost(id: PineArray<float>, val: float): int;
|
|
500
|
+
/**
|
|
501
|
+
* Covariance
|
|
502
|
+
*
|
|
503
|
+
* Returns the covariance between two arrays.
|
|
504
|
+
*
|
|
505
|
+
* @param id1 - First array
|
|
506
|
+
* @param id2 - Second array
|
|
507
|
+
* @param biased - If true, uses biased estimate (population). If false, uses unbiased estimate (sample). Default: true
|
|
508
|
+
* @returns Covariance between the two arrays
|
|
509
|
+
*
|
|
510
|
+
* @example
|
|
511
|
+
* ```typescript
|
|
512
|
+
* const prices = [100, 102, 98, 105, 103];
|
|
513
|
+
* const volume = [1000, 1200, 950, 1300, 1100];
|
|
514
|
+
* const cov = array.covariance(prices, volume);
|
|
515
|
+
* // Returns covariance between price and volume
|
|
516
|
+
* ```
|
|
517
|
+
*
|
|
518
|
+
* @remarks
|
|
519
|
+
* - Biased (true): divides by n (population covariance)
|
|
520
|
+
* - Unbiased (false): divides by n-1 (sample covariance)
|
|
521
|
+
* - Returns NaN if arrays are empty or have different lengths
|
|
522
|
+
* - Formula: Cov(X,Y) = E[(X - μX)(Y - μY)]
|
|
523
|
+
*/
|
|
524
|
+
export declare function covariance(id1: PineArray<float>, id2: PineArray<float>, biased?: bool): float;
|
|
525
|
+
/**
|
|
526
|
+
* Percentile Linear Interpolation
|
|
527
|
+
*
|
|
528
|
+
* Returns the value for which the specified percentage of array values are
|
|
529
|
+
* less than or equal to it, using linear interpolation.
|
|
530
|
+
*
|
|
531
|
+
* @param id - Array of numeric values
|
|
532
|
+
* @param percentage - Percentage (0-100)
|
|
533
|
+
* @returns Percentile value using linear interpolation
|
|
534
|
+
*
|
|
535
|
+
* @example
|
|
536
|
+
* ```typescript
|
|
537
|
+
* const arr = [1, 2, 3, 4, 5];
|
|
538
|
+
* const p50 = array.percentile_linear_interpolation(arr, 50);
|
|
539
|
+
* // Returns: 3 (median)
|
|
540
|
+
* ```
|
|
541
|
+
*
|
|
542
|
+
* @remarks
|
|
543
|
+
* - Uses linear interpolation between adjacent values
|
|
544
|
+
* - Result may not be a member of the array
|
|
545
|
+
* - Returns NaN if array is empty
|
|
546
|
+
*
|
|
547
|
+
* PineScript rules:
|
|
548
|
+
* - position in the sorted array: `percentage / 100 * size - 0.5`, clamped to the first / last value, linear
|
|
549
|
+
* interpolation between the two neighbours
|
|
550
|
+
* - `na` values are sorted after all numbers; with an `na` in the array, a position between two values gives `na`
|
|
551
|
+
*/
|
|
552
|
+
export declare function percentile_linear_interpolation(id: PineArray<float>, percentage: float): float;
|
|
553
|
+
/**
|
|
554
|
+
* Percentile Nearest Rank
|
|
555
|
+
*
|
|
556
|
+
* Returns the value for which the specified percentage of array values are
|
|
557
|
+
* less than or equal to it, using the nearest-rank method.
|
|
558
|
+
*
|
|
559
|
+
* @param id - Array of numeric values
|
|
560
|
+
* @param percentage - Percentage (0-100)
|
|
561
|
+
* @returns Percentile value using nearest rank
|
|
562
|
+
*
|
|
563
|
+
* @example
|
|
564
|
+
* ```typescript
|
|
565
|
+
* const arr = [1, 2, 3, 4, 5];
|
|
566
|
+
* const p50 = array.percentile_nearest_rank(arr, 50);
|
|
567
|
+
* // Returns: 3 (median, always a member of array)
|
|
568
|
+
* ```
|
|
569
|
+
*
|
|
570
|
+
* @remarks
|
|
571
|
+
* - Result is always a member of the array
|
|
572
|
+
* - Uses nearest-rank method (no interpolation)
|
|
573
|
+
* - Returns NaN if array is empty
|
|
574
|
+
*
|
|
575
|
+
* PineScript rules:
|
|
576
|
+
* - the value at rank `ceil(percentage / 100 * size)` of the sorted array
|
|
577
|
+
* - `na` values are sorted after all numbers (na when that rank holds an `na`)
|
|
578
|
+
*/
|
|
579
|
+
export declare function percentile_nearest_rank(id: PineArray<float>, percentage: float): float;
|
|
580
|
+
/**
|
|
581
|
+
* Percent Rank
|
|
582
|
+
*
|
|
583
|
+
* Returns the percentile rank of the element at the specified index.
|
|
584
|
+
* The percentile rank is the percentage of elements that are less than
|
|
585
|
+
* or equal to the reference value.
|
|
586
|
+
*
|
|
587
|
+
* @param id - Array of numeric values
|
|
588
|
+
* @param index - Index of element to rank
|
|
589
|
+
* @returns Percentile rank (0-100)
|
|
590
|
+
*
|
|
591
|
+
* @example
|
|
592
|
+
* ```typescript
|
|
593
|
+
* const arr = [1, 2, 3, 4, 5];
|
|
594
|
+
* const rank = array.percentrank(arr, 2); // Value at index 2 is 3
|
|
595
|
+
* // Returns: 40 (40% of values <= 3)
|
|
596
|
+
* ```
|
|
597
|
+
*
|
|
598
|
+
* @remarks
|
|
599
|
+
* - Returns percentage of elements <= the value at given index
|
|
600
|
+
* - Range: 0 to 100
|
|
601
|
+
* - Returns NaN if array is empty or index out of bounds
|
|
602
|
+
*/
|
|
603
|
+
export declare function percentrank(id: PineArray<float>, index: int): float;
|
|
604
|
+
/**
|
|
605
|
+
* Sort Indices
|
|
606
|
+
*
|
|
607
|
+
* Returns an array of indices which, when used to index the original array,
|
|
608
|
+
* will access its elements in their sorted order. Does not modify the original array.
|
|
609
|
+
*
|
|
610
|
+
* @param id - Array to get sorted indices from
|
|
611
|
+
* @param order - Sort order: 'asc' or 'desc' (default: 'asc')
|
|
612
|
+
* @returns Array of indices in sorted order
|
|
613
|
+
*
|
|
614
|
+
* @example
|
|
615
|
+
* ```typescript
|
|
616
|
+
* const arr = [5, -2, 0, 9, 1];
|
|
617
|
+
* const indices = array.sort_indices(arr); // [1, 2, 4, 0, 3]
|
|
618
|
+
* // arr[1] = -2 (smallest)
|
|
619
|
+
* // arr[2] = 0
|
|
620
|
+
* // arr[4] = 1
|
|
621
|
+
* // arr[0] = 5
|
|
622
|
+
* // arr[3] = 9 (largest)
|
|
623
|
+
* ```
|
|
624
|
+
*
|
|
625
|
+
* @remarks
|
|
626
|
+
* - Original array is not modified
|
|
627
|
+
* - Returns indices that would sort the array
|
|
628
|
+
* - Useful for maintaining correspondence with other arrays
|
|
629
|
+
*/
|
|
630
|
+
export declare function sort_indices(id: PineArray<float>, order?: 'asc' | 'desc'): PineArray<int>;
|
|
631
|
+
/**
|
|
632
|
+
* Standardize
|
|
633
|
+
*
|
|
634
|
+
* Returns an array of standardized elements (z-score normalization).
|
|
635
|
+
* Each element is transformed to (value - mean) / stddev.
|
|
636
|
+
*
|
|
637
|
+
* @param id - Array of numeric values
|
|
638
|
+
* @returns Array of standardized values (z-scores)
|
|
639
|
+
*
|
|
640
|
+
* @example
|
|
641
|
+
* ```typescript
|
|
642
|
+
* const arr = [1, 2, 3, 4, 5];
|
|
643
|
+
* const standardized = array.standardize(arr);
|
|
644
|
+
* // Mean = 3, StdDev ≈ 1.414
|
|
645
|
+
* // Result ≈ [-1.414, -0.707, 0, 0.707, 1.414]
|
|
646
|
+
* ```
|
|
647
|
+
*
|
|
648
|
+
* @remarks
|
|
649
|
+
* - Formula: z = (x - μ) / σ
|
|
650
|
+
* - Result has mean of 0 and standard deviation of 1
|
|
651
|
+
* - Returns array of NaN if standard deviation is 0
|
|
652
|
+
* - Useful for comparing values on different scales
|
|
653
|
+
*/
|
|
654
|
+
export declare function standardize(id: PineArray<float>): PineArray<float>;
|
|
655
|
+
/**
|
|
656
|
+
* New Type (User-Defined Type Array)
|
|
657
|
+
*
|
|
658
|
+
* Creates a new array of user-defined type elements.
|
|
659
|
+
*
|
|
660
|
+
* @param size - Initial size of array (default: 0)
|
|
661
|
+
* @param initial_value - Initial value for all elements
|
|
662
|
+
* @returns New array of user-defined type
|
|
663
|
+
*
|
|
664
|
+
* @example
|
|
665
|
+
* ```typescript
|
|
666
|
+
* // NOTE: User-defined types (UDTs) are not fully supported yet
|
|
667
|
+
* // This is a placeholder for future implementation
|
|
668
|
+
* const arr = array.newtype<MyType>(5);
|
|
669
|
+
* ```
|
|
670
|
+
*
|
|
671
|
+
* @remarks
|
|
672
|
+
* - **⚠️ LIMITED SUPPORT**: User-defined types (UDTs) require a type system
|
|
673
|
+
* that is not yet fully implemented in this library
|
|
674
|
+
* - This function currently works like `new_array<T>()` for basic types
|
|
675
|
+
* - Full UDT support will be added in a future version
|
|
676
|
+
* - See PineScript documentation for UDT usage patterns
|
|
677
|
+
*/
|
|
678
|
+
export declare function newtype<T>(size?: simple_int, initial_value?: T): PineArray<T>;
|
|
679
|
+
/**
|
|
680
|
+
* ⚠️ RENDERING FUNCTIONS NOT IMPLEMENTED
|
|
681
|
+
*
|
|
682
|
+
* The following array constructor functions are intentionally excluded
|
|
683
|
+
* because they create arrays for rendering objects, which are outside
|
|
684
|
+
* the scope of this calculation-focused library:
|
|
685
|
+
*
|
|
686
|
+
* - `new_box()` - Creates arrays of box drawing objects
|
|
687
|
+
* - `new_label()` - Creates arrays of label objects
|
|
688
|
+
* - `new_line()` - Creates arrays of line drawing objects
|
|
689
|
+
* - `new_linefill()` - Creates arrays of line fill objects
|
|
690
|
+
* - `new_table()` - Creates arrays of table layout objects
|
|
691
|
+
*
|
|
692
|
+
* **Design Constraint**: This library focuses on calculation and indicator
|
|
693
|
+
* functions only. Rendering, visualization, and UI functions require a
|
|
694
|
+
* rendering engine and are not included.
|
|
695
|
+
*
|
|
696
|
+
* If you need these functions, consider:
|
|
697
|
+
* 1. Using PineScript directly
|
|
698
|
+
* 2. Implementing a rendering layer separately
|
|
699
|
+
* 3. Using this library for calculations and another library for visualization
|
|
700
|
+
*/
|
|
701
|
+
//# sourceMappingURL=index.d.ts.map
|