volleyballsimtypes 0.0.122 → 0.0.123
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/init-models.d.ts +9 -9
- package/dist/cjs/src/data/init-models.js +0 -57
- package/dist/cjs/src/data/models/index.d.ts +0 -8
- package/dist/cjs/src/data/models/index.js +0 -8
- package/dist/cjs/src/data/models/player.d.ts +1 -144
- package/dist/cjs/src/data/models/rally.d.ts +3 -96
- package/dist/cjs/src/data/models/rally.js +5 -1
- package/dist/cjs/src/data/transformers/block.d.ts +2 -6
- package/dist/cjs/src/data/transformers/block.js +8 -95
- package/dist/cjs/src/data/transformers/index.d.ts +0 -2
- package/dist/cjs/src/data/transformers/index.js +0 -2
- package/dist/cjs/src/data/transformers/libero-replacement.d.ts +2 -6
- package/dist/cjs/src/data/transformers/libero-replacement.js +4 -43
- package/dist/cjs/src/data/transformers/rally.js +73 -32
- package/dist/cjs/src/data/transformers/reception.d.ts +2 -6
- package/dist/cjs/src/data/transformers/reception.js +6 -73
- package/dist/cjs/src/data/transformers/serve.d.ts +2 -6
- package/dist/cjs/src/data/transformers/serve.js +6 -75
- package/dist/cjs/src/data/transformers/set.d.ts +2 -6
- package/dist/cjs/src/data/transformers/set.js +6 -73
- package/dist/cjs/src/data/transformers/spike.d.ts +2 -6
- package/dist/cjs/src/data/transformers/spike.js +7 -78
- package/dist/cjs/src/data/transformers/substitution.d.ts +2 -6
- package/dist/cjs/src/data/transformers/substitution.js +4 -28
- package/dist/cjs/src/service/event/block.d.ts +3 -2
- package/dist/cjs/src/service/event/block.js +6 -3
- package/dist/cjs/src/service/event/in-play-event.d.ts +2 -2
- package/dist/cjs/src/service/event/in-play-event.js +3 -3
- package/dist/cjs/src/service/event/libero-replacement.d.ts +3 -2
- package/dist/cjs/src/service/event/libero-replacement.js +6 -3
- package/dist/cjs/src/service/event/rally-event.d.ts +2 -4
- package/dist/cjs/src/service/event/rally-event.js +2 -3
- package/dist/cjs/src/service/event/reception.d.ts +2 -1
- package/dist/cjs/src/service/event/reception.js +5 -2
- package/dist/cjs/src/service/event/serve.d.ts +2 -1
- package/dist/cjs/src/service/event/serve.js +6 -9
- package/dist/cjs/src/service/event/set.d.ts +2 -1
- package/dist/cjs/src/service/event/set.js +5 -2
- package/dist/cjs/src/service/event/spike.d.ts +2 -1
- package/dist/cjs/src/service/event/spike.js +5 -2
- package/dist/cjs/src/service/event/substitution.d.ts +3 -2
- package/dist/cjs/src/service/event/substitution.js +6 -3
- package/dist/esm/src/api/events.d.ts +0 -1
- package/dist/esm/src/data/init-models.d.ts +9 -9
- package/dist/esm/src/data/init-models.js +1 -58
- package/dist/esm/src/data/models/index.d.ts +0 -8
- package/dist/esm/src/data/models/index.js +0 -8
- package/dist/esm/src/data/models/player.d.ts +1 -144
- package/dist/esm/src/data/models/rally.d.ts +3 -96
- package/dist/esm/src/data/models/rally.js +5 -1
- package/dist/esm/src/data/transformers/block.d.ts +2 -6
- package/dist/esm/src/data/transformers/block.js +8 -93
- package/dist/esm/src/data/transformers/index.d.ts +0 -2
- package/dist/esm/src/data/transformers/index.js +0 -2
- package/dist/esm/src/data/transformers/libero-replacement.d.ts +2 -6
- package/dist/esm/src/data/transformers/libero-replacement.js +4 -41
- package/dist/esm/src/data/transformers/rally.js +75 -34
- package/dist/esm/src/data/transformers/reception.d.ts +2 -6
- package/dist/esm/src/data/transformers/reception.js +6 -71
- package/dist/esm/src/data/transformers/serve.d.ts +2 -6
- package/dist/esm/src/data/transformers/serve.js +6 -73
- package/dist/esm/src/data/transformers/set.d.ts +2 -6
- package/dist/esm/src/data/transformers/set.js +6 -71
- package/dist/esm/src/data/transformers/spike.d.ts +2 -6
- package/dist/esm/src/data/transformers/spike.js +7 -76
- package/dist/esm/src/data/transformers/substitution.d.ts +2 -6
- package/dist/esm/src/data/transformers/substitution.js +4 -26
- package/dist/esm/src/service/event/block.d.ts +3 -2
- package/dist/esm/src/service/event/block.js +6 -3
- package/dist/esm/src/service/event/in-play-event.d.ts +2 -2
- package/dist/esm/src/service/event/in-play-event.js +3 -3
- package/dist/esm/src/service/event/libero-replacement.d.ts +3 -2
- package/dist/esm/src/service/event/libero-replacement.js +6 -3
- package/dist/esm/src/service/event/rally-event.d.ts +2 -4
- package/dist/esm/src/service/event/rally-event.js +2 -3
- package/dist/esm/src/service/event/reception.d.ts +2 -1
- package/dist/esm/src/service/event/reception.js +5 -2
- package/dist/esm/src/service/event/serve.d.ts +2 -1
- package/dist/esm/src/service/event/serve.js +6 -9
- package/dist/esm/src/service/event/set.d.ts +2 -1
- package/dist/esm/src/service/event/set.js +5 -2
- package/dist/esm/src/service/event/spike.d.ts +2 -1
- package/dist/esm/src/service/event/spike.js +5 -2
- package/dist/esm/src/service/event/substitution.d.ts +3 -2
- package/dist/esm/src/service/event/substitution.js +6 -3
- package/package.json +2 -1
- package/dist/cjs/src/data/models/block.d.ts +0 -56
- package/dist/cjs/src/data/models/block.js +0 -86
- package/dist/cjs/src/data/models/event.d.ts +0 -31
- package/dist/cjs/src/data/models/event.js +0 -50
- package/dist/cjs/src/data/models/libero-replacement.d.ts +0 -38
- package/dist/cjs/src/data/models/libero-replacement.js +0 -62
- package/dist/cjs/src/data/models/reception.d.ts +0 -37
- package/dist/cjs/src/data/models/reception.js +0 -62
- package/dist/cjs/src/data/models/serve.d.ts +0 -37
- package/dist/cjs/src/data/models/serve.js +0 -62
- package/dist/cjs/src/data/models/set.d.ts +0 -37
- package/dist/cjs/src/data/models/set.js +0 -62
- package/dist/cjs/src/data/models/spike.d.ts +0 -37
- package/dist/cjs/src/data/models/spike.js +0 -62
- package/dist/cjs/src/data/models/substitution.d.ts +0 -35
- package/dist/cjs/src/data/models/substitution.js +0 -58
- package/dist/cjs/src/data/transformers/court-target.d.ts +0 -5
- package/dist/cjs/src/data/transformers/court-target.js +0 -41
- package/dist/cjs/src/data/transformers/event-type.d.ts +0 -5
- package/dist/cjs/src/data/transformers/event-type.js +0 -29
- package/dist/esm/src/data/models/block.d.ts +0 -56
- package/dist/esm/src/data/models/block.js +0 -82
- package/dist/esm/src/data/models/event.d.ts +0 -31
- package/dist/esm/src/data/models/event.js +0 -46
- package/dist/esm/src/data/models/libero-replacement.d.ts +0 -38
- package/dist/esm/src/data/models/libero-replacement.js +0 -58
- package/dist/esm/src/data/models/reception.d.ts +0 -37
- package/dist/esm/src/data/models/reception.js +0 -58
- package/dist/esm/src/data/models/serve.d.ts +0 -37
- package/dist/esm/src/data/models/serve.js +0 -58
- package/dist/esm/src/data/models/set.d.ts +0 -37
- package/dist/esm/src/data/models/set.js +0 -58
- package/dist/esm/src/data/models/spike.d.ts +0 -37
- package/dist/esm/src/data/models/spike.js +0 -58
- package/dist/esm/src/data/models/substitution.d.ts +0 -35
- package/dist/esm/src/data/models/substitution.js +0 -54
- package/dist/esm/src/data/transformers/court-target.d.ts +0 -5
- package/dist/esm/src/data/transformers/court-target.js +0 -37
- package/dist/esm/src/data/transformers/event-type.d.ts +0 -5
- package/dist/esm/src/data/transformers/event-type.js +0 -25
|
@@ -1,37 +1,52 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { Rally } from '../../service';
|
|
2
|
+
import { transformToAPIBlock, transformToAPILiberoReplacement, transformToAPIReception, transformToAPIServe, transformToAPISet, transformToAPISpike, transformToAPISubstitution, transformToTeam } from '.';
|
|
3
|
+
import { compressToBase64, decompressFromBase64 } from 'lz-string';
|
|
3
4
|
function transformToAttributes(rally, setId) {
|
|
5
|
+
const events = `[${rally.events.map(e => e.toString()).join(',')}]`;
|
|
4
6
|
return {
|
|
5
7
|
rally_id: rally.id,
|
|
6
8
|
match_set_id: setId,
|
|
7
9
|
order: rally.order,
|
|
8
10
|
serving_team: rally.servingTeam.id,
|
|
9
|
-
|
|
10
|
-
.map(event => transformFromLiberoReplacement(event, rally.id)),
|
|
11
|
-
Substitutions: rally.events.filter(event => event.eventType === EventTypeEnum.SUBSTITUTION)
|
|
12
|
-
.map(event => transformFromSubstitution(event, rally.id)),
|
|
13
|
-
Serves: rally.events.filter(event => event.eventType === EventTypeEnum.SERVE)
|
|
14
|
-
.map(event => transformFromServe(event, rally.id)),
|
|
15
|
-
Receptions: rally.events.filter(event => event.eventType === EventTypeEnum.RECEPTION)
|
|
16
|
-
.map(event => transformFromReception(event, rally.id)),
|
|
17
|
-
Sets: rally.events.filter(event => event.eventType === EventTypeEnum.SET)
|
|
18
|
-
.map(event => transformFromSet(event, rally.id)),
|
|
19
|
-
Spikes: rally.events.filter(event => event.eventType === EventTypeEnum.SPIKE)
|
|
20
|
-
.map(event => transformFromSpike(event, rally.id)),
|
|
21
|
-
Blocks: rally.events.filter(event => event.eventType === EventTypeEnum.BLOCK)
|
|
22
|
-
.map(event => transformFromBlock(event, rally.id))
|
|
11
|
+
events: compressToBase64(events)
|
|
23
12
|
};
|
|
24
13
|
}
|
|
25
14
|
function transformToObject(model) {
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
const substitutions =
|
|
29
|
-
|
|
30
|
-
const
|
|
31
|
-
const
|
|
32
|
-
const
|
|
33
|
-
const
|
|
34
|
-
|
|
15
|
+
const decompressed = JSON.parse(decompressFromBase64(model.events));
|
|
16
|
+
const liberoReplacements = [];
|
|
17
|
+
const substitutions = [];
|
|
18
|
+
const serves = [];
|
|
19
|
+
const receptions = [];
|
|
20
|
+
const sets = [];
|
|
21
|
+
const spikes = [];
|
|
22
|
+
const blocks = [];
|
|
23
|
+
decompressed.forEach(event => {
|
|
24
|
+
switch (event.event_type) {
|
|
25
|
+
case 0:
|
|
26
|
+
liberoReplacements.push(event);
|
|
27
|
+
break;
|
|
28
|
+
case 1:
|
|
29
|
+
substitutions.push(event);
|
|
30
|
+
break;
|
|
31
|
+
case 2:
|
|
32
|
+
serves.push(event);
|
|
33
|
+
break;
|
|
34
|
+
case 3:
|
|
35
|
+
receptions.push(event);
|
|
36
|
+
break;
|
|
37
|
+
case 4:
|
|
38
|
+
sets.push(event);
|
|
39
|
+
break;
|
|
40
|
+
case 5:
|
|
41
|
+
spikes.push(event);
|
|
42
|
+
break;
|
|
43
|
+
case 6:
|
|
44
|
+
blocks.push(event);
|
|
45
|
+
break;
|
|
46
|
+
default:
|
|
47
|
+
throw new Error('UNKNOWN_EVENT');
|
|
48
|
+
}
|
|
49
|
+
});
|
|
35
50
|
const events = [...liberoReplacements, ...substitutions, ...serves, ...receptions, ...sets, ...spikes, ...blocks]
|
|
36
51
|
.sort((e1, e2) => e1.order - e2.order);
|
|
37
52
|
return new Rally({
|
|
@@ -42,15 +57,41 @@ function transformToObject(model) {
|
|
|
42
57
|
});
|
|
43
58
|
}
|
|
44
59
|
function transformToAPIObject(model) {
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
const substitutions =
|
|
48
|
-
|
|
49
|
-
const
|
|
50
|
-
const
|
|
51
|
-
const
|
|
52
|
-
const
|
|
53
|
-
|
|
60
|
+
const decompressed = JSON.parse(decompressFromBase64(model.events));
|
|
61
|
+
const liberoReplacements = [];
|
|
62
|
+
const substitutions = [];
|
|
63
|
+
const serves = [];
|
|
64
|
+
const receptions = [];
|
|
65
|
+
const sets = [];
|
|
66
|
+
const spikes = [];
|
|
67
|
+
const blocks = [];
|
|
68
|
+
decompressed.forEach(event => {
|
|
69
|
+
switch (event.event_type) {
|
|
70
|
+
case 0:
|
|
71
|
+
liberoReplacements.push(transformToAPILiberoReplacement(event));
|
|
72
|
+
break;
|
|
73
|
+
case 1:
|
|
74
|
+
substitutions.push(transformToAPISubstitution(event));
|
|
75
|
+
break;
|
|
76
|
+
case 2:
|
|
77
|
+
serves.push(transformToAPIServe(event));
|
|
78
|
+
break;
|
|
79
|
+
case 3:
|
|
80
|
+
receptions.push(transformToAPIReception(event));
|
|
81
|
+
break;
|
|
82
|
+
case 4:
|
|
83
|
+
sets.push(transformToAPISet(event));
|
|
84
|
+
break;
|
|
85
|
+
case 5:
|
|
86
|
+
spikes.push(transformToAPISpike(event));
|
|
87
|
+
break;
|
|
88
|
+
case 6:
|
|
89
|
+
blocks.push(transformToAPIBlock(event));
|
|
90
|
+
break;
|
|
91
|
+
default:
|
|
92
|
+
throw new Error('UNKNOWN_EVENT');
|
|
93
|
+
}
|
|
94
|
+
});
|
|
54
95
|
const events = [...liberoReplacements, ...substitutions, ...serves, ...receptions, ...sets, ...spikes, ...blocks]
|
|
55
96
|
.sort((e1, e2) => e1.order - e2.order);
|
|
56
97
|
return {
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
import { Reception } from '../../service';
|
|
2
|
-
import { ReceptionAttributes, ReceptionModel } from '../models';
|
|
3
1
|
import { APIReception } from '../../api';
|
|
4
|
-
declare function
|
|
5
|
-
|
|
6
|
-
declare function transformToAPIObject(event: ReceptionModel): APIReception;
|
|
7
|
-
export { transformToObject as transformToReception, transformToAPIObject as transformToAPIReception, transformToAttributes as transformFromReception };
|
|
2
|
+
declare function transformToAPIObject(event: any): APIReception;
|
|
3
|
+
export { transformToAPIObject as transformToAPIReception };
|
|
@@ -1,76 +1,11 @@
|
|
|
1
|
-
import { Reception, ReceptionFailureEnum, ReceptionTypeEnum } from '../../service';
|
|
2
|
-
import { transformFromCourtTarget, transformFromEventType, transformToCourtTarget, transformToEventType, transformToPlayer } from '.';
|
|
3
|
-
function transformToReceptionFailure(failure) {
|
|
4
|
-
switch (failure) {
|
|
5
|
-
case ReceptionFailureEnum.NO_FAILURE:
|
|
6
|
-
return 'NO_FAILURE';
|
|
7
|
-
case ReceptionFailureEnum.FAULT:
|
|
8
|
-
return 'FAULT';
|
|
9
|
-
case ReceptionFailureEnum.MISS:
|
|
10
|
-
return 'MISS';
|
|
11
|
-
case ReceptionFailureEnum.OUT_OF_BOUNDS:
|
|
12
|
-
return 'OUT_OF_BOUNDS';
|
|
13
|
-
case ReceptionFailureEnum.BAD_PASS:
|
|
14
|
-
return 'BAD_PASS';
|
|
15
|
-
default:
|
|
16
|
-
throw new Error('UNKNOWN_ROLE');
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
function transformFromReceptionFailure(failure) {
|
|
20
|
-
return ReceptionFailureEnum[failure];
|
|
21
|
-
}
|
|
22
|
-
function transformToReceptionType(type) {
|
|
23
|
-
switch (type) {
|
|
24
|
-
case ReceptionTypeEnum.DIG:
|
|
25
|
-
return 'DIG';
|
|
26
|
-
case ReceptionTypeEnum.OVERHAND:
|
|
27
|
-
return 'OVERHAND';
|
|
28
|
-
case ReceptionTypeEnum.ONE_HAND:
|
|
29
|
-
return 'ONE_HAND';
|
|
30
|
-
case ReceptionTypeEnum.OTHER_BODY_PART:
|
|
31
|
-
return 'OTHER_BODY_PART';
|
|
32
|
-
default:
|
|
33
|
-
throw new Error('UNKNOWN_ROLE');
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
function transformFromReceptionType(type) {
|
|
37
|
-
return ReceptionTypeEnum[type];
|
|
38
|
-
}
|
|
39
|
-
function transformToAttributes(event, rallyId) {
|
|
40
|
-
return {
|
|
41
|
-
event_id: event.id,
|
|
42
|
-
player_id: event.player.id,
|
|
43
|
-
rally_id: rallyId,
|
|
44
|
-
order: event.order,
|
|
45
|
-
target: transformFromCourtTarget(event.target),
|
|
46
|
-
failure: transformToReceptionFailure(event.failure),
|
|
47
|
-
type: transformToReceptionType(event.type),
|
|
48
|
-
event_type: transformFromEventType(event.eventType),
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
function transformToObject(reception) {
|
|
52
|
-
return new Reception({
|
|
53
|
-
id: reception.event_id,
|
|
54
|
-
eventType: transformToEventType(reception.event_type),
|
|
55
|
-
failure: transformFromReceptionFailure(reception.failure),
|
|
56
|
-
type: transformFromReceptionType(reception.type),
|
|
57
|
-
player: transformToPlayer(reception.player),
|
|
58
|
-
target: transformToCourtTarget(reception.target),
|
|
59
|
-
order: reception.order,
|
|
60
|
-
modifier: 1,
|
|
61
|
-
score: 1,
|
|
62
|
-
activeTraits: []
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
1
|
function transformToAPIObject(event) {
|
|
66
2
|
return {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
target: transformToCourtTarget(event.target),
|
|
3
|
+
eventType: event.eventType,
|
|
4
|
+
failure: event.failure,
|
|
5
|
+
type: event.type,
|
|
6
|
+
playerId: event.player,
|
|
7
|
+
target: event.target,
|
|
73
8
|
order: event.order
|
|
74
9
|
};
|
|
75
10
|
}
|
|
76
|
-
export {
|
|
11
|
+
export { transformToAPIObject as transformToAPIReception };
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
import { Serve } from '../../service';
|
|
2
|
-
import { ServeAttributes, ServeModel } from '../models';
|
|
3
1
|
import { APIServe } from '../../api';
|
|
4
|
-
declare function
|
|
5
|
-
|
|
6
|
-
declare function transformToAPIObject(event: ServeModel): APIServe;
|
|
7
|
-
export { transformToObject as transformToServe, transformToAPIObject as transformToAPIServe, transformToAttributes as transformFromServe };
|
|
2
|
+
declare function transformToAPIObject(event: any): APIServe;
|
|
3
|
+
export { transformToAPIObject as transformToAPIServe };
|
|
@@ -1,78 +1,11 @@
|
|
|
1
|
-
import { Serve, ServeFailureEnum, ServeTypeEnum } from '../../service';
|
|
2
|
-
import { transformFromCourtTarget, transformFromEventType, transformToCourtTarget, transformToEventType, transformToPlayer } from '.';
|
|
3
|
-
function transformToServeFailure(failure) {
|
|
4
|
-
switch (failure) {
|
|
5
|
-
case ServeFailureEnum.NO_FAILURE:
|
|
6
|
-
return 'NO_FAILURE';
|
|
7
|
-
case ServeFailureEnum.FAULT:
|
|
8
|
-
return 'FAULT';
|
|
9
|
-
case ServeFailureEnum.MISS:
|
|
10
|
-
return 'MISS';
|
|
11
|
-
case ServeFailureEnum.OUT_OF_BOUNDS:
|
|
12
|
-
return 'OUT_OF_BOUNDS';
|
|
13
|
-
case ServeFailureEnum.NET:
|
|
14
|
-
return 'NET';
|
|
15
|
-
default:
|
|
16
|
-
throw new Error('UNKNOWN_ROLE');
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
function transformFromServeFailure(failure) {
|
|
20
|
-
return ServeFailureEnum[failure];
|
|
21
|
-
}
|
|
22
|
-
function transformToServeType(type) {
|
|
23
|
-
switch (type) {
|
|
24
|
-
case ServeTypeEnum.UNDERHAND:
|
|
25
|
-
return 'UNDERHAND';
|
|
26
|
-
case ServeTypeEnum.OVERHAND_TOPSPIN:
|
|
27
|
-
return 'OVERHAND_TOPSPIN';
|
|
28
|
-
case ServeTypeEnum.OVERHAND_FLOAT:
|
|
29
|
-
return 'OVERHAND_FLOAT';
|
|
30
|
-
case ServeTypeEnum.JUMP_TOPSPIN:
|
|
31
|
-
return 'JUMP_TOPSPIN';
|
|
32
|
-
case ServeTypeEnum.JUMP_FLOAT:
|
|
33
|
-
return 'JUMP_FLOAT';
|
|
34
|
-
default:
|
|
35
|
-
throw new Error('UNKNOWN_ROLE');
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
function transformFromServeType(type) {
|
|
39
|
-
return ServeTypeEnum[type];
|
|
40
|
-
}
|
|
41
|
-
function transformToAttributes(event, rallyId) {
|
|
42
|
-
return {
|
|
43
|
-
event_id: event.id,
|
|
44
|
-
player_id: event.player.id,
|
|
45
|
-
rally_id: rallyId,
|
|
46
|
-
order: event.order,
|
|
47
|
-
target: transformFromCourtTarget(event.target),
|
|
48
|
-
failure: transformToServeFailure(event.failure),
|
|
49
|
-
type: transformToServeType(event.type),
|
|
50
|
-
event_type: transformFromEventType(event.eventType),
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
function transformToObject(serve) {
|
|
54
|
-
return new Serve({
|
|
55
|
-
id: serve.event_id,
|
|
56
|
-
eventType: transformToEventType(serve.event_type),
|
|
57
|
-
failure: transformFromServeFailure(serve.failure),
|
|
58
|
-
type: transformFromServeType(serve.type),
|
|
59
|
-
player: transformToPlayer(serve.player),
|
|
60
|
-
target: transformToCourtTarget(serve.target),
|
|
61
|
-
order: serve.order,
|
|
62
|
-
modifier: 1,
|
|
63
|
-
score: 1,
|
|
64
|
-
activeTraits: []
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
1
|
function transformToAPIObject(event) {
|
|
68
2
|
return {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
target: transformToCourtTarget(event.target),
|
|
3
|
+
eventType: event.eventType,
|
|
4
|
+
failure: event.failure,
|
|
5
|
+
type: event.type,
|
|
6
|
+
playerId: event.player,
|
|
7
|
+
target: event.target,
|
|
75
8
|
order: event.order
|
|
76
9
|
};
|
|
77
10
|
}
|
|
78
|
-
export {
|
|
11
|
+
export { transformToAPIObject as transformToAPIServe };
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
import { Set } from '../../service';
|
|
2
|
-
import { SetAttributes, SetModel } from '../models';
|
|
3
1
|
import { APISet } from '../../api';
|
|
4
|
-
declare function
|
|
5
|
-
|
|
6
|
-
declare function transformToAPIObject(event: SetModel): APISet;
|
|
7
|
-
export { transformToObject as transformToSet, transformToAPIObject as transformToAPISet, transformToAttributes as transformFromSet };
|
|
2
|
+
declare function transformToAPIObject(event: any): APISet;
|
|
3
|
+
export { transformToAPIObject as transformToAPISet };
|
|
@@ -1,76 +1,11 @@
|
|
|
1
|
-
import { Set, SetFailureEnum, SetTypeEnum } from '../../service';
|
|
2
|
-
import { transformFromCourtTarget, transformFromEventType, transformToCourtTarget, transformToEventType, transformToPlayer } from '.';
|
|
3
|
-
function transformToSetFailure(failure) {
|
|
4
|
-
switch (failure) {
|
|
5
|
-
case SetFailureEnum.NO_FAILURE:
|
|
6
|
-
return 'NO_FAILURE';
|
|
7
|
-
case SetFailureEnum.FAULT:
|
|
8
|
-
return 'FAULT';
|
|
9
|
-
case SetFailureEnum.MISS:
|
|
10
|
-
return 'MISS';
|
|
11
|
-
case SetFailureEnum.OUT_OF_BOUNDS:
|
|
12
|
-
return 'OUT_OF_BOUNDS';
|
|
13
|
-
case SetFailureEnum.BAD_PASS:
|
|
14
|
-
return 'BAD_PASS';
|
|
15
|
-
default:
|
|
16
|
-
throw new Error('UNKNOWN_ROLE');
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
function transformFromSetFailure(failure) {
|
|
20
|
-
return SetFailureEnum[failure];
|
|
21
|
-
}
|
|
22
|
-
function transformToSetType(type) {
|
|
23
|
-
switch (type) {
|
|
24
|
-
case SetTypeEnum.OVERHAND:
|
|
25
|
-
return 'OVERHAND';
|
|
26
|
-
case SetTypeEnum.UNDERHAND:
|
|
27
|
-
return 'UNDERHAND';
|
|
28
|
-
case SetTypeEnum.SPIKE:
|
|
29
|
-
return 'SPIKE';
|
|
30
|
-
case SetTypeEnum.DUMP:
|
|
31
|
-
return 'DUMP';
|
|
32
|
-
default:
|
|
33
|
-
throw new Error('UNKNOWN_ROLE');
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
function transformFromSetType(type) {
|
|
37
|
-
return SetTypeEnum[type];
|
|
38
|
-
}
|
|
39
|
-
function transformToAttributes(event, rallyId) {
|
|
40
|
-
return {
|
|
41
|
-
event_id: event.id,
|
|
42
|
-
player_id: event.player.id,
|
|
43
|
-
rally_id: rallyId,
|
|
44
|
-
order: event.order,
|
|
45
|
-
target: transformFromCourtTarget(event.target),
|
|
46
|
-
failure: transformToSetFailure(event.failure),
|
|
47
|
-
type: transformToSetType(event.type),
|
|
48
|
-
event_type: transformFromEventType(event.eventType)
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
function transformToObject(set) {
|
|
52
|
-
return new Set({
|
|
53
|
-
id: set.event_id,
|
|
54
|
-
eventType: transformToEventType(set.event_type),
|
|
55
|
-
failure: transformFromSetFailure(set.failure),
|
|
56
|
-
type: transformFromSetType(set.type),
|
|
57
|
-
player: transformToPlayer(set.player),
|
|
58
|
-
target: transformToCourtTarget(set.target),
|
|
59
|
-
order: set.order,
|
|
60
|
-
modifier: 1,
|
|
61
|
-
score: 1,
|
|
62
|
-
activeTraits: []
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
1
|
function transformToAPIObject(event) {
|
|
66
2
|
return {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
target: transformToCourtTarget(event.target),
|
|
3
|
+
eventType: event.eventType,
|
|
4
|
+
failure: event.failure,
|
|
5
|
+
type: event.type,
|
|
6
|
+
playerId: event.player,
|
|
7
|
+
target: event.target,
|
|
73
8
|
order: event.order
|
|
74
9
|
};
|
|
75
10
|
}
|
|
76
|
-
export {
|
|
11
|
+
export { transformToAPIObject as transformToAPISet };
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
import { Spike } from '../../service';
|
|
2
|
-
import { SpikeAttributes, SpikeModel } from '../models';
|
|
3
1
|
import { APISpike } from '../../api';
|
|
4
|
-
declare function
|
|
5
|
-
|
|
6
|
-
declare function transformToAPIObject(event: SpikeModel): APISpike;
|
|
7
|
-
export { transformToObject as transformToSpike, transformToAPIObject as transformToAPISpike, transformToAttributes as transformFromSpike };
|
|
2
|
+
declare function transformToAPIObject(event: any): APISpike;
|
|
3
|
+
export { transformToAPIObject as transformToAPISpike };
|
|
@@ -1,80 +1,11 @@
|
|
|
1
|
-
import { Spike, SpikeFailureEnum, SpikeTypeEnum } from '../../service';
|
|
2
|
-
import { transformFromCourtTarget, transformFromEventType, transformToCourtTarget, transformToEventType, transformToPlayer } from '.';
|
|
3
|
-
function transformToSpikeFailure(failure) {
|
|
4
|
-
switch (failure) {
|
|
5
|
-
case SpikeFailureEnum.NO_FAILURE:
|
|
6
|
-
return 'NO_FAILURE';
|
|
7
|
-
case SpikeFailureEnum.FAULT:
|
|
8
|
-
return 'FAULT';
|
|
9
|
-
case SpikeFailureEnum.MISS:
|
|
10
|
-
return 'MISS';
|
|
11
|
-
case SpikeFailureEnum.OUT_OF_BOUNDS:
|
|
12
|
-
return 'OUT_OF_BOUNDS';
|
|
13
|
-
case SpikeFailureEnum.NET:
|
|
14
|
-
return 'NET';
|
|
15
|
-
default:
|
|
16
|
-
throw new Error('UNKNOWN_ROLE');
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
function transformFromSpikeFailure(failure) {
|
|
20
|
-
return SpikeFailureEnum[failure];
|
|
21
|
-
}
|
|
22
|
-
function transformToSpikeType(type) {
|
|
23
|
-
switch (type) {
|
|
24
|
-
case SpikeTypeEnum.CROSS_SHOT:
|
|
25
|
-
return 'CROSS_SHOT';
|
|
26
|
-
case SpikeTypeEnum.LINE_SHOT:
|
|
27
|
-
return 'LINE_SHOT';
|
|
28
|
-
case SpikeTypeEnum.TOOL_SHOT:
|
|
29
|
-
return 'TOOL_SHOT';
|
|
30
|
-
case SpikeTypeEnum.TIP:
|
|
31
|
-
return 'TIP';
|
|
32
|
-
case SpikeTypeEnum.DOWN_BALL:
|
|
33
|
-
return 'DOWN_BALL';
|
|
34
|
-
case SpikeTypeEnum.OVERHAND:
|
|
35
|
-
return 'OVERHAND';
|
|
36
|
-
default:
|
|
37
|
-
throw new Error('UNKNOWN_ROLE');
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
function transformFromSpikeType(type) {
|
|
41
|
-
return SpikeTypeEnum[type];
|
|
42
|
-
}
|
|
43
|
-
function transformToAttributes(event, rallyId) {
|
|
44
|
-
return {
|
|
45
|
-
event_id: event.id,
|
|
46
|
-
player_id: event.player.id,
|
|
47
|
-
rally_id: rallyId,
|
|
48
|
-
order: event.order,
|
|
49
|
-
target: transformFromCourtTarget(event.target),
|
|
50
|
-
failure: transformToSpikeFailure(event.failure),
|
|
51
|
-
type: transformToSpikeType(event.type),
|
|
52
|
-
event_type: transformFromEventType(event.eventType)
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
function transformToObject(spike) {
|
|
56
|
-
return new Spike({
|
|
57
|
-
id: spike.event_id,
|
|
58
|
-
eventType: transformToEventType(spike.event_type),
|
|
59
|
-
failure: transformFromSpikeFailure(spike.failure),
|
|
60
|
-
type: transformFromSpikeType(spike.type),
|
|
61
|
-
player: transformToPlayer(spike.player),
|
|
62
|
-
target: transformToCourtTarget(spike.target),
|
|
63
|
-
order: spike.order,
|
|
64
|
-
modifier: 1,
|
|
65
|
-
score: 1,
|
|
66
|
-
activeTraits: []
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
1
|
function transformToAPIObject(event) {
|
|
70
2
|
return {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
order: event.order,
|
|
3
|
+
eventType: event.eventType,
|
|
4
|
+
failure: event.failure,
|
|
5
|
+
type: event.type,
|
|
6
|
+
playerId: event.player,
|
|
7
|
+
target: event.target,
|
|
8
|
+
order: event.order
|
|
78
9
|
};
|
|
79
10
|
}
|
|
80
|
-
export {
|
|
11
|
+
export { transformToAPIObject as transformToAPISpike };
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
import { Substitution } from '../../service';
|
|
2
|
-
import { SubstitutionAttributes, SubstitutionModel } from '../models';
|
|
3
1
|
import { APISubstitution } from '../../api';
|
|
4
|
-
declare function
|
|
5
|
-
|
|
6
|
-
declare function transformToAPIObject(event: SubstitutionModel): APISubstitution;
|
|
7
|
-
export { transformToObject as transformToSubstitution, transformToAPIObject as transformToAPISubstitution, transformToAttributes as transformFromSubstitution };
|
|
2
|
+
declare function transformToAPIObject(event: any): APISubstitution;
|
|
3
|
+
export { transformToAPIObject as transformToAPISubstitution };
|
|
@@ -1,31 +1,9 @@
|
|
|
1
|
-
import { Substitution } from '../../service';
|
|
2
|
-
import { transformFromEventType, transformToEventType, transformToPlayer } from '.';
|
|
3
|
-
function transformToAttributes(event, rallyId) {
|
|
4
|
-
return {
|
|
5
|
-
player_id: event.player.id,
|
|
6
|
-
event_id: event.id,
|
|
7
|
-
order: event.order,
|
|
8
|
-
event_type: transformFromEventType(event.eventType),
|
|
9
|
-
player_out: event.playerOut.id,
|
|
10
|
-
rally_id: rallyId
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
function transformToObject(event) {
|
|
14
|
-
return new Substitution({
|
|
15
|
-
id: event.event_id,
|
|
16
|
-
player: transformToPlayer(event.player),
|
|
17
|
-
playerOut: transformToPlayer(event.playerOut),
|
|
18
|
-
order: event.order,
|
|
19
|
-
eventType: transformToEventType(event.event_type)
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
1
|
function transformToAPIObject(event) {
|
|
23
2
|
return {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
playerId: event.player_id,
|
|
3
|
+
eventType: event.eventType,
|
|
4
|
+
playerId: event.player,
|
|
27
5
|
order: event.order,
|
|
28
|
-
playerOutId: event.
|
|
6
|
+
playerOutId: event.playerOut
|
|
29
7
|
};
|
|
30
8
|
}
|
|
31
|
-
export {
|
|
9
|
+
export { transformToAPIObject as transformToAPISubstitution };
|
|
@@ -22,8 +22,9 @@ interface BlockOpts extends InPlayEventOpts {
|
|
|
22
22
|
export declare class Block extends InPlayEvent {
|
|
23
23
|
readonly failure: BlockFailureEnum;
|
|
24
24
|
readonly type: BlockTypeEnum;
|
|
25
|
-
readonly blockers:
|
|
26
|
-
constructor({
|
|
25
|
+
readonly blockers: string[];
|
|
26
|
+
constructor({ order, score, player, target, failure, type, modifier, eventType, blockers, activeTraits }: BlockOpts);
|
|
27
27
|
static getScore(blockers: Player[], modifier: number, activeTraits: Trait[]): number;
|
|
28
|
+
protected toString(): string;
|
|
28
29
|
}
|
|
29
30
|
export {};
|
|
@@ -17,11 +17,11 @@ 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({ order, score, player, target, failure, type, modifier, eventType, blockers, activeTraits }) {
|
|
21
|
+
super({ order, score, player, target, modifier, eventType, activeTraits });
|
|
22
22
|
this.type = type;
|
|
23
23
|
this.failure = failure;
|
|
24
|
-
this.blockers = blockers;
|
|
24
|
+
this.blockers = blockers.map(b => b.id);
|
|
25
25
|
}
|
|
26
26
|
static getScore(blockers, modifier, activeTraits) {
|
|
27
27
|
const type = blockers.length;
|
|
@@ -58,4 +58,7 @@ export class Block extends InPlayEvent {
|
|
|
58
58
|
}
|
|
59
59
|
return score;
|
|
60
60
|
}
|
|
61
|
+
toString() {
|
|
62
|
+
return `{order:${this.order},score:${this.order},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
|
+
}
|
|
61
64
|
}
|
|
@@ -13,7 +13,7 @@ export declare abstract class InPlayEvent extends RallyEvent {
|
|
|
13
13
|
readonly target: CourtTargetEnum;
|
|
14
14
|
readonly modifier: number;
|
|
15
15
|
readonly score: number;
|
|
16
|
-
readonly activeTraits:
|
|
17
|
-
protected constructor({
|
|
16
|
+
readonly activeTraits: string[];
|
|
17
|
+
protected constructor({ eventType, player, target, modifier, score, order, activeTraits }: InPlayEventOpts);
|
|
18
18
|
protected static calculateScore(stats: PerformanceStats, eventType: string, type: string): number;
|
|
19
19
|
}
|
|
@@ -2,12 +2,12 @@ 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({
|
|
6
|
-
super({
|
|
5
|
+
constructor({ eventType, player, target, modifier, score, order, activeTraits }) {
|
|
6
|
+
super({ order, player, eventType });
|
|
7
7
|
this.target = target;
|
|
8
8
|
this.score = score;
|
|
9
9
|
this.modifier = modifier;
|
|
10
|
-
this.activeTraits = activeTraits;
|
|
10
|
+
this.activeTraits = activeTraits.map(trait => trait.id);
|
|
11
11
|
}
|
|
12
12
|
static calculateScore(stats, eventType, type) {
|
|
13
13
|
const weight = formula[eventType][type];
|
|
@@ -11,7 +11,8 @@ export declare enum LiberoReplacementTypeEnum {
|
|
|
11
11
|
}
|
|
12
12
|
export declare class LiberoReplacement extends RallyEvent {
|
|
13
13
|
readonly type: LiberoReplacementTypeEnum;
|
|
14
|
-
readonly libero:
|
|
15
|
-
constructor({
|
|
14
|
+
readonly libero: string;
|
|
15
|
+
constructor({ order, player, type, libero, eventType }: LiberoReplacementOpts);
|
|
16
|
+
protected toString(): string;
|
|
16
17
|
}
|
|
17
18
|
export {};
|
|
@@ -5,9 +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({ order, player, type, libero, eventType }) {
|
|
9
|
+
super({ order, player, eventType });
|
|
10
10
|
this.type = type;
|
|
11
|
-
this.libero = libero;
|
|
11
|
+
this.libero = libero.id;
|
|
12
|
+
}
|
|
13
|
+
toString() {
|
|
14
|
+
return `{order:${this.order},player:${this.player},type:${this.type},eventType:${this.eventType},libero:${this.libero}}`;
|
|
12
15
|
}
|
|
13
16
|
}
|