oakscriptjs 0.11.1 → 0.11.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/callsite/index.d.ts.map +1 -1
- package/dist/cjs/callsite/index.js +5 -2
- package/dist/cjs/callsite/index.js.map +2 -2
- package/dist/cjs/index.d.ts +2 -2
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +2 -1
- package/dist/cjs/index.js.map +2 -2
- package/dist/cjs/script/index.d.ts +1 -1
- package/dist/cjs/script/index.d.ts.map +1 -1
- package/dist/cjs/script/index.js +6 -51
- 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 +1 -0
- package/dist/cjs/session/calendar.js.map +2 -2
- package/dist/cjs/session/context.d.ts +20 -4
- package/dist/cjs/session/context.d.ts.map +1 -1
- package/dist/cjs/session/context.js +65 -5
- package/dist/cjs/session/context.js.map +2 -2
- package/dist/cjs/ta/index.d.ts +31 -29
- package/dist/cjs/ta/index.d.ts.map +1 -1
- package/dist/cjs/ta/index.js +10 -12
- package/dist/cjs/ta/index.js.map +3 -3
- package/dist/cjs/table/index.d.ts +10 -5
- package/dist/cjs/table/index.d.ts.map +1 -1
- package/dist/cjs/table/index.js +11 -2
- package/dist/cjs/table/index.js.map +2 -2
- package/dist/esm/callsite/index.d.ts.map +1 -1
- package/dist/esm/callsite/index.js +5 -2
- package/dist/esm/callsite/index.js.map +1 -1
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +5 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/script/index.d.ts +1 -1
- package/dist/esm/script/index.d.ts.map +1 -1
- package/dist/esm/script/index.js +7 -62
- 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 +4 -0
- package/dist/esm/session/calendar.js.map +1 -1
- package/dist/esm/session/context.d.ts +20 -4
- package/dist/esm/session/context.d.ts.map +1 -1
- package/dist/esm/session/context.js +81 -7
- package/dist/esm/session/context.js.map +1 -1
- package/dist/esm/ta/index.d.ts +31 -29
- package/dist/esm/ta/index.d.ts.map +1 -1
- package/dist/esm/ta/index.js +45 -45
- package/dist/esm/ta/index.js.map +1 -1
- package/dist/esm/table/index.d.ts +10 -5
- package/dist/esm/table/index.d.ts.map +1 -1
- package/dist/esm/table/index.js +23 -8
- package/dist/esm/table/index.js.map +1 -1
- package/package.json +1 -1
- package/src/callsite/index.ts +5 -2
- package/src/index.ts +6 -3
- package/src/script/index.ts +7 -65
- package/src/session/calendar.ts +3 -0
- package/src/session/context.ts +99 -7
- package/src/ta/index.ts +46 -45
- package/src/table/index.ts +22 -6
package/dist/cjs/ta/index.js
CHANGED
|
@@ -141,8 +141,7 @@ function rsi(source, length) {
|
|
|
141
141
|
const y = length[i] ?? NaN;
|
|
142
142
|
if ((0, import_compare.eq)(y, 0)) return 100;
|
|
143
143
|
if ((0, import_compare.eq)(x, 0)) return 0;
|
|
144
|
-
|
|
145
|
-
return Number.isFinite(r) ? r : NaN;
|
|
144
|
+
return 100 - 100 / (1 + x / y);
|
|
146
145
|
});
|
|
147
146
|
}
|
|
148
147
|
(0, import_limits.checkPositiveLength)("rsi", length, 0, "y");
|
|
@@ -201,7 +200,7 @@ function lastValues(source, i, length) {
|
|
|
201
200
|
const values = [];
|
|
202
201
|
for (let j = i; j >= 0 && values.length < length; j--) {
|
|
203
202
|
const x = source[j];
|
|
204
|
-
if (
|
|
203
|
+
if (Number.isFinite(x)) values.push(x);
|
|
205
204
|
}
|
|
206
205
|
return values.length === length ? values : null;
|
|
207
206
|
}
|
|
@@ -249,7 +248,7 @@ function keptValues(source) {
|
|
|
249
248
|
const last = new Int32Array(source.length);
|
|
250
249
|
for (let i = 0; i < source.length; i++) {
|
|
251
250
|
const x = source[i];
|
|
252
|
-
if (
|
|
251
|
+
if (Number.isFinite(x)) {
|
|
253
252
|
values.push(x);
|
|
254
253
|
bars.push(i);
|
|
255
254
|
}
|
|
@@ -519,7 +518,7 @@ function monotonic(source, length, step) {
|
|
|
519
518
|
for (let i = 0; i < source.length; i++) {
|
|
520
519
|
const v = source[i];
|
|
521
520
|
const prev = i > 0 ? source[i - 1] : NaN;
|
|
522
|
-
if (
|
|
521
|
+
if (Number.isFinite(v) && Number.isFinite(prev)) count = step(v, prev) ? count + 1 : 0;
|
|
523
522
|
result.push(count >= length);
|
|
524
523
|
}
|
|
525
524
|
return result;
|
|
@@ -611,7 +610,7 @@ function median(source, length) {
|
|
|
611
610
|
const mid = Math.floor(len / 2);
|
|
612
611
|
for (let i = 0; i < n; i++) {
|
|
613
612
|
const x = source[i];
|
|
614
|
-
if (
|
|
613
|
+
if (Number.isFinite(x)) {
|
|
615
614
|
kept[count++] = x;
|
|
616
615
|
sorted.splice(bound(x, false), 0, x);
|
|
617
616
|
if (count > len) sorted.splice(bound(kept[count - 1 - len], true) - 1, 1);
|
|
@@ -743,10 +742,9 @@ function stoch(source, high, low, length) {
|
|
|
743
742
|
const highestValues = highest(high, length);
|
|
744
743
|
let previous = NaN;
|
|
745
744
|
for (let i = 0; i < source.length; i++) {
|
|
746
|
-
const value = source[i];
|
|
747
745
|
const lo = lowestValues[i];
|
|
748
|
-
const
|
|
749
|
-
if (!Number.isNaN(
|
|
746
|
+
const k = 100 * (source[i] - lo) / (highestValues[i] - lo);
|
|
747
|
+
if (!Number.isNaN(k)) previous = k;
|
|
750
748
|
result.push(previous);
|
|
751
749
|
}
|
|
752
750
|
return result;
|
|
@@ -1132,14 +1130,14 @@ function lowestbars(source, length) {
|
|
|
1132
1130
|
function max(source) {
|
|
1133
1131
|
let best = NaN;
|
|
1134
1132
|
return source.map((x) => {
|
|
1135
|
-
if (
|
|
1133
|
+
if (Number.isFinite(x) && !(x <= best)) best = x;
|
|
1136
1134
|
return best;
|
|
1137
1135
|
});
|
|
1138
1136
|
}
|
|
1139
1137
|
function min(source) {
|
|
1140
1138
|
let best = NaN;
|
|
1141
1139
|
return source.map((x) => {
|
|
1142
|
-
if (
|
|
1140
|
+
if (Number.isFinite(x) && !(x >= best)) best = x;
|
|
1143
1141
|
return best;
|
|
1144
1142
|
});
|
|
1145
1143
|
}
|
|
@@ -1160,7 +1158,7 @@ function mode(source, length) {
|
|
|
1160
1158
|
const seen = [];
|
|
1161
1159
|
for (let i = 0; i < source.length; i++) {
|
|
1162
1160
|
const v = source[i];
|
|
1163
|
-
if (
|
|
1161
|
+
if (Number.isFinite(v)) seen.push(v);
|
|
1164
1162
|
if (seen.length < len) {
|
|
1165
1163
|
result.push(NaN);
|
|
1166
1164
|
continue;
|