@ch20026103/anysis 0.0.2-alpha
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/.eslintrc.json +15 -0
- package/.gitattributes +1 -0
- package/.vscode/settings.json +5 -0
- package/README.md +11 -0
- package/commitlint.config.js +3 -0
- package/dist/cjs/analyze/Month/index.d.ts +15 -0
- package/dist/cjs/analyze/Month/index.js +24 -0
- package/dist/cjs/analyze/Regression/simpleRegressoinModel.d.ts +12 -0
- package/dist/cjs/analyze/Regression/simpleRegressoinModel.js +79 -0
- package/dist/cjs/analyze/Regression/simpleRegressoinModel.test.d.ts +1 -0
- package/dist/cjs/analyze/Regression/simpleRegressoinModel.test.js +16 -0
- package/dist/cjs/analyze/TimeSeries/R/index.d.ts +7 -0
- package/dist/cjs/analyze/TimeSeries/R/index.js +39 -0
- package/dist/cjs/analyze/TimeSeries/RS/index.d.ts +2 -0
- package/dist/cjs/analyze/TimeSeries/RS/index.js +31 -0
- package/dist/cjs/index.d.ts +12 -0
- package/dist/cjs/index.js +34 -0
- package/dist/cjs/stockSkills/gold.d.ts +47 -0
- package/dist/cjs/stockSkills/gold.js +216 -0
- package/dist/cjs/stockSkills/gold.test.d.ts +1 -0
- package/dist/cjs/stockSkills/gold.test.js +45 -0
- package/dist/cjs/stockSkills/ma.d.ts +58 -0
- package/dist/cjs/stockSkills/ma.js +169 -0
- package/dist/cjs/stockSkills/ma.test.d.ts +1 -0
- package/dist/cjs/stockSkills/ma.test.js +98 -0
- package/dist/cjs/stockSkills/macd.d.ts +59 -0
- package/dist/cjs/stockSkills/macd.js +144 -0
- package/dist/cjs/stockSkills/macd.test.d.ts +1 -0
- package/dist/cjs/stockSkills/macd.test.js +74 -0
- package/dist/cjs/stockSkills/rsi.d.ts +32 -0
- package/dist/cjs/stockSkills/rsi.js +145 -0
- package/dist/cjs/stockSkills/rsi.test.d.ts +1 -0
- package/dist/cjs/stockSkills/rsi.test.js +30 -0
- package/dist/cjs/stockSkills/test_data.test.d.ts +9 -0
- package/dist/cjs/stockSkills/test_data.test.js +166 -0
- package/dist/cjs/stockSkills/utils/dateFormat.d.ts +12 -0
- package/dist/cjs/stockSkills/utils/dateFormat.js +58 -0
- package/dist/cjs/stockSkills/utils/dateFormat.test.d.ts +1 -0
- package/dist/cjs/stockSkills/utils/dateFormat.test.js +29 -0
- package/dist/cjs/stockSkills/utils/getWeekLine.d.ts +17 -0
- package/dist/cjs/stockSkills/utils/getWeekLine.js +75 -0
- package/dist/cjs/stockSkills/utils/getWeekLine.test.d.ts +1 -0
- package/dist/cjs/stockSkills/utils/getWeekLine.test.js +16 -0
- package/dist/cjs/stockSkills/williams.d.ts +29 -0
- package/dist/cjs/stockSkills/williams.js +77 -0
- package/dist/cjs/stockSkills/williams.test.d.ts +1 -0
- package/dist/cjs/stockSkills/williams.test.js +43 -0
- package/dist/cjs/test/add.d.ts +1 -0
- package/dist/cjs/test/add.js +7 -0
- package/dist/cjs/test/minus.d.ts +1 -0
- package/dist/cjs/test/minus.js +7 -0
- package/dist/esm/analyze/Month/index.d.ts +15 -0
- package/dist/esm/analyze/Month/index.js +20 -0
- package/dist/esm/analyze/Regression/simpleRegressoinModel.d.ts +12 -0
- package/dist/esm/analyze/Regression/simpleRegressoinModel.js +76 -0
- package/dist/esm/analyze/Regression/simpleRegressoinModel.test.d.ts +1 -0
- package/dist/esm/analyze/Regression/simpleRegressoinModel.test.js +14 -0
- package/dist/esm/analyze/TimeSeries/R/index.d.ts +7 -0
- package/dist/esm/analyze/TimeSeries/R/index.js +33 -0
- package/dist/esm/analyze/TimeSeries/RS/index.d.ts +2 -0
- package/dist/esm/analyze/TimeSeries/RS/index.js +27 -0
- package/dist/esm/index.d.ts +12 -0
- package/dist/esm/index.js +17 -0
- package/dist/esm/stockSkills/gold.d.ts +47 -0
- package/dist/esm/stockSkills/gold.js +214 -0
- package/dist/esm/stockSkills/gold.test.d.ts +1 -0
- package/dist/esm/stockSkills/gold.test.js +43 -0
- package/dist/esm/stockSkills/ma.d.ts +58 -0
- package/dist/esm/stockSkills/ma.js +167 -0
- package/dist/esm/stockSkills/ma.test.d.ts +1 -0
- package/dist/esm/stockSkills/ma.test.js +96 -0
- package/dist/esm/stockSkills/macd.d.ts +59 -0
- package/dist/esm/stockSkills/macd.js +142 -0
- package/dist/esm/stockSkills/macd.test.d.ts +1 -0
- package/dist/esm/stockSkills/macd.test.js +72 -0
- package/dist/esm/stockSkills/rsi.d.ts +32 -0
- package/dist/esm/stockSkills/rsi.js +143 -0
- package/dist/esm/stockSkills/rsi.test.d.ts +1 -0
- package/dist/esm/stockSkills/rsi.test.js +28 -0
- package/dist/esm/stockSkills/test_data.test.d.ts +9 -0
- package/dist/esm/stockSkills/test_data.test.js +164 -0
- package/dist/esm/stockSkills/utils/dateFormat.d.ts +12 -0
- package/dist/esm/stockSkills/utils/dateFormat.js +55 -0
- package/dist/esm/stockSkills/utils/dateFormat.test.d.ts +1 -0
- package/dist/esm/stockSkills/utils/dateFormat.test.js +27 -0
- package/dist/esm/stockSkills/utils/getWeekLine.d.ts +17 -0
- package/dist/esm/stockSkills/utils/getWeekLine.js +72 -0
- package/dist/esm/stockSkills/utils/getWeekLine.test.d.ts +1 -0
- package/dist/esm/stockSkills/utils/getWeekLine.test.js +14 -0
- package/dist/esm/stockSkills/williams.d.ts +29 -0
- package/dist/esm/stockSkills/williams.js +75 -0
- package/dist/esm/stockSkills/williams.test.d.ts +1 -0
- package/dist/esm/stockSkills/williams.test.js +41 -0
- package/dist/esm/test/add.d.ts +1 -0
- package/dist/esm/test/add.js +3 -0
- package/dist/esm/test/minus.d.ts +1 -0
- package/dist/esm/test/minus.js +3 -0
- package/dist/umd/index.js +1059 -0
- package/package.json +61 -0
- package/test.js +29 -0
- package/vite.config.js +10 -0
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
var Rsi = /** @class */ (function () {
|
|
15
|
+
function Rsi() {
|
|
16
|
+
}
|
|
17
|
+
Object.defineProperty(Rsi.prototype, "getAllRsi", {
|
|
18
|
+
enumerable: false,
|
|
19
|
+
configurable: true,
|
|
20
|
+
writable: true,
|
|
21
|
+
value: function (list) {
|
|
22
|
+
var res = [];
|
|
23
|
+
var rsi6 = this.getRsi6(list);
|
|
24
|
+
var rsi12 = this.getRsi12(list);
|
|
25
|
+
for (var i = 0; i < list.length; i++) {
|
|
26
|
+
res[i] = Object.assign(list[i], rsi6[i], rsi12[i]);
|
|
27
|
+
}
|
|
28
|
+
return res;
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
Object.defineProperty(Rsi.prototype, "getRsi6", {
|
|
32
|
+
enumerable: false,
|
|
33
|
+
configurable: true,
|
|
34
|
+
writable: true,
|
|
35
|
+
value: function (list) {
|
|
36
|
+
var res = [];
|
|
37
|
+
// 前5筆
|
|
38
|
+
for (var i = 0; i < 5; i++) {
|
|
39
|
+
res[i] = __assign(__assign({}, list[i]), { rsi6: undefined });
|
|
40
|
+
}
|
|
41
|
+
// 第6筆Rsi
|
|
42
|
+
var beforeUpAvg = this.getStartUpAvg(list, 6);
|
|
43
|
+
var beforeDownAvg = this.getStartDownAvg(list, 6);
|
|
44
|
+
var firstRsi6 = this.getRsi(beforeUpAvg, beforeDownAvg);
|
|
45
|
+
res[5] = __assign(__assign({}, list[5]), { rsi6: firstRsi6 });
|
|
46
|
+
// else
|
|
47
|
+
for (var i = 6; i < list.length; i++) {
|
|
48
|
+
var minusU = 0;
|
|
49
|
+
var minusD = 0;
|
|
50
|
+
var minusC = list[i]["c"] - list[i - 1]["c"];
|
|
51
|
+
if (minusC > 0) {
|
|
52
|
+
minusU = minusC;
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
minusD = minusC;
|
|
56
|
+
}
|
|
57
|
+
beforeUpAvg = (beforeUpAvg * 5) / 6 + minusU / 6;
|
|
58
|
+
beforeDownAvg = (beforeDownAvg * 5) / 6 + Math.abs(minusD) / 6;
|
|
59
|
+
var rsi6 = this.getRsi(beforeUpAvg, beforeDownAvg);
|
|
60
|
+
res[i] = __assign(__assign({}, list[i]), { rsi6: Math.round(rsi6 * 100) / 100 });
|
|
61
|
+
}
|
|
62
|
+
return res;
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
Object.defineProperty(Rsi.prototype, "getRsi12", {
|
|
66
|
+
enumerable: false,
|
|
67
|
+
configurable: true,
|
|
68
|
+
writable: true,
|
|
69
|
+
value: function (list) {
|
|
70
|
+
var res = [];
|
|
71
|
+
// 前11筆
|
|
72
|
+
for (var i = 0; i < 11; i++) {
|
|
73
|
+
res[i] = __assign(__assign({}, list[i]), { rsi12: undefined });
|
|
74
|
+
}
|
|
75
|
+
// 第12筆Rsi
|
|
76
|
+
var beforeUpAvg = this.getStartUpAvg(list, 12);
|
|
77
|
+
var beforeDownAvg = this.getStartDownAvg(list, 12);
|
|
78
|
+
var firstRsi12 = this.getRsi(beforeUpAvg, beforeDownAvg);
|
|
79
|
+
res[11] = __assign(__assign({}, list[11]), { rsi12: firstRsi12 });
|
|
80
|
+
// else
|
|
81
|
+
for (var i = 12; i < list.length; i++) {
|
|
82
|
+
var minusU = 0;
|
|
83
|
+
var minusD = 0;
|
|
84
|
+
var minusC = list[i]["c"] - list[i - 1]["c"];
|
|
85
|
+
if (minusC > 0) {
|
|
86
|
+
minusU = minusC;
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
minusD = minusC;
|
|
90
|
+
}
|
|
91
|
+
beforeUpAvg = (beforeUpAvg * 11) / 12 + minusU / 12;
|
|
92
|
+
beforeDownAvg = (beforeDownAvg * 11) / 12 + Math.abs(minusD) / 12;
|
|
93
|
+
var rsi12 = this.getRsi(beforeUpAvg, beforeDownAvg);
|
|
94
|
+
res[i] = __assign(__assign({}, list[i]), { rsi12: Math.round(rsi12 * 100) / 100 });
|
|
95
|
+
}
|
|
96
|
+
return res;
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
Object.defineProperty(Rsi.prototype, "getStartUpAvg", {
|
|
100
|
+
enumerable: false,
|
|
101
|
+
configurable: true,
|
|
102
|
+
writable: true,
|
|
103
|
+
value: function (list, count) {
|
|
104
|
+
var start = list.slice(0, 5);
|
|
105
|
+
var sum = 0;
|
|
106
|
+
for (var i = 1; i < start.length; i++) {
|
|
107
|
+
var minus = start[i]["c"] - start[i - 1]["c"];
|
|
108
|
+
if (minus > 0) {
|
|
109
|
+
sum += minus;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
return sum / count;
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
Object.defineProperty(Rsi.prototype, "getStartDownAvg", {
|
|
116
|
+
enumerable: false,
|
|
117
|
+
configurable: true,
|
|
118
|
+
writable: true,
|
|
119
|
+
value: function (list, count) {
|
|
120
|
+
var start = list.slice(0, 5);
|
|
121
|
+
var sum = 0;
|
|
122
|
+
for (var i = 1; i < start.length; i++) {
|
|
123
|
+
var minus = start[i]["c"] - start[i - 1]["c"];
|
|
124
|
+
if (minus < 0) {
|
|
125
|
+
sum += minus;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
return Math.abs(sum / count);
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
Object.defineProperty(Rsi.prototype, "getRsi", {
|
|
132
|
+
enumerable: false,
|
|
133
|
+
configurable: true,
|
|
134
|
+
writable: true,
|
|
135
|
+
value: function (UpAvg, DownAvg) {
|
|
136
|
+
var res = 0;
|
|
137
|
+
if (UpAvg + DownAvg !== 0) {
|
|
138
|
+
res = (UpAvg / (UpAvg + DownAvg)) * 100;
|
|
139
|
+
}
|
|
140
|
+
return res;
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
return Rsi;
|
|
144
|
+
}());
|
|
145
|
+
exports.default = Rsi;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var rsi_1 = require("./rsi");
|
|
4
|
+
var test_data_test_1 = require("./test_data.test");
|
|
5
|
+
describe("test rsi methods", function () {
|
|
6
|
+
it("test getRsi6()", function () {
|
|
7
|
+
var rsi = new rsi_1.default();
|
|
8
|
+
expect(rsi.getRsi6(test_data_test_1.default)[test_data_test_1.default.length - 1]).toEqual({
|
|
9
|
+
c: 142,
|
|
10
|
+
o: 138,
|
|
11
|
+
t: 20211214,
|
|
12
|
+
v: 16841,
|
|
13
|
+
h: 143,
|
|
14
|
+
l: 138,
|
|
15
|
+
rsi6: 45.12,
|
|
16
|
+
});
|
|
17
|
+
});
|
|
18
|
+
it("test getRsi12()", function () {
|
|
19
|
+
var rsi = new rsi_1.default();
|
|
20
|
+
expect(rsi.getRsi12(test_data_test_1.default)[test_data_test_1.default.length - 1]).toEqual({
|
|
21
|
+
c: 142,
|
|
22
|
+
o: 138,
|
|
23
|
+
t: 20211214,
|
|
24
|
+
v: 16841,
|
|
25
|
+
h: 143,
|
|
26
|
+
l: 138,
|
|
27
|
+
rsi12: 49.47,
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
});
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var data = [
|
|
4
|
+
{ t: 20210428, o: 71.0, h: 72.0, l: 69.1, c: 69.6, v: 22859 },
|
|
5
|
+
{ t: 20210429, o: 69.0, h: 71.5, l: 68.6, c: 69.0, v: 13359 },
|
|
6
|
+
{ t: 20210503, o: 69.2, h: 69.4, l: 66.0, c: 67.0, v: 13227 },
|
|
7
|
+
{ t: 20210504, o: 68.0, h: 68.5, l: 60.3, c: 64.4, v: 21469 },
|
|
8
|
+
{ t: 20210505, o: 65.1, h: 67.7, l: 62.8, c: 62.8, v: 13563 },
|
|
9
|
+
{ t: 20210506, o: 62.1, h: 64.8, l: 60.5, c: 61.2, v: 10918 },
|
|
10
|
+
{ t: 20210507, o: 66.3, h: 67.3, l: 66.2, c: 67.3, v: 4979 },
|
|
11
|
+
{ t: 20210510, o: 72.5, h: 74.0, l: 70.6, c: 74.0, v: 38266 },
|
|
12
|
+
{ t: 20210511, o: 72.0, h: 72.0, l: 66.6, c: 67.0, v: 33321 },
|
|
13
|
+
{ t: 20210512, o: 67.2, h: 72.0, l: 60.3, c: 63.5, v: 45970 },
|
|
14
|
+
{ t: 20210513, o: 62.0, h: 65.9, l: 59.9, c: 62.9, v: 24450 },
|
|
15
|
+
{ t: 20210514, o: 65.0, h: 67.7, l: 62.0, c: 63.5, v: 21603 },
|
|
16
|
+
{ t: 20210517, o: 58.6, h: 63.0, l: 57.2, c: 57.2, v: 21274 },
|
|
17
|
+
{ t: 20210518, o: 59.0, h: 62.9, l: 58.2, c: 62.9, v: 21156 },
|
|
18
|
+
{ t: 20210519, o: 63.3, h: 67.5, l: 62.3, c: 66.0, v: 25551 },
|
|
19
|
+
{ t: 20210520, o: 65.0, h: 66.6, l: 62.7, c: 62.9, v: 16006 },
|
|
20
|
+
{ t: 20210521, o: 64.8, h: 65.6, l: 63.5, c: 64.0, v: 10197 },
|
|
21
|
+
{ t: 20210524, o: 63.2, h: 68.2, l: 63.1, c: 66.8, v: 18400 },
|
|
22
|
+
{ t: 20210525, o: 68.0, h: 71.3, l: 67.5, c: 68.2, v: 35417 },
|
|
23
|
+
{ t: 20210526, o: 69.1, h: 70.4, l: 67.8, c: 68.5, v: 13411 },
|
|
24
|
+
{ t: 20210527, o: 68.2, h: 72.0, l: 67.9, c: 72.0, v: 26521 },
|
|
25
|
+
{ t: 20210528, o: 74.1, h: 79.2, l: 73.6, c: 79.2, v: 82389 },
|
|
26
|
+
{ t: 20210531, o: 82.3, h: 86.6, l: 80.2, c: 81.9, v: 77328 },
|
|
27
|
+
{ t: 20210601, o: 82.9, h: 86.3, l: 81.8, c: 86.1, v: 46547 },
|
|
28
|
+
{ t: 20210602, o: 87.0, h: 88.0, l: 82.2, c: 83.0, v: 35438 },
|
|
29
|
+
{ t: 20210603, o: 84.5, h: 88.3, l: 83.8, c: 85.7, v: 38572 },
|
|
30
|
+
{ t: 20210604, o: 85.1, h: 90.0, l: 84.3, c: 86.0, v: 43999 },
|
|
31
|
+
{ t: 20210607, o: 86.4, h: 87.8, l: 81.9, c: 83.1, v: 28352 },
|
|
32
|
+
{ t: 20210608, o: 75.7, h: 79.0, l: 75.4, c: 77.0, v: 45168 },
|
|
33
|
+
{ t: 20210609, o: 79.9, h: 81.0, l: 78.3, c: 78.6, v: 37397 },
|
|
34
|
+
{ t: 20210610, o: 80.0, h: 85.2, l: 79.1, c: 83.1, v: 56885 },
|
|
35
|
+
{ t: 20210611, o: 85.5, h: 86.6, l: 82.2, c: 83.0, v: 37103 },
|
|
36
|
+
{ t: 20210615, o: 84.4, h: 84.9, l: 82.2, c: 82.3, v: 15298 },
|
|
37
|
+
{ t: 20210616, o: 82.9, h: 83.5, l: 79.4, c: 79.9, v: 15479 },
|
|
38
|
+
{ t: 20210617, o: 79.9, h: 81.6, l: 78.4, c: 81.5, v: 13701 },
|
|
39
|
+
{ t: 20210618, o: 81.5, h: 81.9, l: 79.6, c: 79.6, v: 12112 },
|
|
40
|
+
{ t: 20210621, o: 78.6, h: 81.5, l: 77.8, c: 79.9, v: 16939 },
|
|
41
|
+
{ t: 20210622, o: 83.0, h: 83.8, l: 79.2, c: 79.2, v: 20544 },
|
|
42
|
+
{ t: 20210623, o: 80.7, h: 82.8, l: 79.2, c: 82.4, v: 16816 },
|
|
43
|
+
{ t: 20210624, o: 83.2, h: 84.7, l: 81.8, c: 83.5, v: 25302 },
|
|
44
|
+
{ t: 20210625, o: 83.9, h: 86.4, l: 83.5, c: 84.3, v: 27456 },
|
|
45
|
+
{ t: 20210628, o: 84.5, h: 86.2, l: 83.4, c: 84.9, v: 16710 },
|
|
46
|
+
{ t: 20210629, o: 85.9, h: 86.2, l: 81.0, c: 81.1, v: 16373 },
|
|
47
|
+
{ t: 20210630, o: 81.6, h: 82.6, l: 79.9, c: 80.3, v: 11783 },
|
|
48
|
+
{ t: 20210701, o: 80.8, h: 81.6, l: 78.7, c: 78.9, v: 9775 },
|
|
49
|
+
{ t: 20210702, o: 79.0, h: 86.0, l: 78.5, c: 86.0, v: 20332 },
|
|
50
|
+
{ t: 20210705, o: 87.3, h: 90.0, l: 86.0, c: 86.2, v: 35241 },
|
|
51
|
+
{ t: 20210706, o: 88.0, h: 89.5, l: 86.1, c: 86.9, v: 19595 },
|
|
52
|
+
{ t: 20210707, o: 87.7, h: 95.5, l: 87.7, c: 95.5, v: 51150 },
|
|
53
|
+
{ t: 20210708, o: 96.6, h: 98.3, l: 91.8, c: 96.2, v: 62112 },
|
|
54
|
+
{ t: 20210709, o: 97.0, h: 105.5, l: 94.2, c: 105.5, v: 57048 },
|
|
55
|
+
{ t: 20210712, o: 108.5, h: 115.5, l: 107.0, c: 112.0, v: 76701 },
|
|
56
|
+
{ t: 20210713, o: 119.0, h: 123.0, l: 116.5, c: 123.0, v: 33001 },
|
|
57
|
+
{ t: 20210714, o: 128.0, h: 131.0, l: 118.0, c: 124.5, v: 80315 },
|
|
58
|
+
{ t: 20210715, o: 126.5, h: 130.0, l: 120.5, c: 130.0, v: 40958 },
|
|
59
|
+
{ t: 20210716, o: 126.0, h: 142.0, l: 125.0, c: 137.0, v: 59319 },
|
|
60
|
+
{ t: 20210719, o: 135.0, h: 142.5, l: 132.0, c: 134.0, v: 48528 },
|
|
61
|
+
{ t: 20210720, o: 135.5, h: 140.5, l: 133.0, c: 134.5, v: 44290 },
|
|
62
|
+
{ t: 20210721, o: 142.0, h: 147.5, l: 139.5, c: 147.5, v: 35364 },
|
|
63
|
+
{ t: 20210722, o: 154.5, h: 159.5, l: 146.5, c: 153.0, v: 69966 },
|
|
64
|
+
{ t: 20210723, o: 150.0, h: 158.5, l: 138.0, c: 141.0, v: 60528 },
|
|
65
|
+
{ t: 20210726, o: 145.0, h: 155.0, l: 142.5, c: 155.0, v: 60125 },
|
|
66
|
+
{ t: 20210727, o: 157.0, h: 162.0, l: 142.5, c: 147.0, v: 68069 },
|
|
67
|
+
{ t: 20210728, o: 143.0, h: 144.0, l: 132.5, c: 132.5, v: 24227 },
|
|
68
|
+
{ t: 20210729, o: 134.0, h: 139.5, l: 124.0, c: 136.5, v: 80854 },
|
|
69
|
+
{ t: 20210730, o: 138.0, h: 145.0, l: 133.0, c: 135.0, v: 51088 },
|
|
70
|
+
{ t: 20210802, o: 138.0, h: 141.0, l: 132.0, c: 135.0, v: 30838 },
|
|
71
|
+
{ t: 20210803, o: 139.0, h: 145.0, l: 137.0, c: 142.0, v: 44245 },
|
|
72
|
+
{ t: 20210804, o: 149.0, h: 155.0, l: 147.0, c: 149.5, v: 84279 },
|
|
73
|
+
{ t: 20210805, o: 151.0, h: 152.0, l: 142.5, c: 144.5, v: 48729 },
|
|
74
|
+
{ t: 20210806, o: 146.0, h: 151.0, l: 143.5, c: 150.0, v: 37316 },
|
|
75
|
+
{ t: 20210809, o: 148.0, h: 150.5, l: 136.0, c: 138.5, v: 39577 },
|
|
76
|
+
{ t: 20210810, o: 138.5, h: 138.5, l: 129.0, c: 135.0, v: 37046 },
|
|
77
|
+
{ t: 20210811, o: 136.0, h: 140.0, l: 127.5, c: 128.0, v: 25115 },
|
|
78
|
+
{ t: 20210812, o: 130.5, h: 139.0, l: 130.0, c: 136.5, v: 22666 },
|
|
79
|
+
{ t: 20210813, o: 137.5, h: 141.0, l: 130.0, c: 130.5, v: 26823 },
|
|
80
|
+
{ t: 20210816, o: 132.0, h: 139.0, l: 131.5, c: 135.5, v: 32348 },
|
|
81
|
+
{ t: 20210817, o: 138.5, h: 145.0, l: 135.0, c: 137.5, v: 62296 },
|
|
82
|
+
{ t: 20210818, o: 134.5, h: 151.0, l: 130.0, c: 150.0, v: 85599 },
|
|
83
|
+
{ t: 20210819, o: 146.0, h: 154.5, l: 135.0, c: 135.0, v: 90784 },
|
|
84
|
+
{ t: 20210820, o: 139.0, h: 148.0, l: 138.0, c: 144.0, v: 86661 },
|
|
85
|
+
{ t: 20210823, o: 151.0, h: 153.0, l: 148.0, c: 149.0, v: 69675 },
|
|
86
|
+
{ t: 20210824, o: 153.0, h: 163.5, l: 153.0, c: 163.5, v: 101927 },
|
|
87
|
+
{ t: 20210825, o: 165.0, h: 172.0, l: 152.0, c: 158.5, v: 174708 },
|
|
88
|
+
{ t: 20210826, o: 161.0, h: 164.5, l: 155.5, c: 158.0, v: 86475 },
|
|
89
|
+
{ t: 20210827, o: 156.0, h: 157.0, l: 148.5, c: 150.0, v: 54359 },
|
|
90
|
+
{ t: 20210830, o: 152.0, h: 154.5, l: 149.0, c: 150.0, v: 24844 },
|
|
91
|
+
{ t: 20210831, o: 152.0, h: 155.0, l: 150.0, c: 155.0, v: 33930 },
|
|
92
|
+
{ t: 20210901, o: 155.5, h: 170.0, l: 155.0, c: 167.0, v: 90084 },
|
|
93
|
+
{ t: 20210902, o: 168.0, h: 175.0, l: 159.0, c: 159.0, v: 113730 },
|
|
94
|
+
{ t: 20210903, o: 164.0, h: 169.5, l: 160.5, c: 165.5, v: 71038 },
|
|
95
|
+
{ t: 20210906, o: 163.0, h: 163.5, l: 150.0, c: 153.5, v: 50593 },
|
|
96
|
+
{ t: 20210907, o: 148.5, h: 149.0, l: 138.5, c: 138.5, v: 35906 },
|
|
97
|
+
{ t: 20210908, o: 132.5, h: 136.5, l: 128.0, c: 130.5, v: 76783 },
|
|
98
|
+
{ t: 20210909, o: 129.5, h: 136.5, l: 128.5, c: 133.0, v: 44924 },
|
|
99
|
+
{ t: 20210910, o: 133.0, h: 135.0, l: 128.0, c: 133.0, v: 39440 },
|
|
100
|
+
{ t: 20210913, o: 133.0, h: 137.0, l: 128.5, c: 129.0, v: 34660 },
|
|
101
|
+
{ t: 20210914, o: 129.5, h: 131.0, l: 121.0, c: 121.5, v: 62337 },
|
|
102
|
+
{ t: 20210915, o: 122.0, h: 125.5, l: 119.0, c: 120.0, v: 41639 },
|
|
103
|
+
{ t: 20210916, o: 121.0, h: 123.0, l: 119.0, c: 121.5, v: 21404 },
|
|
104
|
+
{ t: 20210917, o: 122.5, h: 126.5, l: 121.5, c: 126.5, v: 26806 },
|
|
105
|
+
{ t: 20210922, o: 121.5, h: 125.0, l: 121.0, c: 125.0, v: 14116 },
|
|
106
|
+
{ t: 20210923, o: 127.5, h: 128.5, l: 124.0, c: 124.5, v: 13457 },
|
|
107
|
+
{ t: 20210924, o: 126.5, h: 136.5, l: 126.5, c: 135.0, v: 42720 },
|
|
108
|
+
{ t: 20210927, o: 136.5, h: 138.5, l: 134.0, c: 138.0, v: 49636 },
|
|
109
|
+
{ t: 20210928, o: 135.0, h: 139.0, l: 132.0, c: 139.0, v: 19530 },
|
|
110
|
+
{ t: 20210929, o: 135.0, h: 137.5, l: 134.0, c: 134.0, v: 22381 },
|
|
111
|
+
{ t: 20210930, o: 135.0, h: 136.5, l: 133.5, c: 134.0, v: 14335 },
|
|
112
|
+
{ t: 20211001, o: 132.0, h: 132.5, l: 121.5, c: 124.0, v: 25326 },
|
|
113
|
+
{ t: 20211004, o: 127.0, h: 129.0, l: 120.5, c: 121.5, v: 26265 },
|
|
114
|
+
{ t: 20211005, o: 120.0, h: 128.5, l: 115.0, c: 126.5, v: 32377 },
|
|
115
|
+
{ t: 20211006, o: 128.0, h: 130.5, l: 123.0, c: 130.5, v: 31926 },
|
|
116
|
+
{ t: 20211007, o: 129.5, h: 134.5, l: 129.0, c: 133.5, v: 31458 },
|
|
117
|
+
{ t: 20211008, o: 136.0, h: 140.0, l: 130.0, c: 131.0, v: 41881 },
|
|
118
|
+
{ t: 20211012, o: 131.0, h: 132.5, l: 128.0, c: 128.5, v: 14479 },
|
|
119
|
+
{ t: 20211013, o: 130.5, h: 131.5, l: 119.0, c: 120.5, v: 23191 },
|
|
120
|
+
{ t: 20211014, o: 123.5, h: 124.5, l: 116.0, c: 118.0, v: 22005 },
|
|
121
|
+
{ t: 20211015, o: 122.0, h: 125.0, l: 120.0, c: 122.0, v: 17761 },
|
|
122
|
+
{ t: 20211018, o: 123.0, h: 125.0, l: 121.0, c: 123.0, v: 12451 },
|
|
123
|
+
{ t: 20211019, o: 123.0, h: 130.0, l: 123.0, c: 128.5, v: 18578 },
|
|
124
|
+
{ t: 20211020, o: 129.5, h: 136.0, l: 128.5, c: 135.0, v: 27384 },
|
|
125
|
+
{ t: 20211021, o: 136.0, h: 144.0, l: 135.0, c: 136.0, v: 52852 },
|
|
126
|
+
{ t: 20211022, o: 138.0, h: 144.0, l: 137.5, c: 144.0, v: 50692 },
|
|
127
|
+
{ t: 20211025, o: 142.0, h: 142.5, l: 138.5, c: 139.5, v: 24365 },
|
|
128
|
+
{ t: 20211026, o: 135.0, h: 135.0, l: 126.5, c: 127.0, v: 42984 },
|
|
129
|
+
{ t: 20211027, o: 127.0, h: 133.0, l: 124.0, c: 132.0, v: 23256 },
|
|
130
|
+
{ t: 20211028, o: 131.0, h: 133.0, l: 129.0, c: 129.0, v: 11693 },
|
|
131
|
+
{ t: 20211029, o: 130.5, h: 131.5, l: 126.5, c: 128.0, v: 12234 },
|
|
132
|
+
{ t: 20211101, o: 129.0, h: 133.0, l: 129.0, c: 131.0, v: 11589 },
|
|
133
|
+
{ t: 20211102, o: 133.5, h: 136.0, l: 126.5, c: 128.0, v: 16035 },
|
|
134
|
+
{ t: 20211103, o: 129.5, h: 131.5, l: 126.5, c: 130.0, v: 8142 },
|
|
135
|
+
{ t: 20211104, o: 126.0, h: 129.5, l: 125.5, c: 126.0, v: 15468 },
|
|
136
|
+
{ t: 20211105, o: 126.5, h: 128.0, l: 123.5, c: 124.0, v: 8233 },
|
|
137
|
+
{ t: 20211108, o: 125.5, h: 125.5, l: 120.0, c: 122.0, v: 10348 },
|
|
138
|
+
{ t: 20211109, o: 124.5, h: 131.5, l: 124.0, c: 130.0, v: 20608 },
|
|
139
|
+
{ t: 20211110, o: 132.0, h: 135.0, l: 130.5, c: 131.0, v: 22325 },
|
|
140
|
+
{ t: 20211111, o: 130.0, h: 134.0, l: 129.0, c: 130.5, v: 9321 },
|
|
141
|
+
{ t: 20211112, o: 132.5, h: 136.5, l: 131.5, c: 133.0, v: 21099 },
|
|
142
|
+
{ t: 20211115, o: 136.0, h: 140.5, l: 134.5, c: 138.5, v: 24232 },
|
|
143
|
+
{ t: 20211116, o: 140.5, h: 143.0, l: 135.5, c: 136.0, v: 26771 },
|
|
144
|
+
{ t: 20211117, o: 138.5, h: 143.0, l: 136.0, c: 143.0, v: 24731 },
|
|
145
|
+
{ t: 20211118, o: 144.0, h: 145.5, l: 138.5, c: 139.5, v: 22025 },
|
|
146
|
+
{ t: 20211119, o: 141.0, h: 142.0, l: 135.0, c: 135.5, v: 13620 },
|
|
147
|
+
{ t: 20211122, o: 135.0, h: 140.0, l: 134.0, c: 137.5, v: 9864 },
|
|
148
|
+
{ t: 20211123, o: 138.5, h: 148.5, l: 137.5, c: 143.0, v: 55866 },
|
|
149
|
+
{ t: 20211124, o: 142.0, h: 143.0, l: 134.0, c: 138.0, v: 30979 },
|
|
150
|
+
{ t: 20211125, o: 141.5, h: 146.0, l: 139.0, c: 139.0, v: 45661 },
|
|
151
|
+
{ t: 20211126, o: 141.0, h: 145.0, l: 137.0, c: 143.5, v: 45298 },
|
|
152
|
+
{ t: 20211129, o: 144.0, h: 157.5, l: 139.5, c: 156.0, v: 103928 },
|
|
153
|
+
{ t: 20211130, o: 158.0, h: 164.5, l: 155.0, c: 155.5, v: 83112 },
|
|
154
|
+
{ t: 20211201, o: 158.0, h: 162.5, l: 156.0, c: 162.5, v: 59748 },
|
|
155
|
+
{ t: 20211202, o: 161.0, h: 161.5, l: 151.0, c: 152.0, v: 35675 },
|
|
156
|
+
{ t: 20211203, o: 155.0, h: 158.0, l: 152.0, c: 154.0, v: 28237 },
|
|
157
|
+
{ t: 20211206, o: 155.0, h: 156.0, l: 149.0, c: 149.0, v: 16314 },
|
|
158
|
+
{ t: 20211207, o: 151.0, h: 151.5, l: 143.0, c: 144.0, v: 24731 },
|
|
159
|
+
{ t: 20211208, o: 146.5, h: 147.0, l: 141.0, c: 144.5, v: 16611 },
|
|
160
|
+
{ t: 20211209, o: 145.5, h: 145.5, l: 141.0, c: 141.0, v: 10050 },
|
|
161
|
+
{ t: 20211210, o: 138.5, h: 142.5, l: 137.0, c: 140.0, v: 10738 },
|
|
162
|
+
{ t: 20211213, o: 140.0, h: 140.5, l: 137.0, c: 138.0, v: 7018 },
|
|
163
|
+
{ t: 20211214, o: 138.0, h: 143.0, l: 138.0, c: 142.0, v: 16841 },
|
|
164
|
+
];
|
|
165
|
+
exports.default = data;
|
|
166
|
+
test("", function () { return expect(true).toBe(true); });
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare enum Mode {
|
|
2
|
+
NumberToString = 1,
|
|
3
|
+
NumberToTimeStamp = 2,
|
|
4
|
+
StringToTimeStamp = 3,
|
|
5
|
+
TimeStampToString = 4,
|
|
6
|
+
TimeStampToNumber = 5,
|
|
7
|
+
StringToNumber = 6
|
|
8
|
+
}
|
|
9
|
+
declare function dateFormat(date: number, mode: Mode): number;
|
|
10
|
+
declare function dateFormat(date: number, mode: Mode): string;
|
|
11
|
+
declare function dateFormat(date: string, mode: Mode): number;
|
|
12
|
+
export default dateFormat;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Mode = void 0;
|
|
4
|
+
var Mode;
|
|
5
|
+
(function (Mode) {
|
|
6
|
+
Mode[Mode["NumberToString"] = 1] = "NumberToString";
|
|
7
|
+
Mode[Mode["NumberToTimeStamp"] = 2] = "NumberToTimeStamp";
|
|
8
|
+
Mode[Mode["StringToTimeStamp"] = 3] = "StringToTimeStamp";
|
|
9
|
+
Mode[Mode["TimeStampToString"] = 4] = "TimeStampToString";
|
|
10
|
+
Mode[Mode["TimeStampToNumber"] = 5] = "TimeStampToNumber";
|
|
11
|
+
Mode[Mode["StringToNumber"] = 6] = "StringToNumber";
|
|
12
|
+
})(Mode = exports.Mode || (exports.Mode = {}));
|
|
13
|
+
function dateFormat(date, mode) {
|
|
14
|
+
switch (mode) {
|
|
15
|
+
case Mode.NumberToString: {
|
|
16
|
+
var input = date.toString();
|
|
17
|
+
var res = input.slice(0, 4) + "-" + input.slice(4, 6) + "-" + input.slice(6, 8);
|
|
18
|
+
return res;
|
|
19
|
+
}
|
|
20
|
+
case Mode.NumberToTimeStamp: {
|
|
21
|
+
var input = date.toString();
|
|
22
|
+
var stringDate = input.slice(0, 4) + "-" + input.slice(4, 6) + "-" + input.slice(6, 8);
|
|
23
|
+
var res = Date.parse(stringDate);
|
|
24
|
+
return res;
|
|
25
|
+
}
|
|
26
|
+
case Mode.StringToTimeStamp: {
|
|
27
|
+
var res = Date.parse(date);
|
|
28
|
+
return res;
|
|
29
|
+
}
|
|
30
|
+
case Mode.TimeStampToString: {
|
|
31
|
+
var newDate = new Date(date);
|
|
32
|
+
var yy = newDate.getFullYear();
|
|
33
|
+
var mm = newDate.getMonth() + 1 < 10
|
|
34
|
+
? "0" + (newDate.getMonth() + 1)
|
|
35
|
+
: newDate.getMonth() + 1;
|
|
36
|
+
var dd = newDate.getDate() < 10 ? "0" + newDate.getDate() : newDate.getDate();
|
|
37
|
+
var res = yy + "-" + mm + "-" + dd;
|
|
38
|
+
return res;
|
|
39
|
+
}
|
|
40
|
+
case Mode.TimeStampToNumber: {
|
|
41
|
+
var newDate = new Date(date);
|
|
42
|
+
var yy = newDate.getFullYear();
|
|
43
|
+
var mm = newDate.getMonth() + 1 < 10
|
|
44
|
+
? "0" + (newDate.getMonth() + 1)
|
|
45
|
+
: newDate.getMonth() + 1;
|
|
46
|
+
var dd = newDate.getDate() < 10 ? "0" + newDate.getDate() : newDate.getDate();
|
|
47
|
+
var res = "".concat(yy).concat(mm).concat(dd);
|
|
48
|
+
return parseInt(res);
|
|
49
|
+
}
|
|
50
|
+
case Mode.StringToNumber: {
|
|
51
|
+
var res = date.toString().replace("-", "").replace("-", "");
|
|
52
|
+
return parseInt(res);
|
|
53
|
+
}
|
|
54
|
+
default:
|
|
55
|
+
return "please setting mode";
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
exports.default = dateFormat;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var dateFormat_1 = require("./dateFormat");
|
|
4
|
+
describe("test dateFormat methods", function () {
|
|
5
|
+
it("test NumberToString", function () {
|
|
6
|
+
var res = (0, dateFormat_1.default)(20211209, dateFormat_1.Mode.NumberToString);
|
|
7
|
+
expect(res).toBe("2021-12-09");
|
|
8
|
+
});
|
|
9
|
+
it("test NumberToTimeStamp", function () {
|
|
10
|
+
var res = (0, dateFormat_1.default)(20211209, dateFormat_1.Mode.NumberToTimeStamp);
|
|
11
|
+
expect(res).toBe(1639008000000);
|
|
12
|
+
});
|
|
13
|
+
it("test StringToNumber", function () {
|
|
14
|
+
var res = (0, dateFormat_1.default)("2021-12-09", dateFormat_1.Mode.StringToNumber);
|
|
15
|
+
expect(res).toBe(20211209);
|
|
16
|
+
});
|
|
17
|
+
it("test StringToTimeStamp", function () {
|
|
18
|
+
var res = (0, dateFormat_1.default)("2021-12-09", dateFormat_1.Mode.StringToTimeStamp);
|
|
19
|
+
expect(res).toBe(1639008000000);
|
|
20
|
+
});
|
|
21
|
+
it("test TimeStampToNumber", function () {
|
|
22
|
+
var res = (0, dateFormat_1.default)(1639008000000, dateFormat_1.Mode.TimeStampToNumber);
|
|
23
|
+
expect(res).toBe(20211209);
|
|
24
|
+
});
|
|
25
|
+
it("test TimeStampToString", function () {
|
|
26
|
+
var res = (0, dateFormat_1.default)(1639008000000, dateFormat_1.Mode.TimeStampToString);
|
|
27
|
+
expect(res).toBe("2021-12-09");
|
|
28
|
+
});
|
|
29
|
+
});
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
declare type ListType = {
|
|
2
|
+
h: number;
|
|
3
|
+
t: number;
|
|
4
|
+
o: number;
|
|
5
|
+
c: number;
|
|
6
|
+
l: number;
|
|
7
|
+
}[];
|
|
8
|
+
export declare type ResType = {
|
|
9
|
+
h: number;
|
|
10
|
+
t: number;
|
|
11
|
+
o: number;
|
|
12
|
+
c: number;
|
|
13
|
+
l: number;
|
|
14
|
+
detail?: ListType;
|
|
15
|
+
};
|
|
16
|
+
export default function getWeekLine(list: ListType, detail: boolean): ResType[];
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
function addDetail(obj, list, detail) {
|
|
15
|
+
if (detail)
|
|
16
|
+
return __assign(__assign({}, obj), { detail: list });
|
|
17
|
+
else
|
|
18
|
+
return __assign({}, obj);
|
|
19
|
+
}
|
|
20
|
+
function getWeekLine(list, detail) {
|
|
21
|
+
var res = [];
|
|
22
|
+
var collectWeekData = [];
|
|
23
|
+
list.forEach(function (item, index) {
|
|
24
|
+
var year = item["t"]
|
|
25
|
+
.toString()
|
|
26
|
+
.replace(/^(\d{4})(\d{2})(\d{2})$/, "$1-$2-$3");
|
|
27
|
+
var day = new Date(year).getDay();
|
|
28
|
+
switch (day) {
|
|
29
|
+
case 0 || 6:
|
|
30
|
+
break;
|
|
31
|
+
case 5: {
|
|
32
|
+
collectWeekData.push(item);
|
|
33
|
+
var obj = {
|
|
34
|
+
o: collectWeekData[0]["o"],
|
|
35
|
+
c: collectWeekData[collectWeekData.length - 1]["c"],
|
|
36
|
+
t: collectWeekData[collectWeekData.length - 1]["t"],
|
|
37
|
+
h: Math.max.apply(Math, collectWeekData.map(function (item) { return item.h; })),
|
|
38
|
+
l: Math.min.apply(Math, collectWeekData.map(function (item) { return item.l; })),
|
|
39
|
+
};
|
|
40
|
+
res.push(addDetail(obj, collectWeekData, detail));
|
|
41
|
+
collectWeekData = [];
|
|
42
|
+
break;
|
|
43
|
+
}
|
|
44
|
+
case 1:
|
|
45
|
+
if (collectWeekData.length !== 0) {
|
|
46
|
+
var obj = {
|
|
47
|
+
o: collectWeekData[0]["o"],
|
|
48
|
+
c: collectWeekData[collectWeekData.length - 1]["c"],
|
|
49
|
+
t: collectWeekData[collectWeekData.length - 1]["t"],
|
|
50
|
+
h: Math.max.apply(Math, collectWeekData.map(function (item) { return item.h; })),
|
|
51
|
+
l: Math.min.apply(Math, collectWeekData.map(function (item) { return item.l; })),
|
|
52
|
+
};
|
|
53
|
+
res.push(addDetail(obj, collectWeekData, detail));
|
|
54
|
+
}
|
|
55
|
+
collectWeekData = [];
|
|
56
|
+
collectWeekData.push(item);
|
|
57
|
+
break;
|
|
58
|
+
default:
|
|
59
|
+
collectWeekData.push(item);
|
|
60
|
+
if (list.length - 1 === index) {
|
|
61
|
+
var obj = {
|
|
62
|
+
o: collectWeekData[0]["o"],
|
|
63
|
+
c: collectWeekData[collectWeekData.length - 1]["c"],
|
|
64
|
+
t: collectWeekData[collectWeekData.length - 1]["t"],
|
|
65
|
+
h: Math.max.apply(Math, collectWeekData.map(function (item) { return item.h; })),
|
|
66
|
+
l: Math.min.apply(Math, collectWeekData.map(function (item) { return item.l; })),
|
|
67
|
+
};
|
|
68
|
+
res.push(addDetail(obj, collectWeekData, detail));
|
|
69
|
+
}
|
|
70
|
+
break;
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
return res;
|
|
74
|
+
}
|
|
75
|
+
exports.default = getWeekLine;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var getWeekLine_1 = require("./getWeekLine");
|
|
4
|
+
var test_data_test_1 = require("../test_data.test");
|
|
5
|
+
describe("test getWeekLine methods", function () {
|
|
6
|
+
it("test getWeekLine(data, false) no detail", function () {
|
|
7
|
+
var weekLine = (0, getWeekLine_1.default)(test_data_test_1.default, false);
|
|
8
|
+
expect(weekLine[weekLine.length - 2]).toEqual({
|
|
9
|
+
c: 140,
|
|
10
|
+
h: 156,
|
|
11
|
+
l: 137,
|
|
12
|
+
o: 155,
|
|
13
|
+
t: 20211210,
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
});
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
declare type ListType = {
|
|
2
|
+
h: number;
|
|
3
|
+
l: number;
|
|
4
|
+
c: number;
|
|
5
|
+
}[];
|
|
6
|
+
declare type ResWilliams9Type = {
|
|
7
|
+
c: number;
|
|
8
|
+
williams9?: number;
|
|
9
|
+
}[];
|
|
10
|
+
declare type ResWilliams18Type = {
|
|
11
|
+
c: number;
|
|
12
|
+
williams18?: number;
|
|
13
|
+
}[];
|
|
14
|
+
declare type ResAllWilliamsType = {
|
|
15
|
+
c: number;
|
|
16
|
+
williams18?: number;
|
|
17
|
+
williams9?: number;
|
|
18
|
+
}[];
|
|
19
|
+
interface WilliamsType {
|
|
20
|
+
getWilliams9: (list: ListType) => ResWilliams9Type;
|
|
21
|
+
getWilliams18: (list: ListType) => ResWilliams18Type;
|
|
22
|
+
getAllWillams(list: ListType): ResAllWilliamsType;
|
|
23
|
+
}
|
|
24
|
+
export default class Williams implements WilliamsType {
|
|
25
|
+
getAllWillams(list: ListType): ResAllWilliamsType;
|
|
26
|
+
getWilliams9(list: ListType): ResWilliams9Type;
|
|
27
|
+
getWilliams18(list: ListType): ResWilliams18Type;
|
|
28
|
+
}
|
|
29
|
+
export {};
|