volleyballsimtypes 0.0.98 → 0.0.100

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 (63) hide show
  1. package/dist/cjs/src/api/events.d.ts +0 -2
  2. package/dist/cjs/src/data/init-models.js +0 -13
  3. package/dist/cjs/src/data/models/block.d.ts +1 -28
  4. package/dist/cjs/src/data/models/block.js +0 -8
  5. package/dist/cjs/src/data/models/index.d.ts +0 -1
  6. package/dist/cjs/src/data/models/index.js +0 -1
  7. package/dist/cjs/src/data/models/reception.d.ts +1 -28
  8. package/dist/cjs/src/data/models/reception.js +0 -8
  9. package/dist/cjs/src/data/models/serve.d.ts +1 -28
  10. package/dist/cjs/src/data/models/serve.js +0 -8
  11. package/dist/cjs/src/data/models/set.d.ts +1 -28
  12. package/dist/cjs/src/data/models/set.js +0 -8
  13. package/dist/cjs/src/data/models/spike.d.ts +1 -28
  14. package/dist/cjs/src/data/models/spike.js +0 -8
  15. package/dist/cjs/src/data/models/trait.d.ts +1 -23
  16. package/dist/cjs/src/data/models/trait.js +0 -20
  17. package/dist/cjs/src/data/transformers/block.js +4 -14
  18. package/dist/cjs/src/data/transformers/reception.js +4 -14
  19. package/dist/cjs/src/data/transformers/serve.js +4 -14
  20. package/dist/cjs/src/data/transformers/set.js +5 -15
  21. package/dist/cjs/src/data/transformers/spike.js +4 -14
  22. package/dist/cjs/src/data/transformers/trait.js +1 -6
  23. package/dist/cjs/src/service/match/__stubs__/index.js +0 -3
  24. package/dist/cjs/src/service/match/match-set.d.ts +0 -11
  25. package/dist/cjs/src/service/match/match-set.js +1 -30
  26. package/dist/cjs/src/service/match/match-set.test.js +0 -50
  27. package/dist/cjs/src/service/match/rally.d.ts +1 -15
  28. package/dist/cjs/src/service/match/rally.js +3 -31
  29. package/dist/cjs/src/service/match/rally.test.js +3 -50
  30. package/dist/esm/src/api/events.d.ts +0 -2
  31. package/dist/esm/src/data/init-models.js +1 -14
  32. package/dist/esm/src/data/models/block.d.ts +1 -28
  33. package/dist/esm/src/data/models/block.js +0 -8
  34. package/dist/esm/src/data/models/index.d.ts +0 -1
  35. package/dist/esm/src/data/models/index.js +0 -1
  36. package/dist/esm/src/data/models/reception.d.ts +1 -28
  37. package/dist/esm/src/data/models/reception.js +0 -8
  38. package/dist/esm/src/data/models/serve.d.ts +1 -28
  39. package/dist/esm/src/data/models/serve.js +0 -8
  40. package/dist/esm/src/data/models/set.d.ts +1 -28
  41. package/dist/esm/src/data/models/set.js +0 -8
  42. package/dist/esm/src/data/models/spike.d.ts +1 -28
  43. package/dist/esm/src/data/models/spike.js +0 -8
  44. package/dist/esm/src/data/models/trait.d.ts +1 -23
  45. package/dist/esm/src/data/models/trait.js +0 -20
  46. package/dist/esm/src/data/transformers/block.js +5 -15
  47. package/dist/esm/src/data/transformers/reception.js +5 -15
  48. package/dist/esm/src/data/transformers/serve.js +5 -15
  49. package/dist/esm/src/data/transformers/set.js +6 -16
  50. package/dist/esm/src/data/transformers/spike.js +5 -15
  51. package/dist/esm/src/data/transformers/trait.js +1 -6
  52. package/dist/esm/src/service/match/__stubs__/index.js +0 -3
  53. package/dist/esm/src/service/match/match-set.d.ts +0 -11
  54. package/dist/esm/src/service/match/match-set.js +0 -29
  55. package/dist/esm/src/service/match/match-set.test.js +1 -51
  56. package/dist/esm/src/service/match/rally.d.ts +1 -15
  57. package/dist/esm/src/service/match/rally.js +1 -29
  58. package/dist/esm/src/service/match/rally.test.js +2 -49
  59. package/package.json +1 -1
  60. package/dist/cjs/src/data/models/event-trait.d.ts +0 -50
  61. package/dist/cjs/src/data/models/event-trait.js +0 -77
  62. package/dist/esm/src/data/models/event-trait.d.ts +0 -50
  63. package/dist/esm/src/data/models/event-trait.js +0 -73
@@ -1,5 +1,5 @@
1
1
  import { Set, SetFailureEnum, SetTypeEnum } from '../../service';
2
- import { transformFromCourtTarget, transformFromEventType, transformToCourtTarget, transformToEventType, transformToPlayer, transformToTrait } from '.';
2
+ import { transformFromCourtTarget, transformFromEventType, transformToCourtTarget, transformToEventType, transformToPlayer } from '.';
3
3
  function transformToSetFailure(failure) {
4
4
  switch (failure) {
5
5
  case SetFailureEnum.NO_FAILURE:
@@ -37,23 +37,15 @@ function transformFromSetType(type) {
37
37
  return SetTypeEnum[type];
38
38
  }
39
39
  function transformToAttributes(event, rallyId) {
40
- const eventTraits = event.activeTraits.map(trait => ({
41
- event_id: event.id,
42
- set_id: event.id,
43
- trait_id: trait.id
44
- }));
45
40
  return {
46
41
  event_id: event.id,
47
42
  player_id: event.player.id,
48
43
  rally_id: rallyId,
49
44
  order: event.order,
50
- modifier: event.modifier,
51
- score: event.score,
52
45
  target: transformFromCourtTarget(event.target),
53
46
  failure: transformToSetFailure(event.failure),
54
47
  type: transformToSetType(event.type),
55
- event_type: transformFromEventType(event.eventType),
56
- EventTraits: eventTraits
48
+ event_type: transformFromEventType(event.eventType)
57
49
  };
58
50
  }
59
51
  function transformToObject(set) {
@@ -64,10 +56,10 @@ function transformToObject(set) {
64
56
  type: transformFromSetType(set.type),
65
57
  player: transformToPlayer(set.player),
66
58
  target: transformToCourtTarget(set.target),
67
- modifier: set.modifier,
68
59
  order: set.order,
69
- score: set.score,
70
- activeTraits: set.Traits.map(transformToTrait)
60
+ modifier: 1,
61
+ score: 1,
62
+ activeTraits: []
71
63
  });
72
64
  }
73
65
  function transformToAPIObject(event) {
@@ -78,9 +70,7 @@ function transformToAPIObject(event) {
78
70
  type: transformFromSetType(event.type),
79
71
  playerId: event.player_id,
80
72
  target: transformToCourtTarget(event.target),
81
- modifier: event.modifier,
82
- order: event.order,
83
- score: event.score
73
+ order: event.order
84
74
  };
85
75
  }
86
76
  export { transformToObject as transformToSet, transformToAPIObject as transformToAPISet, transformToAttributes as transformFromSet };
@@ -1,5 +1,5 @@
1
1
  import { Spike, SpikeFailureEnum, SpikeTypeEnum } from '../../service';
2
- import { transformFromCourtTarget, transformFromEventType, transformToCourtTarget, transformToEventType, transformToPlayer, transformToTrait } from '.';
2
+ import { transformFromCourtTarget, transformFromEventType, transformToCourtTarget, transformToEventType, transformToPlayer } from '.';
3
3
  function transformToSpikeFailure(failure) {
4
4
  switch (failure) {
5
5
  case SpikeFailureEnum.NO_FAILURE:
@@ -41,23 +41,15 @@ function transformFromSpikeType(type) {
41
41
  return SpikeTypeEnum[type];
42
42
  }
43
43
  function transformToAttributes(event, rallyId) {
44
- const eventTraits = event.activeTraits.map(trait => ({
45
- event_id: event.id,
46
- spike_id: event.id,
47
- trait_id: trait.id
48
- }));
49
44
  return {
50
45
  event_id: event.id,
51
46
  player_id: event.player.id,
52
47
  rally_id: rallyId,
53
48
  order: event.order,
54
- modifier: event.modifier,
55
- score: event.score,
56
49
  target: transformFromCourtTarget(event.target),
57
50
  failure: transformToSpikeFailure(event.failure),
58
51
  type: transformToSpikeType(event.type),
59
- event_type: transformFromEventType(event.eventType),
60
- EventTraits: eventTraits
52
+ event_type: transformFromEventType(event.eventType)
61
53
  };
62
54
  }
63
55
  function transformToObject(spike) {
@@ -68,10 +60,10 @@ function transformToObject(spike) {
68
60
  type: transformFromSpikeType(spike.type),
69
61
  player: transformToPlayer(spike.player),
70
62
  target: transformToCourtTarget(spike.target),
71
- modifier: spike.modifier,
72
63
  order: spike.order,
73
- score: spike.score,
74
- activeTraits: spike.Traits.map(transformToTrait)
64
+ modifier: 1,
65
+ score: 1,
66
+ activeTraits: []
75
67
  });
76
68
  }
77
69
  function transformToAPIObject(event) {
@@ -82,9 +74,7 @@ function transformToAPIObject(event) {
82
74
  type: transformFromSpikeType(event.type),
83
75
  playerId: event.player_id,
84
76
  target: transformToCourtTarget(event.target),
85
- modifier: event.modifier,
86
77
  order: event.order,
87
- score: event.score
88
78
  };
89
79
  }
90
80
  export { transformToObject as transformToSpike, transformToAPIObject as transformToAPISpike, transformToAttributes as transformFromSpike };
@@ -3,12 +3,7 @@ import { APITrait } from '../../api';
3
3
  function transformToAttributes(trait) {
4
4
  return {
5
5
  trait_id: trait.id,
6
- name: trait.name,
7
- modifier: trait.modifier,
8
- chance: trait.chance,
9
- weight: trait.weight,
10
- threshold: trait.statThreshold,
11
- general_stat: trait.stat
6
+ name: trait.name
12
7
  };
13
8
  }
14
9
  function transformToAPIObject(model) {
@@ -38,11 +38,9 @@ export const finishedSet = (() => {
38
38
  homeLibero: libero,
39
39
  awayLibero: libero
40
40
  });
41
- set.nextState();
42
41
  for (let i = 0; i < 25; i++) {
43
42
  set.increaseScore(MatchTeam.HOME);
44
43
  }
45
- set.nextState();
46
44
  return set;
47
45
  })();
48
46
  export const inProgressSet = (() => {
@@ -57,7 +55,6 @@ export const inProgressSet = (() => {
57
55
  homeLibero: libero,
58
56
  awayLibero: libero
59
57
  });
60
- set.nextState();
61
58
  for (let i = 0; i < 20; i++) {
62
59
  set.increaseScore(MatchTeam.AWAY);
63
60
  }
@@ -1,14 +1,6 @@
1
1
  import { Rally } from './rally';
2
2
  import { MatchTeam } from './match-team';
3
3
  import { Player } from '../player';
4
- export declare enum MatchSetState {
5
- NEW = 0,
6
- IN_PLAY = 1,
7
- FINISHED = 2
8
- }
9
- export declare namespace MatchSetState {
10
- function nextState(state: number): MatchSetState;
11
- }
12
4
  interface MatchSetOpts {
13
5
  readonly id: string;
14
6
  readonly order: number;
@@ -50,9 +42,7 @@ export declare class MatchSet {
50
42
  private readonly scoreThreshold;
51
43
  private homeScore;
52
44
  private awayScore;
53
- private _state;
54
45
  constructor({ id, order, isTieBreak, homeLibero, awayLibero, stats, rallies, homeScore, awayScore }: MatchSetOpts);
55
- get state(): MatchSetState;
56
46
  getHomeScore(): number;
57
47
  getAwayScore(): number;
58
48
  increaseScore(team: MatchTeam): void;
@@ -62,7 +52,6 @@ export declare class MatchSet {
62
52
  * @returns boolean
63
53
  */
64
54
  isOver(): boolean;
65
- nextState(): void;
66
55
  /**
67
56
  * Get the team that won the Set. Return undefined if set is not over.
68
57
  * @returns CourtTeam
@@ -1,22 +1,5 @@
1
1
  import { validateUUID } from '../utils';
2
2
  import { MatchTeam } from './match-team';
3
- export var MatchSetState;
4
- (function (MatchSetState) {
5
- MatchSetState[MatchSetState["NEW"] = 0] = "NEW";
6
- MatchSetState[MatchSetState["IN_PLAY"] = 1] = "IN_PLAY";
7
- MatchSetState[MatchSetState["FINISHED"] = 2] = "FINISHED";
8
- })(MatchSetState || (MatchSetState = {}));
9
- // eslint-disable-next-line @typescript-eslint/no-namespace
10
- (function (MatchSetState) {
11
- function nextState(state) {
12
- if (state < 0 || state > 2)
13
- throw new Error('STATE_INDEX_OUT_OF_BOUNDS');
14
- if (state === 2)
15
- throw new Error(`CANT_GET_STATE_AFTER: ${MatchSetState[state]}`);
16
- return state + 1;
17
- }
18
- MatchSetState.nextState = nextState;
19
- })(MatchSetState || (MatchSetState = {}));
20
3
  var ScoreThreshold;
21
4
  (function (ScoreThreshold) {
22
5
  ScoreThreshold[ScoreThreshold["SET"] = 25] = "SET";
@@ -35,10 +18,6 @@ export class MatchSet {
35
18
  this.rallies = rallies;
36
19
  this.isTieBreak = isTieBreak;
37
20
  this.scoreThreshold = isTieBreak ? ScoreThreshold.TIE_BREAK : ScoreThreshold.SET;
38
- this._state = MatchSetState.NEW;
39
- }
40
- get state() {
41
- return this._state;
42
21
  }
43
22
  getHomeScore() {
44
23
  return this.homeScore;
@@ -47,8 +26,6 @@ export class MatchSet {
47
26
  return this.awayScore;
48
27
  }
49
28
  increaseScore(team) {
50
- if (this._state !== MatchSetState.IN_PLAY || this.isOver())
51
- throw new Error('CANNOT_INCREASE_SCORE_OF_SET');
52
29
  if (team === MatchTeam.HOME)
53
30
  this.homeScore++;
54
31
  else if (team === MatchTeam.AWAY)
@@ -67,12 +44,6 @@ export class MatchSet {
67
44
  return Math.abs(this.homeScore - this.awayScore) > 1 &&
68
45
  (this.homeScore >= this.scoreThreshold || this.awayScore >= this.scoreThreshold);
69
46
  }
70
- nextState() {
71
- if (this._state === 1 && !this.isOver()) {
72
- throw new Error('CANNOT_ADVANCE_SET_STATE');
73
- }
74
- this._state = MatchSetState.nextState(this._state);
75
- }
76
47
  /**
77
48
  * Get the team that won the Set. Return undefined if set is not over.
78
49
  * @returns CourtTeam
@@ -1,5 +1,5 @@
1
1
  import { describe, expect, test } from '@jest/globals';
2
- import { MatchSet, MatchSetState } from './match-set';
2
+ import { MatchSet } from './match-set';
3
3
  import { MatchTeam } from './match-team';
4
4
  import { newRally } from './__stubs__';
5
5
  import { libero } from '../player/__stubs__';
@@ -33,25 +33,21 @@ describe('MatchSet Test Module', () => {
33
33
  test('Should instantiate object properly', () => {
34
34
  expect(set.id).toBe('4a8d1149-0157-461c-afb4-8a2d9776da5a');
35
35
  expect(set.rallies.length).toBe(0);
36
- expect(set.state).toBe(0);
37
36
  expect(set.getHomeScore()).toBe(0);
38
37
  expect(set.getAwayScore()).toBe(0);
39
38
  });
40
39
  // increaseScore Tests
41
40
  test('Should increase score of home team', () => {
42
- set.nextState();
43
41
  expect(set.getHomeScore).toBe(0);
44
42
  set.increaseScore(MatchTeam.HOME);
45
43
  expect(set.getHomeScore).toBe(1);
46
44
  });
47
45
  test('Should increase score of away team', () => {
48
- set.nextState();
49
46
  expect(set.getAwayScore).toBe(0);
50
47
  set.increaseScore(MatchTeam.AWAY);
51
48
  expect(set.getAwayScore).toBe(1);
52
49
  });
53
50
  test('Should throw Error when trying to increase score of finished set', () => {
54
- set.nextState();
55
51
  for (let i = 0; i < 25; i++)
56
52
  set.increaseScore(MatchTeam.HOME);
57
53
  function fin1() { set.increaseScore(MatchTeam.HOME); }
@@ -60,7 +56,6 @@ describe('MatchSet Test Module', () => {
60
56
  expect(fin2).toThrow(/^CANNOT_INCREASE_SCORE_OF_SET$/);
61
57
  });
62
58
  test('Should throw Error when providing invalid team', () => {
63
- set.nextState();
64
59
  // @ts-expect-error
65
60
  function fin() { set.increaseScore(MatchTeam.OTHER); }
66
61
  expect(fin).toThrow(/^UNKNOWN_TEAM$/);
@@ -73,14 +68,12 @@ describe('MatchSet Test Module', () => {
73
68
  });
74
69
  // isOver Tests
75
70
  test('Should return true for team reaching point threshold', () => {
76
- set.nextState();
77
71
  expect(set.isOver()).toBe(false);
78
72
  for (let i = 0; i < 25; i++)
79
73
  set.increaseScore(MatchTeam.HOME);
80
74
  expect(set.isOver()).toBe(true);
81
75
  });
82
76
  test('Should return true for both teams reaching point threshold and point difference greater than 1', () => {
83
- set.nextState();
84
77
  for (let i = 0; i < 25; i++) {
85
78
  set.increaseScore(MatchTeam.HOME);
86
79
  set.increaseScore(MatchTeam.AWAY);
@@ -91,60 +84,17 @@ describe('MatchSet Test Module', () => {
91
84
  set.increaseScore(MatchTeam.HOME);
92
85
  expect(set.isOver()).toBe(true);
93
86
  });
94
- // nextState Tests
95
- test('Should advance to in play', () => {
96
- expect(set.state).toBe(0);
97
- set.nextState();
98
- expect(set.state).toBe(1);
99
- });
100
- test('Should throw Error if in play and set not over', () => {
101
- set.nextState();
102
- function fin() { set.nextState(); }
103
- expect(fin).toThrow(/^CANNOT_ADVANCE_SET_STATE$/);
104
- });
105
- test('Should advance to FINISHED if set is over', () => {
106
- set.nextState();
107
- for (let i = 0; i < 25; i++)
108
- set.increaseScore(MatchTeam.HOME);
109
- set.nextState();
110
- expect(set.state).toBe(2);
111
- });
112
- test('Should throw Error when trying to transition from FINISHED state', () => {
113
- set.nextState();
114
- for (let i = 0; i < 25; i++)
115
- set.increaseScore(MatchTeam.HOME);
116
- set.nextState();
117
- function fin() { set.nextState(); }
118
- expect(fin).toThrow(/^CANT_GET_STATE_AFTER: FINISHED$/);
119
- });
120
87
  // getWinner Tests
121
88
  test('Should throw Error when getting winner of unfinished set', () => {
122
89
  function fin() { set.getWinner(); }
123
90
  expect(fin).toThrow(/^UNFINISHED_SET$/);
124
91
  });
125
92
  test('Should get correct set winner', () => {
126
- set.nextState();
127
93
  for (let i = 0; i < 25; i++)
128
94
  set.increaseScore(MatchTeam.HOME);
129
95
  expect(set.getWinner()).toBe(MatchTeam.HOME);
130
- tieBreakSet.nextState();
131
96
  for (let i = 0; i < 15; i++)
132
97
  tieBreakSet.increaseScore(MatchTeam.AWAY);
133
98
  expect(tieBreakSet.getWinner()).toBe(MatchTeam.AWAY);
134
99
  });
135
- // MatchSetState Tests
136
- test('Should get next state', () => {
137
- expect(MatchSetState.nextState(0)).toBe(1);
138
- expect(MatchSetState.nextState(1)).toBe(2);
139
- });
140
- test('Should throw Error for state outside range', () => {
141
- function fn1() { MatchSetState.nextState(-1); }
142
- function fn2() { MatchSetState.nextState(3); }
143
- expect(fn1).toThrow(/^STATE_INDEX_OUT_OF_BOUNDS$/);
144
- expect(fn2).toThrow(/^STATE_INDEX_OUT_OF_BOUNDS$/);
145
- });
146
- test('Should throw Error for last state', () => {
147
- function fn() { MatchSetState.nextState(2); }
148
- expect(fn).toThrow(/^CANT_GET_STATE_AFTER: FINISHED$/);
149
- });
150
100
  });
@@ -1,7 +1,6 @@
1
1
  import { Team } from '../team';
2
2
  import { CourtPosition } from './court-position';
3
- import { RallyEvent } from '../event/rally-event';
4
- import { Score } from '../event/score';
3
+ import { RallyEvent, Score } from '../event';
5
4
  interface RallyOpts {
6
5
  readonly id: string;
7
6
  readonly order: number;
@@ -14,15 +13,6 @@ export interface PlayerPosition {
14
13
  position: CourtPosition;
15
14
  playerId: string;
16
15
  }
17
- export declare enum RallyState {
18
- NEW = 0,
19
- MANAGEMENT = 1,
20
- IN_PLAY = 2,
21
- FINISHED = 3
22
- }
23
- export declare namespace RallyState {
24
- function nextState(state: number): RallyState;
25
- }
26
16
  export declare class Rally {
27
17
  readonly id: string;
28
18
  readonly servingTeam: Team;
@@ -30,12 +20,8 @@ export declare class Rally {
30
20
  readonly homePlayerPosition: PlayerPosition[];
31
21
  readonly awayPlayerPosition: PlayerPosition[];
32
22
  readonly order: number;
33
- private _state;
34
23
  constructor({ id, order, servingTeam, homePlayerPosition, awayPlayerPosition, events }: RallyOpts);
35
- get state(): RallyState;
36
24
  get score(): Score | undefined;
37
- isOver(): boolean;
38
25
  addEvent(event: RallyEvent): void;
39
- nextState(): void;
40
26
  }
41
27
  export {};
@@ -1,23 +1,5 @@
1
1
  import { validateUUID } from '../utils';
2
- import { EventTypeEnum } from '../event/rally-event';
3
- export var RallyState;
4
- (function (RallyState) {
5
- RallyState[RallyState["NEW"] = 0] = "NEW";
6
- RallyState[RallyState["MANAGEMENT"] = 1] = "MANAGEMENT";
7
- RallyState[RallyState["IN_PLAY"] = 2] = "IN_PLAY";
8
- RallyState[RallyState["FINISHED"] = 3] = "FINISHED";
9
- })(RallyState || (RallyState = {}));
10
- // eslint-disable-next-line @typescript-eslint/no-namespace
11
- (function (RallyState) {
12
- function nextState(state) {
13
- if (state < 0 || state > 3)
14
- throw new Error('STATE_INDEX_OUT_OF_BOUNDS');
15
- if (state === 3)
16
- throw new Error(`CANT_GET_STATE_AFTER: ${RallyState[state]}`);
17
- return state + 1;
18
- }
19
- RallyState.nextState = nextState;
20
- })(RallyState || (RallyState = {}));
2
+ import { EventTypeEnum } from '../event';
21
3
  export class Rally {
22
4
  constructor({ id, order, servingTeam, homePlayerPosition, awayPlayerPosition, events }) {
23
5
  validateUUID(id);
@@ -27,21 +9,11 @@ export class Rally {
27
9
  this.homePlayerPosition = homePlayerPosition;
28
10
  this.awayPlayerPosition = awayPlayerPosition;
29
11
  this.events = events;
30
- this._state = RallyState.NEW;
31
- }
32
- get state() {
33
- return this._state;
34
12
  }
35
13
  get score() {
36
14
  return this.events.find(e => e.eventType === EventTypeEnum.SCORE);
37
15
  }
38
- isOver() {
39
- return this._state === RallyState.FINISHED;
40
- }
41
16
  addEvent(event) {
42
17
  this.events.push(event);
43
18
  }
44
- nextState() {
45
- this._state = RallyState.nextState(this._state);
46
- }
47
19
  }
@@ -1,7 +1,7 @@
1
1
  import { describe, expect, test } from '@jest/globals';
2
- import { Rally, RallyState } from './rally';
2
+ import { Rally } from './rally';
3
3
  import { score, serve } from '../event/__stubs__';
4
- import { EventTypeEnum } from '../event/rally-event';
4
+ import { EventTypeEnum } from '../event';
5
5
  import { team } from '../team/__stubs__';
6
6
  describe('Rally Test Module', () => {
7
7
  let rally;
@@ -19,26 +19,6 @@ describe('Rally Test Module', () => {
19
19
  expect(rally.id).toBe('0ac3ba3a-d710-42dc-a1e7-7066b8df5fd9');
20
20
  expect(rally.servingTeam.id).toBe('426b5b9b-5be7-4963-92eb-71b7a3b29ffd');
21
21
  expect(rally.events.length).toBe(0);
22
- expect(rally.state).toBe(0);
23
- });
24
- // nextState Tests
25
- test('Should cycle through states correctly', () => {
26
- expect(rally.state).toBe(0);
27
- rally.nextState();
28
- expect(rally.state).toBe(1);
29
- rally.nextState();
30
- expect(rally.state).toBe(2);
31
- rally.nextState();
32
- expect(rally.state).toBe(3);
33
- });
34
- test('Should throw Error when trying to get next state after FINISHED', () => {
35
- function state() {
36
- rally.nextState();
37
- rally.nextState();
38
- rally.nextState();
39
- rally.nextState();
40
- }
41
- expect(state).toThrow(/^CANT_GET_STATE_AFTER: FINISHED$/);
42
22
  });
43
23
  // addEvent Tests
44
24
  test('Should add event to event array', () => {
@@ -46,18 +26,6 @@ describe('Rally Test Module', () => {
46
26
  rally.addEvent(serve);
47
27
  expect(rally.events.at(-1)?.eventType).toBe(EventTypeEnum.SERVE);
48
28
  });
49
- // isOver Tests
50
- test('Should return false if rally state is not FINISHED', () => {
51
- expect(rally.state).toBe(0);
52
- expect(rally.isOver()).toBe(false);
53
- });
54
- test('Should return true if rally state is FINISHED', () => {
55
- rally.nextState();
56
- rally.nextState();
57
- rally.nextState();
58
- expect(rally.state).toBe(3);
59
- expect(rally.isOver()).toBe(true);
60
- });
61
29
  // getScore Tests
62
30
  test('Should return undefined if events array does not contain a Score', () => {
63
31
  rally.addEvent(serve);
@@ -68,19 +36,4 @@ describe('Rally Test Module', () => {
68
36
  expect(rally.score).not.toBeUndefined();
69
37
  expect(rally.score?.eventType).toBe(EventTypeEnum.SCORE);
70
38
  });
71
- // RallyState Tests
72
- test('Should get next state', () => {
73
- expect(RallyState.nextState(0)).toBe(1);
74
- expect(RallyState.nextState(1)).toBe(2);
75
- });
76
- test('Should throw Error for state outside range', () => {
77
- function fn1() { RallyState.nextState(-1); }
78
- function fn2() { RallyState.nextState(4); }
79
- expect(fn1).toThrow(/^STATE_INDEX_OUT_OF_BOUNDS$/);
80
- expect(fn2).toThrow(/^STATE_INDEX_OUT_OF_BOUNDS$/);
81
- });
82
- test('Should throw Error for last state', () => {
83
- function fn() { RallyState.nextState(3); }
84
- expect(fn).toThrow(/^CANT_GET_STATE_AFTER: FINISHED$/);
85
- });
86
39
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "volleyballsimtypes",
3
- "version": "0.0.98",
3
+ "version": "0.0.100",
4
4
  "description": "vbsim types",
5
5
  "main": "./dist/cjs/src/index.js",
6
6
  "module": "./dist/esm/src/index.js",
@@ -1,50 +0,0 @@
1
- import * as Sequelize from 'sequelize';
2
- import { Model, Optional } from 'sequelize';
3
- import type { BlockId, BlockModel, ReceptionId, ReceptionModel, ServeId, ServeModel, SetId, SetModel, SpikeId, SpikeModel, TraitId, TraitModel } from '.';
4
- export interface EventTraitAttributes {
5
- block_id?: string;
6
- reception_id?: string;
7
- serve_id?: string;
8
- set_id?: string;
9
- spike_id?: string;
10
- event_id: string;
11
- trait_id: string;
12
- }
13
- export type EventTraitPk = 'event_id' | 'trait_id';
14
- export type EventTraitId = EventTraitModel[EventTraitPk];
15
- export type EventTraitOptionalAttributes = 'block_id' | 'reception_id' | 'serve_id' | 'set_id' | 'spike_id';
16
- export type EventTraitCreationAttributes = Optional<EventTraitAttributes, EventTraitOptionalAttributes>;
17
- export declare class EventTraitModel extends Model<EventTraitAttributes, EventTraitCreationAttributes> implements EventTraitAttributes {
18
- block_id?: string;
19
- reception_id?: string;
20
- serve_id?: string;
21
- set_id?: string;
22
- spike_id?: string;
23
- event_id: string;
24
- trait_id: string;
25
- Block: BlockModel;
26
- getBlock: Sequelize.BelongsToGetAssociationMixin<BlockModel>;
27
- setBlock: Sequelize.BelongsToSetAssociationMixin<BlockModel, BlockId>;
28
- createBlock: Sequelize.BelongsToCreateAssociationMixin<BlockModel>;
29
- Reception: ReceptionModel;
30
- getReception: Sequelize.BelongsToGetAssociationMixin<ReceptionModel>;
31
- setReception: Sequelize.BelongsToSetAssociationMixin<ReceptionModel, ReceptionId>;
32
- createReception: Sequelize.BelongsToCreateAssociationMixin<ReceptionModel>;
33
- Serve: ServeModel;
34
- getServe: Sequelize.BelongsToGetAssociationMixin<ServeModel>;
35
- setServe: Sequelize.BelongsToSetAssociationMixin<ServeModel, ServeId>;
36
- createServe: Sequelize.BelongsToCreateAssociationMixin<ServeModel>;
37
- Set: SetModel;
38
- getSet: Sequelize.BelongsToGetAssociationMixin<SetModel>;
39
- setSet: Sequelize.BelongsToSetAssociationMixin<SetModel, SetId>;
40
- createSet: Sequelize.BelongsToCreateAssociationMixin<SetModel>;
41
- Spike: SpikeModel;
42
- getSpike: Sequelize.BelongsToGetAssociationMixin<SpikeModel>;
43
- setSpike: Sequelize.BelongsToSetAssociationMixin<SpikeModel, SpikeId>;
44
- createSpike: Sequelize.BelongsToCreateAssociationMixin<SpikeModel>;
45
- Trait: TraitModel;
46
- getTrait: Sequelize.BelongsToGetAssociationMixin<TraitModel>;
47
- setTrait: Sequelize.BelongsToSetAssociationMixin<TraitModel, TraitId>;
48
- createTrait: Sequelize.BelongsToCreateAssociationMixin<TraitModel>;
49
- static initModel(sequelize: Sequelize.Sequelize): typeof EventTraitModel;
50
- }
@@ -1,77 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EventTraitModel = void 0;
4
- const sequelize_1 = require("sequelize");
5
- class EventTraitModel extends sequelize_1.Model {
6
- static initModel(sequelize) {
7
- return EventTraitModel.init({
8
- block_id: {
9
- type: sequelize_1.DataTypes.UUID,
10
- allowNull: true,
11
- references: {
12
- model: 'Block',
13
- key: 'event_id'
14
- }
15
- },
16
- reception_id: {
17
- type: sequelize_1.DataTypes.UUID,
18
- allowNull: true,
19
- references: {
20
- model: 'Reception',
21
- key: 'event_id'
22
- }
23
- },
24
- serve_id: {
25
- type: sequelize_1.DataTypes.UUID,
26
- allowNull: true,
27
- references: {
28
- model: 'Serve',
29
- key: 'event_id'
30
- }
31
- },
32
- set_id: {
33
- type: sequelize_1.DataTypes.UUID,
34
- allowNull: true,
35
- references: {
36
- model: 'Set',
37
- key: 'event_id'
38
- }
39
- },
40
- spike_id: {
41
- type: sequelize_1.DataTypes.UUID,
42
- allowNull: true,
43
- references: {
44
- model: 'Spike',
45
- key: 'event_id'
46
- }
47
- },
48
- event_id: {
49
- type: sequelize_1.DataTypes.UUID,
50
- allowNull: false,
51
- primaryKey: true
52
- },
53
- trait_id: {
54
- type: sequelize_1.DataTypes.UUID,
55
- allowNull: false,
56
- references: {
57
- model: 'Trait',
58
- key: 'trait_id'
59
- }
60
- }
61
- }, {
62
- sequelize,
63
- tableName: 'EventTrait',
64
- schema: 'public',
65
- timestamps: false,
66
- indexes: [{
67
- name: 'eventtrait_pk',
68
- unique: true,
69
- fields: [
70
- { name: 'event_id' },
71
- { name: 'trait_id' }
72
- ]
73
- }]
74
- });
75
- }
76
- }
77
- exports.EventTraitModel = EventTraitModel;