volleyballsimtypes 0.0.125 → 0.0.127
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/src/api/events.d.ts +0 -1
- package/dist/cjs/src/data/transformers/block.js +0 -1
- package/dist/cjs/src/data/transformers/libero-replacement.js +0 -1
- package/dist/cjs/src/data/transformers/rally.js +20 -34
- package/dist/cjs/src/data/transformers/reception.js +1 -2
- package/dist/cjs/src/data/transformers/serve.js +1 -2
- package/dist/cjs/src/data/transformers/set.js +1 -2
- package/dist/cjs/src/data/transformers/spike.js +1 -2
- package/dist/cjs/src/data/transformers/substitution.js +0 -1
- package/dist/cjs/src/service/event/block.d.ts +1 -1
- package/dist/cjs/src/service/event/block.js +3 -3
- package/dist/cjs/src/service/event/in-play-event.d.ts +1 -1
- package/dist/cjs/src/service/event/in-play-event.js +2 -2
- package/dist/cjs/src/service/event/libero-replacement.d.ts +1 -1
- package/dist/cjs/src/service/event/libero-replacement.js +3 -3
- package/dist/cjs/src/service/event/rally-event.d.ts +1 -3
- package/dist/cjs/src/service/event/rally-event.js +1 -2
- package/dist/cjs/src/service/event/reception.d.ts +1 -1
- package/dist/cjs/src/service/event/reception.js +3 -3
- package/dist/cjs/src/service/event/serve.d.ts +1 -1
- package/dist/cjs/src/service/event/serve.js +3 -3
- package/dist/cjs/src/service/event/set.d.ts +1 -1
- package/dist/cjs/src/service/event/set.js +3 -3
- package/dist/cjs/src/service/event/spike.d.ts +1 -1
- package/dist/cjs/src/service/event/spike.js +3 -3
- package/dist/cjs/src/service/event/substitution.d.ts +1 -1
- package/dist/cjs/src/service/event/substitution.js +3 -3
- package/dist/esm/src/api/events.d.ts +0 -1
- package/dist/esm/src/data/transformers/block.js +0 -1
- package/dist/esm/src/data/transformers/libero-replacement.js +0 -1
- package/dist/esm/src/data/transformers/rally.js +20 -34
- package/dist/esm/src/data/transformers/reception.js +1 -2
- package/dist/esm/src/data/transformers/serve.js +1 -2
- package/dist/esm/src/data/transformers/set.js +1 -2
- package/dist/esm/src/data/transformers/spike.js +1 -2
- package/dist/esm/src/data/transformers/substitution.js +0 -1
- package/dist/esm/src/service/event/block.d.ts +1 -1
- package/dist/esm/src/service/event/block.js +3 -3
- package/dist/esm/src/service/event/in-play-event.d.ts +1 -1
- package/dist/esm/src/service/event/in-play-event.js +2 -2
- package/dist/esm/src/service/event/libero-replacement.d.ts +1 -1
- package/dist/esm/src/service/event/libero-replacement.js +3 -3
- package/dist/esm/src/service/event/rally-event.d.ts +1 -3
- package/dist/esm/src/service/event/rally-event.js +1 -2
- package/dist/esm/src/service/event/reception.d.ts +1 -1
- package/dist/esm/src/service/event/reception.js +3 -3
- package/dist/esm/src/service/event/serve.d.ts +1 -1
- package/dist/esm/src/service/event/serve.js +3 -3
- package/dist/esm/src/service/event/set.d.ts +1 -1
- package/dist/esm/src/service/event/set.js +3 -3
- package/dist/esm/src/service/event/spike.d.ts +1 -1
- package/dist/esm/src/service/event/spike.js +3 -3
- package/dist/esm/src/service/event/substitution.d.ts +1 -1
- package/dist/esm/src/service/event/substitution.js +3 -3
- package/package.json +1 -1
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { BlockFailureEnum, BlockTypeEnum, CourtTargetEnum, EventTypeEnum, LiberoReplacementTypeEnum, ReceptionFailureEnum, ReceptionTypeEnum, ServeFailureEnum, ServeTypeEnum, SetFailureEnum, SetTypeEnum, SpikeFailureEnum, SpikeTypeEnum } from '../service';
|
|
2
2
|
import { APITeam } from './team';
|
|
3
3
|
export interface APIEvent {
|
|
4
|
-
readonly order: number;
|
|
5
4
|
readonly playerId: string;
|
|
6
5
|
readonly eventType: EventTypeEnum;
|
|
7
6
|
team?: APITeam;
|
|
@@ -36,42 +36,35 @@ function transformToAttributes(rally, setId) {
|
|
|
36
36
|
exports.transformFromRally = transformToAttributes;
|
|
37
37
|
function transformToObject(model) {
|
|
38
38
|
const decompressed = JSON.parse((0, lz_string_1.decompressFromBase64)(model.events));
|
|
39
|
-
const
|
|
40
|
-
const substitutions = [];
|
|
41
|
-
const serves = [];
|
|
42
|
-
const receptions = [];
|
|
43
|
-
const sets = [];
|
|
44
|
-
const spikes = [];
|
|
45
|
-
const blocks = [];
|
|
39
|
+
const events = [];
|
|
46
40
|
decompressed.forEach(event => {
|
|
47
41
|
switch (event.event_type) {
|
|
48
42
|
case 0:
|
|
49
|
-
|
|
43
|
+
events.push(event);
|
|
50
44
|
break;
|
|
51
45
|
case 1:
|
|
52
|
-
|
|
46
|
+
events.push(event);
|
|
53
47
|
break;
|
|
54
48
|
case 2:
|
|
55
|
-
|
|
49
|
+
events.push(event);
|
|
56
50
|
break;
|
|
57
51
|
case 3:
|
|
58
|
-
|
|
52
|
+
events.push(event);
|
|
59
53
|
break;
|
|
60
54
|
case 4:
|
|
61
|
-
|
|
55
|
+
events.push(event);
|
|
62
56
|
break;
|
|
63
57
|
case 5:
|
|
64
|
-
|
|
58
|
+
events.push(event);
|
|
65
59
|
break;
|
|
66
60
|
case 6:
|
|
67
|
-
|
|
61
|
+
events.push(event);
|
|
68
62
|
break;
|
|
69
63
|
default:
|
|
70
64
|
throw new Error('UNKNOWN_EVENT');
|
|
71
65
|
}
|
|
66
|
+
events.push(event);
|
|
72
67
|
});
|
|
73
|
-
const events = [...liberoReplacements, ...substitutions, ...serves, ...receptions, ...sets, ...spikes, ...blocks]
|
|
74
|
-
.sort((e1, e2) => e1.order - e2.order);
|
|
75
68
|
return new service_1.Rally({
|
|
76
69
|
id: model.rally_id,
|
|
77
70
|
order: model.order,
|
|
@@ -81,43 +74,36 @@ function transformToObject(model) {
|
|
|
81
74
|
}
|
|
82
75
|
exports.transformToRally = transformToObject;
|
|
83
76
|
function transformToAPIObject(model) {
|
|
84
|
-
const decompressed =
|
|
85
|
-
const
|
|
86
|
-
const
|
|
87
|
-
|
|
88
|
-
const receptions = [];
|
|
89
|
-
const sets = [];
|
|
90
|
-
const spikes = [];
|
|
91
|
-
const blocks = [];
|
|
92
|
-
decompressed.forEach(event => {
|
|
77
|
+
const decompressed = (0, lz_string_1.decompressFromBase64)(model.events);
|
|
78
|
+
const parsed = JSON.parse(decompressed);
|
|
79
|
+
const events = [];
|
|
80
|
+
parsed.forEach(event => {
|
|
93
81
|
switch (event.event_type) {
|
|
94
82
|
case 0:
|
|
95
|
-
|
|
83
|
+
events.push((0, _1.transformToAPILiberoReplacement)(event));
|
|
96
84
|
break;
|
|
97
85
|
case 1:
|
|
98
|
-
|
|
86
|
+
events.push((0, _1.transformToAPISubstitution)(event));
|
|
99
87
|
break;
|
|
100
88
|
case 2:
|
|
101
|
-
|
|
89
|
+
events.push((0, _1.transformToAPIServe)(event));
|
|
102
90
|
break;
|
|
103
91
|
case 3:
|
|
104
|
-
|
|
92
|
+
events.push((0, _1.transformToAPIReception)(event));
|
|
105
93
|
break;
|
|
106
94
|
case 4:
|
|
107
|
-
|
|
95
|
+
events.push((0, _1.transformToAPISet)(event));
|
|
108
96
|
break;
|
|
109
97
|
case 5:
|
|
110
|
-
|
|
98
|
+
events.push((0, _1.transformToAPISpike)(event));
|
|
111
99
|
break;
|
|
112
100
|
case 6:
|
|
113
|
-
|
|
101
|
+
events.push((0, _1.transformToAPIBlock)(event));
|
|
114
102
|
break;
|
|
115
103
|
default:
|
|
116
104
|
throw new Error('UNKNOWN_EVENT');
|
|
117
105
|
}
|
|
118
106
|
});
|
|
119
|
-
const events = [...liberoReplacements, ...substitutions, ...serves, ...receptions, ...sets, ...spikes, ...blocks]
|
|
120
|
-
.sort((e1, e2) => e1.order - e2.order);
|
|
121
107
|
return {
|
|
122
108
|
id: model.rally_id,
|
|
123
109
|
order: model.order,
|
|
@@ -23,7 +23,7 @@ export declare class Block extends InPlayEvent {
|
|
|
23
23
|
readonly failure: BlockFailureEnum;
|
|
24
24
|
readonly type: BlockTypeEnum;
|
|
25
25
|
readonly blockers: string[];
|
|
26
|
-
constructor({
|
|
26
|
+
constructor({ score, player, target, failure, type, modifier, eventType, blockers, activeTraits }: BlockOpts);
|
|
27
27
|
static getScore(blockers: Player[], modifier: number, activeTraits: Trait[]): number;
|
|
28
28
|
toString(): string;
|
|
29
29
|
}
|
|
@@ -20,8 +20,8 @@ var BlockTypeEnum;
|
|
|
20
20
|
BlockTypeEnum[BlockTypeEnum["TRIPLE"] = 3] = "TRIPLE";
|
|
21
21
|
})(BlockTypeEnum = exports.BlockTypeEnum || (exports.BlockTypeEnum = {}));
|
|
22
22
|
class Block extends in_play_event_1.InPlayEvent {
|
|
23
|
-
constructor({
|
|
24
|
-
super({
|
|
23
|
+
constructor({ score, player, target, failure, type, modifier, eventType, blockers, activeTraits }) {
|
|
24
|
+
super({ score, player, target, modifier, eventType, activeTraits });
|
|
25
25
|
this.type = type;
|
|
26
26
|
this.failure = failure;
|
|
27
27
|
this.blockers = blockers.map(b => b.id);
|
|
@@ -62,7 +62,7 @@ class Block extends in_play_event_1.InPlayEvent {
|
|
|
62
62
|
return score;
|
|
63
63
|
}
|
|
64
64
|
toString() {
|
|
65
|
-
return `{
|
|
65
|
+
return `{score:${this.score},player:${this.player},target:${this.target},failure:${this.failure},type:${this.type},modifier:${this.modifier},eventType:${this.eventType},blockers:[${this.blockers.join(',')}],activeTraits:[${this.activeTraits.join(',')}]}`;
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
68
|
exports.Block = Block;
|
|
@@ -14,6 +14,6 @@ export declare abstract class InPlayEvent extends RallyEvent {
|
|
|
14
14
|
readonly modifier: number;
|
|
15
15
|
readonly score: number;
|
|
16
16
|
readonly activeTraits: string[];
|
|
17
|
-
protected constructor({ eventType, player, target, modifier, score,
|
|
17
|
+
protected constructor({ eventType, player, target, modifier, score, activeTraits }: InPlayEventOpts);
|
|
18
18
|
protected static calculateScore(stats: PerformanceStats, eventType: string, type: string): number;
|
|
19
19
|
}
|
|
@@ -8,8 +8,8 @@ const rally_event_1 = require("./rally-event");
|
|
|
8
8
|
const event_formula_json_1 = __importDefault(require("../../../data/event.formula.json"));
|
|
9
9
|
const utils_1 = require("../utils");
|
|
10
10
|
class InPlayEvent extends rally_event_1.RallyEvent {
|
|
11
|
-
constructor({ eventType, player, target, modifier, score,
|
|
12
|
-
super({
|
|
11
|
+
constructor({ eventType, player, target, modifier, score, activeTraits }) {
|
|
12
|
+
super({ player, eventType });
|
|
13
13
|
this.target = target;
|
|
14
14
|
this.score = score;
|
|
15
15
|
this.modifier = modifier;
|
|
@@ -12,7 +12,7 @@ export declare enum LiberoReplacementTypeEnum {
|
|
|
12
12
|
export declare class LiberoReplacement extends RallyEvent {
|
|
13
13
|
readonly type: LiberoReplacementTypeEnum;
|
|
14
14
|
readonly libero: string;
|
|
15
|
-
constructor({
|
|
15
|
+
constructor({ player, type, libero, eventType }: LiberoReplacementOpts);
|
|
16
16
|
toString(): string;
|
|
17
17
|
}
|
|
18
18
|
export {};
|
|
@@ -8,13 +8,13 @@ var LiberoReplacementTypeEnum;
|
|
|
8
8
|
LiberoReplacementTypeEnum[LiberoReplacementTypeEnum["LIBERO_OUT"] = 1] = "LIBERO_OUT";
|
|
9
9
|
})(LiberoReplacementTypeEnum = exports.LiberoReplacementTypeEnum || (exports.LiberoReplacementTypeEnum = {}));
|
|
10
10
|
class LiberoReplacement extends rally_event_1.RallyEvent {
|
|
11
|
-
constructor({
|
|
12
|
-
super({
|
|
11
|
+
constructor({ player, type, libero, eventType }) {
|
|
12
|
+
super({ player, eventType });
|
|
13
13
|
this.type = type;
|
|
14
14
|
this.libero = libero.id;
|
|
15
15
|
}
|
|
16
16
|
toString() {
|
|
17
|
-
return `{
|
|
17
|
+
return `{player:${this.player},type:${this.type},eventType:${this.eventType},libero:${this.libero}}`;
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
exports.LiberoReplacement = LiberoReplacement;
|
|
@@ -11,11 +11,9 @@ export declare enum EventTypeEnum {
|
|
|
11
11
|
export interface RallyEventOpts {
|
|
12
12
|
readonly player: Player;
|
|
13
13
|
readonly eventType: EventTypeEnum;
|
|
14
|
-
readonly order: number;
|
|
15
14
|
}
|
|
16
15
|
export declare abstract class RallyEvent {
|
|
17
|
-
readonly order: number;
|
|
18
16
|
readonly player: string;
|
|
19
17
|
readonly eventType: EventTypeEnum;
|
|
20
|
-
protected constructor({ eventType, player
|
|
18
|
+
protected constructor({ eventType, player }: RallyEventOpts);
|
|
21
19
|
}
|
|
@@ -12,9 +12,8 @@ var EventTypeEnum;
|
|
|
12
12
|
EventTypeEnum[EventTypeEnum["BLOCK"] = 6] = "BLOCK";
|
|
13
13
|
})(EventTypeEnum = exports.EventTypeEnum || (exports.EventTypeEnum = {}));
|
|
14
14
|
class RallyEvent {
|
|
15
|
-
constructor({ eventType, player
|
|
15
|
+
constructor({ eventType, player }) {
|
|
16
16
|
this.player = player.id;
|
|
17
|
-
this.order = order;
|
|
18
17
|
this.eventType = eventType;
|
|
19
18
|
}
|
|
20
19
|
}
|
|
@@ -20,7 +20,7 @@ interface ReceptionOpts extends InPlayEventOpts {
|
|
|
20
20
|
export declare class Reception extends InPlayEvent {
|
|
21
21
|
readonly failure: ReceptionFailureEnum;
|
|
22
22
|
readonly type: ReceptionTypeEnum;
|
|
23
|
-
constructor({
|
|
23
|
+
constructor({ score, player, target, failure, type, eventType, modifier, activeTraits }: ReceptionOpts);
|
|
24
24
|
static getScore(stats: PerformanceStats, type: ReceptionTypeEnum, modifier: number, activeTraits: Trait[]): number;
|
|
25
25
|
toString(): string;
|
|
26
26
|
}
|
|
@@ -19,8 +19,8 @@ var ReceptionFailureEnum;
|
|
|
19
19
|
ReceptionFailureEnum[ReceptionFailureEnum["BAD_PASS"] = 4] = "BAD_PASS";
|
|
20
20
|
})(ReceptionFailureEnum = exports.ReceptionFailureEnum || (exports.ReceptionFailureEnum = {}));
|
|
21
21
|
class Reception extends in_play_event_1.InPlayEvent {
|
|
22
|
-
constructor({
|
|
23
|
-
super({
|
|
22
|
+
constructor({ score, player, target, failure, type, eventType, modifier, activeTraits }) {
|
|
23
|
+
super({ score, player, target, eventType, modifier, activeTraits });
|
|
24
24
|
this.type = type;
|
|
25
25
|
this.failure = failure;
|
|
26
26
|
}
|
|
@@ -37,7 +37,7 @@ class Reception extends in_play_event_1.InPlayEvent {
|
|
|
37
37
|
return score;
|
|
38
38
|
}
|
|
39
39
|
toString() {
|
|
40
|
-
return `{
|
|
40
|
+
return `{score:${this.score},player:${this.player},target:${this.target},failure:${this.failure},type:${this.type},modifier:${this.modifier},eventType:${this.eventType},activeTraits:[${this.activeTraits.join(',')}]}`;
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
exports.Reception = Reception;
|
|
@@ -21,7 +21,7 @@ interface ServeOpts extends InPlayEventOpts {
|
|
|
21
21
|
export declare class Serve extends InPlayEvent {
|
|
22
22
|
readonly failure: ServeFailureEnum;
|
|
23
23
|
readonly type: ServeTypeEnum;
|
|
24
|
-
constructor({
|
|
24
|
+
constructor({ score, player, target, failure, type, eventType, modifier, activeTraits }: ServeOpts);
|
|
25
25
|
static getScore(stats: PerformanceStats, type: ServeTypeEnum, modifier: number, activeTraits: Trait[]): number;
|
|
26
26
|
toString(): string;
|
|
27
27
|
}
|
|
@@ -19,8 +19,8 @@ var ServeFailureEnum;
|
|
|
19
19
|
ServeFailureEnum[ServeFailureEnum["OUT_OF_BOUNDS"] = 4] = "OUT_OF_BOUNDS";
|
|
20
20
|
})(ServeFailureEnum = exports.ServeFailureEnum || (exports.ServeFailureEnum = {}));
|
|
21
21
|
class Serve extends in_play_event_1.InPlayEvent {
|
|
22
|
-
constructor({
|
|
23
|
-
super({
|
|
22
|
+
constructor({ score, player, target, failure, type, eventType, modifier, activeTraits }) {
|
|
23
|
+
super({ score, player, target, eventType, modifier, activeTraits });
|
|
24
24
|
this.type = type;
|
|
25
25
|
this.failure = failure;
|
|
26
26
|
}
|
|
@@ -32,7 +32,7 @@ class Serve extends in_play_event_1.InPlayEvent {
|
|
|
32
32
|
return score;
|
|
33
33
|
}
|
|
34
34
|
toString() {
|
|
35
|
-
return `{
|
|
35
|
+
return `{score:${this.score},player:${this.player},target:${this.target},failure:${this.failure},type:${this.type},modifier:${this.modifier},eventType:${this.eventType},activeTraits:[${this.activeTraits.join(',')}]}`;
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
exports.Serve = Serve;
|
|
@@ -20,7 +20,7 @@ interface SetOpts extends InPlayEventOpts {
|
|
|
20
20
|
export declare class Set extends InPlayEvent {
|
|
21
21
|
readonly failure: SetFailureEnum;
|
|
22
22
|
readonly type: SetTypeEnum;
|
|
23
|
-
constructor({
|
|
23
|
+
constructor({ score, player, target, failure, type, eventType, modifier, activeTraits }: SetOpts);
|
|
24
24
|
static getScore(stats: PerformanceStats, type: SetTypeEnum, modifier: number, activeTraits: Trait[]): number;
|
|
25
25
|
toString(): string;
|
|
26
26
|
}
|
|
@@ -19,8 +19,8 @@ var SetFailureEnum;
|
|
|
19
19
|
SetFailureEnum[SetFailureEnum["OUT_OF_BOUNDS"] = 4] = "OUT_OF_BOUNDS";
|
|
20
20
|
})(SetFailureEnum = exports.SetFailureEnum || (exports.SetFailureEnum = {}));
|
|
21
21
|
class Set extends in_play_event_1.InPlayEvent {
|
|
22
|
-
constructor({
|
|
23
|
-
super({
|
|
22
|
+
constructor({ score, player, target, failure, type, eventType, modifier, activeTraits }) {
|
|
23
|
+
super({ score, player, target, eventType, modifier, activeTraits });
|
|
24
24
|
this.type = type;
|
|
25
25
|
this.failure = failure;
|
|
26
26
|
}
|
|
@@ -42,7 +42,7 @@ class Set extends in_play_event_1.InPlayEvent {
|
|
|
42
42
|
return score;
|
|
43
43
|
}
|
|
44
44
|
toString() {
|
|
45
|
-
return `{
|
|
45
|
+
return `{score:${this.score},player:${this.player},target:${this.target},failure:${this.failure},type:${this.type},modifier:${this.modifier},eventType:${this.eventType},activeTraits:[${this.activeTraits.join(',')}]}`;
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
exports.Set = Set;
|
|
@@ -22,7 +22,7 @@ interface SpikeOpts extends InPlayEventOpts {
|
|
|
22
22
|
export declare class Spike extends InPlayEvent {
|
|
23
23
|
readonly failure: SpikeFailureEnum;
|
|
24
24
|
readonly type: SpikeTypeEnum;
|
|
25
|
-
constructor({
|
|
25
|
+
constructor({ score, player, target, failure, type, eventType, modifier, activeTraits }: SpikeOpts);
|
|
26
26
|
static getScore(player: Player, type: SpikeTypeEnum, modifier: number, isBackRow: boolean, activeTraits: Trait[]): number;
|
|
27
27
|
toString(): string;
|
|
28
28
|
}
|
|
@@ -21,8 +21,8 @@ var SpikeFailureEnum;
|
|
|
21
21
|
SpikeFailureEnum[SpikeFailureEnum["NET"] = 4] = "NET";
|
|
22
22
|
})(SpikeFailureEnum = exports.SpikeFailureEnum || (exports.SpikeFailureEnum = {}));
|
|
23
23
|
class Spike extends in_play_event_1.InPlayEvent {
|
|
24
|
-
constructor({
|
|
25
|
-
super({
|
|
24
|
+
constructor({ score, player, target, failure, type, eventType, modifier, activeTraits }) {
|
|
25
|
+
super({ score, player, target, eventType, modifier, activeTraits });
|
|
26
26
|
this.type = type;
|
|
27
27
|
this.failure = failure;
|
|
28
28
|
}
|
|
@@ -47,7 +47,7 @@ class Spike extends in_play_event_1.InPlayEvent {
|
|
|
47
47
|
return score;
|
|
48
48
|
}
|
|
49
49
|
toString() {
|
|
50
|
-
return `{
|
|
50
|
+
return `{score:${this.score},player:${this.player},target:${this.target},failure:${this.failure},type:${this.type},modifier:${this.modifier},eventType:${this.eventType},activeTraits:[${this.activeTraits.join(',')}]}`;
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
exports.Spike = Spike;
|
|
@@ -5,7 +5,7 @@ interface SubstitutionOpts extends RallyEventOpts {
|
|
|
5
5
|
}
|
|
6
6
|
export declare class Substitution extends RallyEvent {
|
|
7
7
|
readonly playerOut: string;
|
|
8
|
-
constructor({
|
|
8
|
+
constructor({ playerOut, player, eventType }: SubstitutionOpts);
|
|
9
9
|
toString(): string;
|
|
10
10
|
}
|
|
11
11
|
export {};
|
|
@@ -3,12 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Substitution = void 0;
|
|
4
4
|
const rally_event_1 = require("./rally-event");
|
|
5
5
|
class Substitution extends rally_event_1.RallyEvent {
|
|
6
|
-
constructor({
|
|
7
|
-
super({ eventType, player
|
|
6
|
+
constructor({ playerOut, player, eventType }) {
|
|
7
|
+
super({ eventType, player });
|
|
8
8
|
this.playerOut = playerOut.id;
|
|
9
9
|
}
|
|
10
10
|
toString() {
|
|
11
|
-
return `{
|
|
11
|
+
return `{player:${this.player},playerOut:${this.playerOut},eventType:${this.eventType}}`;
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
exports.Substitution = Substitution;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { BlockFailureEnum, BlockTypeEnum, CourtTargetEnum, EventTypeEnum, LiberoReplacementTypeEnum, ReceptionFailureEnum, ReceptionTypeEnum, ServeFailureEnum, ServeTypeEnum, SetFailureEnum, SetTypeEnum, SpikeFailureEnum, SpikeTypeEnum } from '../service';
|
|
2
2
|
import { APITeam } from './team';
|
|
3
3
|
export interface APIEvent {
|
|
4
|
-
readonly order: number;
|
|
5
4
|
readonly playerId: string;
|
|
6
5
|
readonly eventType: EventTypeEnum;
|
|
7
6
|
team?: APITeam;
|
|
@@ -32,42 +32,35 @@ function transformToAttributes(rally, setId) {
|
|
|
32
32
|
}
|
|
33
33
|
function transformToObject(model) {
|
|
34
34
|
const decompressed = JSON.parse(decompressFromBase64(model.events));
|
|
35
|
-
const
|
|
36
|
-
const substitutions = [];
|
|
37
|
-
const serves = [];
|
|
38
|
-
const receptions = [];
|
|
39
|
-
const sets = [];
|
|
40
|
-
const spikes = [];
|
|
41
|
-
const blocks = [];
|
|
35
|
+
const events = [];
|
|
42
36
|
decompressed.forEach(event => {
|
|
43
37
|
switch (event.event_type) {
|
|
44
38
|
case 0:
|
|
45
|
-
|
|
39
|
+
events.push(event);
|
|
46
40
|
break;
|
|
47
41
|
case 1:
|
|
48
|
-
|
|
42
|
+
events.push(event);
|
|
49
43
|
break;
|
|
50
44
|
case 2:
|
|
51
|
-
|
|
45
|
+
events.push(event);
|
|
52
46
|
break;
|
|
53
47
|
case 3:
|
|
54
|
-
|
|
48
|
+
events.push(event);
|
|
55
49
|
break;
|
|
56
50
|
case 4:
|
|
57
|
-
|
|
51
|
+
events.push(event);
|
|
58
52
|
break;
|
|
59
53
|
case 5:
|
|
60
|
-
|
|
54
|
+
events.push(event);
|
|
61
55
|
break;
|
|
62
56
|
case 6:
|
|
63
|
-
|
|
57
|
+
events.push(event);
|
|
64
58
|
break;
|
|
65
59
|
default:
|
|
66
60
|
throw new Error('UNKNOWN_EVENT');
|
|
67
61
|
}
|
|
62
|
+
events.push(event);
|
|
68
63
|
});
|
|
69
|
-
const events = [...liberoReplacements, ...substitutions, ...serves, ...receptions, ...sets, ...spikes, ...blocks]
|
|
70
|
-
.sort((e1, e2) => e1.order - e2.order);
|
|
71
64
|
return new Rally({
|
|
72
65
|
id: model.rally_id,
|
|
73
66
|
order: model.order,
|
|
@@ -76,43 +69,36 @@ function transformToObject(model) {
|
|
|
76
69
|
});
|
|
77
70
|
}
|
|
78
71
|
function transformToAPIObject(model) {
|
|
79
|
-
const decompressed =
|
|
80
|
-
const
|
|
81
|
-
const
|
|
82
|
-
|
|
83
|
-
const receptions = [];
|
|
84
|
-
const sets = [];
|
|
85
|
-
const spikes = [];
|
|
86
|
-
const blocks = [];
|
|
87
|
-
decompressed.forEach(event => {
|
|
72
|
+
const decompressed = decompressFromBase64(model.events);
|
|
73
|
+
const parsed = JSON.parse(decompressed);
|
|
74
|
+
const events = [];
|
|
75
|
+
parsed.forEach(event => {
|
|
88
76
|
switch (event.event_type) {
|
|
89
77
|
case 0:
|
|
90
|
-
|
|
78
|
+
events.push(transformToAPILiberoReplacement(event));
|
|
91
79
|
break;
|
|
92
80
|
case 1:
|
|
93
|
-
|
|
81
|
+
events.push(transformToAPISubstitution(event));
|
|
94
82
|
break;
|
|
95
83
|
case 2:
|
|
96
|
-
|
|
84
|
+
events.push(transformToAPIServe(event));
|
|
97
85
|
break;
|
|
98
86
|
case 3:
|
|
99
|
-
|
|
87
|
+
events.push(transformToAPIReception(event));
|
|
100
88
|
break;
|
|
101
89
|
case 4:
|
|
102
|
-
|
|
90
|
+
events.push(transformToAPISet(event));
|
|
103
91
|
break;
|
|
104
92
|
case 5:
|
|
105
|
-
|
|
93
|
+
events.push(transformToAPISpike(event));
|
|
106
94
|
break;
|
|
107
95
|
case 6:
|
|
108
|
-
|
|
96
|
+
events.push(transformToAPIBlock(event));
|
|
109
97
|
break;
|
|
110
98
|
default:
|
|
111
99
|
throw new Error('UNKNOWN_EVENT');
|
|
112
100
|
}
|
|
113
101
|
});
|
|
114
|
-
const events = [...liberoReplacements, ...substitutions, ...serves, ...receptions, ...sets, ...spikes, ...blocks]
|
|
115
|
-
.sort((e1, e2) => e1.order - e2.order);
|
|
116
102
|
return {
|
|
117
103
|
id: model.rally_id,
|
|
118
104
|
order: model.order,
|
|
@@ -23,7 +23,7 @@ export declare class Block extends InPlayEvent {
|
|
|
23
23
|
readonly failure: BlockFailureEnum;
|
|
24
24
|
readonly type: BlockTypeEnum;
|
|
25
25
|
readonly blockers: string[];
|
|
26
|
-
constructor({
|
|
26
|
+
constructor({ score, player, target, failure, type, modifier, eventType, blockers, activeTraits }: BlockOpts);
|
|
27
27
|
static getScore(blockers: Player[], modifier: number, activeTraits: Trait[]): number;
|
|
28
28
|
toString(): string;
|
|
29
29
|
}
|
|
@@ -17,8 +17,8 @@ export var BlockTypeEnum;
|
|
|
17
17
|
BlockTypeEnum[BlockTypeEnum["TRIPLE"] = 3] = "TRIPLE";
|
|
18
18
|
})(BlockTypeEnum || (BlockTypeEnum = {}));
|
|
19
19
|
export class Block extends InPlayEvent {
|
|
20
|
-
constructor({
|
|
21
|
-
super({
|
|
20
|
+
constructor({ score, player, target, failure, type, modifier, eventType, blockers, activeTraits }) {
|
|
21
|
+
super({ score, player, target, modifier, eventType, activeTraits });
|
|
22
22
|
this.type = type;
|
|
23
23
|
this.failure = failure;
|
|
24
24
|
this.blockers = blockers.map(b => b.id);
|
|
@@ -59,6 +59,6 @@ export class Block extends InPlayEvent {
|
|
|
59
59
|
return score;
|
|
60
60
|
}
|
|
61
61
|
toString() {
|
|
62
|
-
return `{
|
|
62
|
+
return `{score:${this.score},player:${this.player},target:${this.target},failure:${this.failure},type:${this.type},modifier:${this.modifier},eventType:${this.eventType},blockers:[${this.blockers.join(',')}],activeTraits:[${this.activeTraits.join(',')}]}`;
|
|
63
63
|
}
|
|
64
64
|
}
|
|
@@ -14,6 +14,6 @@ export declare abstract class InPlayEvent extends RallyEvent {
|
|
|
14
14
|
readonly modifier: number;
|
|
15
15
|
readonly score: number;
|
|
16
16
|
readonly activeTraits: string[];
|
|
17
|
-
protected constructor({ eventType, player, target, modifier, score,
|
|
17
|
+
protected constructor({ eventType, player, target, modifier, score, activeTraits }: InPlayEventOpts);
|
|
18
18
|
protected static calculateScore(stats: PerformanceStats, eventType: string, type: string): number;
|
|
19
19
|
}
|
|
@@ -2,8 +2,8 @@ import { RallyEvent } from './rally-event';
|
|
|
2
2
|
import formula from '../../../data/event.formula.json';
|
|
3
3
|
import { getKeys } from '../utils';
|
|
4
4
|
export class InPlayEvent extends RallyEvent {
|
|
5
|
-
constructor({ eventType, player, target, modifier, score,
|
|
6
|
-
super({
|
|
5
|
+
constructor({ eventType, player, target, modifier, score, activeTraits }) {
|
|
6
|
+
super({ player, eventType });
|
|
7
7
|
this.target = target;
|
|
8
8
|
this.score = score;
|
|
9
9
|
this.modifier = modifier;
|
|
@@ -12,7 +12,7 @@ export declare enum LiberoReplacementTypeEnum {
|
|
|
12
12
|
export declare class LiberoReplacement extends RallyEvent {
|
|
13
13
|
readonly type: LiberoReplacementTypeEnum;
|
|
14
14
|
readonly libero: string;
|
|
15
|
-
constructor({
|
|
15
|
+
constructor({ player, type, libero, eventType }: LiberoReplacementOpts);
|
|
16
16
|
toString(): string;
|
|
17
17
|
}
|
|
18
18
|
export {};
|
|
@@ -5,12 +5,12 @@ export var LiberoReplacementTypeEnum;
|
|
|
5
5
|
LiberoReplacementTypeEnum[LiberoReplacementTypeEnum["LIBERO_OUT"] = 1] = "LIBERO_OUT";
|
|
6
6
|
})(LiberoReplacementTypeEnum || (LiberoReplacementTypeEnum = {}));
|
|
7
7
|
export class LiberoReplacement extends RallyEvent {
|
|
8
|
-
constructor({
|
|
9
|
-
super({
|
|
8
|
+
constructor({ player, type, libero, eventType }) {
|
|
9
|
+
super({ player, eventType });
|
|
10
10
|
this.type = type;
|
|
11
11
|
this.libero = libero.id;
|
|
12
12
|
}
|
|
13
13
|
toString() {
|
|
14
|
-
return `{
|
|
14
|
+
return `{player:${this.player},type:${this.type},eventType:${this.eventType},libero:${this.libero}}`;
|
|
15
15
|
}
|
|
16
16
|
}
|
|
@@ -11,11 +11,9 @@ export declare enum EventTypeEnum {
|
|
|
11
11
|
export interface RallyEventOpts {
|
|
12
12
|
readonly player: Player;
|
|
13
13
|
readonly eventType: EventTypeEnum;
|
|
14
|
-
readonly order: number;
|
|
15
14
|
}
|
|
16
15
|
export declare abstract class RallyEvent {
|
|
17
|
-
readonly order: number;
|
|
18
16
|
readonly player: string;
|
|
19
17
|
readonly eventType: EventTypeEnum;
|
|
20
|
-
protected constructor({ eventType, player
|
|
18
|
+
protected constructor({ eventType, player }: RallyEventOpts);
|
|
21
19
|
}
|
|
@@ -9,9 +9,8 @@ export var EventTypeEnum;
|
|
|
9
9
|
EventTypeEnum[EventTypeEnum["BLOCK"] = 6] = "BLOCK";
|
|
10
10
|
})(EventTypeEnum || (EventTypeEnum = {}));
|
|
11
11
|
export class RallyEvent {
|
|
12
|
-
constructor({ eventType, player
|
|
12
|
+
constructor({ eventType, player }) {
|
|
13
13
|
this.player = player.id;
|
|
14
|
-
this.order = order;
|
|
15
14
|
this.eventType = eventType;
|
|
16
15
|
}
|
|
17
16
|
}
|
|
@@ -20,7 +20,7 @@ interface ReceptionOpts extends InPlayEventOpts {
|
|
|
20
20
|
export declare class Reception extends InPlayEvent {
|
|
21
21
|
readonly failure: ReceptionFailureEnum;
|
|
22
22
|
readonly type: ReceptionTypeEnum;
|
|
23
|
-
constructor({
|
|
23
|
+
constructor({ score, player, target, failure, type, eventType, modifier, activeTraits }: ReceptionOpts);
|
|
24
24
|
static getScore(stats: PerformanceStats, type: ReceptionTypeEnum, modifier: number, activeTraits: Trait[]): number;
|
|
25
25
|
toString(): string;
|
|
26
26
|
}
|
|
@@ -16,8 +16,8 @@ export var ReceptionFailureEnum;
|
|
|
16
16
|
ReceptionFailureEnum[ReceptionFailureEnum["BAD_PASS"] = 4] = "BAD_PASS";
|
|
17
17
|
})(ReceptionFailureEnum || (ReceptionFailureEnum = {}));
|
|
18
18
|
export class Reception extends InPlayEvent {
|
|
19
|
-
constructor({
|
|
20
|
-
super({
|
|
19
|
+
constructor({ score, player, target, failure, type, eventType, modifier, activeTraits }) {
|
|
20
|
+
super({ score, player, target, eventType, modifier, activeTraits });
|
|
21
21
|
this.type = type;
|
|
22
22
|
this.failure = failure;
|
|
23
23
|
}
|
|
@@ -34,6 +34,6 @@ export class Reception extends InPlayEvent {
|
|
|
34
34
|
return score;
|
|
35
35
|
}
|
|
36
36
|
toString() {
|
|
37
|
-
return `{
|
|
37
|
+
return `{score:${this.score},player:${this.player},target:${this.target},failure:${this.failure},type:${this.type},modifier:${this.modifier},eventType:${this.eventType},activeTraits:[${this.activeTraits.join(',')}]}`;
|
|
38
38
|
}
|
|
39
39
|
}
|
|
@@ -21,7 +21,7 @@ interface ServeOpts extends InPlayEventOpts {
|
|
|
21
21
|
export declare class Serve extends InPlayEvent {
|
|
22
22
|
readonly failure: ServeFailureEnum;
|
|
23
23
|
readonly type: ServeTypeEnum;
|
|
24
|
-
constructor({
|
|
24
|
+
constructor({ score, player, target, failure, type, eventType, modifier, activeTraits }: ServeOpts);
|
|
25
25
|
static getScore(stats: PerformanceStats, type: ServeTypeEnum, modifier: number, activeTraits: Trait[]): number;
|
|
26
26
|
toString(): string;
|
|
27
27
|
}
|
|
@@ -16,8 +16,8 @@ export var ServeFailureEnum;
|
|
|
16
16
|
ServeFailureEnum[ServeFailureEnum["OUT_OF_BOUNDS"] = 4] = "OUT_OF_BOUNDS";
|
|
17
17
|
})(ServeFailureEnum || (ServeFailureEnum = {}));
|
|
18
18
|
export class Serve extends InPlayEvent {
|
|
19
|
-
constructor({
|
|
20
|
-
super({
|
|
19
|
+
constructor({ score, player, target, failure, type, eventType, modifier, activeTraits }) {
|
|
20
|
+
super({ score, player, target, eventType, modifier, activeTraits });
|
|
21
21
|
this.type = type;
|
|
22
22
|
this.failure = failure;
|
|
23
23
|
}
|
|
@@ -29,6 +29,6 @@ export class Serve extends InPlayEvent {
|
|
|
29
29
|
return score;
|
|
30
30
|
}
|
|
31
31
|
toString() {
|
|
32
|
-
return `{
|
|
32
|
+
return `{score:${this.score},player:${this.player},target:${this.target},failure:${this.failure},type:${this.type},modifier:${this.modifier},eventType:${this.eventType},activeTraits:[${this.activeTraits.join(',')}]}`;
|
|
33
33
|
}
|
|
34
34
|
}
|
|
@@ -20,7 +20,7 @@ interface SetOpts extends InPlayEventOpts {
|
|
|
20
20
|
export declare class Set extends InPlayEvent {
|
|
21
21
|
readonly failure: SetFailureEnum;
|
|
22
22
|
readonly type: SetTypeEnum;
|
|
23
|
-
constructor({
|
|
23
|
+
constructor({ score, player, target, failure, type, eventType, modifier, activeTraits }: SetOpts);
|
|
24
24
|
static getScore(stats: PerformanceStats, type: SetTypeEnum, modifier: number, activeTraits: Trait[]): number;
|
|
25
25
|
toString(): string;
|
|
26
26
|
}
|
|
@@ -16,8 +16,8 @@ export var SetFailureEnum;
|
|
|
16
16
|
SetFailureEnum[SetFailureEnum["OUT_OF_BOUNDS"] = 4] = "OUT_OF_BOUNDS";
|
|
17
17
|
})(SetFailureEnum || (SetFailureEnum = {}));
|
|
18
18
|
export class Set extends InPlayEvent {
|
|
19
|
-
constructor({
|
|
20
|
-
super({
|
|
19
|
+
constructor({ score, player, target, failure, type, eventType, modifier, activeTraits }) {
|
|
20
|
+
super({ score, player, target, eventType, modifier, activeTraits });
|
|
21
21
|
this.type = type;
|
|
22
22
|
this.failure = failure;
|
|
23
23
|
}
|
|
@@ -39,6 +39,6 @@ export class Set extends InPlayEvent {
|
|
|
39
39
|
return score;
|
|
40
40
|
}
|
|
41
41
|
toString() {
|
|
42
|
-
return `{
|
|
42
|
+
return `{score:${this.score},player:${this.player},target:${this.target},failure:${this.failure},type:${this.type},modifier:${this.modifier},eventType:${this.eventType},activeTraits:[${this.activeTraits.join(',')}]}`;
|
|
43
43
|
}
|
|
44
44
|
}
|
|
@@ -22,7 +22,7 @@ interface SpikeOpts extends InPlayEventOpts {
|
|
|
22
22
|
export declare class Spike extends InPlayEvent {
|
|
23
23
|
readonly failure: SpikeFailureEnum;
|
|
24
24
|
readonly type: SpikeTypeEnum;
|
|
25
|
-
constructor({
|
|
25
|
+
constructor({ score, player, target, failure, type, eventType, modifier, activeTraits }: SpikeOpts);
|
|
26
26
|
static getScore(player: Player, type: SpikeTypeEnum, modifier: number, isBackRow: boolean, activeTraits: Trait[]): number;
|
|
27
27
|
toString(): string;
|
|
28
28
|
}
|
|
@@ -18,8 +18,8 @@ export var SpikeFailureEnum;
|
|
|
18
18
|
SpikeFailureEnum[SpikeFailureEnum["NET"] = 4] = "NET";
|
|
19
19
|
})(SpikeFailureEnum || (SpikeFailureEnum = {}));
|
|
20
20
|
export class Spike extends InPlayEvent {
|
|
21
|
-
constructor({
|
|
22
|
-
super({
|
|
21
|
+
constructor({ score, player, target, failure, type, eventType, modifier, activeTraits }) {
|
|
22
|
+
super({ score, player, target, eventType, modifier, activeTraits });
|
|
23
23
|
this.type = type;
|
|
24
24
|
this.failure = failure;
|
|
25
25
|
}
|
|
@@ -44,6 +44,6 @@ export class Spike extends InPlayEvent {
|
|
|
44
44
|
return score;
|
|
45
45
|
}
|
|
46
46
|
toString() {
|
|
47
|
-
return `{
|
|
47
|
+
return `{score:${this.score},player:${this.player},target:${this.target},failure:${this.failure},type:${this.type},modifier:${this.modifier},eventType:${this.eventType},activeTraits:[${this.activeTraits.join(',')}]}`;
|
|
48
48
|
}
|
|
49
49
|
}
|
|
@@ -5,7 +5,7 @@ interface SubstitutionOpts extends RallyEventOpts {
|
|
|
5
5
|
}
|
|
6
6
|
export declare class Substitution extends RallyEvent {
|
|
7
7
|
readonly playerOut: string;
|
|
8
|
-
constructor({
|
|
8
|
+
constructor({ playerOut, player, eventType }: SubstitutionOpts);
|
|
9
9
|
toString(): string;
|
|
10
10
|
}
|
|
11
11
|
export {};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { RallyEvent } from './rally-event';
|
|
2
2
|
export class Substitution extends RallyEvent {
|
|
3
|
-
constructor({
|
|
4
|
-
super({ eventType, player
|
|
3
|
+
constructor({ playerOut, player, eventType }) {
|
|
4
|
+
super({ eventType, player });
|
|
5
5
|
this.playerOut = playerOut.id;
|
|
6
6
|
}
|
|
7
7
|
toString() {
|
|
8
|
-
return `{
|
|
8
|
+
return `{player:${this.player},playerOut:${this.playerOut},eventType:${this.eventType}}`;
|
|
9
9
|
}
|
|
10
10
|
}
|