volleyballsimtypes 0.0.166 → 0.0.167
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/data/init-models.js +0 -21
- package/dist/cjs/src/data/models/index.d.ts +0 -2
- package/dist/cjs/src/data/models/index.js +0 -2
- package/dist/cjs/src/data/models/performance-stats.d.ts +2 -0
- package/dist/cjs/src/data/models/performance-stats.js +5 -0
- package/dist/cjs/src/data/models/player.d.ts +8 -30
- package/dist/cjs/src/data/models/player.js +6 -2
- 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/performance-stats.js +4 -2
- package/dist/cjs/src/data/transformers/player.js +4 -3
- package/dist/cjs/src/index.d.ts +0 -1
- package/dist/cjs/src/index.js +0 -1
- package/dist/cjs/src/service/coach/formation.js +57 -57
- package/dist/cjs/src/service/player/index.d.ts +2 -1
- package/dist/cjs/src/service/player/index.js +2 -1
- package/dist/cjs/src/service/player/performance-stats.d.ts +1 -1
- package/dist/cjs/src/service/player/performance-stats.js +1 -1
- package/dist/cjs/src/service/player/player.d.ts +4 -5
- package/dist/cjs/src/service/player/player.js +21 -41
- package/dist/cjs/src/service/player/rarity.d.ts +4 -1
- package/dist/cjs/src/service/player/rarity.js +16 -14
- package/dist/cjs/src/service/player/role.d.ts +16 -15
- package/dist/cjs/src/service/player/role.js +43 -39
- package/dist/cjs/src/service/player/stats.d.ts +12 -0
- package/dist/cjs/src/{formula → service/player}/stats.js +18 -10
- package/dist/cjs/src/service/player/trait.d.ts +12 -19
- package/dist/cjs/src/service/player/trait.js +49 -140
- package/dist/cjs/src/{formula/role.formula.json → stat-config/roles.json} +10 -5
- package/dist/cjs/src/stat-config/traits.json +58 -0
- package/dist/esm/src/data/init-models.js +1 -22
- package/dist/esm/src/data/models/index.d.ts +0 -2
- package/dist/esm/src/data/models/index.js +0 -2
- package/dist/esm/src/data/models/performance-stats.d.ts +2 -0
- package/dist/esm/src/data/models/performance-stats.js +5 -0
- package/dist/esm/src/data/models/player.d.ts +8 -30
- package/dist/esm/src/data/models/player.js +7 -3
- 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/performance-stats.js +4 -2
- package/dist/esm/src/data/transformers/player.js +5 -4
- package/dist/esm/src/index.d.ts +0 -1
- package/dist/esm/src/index.js +0 -1
- package/dist/esm/src/service/coach/formation.js +58 -58
- package/dist/esm/src/service/player/index.d.ts +2 -1
- package/dist/esm/src/service/player/index.js +2 -1
- package/dist/esm/src/service/player/performance-stats.d.ts +1 -1
- package/dist/esm/src/service/player/performance-stats.js +1 -1
- package/dist/esm/src/service/player/player.d.ts +4 -5
- package/dist/esm/src/service/player/player.js +21 -18
- package/dist/esm/src/service/player/rarity.d.ts +4 -1
- package/dist/esm/src/service/player/rarity.js +15 -13
- package/dist/esm/src/service/player/role.d.ts +16 -15
- package/dist/esm/src/service/player/role.js +37 -37
- package/dist/esm/src/service/player/stats.d.ts +12 -0
- package/dist/esm/src/{formula → service/player}/stats.js +16 -8
- package/dist/esm/src/service/player/trait.d.ts +12 -19
- package/dist/esm/src/service/player/trait.js +46 -117
- package/dist/esm/src/{formula/role.formula.json → stat-config/roles.json} +10 -5
- package/dist/esm/src/stat-config/traits.json +58 -0
- package/package.json +1 -1
- package/dist/cjs/src/data/models/player-trait.d.ts +0 -23
- package/dist/cjs/src/data/models/player-trait.js +0 -42
- package/dist/cjs/src/data/models/trait.d.ts +0 -37
- package/dist/cjs/src/data/models/trait.js +0 -30
- package/dist/cjs/src/data/transformers/role.d.ts +0 -5
- package/dist/cjs/src/data/transformers/role.js +0 -25
- package/dist/cjs/src/data/transformers/trait.d.ts +0 -5
- package/dist/cjs/src/data/transformers/trait.js +0 -19
- package/dist/cjs/src/formula/index.d.ts +0 -2
- package/dist/cjs/src/formula/index.js +0 -18
- package/dist/cjs/src/formula/roles.d.ts +0 -9
- package/dist/cjs/src/formula/roles.js +0 -9
- package/dist/cjs/src/formula/stats.d.ts +0 -6
- package/dist/esm/src/data/models/player-trait.d.ts +0 -23
- package/dist/esm/src/data/models/player-trait.js +0 -38
- package/dist/esm/src/data/models/trait.d.ts +0 -37
- package/dist/esm/src/data/models/trait.js +0 -26
- package/dist/esm/src/data/transformers/role.d.ts +0 -5
- package/dist/esm/src/data/transformers/role.js +0 -21
- package/dist/esm/src/data/transformers/trait.d.ts +0 -5
- package/dist/esm/src/data/transformers/trait.js +0 -15
- package/dist/esm/src/formula/index.d.ts +0 -2
- package/dist/esm/src/formula/index.js +0 -2
- package/dist/esm/src/formula/roles.d.ts +0 -9
- package/dist/esm/src/formula/roles.js +0 -3
- package/dist/esm/src/formula/stats.d.ts +0 -6
|
@@ -22,11 +22,9 @@ function initModels(sequelize) {
|
|
|
22
22
|
const PerformanceStats = models_1.PerformanceStatsModel.initModel(sequelize);
|
|
23
23
|
const Player = models_1.PlayerModel.initModel(sequelize);
|
|
24
24
|
const PlayerTeam = models_1.PlayerTeamModel.initModel(sequelize);
|
|
25
|
-
const PlayerTrait = models_1.PlayerTraitModel.initModel(sequelize);
|
|
26
25
|
const Rally = models_1.RallyModel.initModel(sequelize);
|
|
27
26
|
const SetPosition = models_1.SetPositionModel.initModel(sequelize);
|
|
28
27
|
const Team = models_1.TeamModel.initModel(sequelize);
|
|
29
|
-
const Trait = models_1.TraitModel.initModel(sequelize);
|
|
30
28
|
const User = models_1.UserModel.initModel(sequelize);
|
|
31
29
|
Coach.belongsTo(Country, { as: 'country', foreignKey: 'country_id' });
|
|
32
30
|
Coach.hasMany(Team, { as: 'Teams', foreignKey: 'coach_id' });
|
|
@@ -115,22 +113,13 @@ function initModels(sequelize) {
|
|
|
115
113
|
foreignKey: 'player_id',
|
|
116
114
|
otherKey: 'team_id'
|
|
117
115
|
});
|
|
118
|
-
Player.belongsToMany(Trait, {
|
|
119
|
-
as: 'Traits',
|
|
120
|
-
through: PlayerTrait,
|
|
121
|
-
foreignKey: 'player_id',
|
|
122
|
-
otherKey: 'trait_id'
|
|
123
|
-
});
|
|
124
116
|
Player.hasMany(MatchSetStats, { as: 'MatchSetStats', foreignKey: 'player_id' });
|
|
125
117
|
Player.hasMany(PlayerTeam, { as: 'PlayerTeams', foreignKey: 'player_id' });
|
|
126
|
-
Player.hasMany(PlayerTrait, { as: 'PlayerTraits', foreignKey: 'player_id' });
|
|
127
118
|
Player.hasMany(SetPosition, { as: 'SetPositions', foreignKey: 'player_id' });
|
|
128
119
|
Player.hasOne(DraftPick, { as: 'DraftPick', foreignKey: 'player_id' });
|
|
129
120
|
Player.hasOne(PerformanceStats, { as: 'PerformanceStat', foreignKey: 'player_id' });
|
|
130
121
|
PlayerTeam.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
|
|
131
122
|
PlayerTeam.belongsTo(Team, { as: 'team', foreignKey: 'team_id' });
|
|
132
|
-
PlayerTrait.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
|
|
133
|
-
PlayerTrait.belongsTo(Trait, { as: 'trait', foreignKey: 'trait_id' });
|
|
134
123
|
Rally.belongsTo(MatchSet, { as: 'matchSet', foreignKey: 'match_set_id' });
|
|
135
124
|
Rally.belongsTo(Team, { as: 'ServingTeam', foreignKey: 'serving_team' });
|
|
136
125
|
SetPosition.belongsTo(MatchSet, { as: 'matchSet', foreignKey: 'match_set_id' });
|
|
@@ -165,13 +154,6 @@ function initModels(sequelize) {
|
|
|
165
154
|
Team.hasMany(PlayerTeam, { as: 'PlayerTeams', foreignKey: 'team_id' });
|
|
166
155
|
Team.hasMany(Rally, { as: 'Rallies', foreignKey: 'serving_team' });
|
|
167
156
|
Team.hasMany(MatchResult, { as: 'WonMatches', foreignKey: 'winner_team_id' });
|
|
168
|
-
Trait.belongsToMany(Player, {
|
|
169
|
-
as: 'Players',
|
|
170
|
-
through: PlayerTrait,
|
|
171
|
-
foreignKey: 'trait_id',
|
|
172
|
-
otherKey: 'player_id'
|
|
173
|
-
});
|
|
174
|
-
Trait.hasMany(PlayerTrait, { as: 'PlayerTraits', foreignKey: 'trait_id' });
|
|
175
157
|
return {
|
|
176
158
|
Coach,
|
|
177
159
|
Competition,
|
|
@@ -181,7 +163,6 @@ function initModels(sequelize) {
|
|
|
181
163
|
Country,
|
|
182
164
|
Draft,
|
|
183
165
|
DraftPick,
|
|
184
|
-
Event,
|
|
185
166
|
Iteration,
|
|
186
167
|
League,
|
|
187
168
|
LeagueSeason,
|
|
@@ -193,11 +174,9 @@ function initModels(sequelize) {
|
|
|
193
174
|
PerformanceStats,
|
|
194
175
|
Player,
|
|
195
176
|
PlayerTeam,
|
|
196
|
-
PlayerTrait,
|
|
197
177
|
Rally,
|
|
198
178
|
SetPosition,
|
|
199
179
|
Team,
|
|
200
|
-
Trait,
|
|
201
180
|
User
|
|
202
181
|
};
|
|
203
182
|
}
|
|
@@ -17,9 +17,7 @@ export * from './match-set-stats';
|
|
|
17
17
|
export * from './performance-stats';
|
|
18
18
|
export * from './player';
|
|
19
19
|
export * from './player-team';
|
|
20
|
-
export * from './player-trait';
|
|
21
20
|
export * from './rally';
|
|
22
21
|
export * from './set-position';
|
|
23
22
|
export * from './team';
|
|
24
|
-
export * from './trait';
|
|
25
23
|
export * from './user';
|
|
@@ -33,9 +33,7 @@ __exportStar(require("./match-set-stats"), exports);
|
|
|
33
33
|
__exportStar(require("./performance-stats"), exports);
|
|
34
34
|
__exportStar(require("./player"), exports);
|
|
35
35
|
__exportStar(require("./player-team"), exports);
|
|
36
|
-
__exportStar(require("./player-trait"), exports);
|
|
37
36
|
__exportStar(require("./rally"), exports);
|
|
38
37
|
__exportStar(require("./set-position"), exports);
|
|
39
38
|
__exportStar(require("./team"), exports);
|
|
40
|
-
__exportStar(require("./trait"), exports);
|
|
41
39
|
__exportStar(require("./user"), exports);
|
|
@@ -20,6 +20,7 @@ export interface PerformanceStatsAttributes {
|
|
|
20
20
|
focus: number;
|
|
21
21
|
defense: number;
|
|
22
22
|
stamina: number;
|
|
23
|
+
saving: number;
|
|
23
24
|
}
|
|
24
25
|
export type PerformanceStatsPk = 'player_id';
|
|
25
26
|
export type PerformanceStatsId = PerformanceStatsModel[PerformanceStatsPk];
|
|
@@ -43,6 +44,7 @@ export declare class PerformanceStatsModel extends Model<PerformanceStatsAttribu
|
|
|
43
44
|
focus: number;
|
|
44
45
|
defense: number;
|
|
45
46
|
stamina: number;
|
|
47
|
+
saving: number;
|
|
46
48
|
player: PlayerModel;
|
|
47
49
|
getPlayer: Sequelize.BelongsToGetAssociationMixin<PlayerModel>;
|
|
48
50
|
setPlayer: Sequelize.BelongsToSetAssociationMixin<PlayerModel, PlayerId>;
|
|
@@ -98,6 +98,11 @@ class PerformanceStatsModel extends sequelize_1.Model {
|
|
|
98
98
|
type: sequelize_1.DataTypes.INTEGER,
|
|
99
99
|
allowNull: false,
|
|
100
100
|
defaultValue: 0
|
|
101
|
+
},
|
|
102
|
+
saving: {
|
|
103
|
+
type: sequelize_1.DataTypes.INTEGER,
|
|
104
|
+
allowNull: false,
|
|
105
|
+
defaultValue: 0
|
|
101
106
|
}
|
|
102
107
|
}, {
|
|
103
108
|
sequelize,
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import * as Sequelize from 'sequelize';
|
|
2
2
|
import { Model } from 'sequelize';
|
|
3
|
-
import { CountryId, CountryModel, DraftPickId, DraftPickModel, MatchSetId, MatchSetModel, MatchSetStatsAttributes, MatchSetStatsId, MatchSetStatsModel, PerformanceStatsAttributes, PerformanceStatsId, PerformanceStatsModel, PlayerTeamId, PlayerTeamModel,
|
|
4
|
-
import { Rarity } from '../../service';
|
|
3
|
+
import { CountryId, CountryModel, DraftPickId, DraftPickModel, MatchSetId, MatchSetModel, MatchSetStatsAttributes, MatchSetStatsId, MatchSetStatsModel, PerformanceStatsAttributes, PerformanceStatsId, PerformanceStatsModel, PlayerTeamId, PlayerTeamModel, SetPositionId, SetPositionModel, TeamId, TeamModel } from '.';
|
|
4
|
+
import { Rarity, Role, Trait } from '../../service';
|
|
5
5
|
export interface PlayerAttributes {
|
|
6
6
|
player_id: string;
|
|
7
|
-
roles:
|
|
8
|
-
|
|
7
|
+
roles: Role[];
|
|
8
|
+
traits: Trait[];
|
|
9
|
+
rarity: Rarity;
|
|
9
10
|
first_name: string;
|
|
10
11
|
last_name: string;
|
|
11
12
|
country_id: string;
|
|
@@ -13,14 +14,13 @@ export interface PlayerAttributes {
|
|
|
13
14
|
MatchSetStats?: MatchSetStatsAttributes[];
|
|
14
15
|
}
|
|
15
16
|
export type PlayerPk = 'player_id';
|
|
16
|
-
export type RoleType = 'SETTER' | 'LIBERO' | 'OUTSIDE_HITTER' | 'OPPOSITE_HITTER' | 'MIDDLE_BLOCKER';
|
|
17
|
-
export type PlayerRarity = Rarity.COMMON | Rarity.RARE | Rarity.LEGENDARY | Rarity.MYTHIC | Rarity.SPECIAL;
|
|
18
17
|
export type PlayerId = PlayerModel[PlayerPk];
|
|
19
18
|
export type PlayerCreationAttributes = PlayerAttributes;
|
|
20
19
|
export declare class PlayerModel extends Model<PlayerAttributes, PlayerCreationAttributes> implements PlayerAttributes {
|
|
21
20
|
player_id: string;
|
|
22
|
-
roles:
|
|
23
|
-
|
|
21
|
+
roles: Role[];
|
|
22
|
+
traits: Trait[];
|
|
23
|
+
rarity: Rarity;
|
|
24
24
|
first_name: string;
|
|
25
25
|
last_name: string;
|
|
26
26
|
country_id: string;
|
|
@@ -80,17 +80,6 @@ export declare class PlayerModel extends Model<PlayerAttributes, PlayerCreationA
|
|
|
80
80
|
hasPlayerTeam: Sequelize.HasManyHasAssociationMixin<PlayerTeamModel, PlayerTeamId>;
|
|
81
81
|
hasPlayerTeams: Sequelize.HasManyHasAssociationsMixin<PlayerTeamModel, PlayerTeamId>;
|
|
82
82
|
countPlayerTeams: Sequelize.HasManyCountAssociationsMixin;
|
|
83
|
-
PlayerTraits: PlayerTraitModel[];
|
|
84
|
-
getPlayerTraits: Sequelize.HasManyGetAssociationsMixin<PlayerTraitModel>;
|
|
85
|
-
setPlayerTraits: Sequelize.HasManySetAssociationsMixin<PlayerTraitModel, PlayerTraitId>;
|
|
86
|
-
addPlayerTrait: Sequelize.HasManyAddAssociationMixin<PlayerTraitModel, PlayerTraitId>;
|
|
87
|
-
addPlayerTraits: Sequelize.HasManyAddAssociationsMixin<PlayerTraitModel, PlayerTraitId>;
|
|
88
|
-
createPlayerTrait: Sequelize.HasManyCreateAssociationMixin<PlayerTraitModel>;
|
|
89
|
-
removePlayerTrait: Sequelize.HasManyRemoveAssociationMixin<PlayerTraitModel, PlayerTraitId>;
|
|
90
|
-
removePlayerTraits: Sequelize.HasManyRemoveAssociationsMixin<PlayerTraitModel, PlayerTraitId>;
|
|
91
|
-
hasPlayerTrait: Sequelize.HasManyHasAssociationMixin<PlayerTraitModel, PlayerTraitId>;
|
|
92
|
-
hasPlayerTraits: Sequelize.HasManyHasAssociationsMixin<PlayerTraitModel, PlayerTraitId>;
|
|
93
|
-
countPlayerTraits: Sequelize.HasManyCountAssociationsMixin;
|
|
94
83
|
SetPositions: SetPositionModel[];
|
|
95
84
|
getSetPositions: Sequelize.HasManyGetAssociationsMixin<SetPositionModel>;
|
|
96
85
|
setSetPositions: Sequelize.HasManySetAssociationsMixin<SetPositionModel, SetPositionId>;
|
|
@@ -113,16 +102,5 @@ export declare class PlayerModel extends Model<PlayerAttributes, PlayerCreationA
|
|
|
113
102
|
hasTeam: Sequelize.BelongsToManyHasAssociationMixin<TeamModel, TeamId>;
|
|
114
103
|
hasTeams: Sequelize.BelongsToManyHasAssociationsMixin<TeamModel, TeamId>;
|
|
115
104
|
countTeams: Sequelize.BelongsToManyCountAssociationsMixin;
|
|
116
|
-
Traits: TraitModel[];
|
|
117
|
-
getTraits: Sequelize.BelongsToManyGetAssociationsMixin<TraitModel>;
|
|
118
|
-
setTraits: Sequelize.BelongsToManySetAssociationsMixin<TraitModel, TraitId>;
|
|
119
|
-
addTrait: Sequelize.BelongsToManyAddAssociationMixin<TraitModel, TraitId>;
|
|
120
|
-
addTraits: Sequelize.BelongsToManyAddAssociationsMixin<TraitModel, TraitId>;
|
|
121
|
-
createTrait: Sequelize.BelongsToManyCreateAssociationMixin<TraitModel>;
|
|
122
|
-
removeTrait: Sequelize.BelongsToManyRemoveAssociationMixin<TraitModel, TraitId>;
|
|
123
|
-
removeTraits: Sequelize.BelongsToManyRemoveAssociationsMixin<TraitModel, TraitId>;
|
|
124
|
-
hasTrait: Sequelize.BelongsToManyHasAssociationMixin<TraitModel, TraitId>;
|
|
125
|
-
hasTraits: Sequelize.BelongsToManyHasAssociationsMixin<TraitModel, TraitId>;
|
|
126
|
-
countTraits: Sequelize.BelongsToManyCountAssociationsMixin;
|
|
127
105
|
static initModel(sequelize: Sequelize.Sequelize): typeof PlayerModel;
|
|
128
106
|
}
|
|
@@ -12,11 +12,15 @@ class PlayerModel extends sequelize_1.Model {
|
|
|
12
12
|
primaryKey: true
|
|
13
13
|
},
|
|
14
14
|
roles: {
|
|
15
|
-
type: sequelize_1.DataTypes.ARRAY(
|
|
15
|
+
type: sequelize_1.DataTypes.ARRAY(service_1.RoleDataType),
|
|
16
|
+
allowNull: false
|
|
17
|
+
},
|
|
18
|
+
traits: {
|
|
19
|
+
type: sequelize_1.DataTypes.ARRAY(service_1.TraitDataType),
|
|
16
20
|
allowNull: false
|
|
17
21
|
},
|
|
18
22
|
rarity: {
|
|
19
|
-
type: sequelize_1.DataTypes.ENUM(
|
|
23
|
+
type: sequelize_1.DataTypes.ENUM(service_1.RarityDataType),
|
|
20
24
|
allowNull: false
|
|
21
25
|
},
|
|
22
26
|
first_name: {
|
|
@@ -16,10 +16,8 @@ export * from './performance-stats';
|
|
|
16
16
|
export * from './player';
|
|
17
17
|
export * from './rally';
|
|
18
18
|
export * from './set-position';
|
|
19
|
-
export * from './role';
|
|
20
19
|
export * from './season';
|
|
21
20
|
export * from './season-match';
|
|
22
21
|
export * from './player-team';
|
|
23
22
|
export * from './match-rating';
|
|
24
23
|
export * from './team';
|
|
25
|
-
export * from './trait';
|
|
@@ -32,10 +32,8 @@ __exportStar(require("./performance-stats"), exports);
|
|
|
32
32
|
__exportStar(require("./player"), exports);
|
|
33
33
|
__exportStar(require("./rally"), exports);
|
|
34
34
|
__exportStar(require("./set-position"), exports);
|
|
35
|
-
__exportStar(require("./role"), exports);
|
|
36
35
|
__exportStar(require("./season"), exports);
|
|
37
36
|
__exportStar(require("./season-match"), exports);
|
|
38
37
|
__exportStar(require("./player-team"), exports);
|
|
39
38
|
__exportStar(require("./match-rating"), exports);
|
|
40
39
|
__exportStar(require("./team"), exports);
|
|
41
|
-
__exportStar(require("./trait"), exports);
|
|
@@ -21,7 +21,8 @@ function transformToAttributes(player) {
|
|
|
21
21
|
bump: player.stats.bump,
|
|
22
22
|
setting: player.stats.setting,
|
|
23
23
|
spike: player.stats.spike,
|
|
24
|
-
stamina: player.stats.stamina
|
|
24
|
+
stamina: player.stats.stamina,
|
|
25
|
+
saving: player.stats.saving
|
|
25
26
|
};
|
|
26
27
|
}
|
|
27
28
|
exports.transformFromPerformanceStats = transformToAttributes;
|
|
@@ -43,7 +44,8 @@ function transformToObject(model) {
|
|
|
43
44
|
commit: model.commit,
|
|
44
45
|
focus: model.focus,
|
|
45
46
|
defense: model.defense,
|
|
46
|
-
stamina: model.stamina
|
|
47
|
+
stamina: model.stamina,
|
|
48
|
+
saving: model.saving
|
|
47
49
|
});
|
|
48
50
|
}
|
|
49
51
|
exports.transformToPerformanceStats = transformToObject;
|
|
@@ -9,7 +9,8 @@ function transformToAttributes(player) {
|
|
|
9
9
|
country_id: player.country.id,
|
|
10
10
|
first_name: player.name.first,
|
|
11
11
|
last_name: player.name.last,
|
|
12
|
-
roles: player.roles
|
|
12
|
+
roles: player.roles,
|
|
13
|
+
traits: player.traits,
|
|
13
14
|
PerformanceStat: (0, _1.transformFromPerformanceStats)(player),
|
|
14
15
|
rarity: player.rarity
|
|
15
16
|
};
|
|
@@ -23,8 +24,8 @@ function transformToObject(model) {
|
|
|
23
24
|
last: model.last_name
|
|
24
25
|
},
|
|
25
26
|
country: (0, _1.transformToCountry)(model.country),
|
|
26
|
-
roles: model.roles
|
|
27
|
-
traits: model.
|
|
27
|
+
roles: model.roles,
|
|
28
|
+
traits: model.traits,
|
|
28
29
|
stats: (0, _1.transformToPerformanceStats)(model.PerformanceStat),
|
|
29
30
|
rarity: model.rarity
|
|
30
31
|
});
|
package/dist/cjs/src/index.d.ts
CHANGED
package/dist/cjs/src/index.js
CHANGED
|
@@ -16,4 +16,3 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./service"), exports);
|
|
18
18
|
__exportStar(require("./data"), exports);
|
|
19
|
-
__exportStar(require("./formula"), exports);
|
|
@@ -19,29 +19,29 @@ exports.Formation = Formation;
|
|
|
19
19
|
Formation['5-1'] = new Formation({
|
|
20
20
|
name: '5-1',
|
|
21
21
|
initialRotation: {
|
|
22
|
-
1: [player_1.
|
|
23
|
-
2: [player_1.
|
|
24
|
-
3: [player_1.
|
|
25
|
-
4: [player_1.
|
|
26
|
-
5: [player_1.
|
|
27
|
-
6: [player_1.
|
|
22
|
+
1: [player_1.RoleEnum.SETTER],
|
|
23
|
+
2: [player_1.RoleEnum.OUTSIDE_HITTER],
|
|
24
|
+
3: [player_1.RoleEnum.MIDDLE_BLOCKER],
|
|
25
|
+
4: [player_1.RoleEnum.OPPOSITE_HITTER],
|
|
26
|
+
5: [player_1.RoleEnum.OUTSIDE_HITTER],
|
|
27
|
+
6: [player_1.RoleEnum.MIDDLE_BLOCKER]
|
|
28
28
|
},
|
|
29
29
|
base: {
|
|
30
|
-
1: [player_1.
|
|
31
|
-
2: [player_1.
|
|
32
|
-
3: [player_1.
|
|
33
|
-
4: [player_1.
|
|
34
|
-
5: [player_1.
|
|
35
|
-
6: [player_1.
|
|
30
|
+
1: [player_1.RoleEnum.OPPOSITE_HITTER, player_1.RoleEnum.SETTER],
|
|
31
|
+
2: [player_1.RoleEnum.OPPOSITE_HITTER],
|
|
32
|
+
3: [player_1.RoleEnum.MIDDLE_BLOCKER],
|
|
33
|
+
4: [player_1.RoleEnum.OUTSIDE_HITTER],
|
|
34
|
+
5: [player_1.RoleEnum.OUTSIDE_HITTER],
|
|
35
|
+
6: [player_1.RoleEnum.LIBERO]
|
|
36
36
|
},
|
|
37
37
|
draftingPriorities: [
|
|
38
|
-
[player_1.
|
|
39
|
-
[player_1.
|
|
40
|
-
[player_1.
|
|
41
|
-
[player_1.
|
|
42
|
-
[player_1.
|
|
43
|
-
[player_1.
|
|
44
|
-
[player_1.
|
|
38
|
+
[player_1.RoleEnum.SETTER, player_1.RoleEnum.OPPOSITE_HITTER],
|
|
39
|
+
[player_1.RoleEnum.OPPOSITE_HITTER],
|
|
40
|
+
[player_1.RoleEnum.MIDDLE_BLOCKER],
|
|
41
|
+
[player_1.RoleEnum.MIDDLE_BLOCKER],
|
|
42
|
+
[player_1.RoleEnum.OUTSIDE_HITTER],
|
|
43
|
+
[player_1.RoleEnum.OUTSIDE_HITTER],
|
|
44
|
+
[player_1.RoleEnum.LIBERO]
|
|
45
45
|
],
|
|
46
46
|
liberoSubPriority: {
|
|
47
47
|
MIDDLE_BLOCKER: 1,
|
|
@@ -54,29 +54,29 @@ Formation['5-1'] = new Formation({
|
|
|
54
54
|
Formation['4-2'] = new Formation({
|
|
55
55
|
name: '4-2',
|
|
56
56
|
initialRotation: {
|
|
57
|
-
1: [player_1.
|
|
58
|
-
2: [player_1.
|
|
59
|
-
3: [player_1.
|
|
60
|
-
4: [player_1.
|
|
61
|
-
5: [player_1.
|
|
62
|
-
6: [player_1.
|
|
57
|
+
1: [player_1.RoleEnum.MIDDLE_BLOCKER],
|
|
58
|
+
2: [player_1.RoleEnum.SETTER],
|
|
59
|
+
3: [player_1.RoleEnum.OUTSIDE_HITTER],
|
|
60
|
+
4: [player_1.RoleEnum.MIDDLE_BLOCKER],
|
|
61
|
+
5: [player_1.RoleEnum.SETTER],
|
|
62
|
+
6: [player_1.RoleEnum.OPPOSITE_HITTER]
|
|
63
63
|
},
|
|
64
64
|
base: {
|
|
65
|
-
1: [player_1.
|
|
66
|
-
2: [player_1.
|
|
67
|
-
3: [player_1.
|
|
68
|
-
4: [player_1.
|
|
69
|
-
5: [player_1.
|
|
70
|
-
6: [player_1.
|
|
65
|
+
1: [player_1.RoleEnum.SETTER],
|
|
66
|
+
2: [player_1.RoleEnum.OPPOSITE_HITTER, player_1.RoleEnum.SETTER],
|
|
67
|
+
3: [player_1.RoleEnum.MIDDLE_BLOCKER],
|
|
68
|
+
4: [player_1.RoleEnum.OUTSIDE_HITTER],
|
|
69
|
+
5: [player_1.RoleEnum.OUTSIDE_HITTER],
|
|
70
|
+
6: [player_1.RoleEnum.LIBERO]
|
|
71
71
|
},
|
|
72
72
|
draftingPriorities: [
|
|
73
|
-
[player_1.
|
|
74
|
-
[player_1.
|
|
75
|
-
[player_1.
|
|
76
|
-
[player_1.
|
|
77
|
-
[player_1.
|
|
78
|
-
[player_1.
|
|
79
|
-
[player_1.
|
|
73
|
+
[player_1.RoleEnum.SETTER, player_1.RoleEnum.OPPOSITE_HITTER],
|
|
74
|
+
[player_1.RoleEnum.SETTER],
|
|
75
|
+
[player_1.RoleEnum.MIDDLE_BLOCKER],
|
|
76
|
+
[player_1.RoleEnum.MIDDLE_BLOCKER],
|
|
77
|
+
[player_1.RoleEnum.OUTSIDE_HITTER],
|
|
78
|
+
[player_1.RoleEnum.OUTSIDE_HITTER],
|
|
79
|
+
[player_1.RoleEnum.LIBERO]
|
|
80
80
|
],
|
|
81
81
|
liberoSubPriority: {
|
|
82
82
|
MIDDLE_BLOCKER: 1,
|
|
@@ -89,29 +89,29 @@ Formation['4-2'] = new Formation({
|
|
|
89
89
|
Formation['6-2'] = new Formation({
|
|
90
90
|
name: '6-2',
|
|
91
91
|
initialRotation: {
|
|
92
|
-
1: [player_1.
|
|
93
|
-
2: [player_1.
|
|
94
|
-
3: [player_1.
|
|
95
|
-
4: [player_1.
|
|
96
|
-
5: [player_1.
|
|
97
|
-
6: [player_1.
|
|
92
|
+
1: [player_1.RoleEnum.OPPOSITE_HITTER, player_1.RoleEnum.SETTER],
|
|
93
|
+
2: [player_1.RoleEnum.OUTSIDE_HITTER],
|
|
94
|
+
3: [player_1.RoleEnum.MIDDLE_BLOCKER],
|
|
95
|
+
4: [player_1.RoleEnum.OPPOSITE_HITTER, player_1.RoleEnum.SETTER],
|
|
96
|
+
5: [player_1.RoleEnum.OUTSIDE_HITTER],
|
|
97
|
+
6: [player_1.RoleEnum.MIDDLE_BLOCKER]
|
|
98
98
|
},
|
|
99
99
|
base: {
|
|
100
|
-
1: [player_1.
|
|
101
|
-
2: [player_1.
|
|
102
|
-
3: [player_1.
|
|
103
|
-
4: [player_1.
|
|
104
|
-
5: [player_1.
|
|
105
|
-
6: [player_1.
|
|
100
|
+
1: [player_1.RoleEnum.SETTER],
|
|
101
|
+
2: [player_1.RoleEnum.OPPOSITE_HITTER, player_1.RoleEnum.SETTER],
|
|
102
|
+
3: [player_1.RoleEnum.MIDDLE_BLOCKER],
|
|
103
|
+
4: [player_1.RoleEnum.OUTSIDE_HITTER],
|
|
104
|
+
5: [player_1.RoleEnum.OUTSIDE_HITTER],
|
|
105
|
+
6: [player_1.RoleEnum.LIBERO]
|
|
106
106
|
},
|
|
107
107
|
draftingPriorities: [
|
|
108
|
-
[player_1.
|
|
109
|
-
[player_1.
|
|
110
|
-
[player_1.
|
|
111
|
-
[player_1.
|
|
112
|
-
[player_1.
|
|
113
|
-
[player_1.
|
|
114
|
-
[player_1.
|
|
108
|
+
[player_1.RoleEnum.SETTER, player_1.RoleEnum.OPPOSITE_HITTER],
|
|
109
|
+
[player_1.RoleEnum.OPPOSITE_HITTER, player_1.RoleEnum.SETTER],
|
|
110
|
+
[player_1.RoleEnum.MIDDLE_BLOCKER],
|
|
111
|
+
[player_1.RoleEnum.MIDDLE_BLOCKER],
|
|
112
|
+
[player_1.RoleEnum.OUTSIDE_HITTER],
|
|
113
|
+
[player_1.RoleEnum.OUTSIDE_HITTER],
|
|
114
|
+
[player_1.RoleEnum.LIBERO]
|
|
115
115
|
],
|
|
116
116
|
liberoSubPriority: {
|
|
117
117
|
MIDDLE_BLOCKER: 1,
|
|
@@ -16,6 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./player"), exports);
|
|
18
18
|
__exportStar(require("./performance-stats"), exports);
|
|
19
|
-
__exportStar(require("./role"), exports);
|
|
20
19
|
__exportStar(require("./trait"), exports);
|
|
21
20
|
__exportStar(require("./rarity"), exports);
|
|
21
|
+
__exportStar(require("./role"), exports);
|
|
22
|
+
__exportStar(require("./stats"), exports);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const performanceStatKeys: readonly ["setting", "serve", "spike", "quick", "power", "awareness", "attack", "backAttack", "reception", "overhand", "bump", "block", "read", "commit", "focus", "defense", "stamina"];
|
|
1
|
+
export declare const performanceStatKeys: readonly ["setting", "serve", "spike", "quick", "power", "awareness", "attack", "backAttack", "reception", "overhand", "bump", "block", "read", "commit", "focus", "defense", "stamina", "saving"];
|
|
2
2
|
export type PerformanceStatsKey = typeof performanceStatKeys[number];
|
|
3
3
|
export type PerformanceStatsParams = Record<PerformanceStatsKey, number>;
|
|
4
4
|
export interface PerformanceStats extends PerformanceStatsParams {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PerformanceStats = exports.performanceStatKeys = void 0;
|
|
4
4
|
exports.performanceStatKeys = ['setting', 'serve', 'spike', 'quick', 'power', 'awareness', 'attack', 'backAttack',
|
|
5
|
-
'reception', 'overhand', 'bump', 'block', 'read', 'commit', 'focus', 'defense', 'stamina'];
|
|
5
|
+
'reception', 'overhand', 'bump', 'block', 'read', 'commit', 'focus', 'defense', 'stamina', 'saving'];
|
|
6
6
|
class PerformanceStats {
|
|
7
7
|
constructor(opts) {
|
|
8
8
|
Object.assign(this, opts);
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { PerformanceStats } from './performance-stats';
|
|
2
|
-
import { Role } from './role';
|
|
3
2
|
import { Trait } from './trait';
|
|
4
3
|
import { Country } from '../country';
|
|
5
|
-
import * as GeneralStat from '../../formula/stats';
|
|
6
4
|
import { Rarity } from './rarity';
|
|
5
|
+
import { Stats } from './stats';
|
|
6
|
+
import { Role } from './role';
|
|
7
7
|
export declare class Stat {
|
|
8
|
-
readonly name:
|
|
8
|
+
readonly name: Stats;
|
|
9
9
|
readonly value: number;
|
|
10
10
|
constructor({ name, value }: {
|
|
11
|
-
name:
|
|
11
|
+
name: Stats;
|
|
12
12
|
value: number;
|
|
13
13
|
});
|
|
14
14
|
toString(): string;
|
|
@@ -43,7 +43,6 @@ export declare class Player {
|
|
|
43
43
|
constructor({ id, name, country, stats, roles, traits, rarity }: PlayerParams);
|
|
44
44
|
static sortPlayers(roles: Role[]): (p1: Player, p2: Player) => number;
|
|
45
45
|
static compareStats(p1: Player, p2: Player): number;
|
|
46
|
-
canPlayLibero(): boolean;
|
|
47
46
|
toString(): string;
|
|
48
47
|
}
|
|
49
48
|
export {};
|
|
@@ -1,32 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
3
|
exports.Player = exports.Name = exports.Stat = void 0;
|
|
27
|
-
const role_1 = require("./role");
|
|
28
4
|
const utils_1 = require("../utils");
|
|
29
|
-
const
|
|
5
|
+
const stats_1 = require("./stats");
|
|
6
|
+
const role_1 = require("./role");
|
|
30
7
|
class Stat {
|
|
31
8
|
constructor({ name, value }) {
|
|
32
9
|
this.name = name;
|
|
@@ -57,16 +34,16 @@ class Player {
|
|
|
57
34
|
this.roles = roles;
|
|
58
35
|
this.traits = traits;
|
|
59
36
|
this.rarity = rarity;
|
|
60
|
-
this.generalStats =
|
|
37
|
+
this.generalStats = Object.values(stats_1.StatsEnum).map((stat) => ({
|
|
61
38
|
name: stat,
|
|
62
|
-
value:
|
|
39
|
+
value: (0, stats_1.calculateStatScore)(stats, stat)
|
|
63
40
|
}));
|
|
64
41
|
}
|
|
65
42
|
// Used as a base sorting function for players
|
|
66
43
|
static sortPlayers(roles) {
|
|
67
44
|
return (p1, p2) => roles.reduce((x, role) => {
|
|
68
|
-
const p2Score = role_1.
|
|
69
|
-
const p1Score = role_1.
|
|
45
|
+
const p2Score = (0, role_1.calculateRoleScore)(p2.stats, role);
|
|
46
|
+
const p1Score = (0, role_1.calculateRoleScore)(p1.stats, role);
|
|
70
47
|
return x + p2Score - p1Score;
|
|
71
48
|
}, 0);
|
|
72
49
|
}
|
|
@@ -74,17 +51,23 @@ class Player {
|
|
|
74
51
|
const compareFn = (acc, current) => {
|
|
75
52
|
let x = current.value;
|
|
76
53
|
switch (current.name) {
|
|
77
|
-
case
|
|
78
|
-
x *= 0.
|
|
54
|
+
case stats_1.StatsEnum.ATTACK:
|
|
55
|
+
x *= 0.19;
|
|
79
56
|
break;
|
|
80
|
-
case
|
|
81
|
-
x *= 0.
|
|
57
|
+
case stats_1.StatsEnum.SET:
|
|
58
|
+
x *= 0.19;
|
|
82
59
|
break;
|
|
83
|
-
case
|
|
84
|
-
x *= 0.
|
|
60
|
+
case stats_1.StatsEnum.RECEIVE:
|
|
61
|
+
x *= 0.19;
|
|
85
62
|
break;
|
|
86
|
-
case
|
|
87
|
-
x *= 0.
|
|
63
|
+
case stats_1.StatsEnum.BLOCK:
|
|
64
|
+
x *= 0.19;
|
|
65
|
+
break;
|
|
66
|
+
case stats_1.StatsEnum.SERVE:
|
|
67
|
+
x *= 0.19;
|
|
68
|
+
break;
|
|
69
|
+
case stats_1.StatsEnum.STAMINA:
|
|
70
|
+
x *= 0.05;
|
|
88
71
|
break;
|
|
89
72
|
default:
|
|
90
73
|
x *= 0;
|
|
@@ -95,9 +78,6 @@ class Player {
|
|
|
95
78
|
const s2 = p2.generalStats.reduce(compareFn, 0);
|
|
96
79
|
return s2 - s1;
|
|
97
80
|
}
|
|
98
|
-
canPlayLibero() {
|
|
99
|
-
return this.roles.includes(role_1.Role.LIBERO);
|
|
100
|
-
}
|
|
101
81
|
toString() {
|
|
102
82
|
return JSON.stringify({
|
|
103
83
|
id: this.id,
|
|
@@ -106,7 +86,7 @@ class Player {
|
|
|
106
86
|
stats: this.stats.toString(),
|
|
107
87
|
rarity: this.rarity,
|
|
108
88
|
roles: `[${this.roles.map(r => r.toString()).join(',')}]`,
|
|
109
|
-
traits: `[${this.traits.map(
|
|
89
|
+
traits: `[${this.traits.map(t => t.toString()).join(',')}]`,
|
|
110
90
|
generalStats: `[${this.generalStats.map(r => r.toString()).join(',')}]`
|
|
111
91
|
});
|
|
112
92
|
}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
import { EnumDataType } from 'sequelize';
|
|
2
|
+
export declare enum RarityEnum {
|
|
2
3
|
COMMON = "COMMON",
|
|
3
4
|
RARE = "RARE",
|
|
4
5
|
LEGENDARY = "LEGENDARY",
|
|
5
6
|
MYTHIC = "MYTHIC",
|
|
6
7
|
SPECIAL = "SPECIAL"
|
|
7
8
|
}
|
|
9
|
+
export type Rarity = RarityEnum.COMMON | RarityEnum.RARE | RarityEnum.LEGENDARY | RarityEnum.MYTHIC | RarityEnum.SPECIAL;
|
|
8
10
|
export declare const RarityRanges: {
|
|
9
11
|
COMMON: number[];
|
|
10
12
|
RARE: number[];
|
|
@@ -12,3 +14,4 @@ export declare const RarityRanges: {
|
|
|
12
14
|
MYTHIC: number[];
|
|
13
15
|
SPECIAL: number[];
|
|
14
16
|
};
|
|
17
|
+
export declare const RarityDataType: EnumDataType<RarityEnum>;
|