oakscriptjs 0.9.4 → 0.9.6
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/dist/cjs/array/index.d.ts +88 -27
- package/dist/cjs/array/index.d.ts.map +1 -1
- package/dist/cjs/array/index.js +257 -117
- package/dist/cjs/array/index.js.map +3 -3
- package/dist/cjs/callsite/index.d.ts +122 -4
- package/dist/cjs/callsite/index.d.ts.map +1 -1
- package/dist/cjs/callsite/index.js +102 -3
- package/dist/cjs/callsite/index.js.map +2 -2
- package/dist/cjs/color/index.d.ts +7 -3
- package/dist/cjs/color/index.d.ts.map +1 -1
- package/dist/cjs/color/index.js +6 -1
- package/dist/cjs/color/index.js.map +2 -2
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/label/index.d.ts.map +1 -1
- package/dist/cjs/label/index.js +2 -1
- package/dist/cjs/label/index.js.map +2 -2
- package/dist/cjs/linefill/index.d.ts.map +1 -1
- package/dist/cjs/linefill/index.js +1 -0
- package/dist/cjs/linefill/index.js.map +2 -2
- package/dist/cjs/math/index.d.ts +79 -22
- package/dist/cjs/math/index.d.ts.map +1 -1
- package/dist/cjs/math/index.js +157 -43
- package/dist/cjs/math/index.js.map +3 -3
- package/dist/cjs/matrix/index.d.ts.map +1 -1
- package/dist/cjs/matrix/index.js +42 -36
- package/dist/cjs/matrix/index.js.map +2 -2
- package/dist/cjs/runtime/series.d.ts +9 -0
- package/dist/cjs/runtime/series.d.ts.map +1 -1
- package/dist/cjs/runtime/series.js +16 -2
- package/dist/cjs/runtime/series.js.map +2 -2
- package/dist/cjs/script/index.d.ts +15 -31
- package/dist/cjs/script/index.d.ts.map +1 -1
- package/dist/cjs/script/index.js +32 -0
- package/dist/cjs/script/index.js.map +2 -2
- package/dist/cjs/session/calendar.d.ts.map +1 -1
- package/dist/cjs/session/calendar.js +15 -2
- package/dist/cjs/session/calendar.js.map +2 -2
- package/dist/cjs/str/index.d.ts +50 -38
- package/dist/cjs/str/index.d.ts.map +1 -1
- package/dist/cjs/str/index.js +43 -15
- package/dist/cjs/str/index.js.map +2 -2
- package/dist/cjs/str/messageformat.d.ts +2 -1
- package/dist/cjs/str/messageformat.d.ts.map +1 -1
- package/dist/cjs/str/messageformat.js +4 -1
- package/dist/cjs/str/messageformat.js.map +2 -2
- package/dist/cjs/str/numberformat.d.ts +4 -0
- package/dist/cjs/str/numberformat.d.ts.map +1 -1
- package/dist/cjs/str/numberformat.js +26 -4
- package/dist/cjs/str/numberformat.js.map +3 -3
- package/dist/cjs/ta/index.d.ts +95 -46
- package/dist/cjs/ta/index.d.ts.map +1 -1
- package/dist/cjs/ta/index.js +193 -318
- package/dist/cjs/ta/index.js.map +3 -3
- package/dist/cjs/ta/running-sum.d.ts +54 -1
- package/dist/cjs/ta/running-sum.d.ts.map +1 -1
- package/dist/cjs/ta/running-sum.js +132 -47
- package/dist/cjs/ta/running-sum.js.map +2 -2
- package/dist/cjs/ta-series.d.ts +4 -4
- package/dist/cjs/ta-series.d.ts.map +1 -1
- package/dist/cjs/ta-series.js +4 -3
- package/dist/cjs/ta-series.js.map +2 -2
- package/dist/cjs/time/datestring.d.ts +1 -0
- package/dist/cjs/time/datestring.d.ts.map +1 -1
- package/dist/cjs/time/datestring.js +7 -0
- package/dist/cjs/time/datestring.js.map +2 -2
- package/dist/cjs/time/index.d.ts.map +1 -1
- package/dist/cjs/time/index.js +2 -1
- package/dist/cjs/time/index.js.map +2 -2
- package/dist/cjs/time/session.d.ts +28 -9
- package/dist/cjs/time/session.d.ts.map +1 -1
- package/dist/cjs/time/session.js +74 -28
- package/dist/cjs/time/session.js.map +2 -2
- package/dist/cjs/time/timezone.d.ts +5 -0
- package/dist/cjs/time/timezone.d.ts.map +1 -1
- package/dist/cjs/time/timezone.js +15 -1
- package/dist/cjs/time/timezone.js.map +2 -2
- package/dist/esm/array/index.d.ts +88 -27
- package/dist/esm/array/index.d.ts.map +1 -1
- package/dist/esm/array/index.js +408 -157
- package/dist/esm/array/index.js.map +1 -1
- package/dist/esm/callsite/index.d.ts +122 -4
- package/dist/esm/callsite/index.d.ts.map +1 -1
- package/dist/esm/callsite/index.js +228 -8
- package/dist/esm/callsite/index.js.map +1 -1
- package/dist/esm/color/index.d.ts +7 -3
- package/dist/esm/color/index.d.ts.map +1 -1
- package/dist/esm/color/index.js +15 -3
- package/dist/esm/color/index.js.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/label/index.d.ts.map +1 -1
- package/dist/esm/label/index.js +2 -1
- package/dist/esm/label/index.js.map +1 -1
- package/dist/esm/linefill/index.d.ts.map +1 -1
- package/dist/esm/linefill/index.js +3 -0
- package/dist/esm/linefill/index.js.map +1 -1
- package/dist/esm/math/index.d.ts +79 -22
- package/dist/esm/math/index.d.ts.map +1 -1
- package/dist/esm/math/index.js +229 -63
- package/dist/esm/math/index.js.map +1 -1
- package/dist/esm/matrix/index.d.ts.map +1 -1
- package/dist/esm/matrix/index.js +57 -43
- package/dist/esm/matrix/index.js.map +1 -1
- package/dist/esm/runtime/series.d.ts +9 -0
- package/dist/esm/runtime/series.d.ts.map +1 -1
- package/dist/esm/runtime/series.js +18 -1
- package/dist/esm/runtime/series.js.map +1 -1
- package/dist/esm/script/index.d.ts +15 -31
- package/dist/esm/script/index.d.ts.map +1 -1
- package/dist/esm/script/index.js +44 -1
- package/dist/esm/script/index.js.map +1 -1
- package/dist/esm/session/calendar.d.ts.map +1 -1
- package/dist/esm/session/calendar.js +22 -2
- package/dist/esm/session/calendar.js.map +1 -1
- package/dist/esm/str/index.d.ts +50 -38
- package/dist/esm/str/index.d.ts.map +1 -1
- package/dist/esm/str/index.js +103 -52
- package/dist/esm/str/index.js.map +1 -1
- package/dist/esm/str/messageformat.d.ts +2 -1
- package/dist/esm/str/messageformat.d.ts.map +1 -1
- package/dist/esm/str/messageformat.js +7 -2
- package/dist/esm/str/messageformat.js.map +1 -1
- package/dist/esm/str/numberformat.d.ts +4 -0
- package/dist/esm/str/numberformat.d.ts.map +1 -1
- package/dist/esm/str/numberformat.js +38 -4
- package/dist/esm/str/numberformat.js.map +1 -1
- package/dist/esm/ta/index.d.ts +95 -46
- package/dist/esm/ta/index.d.ts.map +1 -1
- package/dist/esm/ta/index.js +341 -414
- package/dist/esm/ta/index.js.map +1 -1
- package/dist/esm/ta/running-sum.d.ts +54 -1
- package/dist/esm/ta/running-sum.d.ts.map +1 -1
- package/dist/esm/ta/running-sum.js +166 -60
- package/dist/esm/ta/running-sum.js.map +1 -1
- package/dist/esm/ta-series.d.ts +4 -4
- package/dist/esm/ta-series.d.ts.map +1 -1
- package/dist/esm/ta-series.js +5 -4
- package/dist/esm/ta-series.js.map +1 -1
- package/dist/esm/time/datestring.d.ts +1 -0
- package/dist/esm/time/datestring.d.ts.map +1 -1
- package/dist/esm/time/datestring.js +12 -0
- package/dist/esm/time/datestring.js.map +1 -1
- package/dist/esm/time/index.d.ts.map +1 -1
- package/dist/esm/time/index.js +3 -1
- package/dist/esm/time/index.js.map +1 -1
- package/dist/esm/time/session.d.ts +28 -9
- package/dist/esm/time/session.d.ts.map +1 -1
- package/dist/esm/time/session.js +113 -42
- package/dist/esm/time/session.js.map +1 -1
- package/dist/esm/time/timezone.d.ts +5 -0
- package/dist/esm/time/timezone.d.ts.map +1 -1
- package/dist/esm/time/timezone.js +21 -1
- package/dist/esm/time/timezone.js.map +1 -1
- package/package.json +2 -2
- package/src/array/index.ts +382 -174
- package/src/callsite/index.ts +232 -8
- package/src/color/index.ts +15 -5
- package/src/index.ts +1 -1
- package/src/label/index.ts +2 -1
- package/src/linefill/index.ts +2 -0
- package/src/math/index.ts +261 -77
- package/src/matrix/index.ts +52 -52
- package/src/runtime/series.ts +22 -1
- package/src/script/index.ts +53 -1
- package/src/session/calendar.ts +22 -2
- package/src/str/index.ts +95 -51
- package/src/str/messageformat.ts +7 -2
- package/src/str/numberformat.ts +39 -4
- package/src/ta/index.ts +356 -458
- package/src/ta/running-sum.ts +187 -62
- package/src/ta-series.ts +8 -7
- package/src/time/datestring.ts +10 -0
- package/src/time/index.ts +3 -1
- package/src/time/session.ts +97 -47
- package/src/time/timezone.ts +21 -1
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `str.format` patterns as PineScript formats them (Java MessageFormat):
|
|
3
3
|
*
|
|
4
|
-
* - `{n}` inserts argument n; numbers use "#,##0.###" (1234.5678 gives "1,234.568")
|
|
4
|
+
* - `{n}` inserts argument n; numbers use "#,##0.###" (1234.5678 gives "1,234.568"); an array gives
|
|
5
|
+
* "[Hello, World!]"
|
|
5
6
|
* - `{n,number}`, `{n,number,integer}` ("#,##0"), `{n,number,percent}` ("#,##0%"),
|
|
6
7
|
* `{n,number,currency}` ("$1,234.57", "-$7.00"), `{n,number,<pattern>}`
|
|
7
8
|
* - `{n,date}`, `{n,time}`, `{n,date,<pattern>}`, `{n,time,<pattern>}` (styles short, medium, long, full)
|
|
@@ -38,8 +39,12 @@ function choice(value, spec) {
|
|
|
38
39
|
function formatArgument(value, type, style, timezone) {
|
|
39
40
|
if (value === undefined)
|
|
40
41
|
return '';
|
|
41
|
-
if (!type)
|
|
42
|
+
if (!type) {
|
|
43
|
+
// an array gives "[a, b]" (PineScript); the element format of numbers is not measured: plain JS text
|
|
44
|
+
if (Array.isArray(value))
|
|
45
|
+
return '[' + value.map((v) => (v == null ? 'NaN' : String(v))).join(', ') + ']';
|
|
42
46
|
return typeof value === 'number' ? number(value, '#,##0.###') : String(value);
|
|
47
|
+
}
|
|
43
48
|
switch (type.trim()) {
|
|
44
49
|
case 'number': {
|
|
45
50
|
const s = style?.trim();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messageformat.js","sourceRoot":"","sources":["../../../src/str/messageformat.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"messageformat.js","sourceRoot":"","sources":["../../../src/str/messageformat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,WAAW,GAA2B;IAC1C,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,oBAAoB;CACzF,CAAC;AACF,qFAAqF;AACrF,MAAM,WAAW,GAA2B;IAC1C,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa;CAC/E,CAAC;AAEF,SAAS,MAAM,CAAC,KAAc,EAAE,OAAe;IAC7C,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACnG,CAAC;AAED,SAAS,MAAM,CAAC,KAAa,EAAE,IAAY;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3C,MAAM,CAAC,GAAG,mCAAmC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,WAAW,CAAC,0BAA0B,IAAI,GAAG,CAAC,CAAC;QACjE,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClG,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAE,EAAE,CAAC;IAC9G,CAAC,CAAC,CAAC;IACH,IAAI,MAAM,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;IACzB,KAAK,MAAM,CAAC,IAAI,OAAO;QAAE,IAAI,KAAK,IAAI,CAAC,CAAC,KAAK;YAAE,MAAM,GAAG,CAAC,CAAC;IAC1D,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED,SAAS,cAAc,CACrB,KAAc,EACd,IAAwB,EACxB,KAAyB,EACzB,QAAiC;IAEjC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACnC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,qGAAqG;QACrG,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,OAAO,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;QAC1G,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChF,CAAC;IACD,QAAQ,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QACpB,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC,CAAC;gBAAE,OAAO,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YAC1C,IAAI,CAAC,KAAK,SAAS;gBAAE,OAAO,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACnD,IAAI,CAAC,KAAK,SAAS;gBAAE,OAAO,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACpD,IAAI,CAAC,KAAK,UAAU;gBAAE,OAAO,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;YAC1D,OAAO,MAAM,CAAC,KAAK,EAAE,KAAM,CAAC,CAAC;QAC/B,CAAC;QACD,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC;YAClE,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,QAAQ,CAAC;YACpC,OAAO,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,KAAM,EAAE,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAChH,CAAC;QACD,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QAC5C;YACE,MAAM,IAAI,WAAW,CAAC,wBAAwB,IAAI,GAAG,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC;AAED,6HAA6H;AAC7H,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,IAAe,EAAE,QAAiC;IAC/F,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,GAAI,CAAC;QACrC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;QACvB,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC3B,GAAG,IAAI,GAAG,CAAC;gBACX,CAAC,IAAI,CAAC,CAAC;gBACP,SAAS;YACX,CAAC;YACD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACxC,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC1D,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;YAC1C,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,GAAG,IAAI,EAAE,CAAC;YACV,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,8EAA8E;QAC9E,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACrB,IAAI,CAAC,KAAK,GAAG;gBAAE,OAAO,GAAG,CAAC,OAAO,CAAC;iBAC7B,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,GAAG;gBAAE,KAAK,EAAE,CAAC;iBACnC,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,GAAG;gBAAE,KAAK,EAAE,CAAC;QAC1C,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,KAAK,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACvD,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/B,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC;QACvF,CAAC,GAAG,CAAC,CAAC;IACR,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -12,6 +12,10 @@
|
|
|
12
12
|
* - with an exponent, the value is first rounded to the fraction digits ("0.00E0": 0.125 gives "1.30E-1")
|
|
13
13
|
* - a pattern without digit characters (`format.price` is "price") formats like "#" after its text,
|
|
14
14
|
* and keeps the sign: -0.004 gives "-price0"
|
|
15
|
+
* - "pos;neg": a negative number uses the text around the digits of the negative subpattern instead of "-"
|
|
16
|
+
* ("#.##;(#.##)" gives "(3.5)" for -3.5); the digits follow the positive subpattern, as in Java
|
|
17
|
+
* - at most 16 decimals when |x| >= 1e-3 (the shortest digits of a double never have more there):
|
|
18
|
+
* 0.1 with 20 '#' decimals gives "0.1" in both rounding modes
|
|
15
19
|
*/
|
|
16
20
|
export type Rounding = 'halfUpShortest' | 'halfEvenExact';
|
|
17
21
|
/** Formats a number with a DecimalFormat pattern. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"numberformat.d.ts","sourceRoot":"","sources":["../../../src/str/numberformat.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"numberformat.d.ts","sourceRoot":"","sources":["../../../src/str/numberformat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,MAAM,QAAQ,GAAG,gBAAgB,GAAG,eAAe,CAAC;AA8K1D,qDAAqD;AACrD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,CA6BnF"}
|
|
@@ -12,12 +12,35 @@
|
|
|
12
12
|
* - with an exponent, the value is first rounded to the fraction digits ("0.00E0": 0.125 gives "1.30E-1")
|
|
13
13
|
* - a pattern without digit characters (`format.price` is "price") formats like "#" after its text,
|
|
14
14
|
* and keeps the sign: -0.004 gives "-price0"
|
|
15
|
+
* - "pos;neg": a negative number uses the text around the digits of the negative subpattern instead of "-"
|
|
16
|
+
* ("#.##;(#.##)" gives "(3.5)" for -3.5); the digits follow the positive subpattern, as in Java
|
|
17
|
+
* - at most 16 decimals when |x| >= 1e-3 (the shortest digits of a double never have more there):
|
|
18
|
+
* 0.1 with 20 '#' decimals gives "0.1" in both rounding modes
|
|
15
19
|
*/
|
|
16
20
|
const patterns = new Map();
|
|
21
|
+
/** Index of the first ';' outside quotes, or -1. */
|
|
22
|
+
function subpatternSplit(pattern) {
|
|
23
|
+
let quoted = false;
|
|
24
|
+
for (let i = 0; i < pattern.length; i++) {
|
|
25
|
+
if (pattern[i] === "'")
|
|
26
|
+
quoted = !quoted;
|
|
27
|
+
else if (pattern[i] === ';' && !quoted)
|
|
28
|
+
return i;
|
|
29
|
+
}
|
|
30
|
+
return -1;
|
|
31
|
+
}
|
|
17
32
|
function parsePattern(pattern) {
|
|
18
33
|
const cached = patterns.get(pattern);
|
|
19
34
|
if (cached)
|
|
20
35
|
return cached;
|
|
36
|
+
const semi = subpatternSplit(pattern);
|
|
37
|
+
if (semi !== -1) {
|
|
38
|
+
// only the text around the digits of the negative subpattern is used
|
|
39
|
+
const neg = parsePattern(pattern.slice(semi + 1));
|
|
40
|
+
const parsed = { ...parsePattern(pattern.slice(0, semi)), negPrefix: neg.prefix, negSuffix: neg.suffix };
|
|
41
|
+
patterns.set(pattern, parsed);
|
|
42
|
+
return parsed;
|
|
43
|
+
}
|
|
21
44
|
let prefix = '';
|
|
22
45
|
let suffix = '';
|
|
23
46
|
let number = '';
|
|
@@ -60,6 +83,8 @@ function parsePattern(pattern) {
|
|
|
60
83
|
const parsed = {
|
|
61
84
|
prefix,
|
|
62
85
|
suffix,
|
|
86
|
+
negPrefix: null,
|
|
87
|
+
negSuffix: null,
|
|
63
88
|
// as in Java, a pattern with a decimal point and no '0' at all ("#.##") shows one integer digit
|
|
64
89
|
minInt: !mantissa.includes('0') && mantissa.includes('.') ? 1 : [...intPart].filter((c) => c === '0').length,
|
|
65
90
|
minFrac: [...fracPart].filter((c) => c === '0').length,
|
|
@@ -160,7 +185,7 @@ export function formatNumber(value, pattern, mode) {
|
|
|
160
185
|
return 'NaN';
|
|
161
186
|
const p = parsePattern(pattern);
|
|
162
187
|
if (!Number.isFinite(value))
|
|
163
|
-
return (value < 0
|
|
188
|
+
return affixes(p, value < 0, '∞');
|
|
164
189
|
const x = p.percent ? value * 100 : value;
|
|
165
190
|
const toDigits = mode === 'halfUpShortest' ? shortestDigits : exactDigits;
|
|
166
191
|
let body;
|
|
@@ -179,11 +204,20 @@ export function formatNumber(value, pattern, mode) {
|
|
|
179
204
|
body = layout(mant, p) + 'E' + (exponent < 0 ? '-' : '') + e;
|
|
180
205
|
}
|
|
181
206
|
else {
|
|
182
|
-
|
|
207
|
+
// 16 decimals at most from 1e-3 up (the shortest digits of a double have no more there)
|
|
208
|
+
const frac = !p.hasDigits ? 0 : Math.abs(x) >= 1e-3 ? Math.min(p.maxFrac, 16) : p.maxFrac;
|
|
209
|
+
const rounded = roundDigits(toDigits(x), frac, mode);
|
|
183
210
|
isZero = rounded.digits === '';
|
|
184
211
|
body = p.hasDigits ? layout(rounded, p) : layout(rounded, { ...p, minInt: 0, maxFrac: 0, minFrac: 0 });
|
|
185
212
|
}
|
|
186
|
-
|
|
187
|
-
|
|
213
|
+
return affixes(p, x < 0 && (!isZero || !p.hasDigits), body);
|
|
214
|
+
}
|
|
215
|
+
/** `body` with the text of the positive pattern, or of the negative one ("-" + prefix without "pos;neg"). */
|
|
216
|
+
function affixes(p, negative, body) {
|
|
217
|
+
if (!negative)
|
|
218
|
+
return p.prefix + body + p.suffix;
|
|
219
|
+
if (p.negPrefix === null)
|
|
220
|
+
return '-' + p.prefix + body + p.suffix;
|
|
221
|
+
return p.negPrefix + body + p.negSuffix;
|
|
188
222
|
}
|
|
189
223
|
//# sourceMappingURL=numberformat.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"numberformat.js","sourceRoot":"","sources":["../../../src/str/numberformat.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"numberformat.js","sourceRoot":"","sources":["../../../src/str/numberformat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAqBH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAC;AAE5C,oDAAoD;AACpD,SAAS,eAAe,CAAC,OAAe;IACtC,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG;YAAE,MAAM,GAAG,CAAC,MAAM,CAAC;aACpC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM;YAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AAED,SAAS,YAAY,CAAC,OAAe;IACnC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACrC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;QAChB,qEAAqE;QACrE,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;QACzG,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC9B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,KAAK,GAAmC,QAAQ,CAAC;IACrD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;QACvB,IAAI,OAAe,CAAC;QACpB,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACxC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClB,OAAO,GAAG,GAAG,CAAC;gBACd,CAAC,GAAG,GAAG,CAAC;YACV,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC7D,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;YACxC,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YAC7F,KAAK,GAAG,QAAQ,CAAC;YACjB,MAAM,IAAI,EAAE,CAAC;YACb,SAAS;QACX,CAAC;aAAM,CAAC;YACN,IAAI,EAAE,KAAK,GAAG;gBAAE,OAAO,GAAG,IAAI,CAAC;YAC/B,OAAO,GAAG,EAAE,CAAC;QACf,CAAC;QACD,IAAI,KAAK,KAAK,QAAQ;YAAE,KAAK,GAAG,QAAQ,CAAC;QACzC,IAAI,KAAK,KAAK,QAAQ;YAAE,MAAM,IAAI,OAAO,CAAC;;YACrC,MAAM,IAAI,OAAO,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,QAAQ,GAAG,EAAE,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,CAAC,OAAO,GAAG,EAAE,EAAE,QAAQ,GAAG,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAY;QACtB,MAAM;QACN,MAAM;QACN,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,IAAI;QACf,gGAAgG;QAChG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM;QAC5G,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM;QACtD,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM;QACnE,QAAQ,EAAE,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,SAAS,GAAG,CAAC;QAC/D,OAAO;QACP,QAAQ,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM;QAC/C,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;KACjC,CAAC;IACF,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC9B,OAAO,MAAM,CAAC;AAChB,CAAC;AAQD,SAAS,cAAc,CAAC,CAAS;IAC/B,MAAM,CAAC,GAAG,oCAAoC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;IAC1E,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACjC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;IACxD,MAAM,IAAI,IAAI,CAAC;IACf,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAClD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACjD,CAAC;AAED,iDAAiD;AACjD,SAAS,WAAW,CAAC,CAAS;IAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,GAAG,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IAChD,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACxB,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IAC/C,IAAI,IAAI,GAAG,IAAI,GAAG,gBAAgB,CAAC;IACnC,MAAM,EAAE,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;IAClD,IAAI,OAAO,KAAK,CAAC;QAAE,IAAI,IAAI,EAAE,IAAI,GAAG,CAAC;IACrC,IAAI,GAAW,CAAC;IAChB,IAAI,UAAkB,CAAC;IACvB,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;QACZ,GAAG,GAAG,CAAC,IAAI,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QACtC,UAAU,GAAG,CAAC,CAAC;IACjB,CAAC;SAAM,CAAC;QACN,GAAG,GAAG,CAAC,IAAI,GAAG,EAAE,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC5C,UAAU,GAAG,CAAC,EAAE,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,UAAU,CAAC;IACvC,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;IACxD,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAClD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,CAAC;AAC3C,CAAC;AAED,+CAA+C;AAC/C,SAAS,WAAW,CAAC,CAAS,EAAE,IAAY,EAAE,IAAc;IAC1D,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;IAC7B,IAAI,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM;QAAE,OAAO,CAAC,CAAC;IACtC,IAAI,IAAI,GAAG,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IAC/C,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7C,IAAI,EAAW,CAAC;IAChB,IAAI,IAAI,KAAK,gBAAgB;QAAE,EAAE,GAAG,KAAK,IAAI,CAAC,CAAC;SAC1C,IAAI,KAAK,KAAK,CAAC;QAAE,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC;SAChC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,GAAG,CAAC;QAAE,EAAE,GAAG,IAAI,CAAC;;QAC1C,EAAE,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACrE,IAAI,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACnC,IAAI,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,IAAI,EAAE,EAAE,CAAC;QACP,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;QAChD,IAAI,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,CAAC,CAAC;QACxC,IAAI,GAAG,CAAC,CAAC;IACX,CAAC;IACD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC/B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACrD,CAAC;AAED,SAAS,KAAK,CAAC,GAAW,EAAE,IAAY;IACtC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,MAAM,IAAI,IAAI;QAAE,OAAO,GAAG,CAAC;IAC5C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,IAAI;QAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACxG,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,MAAM,CAAC,CAAS,EAAE,CAAU;IACnC,IAAI,GAAG,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChF,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrD,IAAI,IAAI,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACnG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC1E,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI;QAAE,GAAG,GAAG,GAAG,CAAC;IAC7B,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,YAAY,CAAC,KAAa,EAAE,OAAe,EAAE,IAAc;IACzE,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtC,MAAM,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAChC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IAC/D,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1C,MAAM,QAAQ,GAAG,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC;IAE1E,IAAI,IAAY,CAAC;IACjB,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,EAAE,CAAC;QAC/B,IAAI,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;QACvD,IAAI,IAAI,GAAG,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACpG,IAAI,IAAI,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;YAC5B,QAAQ,IAAI,CAAC,CAAC;YACd,IAAI,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QACpD,CAAC;QACD,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC/D,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAC/D,CAAC;SAAM,CAAC;QACN,wFAAwF;QACxF,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC1F,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACrD,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,EAAE,CAAC;QAC/B,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IACzG,CAAC;IACD,OAAO,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;AAC9D,CAAC;AAED,6GAA6G;AAC7G,SAAS,OAAO,CAAC,CAAU,EAAE,QAAiB,EAAE,IAAY;IAC1D,IAAI,CAAC,QAAQ;QAAE,OAAO,CAAC,CAAC,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,IAAI,CAAC,CAAC,SAAS,KAAK,IAAI;QAAE,OAAO,GAAG,GAAG,CAAC,CAAC,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC;IAClE,OAAO,CAAC,CAAC,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,SAAU,CAAC;AAC3C,CAAC"}
|
package/dist/esm/ta/index.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ import type { series_float, series_bool, series_int, Source, simple_int, simple_
|
|
|
12
12
|
* Simple Moving Average - returns the moving average (sum of last y values divided by y).
|
|
13
13
|
*
|
|
14
14
|
* @param source - Series of values to process
|
|
15
|
-
* @param length - Number of bars (length)
|
|
15
|
+
* @param length - Number of bars (length), or one length per bar (a series length)
|
|
16
16
|
* @returns Simple moving average of source for length bars back
|
|
17
17
|
*
|
|
18
18
|
* @remarks
|
|
@@ -21,14 +21,17 @@ import type { series_float, series_bool, series_int, Source, simple_int, simple_
|
|
|
21
21
|
* - Returns NaN until `length` non-`na` values are available
|
|
22
22
|
* - The sum is a compensated running sum, as in PineScript, so the result can differ from the exact window mean in
|
|
23
23
|
* the last bits (bit for bit with PineScript)
|
|
24
|
+
* - With a series length, the running sum is moved to the new length when the length changes, as PineScript does
|
|
25
|
+
* (see {@link math.sum}); a bar with an `na` source gives the mean of the last `length` earlier values
|
|
24
26
|
*
|
|
25
27
|
* @example
|
|
26
28
|
* ```typescript
|
|
27
29
|
* const closePrices = [10, 11, 12, 13, 14];
|
|
28
30
|
* const sma5 = ta.sma(closePrices, 5); // Returns: [NaN, NaN, NaN, NaN, 12]
|
|
31
|
+
* const smaVar = ta.sma(closePrices, [2, 2, 2, 3, 2]); // Returns: [NaN, 10.5, 11.5, 12, 13.5]
|
|
29
32
|
* ```
|
|
30
33
|
*/
|
|
31
|
-
export declare function sma(source: Source, length: simple_int): series_float;
|
|
34
|
+
export declare function sma(source: Source, length: simple_int | ArrayLike<number>): series_float;
|
|
32
35
|
/**
|
|
33
36
|
* Exponential Moving Average - returns the exponentially weighted moving average.
|
|
34
37
|
*
|
|
@@ -123,7 +126,7 @@ export declare function bb(series: Source, length: simple_int, mult: simple_floa
|
|
|
123
126
|
* Standard deviation over the last `length` non-na values.
|
|
124
127
|
*
|
|
125
128
|
* @param source - Series of values to process
|
|
126
|
-
* @param length - Number of values
|
|
129
|
+
* @param length - Number of values, or one length per bar (a series length, see {@link sma})
|
|
127
130
|
* @param biased - true (default): biased estimate (divides by `length`); false: unbiased (by `length - 1`)
|
|
128
131
|
* @returns Standard deviation series (na until `length` non-na values exist)
|
|
129
132
|
*
|
|
@@ -133,7 +136,7 @@ export declare function bb(series: Source, length: simple_int, mult: simple_floa
|
|
|
133
136
|
* The result is the square root of {@link variance} (0 when the variance is not positive), computed from
|
|
134
137
|
* compensated running sums of the values and of their squares, bit for bit as PineScript.
|
|
135
138
|
*/
|
|
136
|
-
export declare function stdev(source: Source, length: simple_int
|
|
139
|
+
export declare function stdev(source: Source, length: simple_int | ArrayLike<number>, biased?: simple_bool): series_float;
|
|
137
140
|
/**
|
|
138
141
|
* Crossover - returns true when series1 crosses over series2 (moves from below to above).
|
|
139
142
|
*
|
|
@@ -142,8 +145,10 @@ export declare function stdev(source: Source, length: simple_int, biased?: simpl
|
|
|
142
145
|
* @returns Boolean series (true at crossover points)
|
|
143
146
|
*
|
|
144
147
|
* @remarks
|
|
145
|
-
* - True when: series1[i]
|
|
148
|
+
* - True when: series1[i] > series2[i] AND series1[j] <= series2[j], where j is the last bar before i where both
|
|
149
|
+
* values were not na (PineScript rule: a crossing right after an na bar is not missed)
|
|
146
150
|
* - First value is always false (no previous value to compare)
|
|
151
|
+
* - Comparisons are exact (no tolerance)
|
|
147
152
|
* - Useful for detecting bullish signals (e.g., fast MA crossing over slow MA)
|
|
148
153
|
*
|
|
149
154
|
* @example
|
|
@@ -160,8 +165,10 @@ export declare function crossover(series1: Source, series2: Source): series_bool
|
|
|
160
165
|
* @returns Boolean series (true at crossunder points)
|
|
161
166
|
*
|
|
162
167
|
* @remarks
|
|
163
|
-
* - True when: series1[i]
|
|
168
|
+
* - True when: series1[i] < series2[i] AND series1[j] >= series2[j], where j is the last bar before i where both
|
|
169
|
+
* values were not na
|
|
164
170
|
* - First value is always false (no previous value to compare)
|
|
171
|
+
* - Comparisons are exact (no tolerance)
|
|
165
172
|
* - Useful for detecting bearish signals (e.g., fast MA crossing under slow MA)
|
|
166
173
|
*
|
|
167
174
|
* @example
|
|
@@ -289,7 +296,8 @@ export declare function supertrend(factor: simple_float, atrPeriod: simple_int,
|
|
|
289
296
|
* @remarks
|
|
290
297
|
* - Moving average used in RSI calculation
|
|
291
298
|
* - Alpha = 1 / length (different from EMA which uses alpha = 2 / (length + 1))
|
|
292
|
-
* - First value is initialized with SMA, then uses exponential smoothing
|
|
299
|
+
* - First value is initialized with SMA, then uses exponential smoothing. As in PineScript, the seed is the
|
|
300
|
+
* `ta.sma` value (its compensated running sum), so it can differ from the exact mean in the last bits
|
|
293
301
|
* - Formula: `RMA = (source + (length - 1) * RMA[1]) / length`, evaluated in this order as in PineScript
|
|
294
302
|
* (equal to `alpha * source + (1 - alpha) * RMA[1]`, but bit for bit)
|
|
295
303
|
* - `na` values (also +/-Infinity) in the source series are ignored
|
|
@@ -317,6 +325,8 @@ export declare function rma(source: Source, length: simple_int): series_float;
|
|
|
317
325
|
* - Formula: `sum(source[i]! * (length - i)) / sum(length - i)` for i = 0 to length-1
|
|
318
326
|
* - As in PineScript: na on a bar whose source is `na` (also +/-Infinity) and until `length` non-`na` values were
|
|
319
327
|
* received; an `na` value inside the window is replaced by the previous non-`na` value
|
|
328
|
+
* - Summed from the oldest value to the newest; as PineScript, a partial sum `s + t` with
|
|
329
|
+
* `|s + t| <= 1e-10 * max(1, |s| + |t|)` is 0 (a cancellation residue, or values below 1e-10)
|
|
320
330
|
* - More responsive to recent price changes than SMA
|
|
321
331
|
*
|
|
322
332
|
* @example
|
|
@@ -378,10 +388,12 @@ export declare function cum(source: Source): series_float;
|
|
|
378
388
|
* @returns Boolean series (true at cross points)
|
|
379
389
|
*
|
|
380
390
|
* @remarks
|
|
381
|
-
*
|
|
382
|
-
*
|
|
383
|
-
*
|
|
384
|
-
* -
|
|
391
|
+
* PineScript rule (measured bit for bit; not `crossover or crossunder`):
|
|
392
|
+
* - The call keeps the side of the last bar where `source1` was strictly above or strictly below `source2` (no
|
|
393
|
+
* side before such a bar). Equal bars and bars with an `na` value do not change it.
|
|
394
|
+
* - True when the values are strictly on the other side of the kept side: so a run of equal values is passed, and
|
|
395
|
+
* a series that starts equal and then moves away is not a cross
|
|
396
|
+
* - False on a bar with an `na` value
|
|
385
397
|
* - Use `ta.crossover()` or `ta.crossunder()` for directional crosses
|
|
386
398
|
*
|
|
387
399
|
* @example
|
|
@@ -400,10 +412,11 @@ export declare function cross(source1: Source, source2: Source): series_bool;
|
|
|
400
412
|
*
|
|
401
413
|
* @remarks
|
|
402
414
|
* PineScript rules:
|
|
403
|
-
* -
|
|
404
|
-
*
|
|
405
|
-
*
|
|
406
|
-
*
|
|
415
|
+
* - a counter of rises from the previous bar (a rise is larger than the 1e-10 tolerance); a step that is not a rise
|
|
416
|
+
* resets it to 0
|
|
417
|
+
* - a step from or to an `na` bar leaves the counter unchanged (so an `na` bar, and the bar after it, keep the
|
|
418
|
+
* result of the bar before the `na`)
|
|
419
|
+
* - true when the counter is at least `length` (false at the start)
|
|
407
420
|
*
|
|
408
421
|
* @example
|
|
409
422
|
* ```typescript
|
|
@@ -421,10 +434,11 @@ export declare function rising(source: Source, length: simple_int): series_bool;
|
|
|
421
434
|
*
|
|
422
435
|
* @remarks
|
|
423
436
|
* PineScript rules:
|
|
424
|
-
* -
|
|
425
|
-
*
|
|
426
|
-
*
|
|
427
|
-
*
|
|
437
|
+
* - a counter of falls from the previous bar (a fall is larger than the 1e-10 tolerance); a step that is not a fall
|
|
438
|
+
* resets it to 0
|
|
439
|
+
* - a step from or to an `na` bar leaves the counter unchanged (so an `na` bar, and the bar after it, keep the
|
|
440
|
+
* result of the bar before the `na`)
|
|
441
|
+
* - true when the counter is at least `length` (false at the start)
|
|
428
442
|
*
|
|
429
443
|
* @example
|
|
430
444
|
* ```typescript
|
|
@@ -485,10 +499,11 @@ export declare function mom(source: Source, length: simple_int): series_float;
|
|
|
485
499
|
*
|
|
486
500
|
* @remarks
|
|
487
501
|
* - Measures average absolute distance from the mean
|
|
488
|
-
* - Formula: `sum(abs(source[i]! - sma)) / length` for i in 0 to length-1
|
|
489
502
|
* - Less sensitive to outliers than standard deviation
|
|
490
|
-
* - `
|
|
491
|
-
*
|
|
503
|
+
* - PineScript rule (bit for bit): `sum(abs(source[i] - mean)) / length` for `i = 0 .. length - 1`, added newest
|
|
504
|
+
* first, with `mean = ta.sma(source, length)` (its compensated running sum, so a flat window can give a tiny
|
|
505
|
+
* non-zero deviation)
|
|
506
|
+
* - The loop reads the last `length` bars: an `na` among them gives `na`
|
|
492
507
|
*
|
|
493
508
|
* @example
|
|
494
509
|
* ```typescript
|
|
@@ -523,7 +538,7 @@ export declare function dev(source: Source, length: simple_int): series_float;
|
|
|
523
538
|
* const sampleVariance = ta.variance(closePrices, 20, false);
|
|
524
539
|
* ```
|
|
525
540
|
*/
|
|
526
|
-
export declare function variance(source: Source, length: simple_int
|
|
541
|
+
export declare function variance(source: Source, length: simple_int | ArrayLike<number>, biased?: simple_bool): series_float;
|
|
527
542
|
/**
|
|
528
543
|
* Median - returns the median (middle value) of the series.
|
|
529
544
|
*
|
|
@@ -555,7 +570,7 @@ export declare function median(source: Source, length: simple_int): series_float
|
|
|
555
570
|
* @remarks
|
|
556
571
|
* - Fixed length of 4 bars
|
|
557
572
|
* - Weights: [1/6, 2/6, 2/6, 1/6] (symmetric)
|
|
558
|
-
* - Formula: `source
|
|
573
|
+
* - Formula, in this order as in PineScript (bit for bit): `(source + 2 * source[1] + 2 * source[2] + source[3]) / 6`
|
|
559
574
|
* - More weight given to middle values
|
|
560
575
|
* - `na` values in the source series are included in calculations and will produce an `na` result
|
|
561
576
|
* - Returns NaN for the first 3 bars
|
|
@@ -605,6 +620,9 @@ export declare function vwma(source: Source, length: simple_int, volume?: Source
|
|
|
605
620
|
* @remarks
|
|
606
621
|
* - Calculates line of best fit using least squares method
|
|
607
622
|
* - Formula: `linreg = intercept + slope * (length - 1 - offset)`
|
|
623
|
+
* - As PineScript (bit for bit): x = 1 (oldest) .. length (newest), sums from the oldest value,
|
|
624
|
+
* `slope = (length * sumXY - sumX * sumY) / (length * sumX2 - sumX * sumX)`,
|
|
625
|
+
* `intercept = sumY / length - slope * sumX / length + slope`
|
|
608
626
|
* - offset=0 gives current fitted value, offset<0 gives future projection
|
|
609
627
|
* - `na` values in the source series are included in calculations and will produce an `na` result
|
|
610
628
|
* - Useful for trend detection and prediction
|
|
@@ -630,8 +648,9 @@ export declare function linreg(source: Source, length: simple_int, offset?: simp
|
|
|
630
648
|
* - -1 = perfect negative correlation
|
|
631
649
|
* - 0 = no correlation
|
|
632
650
|
* - Measures linear relationship between two series
|
|
633
|
-
* - `
|
|
634
|
-
*
|
|
651
|
+
* - As PineScript: `cov = sma(x * y) - sma(x) * sma(y)`, `r = cov / sqrt(variance(x) * variance(y))` with the
|
|
652
|
+
* compensated running sums of `ta.sma` / `ta.variance` (each skips its own `na` values); `|cov| <= 1e-10` gives 0, a
|
|
653
|
+
* zero variance gives `na`
|
|
635
654
|
*
|
|
636
655
|
* @example
|
|
637
656
|
* ```typescript
|
|
@@ -655,7 +674,7 @@ export declare function correlation(source1: Source, source2: Source, length: si
|
|
|
655
674
|
* - Useful for identifying relative strength within a period
|
|
656
675
|
*
|
|
657
676
|
* PineScript rules:
|
|
658
|
-
* - percentrank = count(source[k] <= source, k = 1..length) / length
|
|
677
|
+
* - percentrank = count(source[k] <= source, k = 1..length) * 100 / length (in this order: the PineScript bits)
|
|
659
678
|
* - a value from bar `length` on, when the current source is not `na`; an `na` value in the window counts as not
|
|
660
679
|
* `<=` the current value
|
|
661
680
|
* - the comparison uses the 1e-10 tolerance
|
|
@@ -680,10 +699,14 @@ export declare function percentrank(source: Source, length: simple_int): series_
|
|
|
680
699
|
* - Typical Price = (High + Low + Close) / 3
|
|
681
700
|
* - Mean Deviation = Average of absolute differences from mean
|
|
682
701
|
* - Scaled by 0.015 to provide more readable numbers
|
|
683
|
-
* - As in PineScript: when the mean deviation is 0 (1e-10 tolerance, a flat window), the CCI of the previous bar
|
|
684
702
|
* - Values above +100 indicate overbought conditions
|
|
685
703
|
* - Values below -100 indicate oversold conditions
|
|
686
|
-
*
|
|
704
|
+
*
|
|
705
|
+
* PineScript rules (bit for bit):
|
|
706
|
+
* - `(source - ta.sma(source, length)) / (0.015 * ta.dev(source, length))`
|
|
707
|
+
* - when the mean deviation is 0 (1e-10 tolerance, a flat window), the last CCI value; 0 when there is none yet
|
|
708
|
+
* (a flat first window)
|
|
709
|
+
* - \`na\` when the mean or the deviation is \`na\` (an \`na\` in the last \`length\` bars)
|
|
687
710
|
*
|
|
688
711
|
* @example
|
|
689
712
|
* \`\`\`typescript
|
|
@@ -707,8 +730,8 @@ export declare function cci(source: Source, length: simple_int): series_float;
|
|
|
707
730
|
* - Measures where close is relative to the high-low range
|
|
708
731
|
* - Values above 80 typically indicate overbought
|
|
709
732
|
* - Values below 20 typically indicate oversold
|
|
710
|
-
* -
|
|
711
|
-
*
|
|
733
|
+
* - As PineScript: when the source, \`highest(high, length)\` or \`lowest(low, length)\` is \`na\`, or the range is 0, the
|
|
734
|
+
* result is the previous result of the call (\`na\` until a first value)
|
|
712
735
|
*
|
|
713
736
|
* @example
|
|
714
737
|
* \`\`\`typescript
|
|
@@ -733,7 +756,13 @@ export declare function stoch(source: Source, high: Source, low: Source, length:
|
|
|
733
756
|
* - Formula: 100 - (100 / (1 + Positive Money Flow / Negative Money Flow))
|
|
734
757
|
* - Values above 80 indicate overbought
|
|
735
758
|
* - Values below 20 indicate oversold
|
|
736
|
-
*
|
|
759
|
+
*
|
|
760
|
+
* PineScript rules (bit for bit):
|
|
761
|
+
* - the two flows are `math.sum` running sums; a sum within 1e-10 of 0 counts as 0 (the residue a running sum
|
|
762
|
+
* keeps over a window of zeros)
|
|
763
|
+
* - 100 when the negative flow is 0; `na` when `1 + positive / negative` is 0 (division by zero)
|
|
764
|
+
* - a bar with an `na` source adds nothing to the sums and gives the previous result; the bar after it (an `na`
|
|
765
|
+
* change) adds its money flow to both sums
|
|
737
766
|
*
|
|
738
767
|
* @example
|
|
739
768
|
* ```typescript
|
|
@@ -901,10 +930,12 @@ export declare function dmi(diLength: simple_int, adxSmoothing: simple_int, high
|
|
|
901
930
|
* @param source - Series of values to process
|
|
902
931
|
* @param shortLength - Short smoothing length
|
|
903
932
|
* @param longLength - Long smoothing length
|
|
904
|
-
* @returns TSI series
|
|
933
|
+
* @returns TSI series, a value in [-1, 1]
|
|
905
934
|
*
|
|
906
935
|
* @remarks
|
|
907
|
-
* -
|
|
936
|
+
* - As PineScript: `ta.ema(ta.ema(m, longLength), shortLength) / ta.ema(ta.ema(math.abs(m), longLength), shortLength)`
|
|
937
|
+
* with `m = source - source[1]` (not scaled by 100)
|
|
938
|
+
* - na when the denominator is 0 (a constant source), as a PineScript division by zero
|
|
908
939
|
* - Positive values indicate bullish momentum
|
|
909
940
|
* - Negative values indicate bearish momentum
|
|
910
941
|
* - Crossovers of zero line can signal trend changes
|
|
@@ -930,7 +961,8 @@ export declare function tsi(source: Source, shortLength: simple_int, longLength:
|
|
|
930
961
|
* - CMO > +50: overbought conditions
|
|
931
962
|
* - CMO < -50: oversold conditions
|
|
932
963
|
* - Unlike RSI, CMO uses sum of gains/losses instead of averages
|
|
933
|
-
* -
|
|
964
|
+
* - As in PineScript: the sums are the running sums of `math.sum` (bit for bit), and a flat window (every change 0)
|
|
965
|
+
* is `0 / 0` = na
|
|
934
966
|
* - More volatile than RSI
|
|
935
967
|
*
|
|
936
968
|
* @example
|
|
@@ -1005,6 +1037,10 @@ export declare function bbw(source: Source, length: simple_int, mult: simple_flo
|
|
|
1005
1037
|
* @param length - Lookback period (default: 14)
|
|
1006
1038
|
* @returns Williams %R series
|
|
1007
1039
|
*
|
|
1040
|
+
* @remarks
|
|
1041
|
+
* PineScript rule (bit for bit): `100 * (close - max) / (max - min)` with `max = ta.highest(high, length)` and
|
|
1042
|
+
* `min = ta.lowest(low, length)` (their `na` rules); `na` when the range is 0.
|
|
1043
|
+
*
|
|
1008
1044
|
* @example
|
|
1009
1045
|
* ```typescript
|
|
1010
1046
|
* const wpr = ta.wpr(high, low, close, 14);
|
|
@@ -1026,6 +1062,9 @@ export declare function wpr(high: Source, low: Source, close: Source, length?: s
|
|
|
1026
1062
|
* @remarks
|
|
1027
1063
|
* As in PineScript: the sums restart on anchor bars; the standard deviation is
|
|
1028
1064
|
* `sqrt(Σ(volume × source²) / Σvolume − vwap²)`.
|
|
1065
|
+
* - With an anchor series: `na` before the first anchor bar
|
|
1066
|
+
* - A bar with an `na` source (or volume) makes the sums `na` until the next anchor bar (`na` values are not
|
|
1067
|
+
* skipped)
|
|
1029
1068
|
*/
|
|
1030
1069
|
export declare function vwap(source: Source, volume: Source, anchor?: ArrayLike<boolean | number>): series_float;
|
|
1031
1070
|
export declare function vwap(source: Source, volume: Source, anchor: ArrayLike<boolean | number> | undefined, stdev_mult: simple_float): [series_float, series_float, series_float];
|
|
@@ -1052,7 +1091,8 @@ export declare function alma(source: Source, length?: simple_int, offset?: simpl
|
|
|
1052
1091
|
/**
|
|
1053
1092
|
* Keltner Channels Width (KCW)
|
|
1054
1093
|
*
|
|
1055
|
-
* Measures the width of Keltner Channels
|
|
1094
|
+
* Measures the width of Keltner Channels relative to the middle line: `(upper - lower) / middle`, a ratio as in
|
|
1095
|
+
* PineScript (0.05 is a width of 5% of the middle line; not multiplied by 100).
|
|
1056
1096
|
* Similar to BBW but uses ATR instead of standard deviation.
|
|
1057
1097
|
*
|
|
1058
1098
|
* Low KCW suggests consolidation/low volatility.
|
|
@@ -1124,19 +1164,20 @@ export declare function min(source: Source): series_float;
|
|
|
1124
1164
|
* The Center of Gravity indicator is an oscillator developed by John Ehlers.
|
|
1125
1165
|
* It identifies turning points with minimal lag and provides clear signals.
|
|
1126
1166
|
*
|
|
1127
|
-
* The COG calculates a weighted average where more recent prices have higher weights,
|
|
1128
|
-
* similar to a moving average but with a focus on momentum shifts.
|
|
1129
|
-
*
|
|
1130
1167
|
* @param source - Source series (typically close)
|
|
1131
1168
|
* @param length - Lookback period (default: 10)
|
|
1132
1169
|
* @returns COG series
|
|
1133
1170
|
*
|
|
1171
|
+
* @remarks
|
|
1172
|
+
* PineScript rule (bit for bit): `-num / math.sum(source, length)`, with `num` the sum of `source[i] * (i + 1)`
|
|
1173
|
+
* for `i = 0 .. length - 1`, added newest first.
|
|
1174
|
+
* - The denominator is the compensated running sum of `math.sum` (the last `length` non-`na` values)
|
|
1175
|
+
* - The numerator reads the last `length` bars, so an `na` among them gives `na`
|
|
1176
|
+
* - A zero denominator gives `na` (PineScript division by zero)
|
|
1177
|
+
*
|
|
1134
1178
|
* @example
|
|
1135
1179
|
* ```typescript
|
|
1136
1180
|
* const cogValue = ta.cog(close, 10);
|
|
1137
|
-
* // Use COG crossovers as signals:
|
|
1138
|
-
* // - COG crossing above 0: potential buy signal
|
|
1139
|
-
* // - COG crossing below 0: potential sell signal
|
|
1140
1181
|
* ```
|
|
1141
1182
|
*/
|
|
1142
1183
|
export declare function cog(source: Source, length?: simple_int): series_float;
|
|
@@ -1157,9 +1198,11 @@ export declare function cog(source: Source, length?: simple_int): series_float;
|
|
|
1157
1198
|
* ```
|
|
1158
1199
|
*
|
|
1159
1200
|
* @remarks
|
|
1160
|
-
*
|
|
1201
|
+
* PineScript rules:
|
|
1202
|
+
* - the window is the last `length` non-`na` values (an `na` bar does not enter it, and gets the mode of the
|
|
1203
|
+
* window it keeps)
|
|
1204
|
+
* - NaN until `length` non-`na` values exist
|
|
1161
1205
|
* - If no mode exists, returns the smallest value
|
|
1162
|
-
* - Returns NaN for the first (length - 1) values where there's insufficient data
|
|
1163
1206
|
*/
|
|
1164
1207
|
export declare function mode(source: Source, length: simple_int): series_float;
|
|
1165
1208
|
/**
|
|
@@ -1246,7 +1289,12 @@ export declare function percentile_nearest_rank(source: Source, length: simple_i
|
|
|
1246
1289
|
* - +100 indicates source consistently increased over the period
|
|
1247
1290
|
* - -100 indicates source consistently decreased over the period
|
|
1248
1291
|
* - 0 indicates no directional consistency
|
|
1249
|
-
* -
|
|
1292
|
+
* - As PineScript (bit for bit): the first value is on bar `length`; values less than 1e-10 above the smallest value
|
|
1293
|
+
* of a group (ascending sweep) are ties with their average rank; a window where all values are ties gives `na`;
|
|
1294
|
+
* moment-form variances of the bar positions and the ranks, `(100 * cov) / (sd_x * sd_y)`
|
|
1295
|
+
* - A bar with an `na` source keeps the previous result; the values are kept in a ring of `length + 1` slots by bar
|
|
1296
|
+
* index (0 at the start, not written on `na` bars), so a later window sees the value of `length + 1` bars earlier
|
|
1297
|
+
* where the `na` was
|
|
1250
1298
|
*/
|
|
1251
1299
|
export declare function rci(source: Source, length: simple_int): series_float;
|
|
1252
1300
|
/**
|
|
@@ -1366,7 +1414,8 @@ export declare function obv(close: Source, volume: Source): series_float;
|
|
|
1366
1414
|
export declare function pvt(close: Source, volume: Source): series_float;
|
|
1367
1415
|
/**
|
|
1368
1416
|
* Accumulation/Distribution index: the running sum of
|
|
1369
|
-
* `(
|
|
1417
|
+
* `((close - low) - (high - close)) / (high - low) * volume`, in this order as in PineScript (bit for bit).
|
|
1418
|
+
* A bar where this is `na` (`high == low`, an `na` volume) adds nothing and keeps the previous value.
|
|
1370
1419
|
*/
|
|
1371
1420
|
export declare function accdist(high: Source, low: Source, close: Source, volume: Source): series_float;
|
|
1372
1421
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ta/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAO,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAInI
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ta/index.ts"],"names":[],"mappings":"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"}
|