@mtgame/core 0.0.53 → 0.0.55
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/api/football-game-api.d.ts +19 -0
- package/api/public-api.d.ts +1 -0
- package/api/tournament-api.d.ts +2 -0
- package/bundles/mtgame-core.umd.js +734 -45
- package/bundles/mtgame-core.umd.js.map +1 -1
- package/bundles/mtgame-core.umd.min.js +2 -2
- package/bundles/mtgame-core.umd.min.js.map +1 -1
- package/esm2015/api/football-game-api.js +70 -0
- package/esm2015/api/public-api.js +2 -1
- package/esm2015/api/tournament-api.js +18 -1
- package/esm2015/localization/football-game-log-types.js +29 -0
- package/esm2015/localization/overtime-types.js +4 -2
- package/esm2015/localization/public-api.js +2 -1
- package/esm2015/localization/user-profile.js +13 -1
- package/esm2015/models/football-game-config.js +34 -0
- package/esm2015/models/football-game-log.js +94 -0
- package/esm2015/models/football-game-statistic.js +129 -0
- package/esm2015/models/football-game-team-statistic.js +27 -0
- package/esm2015/models/football-profile.js +43 -0
- package/esm2015/models/football-statistic.js +92 -0
- package/esm2015/models/game.js +4 -1
- package/esm2015/models/hockey-statistic.js +8 -1
- package/esm2015/models/public-api.js +7 -1
- package/esm2015/models/sport.js +13 -1
- package/esm2015/models/team.js +4 -1
- package/esm2015/models/tournament.js +6 -1
- package/esm2015/models/user.js +4 -1
- package/esm5/api/football-game-api.js +85 -0
- package/esm5/api/public-api.js +2 -1
- package/esm5/api/tournament-api.js +32 -1
- package/esm5/localization/football-game-log-types.js +30 -0
- package/esm5/localization/overtime-types.js +3 -1
- package/esm5/localization/public-api.js +2 -1
- package/esm5/localization/user-profile.js +14 -2
- package/esm5/models/football-game-config.js +39 -0
- package/esm5/models/football-game-log.js +101 -0
- package/esm5/models/football-game-statistic.js +206 -0
- package/esm5/models/football-game-team-statistic.js +32 -0
- package/esm5/models/football-profile.js +48 -0
- package/esm5/models/football-statistic.js +101 -0
- package/esm5/models/game.js +4 -1
- package/esm5/models/hockey-statistic.js +12 -1
- package/esm5/models/public-api.js +7 -1
- package/esm5/models/sport.js +13 -1
- package/esm5/models/team.js +4 -1
- package/esm5/models/tournament.js +6 -1
- package/esm5/models/user.js +4 -1
- package/fesm2015/mtgame-core.js +539 -2
- package/fesm2015/mtgame-core.js.map +1 -1
- package/fesm5/mtgame-core.js +724 -45
- package/fesm5/mtgame-core.js.map +1 -1
- package/localization/football-game-log-types.d.ts +28 -0
- package/localization/overtime-types.d.ts +2 -0
- package/localization/public-api.d.ts +1 -0
- package/localization/user-profile.d.ts +12 -0
- package/models/football-game-config.d.ts +15 -0
- package/models/football-game-log.d.ts +53 -0
- package/models/football-game-statistic.d.ts +55 -0
- package/models/football-game-team-statistic.d.ts +8 -0
- package/models/football-profile.d.ts +20 -0
- package/models/football-statistic.d.ts +64 -0
- package/models/game.d.ts +2 -0
- package/models/hockey-statistic.d.ts +2 -0
- package/models/public-api.d.ts +6 -0
- package/models/sport.d.ts +7 -1
- package/models/tournament.d.ts +3 -1
- package/models/user.d.ts +2 -0
- package/mtgame-core.metadata.json +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { __decorate, __extends } from "tslib";
|
|
2
|
+
import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField } from './util';
|
|
3
|
+
import { GameTimeTypes, OvertimeTypes } from './tournament';
|
|
4
|
+
var FootballGameConfig = /** @class */ (function (_super) {
|
|
5
|
+
__extends(FootballGameConfig, _super);
|
|
6
|
+
function FootballGameConfig() {
|
|
7
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
8
|
+
}
|
|
9
|
+
FootballGameConfig.toFront = function (data) { };
|
|
10
|
+
FootballGameConfig.toBack = function (data) { };
|
|
11
|
+
__decorate([
|
|
12
|
+
ToFrontHook
|
|
13
|
+
], FootballGameConfig, "toFront", null);
|
|
14
|
+
__decorate([
|
|
15
|
+
ToBackHook
|
|
16
|
+
], FootballGameConfig, "toBack", null);
|
|
17
|
+
FootballGameConfig = __decorate([
|
|
18
|
+
ModelInstance({
|
|
19
|
+
mappingFields: {
|
|
20
|
+
periods_count: 'periodsCount',
|
|
21
|
+
period_time: 'periodTime',
|
|
22
|
+
overtime_type: 'overtimeType',
|
|
23
|
+
overtime_time: 'overtimeTime',
|
|
24
|
+
max_game_players: 'maxGamePlayers',
|
|
25
|
+
timeout_count: 'timeoutCount',
|
|
26
|
+
overtime_timeout_count: 'overtimeTimeoutCount',
|
|
27
|
+
timeout_time: 'timeoutTime',
|
|
28
|
+
game_time_type: 'gameTimeType',
|
|
29
|
+
},
|
|
30
|
+
relation: {
|
|
31
|
+
overtimeType: enumField(OvertimeTypes),
|
|
32
|
+
gameTimeType: enumField(GameTimeTypes),
|
|
33
|
+
}
|
|
34
|
+
})
|
|
35
|
+
], FootballGameConfig);
|
|
36
|
+
return FootballGameConfig;
|
|
37
|
+
}(BaseModel));
|
|
38
|
+
export { FootballGameConfig };
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGJhbGwtZ2FtZS1jb25maWcuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbXRnYW1lL2NvcmUvIiwic291cmNlcyI6WyJtb2RlbHMvZm9vdGJhbGwtZ2FtZS1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBbUI1RDtJQUF3QyxzQ0FBUztJQUFqRDs7SUFnQkEsQ0FBQztJQUpRLDBCQUFPLEdBQWQsVUFBZSxJQUFTLElBQVEsQ0FBQztJQUcxQix5QkFBTSxHQUFiLFVBQWMsSUFBUyxJQUFRLENBQUM7SUFIaEM7UUFEQyxXQUFXOzJDQUNxQjtJQUdqQztRQURDLFVBQVU7MENBQ3FCO0lBZnJCLGtCQUFrQjtRQWpCOUIsYUFBYSxDQUFDO1lBQ2IsYUFBYSxFQUFFO2dCQUNiLGFBQWEsRUFBRSxjQUFjO2dCQUM3QixXQUFXLEVBQUUsWUFBWTtnQkFDekIsYUFBYSxFQUFFLGNBQWM7Z0JBQzdCLGFBQWEsRUFBRSxjQUFjO2dCQUM3QixnQkFBZ0IsRUFBRSxnQkFBZ0I7Z0JBQ2xDLGFBQWEsRUFBRSxjQUFjO2dCQUM3QixzQkFBc0IsRUFBRSxzQkFBc0I7Z0JBQzlDLFlBQVksRUFBRSxhQUFhO2dCQUMzQixjQUFjLEVBQUUsY0FBYzthQUMvQjtZQUNELFFBQVEsRUFBRTtnQkFDUixZQUFZLEVBQUUsU0FBUyxDQUFDLGFBQWEsQ0FBQztnQkFDdEMsWUFBWSxFQUFFLFNBQVMsQ0FBQyxhQUFhLENBQUM7YUFDdkM7U0FDRixDQUFDO09BQ1csa0JBQWtCLENBZ0I5QjtJQUFELHlCQUFDO0NBQUEsQUFoQkQsQ0FBd0MsU0FBUyxHQWdCaEQ7U0FoQlksa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kZWxJbnN0YW5jZSwgQmFzZU1vZGVsLCBUb0Zyb250SG9vaywgVG9CYWNrSG9vaywgZW51bUZpZWxkIH0gZnJvbSAnLi91dGlsJztcbmltcG9ydCB7IEdhbWVUaW1lVHlwZXMsIE92ZXJ0aW1lVHlwZXMgfSBmcm9tICcuL3RvdXJuYW1lbnQnO1xuXG5ATW9kZWxJbnN0YW5jZSh7XG4gIG1hcHBpbmdGaWVsZHM6IHtcbiAgICBwZXJpb2RzX2NvdW50OiAncGVyaW9kc0NvdW50JyxcbiAgICBwZXJpb2RfdGltZTogJ3BlcmlvZFRpbWUnLFxuICAgIG92ZXJ0aW1lX3R5cGU6ICdvdmVydGltZVR5cGUnLFxuICAgIG92ZXJ0aW1lX3RpbWU6ICdvdmVydGltZVRpbWUnLFxuICAgIG1heF9nYW1lX3BsYXllcnM6ICdtYXhHYW1lUGxheWVycycsXG4gICAgdGltZW91dF9jb3VudDogJ3RpbWVvdXRDb3VudCcsXG4gICAgb3ZlcnRpbWVfdGltZW91dF9jb3VudDogJ292ZXJ0aW1lVGltZW91dENvdW50JyxcbiAgICB0aW1lb3V0X3RpbWU6ICd0aW1lb3V0VGltZScsXG4gICAgZ2FtZV90aW1lX3R5cGU6ICdnYW1lVGltZVR5cGUnLFxuICB9LFxuICByZWxhdGlvbjoge1xuICAgIG92ZXJ0aW1lVHlwZTogZW51bUZpZWxkKE92ZXJ0aW1lVHlwZXMpLFxuICAgIGdhbWVUaW1lVHlwZTogZW51bUZpZWxkKEdhbWVUaW1lVHlwZXMpLFxuICB9XG59KVxuZXhwb3J0IGNsYXNzIEZvb3RiYWxsR2FtZUNvbmZpZyBleHRlbmRzIEJhc2VNb2RlbCB7XG4gIHBlcmlvZHNDb3VudDogbnVtYmVyO1xuICBwZXJpb2RUaW1lOiBudW1iZXI7XG4gIG92ZXJ0aW1lVHlwZTogT3ZlcnRpbWVUeXBlcztcbiAgb3ZlcnRpbWVUaW1lOiBudW1iZXI7XG4gIG1heEdhbWVQbGF5ZXJzOiBudW1iZXI7XG4gIHRpbWVvdXRDb3VudDogbnVtYmVyO1xuICBvdmVydGltZVRpbWVvdXRDb3VudDogbnVtYmVyO1xuICB0aW1lb3V0VGltZTogbnVtYmVyO1xuICBnYW1lVGltZVR5cGU6IEdhbWVUaW1lVHlwZXM7XG5cbiAgQFRvRnJvbnRIb29rXG4gIHN0YXRpYyB0b0Zyb250KGRhdGE6IGFueSk6IGFueSB7fVxuXG4gIEBUb0JhY2tIb29rXG4gIHN0YXRpYyB0b0JhY2soZGF0YTogYW55KTogYW55IHt9XG59XG5cbiJdfQ==
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { __decorate, __extends } from "tslib";
|
|
2
|
+
import { enumField, ModelInstance, ToFrontHook, ToBackHook, BaseModel, DateTimeField } from './util';
|
|
3
|
+
export var FootballGameLogTypes;
|
|
4
|
+
(function (FootballGameLogTypes) {
|
|
5
|
+
FootballGameLogTypes[FootballGameLogTypes["enter_game"] = 1] = "enter_game";
|
|
6
|
+
FootballGameLogTypes[FootballGameLogTypes["exit_game"] = 2] = "exit_game";
|
|
7
|
+
FootballGameLogTypes[FootballGameLogTypes["shot_miss"] = 3] = "shot_miss";
|
|
8
|
+
FootballGameLogTypes[FootballGameLogTypes["shot_on_goal"] = 4] = "shot_on_goal";
|
|
9
|
+
FootballGameLogTypes[FootballGameLogTypes["shot_blocked"] = 5] = "shot_blocked";
|
|
10
|
+
FootballGameLogTypes[FootballGameLogTypes["goal"] = 6] = "goal";
|
|
11
|
+
FootballGameLogTypes[FootballGameLogTypes["penalty_attempt"] = 7] = "penalty_attempt";
|
|
12
|
+
FootballGameLogTypes[FootballGameLogTypes["penalty_goal"] = 8] = "penalty_goal";
|
|
13
|
+
FootballGameLogTypes[FootballGameLogTypes["penalty_save"] = 9] = "penalty_save";
|
|
14
|
+
FootballGameLogTypes[FootballGameLogTypes["small_penalty_attempt"] = 10] = "small_penalty_attempt";
|
|
15
|
+
FootballGameLogTypes[FootballGameLogTypes["small_penalty_goal"] = 11] = "small_penalty_goal";
|
|
16
|
+
FootballGameLogTypes[FootballGameLogTypes["small_penalty_save"] = 12] = "small_penalty_save";
|
|
17
|
+
FootballGameLogTypes[FootballGameLogTypes["assist"] = 13] = "assist";
|
|
18
|
+
FootballGameLogTypes[FootballGameLogTypes["block_shot"] = 14] = "block_shot";
|
|
19
|
+
FootballGameLogTypes[FootballGameLogTypes["corner"] = 15] = "corner";
|
|
20
|
+
FootballGameLogTypes[FootballGameLogTypes["free_kick"] = 16] = "free_kick";
|
|
21
|
+
FootballGameLogTypes[FootballGameLogTypes["foul"] = 17] = "foul";
|
|
22
|
+
FootballGameLogTypes[FootballGameLogTypes["save"] = 18] = "save";
|
|
23
|
+
FootballGameLogTypes[FootballGameLogTypes["yellow_card"] = 19] = "yellow_card";
|
|
24
|
+
FootballGameLogTypes[FootballGameLogTypes["red_card"] = 20] = "red_card";
|
|
25
|
+
FootballGameLogTypes[FootballGameLogTypes["perfect_pass"] = 21] = "perfect_pass";
|
|
26
|
+
FootballGameLogTypes[FootballGameLogTypes["loss"] = 22] = "loss";
|
|
27
|
+
FootballGameLogTypes[FootballGameLogTypes["steal"] = 23] = "steal";
|
|
28
|
+
FootballGameLogTypes[FootballGameLogTypes["out"] = 24] = "out";
|
|
29
|
+
FootballGameLogTypes[FootballGameLogTypes["timeout"] = 25] = "timeout";
|
|
30
|
+
})(FootballGameLogTypes || (FootballGameLogTypes = {}));
|
|
31
|
+
var FootballGameLog = /** @class */ (function (_super) {
|
|
32
|
+
__extends(FootballGameLog, _super);
|
|
33
|
+
function FootballGameLog() {
|
|
34
|
+
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
35
|
+
_this.active = true;
|
|
36
|
+
return _this;
|
|
37
|
+
}
|
|
38
|
+
FootballGameLog.prototype.compare = function (model) {
|
|
39
|
+
if (this.time === model.time && this.period === model.period) {
|
|
40
|
+
return this.datetime.getTime() < model.datetime.getTime() ? 1 : -1;
|
|
41
|
+
}
|
|
42
|
+
if (this.period === model.period) {
|
|
43
|
+
return this.time < model.time ? 1 : -1;
|
|
44
|
+
}
|
|
45
|
+
return this.period < model.period ? 1 : -1;
|
|
46
|
+
};
|
|
47
|
+
Object.defineProperty(FootballGameLog.prototype, "timeFormatted", {
|
|
48
|
+
get: function () {
|
|
49
|
+
var minutes = Math.floor(this.time / 60);
|
|
50
|
+
var seconds = this.time - minutes * 60;
|
|
51
|
+
return "" + (minutes < 10 ? '0' : '') + minutes + ":" + (seconds < 10 ? '0' : '') + seconds;
|
|
52
|
+
},
|
|
53
|
+
enumerable: true,
|
|
54
|
+
configurable: true
|
|
55
|
+
});
|
|
56
|
+
FootballGameLog.prototype.isScoreType = function () {
|
|
57
|
+
return [FootballGameLogTypes.goal, FootballGameLogTypes.penalty_goal, FootballGameLogTypes.small_penalty_goal].indexOf(this.logType) > -1;
|
|
58
|
+
};
|
|
59
|
+
FootballGameLog.prototype.isAfter = function (log) {
|
|
60
|
+
if (this.time === log.time && this.period === log.period) {
|
|
61
|
+
return this.id > log.id;
|
|
62
|
+
}
|
|
63
|
+
if (this.period === log.period) {
|
|
64
|
+
return this.time > log.time;
|
|
65
|
+
}
|
|
66
|
+
return this.period > log.period;
|
|
67
|
+
};
|
|
68
|
+
FootballGameLog.toFront = function (value) { };
|
|
69
|
+
FootballGameLog.toBack = function (value) { };
|
|
70
|
+
__decorate([
|
|
71
|
+
ToFrontHook
|
|
72
|
+
], FootballGameLog, "toFront", null);
|
|
73
|
+
__decorate([
|
|
74
|
+
ToBackHook
|
|
75
|
+
], FootballGameLog, "toBack", null);
|
|
76
|
+
FootballGameLog = __decorate([
|
|
77
|
+
ModelInstance({
|
|
78
|
+
mappingFields: {
|
|
79
|
+
id: 'id',
|
|
80
|
+
unique_id: 'uniqueId',
|
|
81
|
+
game_id: 'gameId',
|
|
82
|
+
game_user_id: 'gameUserId',
|
|
83
|
+
team_id: 'teamId',
|
|
84
|
+
log_type: 'logType',
|
|
85
|
+
datetime: 'datetime',
|
|
86
|
+
time: 'time',
|
|
87
|
+
period: 'period',
|
|
88
|
+
active: 'active',
|
|
89
|
+
is_highlight: 'isHighlight',
|
|
90
|
+
is_goalie: 'isGoalie',
|
|
91
|
+
},
|
|
92
|
+
relation: {
|
|
93
|
+
datetime: DateTimeField,
|
|
94
|
+
logType: enumField(FootballGameLogTypes)
|
|
95
|
+
}
|
|
96
|
+
})
|
|
97
|
+
], FootballGameLog);
|
|
98
|
+
return FootballGameLog;
|
|
99
|
+
}(BaseModel));
|
|
100
|
+
export { FootballGameLog };
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGJhbGwtZ2FtZS1sb2cuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbXRnYW1lL2NvcmUvIiwic291cmNlcyI6WyJtb2RlbHMvZm9vdGJhbGwtZ2FtZS1sb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBb0IsTUFBTSxRQUFRLENBQUM7QUFJdkgsTUFBTSxDQUFOLElBQVksb0JBMEJYO0FBMUJELFdBQVksb0JBQW9CO0lBQzlCLDJFQUFjLENBQUE7SUFDZCx5RUFBUyxDQUFBO0lBQ1QseUVBQVMsQ0FBQTtJQUNULCtFQUFZLENBQUE7SUFDWiwrRUFBWSxDQUFBO0lBQ1osK0RBQUksQ0FBQTtJQUNKLHFGQUFlLENBQUE7SUFDZiwrRUFBWSxDQUFBO0lBQ1osK0VBQVksQ0FBQTtJQUNaLGtHQUFxQixDQUFBO0lBQ3JCLDRGQUFrQixDQUFBO0lBQ2xCLDRGQUFrQixDQUFBO0lBQ2xCLG9FQUFNLENBQUE7SUFDTiw0RUFBVSxDQUFBO0lBQ1Ysb0VBQU0sQ0FBQTtJQUNOLDBFQUFTLENBQUE7SUFDVCxnRUFBSSxDQUFBO0lBQ0osZ0VBQUksQ0FBQTtJQUNKLDhFQUFXLENBQUE7SUFDWCx3RUFBUSxDQUFBO0lBQ1IsZ0ZBQVksQ0FBQTtJQUNaLGdFQUFJLENBQUE7SUFDSixrRUFBSyxDQUFBO0lBQ0wsOERBQUcsQ0FBQTtJQUNILHNFQUFPLENBQUE7QUFDVCxDQUFDLEVBMUJXLG9CQUFvQixLQUFwQixvQkFBb0IsUUEwQi9CO0FBdUJEO0lBQXFDLG1DQUFTO0lBQTlDO1FBQUEscUVBb0RDO1FBekNDLFlBQU0sR0FBRyxJQUFJLENBQUM7O0lBeUNoQixDQUFDO0lBbkNDLGlDQUFPLEdBQVAsVUFBUSxLQUFzQjtRQUM1QixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxL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QUFDO0NBQUEsQUFwREQsQ0FBcUMsU0FBUyxHQW9EN0M7U0FwRFksZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGVudW1GaWVsZCwgTW9kZWxJbnN0YW5jZSwgVG9Gcm9udEhvb2ssIFRvQmFja0hvb2ssIEJhc2VNb2RlbCwgRGF0ZVRpbWVGaWVsZCwgcGVuYWx0eVR5cGVGaWVsZCB9IGZyb20gJy4vdXRpbCc7XG5pbXBvcnQgeyBHYW1lVXNlciB9IGZyb20gJy4vZ2FtZS11c2VyJztcbmltcG9ydCB7IEdhbWVMb2dCYXNlIH0gZnJvbSAnLi9nYW1lLWxvZy1iYXNlJztcblxuZXhwb3J0IGVudW0gRm9vdGJhbGxHYW1lTG9nVHlwZXMge1xuICBlbnRlcl9nYW1lID0gMSxcbiAgZXhpdF9nYW1lLFxuICBzaG90X21pc3MsXG4gIHNob3Rfb25fZ29hbCxcbiAgc2hvdF9ibG9ja2VkLFxuICBnb2FsLFxuICBwZW5hbHR5X2F0dGVtcHQsXG4gIHBlbmFsdHlfZ29hbCxcbiAgcGVuYWx0eV9zYXZlLFxuICBzbWFsbF9wZW5hbHR5X2F0dGVtcHQsXG4gIHNtYWxsX3BlbmFsdHlfZ29hbCxcbiAgc21hbGxfcGVuYWx0eV9zYXZlLFxuICBhc3Npc3QsXG4gIGJsb2NrX3Nob3QsXG4gIGNvcm5lcixcbiAgZnJlZV9raWNrLFxuICBmb3VsLFxuICBzYXZlLFxuICB5ZWxsb3dfY2FyZCxcbiAgcmVkX2NhcmQsXG4gIHBlcmZlY3RfcGFzcyxcbiAgbG9zcyxcbiAgc3RlYWwsXG4gIG91dCxcbiAgdGltZW91dCxcbn1cblxuXG5ATW9kZWxJbnN0YW5jZSh7XG4gIG1hcHBpbmdGaWVsZHM6IHtcbiAgICBpZDogJ2lkJyxcbiAgICB1bmlxdWVfaWQ6ICd1bmlxdWVJZCcsXG4gICAgZ2FtZV9pZDogJ2dhbWVJZCcsXG4gICAgZ2FtZV91c2VyX2lkOiAnZ2FtZVVzZXJJZCcsXG4gICAgdGVhbV9pZDogJ3RlYW1JZCcsXG4gICAgbG9nX3R5cGU6ICdsb2dUeXBlJyxcbiAgICBkYXRldGltZTogJ2RhdGV0aW1lJyxcbiAgICB0aW1lOiAndGltZScsXG4gICAgcGVyaW9kOiAncGVyaW9kJyxcbiAgICBhY3RpdmU6ICdhY3RpdmUnLFxuICAgIGlzX2hpZ2hsaWdodDogJ2lzSGlnaGxpZ2h0JyxcbiAgICBpc19nb2FsaWU6ICdpc0dvYWxpZScsXG4gIH0sXG4gIHJlbGF0aW9uOiB7XG4gICAgZGF0ZXRpbWU6IERhdGVUaW1lRmllbGQsXG4gICAgbG9nVHlwZTogZW51bUZpZWxkKEZvb3RiYWxsR2FtZUxvZ1R5cGVzKVxuICB9XG59KVxuZXhwb3J0IGNsYXNzIEZvb3RiYWxsR2FtZUxvZyBleHRlbmRzIEJhc2VNb2RlbCBpbXBsZW1lbnRzIEdhbWVMb2dCYXNlIHtcbiAgaWQ6IG51bWJlcjtcbiAgdW5pcXVlSWQ6IHN0cmluZztcbiAgZ2FtZUlkOiBudW1iZXI7XG4gIGdhbWVVc2VySWQ6IG51bWJlcjtcbiAgZ2FtZVVzZXI6IEdhbWVVc2VyO1xuICB0ZWFtSWQ6IG51bWJlcjtcbiAgbG9nVHlwZTogRm9vdGJhbGxHYW1lTG9nVHlwZXM7XG4gIGRhdGV0aW1lOiBEYXRlO1xuICB0aW1lOiBudW1iZXI7XG4gIHBlcmlvZDogbnVtYmVyO1xuICBhY3RpdmUgPSB0cnVlO1xuICB0ZWFtU2NvcmU6IG51bWJlcjtcbiAgY29tcGV0aXRvclRlYW1TY29yZTogbnVtYmVyO1xuICBpc0hpZ2hsaWdodDogYm9vbGVhbjtcbiAgaXNHb2FsaWU6IGJvb2xlYW47XG5cbiAgY29tcGFyZShtb2RlbDogRm9vdGJhbGxHYW1lTG9nKTogbnVtYmVyIHtcbiAgICBpZiAodGhpcy50aW1lID09PSBtb2RlbC50aW1lICYmIHRoaXMucGVyaW9kID09PSBtb2RlbC5wZXJpb2QpIHtcbiAgICAgIHJldHVybiB0aGlzLmRhdGV0aW1lLmdldFRpbWUoKSA8IG1vZGVsLmRhdGV0aW1lLmdldFRpbWUoKSA/IDEgOiAtMTtcbiAgICB9XG4gICAgaWYgKHRoaXMucGVyaW9kID09PSBtb2RlbC5wZXJpb2QpIHtcbiAgICAgIHJldHVybiB0aGlzLnRpbWUgPCBtb2RlbC50aW1lID8gMSA6IC0xO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5wZXJpb2QgPCBtb2RlbC5wZXJpb2QgPyAxIDogLTE7XG4gIH1cblxuICBnZXQgdGltZUZvcm1hdHRlZCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IG1pbnV0ZXMgPSBNYXRoLmZsb29yKHRoaXMudGltZSAvIDYwKTtcbiAgICBjb25zdCBzZWNvbmRzID0gdGhpcy50aW1lIC0gbWludXRlcyAqIDYwO1xuICAgIHJldHVybiBgJHttaW51dGVzIDwgMTAgPyAnMCcgOiAnJ30ke21pbnV0ZXN9OiR7c2Vjb25kcyA8IDEwID8gJzAnIDogJyd9JHtzZWNvbmRzfWA7XG4gIH1cblxuICBpc1Njb3JlVHlwZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gW0Zvb3RiYWxsR2FtZUxvZ1R5cGVzLmdvYWwsIEZvb3RiYWxsR2FtZUxvZ1R5cGVzLnBlbmFsdHlfZ29hbCwgRm9vdGJhbGxHYW1lTG9nVHlwZXMuc21hbGxfcGVuYWx0eV9nb2FsXS5pbmRleE9mKHRoaXMubG9nVHlwZSkgPiAtMTtcbiAgfVxuXG4gIGlzQWZ0ZXIobG9nOiBGb290YmFsbEdhbWVMb2cpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy50aW1lID09PSBsb2cudGltZSAmJiB0aGlzLnBlcmlvZCA9PT0gbG9nLnBlcmlvZCkge1xuICAgICAgcmV0dXJuIHRoaXMuaWQgPiBsb2cuaWQ7XG4gICAgfVxuICAgIGlmICh0aGlzLnBlcmlvZCA9PT0gbG9nLnBlcmlvZCkge1xuICAgICAgcmV0dXJuIHRoaXMudGltZSA+IGxvZy50aW1lO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5wZXJpb2QgPiBsb2cucGVyaW9kO1xuICB9XG5cbiAgQFRvRnJvbnRIb29rXG4gIHN0YXRpYyB0b0Zyb250KHZhbHVlOiBhbnkpOiBhbnkge31cblxuICBAVG9CYWNrSG9va1xuICBzdGF0aWMgdG9CYWNrKHZhbHVlOiBhbnkpOiBhbnkge31cbn1cbiJdfQ==
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
import { __decorate, __extends } from "tslib";
|
|
2
|
+
import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField } from './util';
|
|
3
|
+
var FootballGameStatistic = /** @class */ (function (_super) {
|
|
4
|
+
__extends(FootballGameStatistic, _super);
|
|
5
|
+
function FootballGameStatistic() {
|
|
6
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(FootballGameStatistic.prototype, "id", {
|
|
9
|
+
get: function () {
|
|
10
|
+
return this.gameUserId;
|
|
11
|
+
},
|
|
12
|
+
enumerable: true,
|
|
13
|
+
configurable: true
|
|
14
|
+
});
|
|
15
|
+
Object.defineProperty(FootballGameStatistic.prototype, "shots", {
|
|
16
|
+
get: function () {
|
|
17
|
+
return (this.shotMisses || 0) + (this.shotsOnGoal || 0) + (this.shotsBlocked || 0);
|
|
18
|
+
},
|
|
19
|
+
enumerable: true,
|
|
20
|
+
configurable: true
|
|
21
|
+
});
|
|
22
|
+
Object.defineProperty(FootballGameStatistic.prototype, "totalGoals", {
|
|
23
|
+
get: function () {
|
|
24
|
+
return (this.goals || 0) + (this.penaltyGoals || 0) + (this.smallPenaltyGoals || 0);
|
|
25
|
+
},
|
|
26
|
+
enumerable: true,
|
|
27
|
+
configurable: true
|
|
28
|
+
});
|
|
29
|
+
Object.defineProperty(FootballGameStatistic.prototype, "goalsPercent", {
|
|
30
|
+
get: function () {
|
|
31
|
+
if (!this.shots || !this.totalGoals) {
|
|
32
|
+
return 0;
|
|
33
|
+
}
|
|
34
|
+
return Math.round(1000 * this.totalGoals / this.shots) / 10;
|
|
35
|
+
},
|
|
36
|
+
enumerable: true,
|
|
37
|
+
configurable: true
|
|
38
|
+
});
|
|
39
|
+
Object.defineProperty(FootballGameStatistic.prototype, "shotsOnGoalPercent", {
|
|
40
|
+
get: function () {
|
|
41
|
+
if (!this.shotsOnGoal || !this.shots) {
|
|
42
|
+
return 0;
|
|
43
|
+
}
|
|
44
|
+
return Math.round(1000 * this.shotsOnGoal / this.shots) / 10;
|
|
45
|
+
},
|
|
46
|
+
enumerable: true,
|
|
47
|
+
configurable: true
|
|
48
|
+
});
|
|
49
|
+
Object.defineProperty(FootballGameStatistic.prototype, "penalties", {
|
|
50
|
+
get: function () {
|
|
51
|
+
return (this.penaltyGoals || 0) + (this.penaltyAttempts || 0);
|
|
52
|
+
},
|
|
53
|
+
enumerable: true,
|
|
54
|
+
configurable: true
|
|
55
|
+
});
|
|
56
|
+
Object.defineProperty(FootballGameStatistic.prototype, "penaltyGoalsPercent", {
|
|
57
|
+
get: function () {
|
|
58
|
+
if (!this.penaltyAttempts || !this.penaltyGoals) {
|
|
59
|
+
return 0;
|
|
60
|
+
}
|
|
61
|
+
return Math.round(1000 * this.penaltyGoals / this.penaltyAttempts) / 10;
|
|
62
|
+
},
|
|
63
|
+
enumerable: true,
|
|
64
|
+
configurable: true
|
|
65
|
+
});
|
|
66
|
+
Object.defineProperty(FootballGameStatistic.prototype, "smallPenalties", {
|
|
67
|
+
get: function () {
|
|
68
|
+
return (this.smallPenaltyGoals || 0) + (this.smallPenaltyAttempts || 0);
|
|
69
|
+
},
|
|
70
|
+
enumerable: true,
|
|
71
|
+
configurable: true
|
|
72
|
+
});
|
|
73
|
+
Object.defineProperty(FootballGameStatistic.prototype, "smallPenaltyGoalsPercent", {
|
|
74
|
+
get: function () {
|
|
75
|
+
if (!this.smallPenaltyAttempts || !this.smallPenaltyGoals) {
|
|
76
|
+
return 0;
|
|
77
|
+
}
|
|
78
|
+
return Math.round(1000 * this.smallPenaltyGoals / this.smallPenaltyAttempts) / 10;
|
|
79
|
+
},
|
|
80
|
+
enumerable: true,
|
|
81
|
+
configurable: true
|
|
82
|
+
});
|
|
83
|
+
Object.defineProperty(FootballGameStatistic.prototype, "shotsAgainst", {
|
|
84
|
+
get: function () {
|
|
85
|
+
return (this.saves || 0) + (this.goalsAgainst || 0);
|
|
86
|
+
},
|
|
87
|
+
enumerable: true,
|
|
88
|
+
configurable: true
|
|
89
|
+
});
|
|
90
|
+
Object.defineProperty(FootballGameStatistic.prototype, "penaltyShotsAgainst", {
|
|
91
|
+
get: function () {
|
|
92
|
+
return (this.penaltySaves || 0) + (this.penaltyGoalsAgainst || 0);
|
|
93
|
+
},
|
|
94
|
+
enumerable: true,
|
|
95
|
+
configurable: true
|
|
96
|
+
});
|
|
97
|
+
Object.defineProperty(FootballGameStatistic.prototype, "smallPenaltyShotsAgainst", {
|
|
98
|
+
get: function () {
|
|
99
|
+
return (this.smallPenaltySaves || 0) + (this.smallPenaltyGoalsAgainst || 0);
|
|
100
|
+
},
|
|
101
|
+
enumerable: true,
|
|
102
|
+
configurable: true
|
|
103
|
+
});
|
|
104
|
+
Object.defineProperty(FootballGameStatistic.prototype, "totalGoalsAgainst", {
|
|
105
|
+
get: function () {
|
|
106
|
+
return (this.goalsAgainst || 0) + (this.penaltyGoalsAgainst || 0) + (this.smallPenaltyGoalsAgainst || 0);
|
|
107
|
+
},
|
|
108
|
+
enumerable: true,
|
|
109
|
+
configurable: true
|
|
110
|
+
});
|
|
111
|
+
Object.defineProperty(FootballGameStatistic.prototype, "totalSaves", {
|
|
112
|
+
get: function () {
|
|
113
|
+
return (this.saves || 0) + (this.penaltySaves || 0) + (this.smallPenaltySaves || 0);
|
|
114
|
+
},
|
|
115
|
+
enumerable: true,
|
|
116
|
+
configurable: true
|
|
117
|
+
});
|
|
118
|
+
Object.defineProperty(FootballGameStatistic.prototype, "savesPercent", {
|
|
119
|
+
get: function () {
|
|
120
|
+
if (!this.shotsAgainst || !this.saves) {
|
|
121
|
+
return 0;
|
|
122
|
+
}
|
|
123
|
+
return Math.round(1000 * this.saves / this.shotsAgainst) / 10;
|
|
124
|
+
},
|
|
125
|
+
enumerable: true,
|
|
126
|
+
configurable: true
|
|
127
|
+
});
|
|
128
|
+
Object.defineProperty(FootballGameStatistic.prototype, "penaltySavesPercent", {
|
|
129
|
+
get: function () {
|
|
130
|
+
if (!this.penaltyShotsAgainst || !this.penaltySaves) {
|
|
131
|
+
return 0;
|
|
132
|
+
}
|
|
133
|
+
return Math.round(1000 * this.penaltySaves / this.penaltyShotsAgainst) / 10;
|
|
134
|
+
},
|
|
135
|
+
enumerable: true,
|
|
136
|
+
configurable: true
|
|
137
|
+
});
|
|
138
|
+
Object.defineProperty(FootballGameStatistic.prototype, "smallPenaltySavesPercent", {
|
|
139
|
+
get: function () {
|
|
140
|
+
if (!this.smallPenaltyShotsAgainst || !this.smallPenaltySaves) {
|
|
141
|
+
return 0;
|
|
142
|
+
}
|
|
143
|
+
return Math.round(1000 * this.smallPenaltySaves / this.smallPenaltyShotsAgainst) / 10;
|
|
144
|
+
},
|
|
145
|
+
enumerable: true,
|
|
146
|
+
configurable: true
|
|
147
|
+
});
|
|
148
|
+
Object.defineProperty(FootballGameStatistic.prototype, "gameMinutes", {
|
|
149
|
+
get: function () {
|
|
150
|
+
return Math.floor(this.gameTime / 60);
|
|
151
|
+
},
|
|
152
|
+
enumerable: true,
|
|
153
|
+
configurable: true
|
|
154
|
+
});
|
|
155
|
+
FootballGameStatistic.toFront = function (data) { };
|
|
156
|
+
FootballGameStatistic.toBack = function (data) { };
|
|
157
|
+
__decorate([
|
|
158
|
+
ToFrontHook
|
|
159
|
+
], FootballGameStatistic, "toFront", null);
|
|
160
|
+
__decorate([
|
|
161
|
+
ToBackHook
|
|
162
|
+
], FootballGameStatistic, "toBack", null);
|
|
163
|
+
FootballGameStatistic = __decorate([
|
|
164
|
+
ModelInstance({
|
|
165
|
+
mappingFields: {
|
|
166
|
+
game_user_id: 'gameUserId',
|
|
167
|
+
updated_at: 'updatedAt',
|
|
168
|
+
points: 'points',
|
|
169
|
+
shot_misses: 'shotMisses',
|
|
170
|
+
shots_on_goal: 'shotsOnGoal',
|
|
171
|
+
shots_blocked: 'shotsBlocked',
|
|
172
|
+
goals: 'goals',
|
|
173
|
+
assists: 'assists',
|
|
174
|
+
corners: 'corners',
|
|
175
|
+
free_kicks: 'freeKicks',
|
|
176
|
+
penalty_goals: 'penaltyGoals',
|
|
177
|
+
penalty_attempts: 'penaltyAttempts',
|
|
178
|
+
penalty_goals_against: 'penaltyGoalsAgainst',
|
|
179
|
+
penalty_saves: 'penaltySaves',
|
|
180
|
+
small_penalty_goals: 'smallPenaltyGoals',
|
|
181
|
+
small_penalty_attempts: 'smallPenaltyAttempts',
|
|
182
|
+
small_penalty_goals_against: 'smallPenaltyGoalsAgainst',
|
|
183
|
+
small_penalty_saves: 'smallPenaltySaves',
|
|
184
|
+
saves: 'saves',
|
|
185
|
+
goals_against: 'goalsAgainst',
|
|
186
|
+
safety_rate: 'safetyRate',
|
|
187
|
+
game_time: 'gameTime',
|
|
188
|
+
plus_minus: 'plusMinus',
|
|
189
|
+
fouls: 'fouls',
|
|
190
|
+
yellow_cards: 'yellowCards',
|
|
191
|
+
red_cards: 'redCards',
|
|
192
|
+
perfect_passes: 'perfectPasses',
|
|
193
|
+
losses: 'losses',
|
|
194
|
+
steals: 'steals',
|
|
195
|
+
outs: 'outs',
|
|
196
|
+
block_shots: 'blockShots'
|
|
197
|
+
},
|
|
198
|
+
relation: {
|
|
199
|
+
updatedAt: DateTimeField,
|
|
200
|
+
}
|
|
201
|
+
})
|
|
202
|
+
], FootballGameStatistic);
|
|
203
|
+
return FootballGameStatistic;
|
|
204
|
+
}(BaseModel));
|
|
205
|
+
export { FootballGameStatistic };
|
|
206
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGJhbGwtZ2FtZS1zdGF0aXN0aWMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbXRnYW1lL2NvcmUvIiwic291cmNlcyI6WyJtb2RlbHMvZm9vdGJhbGwtZ2FtZS1zdGF0aXN0aWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBeUMxRjtJQUEyQyx5Q0FBUztJQUFwRDs7SUFxSUEsQ0FBQztJQXBHQyxzQkFBSSxxQ0FBRTthQUFOO1lBQ0UsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ3pCLENBQUM7OztPQUFBO0lBRUQsc0JBQUksd0NBQUs7YUFBVDtZQUNFLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDckYsQ0FBQzs7O09BQUE7SUFHRCxzQkFBSSw2Q0FBVTthQUFkO1lBQ0UsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGlCQUFpQixJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3RGLENBQUM7OztPQUFBO0lBRUQsc0JBQUksK0NBQVk7YUFBaEI7WUFDRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ25DLE9BQU8sQ0FBQyxDQUFDO2FBQ1Y7WUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUM5RCxDQUFD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QUN2QixNQUFNLEVBQUUsUUFBUTtnQkFDaEIsV0FBVyxFQUFFLFlBQVk7Z0JBQ3pCLGFBQWEsRUFBRSxhQUFhO2dCQUM1QixhQUFhLEVBQUUsY0FBYztnQkFDN0IsS0FBSyxFQUFFLE9BQU87Z0JBQ2QsT0FBTyxFQUFFLFNBQVM7Z0JBQ2xCLE9BQU8sRUFBRSxTQUFTO2dCQUNsQixVQUFVLEVBQUUsV0FBVztnQkFDdkIsYUFBYSxFQUFFLGNBQWM7Z0JBQzdCLGdCQUFnQixFQUFFLGlCQUFpQjtnQkFDbkMscUJBQXFCLEVBQUUscUJBQXFCO2dCQUM1QyxhQUFhLEVBQUUsY0FBYztnQkFDN0IsbUJBQW1CLEVBQUUsbUJBQW1CO2dCQUN4QyxzQkFBc0IsRUFBRSxzQkFBc0I7Z0JBQzlDLDJCQUEyQixFQUFFLDBCQUEwQjtnQkFDdkQsbUJBQW1CLEVBQUUsbUJBQW1CO2dCQUN4QyxLQUFLLEVBQUUsT0FBTztnQkFDZCxhQUFhLEVBQUUsY0FBYztnQkFDN0IsV0FBVyxFQUFFLFlBQVk7Z0JBQ3pCLFNBQVMsRUFBRSxVQUFVO2dCQUNyQixVQUFVLEVBQUUsV0FBVztnQkFDdkIsS0FBSyxFQUFFLE9BQU87Z0JBQ2QsWUFBWSxFQUFFLGFBQWE7Z0JBQzNCLFNBQVMsRUFBRSxVQUFVO2dCQUNyQixjQUFjLEVBQUUsZUFBZTtnQkFDL0IsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLE1BQU0sRUFBRSxRQUFRO2dCQUNoQixJQUFJLEVBQUUsTUFBTTtnQkFDWixXQUFXLEVBQUUsWUFBWTthQUMxQjtZQUNELFFBQVEsRUFBRTtnQkFDUixTQUFTLEVBQUUsYUFBYTthQUN6QjtTQUNGLENBQUM7T0FDVyxxQkFBcUIsQ0FxSWpDO0lBQUQsNEJBQUM7Q0FBQSxBQXJJRCxDQUEyQyxTQUFTLEdBcUluRDtTQXJJWSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2RlbEluc3RhbmNlLCBCYXNlTW9kZWwsIFRvRnJvbnRIb29rLCBUb0JhY2tIb29rLCBEYXRlVGltZUZpZWxkIH0gZnJvbSAnLi91dGlsJztcbmltcG9ydCB7IEdhbWVTdGF0aXN0aWNCYXNlIH0gZnJvbSAnLi9nYW1lLXN0YXRpc3RpYy1iYXNlJztcblxuQE1vZGVsSW5zdGFuY2Uoe1xuICBtYXBwaW5nRmllbGRzOiB7XG4gICAgZ2FtZV91c2VyX2lkOiAnZ2FtZVVzZXJJZCcsXG4gICAgdXBkYXRlZF9hdDogJ3VwZGF0ZWRBdCcsXG4gICAgcG9pbnRzOiAncG9pbnRzJyxcbiAgICBzaG90X21pc3NlczogJ3Nob3RNaXNzZXMnLFxuICAgIHNob3RzX29uX2dvYWw6ICdzaG90c09uR29hbCcsXG4gICAgc2hvdHNfYmxvY2tlZDogJ3Nob3RzQmxvY2tlZCcsXG4gICAgZ29hbHM6ICdnb2FscycsXG4gICAgYXNzaXN0czogJ2Fzc2lzdHMnLFxuICAgIGNvcm5lcnM6ICdjb3JuZXJzJyxcbiAgICBmcmVlX2tpY2tzOiAnZnJlZUtpY2tzJyxcbiAgICBwZW5hbHR5X2dvYWxzOiAncGVuYWx0eUdvYWxzJyxcbiAgICBwZW5hbHR5X2F0dGVtcHRzOiAncGVuYWx0eUF0dGVtcHRzJyxcbiAgICBwZW5hbHR5X2dvYWxzX2FnYWluc3Q6ICdwZW5hbHR5R29hbHNBZ2FpbnN0JyxcbiAgICBwZW5hbHR5X3NhdmVzOiAncGVuYWx0eVNhdmVzJyxcbiAgICBzbWFsbF9wZW5hbHR5X2dvYWxzOiAnc21hbGxQZW5hbHR5R29hbHMnLFxuICAgIHNtYWxsX3BlbmFsdHlfYXR0ZW1wdHM6ICdzbWFsbFBlbmFsdHlBdHRlbXB0cycsXG4gICAgc21hbGxfcGVuYWx0eV9nb2Fsc19hZ2FpbnN0OiAnc21hbGxQZW5hbHR5R29hbHNBZ2FpbnN0JyxcbiAgICBzbWFsbF9wZW5hbHR5X3NhdmVzOiAnc21hbGxQZW5hbHR5U2F2ZXMnLFxuICAgIHNhdmVzOiAnc2F2ZXMnLFxuICAgIGdvYWxzX2FnYWluc3Q6ICdnb2Fsc0FnYWluc3QnLFxuICAgIHNhZmV0eV9yYXRlOiAnc2FmZXR5UmF0ZScsXG4gICAgZ2FtZV90aW1lOiAnZ2FtZVRpbWUnLFxuICAgIHBsdXNfbWludXM6ICdwbHVzTWludXMnLFxuICAgIGZvdWxzOiAnZm91bHMnLFxuICAgIHllbGxvd19jYXJkczogJ3llbGxvd0NhcmRzJyxcbiAgICByZWRfY2FyZHM6ICdyZWRDYXJkcycsXG4gICAgcGVyZmVjdF9wYXNzZXM6ICdwZXJmZWN0UGFzc2VzJyxcbiAgICBsb3NzZXM6ICdsb3NzZXMnLFxuICAgIHN0ZWFsczogJ3N0ZWFscycsXG4gICAgb3V0czogJ291dHMnLFxuICAgIGJsb2NrX3Nob3RzOiAnYmxvY2tTaG90cydcbiAgfSxcbiAgcmVsYXRpb246IHtcbiAgICB1cGRhdGVkQXQ6IERhdGVUaW1lRmllbGQsXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgRm9vdGJhbGxHYW1lU3RhdGlzdGljIGV4dGVuZHMgQmFzZU1vZGVsIGltcGxlbWVudHMgR2FtZVN0YXRpc3RpY0Jhc2Uge1xuICBnYW1lVXNlcklkOiBudW1iZXI7XG4gIHBvaW50czogbnVtYmVyO1xuICBzaG90TWlzc2VzOiBudW1iZXI7XG4gIHNob3RzT25Hb2FsOiBudW1iZXI7XG4gIHNob3RzQmxvY2tlZDogbnVtYmVyO1xuICBnb2FsczogbnVtYmVyO1xuICBhc3Npc3RzOiBudW1iZXI7XG4gIGJsb2NrU2hvdHM6IG51bWJlcjtcbiAgY29ybmVyczogbnVtYmVyO1xuICBmcmVlS2lja3M6IG51bWJlcjtcbiAgcGVuYWx0eUdvYWxzOiBudW1iZXI7XG4gIHBlbmFsdHlBdHRlbXB0czogbnVtYmVyO1xuICBwZW5hbHR5R29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIHBlbmFsdHlTYXZlczogbnVtYmVyO1xuICBzbWFsbFBlbmFsdHlHb2FsczogbnVtYmVyO1xuICBzbWFsbFBlbmFsdHlBdHRlbXB0czogbnVtYmVyO1xuICBzbWFsbFBlbmFsdHlHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgc21hbGxQZW5hbHR5U2F2ZXM6IG51bWJlcjtcbiAgc2F2ZXM6IG51bWJlcjtcbiAgZ29hbHNBZ2FpbnN0OiBudW1iZXI7XG4gIHNhZmV0eVJhdGU6IG51bWJlcjtcbiAgZm91bHM6IG51bWJlcjtcbiAgeWVsbG93Q2FyZHM6IG51bWJlcjtcbiAgcmVkQ2FyZHM6IG51bWJlcjtcbiAgcGVyZmVjdFBhc3NlczogbnVtYmVyO1xuICBsb3NzZXM6IG51bWJlcjtcbiAgc3RlYWxzOiBudW1iZXI7XG4gIG91dHM6IG51bWJlcjtcbiAgZ2FtZVRpbWU6IG51bWJlcjtcbiAgcGx1c01pbnVzOiBudW1iZXI7XG4gIHVwZGF0ZWRBdDogRGF0ZTtcblxuICBnZXQgaWQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nYW1lVXNlcklkO1xuICB9XG5cbiAgZ2V0IHNob3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnNob3RNaXNzZXMgfHwgMCkgKyAodGhpcy5zaG90c09uR29hbCB8fCAwKSArICh0aGlzLnNob3RzQmxvY2tlZCB8fCAwKTtcbiAgfVxuXG5cbiAgZ2V0IHRvdGFsR29hbHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMuZ29hbHMgfHwgMCkgKyAodGhpcy5wZW5hbHR5R29hbHMgfHwgMCkgKyAodGhpcy5zbWFsbFBlbmFsdHlHb2FscyB8fCAwKTtcbiAgfVxuXG4gIGdldCBnb2Fsc1BlcmNlbnQoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMuc2hvdHMgfHwgIXRoaXMudG90YWxHb2Fscykge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLnJvdW5kKDEwMDAgKiB0aGlzLnRvdGFsR29hbHMgLyB0aGlzLnNob3RzKSAvIDEwO1xuICB9XG5cbiAgZ2V0IHNob3RzT25Hb2FsUGVyY2VudCgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy5zaG90c09uR29hbCB8fCAhdGhpcy5zaG90cykge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLnJvdW5kKDEwMDAgKiB0aGlzLnNob3RzT25Hb2FsIC8gdGhpcy5zaG90cykgLyAxMDtcbiAgfVxuXG4gIGdldCBwZW5hbHRpZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMucGVuYWx0eUdvYWxzIHx8IDApICsgKHRoaXMucGVuYWx0eUF0dGVtcHRzIHx8IDApO1xuICB9XG5cbiAgZ2V0IHBlbmFsdHlHb2Fsc1BlcmNlbnQoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMucGVuYWx0eUF0dGVtcHRzIHx8ICF0aGlzLnBlbmFsdHlHb2Fscykge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLnJvdW5kKDEwMDAgKiB0aGlzLnBlbmFsdHlHb2FscyAvIHRoaXMucGVuYWx0eUF0dGVtcHRzKSAvIDEwO1xuICB9XG5cbiAgZ2V0IHNtYWxsUGVuYWx0aWVzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnNtYWxsUGVuYWx0eUdvYWxzIHx8IDApICsgKHRoaXMuc21hbGxQZW5hbHR5QXR0ZW1wdHMgfHwgMCk7XG4gIH1cblxuICBnZXQgc21hbGxQZW5hbHR5R29hbHNQZXJjZW50KCk6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLnNtYWxsUGVuYWx0eUF0dGVtcHRzIHx8ICF0aGlzLnNtYWxsUGVuYWx0eUdvYWxzKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgucm91bmQoMTAwMCAqIHRoaXMuc21hbGxQZW5hbHR5R29hbHMgLyB0aGlzLnNtYWxsUGVuYWx0eUF0dGVtcHRzKSAvIDEwO1xuICB9XG5cbiAgZ2V0IHNob3RzQWdhaW5zdCgpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5zYXZlcyB8fCAwKSArICh0aGlzLmdvYWxzQWdhaW5zdCB8fCAwKTtcbiAgfVxuXG4gIGdldCBwZW5hbHR5U2hvdHNBZ2FpbnN0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnBlbmFsdHlTYXZlcyB8fCAwKSArICh0aGlzLnBlbmFsdHlHb2Fsc0FnYWluc3QgfHwgMCk7XG4gIH1cblxuICBnZXQgc21hbGxQZW5hbHR5U2hvdHNBZ2FpbnN0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnNtYWxsUGVuYWx0eVNhdmVzIHx8IDApICsgKHRoaXMuc21hbGxQZW5hbHR5R29hbHNBZ2FpbnN0IHx8IDApO1xuICB9XG5cbiAgZ2V0IHRvdGFsR29hbHNBZ2FpbnN0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLmdvYWxzQWdhaW5zdCB8fCAwKSArICh0aGlzLnBlbmFsdHlHb2Fsc0FnYWluc3QgfHwgMCkgKyAodGhpcy5zbWFsbFBlbmFsdHlHb2Fsc0FnYWluc3QgfHwgMCk7XG4gIH1cblxuXG4gIGdldCB0b3RhbFNhdmVzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLnNhdmVzIHx8IDApICsgKHRoaXMucGVuYWx0eVNhdmVzIHx8IDApICsgKHRoaXMuc21hbGxQZW5hbHR5U2F2ZXMgfHwgMCk7XG4gIH1cblxuICBnZXQgc2F2ZXNQZXJjZW50KCk6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLnNob3RzQWdhaW5zdCB8fCAhdGhpcy5zYXZlcykge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLnJvdW5kKDEwMDAgKiB0aGlzLnNhdmVzIC8gdGhpcy5zaG90c0FnYWluc3QpIC8gMTA7XG4gIH1cblxuICBnZXQgcGVuYWx0eVNhdmVzUGVyY2VudCgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy5wZW5hbHR5U2hvdHNBZ2FpbnN0IHx8ICF0aGlzLnBlbmFsdHlTYXZlcykge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLnJvdW5kKDEwMDAgKiB0aGlzLnBlbmFsdHlTYXZlcyAvIHRoaXMucGVuYWx0eVNob3RzQWdhaW5zdCkgLyAxMDtcbiAgfVxuXG4gIGdldCBzbWFsbFBlbmFsdHlTYXZlc1BlcmNlbnQoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMuc21hbGxQZW5hbHR5U2hvdHNBZ2FpbnN0IHx8ICF0aGlzLnNtYWxsUGVuYWx0eVNhdmVzKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgucm91bmQoMTAwMCAqIHRoaXMuc21hbGxQZW5hbHR5U2F2ZXMgLyB0aGlzLnNtYWxsUGVuYWx0eVNob3RzQWdhaW5zdCkgLyAxMDtcbiAgfVxuXG4gIGdldCBnYW1lTWludXRlcygpOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLmZsb29yKHRoaXMuZ2FtZVRpbWUgLyA2MCk7XG4gIH1cblxuICBAVG9Gcm9udEhvb2tcbiAgc3RhdGljIHRvRnJvbnQoZGF0YTogYW55KTogYW55IHt9XG5cbiAgQFRvQmFja0hvb2tcbiAgc3RhdGljIHRvQmFjayhkYXRhOiBhbnkpOiBhbnkge31cbn1cbiJdfQ==
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { __decorate, __extends } from "tslib";
|
|
2
|
+
import { ModelInstance, BaseModel, ToBackHook, ToFrontHook } from './util';
|
|
3
|
+
import { FootballStatistic } from './football-statistic';
|
|
4
|
+
var FootballGameTeamStatistic = /** @class */ (function (_super) {
|
|
5
|
+
__extends(FootballGameTeamStatistic, _super);
|
|
6
|
+
function FootballGameTeamStatistic() {
|
|
7
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
8
|
+
}
|
|
9
|
+
FootballGameTeamStatistic.toFront = function (data) { };
|
|
10
|
+
FootballGameTeamStatistic.toBack = function (data) { };
|
|
11
|
+
__decorate([
|
|
12
|
+
ToFrontHook
|
|
13
|
+
], FootballGameTeamStatistic, "toFront", null);
|
|
14
|
+
__decorate([
|
|
15
|
+
ToBackHook
|
|
16
|
+
], FootballGameTeamStatistic, "toBack", null);
|
|
17
|
+
FootballGameTeamStatistic = __decorate([
|
|
18
|
+
ModelInstance({
|
|
19
|
+
mappingFields: {
|
|
20
|
+
team: 'team',
|
|
21
|
+
competitor_team: 'competitorTeam'
|
|
22
|
+
},
|
|
23
|
+
relation: {
|
|
24
|
+
team: FootballStatistic,
|
|
25
|
+
competitorTeam: FootballStatistic
|
|
26
|
+
}
|
|
27
|
+
})
|
|
28
|
+
], FootballGameTeamStatistic);
|
|
29
|
+
return FootballGameTeamStatistic;
|
|
30
|
+
}(BaseModel));
|
|
31
|
+
export { FootballGameTeamStatistic };
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGJhbGwtZ2FtZS10ZWFtLXN0YXRpc3RpYy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BtdGdhbWUvY29yZS8iLCJzb3VyY2VzIjpbIm1vZGVscy9mb290YmFsbC1nYW1lLXRlYW0tc3RhdGlzdGljLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBWXpEO0lBQStDLDZDQUFTO0lBQXhEOztJQVNBLENBQUM7SUFKUSxpQ0FBTyxHQUFkLFVBQWUsSUFBUyxJQUFRLENBQUM7SUFHMUIsZ0NBQU0sR0FBYixVQUFjLElBQVMsSUFBUSxDQUFDO0lBSGhDO1FBREMsV0FBVztrREFDcUI7SUFHakM7UUFEQyxVQUFVO2lEQUNxQjtJQVJyQix5QkFBeUI7UUFWckMsYUFBYSxDQUFDO1lBQ2IsYUFBYSxFQUFFO2dCQUNiLElBQUksRUFBRSxNQUFNO2dCQUNaLGVBQWUsRUFBRSxnQkFBZ0I7YUFDbEM7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsSUFBSSxFQUFFLGlCQUFpQjtnQkFDdkIsY0FBYyxFQUFFLGlCQUFpQjthQUNsQztTQUNGLENBQUM7T0FDVyx5QkFBeUIsQ0FTckM7SUFBRCxnQ0FBQztDQUFBLEFBVEQsQ0FBK0MsU0FBUyxHQVN2RDtTQVRZLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZGVsSW5zdGFuY2UsIEJhc2VNb2RlbCwgVG9CYWNrSG9vaywgVG9Gcm9udEhvb2sgfSBmcm9tICcuL3V0aWwnO1xuaW1wb3J0IHsgRm9vdGJhbGxTdGF0aXN0aWMgfSBmcm9tICcuL2Zvb3RiYWxsLXN0YXRpc3RpYyc7XG5cbkBNb2RlbEluc3RhbmNlKHtcbiAgbWFwcGluZ0ZpZWxkczoge1xuICAgIHRlYW06ICd0ZWFtJyxcbiAgICBjb21wZXRpdG9yX3RlYW06ICdjb21wZXRpdG9yVGVhbSdcbiAgfSxcbiAgcmVsYXRpb246IHtcbiAgICB0ZWFtOiBGb290YmFsbFN0YXRpc3RpYyxcbiAgICBjb21wZXRpdG9yVGVhbTogRm9vdGJhbGxTdGF0aXN0aWNcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBGb290YmFsbEdhbWVUZWFtU3RhdGlzdGljIGV4dGVuZHMgQmFzZU1vZGVsIHtcbiAgdGVhbTogRm9vdGJhbGxTdGF0aXN0aWM7XG4gIGNvbXBldGl0b3JUZWFtOiBGb290YmFsbFN0YXRpc3RpYztcblxuICBAVG9Gcm9udEhvb2tcbiAgc3RhdGljIHRvRnJvbnQoZGF0YTogYW55KTogYW55IHt9XG5cbiAgQFRvQmFja0hvb2tcbiAgc3RhdGljIHRvQmFjayhkYXRhOiBhbnkpOiBhbnkge31cbn1cbiJdfQ==
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { __decorate, __extends } from "tslib";
|
|
2
|
+
import { BaseModel, enumField, ModelInstance, ToBackHook, ToFrontHook } from './util';
|
|
3
|
+
export var GameFootballPosition;
|
|
4
|
+
(function (GameFootballPosition) {
|
|
5
|
+
GameFootballPosition[GameFootballPosition["defensemen"] = 1] = "defensemen";
|
|
6
|
+
GameFootballPosition[GameFootballPosition["midfielder"] = 2] = "midfielder";
|
|
7
|
+
GameFootballPosition[GameFootballPosition["forward"] = 3] = "forward";
|
|
8
|
+
GameFootballPosition[GameFootballPosition["goalkeeper"] = 4] = "goalkeeper";
|
|
9
|
+
})(GameFootballPosition || (GameFootballPosition = {}));
|
|
10
|
+
export var FootballWorkFoot;
|
|
11
|
+
(function (FootballWorkFoot) {
|
|
12
|
+
FootballWorkFoot[FootballWorkFoot["left"] = 1] = "left";
|
|
13
|
+
FootballWorkFoot[FootballWorkFoot["right"] = 2] = "right";
|
|
14
|
+
FootballWorkFoot[FootballWorkFoot["both"] = 3] = "both";
|
|
15
|
+
})(FootballWorkFoot || (FootballWorkFoot = {}));
|
|
16
|
+
var FootballProfile = /** @class */ (function (_super) {
|
|
17
|
+
__extends(FootballProfile, _super);
|
|
18
|
+
function FootballProfile() {
|
|
19
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
20
|
+
}
|
|
21
|
+
FootballProfile.toFront = function (value) {
|
|
22
|
+
};
|
|
23
|
+
FootballProfile.toBack = function (value) {
|
|
24
|
+
};
|
|
25
|
+
__decorate([
|
|
26
|
+
ToFrontHook
|
|
27
|
+
], FootballProfile, "toFront", null);
|
|
28
|
+
__decorate([
|
|
29
|
+
ToBackHook
|
|
30
|
+
], FootballProfile, "toBack", null);
|
|
31
|
+
FootballProfile = __decorate([
|
|
32
|
+
ModelInstance({
|
|
33
|
+
mappingFields: {
|
|
34
|
+
id: 'id',
|
|
35
|
+
user_id: 'userId',
|
|
36
|
+
position: 'position',
|
|
37
|
+
work_foot: 'workFoot'
|
|
38
|
+
},
|
|
39
|
+
relation: {
|
|
40
|
+
position: enumField(GameFootballPosition),
|
|
41
|
+
workFoot: enumField(FootballWorkFoot)
|
|
42
|
+
}
|
|
43
|
+
})
|
|
44
|
+
], FootballProfile);
|
|
45
|
+
return FootballProfile;
|
|
46
|
+
}(BaseModel));
|
|
47
|
+
export { FootballProfile };
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGJhbGwtcHJvZmlsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BtdGdhbWUvY29yZS8iLCJzb3VyY2VzIjpbIm1vZGVscy9mb290YmFsbC1wcm9maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUV0RixNQUFNLENBQU4sSUFBWSxvQkFLWDtBQUxELFdBQVksb0JBQW9CO0lBQzlCLDJFQUFjLENBQUE7SUFDZCwyRUFBVSxDQUFBO0lBQ1YscUVBQU8sQ0FBQTtJQUNQLDJFQUFVLENBQUE7QUFDWixDQUFDLEVBTFcsb0JBQW9CLEtBQXBCLG9CQUFvQixRQUsvQjtBQUVELE1BQU0sQ0FBTixJQUFZLGdCQUlYO0FBSkQsV0FBWSxnQkFBZ0I7SUFDMUIsdURBQVEsQ0FBQTtJQUNSLHlEQUFLLENBQUE7SUFDTCx1REFBSSxDQUFBO0FBQ04sQ0FBQyxFQUpXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFJM0I7QUFjRDtJQUFxQyxtQ0FBUztJQUE5Qzs7SUFhQSxDQUFDO0lBTlEsdUJBQU8sR0FBZCxVQUFlLEtBQVU7SUFDekIsQ0FBQztJQUdNLHNCQUFNLEdBQWIsVUFBYyxLQUFVO0lBQ3hCLENBQUM7SUFMRDtRQURDLFdBQVc7d0NBRVg7SUFHRDtRQURDLFVBQVU7dUNBRVY7SUFaVSxlQUFlO1FBWjNCLGFBQWEsQ0FBQztZQUNiLGFBQWEsRUFBRTtnQkFDYixFQUFFLEVBQUUsSUFBSTtnQkFDUixPQUFPLEVBQUUsUUFBUTtnQkFDakIsUUFBUSxFQUFFLFVBQVU7Z0JBQ3BCLFNBQVMsRUFBRSxVQUFVO2FBQ3RCO1lBQ0QsUUFBUSxFQUFFO2dCQUNSLFFBQVEsRUFBRSxTQUFTLENBQUMsb0JBQW9CLENBQUM7Z0JBQ3pDLFFBQVEsRUFBRSxTQUFTLENBQUMsZ0JBQWdCLENBQUM7YUFDdEM7U0FDRixDQUFDO09BQ1csZUFBZSxDQWEzQjtJQUFELHNCQUFDO0NBQUEsQUFiRCxDQUFxQyxTQUFTLEdBYTdDO1NBYlksZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VNb2RlbCwgZW51bUZpZWxkLCBNb2RlbEluc3RhbmNlLCBUb0JhY2tIb29rLCBUb0Zyb250SG9vayB9IGZyb20gJy4vdXRpbCc7XG5cbmV4cG9ydCBlbnVtIEdhbWVGb290YmFsbFBvc2l0aW9uIHtcbiAgZGVmZW5zZW1lbiA9IDEsXG4gIG1pZGZpZWxkZXIsXG4gIGZvcndhcmQsXG4gIGdvYWxrZWVwZXJcbn1cblxuZXhwb3J0IGVudW0gRm9vdGJhbGxXb3JrRm9vdCB7XG4gIGxlZnQgPSAxLFxuICByaWdodCxcbiAgYm90aFxufVxuXG5ATW9kZWxJbnN0YW5jZSh7XG4gIG1hcHBpbmdGaWVsZHM6IHtcbiAgICBpZDogJ2lkJyxcbiAgICB1c2VyX2lkOiAndXNlcklkJyxcbiAgICBwb3NpdGlvbjogJ3Bvc2l0aW9uJyxcbiAgICB3b3JrX2Zvb3Q6ICd3b3JrRm9vdCdcbiAgfSxcbiAgcmVsYXRpb246IHtcbiAgICBwb3NpdGlvbjogZW51bUZpZWxkKEdhbWVGb290YmFsbFBvc2l0aW9uKSxcbiAgICB3b3JrRm9vdDogZW51bUZpZWxkKEZvb3RiYWxsV29ya0Zvb3QpXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgRm9vdGJhbGxQcm9maWxlIGV4dGVuZHMgQmFzZU1vZGVsIHtcbiAgaWQ6IG51bWJlcjtcbiAgdXNlcklkOiBudW1iZXI7XG4gIHBvc2l0aW9uOiBHYW1lRm9vdGJhbGxQb3NpdGlvbjtcbiAgd29ya0Zvb3Q6IEZvb3RiYWxsV29ya0Zvb3Q7XG5cbiAgQFRvRnJvbnRIb29rXG4gIHN0YXRpYyB0b0Zyb250KHZhbHVlOiBhbnkpOiBhbnkge1xuICB9XG5cbiAgQFRvQmFja0hvb2tcbiAgc3RhdGljIHRvQmFjayh2YWx1ZTogYW55KTogYW55IHtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { __decorate, __extends } from "tslib";
|
|
2
|
+
import { ModelInstance, ToFrontHook, ToBackHook, DateField } from './util';
|
|
3
|
+
import { TournamentTeamUser } from './tournament-team-user';
|
|
4
|
+
import { Team } from './team';
|
|
5
|
+
import { TeamUser } from './team-user';
|
|
6
|
+
import { User } from './user';
|
|
7
|
+
import { TournamentTeam } from './tournament-team';
|
|
8
|
+
import { BaseStatistic } from './base-statistic';
|
|
9
|
+
var FootballStatistic = /** @class */ (function (_super) {
|
|
10
|
+
__extends(FootballStatistic, _super);
|
|
11
|
+
function FootballStatistic() {
|
|
12
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(FootballStatistic.prototype, "userMinutes", {
|
|
15
|
+
get: function () {
|
|
16
|
+
var minutes = Math.floor(this.gameTime / 60);
|
|
17
|
+
var seconds = Math.floor(this.gameTime - minutes * 60);
|
|
18
|
+
return "" + (minutes < 10 ? 0 : '') + minutes + ":" + (seconds < 10 ? 0 : '') + seconds;
|
|
19
|
+
},
|
|
20
|
+
enumerable: true,
|
|
21
|
+
configurable: true
|
|
22
|
+
});
|
|
23
|
+
FootballStatistic.toFront = function (data) { };
|
|
24
|
+
FootballStatistic.toBack = function (data) { };
|
|
25
|
+
__decorate([
|
|
26
|
+
ToFrontHook
|
|
27
|
+
], FootballStatistic, "toFront", null);
|
|
28
|
+
__decorate([
|
|
29
|
+
ToBackHook
|
|
30
|
+
], FootballStatistic, "toBack", null);
|
|
31
|
+
FootballStatistic = __decorate([
|
|
32
|
+
ModelInstance({
|
|
33
|
+
mappingFields: {
|
|
34
|
+
tournament_team_user: 'tournamentTeamUser',
|
|
35
|
+
team: 'team',
|
|
36
|
+
team_user: 'teamUser',
|
|
37
|
+
user: 'user',
|
|
38
|
+
tournament_team: 'tournamentTeam',
|
|
39
|
+
month: 'month',
|
|
40
|
+
win_lose: 'winLose',
|
|
41
|
+
games_count: 'gamesCount',
|
|
42
|
+
won_games_count: 'wonGamesCount',
|
|
43
|
+
points: 'points',
|
|
44
|
+
shot_misses: 'shotMisses',
|
|
45
|
+
shots_on_goal: 'shotsOnGoal',
|
|
46
|
+
shots_blocked: 'shotsBlocked',
|
|
47
|
+
shots_on_goal_percent: 'shotsOnGoalPercent',
|
|
48
|
+
shots: 'shots',
|
|
49
|
+
goals: 'goals',
|
|
50
|
+
goals_percent: 'goalsPercent',
|
|
51
|
+
total_goals: 'totalGoals',
|
|
52
|
+
assists: 'assists',
|
|
53
|
+
penalty_goals: 'penaltyGoals',
|
|
54
|
+
penalty_attempts: 'penaltyAttempts',
|
|
55
|
+
penalty_goals_percent: 'penaltyGoalsPercent',
|
|
56
|
+
penalty_saves: 'penaltySaves',
|
|
57
|
+
penalty_goals_against: 'penaltyGoalsAgainst',
|
|
58
|
+
penalty_shots_against: 'penaltyShotsAgainst',
|
|
59
|
+
penalty_saves_percent: 'penaltySavesPercent',
|
|
60
|
+
small_penalty_goals: 'smallPenaltyGoals',
|
|
61
|
+
small_penalty_attempts: 'smallPenaltyAttempts',
|
|
62
|
+
small_penalty_goals_percent: 'smallPenaltyGoalsPercent',
|
|
63
|
+
small_penalty_saves: 'smallPenaltySaves',
|
|
64
|
+
small_penalty_goals_against: 'smallPenaltyGoalsAgainst',
|
|
65
|
+
small_penalty_shots_against: 'smallPenaltyShotsAgainst',
|
|
66
|
+
small_penalty_saves_percent: 'smallPenaltySavesPercent',
|
|
67
|
+
saves: 'saves',
|
|
68
|
+
saves_percent: 'savesPercent',
|
|
69
|
+
total_saves: 'totalSaves',
|
|
70
|
+
goals_against: 'goalsAgainst',
|
|
71
|
+
total_goals_against: 'totalGoalsAgainst',
|
|
72
|
+
shots_against: 'shotsAgainst',
|
|
73
|
+
safety_rate: 'safetyRate',
|
|
74
|
+
fouls: 'fouls',
|
|
75
|
+
yellow_cards: 'yellowCards',
|
|
76
|
+
red_cards: 'redCards',
|
|
77
|
+
perfect_passes: 'perfectPasses',
|
|
78
|
+
losses: 'losses',
|
|
79
|
+
steals: 'steals',
|
|
80
|
+
outs: 'outs',
|
|
81
|
+
block_shots: 'blockShots',
|
|
82
|
+
corners: 'corners',
|
|
83
|
+
free_kicks: 'freeKicks',
|
|
84
|
+
game_time: 'gameTime',
|
|
85
|
+
plus_minus: 'plusMinus',
|
|
86
|
+
newbie: 'newbie'
|
|
87
|
+
},
|
|
88
|
+
relation: {
|
|
89
|
+
tournamentTeamUser: TournamentTeamUser,
|
|
90
|
+
team: Team,
|
|
91
|
+
teamUser: TeamUser,
|
|
92
|
+
user: User,
|
|
93
|
+
tournamentTeam: TournamentTeam,
|
|
94
|
+
month: DateField
|
|
95
|
+
}
|
|
96
|
+
})
|
|
97
|
+
], FootballStatistic);
|
|
98
|
+
return FootballStatistic;
|
|
99
|
+
}(BaseStatistic));
|
|
100
|
+
export { FootballStatistic };
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGJhbGwtc3RhdGlzdGljLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG10Z2FtZS9jb3JlLyIsInNvdXJjZXMiOlsibW9kZWxzL2Zvb3RiYWxsLXN0YXRpc3RpYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFhLGFBQWEsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN0RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM5QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBbUVqRDtJQUF1QyxxQ0FBYTtJQUFwRDs7SUFrRUEsQ0FBQztJQVhDLHNCQUFJLDBDQUFXO2FBQWY7WUFDRSxJQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDL0MsSUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sR0FBRyxFQUFFLENBQUMsQ0FBQztZQUN6RCxPQUFPLE1BQUcsT0FBTyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUcsT0FBTyxVQUFJLE9BQU8sR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFHLE9BQVMsQ0FBQztRQUNqRixDQUFDOzs7T0FBQTtJQUdNLHlCQUFPLEdBQWQsVUFBZSxJQUFTLElBQVEsQ0FBQztJQUcxQix3QkFBTSxHQUFiLFVBQWMsSUFBUyxJQUFRLENBQUM7SUFIaEM7UUFEQyxXQUFXOzBDQUNxQjtJQUdqQztRQURDLFVBQVU7eUNBQ3FCO0lBakVyQixpQkFBaUI7UUFqRTdCLGFBQWEsQ0FBQztZQUNiLGFBQWEsRUFBRTtnQkFDYixvQkFBb0IsRUFBRSxvQkFBb0I7Z0JBQzFDLElBQUksRUFBRSxNQUFNO2dCQUNaLFNBQVMsRUFBRSxVQUFVO2dCQUNyQixJQUFJLEVBQUUsTUFBTTtnQkFDWixlQUFlLEVBQUUsZ0JBQWdCO2dCQUNqQyxLQUFLLEVBQUUsT0FBTztnQkFDZCxRQUFRLEVBQUUsU0FBUztnQkFDbkIsV0FBVyxFQUFFLFlBQVk7Z0JBQ3pCLGVBQWUsRUFBRSxlQUFlO2dCQUNoQyxNQUFNLEVBQUUsUUFBUTtnQkFDaEIsV0FBVyxFQUFFLFlBQVk7Z0JBQ3pCLGFBQWEsRUFBRSxhQUFhO2dCQUM1QixhQUFhLEVBQUUsY0FBYztnQkFDN0IscUJBQXFCLEVBQUUsb0JBQW9CO2dCQUMzQyxLQUFLLEVBQUUsT0FBTztnQkFDZCxLQUFLLEVBQUUsT0FBTztnQkFDZCxhQUFhLEVBQUUsY0FBYztnQkFDN0IsV0FBVyxFQUFFLFlBQVk7Z0JBQ3pCLE9BQU8sRUFBRSxTQUFTO2dCQUNsQixhQUFhLEVBQUUsY0FBYztnQkFDN0IsZ0JBQWdCLEVBQUUsaUJBQWlCO2dCQUNuQyxxQkFBcUIsRUFBRSxxQkFBcUI7Z0JBQzVDLGFBQWEsRUFBRSxjQUFjO2dCQUM3QixxQkFBcUIsRUFBRSxxQkFBcUI7Z0JBQzVDLHFCQUFxQixFQUFFLHFCQUFxQjtnQkFDNUMscUJBQXFCLEVBQUUscUJBQXFCO2dCQUM1QyxtQkFBbUIsRUFBRSxtQkFBbUI7Z0JBQ3hDLHNCQUFzQixFQUFFLHNCQUFzQjtnQkFDOUMsMkJBQTJCLEVBQUUsMEJBQTBCO2dCQUN2RCxtQkFBbUIsRUFBRSxtQkFBbUI7Z0JBQ3hDLDJCQUEyQixFQUFFLDBCQUEwQjtnQkFDdkQsMkJBQTJCLEVBQUUsMEJBQTBCO2dCQUN2RCwyQkFBMkIsRUFBRSwwQkFBMEI7Z0JBQ3ZELEtBQUssRUFBRSxPQUFPO2dCQUNkLGFBQWEsRUFBRSxjQUFjO2dCQUM3QixXQUFXLEVBQUUsWUFBWTtnQkFDekIsYUFBYSxFQUFFLGNBQWM7Z0JBQzdCLG1CQUFtQixFQUFFLG1CQUFtQjtnQkFDeEMsYUFBYSxFQUFFLGNBQWM7Z0JBQzdCLFdBQVcsRUFBRSxZQUFZO2dCQUN6QixLQUFLLEVBQUUsT0FBTztnQkFDZCxZQUFZLEVBQUUsYUFBYTtnQkFDM0IsU0FBUyxFQUFFLFVBQVU7Z0JBQ3JCLGNBQWMsRUFBRSxlQUFlO2dCQUMvQixNQUFNLEVBQUUsUUFBUTtnQkFDaEIsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLElBQUksRUFBRSxNQUFNO2dCQUNaLFdBQVcsRUFBRSxZQUFZO2dCQUN6QixPQUFPLEVBQUUsU0FBUztnQkFDbEIsVUFBVSxFQUFFLFdBQVc7Z0JBQ3ZCLFNBQVMsRUFBRSxVQUFVO2dCQUNyQixVQUFVLEVBQUUsV0FBVztnQkFDdkIsTUFBTSxFQUFFLFFBQVE7YUFDakI7WUFDRCxRQUFRLEVBQUU7Z0JBQ1Isa0JBQWtCLEVBQUUsa0JBQWtCO2dCQUN0QyxJQUFJLEVBQUUsSUFBSTtnQkFDVixRQUFRLEVBQUUsUUFBUTtnQkFDbEIsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsY0FBYyxFQUFFLGNBQWM7Z0JBQzlCLEtBQUssRUFBRSxTQUFTO2FBQ2pCO1NBQ0YsQ0FBQztPQUNXLGlCQUFpQixDQWtFN0I7SUFBRCx3QkFBQztDQUFBLEFBbEVELENBQXVDLGFBQWEsR0FrRW5EO1NBbEVZLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VNb2RlbCwgTW9kZWxJbnN0YW5jZSwgVG9Gcm9udEhvb2ssIFRvQmFja0hvb2ssIERhdGVGaWVsZCB9IGZyb20gJy4vdXRpbCc7XG5pbXBvcnQgeyBUb3VybmFtZW50VGVhbVVzZXIgfSBmcm9tICcuL3RvdXJuYW1lbnQtdGVhbS11c2VyJztcbmltcG9ydCB7IFRlYW0gfSBmcm9tICcuL3RlYW0nO1xuaW1wb3J0IHsgVGVhbVVzZXIgfSBmcm9tICcuL3RlYW0tdXNlcic7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi91c2VyJztcbmltcG9ydCB7IFRvdXJuYW1lbnRUZWFtIH0gZnJvbSAnLi90b3VybmFtZW50LXRlYW0nO1xuaW1wb3J0IHsgQmFzZVN0YXRpc3RpYyB9IGZyb20gJy4vYmFzZS1zdGF0aXN0aWMnO1xuXG5ATW9kZWxJbnN0YW5jZSh7XG4gIG1hcHBpbmdGaWVsZHM6IHtcbiAgICB0b3VybmFtZW50X3RlYW1fdXNlcjogJ3RvdXJuYW1lbnRUZWFtVXNlcicsXG4gICAgdGVhbTogJ3RlYW0nLFxuICAgIHRlYW1fdXNlcjogJ3RlYW1Vc2VyJyxcbiAgICB1c2VyOiAndXNlcicsXG4gICAgdG91cm5hbWVudF90ZWFtOiAndG91cm5hbWVudFRlYW0nLFxuICAgIG1vbnRoOiAnbW9udGgnLFxuICAgIHdpbl9sb3NlOiAnd2luTG9zZScsXG4gICAgZ2FtZXNfY291bnQ6ICdnYW1lc0NvdW50JyxcbiAgICB3b25fZ2FtZXNfY291bnQ6ICd3b25HYW1lc0NvdW50JyxcbiAgICBwb2ludHM6ICdwb2ludHMnLFxuICAgIHNob3RfbWlzc2VzOiAnc2hvdE1pc3NlcycsXG4gICAgc2hvdHNfb25fZ29hbDogJ3Nob3RzT25Hb2FsJyxcbiAgICBzaG90c19ibG9ja2VkOiAnc2hvdHNCbG9ja2VkJyxcbiAgICBzaG90c19vbl9nb2FsX3BlcmNlbnQ6ICdzaG90c09uR29hbFBlcmNlbnQnLFxuICAgIHNob3RzOiAnc2hvdHMnLFxuICAgIGdvYWxzOiAnZ29hbHMnLFxuICAgIGdvYWxzX3BlcmNlbnQ6ICdnb2Fsc1BlcmNlbnQnLFxuICAgIHRvdGFsX2dvYWxzOiAndG90YWxHb2FscycsXG4gICAgYXNzaXN0czogJ2Fzc2lzdHMnLFxuICAgIHBlbmFsdHlfZ29hbHM6ICdwZW5hbHR5R29hbHMnLFxuICAgIHBlbmFsdHlfYXR0ZW1wdHM6ICdwZW5hbHR5QXR0ZW1wdHMnLFxuICAgIHBlbmFsdHlfZ29hbHNfcGVyY2VudDogJ3BlbmFsdHlHb2Fsc1BlcmNlbnQnLFxuICAgIHBlbmFsdHlfc2F2ZXM6ICdwZW5hbHR5U2F2ZXMnLFxuICAgIHBlbmFsdHlfZ29hbHNfYWdhaW5zdDogJ3BlbmFsdHlHb2Fsc0FnYWluc3QnLFxuICAgIHBlbmFsdHlfc2hvdHNfYWdhaW5zdDogJ3BlbmFsdHlTaG90c0FnYWluc3QnLFxuICAgIHBlbmFsdHlfc2F2ZXNfcGVyY2VudDogJ3BlbmFsdHlTYXZlc1BlcmNlbnQnLFxuICAgIHNtYWxsX3BlbmFsdHlfZ29hbHM6ICdzbWFsbFBlbmFsdHlHb2FscycsXG4gICAgc21hbGxfcGVuYWx0eV9hdHRlbXB0czogJ3NtYWxsUGVuYWx0eUF0dGVtcHRzJyxcbiAgICBzbWFsbF9wZW5hbHR5X2dvYWxzX3BlcmNlbnQ6ICdzbWFsbFBlbmFsdHlHb2Fsc1BlcmNlbnQnLFxuICAgIHNtYWxsX3BlbmFsdHlfc2F2ZXM6ICdzbWFsbFBlbmFsdHlTYXZlcycsXG4gICAgc21hbGxfcGVuYWx0eV9nb2Fsc19hZ2FpbnN0OiAnc21hbGxQZW5hbHR5R29hbHNBZ2FpbnN0JyxcbiAgICBzbWFsbF9wZW5hbHR5X3Nob3RzX2FnYWluc3Q6ICdzbWFsbFBlbmFsdHlTaG90c0FnYWluc3QnLFxuICAgIHNtYWxsX3BlbmFsdHlfc2F2ZXNfcGVyY2VudDogJ3NtYWxsUGVuYWx0eVNhdmVzUGVyY2VudCcsXG4gICAgc2F2ZXM6ICdzYXZlcycsXG4gICAgc2F2ZXNfcGVyY2VudDogJ3NhdmVzUGVyY2VudCcsXG4gICAgdG90YWxfc2F2ZXM6ICd0b3RhbFNhdmVzJyxcbiAgICBnb2Fsc19hZ2FpbnN0OiAnZ29hbHNBZ2FpbnN0JyxcbiAgICB0b3RhbF9nb2Fsc19hZ2FpbnN0OiAndG90YWxHb2Fsc0FnYWluc3QnLFxuICAgIHNob3RzX2FnYWluc3Q6ICdzaG90c0FnYWluc3QnLFxuICAgIHNhZmV0eV9yYXRlOiAnc2FmZXR5UmF0ZScsXG4gICAgZm91bHM6ICdmb3VscycsXG4gICAgeWVsbG93X2NhcmRzOiAneWVsbG93Q2FyZHMnLFxuICAgIHJlZF9jYXJkczogJ3JlZENhcmRzJyxcbiAgICBwZXJmZWN0X3Bhc3NlczogJ3BlcmZlY3RQYXNzZXMnLFxuICAgIGxvc3NlczogJ2xvc3NlcycsXG4gICAgc3RlYWxzOiAnc3RlYWxzJyxcbiAgICBvdXRzOiAnb3V0cycsXG4gICAgYmxvY2tfc2hvdHM6ICdibG9ja1Nob3RzJyxcbiAgICBjb3JuZXJzOiAnY29ybmVycycsXG4gICAgZnJlZV9raWNrczogJ2ZyZWVLaWNrcycsXG4gICAgZ2FtZV90aW1lOiAnZ2FtZVRpbWUnLFxuICAgIHBsdXNfbWludXM6ICdwbHVzTWludXMnLFxuICAgIG5ld2JpZTogJ25ld2JpZSdcbiAgfSxcbiAgcmVsYXRpb246IHtcbiAgICB0b3VybmFtZW50VGVhbVVzZXI6IFRvdXJuYW1lbnRUZWFtVXNlcixcbiAgICB0ZWFtOiBUZWFtLFxuICAgIHRlYW1Vc2VyOiBUZWFtVXNlcixcbiAgICB1c2VyOiBVc2VyLFxuICAgIHRvdXJuYW1lbnRUZWFtOiBUb3VybmFtZW50VGVhbSxcbiAgICBtb250aDogRGF0ZUZpZWxkXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgRm9vdGJhbGxTdGF0aXN0aWMgZXh0ZW5kcyBCYXNlU3RhdGlzdGljIHtcbiAgdG91cm5hbWVudFRlYW1Vc2VyOiBUb3VybmFtZW50VGVhbVVzZXI7XG4gIHRlYW06IFRlYW07XG4gIHRlYW1Vc2VyOiBUZWFtVXNlcjtcbiAgdXNlcjogVXNlcjtcbiAgdG91cm5hbWVudFRlYW06IFRvdXJuYW1lbnRUZWFtO1xuICBtb250aDogRGF0ZTtcbiAgd2luTG9zZTogYm9vbGVhbjtcbiAgZ2FtZXNDb3VudDogbnVtYmVyO1xuICB3b25HYW1lc0NvdW50OiBudW1iZXI7XG4gIHBvaW50czogbnVtYmVyO1xuICBzaG90TWlzc2VzOiBudW1iZXI7XG4gIHNob3RzT25Hb2FsOiBudW1iZXI7XG4gIHNob3RzQmxvY2tlZDogbnVtYmVyO1xuICBzaG90c09uR29hbFBlcmNlbnQ6IG51bWJlcjtcbiAgc2hvdHM6IG51bWJlcjtcbiAgZ29hbHM6IG51bWJlcjtcbiAgdG90YWxHb2FsczogbnVtYmVyO1xuICBnb2Fsc1BlcmNlbnQ6IG51bWJlcjtcbiAgYXNzaXN0czogbnVtYmVyO1xuICBwZW5hbHR5R29hbHM6IG51bWJlcjtcbiAgcGVuYWx0eUF0dGVtcHRzOiBudW1iZXI7XG4gIHBlbmFsdHlHb2Fsc1BlcmNlbnQ6IG51bWJlcjtcbiAgcGVuYWx0eVNhdmVzOiBudW1iZXI7XG4gIHBlbmFsdHlHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgcGVuYWx0eVNob3RzQWdhaW5zdDogbnVtYmVyO1xuICBwZW5hbHR5U2F2ZXNQZXJjZW50OiBudW1iZXI7XG4gIHNtYWxsUGVuYWx0eUdvYWxzOiBudW1iZXI7XG4gIHNtYWxsUGVuYWx0eUF0dGVtcHRzOiBudW1iZXI7XG4gIHNtYWxsUGVuYWx0eUdvYWxzUGVyY2VudDogbnVtYmVyO1xuICBzbWFsbFBlbmFsdHlTYXZlczogbnVtYmVyO1xuICBzbWFsbFBlbmFsdHlHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgc21hbGxQZW5hbHR5U2hvdHNBZ2FpbnN0OiBudW1iZXI7XG4gIHNtYWxsUGVuYWx0eVNhdmVzUGVyY2VudDogbnVtYmVyO1xuICBzYXZlczogbnVtYmVyO1xuICBzYXZlc1BlcmNlbnQ6IG51bWJlcjtcbiAgdG90YWxTYXZlczogbnVtYmVyO1xuICBnb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgdG90YWxHb2Fsc0FnYWluc3Q6IG51bWJlcjtcbiAgc2hvdHNBZ2FpbnN0OiBudW1iZXI7XG4gIHNhZmV0eVJhdGU6IG51bWJlcjtcbiAgZm91bHM6IG51bWJlcjtcbiAgeWVsbG93Q2FyZHM6IG51bWJlcjtcbiAgcmVkQ2FyZHM6IG51bWJlcjtcbiAgcGVyZmVjdFBhc3NlczogbnVtYmVyO1xuICBsb3NzZXM6IG51bWJlcjtcbiAgc3RlYWxzOiBudW1iZXI7XG4gIG91dHM6IG51bWJlcjtcbiAgZ2FtZVRpbWU6IG51bWJlcjtcbiAgcGx1c01pbnVzOiBudW1iZXI7XG4gIGJsb2NrU2hvdHM6IG51bWJlcjtcbiAgY29ybmVyczogbnVtYmVyO1xuICBmcmVlS2lja3M6IG51bWJlcjtcbiAgbmV3YmllOiBib29sZWFuO1xuXG4gIGdldCB1c2VyTWludXRlcygpOiBzdHJpbmcge1xuICAgIGNvbnN0IG1pbnV0ZXMgPSBNYXRoLmZsb29yKHRoaXMuZ2FtZVRpbWUgLyA2MCk7XG4gICAgY29uc3Qgc2Vjb25kcyA9IE1hdGguZmxvb3IodGhpcy5nYW1lVGltZSAtIG1pbnV0ZXMgKiA2MCk7XG4gICAgcmV0dXJuIGAke21pbnV0ZXMgPCAxMCA/IDAgOiAnJ30ke21pbnV0ZXN9OiR7c2Vjb25kcyA8IDEwID8gMCA6ICcnfSR7c2Vjb25kc31gO1xuICB9XG5cbiAgQFRvRnJvbnRIb29rXG4gIHN0YXRpYyB0b0Zyb250KGRhdGE6IGFueSk6IGFueSB7fVxuXG4gIEBUb0JhY2tIb29rXG4gIHN0YXRpYyB0b0JhY2soZGF0YTogYW55KTogYW55IHt9XG59XG4iXX0=
|