@mtgame/core 0.1.157 → 0.2.0
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/bundles/mtgame-core.umd.js +49 -35
- package/bundles/mtgame-core.umd.js.map +1 -1
- package/esm2015/models/basketball-game-config.js +4 -2
- package/esm2015/models/tournament.js +8 -1
- package/esm2015/services/centrifugo.service.js +27 -34
- package/fesm2015/mtgame-core.js +37 -35
- package/fesm2015/mtgame-core.js.map +1 -1
- package/models/basketball-game-config.d.ts +2 -1
- package/models/tournament.d.ts +5 -0
- package/mtgame-core.metadata.json +1 -1
- package/package.json +4 -4
- package/services/centrifugo.service.d.ts +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField } from './util';
|
|
3
|
-
import { BasketballStatisticTypes, GameTimeTypes, OvertimeTypes } from './tournament';
|
|
3
|
+
import { BasketballStatisticTypes, GameTimeTypes, OvertimeTypes, TimerTypes } from './tournament';
|
|
4
4
|
let BasketballGameConfig = class BasketballGameConfig extends BaseModel {
|
|
5
5
|
static toFront(data) { }
|
|
6
6
|
static toBack(data) { }
|
|
@@ -27,13 +27,15 @@ BasketballGameConfig = __decorate([
|
|
|
27
27
|
statistic_type: 'statisticType',
|
|
28
28
|
shot_clock_enabled: 'shotClockEnabled',
|
|
29
29
|
game_time_type: 'gameTimeType',
|
|
30
|
+
timer_type: 'timerType',
|
|
30
31
|
},
|
|
31
32
|
relation: {
|
|
32
33
|
overtimeType: enumField(OvertimeTypes),
|
|
33
34
|
statisticType: enumField(BasketballStatisticTypes),
|
|
34
35
|
gameTimeType: enumField(GameTimeTypes),
|
|
36
|
+
timerType: enumField(TimerTypes),
|
|
35
37
|
}
|
|
36
38
|
})
|
|
37
39
|
], BasketballGameConfig);
|
|
38
40
|
export { BasketballGameConfig };
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFza2V0YmFsbC1nYW1lLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL21vZGVscy9iYXNrZXRiYWxsLWdhbWUtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN0RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7SUEwQnJGLG9CQUFvQixTQUFwQixvQkFBcUIsU0FBUSxTQUFTO0lBaUJqRCxNQUFNLENBQUMsT0FBTyxDQUFDLElBQVMsSUFBUSxDQUFDO0lBR2pDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBUyxJQUFRLENBQUM7Q0FDakMsQ0FBQTtBQUpDO0lBREMsV0FBVzt5Q0FDcUI7QUFHakM7SUFEQyxVQUFVO3dDQUNxQjtBQXBCckIsb0JBQW9CO0lBeEJoQyxhQUFhLENBQUM7UUFDYixhQUFhLEVBQUU7WUFDYixhQUFhLEVBQUUsY0FBYztZQUM3QixXQUFXLEVBQUUsWUFBWTtZQUN6QixnQkFBZ0IsRUFBRSxlQUFlO1lBQ2pDLGFBQWEsRUFBRSxjQUFjO1lBQzdCLGFBQWEsRUFBRSxjQUFjO1lBQzdCLGNBQWMsRUFBRSxlQUFlO1lBQy9CLGdCQUFnQixFQUFFLGdCQUFnQjtZQUNsQyxhQUFhLEVBQUUsY0FBYztZQUM3QixzQkFBc0IsRUFBRSxzQkFBc0I7WUFDOUMsWUFBWSxFQUFFLGFBQWE7WUFDM0IsY0FBYyxFQUFFLGVBQWU7WUFDL0Isa0JBQWtCLEVBQUUsa0JBQWtCO1lBQ3RDLGNBQWMsRUFBRSxjQUFjO1lBQzlCLFVBQVUsRUFBRSxXQUFXO1NBQ3hCO1FBQ0QsUUFBUSxFQUFFO1lBQ1IsWUFBWSxFQUFFLFNBQVMsQ0FBQyxhQUFhLENBQUM7WUFDdEMsYUFBYSxFQUFFLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQztZQUNsRCxZQUFZLEVBQUUsU0FBUyxDQUFDLGFBQWEsQ0FBQztZQUN0QyxTQUFTLEVBQUUsU0FBUyxDQUFDLFVBQVUsQ0FBQztTQUNqQztLQUNGLENBQUM7R0FDVyxvQkFBb0IsQ0FxQmhDO1NBckJZLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZGVsSW5zdGFuY2UsIEJhc2VNb2RlbCwgVG9Gcm9udEhvb2ssIFRvQmFja0hvb2ssIGVudW1GaWVsZCB9IGZyb20gJy4vdXRpbCc7XG5pbXBvcnQgeyBCYXNrZXRiYWxsU3RhdGlzdGljVHlwZXMsIEdhbWVUaW1lVHlwZXMsIE92ZXJ0aW1lVHlwZXMsIFRpbWVyVHlwZXMgfSBmcm9tICcuL3RvdXJuYW1lbnQnO1xuXG5ATW9kZWxJbnN0YW5jZSh7XG4gIG1hcHBpbmdGaWVsZHM6IHtcbiAgICBwZXJpb2RzX2NvdW50OiAncGVyaW9kc0NvdW50JyxcbiAgICBwZXJpb2RfdGltZTogJ3BlcmlvZFRpbWUnLFxuICAgIGdhbWVfdXBfdG9fc2NvcmU6ICdnYW1lVXBUb1Njb3JlJyxcbiAgICBvdmVydGltZV90eXBlOiAnb3ZlcnRpbWVUeXBlJyxcbiAgICBvdmVydGltZV90aW1lOiAnb3ZlcnRpbWVUaW1lJyxcbiAgICBvdmVydGltZV9zY29yZTogJ292ZXJ0aW1lU2NvcmUnLFxuICAgIG1heF9nYW1lX3BsYXllcnM6ICdtYXhHYW1lUGxheWVycycsXG4gICAgdGltZW91dF9jb3VudDogJ3RpbWVvdXRDb3VudCcsXG4gICAgb3ZlcnRpbWVfdGltZW91dF9jb3VudDogJ292ZXJ0aW1lVGltZW91dENvdW50JyxcbiAgICB0aW1lb3V0X3RpbWU6ICd0aW1lb3V0VGltZScsXG4gICAgc3RhdGlzdGljX3R5cGU6ICdzdGF0aXN0aWNUeXBlJyxcbiAgICBzaG90X2Nsb2NrX2VuYWJsZWQ6ICdzaG90Q2xvY2tFbmFibGVkJyxcbiAgICBnYW1lX3RpbWVfdHlwZTogJ2dhbWVUaW1lVHlwZScsXG4gICAgdGltZXJfdHlwZTogJ3RpbWVyVHlwZScsXG4gIH0sXG4gIHJlbGF0aW9uOiB7XG4gICAgb3ZlcnRpbWVUeXBlOiBlbnVtRmllbGQoT3ZlcnRpbWVUeXBlcyksXG4gICAgc3RhdGlzdGljVHlwZTogZW51bUZpZWxkKEJhc2tldGJhbGxTdGF0aXN0aWNUeXBlcyksXG4gICAgZ2FtZVRpbWVUeXBlOiBlbnVtRmllbGQoR2FtZVRpbWVUeXBlcyksXG4gICAgdGltZXJUeXBlOiBlbnVtRmllbGQoVGltZXJUeXBlcyksXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgQmFza2V0YmFsbEdhbWVDb25maWcgZXh0ZW5kcyBCYXNlTW9kZWwge1xuICBwZXJpb2RzQ291bnQ6IG51bWJlcjtcbiAgcGVyaW9kVGltZTogbnVtYmVyO1xuICBnYW1lVXBUb1Njb3JlOiBudW1iZXI7XG4gIG92ZXJ0aW1lVHlwZTogT3ZlcnRpbWVUeXBlcztcbiAgb3ZlcnRpbWVUaW1lOiBudW1iZXI7XG4gIG92ZXJ0aW1lU2NvcmU6IG51bWJlcjtcbiAgbWF4R2FtZVBsYXllcnM6IG51bWJlcjtcbiAgdGltZW91dENvdW50OiBudW1iZXI7XG4gIG92ZXJ0aW1lVGltZW91dENvdW50OiBudW1iZXI7XG4gIHRpbWVvdXRUaW1lOiBudW1iZXI7XG4gIHN0YXRpc3RpY1R5cGU6IEJhc2tldGJhbGxTdGF0aXN0aWNUeXBlcztcbiAgc2hvdENsb2NrRW5hYmxlZDogYm9vbGVhbjtcbiAgZ2FtZVRpbWVUeXBlOiBHYW1lVGltZVR5cGVzO1xuICB0aW1lclR5cGU6IFRpbWVyVHlwZXM7XG5cbiAgQFRvRnJvbnRIb29rXG4gIHN0YXRpYyB0b0Zyb250KGRhdGE6IGFueSk6IGFueSB7fVxuXG4gIEBUb0JhY2tIb29rXG4gIHN0YXRpYyB0b0JhY2soZGF0YTogYW55KTogYW55IHt9XG59XG5cbiJdfQ==
|
|
@@ -58,6 +58,11 @@ export var OvertimeTypes;
|
|
|
58
58
|
OvertimeTypes[OvertimeTypes["penalties"] = 8] = "penalties";
|
|
59
59
|
OvertimeTypes[OvertimeTypes["time_and_penalties"] = 9] = "time_and_penalties";
|
|
60
60
|
})(OvertimeTypes || (OvertimeTypes = {}));
|
|
61
|
+
export var TimerTypes;
|
|
62
|
+
(function (TimerTypes) {
|
|
63
|
+
TimerTypes[TimerTypes["backward"] = 1] = "backward";
|
|
64
|
+
TimerTypes[TimerTypes["forward"] = 2] = "forward";
|
|
65
|
+
})(TimerTypes || (TimerTypes = {}));
|
|
61
66
|
let TournamentSettings = class TournamentSettings extends BaseModel {
|
|
62
67
|
get genderTitle() {
|
|
63
68
|
const yearDiff = new Date().getFullYear() - this.birthYearFrom;
|
|
@@ -129,6 +134,7 @@ TournamentSettings = __decorate([
|
|
|
129
134
|
major_penalty_time: 'majorPenaltyTime',
|
|
130
135
|
misconduct_penalty_time: 'misconductPenaltyTime',
|
|
131
136
|
game_misconduct_penalty_time: 'gameMisconductPenaltyTime',
|
|
137
|
+
timer_type: 'timerType',
|
|
132
138
|
},
|
|
133
139
|
relation: {
|
|
134
140
|
type: enumField(TournamentTypes),
|
|
@@ -138,6 +144,7 @@ TournamentSettings = __decorate([
|
|
|
138
144
|
rugbyStatisticType: enumField(RugbyStatisticTypes),
|
|
139
145
|
gameTimeType: enumField(GameTimeTypes),
|
|
140
146
|
overtimeType: enumField(OvertimeTypes),
|
|
147
|
+
timerType: enumField(TimerTypes),
|
|
141
148
|
}
|
|
142
149
|
})
|
|
143
150
|
], TournamentSettings);
|
|
@@ -253,4 +260,4 @@ Tournament = __decorate([
|
|
|
253
260
|
})
|
|
254
261
|
], Tournament);
|
|
255
262
|
export { Tournament };
|
|
256
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG91cm5hbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL21vZGVscy90b3VybmFtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDckcsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM5QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNoQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXZELE1BQU0sQ0FBTixJQUFZLGVBSVg7QUFKRCxXQUFZLGVBQWU7SUFDekIsa0NBQWUsQ0FBQTtJQUNmLDhDQUEyQixDQUFBO0lBQzNCLGdDQUFhLENBQUE7QUFDZixDQUFDLEVBSlcsZUFBZSxLQUFmLGVBQWUsUUFJMUI7QUFFRCxNQUFNLENBQU4sSUFBWSxrQkFJWDtBQUpELFdBQVksa0JBQWtCO0lBQzVCLDJEQUFJLENBQUE7SUFDSix5RUFBVyxDQUFBO0lBQ1gsK0RBQU0sQ0FBQTtBQUNSLENBQUMsRUFKVyxrQkFBa0IsS0FBbEIsa0JBQWtCLFFBSTdCO0FBRUQsTUFBTSxDQUFOLElBQVksZ0JBSVg7QUFKRCxXQUFZLGdCQUFnQjtJQUMxQix1REFBTyxDQUFBO0lBQ1AsMkRBQU0sQ0FBQTtJQUNOLHFEQUFHLENBQUE7QUFDTCxDQUFDLEVBSlcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQUkzQjtBQUVELE1BQU0sQ0FBTixJQUFZLHdCQUlY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RSxRQUFRO1lBQ2hCLFNBQVMsRUFBRSxVQUFVO1lBQ3JCLFVBQVUsRUFBRSxXQUFXO1lBQ3ZCLG9CQUFvQixFQUFFLG9CQUFvQjtTQUMzQztRQUNELFFBQVEsRUFBRTtZQUNSLElBQUksRUFBRSxJQUFJO1lBQ1YsS0FBSyxFQUFFLElBQUk7WUFDWCxZQUFZLEVBQUUsSUFBSTtZQUNsQixJQUFJLEVBQUUsSUFBSTtZQUNWLEtBQUssRUFBRSxLQUFLO1lBQ1osY0FBYyxFQUFFLElBQUk7WUFDcEIsUUFBUSxFQUFFLGtCQUFrQjtZQUM1QixJQUFJLEVBQUUsYUFBYTtZQUNuQixNQUFNLEVBQUUsTUFBTTtZQUNkLE1BQU0sRUFBRSxTQUFTLENBQUMsa0JBQWtCLENBQUM7WUFDckMsVUFBVSxFQUFFLG9CQUFvQjtZQUNoQyxVQUFVLEVBQUUsb0JBQW9CO1lBQ2hDLFNBQVMsRUFBRSxvQkFBb0I7WUFDL0IsTUFBTSxFQUFFLGdCQUFnQjtTQUN6QjtLQUNGLENBQUM7R0FDVyxVQUFVLENBMER0QjtTQTFEWSxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZU1vZGVsLCBlbnVtRmllbGQsIE1vZGVsSW5zdGFuY2UsIERhdGVUaW1lRmllbGQsIFRvQmFja0hvb2ssIFRvRnJvbnRIb29rIH0gZnJvbSAnLi91dGlsJztcbmltcG9ydCB7IENpdHkgfSBmcm9tICcuL2NpdHknO1xuaW1wb3J0IHsgRmlsZSB9IGZyb20gJy4vZmlsZSc7XG5pbXBvcnQgeyBMZWFndWUgfSBmcm9tICcuL2xlYWd1ZSc7XG5pbXBvcnQgeyBTcG9ydCB9IGZyb20gJy4vc3BvcnQnO1xuaW1wb3J0IHsgVGVhbSB9IGZyb20gJy4vdGVhbSc7XG5pbXBvcnQgeyBUb3VybmFtZW50U2Vhc29uIH0gZnJvbSAnLi90b3VybmFtZW50LXNlYXNvbic7XG5cbmV4cG9ydCBlbnVtIFRvdXJuYW1lbnRUeXBlcyB7XG4gIGdyb3VwID0gJ2dyb3VwJyxcbiAgZWxpbWluYXRpb24gPSAnZWxpbWluYXRpb24nLFxuICBmaWJhID0gJ2ZpYmEnXG59XG5cbmV4cG9ydCBlbnVtIFRvdXJuYW1lbnRTdGF0dXNlcyB7XG4gIG9wZW4sXG4gIGluX3Byb2dyZXNzLFxuICBjbG9zZWQsXG59XG5cbmV4cG9ydCBlbnVtIFRvdXJuYW1lbnRHZW5kZXIge1xuICBtYWxlPSAxLFxuICBmZW1hbGUsXG4gIGFsbFxufVxuXG5leHBvcnQgZW51bSBCYXNrZXRiYWxsU3RhdGlzdGljVHlwZXMge1xuICBzdGFuZGFyZCA9IDEsXG4gIGxpZ2h0LFxuICBhZHZhbmNlZFxufVxuXG5leHBvcnQgZW51bSBWb2xsZXliYWxsU3RhdGlzdGljVHlwZXMge1xuICBzdGFuZGFyZCA9IDEsXG4gIGxpZ2h0LFxuICBhZHZhbmNlZFxufVxuXG5leHBvcnQgZW51bSBSdWdieVN0YXRpc3RpY1R5cGVzIHtcbiAgbGlnaHQgPSAxLFxuICBzdGFuZGFyZCxcbn1cblxuZXhwb3J0IGVudW0gR2FtZVRpbWVUeXBlcyB7XG4gIGNsZWFuID0gMSxcbiAgZGlydHksXG59XG5cbmV4cG9ydCBlbnVtIE92ZXJ0aW1lVHlwZXMge1xuICB0b19zY29yZV90b3RhbCA9IDEsXG4gIHRvX3Njb3JlX2RpZmYsXG4gIHRpbWUsXG4gIHdpdGhvdXRfb3ZlcnRpbWUsXG4gIHRvX2ZpcnN0X2dvYWwsXG4gIHRvX2ZpcnN0X2dvYWxfYW5kX2J1bGxpdHRzLFxuICBidWxsaXR0cyxcbiAgcGVuYWx0aWVzLFxuICB0aW1lX2FuZF9wZW5hbHRpZXNcbn1cblxuQE1vZGVsSW5zdGFuY2Uoe1xuICBtYXBwaW5nRmllbGRzOiB7XG4gICAgaWQ6ICdpZCcsXG4gICAgZ2VuZGVyOiAnZ2VuZGVyJyxcbiAgICBiaXJ0aF95ZWFyX2Zyb206ICdiaXJ0aFllYXJGcm9tJyxcbiAgICBiaXJ0aF95ZWFyX3RvOiAnYmlydGhZZWFyVG8nLFxuICAgIG1heF90ZWFtX3BsYXllcnM6ICdtYXhUZWFtUGxheWVycycsXG4gICAgbWF4X2dhbWVfcGxheWVyczogJ21heEdhbWVQbGF5ZXJzJyxcbiAgICB0eXBlOiAndHlwZScsXG4gICAgdG91cnNfY291bnQ6ICd0b3Vyc0NvdW50JyxcbiAgICBwZXJpb2RzX2NvdW50OiAncGVyaW9kc0NvdW50JyxcbiAgICBwZXJpb2RfdGltZTogJ3BlcmlvZFRpbWUnLFxuICAgIG92ZXJ0aW1lX3R5cGU6ICdvdmVydGltZVR5cGUnLFxuICAgIG92ZXJ0aW1lX3RpbWU6ICdvdmVydGltZVRpbWUnLFxuICAgIG92ZXJ0aW1lX3Njb3JlOiAnb3ZlcnRpbWVTY29yZScsXG4gICAgZ2FtZV90eXBlOiAnZ2FtZVR5cGUnLFxuICAgIHRpbWVvdXRfY291bnQ6ICd0aW1lb3V0Q291bnQnLFxuICAgIHRpbWVvdXRfdGltZTogJ3RpbWVvdXRUaW1lJyxcbiAgICBzdWJzdGl0dXRlX2NvdW50OiAnc3Vic3RpdHV0ZUNvdW50JyxcbiAgICBnYW1lX3VwX3RvX3Njb3JlOiAnZ2FtZVVwVG9TY29yZScsXG4gICAgdm9sbGV5YmFsbF9zY29yZV9pbl9zZXQ6ICd2b2xsZXliYWxsU2NvcmVJblNldCcsXG4gICAgdm9sbGV5YmFsbF9zY29yZV9pbl9sYXN0X3NldDogJ3ZvbGxleWJhbGxTY29yZUluTGFzdFNldCcsXG4gICAgbWFuYWdlX3RlYW1fYXBwbGljYXRpb246ICdtYW5hZ2VUZWFtQXBwbGljYXRpb24nLFxuICAgIHJlY3J1aXRtZW50X2lzX29wZW46ICdyZWNydWl0bWVudElzT3BlbicsXG4gICAgdHJhbnNmZXJfaXNfb3BlbjogJ3RyYW5zZmVySXNPcGVuJyxcbiAgICBiYXNrZXRiYWxsX3N0YXRpc3RpY190eXBlOiAnYmFza2V0YmFsbFN0YXRpc3RpY1R5cGUnLFxuICAgIHZvbGxleWJhbGxfc3RhdGlzdGljX3R5cGU6ICd2b2xsZXliYWxsU3RhdGlzdGljVHlwZScsXG4gICAgcnVnYnlfc3RhdGlzdGljX3R5cGU6ICdydWdieVN0YXRpc3RpY1R5cGUnLFxuICAgIHNob3RfY2xvY2tfZW5hYmxlZDogJ3Nob3RDbG9ja0VuYWJsZWQnLFxuICAgIGdhbWVfdGltZV90eXBlOiAnZ2FtZVRpbWVUeXBlJyxcbiAgICB3aXRoX3Jlc3VsdF90YWJsZTogJ3dpdGhSZXN1bHRUYWJsZScsXG4gICAgZnJlZV9zdWJzdGl0dXRlX2VuYWJsZWQ6ICdmcmVlU3Vic3RpdHV0ZUVuYWJsZWQnLFxuICAgIHN1YnN0aXR1dGVfbWFuYWdlX2VuYWJsZWQ6ICdzdWJzdGl0dXRlTWFuYWdlRW5hYmxlZCcsXG4gICAgYm9udXNfcG9pbnRzX2VuYWJsZWQ6ICdib251c1BvaW50c0VuYWJsZWQnLFxuICAgIG1pbm9yX3BlbmFsdHlfdGltZTogJ21pbm9yUGVuYWx0eVRpbWUnLFxuICAgIG1ham9yX3BlbmFsdHlfdGltZTogJ21ham9yUGVuYWx0eVRpbWUnLFxuICAgIG1pc2NvbmR1Y3RfcGVuYWx0eV90aW1lOiAnbWlzY29uZHVjdFBlbmFsdHlUaW1lJyxcbiAgICBnYW1lX21pc2NvbmR1Y3RfcGVuYWx0eV90aW1lOiAnZ2FtZU1pc2NvbmR1Y3RQZW5hbHR5VGltZScsXG4gIH0sXG4gIHJlbGF0aW9uOiB7XG4gICAgdHlwZTogZW51bUZpZWxkKFRvdXJuYW1lbnRUeXBlcyksXG4gICAgZ2VuZGVyOiBlbnVtRmllbGQoVG91cm5hbWVudEdlbmRlciksXG4gICAgYmFza2V0YmFsbFN0YXRpc3RpY1R5cGU6IGVudW1GaWVsZChCYXNrZXRiYWxsU3RhdGlzdGljVHlwZXMpLFxuICAgIHZvbGxleWJhbGxTdGF0aXN0aWNUeXBlOiBlbnVtRmllbGQoVm9sbGV5YmFsbFN0YXRpc3RpY1R5cGVzKSxcbiAgICBydWdieVN0YXRpc3RpY1R5cGU6IGVudW1GaWVsZChSdWdieVN0YXRpc3RpY1R5cGVzKSxcbiAgICBnYW1lVGltZVR5cGU6IGVudW1GaWVsZChHYW1lVGltZVR5cGVzKSxcbiAgICBvdmVydGltZVR5cGU6IGVudW1GaWVsZChPdmVydGltZVR5cGVzKSxcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBUb3VybmFtZW50U2V0dGluZ3MgZXh0ZW5kcyBCYXNlTW9kZWwge1xuICBpZDogbnVtYmVyO1xuICBnZW5kZXI6IFRvdXJuYW1lbnRHZW5kZXI7XG4gIGJpcnRoWWVhckZyb206IG51bWJlcjtcbiAgYmlydGhZZWFyVG86IG51bWJlcjtcbiAgbWF4VGVhbVBsYXllcnM6IG51bWJlcjtcbiAgbWF4R2FtZVBsYXllcnM6IG51bWJlcjtcbiAgdHlwZTogVG91cm5hbWVudFR5cGVzO1xuICB0b3Vyc0NvdW50OiBudW1iZXI7XG4gIHBlcmlvZHNDb3VudDogbnVtYmVyO1xuICBwZXJpb2RUaW1lOiBudW1iZXI7XG4gIG92ZXJ0aW1lVHlwZTogT3ZlcnRpbWVUeXBlcztcbiAgb3ZlcnRpbWVUaW1lOiBudW1iZXI7XG4gIG92ZXJ0aW1lU2NvcmU6IG51bWJlcjtcbiAgZ2FtZVR5cGU6IHN0cmluZztcbiAgdGltZW91dENvdW50OiBudW1iZXI7XG4gIHRpbWVvdXRUaW1lOiBudW1iZXI7XG4gIHN1YnN0aXR1dGVDb3VudDogbnVtYmVyO1xuICBnYW1lVXBUb1Njb3JlOiBudW1iZXI7XG4gIHZvbGxleWJhbGxTY29yZUluU2V0OiBudW1iZXI7XG4gIHZvbGxleWJhbGxTY29yZUluTGFzdFNldDogbnVtYmVyO1xuICBtYW5hZ2VUZWFtQXBwbGljYXRpb246IGJvb2xlYW47XG4gIHJlY3J1aXRtZW50SXNPcGVuOiBib29sZWFuO1xuICB0cmFuc2ZlcklzT3BlbjogYm9vbGVhbjtcbiAgYmFza2V0YmFsbFN0YXRpc3RpY1R5cGU6IEJhc2tldGJhbGxTdGF0aXN0aWNUeXBlcztcbiAgdm9sbGV5YmFsbFN0YXRpc3RpY1R5cGU6IFZvbGxleWJhbGxTdGF0aXN0aWNUeXBlcztcbiAgcnVnYnlTdGF0aXN0aWNUeXBlOiBSdWdieVN0YXRpc3RpY1R5cGVzO1xuICBzaG90Q2xvY2tFbmFibGVkOiBib29sZWFuO1xuICBnYW1lVGltZVR5cGU6IEdhbWVUaW1lVHlwZXM7XG4gIHdpdGhSZXN1bHRUYWJsZTogYm9vbGVhbjtcbiAgZnJlZVN1YnN0aXR1dGVFbmFibGVkOiBib29sZWFuO1xuICBib251c1BvaW50c0VuYWJsZWQ6IGJvb2xlYW47XG4gIHN1YnN0aXR1dGVNYW5hZ2VFbmFibGVkOiBib29sZWFuO1xuICBtaW5vclBlbmFsdHlUaW1lOiBudW1iZXI7XG4gIG1ham9yUGVuYWx0eVRpbWU6IG51bWJlcjtcbiAgbWlzY29uZHVjdFBlbmFsdHlUaW1lOiBudW1iZXI7XG4gIGdhbWVNaXNjb25kdWN0UGVuYWx0eVRpbWU6IG51bWJlcjtcblxuICBnZXQgZ2VuZGVyVGl0bGUoKTogc3RyaW5nIHtcbiAgICBjb25zdCB5ZWFyRGlmZiA9IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKSAtIHRoaXMuYmlydGhZZWFyRnJvbTtcbiAgICBpZiAodGhpcy5nZW5kZXIgPT09IFRvdXJuYW1lbnRHZW5kZXIubWFsZSkge1xuICAgICAgaWYgKHllYXJEaWZmIDwgMTUpIHtcbiAgICAgICAgcmV0dXJuICfQnNCw0LvRjNGH0LjQutC4JztcbiAgICAgIH1cbiAgICAgIGlmICh5ZWFyRGlmZiA8IDIxKSB7XG4gICAgICAgIHJldHVybiAn0K7QvdC+0YjQuCc7XG4gICAgICB9XG4gICAgICByZXR1cm4gJ9Cc0YPQttGH0LjQvdGLJztcbiAgICB9XG4gICAgaWYgKHRoaXMuZ2VuZGVyID09PSBUb3VybmFtZW50R2VuZGVyLmZlbWFsZSkge1xuICAgICAgaWYgKHllYXJEaWZmIDwgMTUpIHtcbiAgICAgICAgcmV0dXJuICfQlNC10LLQvtGH0LrQuCc7XG4gICAgICB9XG4gICAgICBpZiAoeWVhckRpZmYgPCAyMSkge1xuICAgICAgICByZXR1cm4gJ9CU0LXQstGD0YjQutC4JztcbiAgICAgIH1cbiAgICAgIHJldHVybiAn0JbQtdC90YnQuNC90YsnO1xuICAgIH1cbiAgICByZXR1cm4gJ9Ch0LzQtdGI0LDQvdC90YvQuSc7XG4gIH1cblxuICBAVG9Gcm9udEhvb2tcbiAgc3RhdGljIHRvRnJvbnQoZGF0YTogYW55KTogYW55IHt9XG5cbiAgQFRvQmFja0hvb2tcbiAgc3RhdGljIHRvQmFjayhkYXRhOiBhbnkpOiBhbnkge31cbn1cblxuQE1vZGVsSW5zdGFuY2Uoe1xuICBtYXBwaW5nRmllbGRzOiB7XG4gICAgaWQ6ICdpZCcsXG4gICAgdGVhbV9pZDogJ3RlYW1JZCcsXG4gICAgdG91cm5hbWVudF9pZDogJ3RvdXJuYW1lbnRJZCcsXG4gICAgbmFtZTogJ25hbWUnLFxuICAgIGxvZ286ICdsb2dvJyxcbiAgICB0ZWFtOiAndGVhbScsXG4gICAgcG9pbnRzOiAncG9pbnRzJyxcbiAgfSxcbiAgcmVsYXRpb246IHtcbiAgICBsb2dvOiBGaWxlLFxuICAgIHRlYW06IFRlYW0sXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgVG91cm5hbWVudFRlYW1XaW5uZXIgZXh0ZW5kcyBCYXNlTW9kZWwge1xuICBpZDogbnVtYmVyO1xuICB0ZWFtSWQ6IG51bWJlcjtcbiAgdG91cm5hbWVudElkOiBudW1iZXI7XG4gIG5hbWU6IHN0cmluZztcbiAgbG9nbzogRmlsZTtcbiAgdGVhbTogVGVhbTtcbiAgcG9pbnRzOiBudW1iZXI7XG5cbiAgQFRvRnJvbnRIb29rXG4gIHN0YXRpYyB0b0Zyb250KGRhdGE6IGFueSk6IGFueSB7fVxuXG4gIEBUb0JhY2tIb29rXG4gIHN0YXRpYyB0b0JhY2soZGF0YTogYW55KTogYW55IHt9XG59XG5cbkBNb2RlbEluc3RhbmNlKHtcbiAgbWFwcGluZ0ZpZWxkczoge1xuICAgIGlkOiAnaWQnLFxuICAgIG5hbWU6ICduYW1lJyxcbiAgICBhbGlhczogJ2FsaWFzJyxcbiAgICBsb2dvOiAnbG9nbycsXG4gICAgY292ZXI6ICdjb3ZlcicsXG4gICAgcHJldmlld19pbWFnZTogJ3ByZXZpZXdJbWFnZScsXG4gICAgY2l0eTogJ2NpdHknLFxuICAgIHNwb3J0OiAnc3BvcnQnLFxuICAgIGxvY2F0aW9uOiAnbG9jYXRpb24nLFxuICAgIGRlc2NyaXB0aW9uOiAnZGVzY3JpcHRpb24nLFxuICAgIGRhdGU6ICdkYXRlJyxcbiAgICBwcmljZTogJ3ByaWNlJyxcbiAgICByZWd1bGF0aW9uX2ZpbGVzOiAncmVndWxhdGlvbkZpbGVzJyxcbiAgICBzZXR0aW5nczogJ3NldHRpbmdzJyxcbiAgICBsZWFndWU6ICdsZWFndWUnLFxuICAgIHRlYW1zX2NvdW50OiAndGVhbXNDb3VudCcsXG4gICAgY2xvc2VzdF9nYW1lX2RhdGV0aW1lOiAnY2xvc2VzdEdhbWVEYXRldGltZScsXG4gICAgc3RhdHVzOiAnc3RhdHVzJyxcbiAgICB0ZWFtX3dpbm5lcjogJ3RlYW1XaW5uZXInLFxuICAgIHRlYW1fc2Vjb25kOiAndGVhbVNlY29uZCcsXG4gICAgdGVhbV90aGlyZDogJ3RlYW1UaGlyZCcsXG4gICAgc2Vhc29uOiAnc2Vhc29uJyxcbiAgICBzZWFzb25faWQ6ICdzZWFzb25JZCcsXG4gICAgZ2FtZV9wcmljZTogJ2dhbWVQcmljZScsXG4gICAgc2Vhc29uX3RvdXJuYW1lbnRfaWQ6ICdzZWFzb25Ub3VybmFtZW50SWQnLFxuICB9LFxuICByZWxhdGlvbjoge1xuICAgIGxvZ286IEZpbGUsXG4gICAgY292ZXI6IEZpbGUsXG4gICAgcHJldmlld0ltYWdlOiBGaWxlLFxuICAgIGNpdHk6IENpdHksXG4gICAgc3BvcnQ6IFNwb3J0LFxuICAgIHJlZ3VsYXRpb25GaWxlOiBGaWxlLFxuICAgIHNldHRpbmdzOiBUb3VybmFtZW50U2V0dGluZ3MsXG4gICAgZGF0ZTogRGF0ZVRpbWVGaWVsZCxcbiAgICBsZWFndWU6IExlYWd1ZSxcbiAgICBzdGF0dXM6IGVudW1GaWVsZChUb3VybmFtZW50U3RhdHVzZXMpLFxuICAgIHRlYW1XaW5uZXI6IFRvdXJuYW1lbnRUZWFtV2lubmVyLFxuICAgIHRlYW1TZWNvbmQ6IFRvdXJuYW1lbnRUZWFtV2lubmVyLFxuICAgIHRlYW1UaGlyZDogVG91cm5hbWVudFRlYW1XaW5uZXIsXG4gICAgc2Vhc29uOiBUb3VybmFtZW50U2Vhc29uLFxuICB9XG59KVxuZXhwb3J0IGNsYXNzIFRvdXJuYW1lbnQgZXh0ZW5kcyBCYXNlTW9kZWwge1xuICBpZDogbnVtYmVyO1xuICBuYW1lOiBzdHJpbmc7XG4gIGFsaWFzOiBzdHJpbmc7XG4gIGxvZ286IEZpbGU7XG4gIGNvdmVyOiBGaWxlO1xuICBwcmV2aWV3SW1hZ2U6IEZpbGU7XG4gIGNpdHk6IENpdHk7XG4gIHNwb3J0OiBTcG9ydDtcbiAgbG9jYXRpb246IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgZGF0ZTogRGF0ZTtcbiAgcHJpY2U6IG51bWJlcjtcbiAgcmVndWxhdGlvbkZpbGVzOiBGaWxlW107XG4gIHNldHRpbmdzOiBUb3VybmFtZW50U2V0dGluZ3M7XG4gIGxlYWd1ZTogTGVhZ3VlO1xuICB0ZWFtc0NvdW50OiBudW1iZXI7XG4gIGNsb3Nlc3RHYW1lRGF0ZXRpbWU6IHN0cmluZztcbiAgc3RhdHVzOiBUb3VybmFtZW50U3RhdHVzZXM7XG4gIHRlYW1XaW5uZXI6IFRvdXJuYW1lbnRUZWFtV2lubmVyO1xuICB0ZWFtU2Vjb25kOiBUb3VybmFtZW50VGVhbVdpbm5lcjtcbiAgdGVhbVRoaXJkOiBUb3VybmFtZW50VGVhbVdpbm5lcjtcbiAgc2Vhc29uOiBUb3VybmFtZW50U2Vhc29uO1xuICBzZWFzb25JZDogbnVtYmVyO1xuICBnYW1lUHJpY2U6IG51bWJlcjtcbiAgc2Vhc29uVG91cm5hbWVudElkOiBudW1iZXI7XG5cbiAgZ2V0RW1wdHlMb2dvQ2xhc3MoKTogc3RyaW5nIHtcbiAgICBjb25zdCBjbGFzc0xpc3QgPSBbJ2VtcHR5LWxvZ28nXTtcbiAgICBpZiAodGhpcy5zcG9ydC5pc0Jhc2tldGJhbGwoKSkge1xuICAgICAgY2xhc3NMaXN0LnB1c2goJ2VtcHR5LWxvZ28tYmFza2V0YmFsbCcpO1xuICAgIH1cbiAgICBpZiAodGhpcy5zcG9ydC5pc1ZvbGxleWJhbGwoKSkge1xuICAgICAgY2xhc3NMaXN0LnB1c2goJ2VtcHR5LWxvZ28tdm9sbGV5YmFsbCcpO1xuICAgIH1cbiAgICBpZiAodGhpcy5zcG9ydC5pc0hvY2tleSgpKSB7XG4gICAgICBjbGFzc0xpc3QucHVzaCgnZW1wdHktbG9nby1ob2NrZXknKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuc3BvcnQuaXNGb290YmFsbCgpKSB7XG4gICAgICBjbGFzc0xpc3QucHVzaCgnZW1wdHktbG9nby1mb290YmFsbCcpO1xuICAgIH1cbiAgICBpZiAodGhpcy5zcG9ydC5pc0hhbmRiYWxsKCkpIHtcbiAgICAgIGNsYXNzTGlzdC5wdXNoKCdlbXB0eS1sb2dvLWhhbmRiYWxsJyk7XG4gICAgfVxuICAgIGlmICh0aGlzLnNwb3J0LmlzUnVnYnkoKSkge1xuICAgICAgY2xhc3NMaXN0LnB1c2goJ2VtcHR5LWxvZ28tcnVnYnknKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuc3BvcnQuaXNXYXRlcnBvbG8oKSkge1xuICAgICAgY2xhc3NMaXN0LnB1c2goJ2VtcHR5LWxvZ28td2F0ZXJwb2xvJyk7XG4gICAgfVxuICAgIHJldHVybiBjbGFzc0xpc3Quam9pbignICcpO1xuICB9XG5cbiAgQFRvRnJvbnRIb29rXG4gIHN0YXRpYyB0b0Zyb250KGRhdGE6IGFueSk6IGFueSB7fVxuXG4gIEBUb0JhY2tIb29rXG4gIHN0YXRpYyB0b0JhY2soZGF0YTogYW55KTogYW55IHt9XG59XG4iXX0=
|
|
263
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG91cm5hbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL21vZGVscy90b3VybmFtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDckcsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM5QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNoQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXZELE1BQU0sQ0FBTixJQUFZLGVBSVg7QUFKRCxXQUFZLGVBQWU7SUFDekIsa0NBQWUsQ0FBQTtJQUNmLDhDQUEyQixDQUFBO0lBQzNCLGdDQUFhLENBQUE7QUFDZixDQUFDLEVBSlcsZUFBZSxLQUFmLGVBQWUsUUFJMUI7QUFFRCxNQUFNLENBQU4sSUFBWSxrQkFJWDtBQUpELFdBQVksa0JBQWtCO0lBQzVCLDJEQUFJLENBQUE7SUFDSix5RUFBVyxDQUFBO0lBQ1gsK0RBQU0sQ0FBQTtBQUNSLENBQUMsRUFKVyxrQkFBa0IsS0FBbEIsa0JBQWtCLFFBSTdCO0FBRUQsTUFBTSxDQUFOLElBQVksZ0JBSVg7QUFKRCxXQUFZLGdCQUFnQjtJQUMxQix1REFBTyxDQUFBO0lBQ1AsMkRBQU0sQ0FBQTtJQUNOLHFEQUFHLENBQUE7QUFDTCxDQUFDLEVBSlcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQUkzQjtBQUVELE1BQU0sQ0FBTixJQUFZLHdCQUlY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O1lBQ3BCLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLFdBQVcsRUFBRSxZQUFZO1lBQ3pCLHFCQUFxQixFQUFFLHFCQUFxQjtZQUM1QyxNQUFNLEVBQUUsUUFBUTtZQUNoQixXQUFXLEVBQUUsWUFBWTtZQUN6QixXQUFXLEVBQUUsWUFBWTtZQUN6QixVQUFVLEVBQUUsV0FBVztZQUN2QixNQUFNLEVBQUUsUUFBUTtZQUNoQixTQUFTLEVBQUUsVUFBVTtZQUNyQixVQUFVLEVBQUUsV0FBVztZQUN2QixvQkFBb0IsRUFBRSxvQkFBb0I7U0FDM0M7UUFDRCxRQUFRLEVBQUU7WUFDUixJQUFJLEVBQUUsSUFBSTtZQUNWLEtBQUssRUFBRSxJQUFJO1lBQ1gsWUFBWSxFQUFFLElBQUk7WUFDbEIsSUFBSSxFQUFFLElBQUk7WUFDVixLQUFLLEVBQUUsS0FBSztZQUNaLGNBQWMsRUFBRSxJQUFJO1lBQ3BCLFFBQVEsRUFBRSxrQkFBa0I7WUFDNUIsSUFBSSxFQUFFLGFBQWE7WUFDbkIsTUFBTSxFQUFFLE1BQU07WUFDZCxNQUFNLEVBQUUsU0FBUyxDQUFDLGtCQUFrQixDQUFDO1lBQ3JDLFVBQVUsRUFBRSxvQkFBb0I7WUFDaEMsVUFBVSxFQUFFLG9CQUFvQjtZQUNoQyxTQUFTLEVBQUUsb0JBQW9CO1lBQy9CLE1BQU0sRUFBRSxnQkFBZ0I7U0FDekI7S0FDRixDQUFDO0dBQ1csVUFBVSxDQTBEdEI7U0ExRFksVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VNb2RlbCwgZW51bUZpZWxkLCBNb2RlbEluc3RhbmNlLCBEYXRlVGltZUZpZWxkLCBUb0JhY2tIb29rLCBUb0Zyb250SG9vayB9IGZyb20gJy4vdXRpbCc7XG5pbXBvcnQgeyBDaXR5IH0gZnJvbSAnLi9jaXR5JztcbmltcG9ydCB7IEZpbGUgfSBmcm9tICcuL2ZpbGUnO1xuaW1wb3J0IHsgTGVhZ3VlIH0gZnJvbSAnLi9sZWFndWUnO1xuaW1wb3J0IHsgU3BvcnQgfSBmcm9tICcuL3Nwb3J0JztcbmltcG9ydCB7IFRlYW0gfSBmcm9tICcuL3RlYW0nO1xuaW1wb3J0IHsgVG91cm5hbWVudFNlYXNvbiB9IGZyb20gJy4vdG91cm5hbWVudC1zZWFzb24nO1xuXG5leHBvcnQgZW51bSBUb3VybmFtZW50VHlwZXMge1xuICBncm91cCA9ICdncm91cCcsXG4gIGVsaW1pbmF0aW9uID0gJ2VsaW1pbmF0aW9uJyxcbiAgZmliYSA9ICdmaWJhJ1xufVxuXG5leHBvcnQgZW51bSBUb3VybmFtZW50U3RhdHVzZXMge1xuICBvcGVuLFxuICBpbl9wcm9ncmVzcyxcbiAgY2xvc2VkLFxufVxuXG5leHBvcnQgZW51bSBUb3VybmFtZW50R2VuZGVyIHtcbiAgbWFsZT0gMSxcbiAgZmVtYWxlLFxuICBhbGxcbn1cblxuZXhwb3J0IGVudW0gQmFza2V0YmFsbFN0YXRpc3RpY1R5cGVzIHtcbiAgc3RhbmRhcmQgPSAxLFxuICBsaWdodCxcbiAgYWR2YW5jZWRcbn1cblxuZXhwb3J0IGVudW0gVm9sbGV5YmFsbFN0YXRpc3RpY1R5cGVzIHtcbiAgc3RhbmRhcmQgPSAxLFxuICBsaWdodCxcbiAgYWR2YW5jZWRcbn1cblxuZXhwb3J0IGVudW0gUnVnYnlTdGF0aXN0aWNUeXBlcyB7XG4gIGxpZ2h0ID0gMSxcbiAgc3RhbmRhcmQsXG59XG5cbmV4cG9ydCBlbnVtIEdhbWVUaW1lVHlwZXMge1xuICBjbGVhbiA9IDEsXG4gIGRpcnR5LFxufVxuXG5leHBvcnQgZW51bSBPdmVydGltZVR5cGVzIHtcbiAgdG9fc2NvcmVfdG90YWwgPSAxLFxuICB0b19zY29yZV9kaWZmLFxuICB0aW1lLFxuICB3aXRob3V0X292ZXJ0aW1lLFxuICB0b19maXJzdF9nb2FsLFxuICB0b19maXJzdF9nb2FsX2FuZF9idWxsaXR0cyxcbiAgYnVsbGl0dHMsXG4gIHBlbmFsdGllcyxcbiAgdGltZV9hbmRfcGVuYWx0aWVzXG59XG5cbmV4cG9ydCBlbnVtIFRpbWVyVHlwZXMge1xuICBiYWNrd2FyZCA9IDEsXG4gIGZvcndhcmQsXG59XG5cbkBNb2RlbEluc3RhbmNlKHtcbiAgbWFwcGluZ0ZpZWxkczoge1xuICAgIGlkOiAnaWQnLFxuICAgIGdlbmRlcjogJ2dlbmRlcicsXG4gICAgYmlydGhfeWVhcl9mcm9tOiAnYmlydGhZZWFyRnJvbScsXG4gICAgYmlydGhfeWVhcl90bzogJ2JpcnRoWWVhclRvJyxcbiAgICBtYXhfdGVhbV9wbGF5ZXJzOiAnbWF4VGVhbVBsYXllcnMnLFxuICAgIG1heF9nYW1lX3BsYXllcnM6ICdtYXhHYW1lUGxheWVycycsXG4gICAgdHlwZTogJ3R5cGUnLFxuICAgIHRvdXJzX2NvdW50OiAndG91cnNDb3VudCcsXG4gICAgcGVyaW9kc19jb3VudDogJ3BlcmlvZHNDb3VudCcsXG4gICAgcGVyaW9kX3RpbWU6ICdwZXJpb2RUaW1lJyxcbiAgICBvdmVydGltZV90eXBlOiAnb3ZlcnRpbWVUeXBlJyxcbiAgICBvdmVydGltZV90aW1lOiAnb3ZlcnRpbWVUaW1lJyxcbiAgICBvdmVydGltZV9zY29yZTogJ292ZXJ0aW1lU2NvcmUnLFxuICAgIGdhbWVfdHlwZTogJ2dhbWVUeXBlJyxcbiAgICB0aW1lb3V0X2NvdW50OiAndGltZW91dENvdW50JyxcbiAgICB0aW1lb3V0X3RpbWU6ICd0aW1lb3V0VGltZScsXG4gICAgc3Vic3RpdHV0ZV9jb3VudDogJ3N1YnN0aXR1dGVDb3VudCcsXG4gICAgZ2FtZV91cF90b19zY29yZTogJ2dhbWVVcFRvU2NvcmUnLFxuICAgIHZvbGxleWJhbGxfc2NvcmVfaW5fc2V0OiAndm9sbGV5YmFsbFNjb3JlSW5TZXQnLFxuICAgIHZvbGxleWJhbGxfc2NvcmVfaW5fbGFzdF9zZXQ6ICd2b2xsZXliYWxsU2NvcmVJbkxhc3RTZXQnLFxuICAgIG1hbmFnZV90ZWFtX2FwcGxpY2F0aW9uOiAnbWFuYWdlVGVhbUFwcGxpY2F0aW9uJyxcbiAgICByZWNydWl0bWVudF9pc19vcGVuOiAncmVjcnVpdG1lbnRJc09wZW4nLFxuICAgIHRyYW5zZmVyX2lzX29wZW46ICd0cmFuc2ZlcklzT3BlbicsXG4gICAgYmFza2V0YmFsbF9zdGF0aXN0aWNfdHlwZTogJ2Jhc2tldGJhbGxTdGF0aXN0aWNUeXBlJyxcbiAgICB2b2xsZXliYWxsX3N0YXRpc3RpY190eXBlOiAndm9sbGV5YmFsbFN0YXRpc3RpY1R5cGUnLFxuICAgIHJ1Z2J5X3N0YXRpc3RpY190eXBlOiAncnVnYnlTdGF0aXN0aWNUeXBlJyxcbiAgICBzaG90X2Nsb2NrX2VuYWJsZWQ6ICdzaG90Q2xvY2tFbmFibGVkJyxcbiAgICBnYW1lX3RpbWVfdHlwZTogJ2dhbWVUaW1lVHlwZScsXG4gICAgd2l0aF9yZXN1bHRfdGFibGU6ICd3aXRoUmVzdWx0VGFibGUnLFxuICAgIGZyZWVfc3Vic3RpdHV0ZV9lbmFibGVkOiAnZnJlZVN1YnN0aXR1dGVFbmFibGVkJyxcbiAgICBzdWJzdGl0dXRlX21hbmFnZV9lbmFibGVkOiAnc3Vic3RpdHV0ZU1hbmFnZUVuYWJsZWQnLFxuICAgIGJvbnVzX3BvaW50c19lbmFibGVkOiAnYm9udXNQb2ludHNFbmFibGVkJyxcbiAgICBtaW5vcl9wZW5hbHR5X3RpbWU6ICdtaW5vclBlbmFsdHlUaW1lJyxcbiAgICBtYWpvcl9wZW5hbHR5X3RpbWU6ICdtYWpvclBlbmFsdHlUaW1lJyxcbiAgICBtaXNjb25kdWN0X3BlbmFsdHlfdGltZTogJ21pc2NvbmR1Y3RQZW5hbHR5VGltZScsXG4gICAgZ2FtZV9taXNjb25kdWN0X3BlbmFsdHlfdGltZTogJ2dhbWVNaXNjb25kdWN0UGVuYWx0eVRpbWUnLFxuICAgIHRpbWVyX3R5cGU6ICd0aW1lclR5cGUnLFxuICB9LFxuICByZWxhdGlvbjoge1xuICAgIHR5cGU6IGVudW1GaWVsZChUb3VybmFtZW50VHlwZXMpLFxuICAgIGdlbmRlcjogZW51bUZpZWxkKFRvdXJuYW1lbnRHZW5kZXIpLFxuICAgIGJhc2tldGJhbGxTdGF0aXN0aWNUeXBlOiBlbnVtRmllbGQoQmFza2V0YmFsbFN0YXRpc3RpY1R5cGVzKSxcbiAgICB2b2xsZXliYWxsU3RhdGlzdGljVHlwZTogZW51bUZpZWxkKFZvbGxleWJhbGxTdGF0aXN0aWNUeXBlcyksXG4gICAgcnVnYnlTdGF0aXN0aWNUeXBlOiBlbnVtRmllbGQoUnVnYnlTdGF0aXN0aWNUeXBlcyksXG4gICAgZ2FtZVRpbWVUeXBlOiBlbnVtRmllbGQoR2FtZVRpbWVUeXBlcyksXG4gICAgb3ZlcnRpbWVUeXBlOiBlbnVtRmllbGQoT3ZlcnRpbWVUeXBlcyksXG4gICAgdGltZXJUeXBlOiBlbnVtRmllbGQoVGltZXJUeXBlcyksXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgVG91cm5hbWVudFNldHRpbmdzIGV4dGVuZHMgQmFzZU1vZGVsIHtcbiAgaWQ6IG51bWJlcjtcbiAgZ2VuZGVyOiBUb3VybmFtZW50R2VuZGVyO1xuICBiaXJ0aFllYXJGcm9tOiBudW1iZXI7XG4gIGJpcnRoWWVhclRvOiBudW1iZXI7XG4gIG1heFRlYW1QbGF5ZXJzOiBudW1iZXI7XG4gIG1heEdhbWVQbGF5ZXJzOiBudW1iZXI7XG4gIHR5cGU6IFRvdXJuYW1lbnRUeXBlcztcbiAgdG91cnNDb3VudDogbnVtYmVyO1xuICBwZXJpb2RzQ291bnQ6IG51bWJlcjtcbiAgcGVyaW9kVGltZTogbnVtYmVyO1xuICBvdmVydGltZVR5cGU6IE92ZXJ0aW1lVHlwZXM7XG4gIG92ZXJ0aW1lVGltZTogbnVtYmVyO1xuICBvdmVydGltZVNjb3JlOiBudW1iZXI7XG4gIGdhbWVUeXBlOiBzdHJpbmc7XG4gIHRpbWVvdXRDb3VudDogbnVtYmVyO1xuICB0aW1lb3V0VGltZTogbnVtYmVyO1xuICBzdWJzdGl0dXRlQ291bnQ6IG51bWJlcjtcbiAgZ2FtZVVwVG9TY29yZTogbnVtYmVyO1xuICB2b2xsZXliYWxsU2NvcmVJblNldDogbnVtYmVyO1xuICB2b2xsZXliYWxsU2NvcmVJbkxhc3RTZXQ6IG51bWJlcjtcbiAgbWFuYWdlVGVhbUFwcGxpY2F0aW9uOiBib29sZWFuO1xuICByZWNydWl0bWVudElzT3BlbjogYm9vbGVhbjtcbiAgdHJhbnNmZXJJc09wZW46IGJvb2xlYW47XG4gIGJhc2tldGJhbGxTdGF0aXN0aWNUeXBlOiBCYXNrZXRiYWxsU3RhdGlzdGljVHlwZXM7XG4gIHZvbGxleWJhbGxTdGF0aXN0aWNUeXBlOiBWb2xsZXliYWxsU3RhdGlzdGljVHlwZXM7XG4gIHJ1Z2J5U3RhdGlzdGljVHlwZTogUnVnYnlTdGF0aXN0aWNUeXBlcztcbiAgc2hvdENsb2NrRW5hYmxlZDogYm9vbGVhbjtcbiAgZ2FtZVRpbWVUeXBlOiBHYW1lVGltZVR5cGVzO1xuICB3aXRoUmVzdWx0VGFibGU6IGJvb2xlYW47XG4gIGZyZWVTdWJzdGl0dXRlRW5hYmxlZDogYm9vbGVhbjtcbiAgYm9udXNQb2ludHNFbmFibGVkOiBib29sZWFuO1xuICBzdWJzdGl0dXRlTWFuYWdlRW5hYmxlZDogYm9vbGVhbjtcbiAgbWlub3JQZW5hbHR5VGltZTogbnVtYmVyO1xuICBtYWpvclBlbmFsdHlUaW1lOiBudW1iZXI7XG4gIG1pc2NvbmR1Y3RQZW5hbHR5VGltZTogbnVtYmVyO1xuICBnYW1lTWlzY29uZHVjdFBlbmFsdHlUaW1lOiBudW1iZXI7XG4gIHRpbWVyVHlwZTogVGltZXJUeXBlcztcblxuICBnZXQgZ2VuZGVyVGl0bGUoKTogc3RyaW5nIHtcbiAgICBjb25zdCB5ZWFyRGlmZiA9IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKSAtIHRoaXMuYmlydGhZZWFyRnJvbTtcbiAgICBpZiAodGhpcy5nZW5kZXIgPT09IFRvdXJuYW1lbnRHZW5kZXIubWFsZSkge1xuICAgICAgaWYgKHllYXJEaWZmIDwgMTUpIHtcbiAgICAgICAgcmV0dXJuICfQnNCw0LvRjNGH0LjQutC4JztcbiAgICAgIH1cbiAgICAgIGlmICh5ZWFyRGlmZiA8IDIxKSB7XG4gICAgICAgIHJldHVybiAn0K7QvdC+0YjQuCc7XG4gICAgICB9XG4gICAgICByZXR1cm4gJ9Cc0YPQttGH0LjQvdGLJztcbiAgICB9XG4gICAgaWYgKHRoaXMuZ2VuZGVyID09PSBUb3VybmFtZW50R2VuZGVyLmZlbWFsZSkge1xuICAgICAgaWYgKHllYXJEaWZmIDwgMTUpIHtcbiAgICAgICAgcmV0dXJuICfQlNC10LLQvtGH0LrQuCc7XG4gICAgICB9XG4gICAgICBpZiAoeWVhckRpZmYgPCAyMSkge1xuICAgICAgICByZXR1cm4gJ9CU0LXQstGD0YjQutC4JztcbiAgICAgIH1cbiAgICAgIHJldHVybiAn0JbQtdC90YnQuNC90YsnO1xuICAgIH1cbiAgICByZXR1cm4gJ9Ch0LzQtdGI0LDQvdC90YvQuSc7XG4gIH1cblxuICBAVG9Gcm9udEhvb2tcbiAgc3RhdGljIHRvRnJvbnQoZGF0YTogYW55KTogYW55IHt9XG5cbiAgQFRvQmFja0hvb2tcbiAgc3RhdGljIHRvQmFjayhkYXRhOiBhbnkpOiBhbnkge31cbn1cblxuQE1vZGVsSW5zdGFuY2Uoe1xuICBtYXBwaW5nRmllbGRzOiB7XG4gICAgaWQ6ICdpZCcsXG4gICAgdGVhbV9pZDogJ3RlYW1JZCcsXG4gICAgdG91cm5hbWVudF9pZDogJ3RvdXJuYW1lbnRJZCcsXG4gICAgbmFtZTogJ25hbWUnLFxuICAgIGxvZ286ICdsb2dvJyxcbiAgICB0ZWFtOiAndGVhbScsXG4gICAgcG9pbnRzOiAncG9pbnRzJyxcbiAgfSxcbiAgcmVsYXRpb246IHtcbiAgICBsb2dvOiBGaWxlLFxuICAgIHRlYW06IFRlYW0sXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgVG91cm5hbWVudFRlYW1XaW5uZXIgZXh0ZW5kcyBCYXNlTW9kZWwge1xuICBpZDogbnVtYmVyO1xuICB0ZWFtSWQ6IG51bWJlcjtcbiAgdG91cm5hbWVudElkOiBudW1iZXI7XG4gIG5hbWU6IHN0cmluZztcbiAgbG9nbzogRmlsZTtcbiAgdGVhbTogVGVhbTtcbiAgcG9pbnRzOiBudW1iZXI7XG5cbiAgQFRvRnJvbnRIb29rXG4gIHN0YXRpYyB0b0Zyb250KGRhdGE6IGFueSk6IGFueSB7fVxuXG4gIEBUb0JhY2tIb29rXG4gIHN0YXRpYyB0b0JhY2soZGF0YTogYW55KTogYW55IHt9XG59XG5cbkBNb2RlbEluc3RhbmNlKHtcbiAgbWFwcGluZ0ZpZWxkczoge1xuICAgIGlkOiAnaWQnLFxuICAgIG5hbWU6ICduYW1lJyxcbiAgICBhbGlhczogJ2FsaWFzJyxcbiAgICBsb2dvOiAnbG9nbycsXG4gICAgY292ZXI6ICdjb3ZlcicsXG4gICAgcHJldmlld19pbWFnZTogJ3ByZXZpZXdJbWFnZScsXG4gICAgY2l0eTogJ2NpdHknLFxuICAgIHNwb3J0OiAnc3BvcnQnLFxuICAgIGxvY2F0aW9uOiAnbG9jYXRpb24nLFxuICAgIGRlc2NyaXB0aW9uOiAnZGVzY3JpcHRpb24nLFxuICAgIGRhdGU6ICdkYXRlJyxcbiAgICBwcmljZTogJ3ByaWNlJyxcbiAgICByZWd1bGF0aW9uX2ZpbGVzOiAncmVndWxhdGlvbkZpbGVzJyxcbiAgICBzZXR0aW5nczogJ3NldHRpbmdzJyxcbiAgICBsZWFndWU6ICdsZWFndWUnLFxuICAgIHRlYW1zX2NvdW50OiAndGVhbXNDb3VudCcsXG4gICAgY2xvc2VzdF9nYW1lX2RhdGV0aW1lOiAnY2xvc2VzdEdhbWVEYXRldGltZScsXG4gICAgc3RhdHVzOiAnc3RhdHVzJyxcbiAgICB0ZWFtX3dpbm5lcjogJ3RlYW1XaW5uZXInLFxuICAgIHRlYW1fc2Vjb25kOiAndGVhbVNlY29uZCcsXG4gICAgdGVhbV90aGlyZDogJ3RlYW1UaGlyZCcsXG4gICAgc2Vhc29uOiAnc2Vhc29uJyxcbiAgICBzZWFzb25faWQ6ICdzZWFzb25JZCcsXG4gICAgZ2FtZV9wcmljZTogJ2dhbWVQcmljZScsXG4gICAgc2Vhc29uX3RvdXJuYW1lbnRfaWQ6ICdzZWFzb25Ub3VybmFtZW50SWQnLFxuICB9LFxuICByZWxhdGlvbjoge1xuICAgIGxvZ286IEZpbGUsXG4gICAgY292ZXI6IEZpbGUsXG4gICAgcHJldmlld0ltYWdlOiBGaWxlLFxuICAgIGNpdHk6IENpdHksXG4gICAgc3BvcnQ6IFNwb3J0LFxuICAgIHJlZ3VsYXRpb25GaWxlOiBGaWxlLFxuICAgIHNldHRpbmdzOiBUb3VybmFtZW50U2V0dGluZ3MsXG4gICAgZGF0ZTogRGF0ZVRpbWVGaWVsZCxcbiAgICBsZWFndWU6IExlYWd1ZSxcbiAgICBzdGF0dXM6IGVudW1GaWVsZChUb3VybmFtZW50U3RhdHVzZXMpLFxuICAgIHRlYW1XaW5uZXI6IFRvdXJuYW1lbnRUZWFtV2lubmVyLFxuICAgIHRlYW1TZWNvbmQ6IFRvdXJuYW1lbnRUZWFtV2lubmVyLFxuICAgIHRlYW1UaGlyZDogVG91cm5hbWVudFRlYW1XaW5uZXIsXG4gICAgc2Vhc29uOiBUb3VybmFtZW50U2Vhc29uLFxuICB9XG59KVxuZXhwb3J0IGNsYXNzIFRvdXJuYW1lbnQgZXh0ZW5kcyBCYXNlTW9kZWwge1xuICBpZDogbnVtYmVyO1xuICBuYW1lOiBzdHJpbmc7XG4gIGFsaWFzOiBzdHJpbmc7XG4gIGxvZ286IEZpbGU7XG4gIGNvdmVyOiBGaWxlO1xuICBwcmV2aWV3SW1hZ2U6IEZpbGU7XG4gIGNpdHk6IENpdHk7XG4gIHNwb3J0OiBTcG9ydDtcbiAgbG9jYXRpb246IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgZGF0ZTogRGF0ZTtcbiAgcHJpY2U6IG51bWJlcjtcbiAgcmVndWxhdGlvbkZpbGVzOiBGaWxlW107XG4gIHNldHRpbmdzOiBUb3VybmFtZW50U2V0dGluZ3M7XG4gIGxlYWd1ZTogTGVhZ3VlO1xuICB0ZWFtc0NvdW50OiBudW1iZXI7XG4gIGNsb3Nlc3RHYW1lRGF0ZXRpbWU6IHN0cmluZztcbiAgc3RhdHVzOiBUb3VybmFtZW50U3RhdHVzZXM7XG4gIHRlYW1XaW5uZXI6IFRvdXJuYW1lbnRUZWFtV2lubmVyO1xuICB0ZWFtU2Vjb25kOiBUb3VybmFtZW50VGVhbVdpbm5lcjtcbiAgdGVhbVRoaXJkOiBUb3VybmFtZW50VGVhbVdpbm5lcjtcbiAgc2Vhc29uOiBUb3VybmFtZW50U2Vhc29uO1xuICBzZWFzb25JZDogbnVtYmVyO1xuICBnYW1lUHJpY2U6IG51bWJlcjtcbiAgc2Vhc29uVG91cm5hbWVudElkOiBudW1iZXI7XG5cbiAgZ2V0RW1wdHlMb2dvQ2xhc3MoKTogc3RyaW5nIHtcbiAgICBjb25zdCBjbGFzc0xpc3QgPSBbJ2VtcHR5LWxvZ28nXTtcbiAgICBpZiAodGhpcy5zcG9ydC5pc0Jhc2tldGJhbGwoKSkge1xuICAgICAgY2xhc3NMaXN0LnB1c2goJ2VtcHR5LWxvZ28tYmFza2V0YmFsbCcpO1xuICAgIH1cbiAgICBpZiAodGhpcy5zcG9ydC5pc1ZvbGxleWJhbGwoKSkge1xuICAgICAgY2xhc3NMaXN0LnB1c2goJ2VtcHR5LWxvZ28tdm9sbGV5YmFsbCcpO1xuICAgIH1cbiAgICBpZiAodGhpcy5zcG9ydC5pc0hvY2tleSgpKSB7XG4gICAgICBjbGFzc0xpc3QucHVzaCgnZW1wdHktbG9nby1ob2NrZXknKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuc3BvcnQuaXNGb290YmFsbCgpKSB7XG4gICAgICBjbGFzc0xpc3QucHVzaCgnZW1wdHktbG9nby1mb290YmFsbCcpO1xuICAgIH1cbiAgICBpZiAodGhpcy5zcG9ydC5pc0hhbmRiYWxsKCkpIHtcbiAgICAgIGNsYXNzTGlzdC5wdXNoKCdlbXB0eS1sb2dvLWhhbmRiYWxsJyk7XG4gICAgfVxuICAgIGlmICh0aGlzLnNwb3J0LmlzUnVnYnkoKSkge1xuICAgICAgY2xhc3NMaXN0LnB1c2goJ2VtcHR5LWxvZ28tcnVnYnknKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuc3BvcnQuaXNXYXRlcnBvbG8oKSkge1xuICAgICAgY2xhc3NMaXN0LnB1c2goJ2VtcHR5LWxvZ28td2F0ZXJwb2xvJyk7XG4gICAgfVxuICAgIHJldHVybiBjbGFzc0xpc3Quam9pbignICcpO1xuICB9XG5cbiAgQFRvRnJvbnRIb29rXG4gIHN0YXRpYyB0b0Zyb250KGRhdGE6IGFueSk6IGFueSB7fVxuXG4gIEBUb0JhY2tIb29rXG4gIHN0YXRpYyB0b0JhY2soZGF0YTogYW55KTogYW55IHt9XG59XG4iXX0=
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { HttpClient } from '@angular/common/http';
|
|
3
|
-
import { Subject } from 'rxjs
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
import { BehaviorSubject, Observable } from 'rxjs';
|
|
3
|
+
import { ReplaySubject, Subject } from 'rxjs';
|
|
4
|
+
import { Centrifuge } from 'centrifuge';
|
|
5
|
+
import { BehaviorSubject } from 'rxjs';
|
|
7
6
|
import { ConfigService } from './config.service';
|
|
8
|
-
import { filter, take } from 'rxjs/operators';
|
|
7
|
+
import { filter, take, tap } from 'rxjs/operators';
|
|
9
8
|
import * as i0 from "@angular/core";
|
|
10
9
|
import * as i1 from "@angular/common/http";
|
|
11
10
|
import * as i2 from "./config.service";
|
|
@@ -25,11 +24,8 @@ export class CentrifugoService {
|
|
|
25
24
|
return this.channels$[channel];
|
|
26
25
|
}
|
|
27
26
|
this.channels$[channel] = new Subject();
|
|
28
|
-
|
|
27
|
+
this.connect().subscribe(connected => {
|
|
29
28
|
this.subscriptions[channel] = this.addEngineSubscription(channel);
|
|
30
|
-
setTimeout(() => {
|
|
31
|
-
subscription.unsubscribe();
|
|
32
|
-
});
|
|
33
29
|
});
|
|
34
30
|
return this.channels$[channel];
|
|
35
31
|
}
|
|
@@ -46,60 +42,57 @@ export class CentrifugoService {
|
|
|
46
42
|
connect() {
|
|
47
43
|
if (!this.initializeEngineSubject) {
|
|
48
44
|
this.initializeEngineSubject = new ReplaySubject(1);
|
|
49
|
-
this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/
|
|
45
|
+
this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/centrifugo_v2/`)
|
|
50
46
|
.subscribe(config => {
|
|
51
47
|
this.initializeEngine({
|
|
52
48
|
url: this.configService.get('centrifugoUrl'),
|
|
53
|
-
user: config.user,
|
|
54
|
-
timestamp: config.timestamp,
|
|
55
49
|
token: config.token,
|
|
56
50
|
transports: ['websocket']
|
|
57
51
|
});
|
|
58
|
-
this.centrifuge.
|
|
59
|
-
this.centrifuge.on('connect', () => {
|
|
52
|
+
this.centrifuge.on('connected', () => {
|
|
60
53
|
this.initializeEngineSubject.next(true);
|
|
61
54
|
this.connectedSubject.next(true);
|
|
62
55
|
});
|
|
63
|
-
this.centrifuge.on('
|
|
56
|
+
this.centrifuge.on('disconnected', () => {
|
|
64
57
|
this.connectedSubject.next(false);
|
|
58
|
+
this.initializeEngineSubject.next(false);
|
|
65
59
|
});
|
|
60
|
+
this.centrifuge.connect();
|
|
66
61
|
});
|
|
67
62
|
}
|
|
68
63
|
return this.initializeEngineSubject.pipe(filter(item => Boolean(item)), take(1));
|
|
69
64
|
}
|
|
70
65
|
publish(channel, message) {
|
|
71
|
-
return
|
|
72
|
-
this.connect().subscribe(() => {
|
|
73
|
-
if (!this.subscriptions[channel]) {
|
|
74
|
-
this.subscriptions[channel] = this.addEngineSubscription(channel);
|
|
75
|
-
}
|
|
76
|
-
this.subscriptions[channel].publish(message).then(res => {
|
|
77
|
-
observer.next(res);
|
|
78
|
-
observer.complete();
|
|
79
|
-
}, error => {
|
|
80
|
-
throw error;
|
|
81
|
-
});
|
|
82
|
-
});
|
|
83
|
-
});
|
|
66
|
+
return this.connect().pipe(tap(() => this.centrifuge.publish(channel, message)));
|
|
84
67
|
}
|
|
85
68
|
disconnect() {
|
|
86
69
|
this.centrifuge.disconnect();
|
|
87
70
|
this.initializeEngineSubject = undefined;
|
|
71
|
+
for (const channel of Object.keys(this.channels$)) {
|
|
72
|
+
this.unsubscribe(channel);
|
|
73
|
+
}
|
|
88
74
|
this.channels$ = {};
|
|
89
75
|
this.subscriptions = {};
|
|
90
76
|
}
|
|
91
77
|
initializeEngine(config) {
|
|
92
|
-
this.centrifuge = new Centrifuge(config
|
|
78
|
+
this.centrifuge = new Centrifuge(config.url, {
|
|
79
|
+
token: config.token,
|
|
80
|
+
});
|
|
93
81
|
}
|
|
94
82
|
addEngineSubscription(channel) {
|
|
95
|
-
|
|
83
|
+
const sub = this.centrifuge.newSubscription(channel);
|
|
84
|
+
sub.on('publication', ctx => {
|
|
85
|
+
this.resolveMessage(channel, ctx.data);
|
|
86
|
+
});
|
|
87
|
+
sub.subscribe();
|
|
88
|
+
return sub;
|
|
96
89
|
}
|
|
97
|
-
resolveMessage(
|
|
98
|
-
const channel = response.channel;
|
|
90
|
+
resolveMessage(channel, message) {
|
|
99
91
|
if (!this.channels$[channel]) {
|
|
100
92
|
return;
|
|
101
93
|
}
|
|
102
|
-
|
|
94
|
+
console.log(message);
|
|
95
|
+
this.channels$[channel].next(message);
|
|
103
96
|
}
|
|
104
97
|
}
|
|
105
98
|
CentrifugoService.ɵprov = i0.ɵɵdefineInjectable({ factory: function CentrifugoService_Factory() { return new CentrifugoService(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.ConfigService)); }, token: CentrifugoService, providedIn: "root" });
|
|
@@ -110,4 +103,4 @@ CentrifugoService.ctorParameters = () => [
|
|
|
110
103
|
{ type: HttpClient },
|
|
111
104
|
{ type: ConfigService }
|
|
112
105
|
];
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VudHJpZnVnby5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvc2VydmljZXMvY2VudHJpZnVnby5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWxELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFNUQsT0FBTyxLQUFLLFVBQVUsTUFBTSxZQUFZLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFTOUMsTUFBTSxPQUFPLGlCQUFpQjtJQVc1QixZQUNVLFVBQXNCLEVBQ3RCLGFBQTRCO1FBRDVCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFaOUIsY0FBUyxHQUFvQyxFQUFFLENBQUM7UUFDaEQsa0JBQWEsR0FBMkIsRUFBRSxDQUFDO1FBRzNDLHFCQUFnQixHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBUzNELENBQUM7SUFQTCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBT0QsTUFBTSxDQUFDLE9BQU87UUFDWixJQUFJLE9BQU8sSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQzdCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUNo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QyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUM1QixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUMsQ0FBQzs7OztZQW5IRixVQUFVLFNBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDOzs7WUFoQnZCLFVBQVU7WUFPVixhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMvaW50ZXJuYWwvU3ViamVjdCc7XG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcy9pbnRlcm5hbC9SZXBsYXlTdWJqZWN0JztcblxuaW1wb3J0ICogYXMgQ2VudHJpZnVnZSBmcm9tICdjZW50cmlmdWdlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJy4vY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgZmlsdGVyLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbnRlcmZhY2UgQ2VudHJpZnVnb0NvbmZpZyB7XG4gIHVzZXI6IHN0cmluZztcbiAgdGltZXN0YW1wOiBzdHJpbmc7XG4gIHRva2VuOiBzdHJpbmc7XG59XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIENlbnRyaWZ1Z29TZXJ2aWNlIHtcbiAgcHJpdmF0ZSBjaGFubmVscyQ6IHsgW2tleTogc3RyaW5nXTogU3ViamVjdDxhbnk+IH0gPSB7fTtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge307XG4gIHByaXZhdGUgY2VudHJpZnVnZTtcbiAgcHJpdmF0ZSBpbml0aWFsaXplRW5naW5lU3ViamVjdDogUmVwbGF5U3ViamVjdDxib29sZWFuPjtcbiAgcHJpdmF0ZSBjb25uZWN0ZWRTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgZ2V0IGNvbm5lY3RlZCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuY29ubmVjdGVkU3ViamVjdDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXG4gICkgeyB9XG5cbiAgbGlzdGVuKGNoYW5uZWwpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGlmIChjaGFubmVsIGluIHRoaXMuY2hhbm5lbHMkKSB7XG4gICAgICByZXR1cm4gdGhpcy5jaGFubmVscyRbY2hhbm5lbF07XG4gICAgfVxuXG4gICAgdGhpcy5jaGFubmVscyRbY2hhbm5lbF0gPSBuZXcgU3ViamVjdDxhbnk+KCk7XG4gICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gdGhpcy5jb25uZWN0KCkuc3Vic2NyaWJlKGNvbm5lY3RlZCA9PiB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnNbY2hhbm5lbF0gPSB0aGlzLmFkZEVuZ2luZVN1YnNjcmlwdGlvbihjaGFubmVsKTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMuY2hhbm5lbHMkW2NoYW5uZWxdO1xuICB9XG5cbiAgdW5zdWJzY3JpYmUoY2hhbm5lbCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbnNbY2hhbm5lbF0pIHtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uc1tjaGFubmVsXS51bnN1YnNjcmliZSgpO1xuICAgICAgZGVsZXRlIHRoaXMuc3Vic2NyaXB0aW9uc1tjaGFubmVsXTtcbiAgICB9XG4gICAgaWYgKHRoaXMuY2hhbm5lbHMkW2NoYW5uZWxdKSB7XG4gICAgICB0aGlzLmNoYW5uZWxzJFtjaGFubmVsXS5jb21wbGV0ZSgpO1xuICAgICAgZGVsZXRlIHRoaXMuY2hhbm5lbHMkW2NoYW5uZWxdO1xuICAgIH1cbiAgfVxuXG4gIGNvbm5lY3QoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgaWYgKCF0aGlzLmluaXRpYWxpemVFbmdpbmVTdWJqZWN0KSB7XG4gICAgICB0aGlzLmluaXRpYWxpemVFbmdpbmVTdWJqZWN0ID0gbmV3IFJlcGxheVN1YmplY3QoMSk7XG5cbiAgICAgIHRoaXMuaHR0cENsaWVudC5nZXQ8Q2VudHJpZnVnb0NvbmZpZz4oYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS9jZW50cmlmdWdvL2ApXG4gICAgICAgIC5zdWJzY3JpYmUoY29uZmlnID0+IHtcbiAgICAgICAgICB0aGlzLmluaXRpYWxpemVFbmdpbmUoe1xuICAgICAgICAgICAgdXJsOiB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdjZW50cmlmdWdvVXJsJyksXG4gICAgICAgICAgICB1c2VyOiBjb25maWcudXNlcixcbiAgICAgICAgICAgIHRpbWVzdGFtcDogY29uZmlnLnRpbWVzdGFtcCxcbiAgICAgICAgICAgIHRva2VuOiBjb25maWcudG9rZW4sXG4gICAgICAgICAgICB0cmFuc3BvcnRzOiBbJ3dlYnNvY2tldCddXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdGhpcy5jZW50cmlmdWdlLmNvbm5lY3QoKTtcbiAgICAgICAgICB0aGlzLmNlbnRyaWZ1Z2Uub24oJ2Nvbm5lY3QnLCAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmluaXRpYWxpemVFbmdpbmVTdWJqZWN0Lm5leHQodHJ1ZSk7XG4gICAgICAgICAgICB0aGlzLmNvbm5lY3RlZFN1YmplY3QubmV4dCh0cnVlKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLmNlbnRyaWZ1Z2Uub24oJ2Rpc2Nvbm5lY3QnLCAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNvbm5lY3RlZFN1YmplY3QubmV4dChmYWxzZSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVFbmdpbmVTdWJqZWN0LnBpcGUoZmlsdGVyKGl0ZW0gPT4gQm9vbGVhbihpdGVtKSksIHRha2UoMSkpO1xuICB9XG5cbiAgcHVibGlzaChjaGFubmVsOiBzdHJpbmcsIG1lc3NhZ2U6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPGFueT4ob2JzZXJ2ZXIgPT4ge1xuICAgICAgdGhpcy5jb25uZWN0KCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLnN1YnNjcmlwdGlvbnNbY2hhbm5lbF0pIHtcbiAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnNbY2hhbm5lbF0gPSB0aGlzLmFkZEVuZ2luZVN1YnNjcmlwdGlvbihjaGFubmVsKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnNbY2hhbm5lbF0ucHVibGlzaChtZXNzYWdlKS50aGVuKHJlcyA9PiB7XG4gICAgICAgICAgb2JzZXJ2ZXIubmV4dChyZXMpO1xuICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgIH0sIGVycm9yID0+IHtcbiAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIGRpc2Nvbm5lY3QoKTogdm9pZCB7XG4gICAgdGhpcy5jZW50cmlmdWdlLmRpc2Nvbm5lY3QoKTtcbiAgICB0aGlzLmluaXRpYWxpemVFbmdpbmVTdWJqZWN0ID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuY2hhbm5lbHMkID0ge307XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zID0ge307XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVFbmdpbmUoY29uZmlnOiB7XG4gICAgdXJsOiBzdHJpbmcsXG4gICAgdXNlcjogc3RyaW5nLFxuICAgIHRpbWVzdGFtcDogc3RyaW5nLFxuICAgIHRva2VuOiBzdHJpbmcsXG4gICAgdHJhbnNwb3J0czogc3RyaW5nW11cbiAgfSk6IHZvaWQge1xuICAgIHRoaXMuY2VudHJpZnVnZSA9IG5ldyBDZW50cmlmdWdlKGNvbmZpZyk7XG4gIH1cblxuICBwcml2YXRlIGFkZEVuZ2luZVN1YnNjcmlwdGlvbihjaGFubmVsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmNlbnRyaWZ1Z2Uuc3Vic2NyaWJlKGNoYW5uZWwsIHRoaXMucmVzb2x2ZU1lc3NhZ2UuYmluZCh0aGlzKSk7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVNZXNzYWdlKHJlc3BvbnNlOiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBjaGFubmVsID0gcmVzcG9uc2UuY2hhbm5lbDtcbiAgICBpZiAoIXRoaXMuY2hhbm5lbHMkW2NoYW5uZWxdKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5jaGFubmVscyRbY2hhbm5lbF0ubmV4dChyZXNwb25zZS5kYXRhKTtcbiAgfVxufVxuIl19
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VudHJpZnVnby5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvc2VydmljZXMvY2VudHJpZnVnby5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWxELE9BQU8sRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDeEMsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFPbkQsTUFBTSxPQUFPLGlCQUFpQjtJQVc1QixZQUNVLFVBQXNCLEVBQ3RCLGFBQTRCO1FBRDVCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFaOUIsY0FBUyxHQUFvQyxFQUFFLENBQUM7UUFDaEQsa0JBQWEsR0FBb0MsRUFBRSxDQUFDO1FBR3BELHFCQUFnQixHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBUzNELENBQUM7SUFQTCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBT0QsTUFBTSxDQUFVLE9BQU87UUFDckIsSUFBSSxPQUFPLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUM3QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDaEM7UUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLE9B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TSxFQUFDOzs7WUFkdkIsVUFBVTtZQU1WLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IENlbnRyaWZ1Z2UgfSBmcm9tICdjZW50cmlmdWdlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJy4vY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAnY2VudHJpZnVnZS9idWlsZC9zdWJzY3JpcHRpb24nO1xuaW1wb3J0IHsgZmlsdGVyLCB0YWtlLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmludGVyZmFjZSBDZW50cmlmdWdvQ29uZmlnIHtcbiAgdG9rZW46IHN0cmluZztcbn1cblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgQ2VudHJpZnVnb1NlcnZpY2Uge1xuICBwcml2YXRlIGNoYW5uZWxzJDogeyBba2V5OiBzdHJpbmddOiBTdWJqZWN0PGFueT4gfSA9IHt9O1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IHsgW2tleTogc3RyaW5nXTogU3Vic2NyaXB0aW9uIH0gPSB7fTtcbiAgcHJpdmF0ZSBjZW50cmlmdWdlOiBDZW50cmlmdWdlO1xuICBwcml2YXRlIGluaXRpYWxpemVFbmdpbmVTdWJqZWN0OiBSZXBsYXlTdWJqZWN0PGJvb2xlYW4+O1xuICBwcml2YXRlIGNvbm5lY3RlZFN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBnZXQgY29ubmVjdGVkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5jb25uZWN0ZWRTdWJqZWN0O1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgKSB7IH1cblxuICBsaXN0ZW48VCA9IGFueT4oY2hhbm5lbCk6IE9ic2VydmFibGU8VD4ge1xuICAgIGlmIChjaGFubmVsIGluIHRoaXMuY2hhbm5lbHMkKSB7XG4gICAgICByZXR1cm4gdGhpcy5jaGFubmVscyRbY2hhbm5lbF07XG4gICAgfVxuXG4gICAgdGhpcy5jaGFubmVscyRbY2hhbm5lbF0gPSBuZXcgU3ViamVjdDxUPigpO1xuICAgIHRoaXMuY29ubmVjdCgpLnN1YnNjcmliZShjb25uZWN0ZWQgPT4ge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zW2NoYW5uZWxdID0gdGhpcy5hZGRFbmdpbmVTdWJzY3JpcHRpb24oY2hhbm5lbCk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5jaGFubmVscyRbY2hhbm5lbF07XG4gIH1cblxuICB1bnN1YnNjcmliZShjaGFubmVsKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uc1tjaGFubmVsXSkge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zW2NoYW5uZWxdLnVuc3Vic2NyaWJlKCk7XG4gICAgICBkZWxldGUgdGhpcy5zdWJzY3JpcHRpb25zW2NoYW5uZWxdO1xuICAgIH1cbiAgICBpZiAodGhpcy5jaGFubmVscyRbY2hhbm5lbF0pIHtcbiAgICAgIHRoaXMuY2hhbm5lbHMkW2NoYW5uZWxdLmNvbXBsZXRlKCk7XG4gICAgICBkZWxldGUgdGhpcy5jaGFubmVscyRbY2hhbm5lbF07XG4gICAgfVxuICB9XG5cbiAgY29ubmVjdCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBpZiAoIXRoaXMuaW5pdGlhbGl6ZUVuZ2luZVN1YmplY3QpIHtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZUVuZ2luZVN1YmplY3QgPSBuZXcgUmVwbGF5U3ViamVjdCgxKTtcblxuICAgICAgdGhpcy5odHRwQ2xpZW50LmdldDxDZW50cmlmdWdvQ29uZmlnPihgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL2NlbnRyaWZ1Z29fdjIvYClcbiAgICAgICAgLnN1YnNjcmliZShjb25maWcgPT4ge1xuICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZUVuZ2luZSh7XG4gICAgICAgICAgICB1cmw6IHRoaXMuY29uZmlnU2VydmljZS5nZXQoJ2NlbnRyaWZ1Z29VcmwnKSxcbiAgICAgICAgICAgIHRva2VuOiBjb25maWcudG9rZW4sXG4gICAgICAgICAgICB0cmFuc3BvcnRzOiBbJ3dlYnNvY2tldCddXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdGhpcy5jZW50cmlmdWdlLm9uKCdjb25uZWN0ZWQnLCAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmluaXRpYWxpemVFbmdpbmVTdWJqZWN0Lm5leHQodHJ1ZSk7XG4gICAgICAgICAgICB0aGlzLmNvbm5lY3RlZFN1YmplY3QubmV4dCh0cnVlKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLmNlbnRyaWZ1Z2Uub24oJ2Rpc2Nvbm5lY3RlZCcsICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY29ubmVjdGVkU3ViamVjdC5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZUVuZ2luZVN1YmplY3QubmV4dChmYWxzZSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdGhpcy5jZW50cmlmdWdlLmNvbm5lY3QoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZUVuZ2luZVN1YmplY3QucGlwZShmaWx0ZXIoaXRlbSA9PiBCb29sZWFuKGl0ZW0pKSwgdGFrZSgxKSk7XG4gIH1cblxuICBwdWJsaXNoKGNoYW5uZWw6IHN0cmluZywgbWVzc2FnZTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5jb25uZWN0KCkucGlwZShcbiAgICAgIHRhcCgoKSA9PiB0aGlzLmNlbnRyaWZ1Z2UucHVibGlzaChjaGFubmVsLCBtZXNzYWdlKSlcbiAgICApO1xuICB9XG5cbiAgZGlzY29ubmVjdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNlbnRyaWZ1Z2UuZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuaW5pdGlhbGl6ZUVuZ2luZVN1YmplY3QgPSB1bmRlZmluZWQ7XG4gICAgZm9yIChjb25zdCBjaGFubmVsIG9mIE9iamVjdC5rZXlzKHRoaXMuY2hhbm5lbHMkKSkge1xuICAgICAgdGhpcy51bnN1YnNjcmliZShjaGFubmVsKTtcbiAgICB9XG4gICAgdGhpcy5jaGFubmVscyQgPSB7fTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSB7fTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUVuZ2luZShjb25maWc6IHtcbiAgICB1cmw6IHN0cmluZyxcbiAgICB0b2tlbjogc3RyaW5nLFxuICAgIHRyYW5zcG9ydHM6IHN0cmluZ1tdXG4gIH0pOiB2b2lkIHtcbiAgICB0aGlzLmNlbnRyaWZ1Z2UgPSBuZXcgQ2VudHJpZnVnZShjb25maWcudXJsLCB7XG4gICAgICB0b2tlbjogY29uZmlnLnRva2VuLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRFbmdpbmVTdWJzY3JpcHRpb24oY2hhbm5lbDogc3RyaW5nKTogU3Vic2NyaXB0aW9uIHtcbiAgICBjb25zdCBzdWIgPSB0aGlzLmNlbnRyaWZ1Z2UubmV3U3Vic2NyaXB0aW9uKGNoYW5uZWwpO1xuICAgIHN1Yi5vbigncHVibGljYXRpb24nLCBjdHggPT4ge1xuICAgICAgdGhpcy5yZXNvbHZlTWVzc2FnZShjaGFubmVsLCBjdHguZGF0YSk7XG4gICAgfSk7XG4gICAgc3ViLnN1YnNjcmliZSgpO1xuICAgIHJldHVybiBzdWI7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVNZXNzYWdlKGNoYW5uZWw6IHN0cmluZywgbWVzc2FnZTogYW55KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNoYW5uZWxzJFtjaGFubmVsXSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnNvbGUubG9nKG1lc3NhZ2UpO1xuICAgIHRoaXMuY2hhbm5lbHMkW2NoYW5uZWxdLm5leHQobWVzc2FnZSk7XG4gIH1cbn1cbiJdfQ==
|
package/fesm2015/mtgame-core.js
CHANGED
|
@@ -3,11 +3,10 @@ import * as i0 from '@angular/core';
|
|
|
3
3
|
import { Injectable, Optional, Inject, Injector, PLATFORM_ID } from '@angular/core';
|
|
4
4
|
import * as i1 from '@angular/common/http';
|
|
5
5
|
import { HttpParams, HttpClient } from '@angular/common/http';
|
|
6
|
-
import { map, filter, take, delay, switchMap } from 'rxjs/operators';
|
|
7
|
-
import { BehaviorSubject,
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import * as Centrifuge from 'centrifuge';
|
|
6
|
+
import { map, filter, take, tap, delay, switchMap } from 'rxjs/operators';
|
|
7
|
+
import { BehaviorSubject, Subject, ReplaySubject, of } from 'rxjs';
|
|
8
|
+
import { Centrifuge } from 'centrifuge';
|
|
9
|
+
import { Subject as Subject$1 } from 'rxjs/internal/Subject';
|
|
11
10
|
import { captureException } from '@sentry/angular';
|
|
12
11
|
import { FormGroup } from '@angular/forms';
|
|
13
12
|
import { isPlatformBrowser } from '@angular/common';
|
|
@@ -1094,6 +1093,11 @@ var OvertimeTypes;
|
|
|
1094
1093
|
OvertimeTypes[OvertimeTypes["penalties"] = 8] = "penalties";
|
|
1095
1094
|
OvertimeTypes[OvertimeTypes["time_and_penalties"] = 9] = "time_and_penalties";
|
|
1096
1095
|
})(OvertimeTypes || (OvertimeTypes = {}));
|
|
1096
|
+
var TimerTypes;
|
|
1097
|
+
(function (TimerTypes) {
|
|
1098
|
+
TimerTypes[TimerTypes["backward"] = 1] = "backward";
|
|
1099
|
+
TimerTypes[TimerTypes["forward"] = 2] = "forward";
|
|
1100
|
+
})(TimerTypes || (TimerTypes = {}));
|
|
1097
1101
|
let TournamentSettings = class TournamentSettings extends BaseModel {
|
|
1098
1102
|
get genderTitle() {
|
|
1099
1103
|
const yearDiff = new Date().getFullYear() - this.birthYearFrom;
|
|
@@ -1165,6 +1169,7 @@ TournamentSettings = __decorate([
|
|
|
1165
1169
|
major_penalty_time: 'majorPenaltyTime',
|
|
1166
1170
|
misconduct_penalty_time: 'misconductPenaltyTime',
|
|
1167
1171
|
game_misconduct_penalty_time: 'gameMisconductPenaltyTime',
|
|
1172
|
+
timer_type: 'timerType',
|
|
1168
1173
|
},
|
|
1169
1174
|
relation: {
|
|
1170
1175
|
type: enumField(TournamentTypes),
|
|
@@ -1174,6 +1179,7 @@ TournamentSettings = __decorate([
|
|
|
1174
1179
|
rugbyStatisticType: enumField(RugbyStatisticTypes),
|
|
1175
1180
|
gameTimeType: enumField(GameTimeTypes),
|
|
1176
1181
|
overtimeType: enumField(OvertimeTypes),
|
|
1182
|
+
timerType: enumField(TimerTypes),
|
|
1177
1183
|
}
|
|
1178
1184
|
})
|
|
1179
1185
|
], TournamentSettings);
|
|
@@ -1313,11 +1319,13 @@ BasketballGameConfig = __decorate([
|
|
|
1313
1319
|
statistic_type: 'statisticType',
|
|
1314
1320
|
shot_clock_enabled: 'shotClockEnabled',
|
|
1315
1321
|
game_time_type: 'gameTimeType',
|
|
1322
|
+
timer_type: 'timerType',
|
|
1316
1323
|
},
|
|
1317
1324
|
relation: {
|
|
1318
1325
|
overtimeType: enumField(OvertimeTypes),
|
|
1319
1326
|
statisticType: enumField(BasketballStatisticTypes),
|
|
1320
1327
|
gameTimeType: enumField(GameTimeTypes),
|
|
1328
|
+
timerType: enumField(TimerTypes),
|
|
1321
1329
|
}
|
|
1322
1330
|
})
|
|
1323
1331
|
], BasketballGameConfig);
|
|
@@ -10281,11 +10289,8 @@ class CentrifugoService {
|
|
|
10281
10289
|
return this.channels$[channel];
|
|
10282
10290
|
}
|
|
10283
10291
|
this.channels$[channel] = new Subject();
|
|
10284
|
-
|
|
10292
|
+
this.connect().subscribe(connected => {
|
|
10285
10293
|
this.subscriptions[channel] = this.addEngineSubscription(channel);
|
|
10286
|
-
setTimeout(() => {
|
|
10287
|
-
subscription.unsubscribe();
|
|
10288
|
-
});
|
|
10289
10294
|
});
|
|
10290
10295
|
return this.channels$[channel];
|
|
10291
10296
|
}
|
|
@@ -10302,60 +10307,57 @@ class CentrifugoService {
|
|
|
10302
10307
|
connect() {
|
|
10303
10308
|
if (!this.initializeEngineSubject) {
|
|
10304
10309
|
this.initializeEngineSubject = new ReplaySubject(1);
|
|
10305
|
-
this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/
|
|
10310
|
+
this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/centrifugo_v2/`)
|
|
10306
10311
|
.subscribe(config => {
|
|
10307
10312
|
this.initializeEngine({
|
|
10308
10313
|
url: this.configService.get('centrifugoUrl'),
|
|
10309
|
-
user: config.user,
|
|
10310
|
-
timestamp: config.timestamp,
|
|
10311
10314
|
token: config.token,
|
|
10312
10315
|
transports: ['websocket']
|
|
10313
10316
|
});
|
|
10314
|
-
this.centrifuge.
|
|
10315
|
-
this.centrifuge.on('connect', () => {
|
|
10317
|
+
this.centrifuge.on('connected', () => {
|
|
10316
10318
|
this.initializeEngineSubject.next(true);
|
|
10317
10319
|
this.connectedSubject.next(true);
|
|
10318
10320
|
});
|
|
10319
|
-
this.centrifuge.on('
|
|
10321
|
+
this.centrifuge.on('disconnected', () => {
|
|
10320
10322
|
this.connectedSubject.next(false);
|
|
10323
|
+
this.initializeEngineSubject.next(false);
|
|
10321
10324
|
});
|
|
10325
|
+
this.centrifuge.connect();
|
|
10322
10326
|
});
|
|
10323
10327
|
}
|
|
10324
10328
|
return this.initializeEngineSubject.pipe(filter(item => Boolean(item)), take(1));
|
|
10325
10329
|
}
|
|
10326
10330
|
publish(channel, message) {
|
|
10327
|
-
return
|
|
10328
|
-
this.connect().subscribe(() => {
|
|
10329
|
-
if (!this.subscriptions[channel]) {
|
|
10330
|
-
this.subscriptions[channel] = this.addEngineSubscription(channel);
|
|
10331
|
-
}
|
|
10332
|
-
this.subscriptions[channel].publish(message).then(res => {
|
|
10333
|
-
observer.next(res);
|
|
10334
|
-
observer.complete();
|
|
10335
|
-
}, error => {
|
|
10336
|
-
throw error;
|
|
10337
|
-
});
|
|
10338
|
-
});
|
|
10339
|
-
});
|
|
10331
|
+
return this.connect().pipe(tap(() => this.centrifuge.publish(channel, message)));
|
|
10340
10332
|
}
|
|
10341
10333
|
disconnect() {
|
|
10342
10334
|
this.centrifuge.disconnect();
|
|
10343
10335
|
this.initializeEngineSubject = undefined;
|
|
10336
|
+
for (const channel of Object.keys(this.channels$)) {
|
|
10337
|
+
this.unsubscribe(channel);
|
|
10338
|
+
}
|
|
10344
10339
|
this.channels$ = {};
|
|
10345
10340
|
this.subscriptions = {};
|
|
10346
10341
|
}
|
|
10347
10342
|
initializeEngine(config) {
|
|
10348
|
-
this.centrifuge = new Centrifuge(config
|
|
10343
|
+
this.centrifuge = new Centrifuge(config.url, {
|
|
10344
|
+
token: config.token,
|
|
10345
|
+
});
|
|
10349
10346
|
}
|
|
10350
10347
|
addEngineSubscription(channel) {
|
|
10351
|
-
|
|
10348
|
+
const sub = this.centrifuge.newSubscription(channel);
|
|
10349
|
+
sub.on('publication', ctx => {
|
|
10350
|
+
this.resolveMessage(channel, ctx.data);
|
|
10351
|
+
});
|
|
10352
|
+
sub.subscribe();
|
|
10353
|
+
return sub;
|
|
10352
10354
|
}
|
|
10353
|
-
resolveMessage(
|
|
10354
|
-
const channel = response.channel;
|
|
10355
|
+
resolveMessage(channel, message) {
|
|
10355
10356
|
if (!this.channels$[channel]) {
|
|
10356
10357
|
return;
|
|
10357
10358
|
}
|
|
10358
|
-
|
|
10359
|
+
console.log(message);
|
|
10360
|
+
this.channels$[channel].next(message);
|
|
10359
10361
|
}
|
|
10360
10362
|
}
|
|
10361
10363
|
CentrifugoService.ɵprov = i0.ɵɵdefineInjectable({ factory: function CentrifugoService_Factory() { return new CentrifugoService(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(ConfigService)); }, token: CentrifugoService, providedIn: "root" });
|
|
@@ -10450,7 +10452,7 @@ function componentDestroyed(component) {
|
|
|
10450
10452
|
throw new Error('Use @UntilDestroy decorator in class');
|
|
10451
10453
|
}
|
|
10452
10454
|
if (!component.__componentDestroyed$) {
|
|
10453
|
-
component.__componentDestroyed$ = new Subject();
|
|
10455
|
+
component.__componentDestroyed$ = new Subject$1();
|
|
10454
10456
|
}
|
|
10455
10457
|
return component.__componentDestroyed$;
|
|
10456
10458
|
}
|
|
@@ -10649,5 +10651,5 @@ HttpCookieInterceptor.ctorParameters = () => [
|
|
|
10649
10651
|
* Generated bundle index. Do not edit.
|
|
10650
10652
|
*/
|
|
10651
10653
|
|
|
10652
|
-
export { Achievement, AchievementTypes, BannerLocation, BaseModel, BaseService, BasketballCourtSides, BasketballCourtZones, BasketballGameApi, BasketballGameConfig, BasketballGameLog, BasketballGameLogTypeLocalization, BasketballGameLogTypes, BasketballGameStatistic, BasketballGameSubLogTypesLocalization, BasketballGameTeamStatistic, BasketballPenaltyTypes, BasketballProfile, BasketballStatistic, BasketballStatisticTypes, BasketballSubLogTypes, CONFIG_DATA, CentrifugoService, City, ConfigService, DateField, DateTimeField, FAULT_LOG_TYPES, Feedback, FeedbackApi, File, FileApi, FileEngine, FootballGameApi, FootballGameConfig, FootballGameLog, FootballGameLogTypeLocalization, FootballGameLogTypes, FootballGameStatistic, FootballGameTeamStatistic, FootballProfile, FootballStatistic, FootballWorkFoot, FootballWorkFootLocalization, Game, GameBaseApi, GameBasketballPosition, GameBasketballPositionLocalization, GameBasketballPositionShortLocalization, GameBill, GameBillStatusLocalization, GameBillStatuses, GameFootballPosition, GameFootballPositionLocalization, GameHandballPosition, GameHandballPositionLocalization, GameHockeyPosition, GameHockeyPositionLocalization, GameInvite, GameInviteStatus, GameResultTypes, GameRugbyPosition, GameRugbyPositionLocalization, GameStatuses, GameTeamAdditionalData, GameTimeTypes, GameTimelineStageItem, GameTimelineStages, GameUser, GameUserDisqualification, GameUserLimitationTypes, GameUserLimitations, GameVolleyballPosition, GameVolleyballPositionLocalization, GameVolleyballPositionShortLocalization, GameVolleyballPositionShortRuLocalization, GameWaterpoloPosition, GameWaterpoloPositionLocalization, GameWaterpoloPositionShortRuLocalization, HandballGameApi, HandballGameConfig, HandballGameLog, HandballGameLogTypeLocalization, HandballGameLogTypes, HandballGameStatistic, HandballGameTeamStatistic, HandballProfile, HandballStatistic, HockeyAdvantageTypes, HockeyGameApi, HockeyGameConfig, HockeyGameLog, HockeyGameLogTypeLocalization, HockeyGameLogTypes, HockeyGameStatistic, HockeyGameTeamStatistic, HockeyPenaltyTypes, HockeyProfile, HockeyStatistic, HockeyWorkHand, HockeyWorkHandLocalization, HttpCookieInterceptor, League, LeagueApi, LeagueBanner, LeagueCourt, LeagueDocument, LeagueNews, LeagueNewsApi, LeagueNewsType, LeaguePartner, LeaguePlayer, LeaguePlayerApi, LeaguePlaylist, LocalStorageEngine, MODEL_MAPPING_FIELDS_KEY, MODEL_RELATION_KEY, MODEL_TO_BACK_KEY, MODEL_TO_FRONT_KEY, MediaApi, MediaItem, ModelInstance, Notification, NotificationAllowTypes, NotificationApi, NotificationBaseApi, NotificationServiceEnum, NotificationSettings, NotificationType, OrgNotificationApi, Organization, OrganizationBill, OrganizationBillStatusLocalization, OrganizationBillStatuses, OrganizationStatistic, OrganizationStatuses, OrganizationStatusesLocalization, OrganizationTariff, OvertimeTypeLocalization, OvertimeTypes, Playoff, PlayoffSettings, PlayoffTypes, Poll, PollAnswer, PollStatuses, PollVariant, PublicTeamApi, PublicUserApi, Qualification, QualificationLocalization, RUGBY_GAME_LOG_TYPE_POINTS, RUGBY_TEAM_LOG_TYPES, ReferenceApi, RoundTeamGame, RugbyFoulGameStage, RugbyFoulGameStageLocalization, RugbyFoulSanctionLocalization, RugbyFoulSanctions, RugbyFoulType, RugbyGameApi, RugbyGameConfig, RugbyGameLog, RugbyGameLogTypeLocalization, RugbyGameLogTypes, RugbyGameStatistic, RugbyGameTeamStatistic, RugbyProfile, RugbyStatistic, RugbyStatisticTypes, SCORE_LOG_TYPES, Sport, SportTypes, StorageEngine, StorageEngineField, Store, Team, TeamAccess, TeamAchievement, TeamAdditionalData, TeamApi, TeamEvent, TeamEventApi, TeamEventInvite, TeamEventInviteStatuses, TeamEventTypeLocalization, TeamEventTypes, TeamInvite, TeamInviteExternal, TeamPermission, TeamPermissionTypes, TeamUser, TeamUserRole, TeamUserRoleLocalization, TeamsAndUsers, ToBackHook, ToFrontHook, Tournament, TournamentApi, TournamentDisqualification, TournamentDivision, TournamentEvent, TournamentEventTypes, TournamentGender, TournamentGroup, TournamentInvite, TournamentJoin1x1Data, TournamentJoin1x1Status, TournamentJoinApi, TournamentJoinData, TournamentJoinTeam, TournamentNews, TournamentRound, TournamentRoundApi, TournamentRoundSettings, TournamentRoundTeam, TournamentRoundTypes, TournamentSeason, TournamentSeasonApi, TournamentSeasonStatuses, TournamentSettings, TournamentStage, TournamentStageApi, TournamentStageStatuses, TournamentStageTeam, TournamentStatuses, TournamentTeam, TournamentTeamShort, TournamentTeamUser, TournamentTeamUserInvite, TournamentTeamWinner, TournamentTypes, UntilDestroy, User, UserAccess, UserApi, UserGender, UserPermission, UserPermissionTypes, UserProfile, VolleyballGameApi, VolleyballGameConfig, VolleyballGameLog, VolleyballGameLogType, VolleyballGameLogTypeLocalization, VolleyballGameStatistic, VolleyballGameTeamStatistic, VolleyballGameTypes, VolleyballProfile, VolleyballStatistic, VolleyballStatisticTypes, VolleyballWorkHand, VolleyballWorkHandLocalization, WaterpoloAdvantageTypes, WaterpoloGameApi, WaterpoloGameConfig, WaterpoloGameLog, WaterpoloGameLogTypeLocalization, WaterpoloGameLogTypes, WaterpoloGameStatistic, WaterpoloGameTeamStatistic, WaterpoloProfile, WaterpoloStatistic, WaterpoloWorkHand, WaterpoloWorkHandLocalization, WorkHand, WorkHandLocalization, addItemInArray, addItemsInArray, applyGameMediaFilters, applyGamesFilters, applyStatisticFilters, applyStatisticLeadersFilters, changeFavicons, componentDestroyed, deleteItemFromArray, enumField, fileSizeValidator, generateArray, getArrayChunks, getCookie, getEnumOptions, getIconsData, handleError, isTouchDevice, listField, markFormGroupTouched, minLengthArrayValidator, parseDate, patchItemInArray, penaltyTypeField, updateItemInArray, updateItemsInArray, validateDate, validateEmail, validatePhone, validateUrl };
|
|
10654
|
+
export { Achievement, AchievementTypes, BannerLocation, BaseModel, BaseService, BasketballCourtSides, BasketballCourtZones, BasketballGameApi, BasketballGameConfig, BasketballGameLog, BasketballGameLogTypeLocalization, BasketballGameLogTypes, BasketballGameStatistic, BasketballGameSubLogTypesLocalization, BasketballGameTeamStatistic, BasketballPenaltyTypes, BasketballProfile, BasketballStatistic, BasketballStatisticTypes, BasketballSubLogTypes, CONFIG_DATA, CentrifugoService, City, ConfigService, DateField, DateTimeField, FAULT_LOG_TYPES, Feedback, FeedbackApi, File, FileApi, FileEngine, FootballGameApi, FootballGameConfig, FootballGameLog, FootballGameLogTypeLocalization, FootballGameLogTypes, FootballGameStatistic, FootballGameTeamStatistic, FootballProfile, FootballStatistic, FootballWorkFoot, FootballWorkFootLocalization, Game, GameBaseApi, GameBasketballPosition, GameBasketballPositionLocalization, GameBasketballPositionShortLocalization, GameBill, GameBillStatusLocalization, GameBillStatuses, GameFootballPosition, GameFootballPositionLocalization, GameHandballPosition, GameHandballPositionLocalization, GameHockeyPosition, GameHockeyPositionLocalization, GameInvite, GameInviteStatus, GameResultTypes, GameRugbyPosition, GameRugbyPositionLocalization, GameStatuses, GameTeamAdditionalData, GameTimeTypes, GameTimelineStageItem, GameTimelineStages, GameUser, GameUserDisqualification, GameUserLimitationTypes, GameUserLimitations, GameVolleyballPosition, GameVolleyballPositionLocalization, GameVolleyballPositionShortLocalization, GameVolleyballPositionShortRuLocalization, GameWaterpoloPosition, GameWaterpoloPositionLocalization, GameWaterpoloPositionShortRuLocalization, HandballGameApi, HandballGameConfig, HandballGameLog, HandballGameLogTypeLocalization, HandballGameLogTypes, HandballGameStatistic, HandballGameTeamStatistic, HandballProfile, HandballStatistic, HockeyAdvantageTypes, HockeyGameApi, HockeyGameConfig, HockeyGameLog, HockeyGameLogTypeLocalization, HockeyGameLogTypes, HockeyGameStatistic, HockeyGameTeamStatistic, HockeyPenaltyTypes, HockeyProfile, HockeyStatistic, HockeyWorkHand, HockeyWorkHandLocalization, HttpCookieInterceptor, League, LeagueApi, LeagueBanner, LeagueCourt, LeagueDocument, LeagueNews, LeagueNewsApi, LeagueNewsType, LeaguePartner, LeaguePlayer, LeaguePlayerApi, LeaguePlaylist, LocalStorageEngine, MODEL_MAPPING_FIELDS_KEY, MODEL_RELATION_KEY, MODEL_TO_BACK_KEY, MODEL_TO_FRONT_KEY, MediaApi, MediaItem, ModelInstance, Notification, NotificationAllowTypes, NotificationApi, NotificationBaseApi, NotificationServiceEnum, NotificationSettings, NotificationType, OrgNotificationApi, Organization, OrganizationBill, OrganizationBillStatusLocalization, OrganizationBillStatuses, OrganizationStatistic, OrganizationStatuses, OrganizationStatusesLocalization, OrganizationTariff, OvertimeTypeLocalization, OvertimeTypes, Playoff, PlayoffSettings, PlayoffTypes, Poll, PollAnswer, PollStatuses, PollVariant, PublicTeamApi, PublicUserApi, Qualification, QualificationLocalization, RUGBY_GAME_LOG_TYPE_POINTS, RUGBY_TEAM_LOG_TYPES, ReferenceApi, RoundTeamGame, RugbyFoulGameStage, RugbyFoulGameStageLocalization, RugbyFoulSanctionLocalization, RugbyFoulSanctions, RugbyFoulType, RugbyGameApi, RugbyGameConfig, RugbyGameLog, RugbyGameLogTypeLocalization, RugbyGameLogTypes, RugbyGameStatistic, RugbyGameTeamStatistic, RugbyProfile, RugbyStatistic, RugbyStatisticTypes, SCORE_LOG_TYPES, Sport, SportTypes, StorageEngine, StorageEngineField, Store, Team, TeamAccess, TeamAchievement, TeamAdditionalData, TeamApi, TeamEvent, TeamEventApi, TeamEventInvite, TeamEventInviteStatuses, TeamEventTypeLocalization, TeamEventTypes, TeamInvite, TeamInviteExternal, TeamPermission, TeamPermissionTypes, TeamUser, TeamUserRole, TeamUserRoleLocalization, TeamsAndUsers, TimerTypes, ToBackHook, ToFrontHook, Tournament, TournamentApi, TournamentDisqualification, TournamentDivision, TournamentEvent, TournamentEventTypes, TournamentGender, TournamentGroup, TournamentInvite, TournamentJoin1x1Data, TournamentJoin1x1Status, TournamentJoinApi, TournamentJoinData, TournamentJoinTeam, TournamentNews, TournamentRound, TournamentRoundApi, TournamentRoundSettings, TournamentRoundTeam, TournamentRoundTypes, TournamentSeason, TournamentSeasonApi, TournamentSeasonStatuses, TournamentSettings, TournamentStage, TournamentStageApi, TournamentStageStatuses, TournamentStageTeam, TournamentStatuses, TournamentTeam, TournamentTeamShort, TournamentTeamUser, TournamentTeamUserInvite, TournamentTeamWinner, TournamentTypes, UntilDestroy, User, UserAccess, UserApi, UserGender, UserPermission, UserPermissionTypes, UserProfile, VolleyballGameApi, VolleyballGameConfig, VolleyballGameLog, VolleyballGameLogType, VolleyballGameLogTypeLocalization, VolleyballGameStatistic, VolleyballGameTeamStatistic, VolleyballGameTypes, VolleyballProfile, VolleyballStatistic, VolleyballStatisticTypes, VolleyballWorkHand, VolleyballWorkHandLocalization, WaterpoloAdvantageTypes, WaterpoloGameApi, WaterpoloGameConfig, WaterpoloGameLog, WaterpoloGameLogTypeLocalization, WaterpoloGameLogTypes, WaterpoloGameStatistic, WaterpoloGameTeamStatistic, WaterpoloProfile, WaterpoloStatistic, WaterpoloWorkHand, WaterpoloWorkHandLocalization, WorkHand, WorkHandLocalization, addItemInArray, addItemsInArray, applyGameMediaFilters, applyGamesFilters, applyStatisticFilters, applyStatisticLeadersFilters, changeFavicons, componentDestroyed, deleteItemFromArray, enumField, fileSizeValidator, generateArray, getArrayChunks, getCookie, getEnumOptions, getIconsData, handleError, isTouchDevice, listField, markFormGroupTouched, minLengthArrayValidator, parseDate, patchItemInArray, penaltyTypeField, updateItemInArray, updateItemsInArray, validateDate, validateEmail, validatePhone, validateUrl };
|
|
10653
10655
|
//# sourceMappingURL=mtgame-core.js.map
|