volleyballsimtypes 0.0.75 → 0.0.77

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.
Files changed (143) hide show
  1. package/dist/cjs/src/api/events.d.ts +14 -14
  2. package/dist/cjs/src/api/index.d.ts +7 -8
  3. package/dist/cjs/src/api/index.js +21 -3
  4. package/dist/cjs/src/data/index.d.ts +3 -6
  5. package/dist/cjs/src/data/index.js +18 -125
  6. package/dist/cjs/src/data/models/block.d.ts +3 -1
  7. package/dist/cjs/src/data/models/block.js +8 -7
  8. package/dist/cjs/src/data/models/event.d.ts +3 -1
  9. package/dist/cjs/src/data/models/event.js +8 -7
  10. package/dist/cjs/src/data/models/index.d.ts +32 -64
  11. package/dist/cjs/src/data/models/index.js +46 -65
  12. package/dist/cjs/src/data/models/iteration.d.ts +1 -1
  13. package/dist/cjs/src/data/models/iteration.js +2 -2
  14. package/dist/cjs/src/data/models/reception.d.ts +3 -1
  15. package/dist/cjs/src/data/models/reception.js +8 -7
  16. package/dist/cjs/src/data/models/serve.d.ts +3 -1
  17. package/dist/cjs/src/data/models/serve.js +8 -7
  18. package/dist/cjs/src/data/models/set.d.ts +3 -1
  19. package/dist/cjs/src/data/models/set.js +8 -7
  20. package/dist/cjs/src/data/models/spike.d.ts +3 -1
  21. package/dist/cjs/src/data/models/spike.js +8 -7
  22. package/dist/cjs/src/data/transformers/block.js +16 -14
  23. package/dist/cjs/src/data/transformers/court-target.d.ts +3 -3
  24. package/dist/cjs/src/data/transformers/court-target.js +14 -14
  25. package/dist/cjs/src/data/transformers/event-type.d.ts +3 -3
  26. package/dist/cjs/src/data/transformers/event-type.js +9 -9
  27. package/dist/cjs/src/data/transformers/index.d.ts +35 -36
  28. package/dist/cjs/src/data/transformers/index.js +49 -124
  29. package/dist/cjs/src/data/transformers/libero-replacement.js +3 -3
  30. package/dist/cjs/src/data/transformers/rally.js +8 -8
  31. package/dist/cjs/src/data/transformers/reception.js +15 -13
  32. package/dist/cjs/src/data/transformers/serve.js +16 -14
  33. package/dist/cjs/src/data/transformers/set.js +15 -13
  34. package/dist/cjs/src/data/transformers/spike.js +17 -15
  35. package/dist/cjs/src/index.d.ts +3 -6
  36. package/dist/cjs/src/index.js +17 -185
  37. package/dist/cjs/src/service/event/__stubs__/index.js +7 -6
  38. package/dist/cjs/src/service/event/block.d.ts +7 -7
  39. package/dist/cjs/src/service/event/block.js +24 -24
  40. package/dist/cjs/src/service/event/block.test.js +35 -30
  41. package/dist/cjs/src/service/event/in-play-event.d.ts +7 -5
  42. package/dist/cjs/src/service/event/in-play-event.js +6 -5
  43. package/dist/cjs/src/service/event/libero-replacement.d.ts +4 -4
  44. package/dist/cjs/src/service/event/libero-replacement.js +8 -8
  45. package/dist/cjs/src/service/event/libero-replacement.test.js +7 -7
  46. package/dist/cjs/src/service/event/rally-event.d.ts +3 -3
  47. package/dist/cjs/src/service/event/rally-event.js +12 -12
  48. package/dist/cjs/src/service/event/reception.d.ts +8 -8
  49. package/dist/cjs/src/service/event/reception.js +19 -19
  50. package/dist/cjs/src/service/event/reception.test.js +17 -15
  51. package/dist/cjs/src/service/event/score.test.js +2 -2
  52. package/dist/cjs/src/service/event/serve.d.ts +8 -8
  53. package/dist/cjs/src/service/event/serve.js +20 -20
  54. package/dist/cjs/src/service/event/serve.test.js +17 -15
  55. package/dist/cjs/src/service/event/set.d.ts +8 -8
  56. package/dist/cjs/src/service/event/set.js +19 -19
  57. package/dist/cjs/src/service/event/set.test.js +17 -15
  58. package/dist/cjs/src/service/event/spike.d.ts +8 -8
  59. package/dist/cjs/src/service/event/spike.js +22 -22
  60. package/dist/cjs/src/service/event/spike.test.js +23 -20
  61. package/dist/cjs/src/service/match/{court-target.d.ts → court-target-enum.d.ts} +4 -4
  62. package/dist/cjs/src/service/match/court-target-enum.js +42 -0
  63. package/dist/cjs/src/service/match/court-target.test.js +18 -18
  64. package/dist/cjs/src/service/match/index.d.ts +1 -1
  65. package/dist/cjs/src/service/match/index.js +1 -1
  66. package/dist/cjs/src/service/match/rally.js +1 -1
  67. package/dist/cjs/src/service/match/rally.test.js +2 -2
  68. package/dist/cjs/src/service/player/role.d.ts +1 -1
  69. package/dist/cjs/src/service/team/team.d.ts +3 -3
  70. package/dist/cjs/src/service/team/team.js +6 -6
  71. package/dist/esm/src/api/events.d.ts +14 -14
  72. package/dist/esm/src/api/index.d.ts +7 -8
  73. package/dist/esm/src/api/index.js +7 -2
  74. package/dist/esm/src/data/index.d.ts +3 -6
  75. package/dist/esm/src/data/index.js +3 -4
  76. package/dist/esm/src/data/models/block.d.ts +3 -1
  77. package/dist/esm/src/data/models/block.js +8 -7
  78. package/dist/esm/src/data/models/event.d.ts +3 -1
  79. package/dist/esm/src/data/models/event.js +8 -7
  80. package/dist/esm/src/data/models/index.d.ts +32 -64
  81. package/dist/esm/src/data/models/index.js +32 -33
  82. package/dist/esm/src/data/models/iteration.d.ts +1 -1
  83. package/dist/esm/src/data/models/iteration.js +2 -2
  84. package/dist/esm/src/data/models/reception.d.ts +3 -1
  85. package/dist/esm/src/data/models/reception.js +8 -7
  86. package/dist/esm/src/data/models/serve.d.ts +3 -1
  87. package/dist/esm/src/data/models/serve.js +8 -7
  88. package/dist/esm/src/data/models/set.d.ts +3 -1
  89. package/dist/esm/src/data/models/set.js +8 -7
  90. package/dist/esm/src/data/models/spike.d.ts +3 -1
  91. package/dist/esm/src/data/models/spike.js +8 -7
  92. package/dist/esm/src/data/transformers/block.js +18 -16
  93. package/dist/esm/src/data/transformers/court-target.d.ts +3 -3
  94. package/dist/esm/src/data/transformers/court-target.js +15 -15
  95. package/dist/esm/src/data/transformers/event-type.d.ts +3 -3
  96. package/dist/esm/src/data/transformers/event-type.js +10 -10
  97. package/dist/esm/src/data/transformers/index.d.ts +35 -36
  98. package/dist/esm/src/data/transformers/index.js +35 -36
  99. package/dist/esm/src/data/transformers/libero-replacement.js +4 -4
  100. package/dist/esm/src/data/transformers/rally.js +9 -9
  101. package/dist/esm/src/data/transformers/reception.js +17 -15
  102. package/dist/esm/src/data/transformers/serve.js +18 -16
  103. package/dist/esm/src/data/transformers/set.js +17 -15
  104. package/dist/esm/src/data/transformers/spike.js +19 -17
  105. package/dist/esm/src/index.d.ts +3 -6
  106. package/dist/esm/src/index.js +3 -4
  107. package/dist/esm/src/service/event/__stubs__/index.js +10 -9
  108. package/dist/esm/src/service/event/block.d.ts +7 -7
  109. package/dist/esm/src/service/event/block.js +23 -23
  110. package/dist/esm/src/service/event/block.test.js +38 -33
  111. package/dist/esm/src/service/event/in-play-event.d.ts +7 -5
  112. package/dist/esm/src/service/event/in-play-event.js +6 -5
  113. package/dist/esm/src/service/event/libero-replacement.d.ts +4 -4
  114. package/dist/esm/src/service/event/libero-replacement.js +8 -8
  115. package/dist/esm/src/service/event/libero-replacement.test.js +9 -9
  116. package/dist/esm/src/service/event/rally-event.d.ts +3 -3
  117. package/dist/esm/src/service/event/rally-event.js +11 -11
  118. package/dist/esm/src/service/event/reception.d.ts +8 -8
  119. package/dist/esm/src/service/event/reception.js +18 -18
  120. package/dist/esm/src/service/event/reception.test.js +20 -18
  121. package/dist/esm/src/service/event/score.test.js +3 -3
  122. package/dist/esm/src/service/event/serve.d.ts +8 -8
  123. package/dist/esm/src/service/event/serve.js +19 -19
  124. package/dist/esm/src/service/event/serve.test.js +20 -18
  125. package/dist/esm/src/service/event/set.d.ts +8 -8
  126. package/dist/esm/src/service/event/set.js +18 -18
  127. package/dist/esm/src/service/event/set.test.js +20 -18
  128. package/dist/esm/src/service/event/spike.d.ts +8 -8
  129. package/dist/esm/src/service/event/spike.js +21 -21
  130. package/dist/esm/src/service/event/spike.test.js +26 -23
  131. package/dist/esm/src/service/match/{court-target.d.ts → court-target-enum.d.ts} +4 -4
  132. package/dist/esm/src/service/match/court-target-enum.js +39 -0
  133. package/dist/esm/src/service/match/court-target.test.js +18 -18
  134. package/dist/esm/src/service/match/index.d.ts +1 -1
  135. package/dist/esm/src/service/match/index.js +1 -1
  136. package/dist/esm/src/service/match/rally.js +2 -2
  137. package/dist/esm/src/service/match/rally.test.js +3 -3
  138. package/dist/esm/src/service/player/role.d.ts +1 -1
  139. package/dist/esm/src/service/team/team.d.ts +3 -3
  140. package/dist/esm/src/service/team/team.js +6 -6
  141. package/package.json +1 -1
  142. package/dist/cjs/src/service/match/court-target.js +0 -42
  143. package/dist/esm/src/service/match/court-target.js +0 -39
@@ -1,23 +1,23 @@
1
1
  import { InPlayEvent } from './in-play-event';
2
- export var BlockFailure;
3
- (function (BlockFailure) {
4
- BlockFailure[BlockFailure["NO_FAILURE"] = 0] = "NO_FAILURE";
5
- BlockFailure[BlockFailure["FAULT"] = 1] = "FAULT";
6
- BlockFailure[BlockFailure["MISS"] = 2] = "MISS";
7
- BlockFailure[BlockFailure["OUT_OF_BOUNDS"] = 3] = "OUT_OF_BOUNDS";
8
- BlockFailure[BlockFailure["WIPE"] = 4] = "WIPE";
9
- BlockFailure[BlockFailure["TOOL"] = 5] = "TOOL";
10
- })(BlockFailure || (BlockFailure = {}));
11
- export var BlockType;
12
- (function (BlockType) {
13
- BlockType[BlockType["NO_BLOCKER"] = 0] = "NO_BLOCKER";
14
- BlockType[BlockType["SINGLE"] = 1] = "SINGLE";
15
- BlockType[BlockType["DOUBLE"] = 2] = "DOUBLE";
16
- BlockType[BlockType["TRIPLE"] = 3] = "TRIPLE";
17
- })(BlockType || (BlockType = {}));
2
+ export var BlockFailureEnum;
3
+ (function (BlockFailureEnum) {
4
+ BlockFailureEnum[BlockFailureEnum["NO_FAILURE"] = 0] = "NO_FAILURE";
5
+ BlockFailureEnum[BlockFailureEnum["FAULT"] = 1] = "FAULT";
6
+ BlockFailureEnum[BlockFailureEnum["MISS"] = 2] = "MISS";
7
+ BlockFailureEnum[BlockFailureEnum["OUT_OF_BOUNDS"] = 3] = "OUT_OF_BOUNDS";
8
+ BlockFailureEnum[BlockFailureEnum["WIPE"] = 4] = "WIPE";
9
+ BlockFailureEnum[BlockFailureEnum["TOOL"] = 5] = "TOOL";
10
+ })(BlockFailureEnum || (BlockFailureEnum = {}));
11
+ export var BlockTypeEnum;
12
+ (function (BlockTypeEnum) {
13
+ BlockTypeEnum[BlockTypeEnum["NO_BLOCKER"] = 0] = "NO_BLOCKER";
14
+ BlockTypeEnum[BlockTypeEnum["SINGLE"] = 1] = "SINGLE";
15
+ BlockTypeEnum[BlockTypeEnum["DOUBLE"] = 2] = "DOUBLE";
16
+ BlockTypeEnum[BlockTypeEnum["TRIPLE"] = 3] = "TRIPLE";
17
+ })(BlockTypeEnum || (BlockTypeEnum = {}));
18
18
  export class Block extends InPlayEvent {
19
- constructor({ id, order, score, player, target, failure, type, modifier, eventType, blockers }) {
20
- super({ id, order, score, player, target, modifier, eventType });
19
+ constructor({ id, order, score, player, target, failure, type, modifier, eventType, blockers, activeTraits }) {
20
+ super({ id, order, score, player, target, modifier, eventType, activeTraits });
21
21
  this.type = type;
22
22
  this.failure = failure;
23
23
  this.blockers = blockers;
@@ -28,22 +28,22 @@ export class Block extends InPlayEvent {
28
28
  throw new Error('UNKNOWN_TYPE');
29
29
  let bmod;
30
30
  switch (type) {
31
- case BlockType.NO_BLOCKER:
31
+ case BlockTypeEnum.NO_BLOCKER:
32
32
  return 0;
33
- case BlockType.SINGLE:
33
+ case BlockTypeEnum.SINGLE:
34
34
  bmod = 1;
35
35
  break;
36
- case BlockType.DOUBLE:
36
+ case BlockTypeEnum.DOUBLE:
37
37
  bmod = 1.2;
38
38
  break;
39
- case BlockType.TRIPLE:
39
+ case BlockTypeEnum.TRIPLE:
40
40
  bmod = 1.4;
41
41
  break;
42
42
  default:
43
43
  throw new Error('UNKNOWN_TYPE');
44
44
  }
45
45
  const total = blockers.reduce((score, player) => {
46
- return score + Block.calculateScore(player.stats, 'BLOCK', BlockType[type]);
46
+ return score + Block.calculateScore(player.stats, 'BLOCK', BlockTypeEnum[type]);
47
47
  }, 0);
48
48
  const avg = total / blockers.length;
49
49
  return avg * bmod * modifier;
@@ -1,8 +1,8 @@
1
1
  import { describe, expect, test } from '@jest/globals';
2
- import { Block, BlockFailure, BlockType } from './block';
2
+ import { Block, BlockFailureEnum, BlockTypeEnum } from './block';
3
3
  import { player } from '../player/__stubs__';
4
- import { CourtTarget } from '../match';
5
- import { EventType } from './rally-event';
4
+ import { CourtTargetEnum } from '../match';
5
+ import { EventTypeEnum } from './rally-event';
6
6
  import { v4 as uuidv4 } from 'uuid';
7
7
  describe('Block Test Module', () => {
8
8
  let none;
@@ -15,70 +15,75 @@ describe('Block Test Module', () => {
15
15
  id: uuidv4(),
16
16
  order: 1,
17
17
  player: player,
18
- target: CourtTarget.OPPONENT_RIGHT_BACK,
19
- failure: BlockFailure.NO_FAILURE,
20
- type: BlockType.NO_BLOCKER,
21
- eventType: EventType.BLOCK,
18
+ target: CourtTargetEnum.OPPONENT_RIGHT_BACK,
19
+ failure: BlockFailureEnum.NO_FAILURE,
20
+ type: BlockTypeEnum.NO_BLOCKER,
21
+ eventType: EventTypeEnum.BLOCK,
22
22
  modifier: 1,
23
23
  blockers: [],
24
- score: Block.getScore([], 1)
24
+ score: Block.getScore([], 1),
25
+ activeTraits: []
25
26
  });
26
27
  block = new Block({
27
28
  id: uuidv4(),
28
29
  order: 1,
29
30
  player: player,
30
- target: CourtTarget.OPPONENT_RIGHT_BACK,
31
- failure: BlockFailure.NO_FAILURE,
32
- type: BlockType.SINGLE,
33
- eventType: EventType.BLOCK,
31
+ target: CourtTargetEnum.OPPONENT_RIGHT_BACK,
32
+ failure: BlockFailureEnum.NO_FAILURE,
33
+ type: BlockTypeEnum.SINGLE,
34
+ eventType: EventTypeEnum.BLOCK,
34
35
  modifier: 1,
35
36
  blockers: [player],
36
- score: Block.getScore([player], 1)
37
+ score: Block.getScore([player], 1),
38
+ activeTraits: []
37
39
  });
38
40
  double = new Block({
39
41
  id: uuidv4(),
40
42
  order: 1,
41
43
  player: player,
42
- target: CourtTarget.OPPONENT_RIGHT_BACK,
43
- failure: BlockFailure.NO_FAILURE,
44
- type: BlockType.DOUBLE,
45
- eventType: EventType.BLOCK,
44
+ target: CourtTargetEnum.OPPONENT_RIGHT_BACK,
45
+ failure: BlockFailureEnum.NO_FAILURE,
46
+ type: BlockTypeEnum.DOUBLE,
47
+ eventType: EventTypeEnum.BLOCK,
46
48
  modifier: 1,
47
49
  blockers: [player, player],
48
- score: Block.getScore([player, player], 1)
50
+ score: Block.getScore([player, player], 1),
51
+ activeTraits: []
49
52
  });
50
53
  triple = new Block({
51
54
  id: uuidv4(),
52
55
  order: 1,
53
56
  player: player,
54
- target: CourtTarget.OPPONENT_RIGHT_BACK,
55
- failure: BlockFailure.NO_FAILURE,
56
- type: BlockType.TRIPLE,
57
- eventType: EventType.BLOCK,
57
+ target: CourtTargetEnum.OPPONENT_RIGHT_BACK,
58
+ failure: BlockFailureEnum.NO_FAILURE,
59
+ type: BlockTypeEnum.TRIPLE,
60
+ eventType: EventTypeEnum.BLOCK,
58
61
  modifier: 1,
59
62
  blockers: [player, player, player],
60
- score: Block.getScore([player, player, player], 1)
63
+ score: Block.getScore([player, player, player], 1),
64
+ activeTraits: []
61
65
  });
62
66
  failed = new Block({
63
67
  id: uuidv4(),
64
68
  order: 1,
65
69
  player: player,
66
- target: CourtTarget.NO_TARGET,
67
- failure: BlockFailure.FAULT,
68
- type: BlockType.TRIPLE,
69
- eventType: EventType.BLOCK,
70
+ target: CourtTargetEnum.NO_TARGET,
71
+ failure: BlockFailureEnum.FAULT,
72
+ type: BlockTypeEnum.TRIPLE,
73
+ eventType: EventTypeEnum.BLOCK,
70
74
  modifier: 1,
71
75
  blockers: [player],
72
- score: Block.getScore([player], 1)
76
+ score: Block.getScore([player], 1),
77
+ activeTraits: []
73
78
  });
74
79
  });
75
80
  test('Should instantiate object properly', () => {
76
- expect(block.target).toBe(CourtTarget.OPPONENT_RIGHT_BACK);
77
- expect(block.type).toBe(BlockType.SINGLE);
78
- expect(block.eventType).toBe(EventType.BLOCK);
81
+ expect(block.target).toBe(CourtTargetEnum.OPPONENT_RIGHT_BACK);
82
+ expect(block.type).toBe(BlockTypeEnum.SINGLE);
83
+ expect(block.eventType).toBe(EventTypeEnum.BLOCK);
79
84
  expect(block.player.id).toBe(player.id);
80
- expect(block.failure).toBe(BlockFailure.NO_FAILURE);
81
- expect(failed.failure).toBe(BlockFailure.FAULT);
85
+ expect(block.failure).toBe(BlockFailureEnum.NO_FAILURE);
86
+ expect(failed.failure).toBe(BlockFailureEnum.FAULT);
82
87
  expect(block.modifier).toBe(1);
83
88
  });
84
89
  // getScore Tests
@@ -1,17 +1,19 @@
1
1
  import { RallyEvent, RallyEventOpts } from './rally-event';
2
- import { CourtTarget } from '../match';
3
- import { PerformanceStats } from '../player';
2
+ import { CourtTargetEnum } from '../match';
3
+ import { PerformanceStats, Trait } from '../player';
4
4
  export interface InPlayEventOpts extends RallyEventOpts {
5
- readonly target: CourtTarget;
5
+ readonly target: CourtTargetEnum;
6
6
  readonly modifier: number;
7
7
  readonly score: number;
8
+ readonly activeTraits: Trait[];
8
9
  }
9
10
  export declare abstract class InPlayEvent extends RallyEvent {
10
11
  abstract failure: number;
11
12
  abstract type: number;
12
- readonly target: CourtTarget;
13
+ readonly target: CourtTargetEnum;
13
14
  readonly modifier: number;
14
15
  readonly score: number;
15
- protected constructor(opts: InPlayEventOpts);
16
+ readonly activeTraits: Trait[];
17
+ protected constructor({ id, eventType, player, target, modifier, score, order, activeTraits }: InPlayEventOpts);
16
18
  protected static calculateScore(stats: PerformanceStats, eventType: string, type: string): number;
17
19
  }
@@ -2,11 +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(opts) {
6
- super(opts);
7
- this.target = opts.target;
8
- this.score = opts.score;
9
- this.modifier = opts.modifier;
5
+ constructor({ id, eventType, player, target, modifier, score, order, activeTraits }) {
6
+ super({ id, order, player, eventType });
7
+ this.target = target;
8
+ this.score = score;
9
+ this.modifier = modifier;
10
+ this.activeTraits = activeTraits;
10
11
  }
11
12
  static calculateScore(stats, eventType, type) {
12
13
  const weight = formula[eventType][type];
@@ -3,15 +3,15 @@ import { Player } from '../player';
3
3
  interface LiberoReplacementOpts extends RallyEventOpts {
4
4
  readonly player: Player;
5
5
  readonly libero: Player;
6
- readonly type: LiberoReplacementType;
6
+ readonly type: LiberoReplacementTypeEnum;
7
7
  }
8
- export declare enum LiberoReplacementType {
8
+ export declare enum LiberoReplacementTypeEnum {
9
9
  LIBERO_IN = 0,
10
10
  LIBERO_OUT = 1
11
11
  }
12
12
  export declare class LiberoReplacement extends RallyEvent {
13
- readonly type: LiberoReplacementType;
13
+ readonly type: LiberoReplacementTypeEnum;
14
14
  readonly libero: Player;
15
- constructor({ id, order, player, type, libero }: LiberoReplacementOpts);
15
+ constructor({ id, order, player, type, libero, eventType }: LiberoReplacementOpts);
16
16
  }
17
17
  export {};
@@ -1,12 +1,12 @@
1
- import { EventType, RallyEvent } from './rally-event';
2
- export var LiberoReplacementType;
3
- (function (LiberoReplacementType) {
4
- LiberoReplacementType[LiberoReplacementType["LIBERO_IN"] = 0] = "LIBERO_IN";
5
- LiberoReplacementType[LiberoReplacementType["LIBERO_OUT"] = 1] = "LIBERO_OUT";
6
- })(LiberoReplacementType || (LiberoReplacementType = {}));
1
+ import { RallyEvent } from './rally-event';
2
+ export var LiberoReplacementTypeEnum;
3
+ (function (LiberoReplacementTypeEnum) {
4
+ LiberoReplacementTypeEnum[LiberoReplacementTypeEnum["LIBERO_IN"] = 0] = "LIBERO_IN";
5
+ LiberoReplacementTypeEnum[LiberoReplacementTypeEnum["LIBERO_OUT"] = 1] = "LIBERO_OUT";
6
+ })(LiberoReplacementTypeEnum || (LiberoReplacementTypeEnum = {}));
7
7
  export class LiberoReplacement extends RallyEvent {
8
- constructor({ id, order, player, type, libero }) {
9
- super({ id, order, player, eventType: EventType.LIBERO_REPLACEMENT });
8
+ constructor({ id, order, player, type, libero, eventType }) {
9
+ super({ id, order, player, eventType });
10
10
  this.type = type;
11
11
  this.libero = libero;
12
12
  }
@@ -1,7 +1,7 @@
1
1
  import { beforeEach, describe, expect, test } from '@jest/globals';
2
- import { EventType } from './rally-event';
2
+ import { EventTypeEnum } from './rally-event';
3
3
  import { players } from '../player/__stubs__';
4
- import { LiberoReplacement, LiberoReplacementType } from './libero-replacement';
4
+ import { LiberoReplacement, LiberoReplacementTypeEnum } from './libero-replacement';
5
5
  import { v4 as uuidv4 } from 'uuid';
6
6
  describe('LiberoReplacement Test Module', () => {
7
7
  let _in;
@@ -12,23 +12,23 @@ describe('LiberoReplacement Test Module', () => {
12
12
  order: 1,
13
13
  player: players[0],
14
14
  libero: players[1],
15
- type: LiberoReplacementType.LIBERO_IN,
16
- eventType: EventType.LIBERO_REPLACEMENT
15
+ type: LiberoReplacementTypeEnum.LIBERO_IN,
16
+ eventType: EventTypeEnum.LIBERO_REPLACEMENT
17
17
  });
18
18
  _out = new LiberoReplacement({
19
19
  id: uuidv4(),
20
20
  order: 1,
21
21
  player: players[0],
22
22
  libero: players[1],
23
- type: LiberoReplacementType.LIBERO_OUT,
24
- eventType: EventType.LIBERO_REPLACEMENT
23
+ type: LiberoReplacementTypeEnum.LIBERO_OUT,
24
+ eventType: EventTypeEnum.LIBERO_REPLACEMENT
25
25
  });
26
26
  });
27
27
  test('Should instantiate object properly', () => {
28
28
  expect(_in.libero.id).toBe('e92f4abb-66f4-4b6c-a602-258404d04484');
29
29
  expect(_in.player.id).toBe('622c36dc-f2d2-44b3-a744-667ea53218b7');
30
- expect(_in.type).toBe(LiberoReplacementType.LIBERO_IN);
31
- expect(_out.type).toBe(LiberoReplacementType.LIBERO_OUT);
32
- expect(_in.eventType).toBe(EventType.LIBERO_REPLACEMENT);
30
+ expect(_in.type).toBe(LiberoReplacementTypeEnum.LIBERO_IN);
31
+ expect(_out.type).toBe(LiberoReplacementTypeEnum.LIBERO_OUT);
32
+ expect(_in.eventType).toBe(EventTypeEnum.LIBERO_REPLACEMENT);
33
33
  });
34
34
  });
@@ -1,5 +1,5 @@
1
1
  import { Player } from '../player';
2
- export declare enum EventType {
2
+ export declare enum EventTypeEnum {
3
3
  LIBERO_REPLACEMENT = 0,
4
4
  SUBSTITUTION = 1,
5
5
  SERVE = 2,
@@ -12,13 +12,13 @@ export declare enum EventType {
12
12
  export interface RallyEventOpts {
13
13
  readonly id: string;
14
14
  readonly player: Player;
15
- readonly eventType: EventType;
15
+ readonly eventType: EventTypeEnum;
16
16
  readonly order: number;
17
17
  }
18
18
  export declare abstract class RallyEvent {
19
19
  readonly id: string;
20
20
  readonly order: number;
21
21
  readonly player: Player;
22
- readonly eventType: EventType;
22
+ readonly eventType: EventTypeEnum;
23
23
  protected constructor({ id, eventType, player, order }: RallyEventOpts);
24
24
  }
@@ -1,14 +1,14 @@
1
- export var EventType;
2
- (function (EventType) {
3
- EventType[EventType["LIBERO_REPLACEMENT"] = 0] = "LIBERO_REPLACEMENT";
4
- EventType[EventType["SUBSTITUTION"] = 1] = "SUBSTITUTION";
5
- EventType[EventType["SERVE"] = 2] = "SERVE";
6
- EventType[EventType["RECEPTION"] = 3] = "RECEPTION";
7
- EventType[EventType["SET"] = 4] = "SET";
8
- EventType[EventType["SPIKE"] = 5] = "SPIKE";
9
- EventType[EventType["BLOCK"] = 6] = "BLOCK";
10
- EventType[EventType["SCORE"] = 7] = "SCORE";
11
- })(EventType || (EventType = {}));
1
+ export var EventTypeEnum;
2
+ (function (EventTypeEnum) {
3
+ EventTypeEnum[EventTypeEnum["LIBERO_REPLACEMENT"] = 0] = "LIBERO_REPLACEMENT";
4
+ EventTypeEnum[EventTypeEnum["SUBSTITUTION"] = 1] = "SUBSTITUTION";
5
+ EventTypeEnum[EventTypeEnum["SERVE"] = 2] = "SERVE";
6
+ EventTypeEnum[EventTypeEnum["RECEPTION"] = 3] = "RECEPTION";
7
+ EventTypeEnum[EventTypeEnum["SET"] = 4] = "SET";
8
+ EventTypeEnum[EventTypeEnum["SPIKE"] = 5] = "SPIKE";
9
+ EventTypeEnum[EventTypeEnum["BLOCK"] = 6] = "BLOCK";
10
+ EventTypeEnum[EventTypeEnum["SCORE"] = 7] = "SCORE";
11
+ })(EventTypeEnum || (EventTypeEnum = {}));
12
12
  export class RallyEvent {
13
13
  constructor({ id, eventType, player, order }) {
14
14
  this.id = id;
@@ -1,12 +1,12 @@
1
1
  import { PerformanceStats } from '../player';
2
2
  import { InPlayEvent, InPlayEventOpts } from './in-play-event';
3
- export declare enum ReceptionType {
3
+ export declare enum ReceptionTypeEnum {
4
4
  DIG = 0,
5
5
  OVERHAND = 1,
6
6
  ONE_HAND = 2,
7
7
  OTHER_BODY_PART = 3
8
8
  }
9
- export declare enum ReceptionFailure {
9
+ export declare enum ReceptionFailureEnum {
10
10
  NO_FAILURE = 0,
11
11
  FAULT = 1,
12
12
  MISS = 2,
@@ -14,13 +14,13 @@ export declare enum ReceptionFailure {
14
14
  BAD_PASS = 4
15
15
  }
16
16
  interface ReceptionOpts extends InPlayEventOpts {
17
- readonly type: ReceptionType;
18
- readonly failure: ReceptionFailure;
17
+ readonly type: ReceptionTypeEnum;
18
+ readonly failure: ReceptionFailureEnum;
19
19
  }
20
20
  export declare class Reception extends InPlayEvent {
21
- readonly failure: ReceptionFailure;
22
- readonly type: ReceptionType;
23
- constructor({ id, order, score, player, target, failure, type, eventType, modifier }: ReceptionOpts);
24
- static getScore(stats: PerformanceStats, type: ReceptionType, modifier: number): number;
21
+ readonly failure: ReceptionFailureEnum;
22
+ readonly type: ReceptionTypeEnum;
23
+ constructor({ id, order, score, player, target, failure, type, eventType, modifier, activeTraits }: ReceptionOpts);
24
+ static getScore(stats: PerformanceStats, type: ReceptionTypeEnum, modifier: number): number;
25
25
  }
26
26
  export {};
@@ -1,26 +1,26 @@
1
1
  import { InPlayEvent } from './in-play-event';
2
- export var ReceptionType;
3
- (function (ReceptionType) {
4
- ReceptionType[ReceptionType["DIG"] = 0] = "DIG";
5
- ReceptionType[ReceptionType["OVERHAND"] = 1] = "OVERHAND";
6
- ReceptionType[ReceptionType["ONE_HAND"] = 2] = "ONE_HAND";
7
- ReceptionType[ReceptionType["OTHER_BODY_PART"] = 3] = "OTHER_BODY_PART";
8
- })(ReceptionType || (ReceptionType = {}));
9
- export var ReceptionFailure;
10
- (function (ReceptionFailure) {
11
- ReceptionFailure[ReceptionFailure["NO_FAILURE"] = 0] = "NO_FAILURE";
12
- ReceptionFailure[ReceptionFailure["FAULT"] = 1] = "FAULT";
13
- ReceptionFailure[ReceptionFailure["MISS"] = 2] = "MISS";
14
- ReceptionFailure[ReceptionFailure["OUT_OF_BOUNDS"] = 3] = "OUT_OF_BOUNDS";
15
- ReceptionFailure[ReceptionFailure["BAD_PASS"] = 4] = "BAD_PASS";
16
- })(ReceptionFailure || (ReceptionFailure = {}));
2
+ export var ReceptionTypeEnum;
3
+ (function (ReceptionTypeEnum) {
4
+ ReceptionTypeEnum[ReceptionTypeEnum["DIG"] = 0] = "DIG";
5
+ ReceptionTypeEnum[ReceptionTypeEnum["OVERHAND"] = 1] = "OVERHAND";
6
+ ReceptionTypeEnum[ReceptionTypeEnum["ONE_HAND"] = 2] = "ONE_HAND";
7
+ ReceptionTypeEnum[ReceptionTypeEnum["OTHER_BODY_PART"] = 3] = "OTHER_BODY_PART";
8
+ })(ReceptionTypeEnum || (ReceptionTypeEnum = {}));
9
+ export var ReceptionFailureEnum;
10
+ (function (ReceptionFailureEnum) {
11
+ ReceptionFailureEnum[ReceptionFailureEnum["NO_FAILURE"] = 0] = "NO_FAILURE";
12
+ ReceptionFailureEnum[ReceptionFailureEnum["FAULT"] = 1] = "FAULT";
13
+ ReceptionFailureEnum[ReceptionFailureEnum["MISS"] = 2] = "MISS";
14
+ ReceptionFailureEnum[ReceptionFailureEnum["OUT_OF_BOUNDS"] = 3] = "OUT_OF_BOUNDS";
15
+ ReceptionFailureEnum[ReceptionFailureEnum["BAD_PASS"] = 4] = "BAD_PASS";
16
+ })(ReceptionFailureEnum || (ReceptionFailureEnum = {}));
17
17
  export class Reception extends InPlayEvent {
18
- constructor({ id, order, score, player, target, failure, type, eventType, modifier }) {
19
- super({ id, order, score, player, target, eventType, modifier });
18
+ constructor({ id, order, score, player, target, failure, type, eventType, modifier, activeTraits }) {
19
+ super({ id, order, score, player, target, eventType, modifier, activeTraits });
20
20
  this.type = type;
21
21
  this.failure = failure;
22
22
  }
23
23
  static getScore(stats, type, modifier) {
24
- return Reception.calculateScore(stats, 'RECEPTION', ReceptionType[type]) * modifier;
24
+ return Reception.calculateScore(stats, 'RECEPTION', ReceptionTypeEnum[type]) * modifier;
25
25
  }
26
26
  }
@@ -1,8 +1,8 @@
1
1
  import { describe, expect, test } from '@jest/globals';
2
- import { Reception, ReceptionFailure, ReceptionType } from './reception';
2
+ import { Reception, ReceptionFailureEnum, ReceptionTypeEnum } from './reception';
3
3
  import { player } from '../player/__stubs__';
4
- import { CourtTarget } from '../match';
5
- import { EventType } from './rally-event';
4
+ import { CourtTargetEnum } from '../match';
5
+ import { EventTypeEnum } from './rally-event';
6
6
  describe('Reception Test Module', () => {
7
7
  let reception;
8
8
  let failed;
@@ -12,31 +12,33 @@ describe('Reception Test Module', () => {
12
12
  id: '622c36dc-f2d2-44b3-a744-667ea53218b7',
13
13
  order: 0,
14
14
  player: player,
15
- target: CourtTarget.OPPONENT_RIGHT_BACK,
16
- failure: ReceptionFailure.NO_FAILURE,
17
- type: ReceptionType.DIG,
18
- eventType: EventType.RECEPTION,
19
- modifier: 1
15
+ target: CourtTargetEnum.OPPONENT_RIGHT_BACK,
16
+ failure: ReceptionFailureEnum.NO_FAILURE,
17
+ type: ReceptionTypeEnum.DIG,
18
+ eventType: EventTypeEnum.RECEPTION,
19
+ modifier: 1,
20
+ activeTraits: []
20
21
  });
21
22
  failed = new Reception({
22
23
  score: 60,
23
24
  id: '622c36dc-f2d2-44b3-a744-667ea53218b7',
24
25
  order: 0,
25
26
  player: player,
26
- target: CourtTarget.NO_TARGET,
27
- failure: ReceptionFailure.OUT_OF_BOUNDS,
28
- type: ReceptionType.OTHER_BODY_PART,
29
- eventType: EventType.RECEPTION,
30
- modifier: 1
27
+ target: CourtTargetEnum.NO_TARGET,
28
+ failure: ReceptionFailureEnum.OUT_OF_BOUNDS,
29
+ type: ReceptionTypeEnum.OTHER_BODY_PART,
30
+ eventType: EventTypeEnum.RECEPTION,
31
+ modifier: 1,
32
+ activeTraits: []
31
33
  });
32
34
  });
33
35
  test('Should instantiate object properly', () => {
34
- expect(reception.target).toBe(CourtTarget.OPPONENT_RIGHT_BACK);
35
- expect(reception.type).toBe(ReceptionType.DIG);
36
- expect(reception.eventType).toBe(EventType.RECEPTION);
36
+ expect(reception.target).toBe(CourtTargetEnum.OPPONENT_RIGHT_BACK);
37
+ expect(reception.type).toBe(ReceptionTypeEnum.DIG);
38
+ expect(reception.eventType).toBe(EventTypeEnum.RECEPTION);
37
39
  expect(reception.player.id).toBe(player.id);
38
- expect(reception.failure).toBe(ReceptionFailure.NO_FAILURE);
39
- expect(failed.failure).toBe(ReceptionFailure.OUT_OF_BOUNDS);
40
+ expect(reception.failure).toBe(ReceptionFailureEnum.NO_FAILURE);
41
+ expect(failed.failure).toBe(ReceptionFailureEnum.OUT_OF_BOUNDS);
40
42
  expect(reception.modifier).toBe(1);
41
43
  });
42
44
  // getScore Tests
@@ -2,20 +2,20 @@ import { beforeEach, describe, expect, test } from '@jest/globals';
2
2
  import { Score } from './score';
3
3
  import { player } from '../player/__stubs__';
4
4
  import { team } from '../team/__stubs__';
5
- import { EventType } from './rally-event';
5
+ import { EventTypeEnum } from './rally-event';
6
6
  describe('Score Test Module', () => {
7
7
  let score;
8
8
  beforeEach(() => {
9
9
  score = new Score({
10
10
  id: '622c36dc-f2d2-44b3-a744-667ea53218b7',
11
11
  order: 0,
12
- eventType: EventType.SCORE,
12
+ eventType: EventTypeEnum.SCORE,
13
13
  player: player,
14
14
  team
15
15
  });
16
16
  });
17
17
  test('Should instantiate object properly', () => {
18
- expect(score.eventType).toBe(EventType.SCORE);
18
+ expect(score.eventType).toBe(EventTypeEnum.SCORE);
19
19
  expect(score.player.id).toBe('e92f4abb-66f4-4b6c-a602-258404d04484');
20
20
  expect(score.team.id).toBe('426b5b9b-5be7-4963-92eb-71b7a3b29ffd');
21
21
  });
@@ -1,13 +1,13 @@
1
1
  import { InPlayEvent, InPlayEventOpts } from './in-play-event';
2
2
  import { PerformanceStats } from '../player';
3
- export declare enum ServeType {
3
+ export declare enum ServeTypeEnum {
4
4
  UNDERHAND = 0,
5
5
  OVERHAND_TOPSPIN = 1,
6
6
  OVERHAND_FLOAT = 2,
7
7
  JUMP_TOPSPIN = 3,
8
8
  JUMP_FLOAT = 4
9
9
  }
10
- export declare enum ServeFailure {
10
+ export declare enum ServeFailureEnum {
11
11
  NO_FAILURE = 0,
12
12
  FAULT = 1,
13
13
  MISS = 2,
@@ -15,13 +15,13 @@ export declare enum ServeFailure {
15
15
  OUT_OF_BOUNDS = 4
16
16
  }
17
17
  interface ServeOpts extends InPlayEventOpts {
18
- readonly type: ServeType;
19
- readonly failure: ServeFailure;
18
+ readonly type: ServeTypeEnum;
19
+ readonly failure: ServeFailureEnum;
20
20
  }
21
21
  export declare class Serve extends InPlayEvent {
22
- readonly failure: ServeFailure;
23
- readonly type: ServeType;
24
- constructor({ id, order, score, player, target, failure, type, eventType, modifier }: ServeOpts);
25
- static getScore(stats: PerformanceStats, type: ServeType, modifier: number): number;
22
+ readonly failure: ServeFailureEnum;
23
+ readonly type: ServeTypeEnum;
24
+ constructor({ id, order, score, player, target, failure, type, eventType, modifier, activeTraits }: ServeOpts);
25
+ static getScore(stats: PerformanceStats, type: ServeTypeEnum, modifier: number): number;
26
26
  }
27
27
  export {};
@@ -1,27 +1,27 @@
1
1
  import { InPlayEvent } from './in-play-event';
2
- export var ServeType;
3
- (function (ServeType) {
4
- ServeType[ServeType["UNDERHAND"] = 0] = "UNDERHAND";
5
- ServeType[ServeType["OVERHAND_TOPSPIN"] = 1] = "OVERHAND_TOPSPIN";
6
- ServeType[ServeType["OVERHAND_FLOAT"] = 2] = "OVERHAND_FLOAT";
7
- ServeType[ServeType["JUMP_TOPSPIN"] = 3] = "JUMP_TOPSPIN";
8
- ServeType[ServeType["JUMP_FLOAT"] = 4] = "JUMP_FLOAT";
9
- })(ServeType || (ServeType = {}));
10
- export var ServeFailure;
11
- (function (ServeFailure) {
12
- ServeFailure[ServeFailure["NO_FAILURE"] = 0] = "NO_FAILURE";
13
- ServeFailure[ServeFailure["FAULT"] = 1] = "FAULT";
14
- ServeFailure[ServeFailure["MISS"] = 2] = "MISS";
15
- ServeFailure[ServeFailure["NET"] = 3] = "NET";
16
- ServeFailure[ServeFailure["OUT_OF_BOUNDS"] = 4] = "OUT_OF_BOUNDS";
17
- })(ServeFailure || (ServeFailure = {}));
2
+ export var ServeTypeEnum;
3
+ (function (ServeTypeEnum) {
4
+ ServeTypeEnum[ServeTypeEnum["UNDERHAND"] = 0] = "UNDERHAND";
5
+ ServeTypeEnum[ServeTypeEnum["OVERHAND_TOPSPIN"] = 1] = "OVERHAND_TOPSPIN";
6
+ ServeTypeEnum[ServeTypeEnum["OVERHAND_FLOAT"] = 2] = "OVERHAND_FLOAT";
7
+ ServeTypeEnum[ServeTypeEnum["JUMP_TOPSPIN"] = 3] = "JUMP_TOPSPIN";
8
+ ServeTypeEnum[ServeTypeEnum["JUMP_FLOAT"] = 4] = "JUMP_FLOAT";
9
+ })(ServeTypeEnum || (ServeTypeEnum = {}));
10
+ export var ServeFailureEnum;
11
+ (function (ServeFailureEnum) {
12
+ ServeFailureEnum[ServeFailureEnum["NO_FAILURE"] = 0] = "NO_FAILURE";
13
+ ServeFailureEnum[ServeFailureEnum["FAULT"] = 1] = "FAULT";
14
+ ServeFailureEnum[ServeFailureEnum["MISS"] = 2] = "MISS";
15
+ ServeFailureEnum[ServeFailureEnum["NET"] = 3] = "NET";
16
+ ServeFailureEnum[ServeFailureEnum["OUT_OF_BOUNDS"] = 4] = "OUT_OF_BOUNDS";
17
+ })(ServeFailureEnum || (ServeFailureEnum = {}));
18
18
  export class Serve extends InPlayEvent {
19
- constructor({ id, order, score, player, target, failure, type, eventType, modifier }) {
20
- super({ id, order, score, player, target, eventType, modifier });
19
+ constructor({ id, order, score, player, target, failure, type, eventType, modifier, activeTraits }) {
20
+ super({ id, order, score, player, target, eventType, modifier, activeTraits });
21
21
  this.type = type;
22
22
  this.failure = failure;
23
23
  }
24
24
  static getScore(stats, type, modifier) {
25
- return Serve.calculateScore(stats, 'SERVE', ServeType[type]) * modifier;
25
+ return Serve.calculateScore(stats, 'SERVE', ServeTypeEnum[type]) * modifier;
26
26
  }
27
27
  }