@ethlete/core 0.2.0-next.8 → 1.0.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/esm2020/lib/components/public-api.mjs +2 -0
- package/esm2020/lib/components/structured-data/public-api.mjs +2 -0
- package/esm2020/lib/components/structured-data/structured-data.component.mjs +37 -0
- package/esm2020/lib/directives/animatable/animatable.directive.mjs +79 -0
- package/esm2020/lib/directives/animatable/public-api.mjs +2 -0
- package/esm2020/lib/directives/animated-lifecycle/animated-lifecycle.directive.mjs +115 -0
- package/esm2020/lib/directives/animated-lifecycle/public-api.mjs +2 -0
- package/esm2020/lib/directives/click-outside/click-outside.directive.mjs +3 -3
- package/esm2020/lib/directives/cursor-drag-scroll/cursor-drag-scroll.directive.mjs +5 -5
- package/esm2020/lib/directives/let/let.directive.mjs +8 -8
- package/esm2020/lib/directives/observe-content/observe-content.directive.mjs +7 -7
- package/esm2020/lib/directives/observe-resize/observe-resize.directive.mjs +7 -7
- package/esm2020/lib/directives/observe-scroll-state/observe-scroll-state.directive.mjs +11 -10
- package/esm2020/lib/directives/public-api.mjs +3 -2
- package/esm2020/lib/directives/repeat/repeat.directive.mjs +10 -11
- package/esm2020/lib/directives/scroll-observer-first-element/scroll-observer-first-element.directive.mjs +3 -3
- package/esm2020/lib/directives/scroll-observer-ignore-target/scroll-observer-ignore-target.directive.mjs +3 -3
- package/esm2020/lib/directives/scroll-observer-last-element/scroll-observer-last-element.directive.mjs +3 -3
- package/esm2020/lib/directives/seo/seo.directive.mjs +8 -4
- package/esm2020/lib/pipes/normalize-game-result-type/normalize-game-result-type.pipe.mjs +15 -0
- package/esm2020/lib/pipes/normalize-game-result-type/normalize-game-result-type.types.mjs +2 -0
- package/esm2020/lib/pipes/normalize-game-result-type/normalize-game-result-type.util.mjs +34 -0
- package/esm2020/lib/pipes/normalize-game-result-type/public-api.mjs +4 -0
- package/esm2020/lib/pipes/normalize-match-participants/normalize-match-participants.pipe.mjs +15 -0
- package/esm2020/lib/pipes/normalize-match-participants/normalize-match-participants.types.mjs +2 -0
- package/esm2020/lib/pipes/normalize-match-participants/normalize-match-participants.util.mjs +47 -0
- package/esm2020/lib/pipes/normalize-match-participants/public-api.mjs +4 -0
- package/esm2020/lib/pipes/normalize-match-score/normalize-match-score.pipe.mjs +15 -0
- package/esm2020/lib/pipes/normalize-match-score/normalize-match-score.types.mjs +2 -0
- package/esm2020/lib/pipes/normalize-match-score/normalize-match-score.util.mjs +126 -0
- package/esm2020/lib/pipes/normalize-match-score/public-api.mjs +4 -0
- package/esm2020/lib/pipes/normalize-match-state/index.mjs +2 -0
- package/esm2020/lib/pipes/normalize-match-state/normalize-match-state.constants.mjs +2 -0
- package/esm2020/lib/pipes/normalize-match-state/normalize-match-state.pipe.mjs +15 -0
- package/esm2020/lib/pipes/normalize-match-state/normalize-match-state.util.mjs +19 -0
- package/esm2020/lib/pipes/normalize-match-state/public-api.mjs +4 -0
- package/esm2020/lib/pipes/normalize-match-type/normalize-match-type.pipe.mjs +15 -0
- package/esm2020/lib/pipes/normalize-match-type/normalize-match-type.util.mjs +38 -0
- package/esm2020/lib/pipes/normalize-match-type/public-api.mjs +3 -0
- package/esm2020/lib/pipes/public-api.mjs +6 -1
- package/esm2020/lib/pipes/to-array/to-array.pipe.mjs +3 -3
- package/esm2020/lib/public-api.mjs +3 -1
- package/esm2020/lib/services/click-observer.service.mjs +6 -6
- package/esm2020/lib/services/content-observer.service.mjs +6 -6
- package/esm2020/lib/services/destroy.service.mjs +3 -3
- package/esm2020/lib/services/focus-visible.service.mjs +7 -7
- package/esm2020/lib/services/public-api.mjs +2 -1
- package/esm2020/lib/services/resize-observer.service.mjs +6 -6
- package/esm2020/lib/services/router-state.service.mjs +115 -0
- package/esm2020/lib/services/viewport.service.mjs +16 -16
- package/esm2020/lib/types/angular.types.mjs +36 -2
- package/esm2020/lib/types/i18n.types.mjs +2 -0
- package/esm2020/lib/types/public-api.mjs +3 -2
- package/esm2020/lib/utils/animation.utils.mjs +18 -0
- package/esm2020/lib/utils/clone.util.mjs +78 -0
- package/esm2020/lib/utils/cookie.util.mjs +48 -0
- package/esm2020/lib/utils/equal.util.mjs +118 -0
- package/esm2020/lib/utils/media-query-observable.util.mjs +18 -0
- package/esm2020/lib/utils/public-api.mjs +8 -2
- package/esm2020/lib/utils/reactive-binding.util.mjs +111 -0
- package/esm2020/lib/validators/is-array-not-empty.validator.mjs +9 -0
- package/esm2020/lib/validators/is-email.validator.mjs +10 -0
- package/esm2020/lib/validators/must-match.validator.mjs +19 -0
- package/esm2020/lib/validators/public-api.mjs +12 -0
- package/fesm2015/ethlete-core.mjs +1232 -138
- package/fesm2015/ethlete-core.mjs.map +1 -1
- package/fesm2020/ethlete-core.mjs +1238 -138
- package/fesm2020/ethlete-core.mjs.map +1 -1
- package/lib/components/public-api.d.ts +1 -0
- package/lib/components/structured-data/public-api.d.ts +1 -0
- package/lib/components/structured-data/structured-data.component.d.ts +11 -0
- package/lib/directives/animatable/animatable.directive.d.ts +20 -0
- package/lib/directives/animatable/public-api.d.ts +1 -0
- package/lib/directives/animated-lifecycle/animated-lifecycle.directive.d.ts +22 -0
- package/lib/directives/animated-lifecycle/public-api.d.ts +1 -0
- package/lib/directives/observe-content/observe-content.directive.d.ts +2 -2
- package/lib/directives/observe-resize/observe-resize.directive.d.ts +2 -2
- package/lib/directives/observe-scroll-state/observe-scroll-state.directive.d.ts +2 -2
- package/lib/directives/observe-scroll-state/observe-scroll-state.types.d.ts +1 -1
- package/lib/directives/public-api.d.ts +2 -1
- package/lib/directives/repeat/repeat.directive.d.ts +2 -3
- package/lib/directives/seo/seo.directive.types.d.ts +1 -1
- package/lib/pipes/normalize-game-result-type/normalize-game-result-type.pipe.d.ts +7 -0
- package/lib/pipes/normalize-game-result-type/normalize-game-result-type.types.d.ts +4 -0
- package/lib/pipes/normalize-game-result-type/normalize-game-result-type.util.d.ts +2 -0
- package/lib/pipes/normalize-game-result-type/public-api.d.ts +3 -0
- package/lib/pipes/normalize-match-participants/normalize-match-participants.pipe.d.ts +7 -0
- package/lib/pipes/normalize-match-participants/normalize-match-participants.types.d.ts +21 -0
- package/lib/pipes/normalize-match-participants/normalize-match-participants.util.d.ts +4 -0
- package/lib/pipes/normalize-match-participants/public-api.d.ts +3 -0
- package/lib/pipes/normalize-match-score/normalize-match-score.pipe.d.ts +7 -0
- package/lib/pipes/normalize-match-score/normalize-match-score.types.d.ts +12 -0
- package/lib/pipes/normalize-match-score/normalize-match-score.util.d.ts +27 -0
- package/lib/pipes/normalize-match-score/public-api.d.ts +3 -0
- package/lib/pipes/normalize-match-state/index.d.ts +1 -0
- package/lib/pipes/normalize-match-state/normalize-match-state.constants.d.ts +7 -0
- package/lib/pipes/normalize-match-state/normalize-match-state.pipe.d.ts +7 -0
- package/lib/pipes/normalize-match-state/normalize-match-state.util.d.ts +3 -0
- package/lib/pipes/normalize-match-state/public-api.d.ts +3 -0
- package/lib/pipes/normalize-match-type/normalize-match-type.pipe.d.ts +7 -0
- package/lib/pipes/normalize-match-type/normalize-match-type.util.d.ts +3 -0
- package/lib/pipes/normalize-match-type/public-api.d.ts +2 -0
- package/lib/pipes/public-api.d.ts +5 -0
- package/lib/public-api.d.ts +2 -0
- package/lib/services/public-api.d.ts +1 -0
- package/lib/services/router-state.service.d.ts +40 -0
- package/lib/services/viewport.types.d.ts +1 -1
- package/lib/types/angular.types.d.ts +14 -1
- package/lib/types/i18n.types.d.ts +4 -0
- package/lib/types/public-api.d.ts +2 -1
- package/lib/types/viewport.types.d.ts +2 -2
- package/lib/utils/animation.utils.d.ts +4 -0
- package/lib/utils/clone.util.d.ts +15 -0
- package/lib/utils/cookie.util.d.ts +5 -0
- package/lib/utils/equal.util.d.ts +27 -0
- package/lib/utils/media-query-observable.util.d.ts +5 -0
- package/lib/utils/public-api.d.ts +7 -1
- package/lib/utils/reactive-binding.util.d.ts +19 -0
- package/lib/validators/is-array-not-empty.validator.d.ts +3 -0
- package/lib/validators/is-email.validator.d.ts +3 -0
- package/lib/validators/must-match.validator.d.ts +3 -0
- package/lib/validators/public-api.d.ts +8 -0
- package/package.json +8 -5
- package/esm2020/lib/directives/destroy/destroy.directive.mjs +0 -22
- package/esm2020/lib/directives/destroy/public-api.mjs +0 -2
- package/lib/directives/destroy/destroy.directive.d.ts +0 -9
- package/lib/directives/destroy/public-api.d.ts +0 -1
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { normalizeMatchState } from '../normalize-match-state';
|
|
2
|
+
const EMPTY_SCORE = {
|
|
3
|
+
home: { score: 'match-score.placeholder', isWinner: false },
|
|
4
|
+
away: { score: 'match-score.placeholder', isWinner: false },
|
|
5
|
+
isNumeric: false,
|
|
6
|
+
subLine: null,
|
|
7
|
+
};
|
|
8
|
+
export const normalizeMatchScore = (match) => {
|
|
9
|
+
if (!match) {
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
const matchState = normalizeMatchState(match);
|
|
13
|
+
const subLine = getMatchScoreSubLine(match);
|
|
14
|
+
if (!match.homeScore && !match.awayScore) {
|
|
15
|
+
return { ...EMPTY_SCORE, subLine, isNumeric: false };
|
|
16
|
+
}
|
|
17
|
+
if (isKnockoutMatch(match)) {
|
|
18
|
+
if (matchState === "preMatch" /* MatchStateType.PRE_MATCH */ || matchState === "live" /* MatchStateType.LIVE */) {
|
|
19
|
+
return { ...EMPTY_SCORE, subLine, isNumeric: false };
|
|
20
|
+
}
|
|
21
|
+
return {
|
|
22
|
+
home: {
|
|
23
|
+
score: getKnockoutMatchScore(match.homeScore),
|
|
24
|
+
isWinner: match.homeScore?.status === 'won',
|
|
25
|
+
},
|
|
26
|
+
away: {
|
|
27
|
+
score: getKnockoutMatchScore(match.awayScore),
|
|
28
|
+
isWinner: match.awayScore?.status === 'won',
|
|
29
|
+
},
|
|
30
|
+
subLine,
|
|
31
|
+
isNumeric: false,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
else if (isGroupMatch(match)) {
|
|
35
|
+
if (match.games.length === 1) {
|
|
36
|
+
// Return the score if only one game has been played
|
|
37
|
+
return {
|
|
38
|
+
...getGroupMatchScore(match),
|
|
39
|
+
subLine,
|
|
40
|
+
isNumeric: true,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
return {
|
|
45
|
+
...getGroupMatchPoints(match),
|
|
46
|
+
subLine,
|
|
47
|
+
isNumeric: true,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
return {
|
|
53
|
+
...getGroupMatchScore(match),
|
|
54
|
+
subLine,
|
|
55
|
+
isNumeric: true,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
export const isKnockoutMatch = (match) => {
|
|
60
|
+
if (!match) {
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
return (match.matchType === 'single_elimination' ||
|
|
64
|
+
match.matchType === 'double_elimination' ||
|
|
65
|
+
match.matchType === 'fifa_swiss');
|
|
66
|
+
};
|
|
67
|
+
export const isGroupMatch = (match) => {
|
|
68
|
+
if (!match) {
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
return match.matchType === 'groups' || match.matchType === 'league';
|
|
72
|
+
};
|
|
73
|
+
export const getKnockoutMatchScore = (score) => {
|
|
74
|
+
if (score?.status === 'won') {
|
|
75
|
+
return 'match-score.knockout.won';
|
|
76
|
+
}
|
|
77
|
+
else if (score?.status === 'lost') {
|
|
78
|
+
return 'match-score.knockout.lost';
|
|
79
|
+
}
|
|
80
|
+
else if (score?.status === 'tie') {
|
|
81
|
+
return 'match-score.knockout.tie';
|
|
82
|
+
}
|
|
83
|
+
return null;
|
|
84
|
+
};
|
|
85
|
+
export const getMatchScoreSubLine = (match) => {
|
|
86
|
+
if (isKnockoutMatch(match)) {
|
|
87
|
+
return null;
|
|
88
|
+
}
|
|
89
|
+
else if (isGroupMatch(match)) {
|
|
90
|
+
return 'match-score.groups.sub-line';
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
return null;
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
export const getGroupMatchScore = (match) => {
|
|
97
|
+
if (!match) {
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
return {
|
|
101
|
+
home: {
|
|
102
|
+
score: match.homeScore?.ownPoints || 0,
|
|
103
|
+
isWinner: match.homeScore?.status === 'won',
|
|
104
|
+
},
|
|
105
|
+
away: {
|
|
106
|
+
score: match.awayScore?.ownPoints || 0,
|
|
107
|
+
isWinner: match.awayScore?.status === 'won',
|
|
108
|
+
},
|
|
109
|
+
};
|
|
110
|
+
};
|
|
111
|
+
export const getGroupMatchPoints = (match) => {
|
|
112
|
+
if (!match) {
|
|
113
|
+
return null;
|
|
114
|
+
}
|
|
115
|
+
return {
|
|
116
|
+
home: {
|
|
117
|
+
score: match.homeScore?.score || 0,
|
|
118
|
+
isWinner: match.homeScore?.status === 'won',
|
|
119
|
+
},
|
|
120
|
+
away: {
|
|
121
|
+
score: match.awayScore?.score || 0,
|
|
122
|
+
isWinner: match.awayScore?.status === 'won',
|
|
123
|
+
},
|
|
124
|
+
};
|
|
125
|
+
};
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9ybWFsaXplLW1hdGNoLXNjb3JlLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9waXBlcy9ub3JtYWxpemUtbWF0Y2gtc2NvcmUvbm9ybWFsaXplLW1hdGNoLXNjb3JlLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFrQixtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRy9FLE1BQU0sV0FBVyxHQUF5QjtJQUN4QyxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUseUJBQXlCLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRTtJQUMzRCxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUseUJBQXlCLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRTtJQUMzRCxTQUFTLEVBQUUsS0FBSztJQUNoQixPQUFPLEVBQUUsSUFBSTtDQUNkLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLEtBQXVDLEVBQStCLEVBQUU7SUFDMUcsSUFBSSxDQUFDLEtBQUssRUFBRTtRQUNWLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFFRCxNQUFNLFVBQVUsR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxNQUFNLE9BQU8sR0FBRyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUU1QyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUU7UUFDeEMsT0FBTyxFQUFFLEdBQUcsV0FBVyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7S0FDdEQ7SUFFRCxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUMxQixJQUFJLFVBQVUsOENBQTZCLElBQUksVUFBVSxxQ0FBd0IsRUFBRTtZQUNqRixPQUFPLEVBQUUsR0FBRyxXQUFXLEVBQUUsT0FBTyxFQUFF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QUFFO1lBQ0osS0FBSyxFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQUUsU0FBUyxJQUFJLENBQUM7WUFDdEMsUUFBUSxFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQUUsTUFBTSxLQUFLLEtBQUs7U0FDNUM7UUFDRCxJQUFJLEVBQUU7WUFDSixLQUFLLEVBQUUsS0FBSyxDQUFDLFNBQVMsRUFBRSxTQUFTLElBQUksQ0FBQztZQUN0QyxRQUFRLEVBQUUsS0FBSyxDQUFDLFNBQVMsRUFBRSxNQUFNLEtBQUssS0FBSztTQUM1QztLQUNGLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLEtBQXVDLEVBQUUsRUFBRTtJQUM3RSxJQUFJLENBQUMsS0FBSyxFQUFFO1FBQ1YsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELE9BQU87UUFDTCxJQUFJLEVBQUU7WUFDSixLQUFLLEVBQUUsS0FBSyxDQUFDLFNBQVMsRUFBRSxLQUFLLElBQUksQ0FBQztZQUNsQyxRQUFRLEVBQUUsS0FBSyxDQUFDLFNBQVMsRUFBRSxNQUFNLEtBQUssS0FBSztTQUM1QztRQUNELElBQUksRUFBRTtZQUNKLEtBQUssRUFBRSxLQUFLLENBQUMsU0FBUyxFQUFFLEtBQUssSUFBSSxDQUFDO1lBQ2xDLFFBQVEsRUFBRSxLQUFLLENBQUMsU0FBUyxFQUFFLE1BQU0sS0FBSyxLQUFLO1NBQzVDO0tBQ0YsQ0FBQztBQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hdGNoTGlzdFZpZXcsIE1hdGNoUmFua2luZ1ZpZXcgfSBmcm9tICdAZXRobGV0ZS90eXBlcyc7XG5pbXBvcnQgeyBNYXRjaFN0YXRlVHlwZSwgbm9ybWFsaXplTWF0Y2hTdGF0ZSB9IGZyb20gJy4uL25vcm1hbGl6ZS1tYXRjaC1zdGF0ZSc7XG5pbXBvcnQgeyBOb3JtYWxpemVkTWF0Y2hTY29yZSB9IGZyb20gJy4vbm9ybWFsaXplLW1hdGNoLXNjb3JlLnR5cGVzJztcblxuY29uc3QgRU1QVFlfU0NPUkU6IE5vcm1hbGl6ZWRNYXRjaFNjb3JlID0ge1xuICBob21lOiB7IHNjb3JlOiAnbWF0Y2gtc2NvcmUucGxhY2Vob2xkZXInLCBpc1dpbm5lcjogZmFsc2UgfSxcbiAgYXdheTogeyBzY29yZTogJ21hdGNoLXNjb3JlLnBsYWNlaG9sZGVyJywgaXNXaW5uZXI6IGZhbHNlIH0sXG4gIGlzTnVtZXJpYzogZmFsc2UsXG4gIHN1YkxpbmU6IG51bGwsXG59O1xuXG5leHBvcnQgY29uc3Qgbm9ybWFsaXplTWF0Y2hTY29yZSA9IChtYXRjaDogTWF0Y2hMaXN0VmlldyB8IG51bGwgfCB1bmRlZmluZWQpOiBOb3JtYWxpemVkTWF0Y2hTY29yZSB8IG51bGwgPT4ge1xuICBpZiAoIW1hdGNoKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBtYXRjaFN0YXRlID0gbm9ybWFsaXplTWF0Y2hTdGF0ZShtYXRjaCk7XG4gIGNvbnN0IHN1YkxpbmUgPSBnZXRNYXRjaFNjb3JlU3ViTGluZShtYXRjaCk7XG5cbiAgaWYgKCFtYXRjaC5ob21lU2NvcmUgJiYgIW1hdGNoLmF3YXlTY29yZSkge1xuICAgIHJldHVybiB7IC4uLkVNUFRZX1NDT1JFLCBzdWJMaW5lLCBpc051bWVyaWM6IGZhbHNlIH07XG4gIH1cblxuICBpZiAoaXNLbm9ja291dE1hdGNoKG1hdGNoKSkge1xuICAgIGlmIChtYXRjaFN0YXRlID09PSBNYXRjaFN0YXRlVHlwZS5QUkVfTUFUQ0ggfHwgbWF0Y2hTdGF0ZSA9PT0gTWF0Y2hTdGF0ZVR5cGUuTElWRSkge1xuICAgICAgcmV0dXJuIHsgLi4uRU1QVFlfU0NPUkUsIHN1YkxpbmUsIGlzTnVtZXJpYzogZmFsc2UgfTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgaG9tZToge1xuICAgICAgICBzY29yZTogZ2V0S25vY2tvdXRNYXRjaFNjb3JlKG1hdGNoLmhvbWVTY29yZSksXG4gICAgICAgIGlzV2lubmVyOiBtYXRjaC5ob21lU2NvcmU/LnN0YXR1cyA9PT0gJ3dvbicsXG4gICAgICB9LFxuICAgICAgYXdheToge1xuICAgICAgICBzY29yZTogZ2V0S25vY2tvdXRNYXRjaFNjb3JlKG1hdGNoLmF3YXlTY29yZSksXG4gICAgICAgIGlzV2lubmVyOiBtYXRjaC5hd2F5U2NvcmU/LnN0YXR1cyA9PT0gJ3dvbicsXG4gICAgICB9LFxuICAgICAgc3ViTGluZSxcbiAgICAgIGlzTnVtZXJpYzogZmFsc2UsXG4gICAgfTtcbiAgfSBlbHNlIGlmIChpc0dyb3VwTWF0Y2gobWF0Y2gpKSB7XG4gICAgaWYgKG1hdGNoLmdhbWVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgLy8gUmV0dXJuIHRoZSBzY29yZSBpZiBvbmx5IG9uZSBnYW1lIGhhcyBiZWVuIHBsYXllZFxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uZ2V0R3JvdXBNYXRjaFNjb3JlKG1hdGNoKSxcbiAgICAgICAgc3ViTGluZSxcbiAgICAgICAgaXNOdW1lcmljOiB0cnVlLFxuICAgICAgfSBhcyBOb3JtYWxpemVkTWF0Y2hTY29yZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uZ2V0R3JvdXBNYXRjaFBvaW50cyhtYXRjaCksXG4gICAgICAgIHN1YkxpbmUsXG4gICAgICAgIGlzTnVtZXJpYzogdHJ1ZSxcbiAgICAgIH0gYXMgTm9ybWFsaXplZE1hdGNoU2NvcmU7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5nZXRHcm91cE1hdGNoU2NvcmUobWF0Y2gpLFxuICAgICAgc3ViTGluZSxcbiAgICAgIGlzTnVtZXJpYzogdHJ1ZSxcbiAgICB9IGFzIE5vcm1hbGl6ZWRNYXRjaFNjb3JlO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgaXNLbm9ja291dE1hdGNoID0gKG1hdGNoOiBNYXRjaExpc3RWaWV3IHwgbnVsbCB8IHVuZGVmaW5lZCkgPT4ge1xuICBpZiAoIW1hdGNoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICBtYXRjaC5tYXRjaFR5cGUgPT09ICdzaW5nbGVfZWxpbWluYXRpb24nIHx8XG4gICAgbWF0Y2gubWF0Y2hUeXBlID09PSAnZG91YmxlX2VsaW1pbmF0aW9uJyB8fFxuICAgIG1hdGNoLm1hdGNoVHlwZSA9PT0gJ2ZpZmFfc3dpc3MnXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgaXNHcm91cE1hdGNoID0gKG1hdGNoOiBNYXRjaExpc3RWaWV3IHwgbnVsbCB8IHVuZGVmaW5lZCkgPT4ge1xuICBpZiAoIW1hdGNoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIG1hdGNoLm1hdGNoVHlwZSA9PT0gJ2dyb3VwcycgfHwgbWF0Y2gubWF0Y2hUeXBlID09PSAnbGVhZ3VlJztcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRLbm9ja291dE1hdGNoU2NvcmUgPSAoc2NvcmU6IE1hdGNoUmFua2luZ1ZpZXcgfCBudWxsIHwgdW5kZWZpbmVkKSA9PiB7XG4gIGlmIChzY29yZT8uc3RhdHVzID09PSAnd29uJykge1xuICAgIHJldHVybiAnbWF0Y2gtc2NvcmUua25vY2tvdXQud29uJztcbiAgfSBlbHNlIGlmIChzY29yZT8uc3RhdHVzID09PSAnbG9zdCcpIHtcbiAgICByZXR1cm4gJ21hdGNoLXNjb3JlLmtub2Nrb3V0Lmxvc3QnO1xuICB9IGVsc2UgaWYgKHNjb3JlPy5zdGF0dXMgPT09ICd0aWUnKSB7XG4gICAgcmV0dXJuICdtYXRjaC1zY29yZS5rbm9ja291dC50aWUnO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TWF0Y2hTY29yZVN1YkxpbmUgPSAobWF0Y2g6IE1hdGNoTGlzdFZpZXcgfCBudWxsIHwgdW5kZWZpbmVkKSA9PiB7XG4gIGlmIChpc0tub2Nrb3V0TWF0Y2gobWF0Y2gpKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH0gZWxzZSBpZiAoaXNHcm91cE1hdGNoKG1hdGNoKSkge1xuICAgIHJldHVybiAnbWF0Y2gtc2NvcmUuZ3JvdXBzLnN1Yi1saW5lJztcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGdldEdyb3VwTWF0Y2hTY29yZSA9IChtYXRjaDogTWF0Y2hMaXN0VmlldyB8IG51bGwgfCB1bmRlZmluZWQpID0+IHtcbiAgaWYgKCFtYXRjaCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBob21lOiB7XG4gICAgICBzY29yZTogbWF0Y2guaG9tZVNjb3JlPy5vd25Qb2ludHMgfHwgMCxcbiAgICAgIGlzV2lubmVyOiBtYXRjaC5ob21lU2NvcmU/LnN0YXR1cyA9PT0gJ3dvbicsXG4gICAgfSxcbiAgICBhd2F5OiB7XG4gICAgICBzY29yZTogbWF0Y2guYXdheVNjb3JlPy5vd25Qb2ludHMgfHwgMCxcbiAgICAgIGlzV2lubmVyOiBtYXRjaC5hd2F5U2NvcmU/LnN0YXR1cyA9PT0gJ3dvbicsXG4gICAgfSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRHcm91cE1hdGNoUG9pbnRzID0gKG1hdGNoOiBNYXRjaExpc3RWaWV3IHwgbnVsbCB8IHVuZGVmaW5lZCkgPT4ge1xuICBpZiAoIW1hdGNoKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGhvbWU6IHtcbiAgICAgIHNjb3JlOiBtYXRjaC5ob21lU2NvcmU/LnNjb3JlIHx8IDAsXG4gICAgICBpc1dpbm5lcjogbWF0Y2guaG9tZVNjb3JlPy5zdGF0dXMgPT09ICd3b24nLFxuICAgIH0sXG4gICAgYXdheToge1xuICAgICAgc2NvcmU6IG1hdGNoLmF3YXlTY29yZT8uc2NvcmUgfHwgMCxcbiAgICAgIGlzV2lubmVyOiBtYXRjaC5hd2F5U2NvcmU/LnN0YXR1cyA9PT0gJ3dvbicsXG4gICAgfSxcbiAgfTtcbn07XG4iXX0=
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './normalize-match-score.pipe';
|
|
2
|
+
export * from './normalize-match-score.types';
|
|
3
|
+
export * from './normalize-match-score.util';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3BpcGVzL25vcm1hbGl6ZS1tYXRjaC1zY29yZS9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9ub3JtYWxpemUtbWF0Y2gtc2NvcmUucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL25vcm1hbGl6ZS1tYXRjaC1zY29yZS50eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL25vcm1hbGl6ZS1tYXRjaC1zY29yZS51dGlsJztcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './public-api';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9waXBlcy9ub3JtYWxpemUtbWF0Y2gtc3RhdGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9ybWFsaXplLW1hdGNoLXN0YXRlLmNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3BpcGVzL25vcm1hbGl6ZS1tYXRjaC1zdGF0ZS9ub3JtYWxpemUtbWF0Y2gtc3RhdGUuY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZW51bSBNYXRjaFN0YXRlVHlwZSB7XG4gIFBSRVBBUklOR19ST1VORCA9ICdwcmVwYXJpbmdSb3VuZCcsXG4gIFBSRV9NQVRDSCA9ICdwcmVNYXRjaCcsXG4gIExJVkUgPSAnbGl2ZScsXG4gIFBPU1RfTUFUQ0ggPSAncG9zdE1hdGNoJyxcbiAgQVVUT19XSU4gPSAnYXV0b1dpbicsXG59XG4iXX0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import { normalizeMatchState } from './normalize-match-state.util';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class NormalizeMatchStatePipe {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.transform = normalizeMatchState;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
NormalizeMatchStatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: NormalizeMatchStatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
10
|
+
NormalizeMatchStatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: NormalizeMatchStatePipe, isStandalone: true, name: "etNormalizeMatchState" });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: NormalizeMatchStatePipe, decorators: [{
|
|
12
|
+
type: Pipe,
|
|
13
|
+
args: [{ name: 'etNormalizeMatchState', standalone: true }]
|
|
14
|
+
}] });
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9ybWFsaXplLW1hdGNoLXN0YXRlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9waXBlcy9ub3JtYWxpemUtbWF0Y2gtc3RhdGUvbm9ybWFsaXplLW1hdGNoLXN0YXRlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBR25FLE1BQU0sT0FBTyx1QkFBdUI7SUFEcEM7UUFFRSxjQUFTLEdBQUcsbUJBQW1CLENBQUM7S0FDakM7O29IQUZZLHVCQUF1QjtrSEFBdkIsdUJBQXVCOzJGQUF2Qix1QkFBdUI7a0JBRG5DLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsdUJBQXVCLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG5vcm1hbGl6ZU1hdGNoU3RhdGUgfSBmcm9tICcuL25vcm1hbGl6ZS1tYXRjaC1zdGF0ZS51dGlsJztcblxuQFBpcGUoeyBuYW1lOiAnZXROb3JtYWxpemVNYXRjaFN0YXRlJywgc3RhbmRhbG9uZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIE5vcm1hbGl6ZU1hdGNoU3RhdGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybSA9IG5vcm1hbGl6ZU1hdGNoU3RhdGU7XG59XG4iXX0=
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export const normalizeMatchState = (match) => {
|
|
2
|
+
if (match?.isCompletedByReferee) {
|
|
3
|
+
return "autoWin" /* MatchStateType.AUTO_WIN */;
|
|
4
|
+
}
|
|
5
|
+
else if (match?.status === 'preparing') {
|
|
6
|
+
return "preMatch" /* MatchStateType.PRE_MATCH */;
|
|
7
|
+
}
|
|
8
|
+
else if (match?.status === 'started') {
|
|
9
|
+
return "live" /* MatchStateType.LIVE */;
|
|
10
|
+
}
|
|
11
|
+
else if (match?.status === 'published' || match?.status === 'finished') {
|
|
12
|
+
return "postMatch" /* MatchStateType.POST_MATCH */;
|
|
13
|
+
}
|
|
14
|
+
else if (match?.round.state !== 'preparing') {
|
|
15
|
+
return "preparingRound" /* MatchStateType.PREPARING_ROUND */;
|
|
16
|
+
}
|
|
17
|
+
return null;
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9ybWFsaXplLW1hdGNoLXN0YXRlLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9waXBlcy9ub3JtYWxpemUtbWF0Y2gtc3RhdGUvbm9ybWFsaXplLW1hdGNoLXN0YXRlLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxLQUF1QyxFQUFFLEVBQUU7SUFDN0UsSUFBSSxLQUFLLEVBQUUsb0JBQW9CLEVBQUU7UUFDL0IsK0NBQStCO0tBQ2hDO1NBQU0sSUFBSSxLQUFLLEVBQUUsTUFBTSxLQUFLLFdBQVcsRUFBRTtRQUN4QyxpREFBZ0M7S0FDakM7U0FBTSxJQUFJLEtBQUssRUFBRSxNQUFNLEtBQUssU0FBUyxFQUFFO1FBQ3RDLHdDQUEyQjtLQUM1QjtTQUFNLElBQUksS0FBSyxFQUFFLE1BQU0sS0FBSyxXQUFXLElBQUksS0FBSyxFQUFFLE1BQU0sS0FBSyxVQUFVLEVBQUU7UUFDeEUsbURBQWlDO0tBQ2xDO1NBQU0sSUFBSSxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssS0FBSyxXQUFXLEVBQUU7UUFDN0MsNkRBQXNDO0tBQ3ZDO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNYXRjaExpc3RWaWV3IH0gZnJvbSAnQGV0aGxldGUvdHlwZXMnO1xuaW1wb3J0IHsgTWF0Y2hTdGF0ZVR5cGUgfSBmcm9tICcuL25vcm1hbGl6ZS1tYXRjaC1zdGF0ZS5jb25zdGFudHMnO1xuXG5leHBvcnQgY29uc3Qgbm9ybWFsaXplTWF0Y2hTdGF0ZSA9IChtYXRjaDogTWF0Y2hMaXN0VmlldyB8IG51bGwgfCB1bmRlZmluZWQpID0+IHtcbiAgaWYgKG1hdGNoPy5pc0NvbXBsZXRlZEJ5UmVmZXJlZSkge1xuICAgIHJldHVybiBNYXRjaFN0YXRlVHlwZS5BVVRPX1dJTjtcbiAgfSBlbHNlIGlmIChtYXRjaD8uc3RhdHVzID09PSAncHJlcGFyaW5nJykge1xuICAgIHJldHVybiBNYXRjaFN0YXRlVHlwZS5QUkVfTUFUQ0g7XG4gIH0gZWxzZSBpZiAobWF0Y2g/LnN0YXR1cyA9PT0gJ3N0YXJ0ZWQnKSB7XG4gICAgcmV0dXJuIE1hdGNoU3RhdGVUeXBlLkxJVkU7XG4gIH0gZWxzZSBpZiAobWF0Y2g/LnN0YXR1cyA9PT0gJ3B1Ymxpc2hlZCcgfHwgbWF0Y2g/LnN0YXR1cyA9PT0gJ2ZpbmlzaGVkJykge1xuICAgIHJldHVybiBNYXRjaFN0YXRlVHlwZS5QT1NUX01BVENIO1xuICB9IGVsc2UgaWYgKG1hdGNoPy5yb3VuZC5zdGF0ZSAhPT0gJ3ByZXBhcmluZycpIHtcbiAgICByZXR1cm4gTWF0Y2hTdGF0ZVR5cGUuUFJFUEFSSU5HX1JPVU5EO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59O1xuIl19
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './normalize-match-state.constants';
|
|
2
|
+
export * from './normalize-match-state.pipe';
|
|
3
|
+
export * from './normalize-match-state.util';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3BpcGVzL25vcm1hbGl6ZS1tYXRjaC1zdGF0ZS9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9ub3JtYWxpemUtbWF0Y2gtc3RhdGUuY29uc3RhbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vbm9ybWFsaXplLW1hdGNoLXN0YXRlLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9ub3JtYWxpemUtbWF0Y2gtc3RhdGUudXRpbCc7XG4iXX0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import { normalizeMatchType } from './normalize-match-type.util';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class NormalizeMatchTypePipe {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.transform = normalizeMatchType;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
NormalizeMatchTypePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: NormalizeMatchTypePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
10
|
+
NormalizeMatchTypePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: NormalizeMatchTypePipe, isStandalone: true, name: "etNormalizeMatchType" });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: NormalizeMatchTypePipe, decorators: [{
|
|
12
|
+
type: Pipe,
|
|
13
|
+
args: [{ name: 'etNormalizeMatchType', standalone: true }]
|
|
14
|
+
}] });
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9ybWFsaXplLW1hdGNoLXR5cGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3BpcGVzL25vcm1hbGl6ZS1tYXRjaC10eXBlL25vcm1hbGl6ZS1tYXRjaC10eXBlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBR2pFLE1BQU0sT0FBTyxzQkFBc0I7SUFEbkM7UUFFRSxjQUFTLEdBQUcsa0JBQWtCLENBQUM7S0FDaEM7O21IQUZZLHNCQUFzQjtpSEFBdEIsc0JBQXNCOzJGQUF0QixzQkFBc0I7a0JBRGxDLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsc0JBQXNCLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG5vcm1hbGl6ZU1hdGNoVHlwZSB9IGZyb20gJy4vbm9ybWFsaXplLW1hdGNoLXR5cGUudXRpbCc7XG5cbkBQaXBlKHsgbmFtZTogJ2V0Tm9ybWFsaXplTWF0Y2hUeXBlJywgc3RhbmRhbG9uZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIE5vcm1hbGl6ZU1hdGNoVHlwZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtID0gbm9ybWFsaXplTWF0Y2hUeXBlO1xufVxuIl19
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export const normalizeMatchType = (matchType) => {
|
|
2
|
+
if (!matchType) {
|
|
3
|
+
return null;
|
|
4
|
+
}
|
|
5
|
+
switch (matchType) {
|
|
6
|
+
case 'double_elimination':
|
|
7
|
+
return {
|
|
8
|
+
i18n: 'match-type.double-elimination',
|
|
9
|
+
text: 'Double Elimination',
|
|
10
|
+
};
|
|
11
|
+
case 'single_elimination':
|
|
12
|
+
return {
|
|
13
|
+
i18n: 'match-type.single-elimination',
|
|
14
|
+
text: 'Single Elimination',
|
|
15
|
+
};
|
|
16
|
+
case 'fifa_swiss':
|
|
17
|
+
return {
|
|
18
|
+
i18n: 'match-type.fifa-swiss',
|
|
19
|
+
text: 'FIFA Swiss',
|
|
20
|
+
};
|
|
21
|
+
case 'groups':
|
|
22
|
+
return {
|
|
23
|
+
i18n: 'match-type.groups',
|
|
24
|
+
text: 'Groups',
|
|
25
|
+
};
|
|
26
|
+
case 'league':
|
|
27
|
+
return {
|
|
28
|
+
i18n: 'match-type.league',
|
|
29
|
+
text: 'League',
|
|
30
|
+
};
|
|
31
|
+
case 'pools':
|
|
32
|
+
return {
|
|
33
|
+
i18n: 'match-type.pools',
|
|
34
|
+
text: 'Pools',
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9ybWFsaXplLW1hdGNoLXR5cGUudXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3BpcGVzL25vcm1hbGl6ZS1tYXRjaC10eXBlL25vcm1hbGl6ZS1tYXRjaC10eXBlLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxTQUF1QyxFQUF1QixFQUFFO0lBQ2pHLElBQUksQ0FBQyxTQUFTLEVBQUU7UUFDZCxPQUFPLElBQUksQ0FBQztLQUNiO0lBRUQsUUFBUSxTQUFTLEVBQUU7UUFDakIsS0FBSyxvQkFBb0I7WUFDdkIsT0FBTztnQkFDTCxJQUFJLEVBQUUsK0JBQStCO2dCQUNyQyxJQUFJLEVBQUUsb0JBQW9CO2FBQzNCLENBQUM7UUFDSixLQUFLLG9CQUFvQjtZQUN2QixPQUFPO2dCQUNMLElBQUksRUFBRSwrQkFBK0I7Z0JBQ3JDLElBQUksRUFBRSxvQkFBb0I7YUFDM0IsQ0FBQztRQUNKLEtBQUssWUFBWTtZQUNmLE9BQU87Z0JBQ0wsSUFBSSxFQUFFLHVCQUF1QjtnQkFDN0IsSUFBSSxFQUFFLFlBQVk7YUFDbkIsQ0FBQztRQUNKLEtBQUssUUFBUTtZQUNYLE9BQU87Z0JBQ0wsSUFBSSxFQUFFLG1CQUFtQjtnQkFDekIsSUFBSSxFQUFFLFFBQVE7YUFDZixDQUFDO1FBQ0osS0FBSyxRQUFRO1lBQ1gsT0FBTztnQkFDTCxJQUFJLEVBQUUsbUJBQW1CO2dCQUN6QixJQUFJLEVBQUUsUUFBUTthQUNmLENBQUM7UUFDSixLQUFLLE9BQU87WUFDVixPQUFPO2dCQUNMLElBQUksRUFBRSxrQkFBa0I7Z0JBQ3hCLElBQUksRUFBRSxPQUFPO2FBQ2QsQ0FBQztLQUNMO0FBQ0gsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhZ2VUeXBlIH0gZnJvbSAnQGV0aGxldGUvdHlwZXMnO1xuaW1wb3J0IHsgVHJhbnNsYXRhYmxlIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3Qgbm9ybWFsaXplTWF0Y2hUeXBlID0gKG1hdGNoVHlwZTogU3RhZ2VUeXBlIHwgbnVsbCB8IHVuZGVmaW5lZCk6IFRyYW5zbGF0YWJsZSB8IG51bGwgPT4ge1xuICBpZiAoIW1hdGNoVHlwZSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgc3dpdGNoIChtYXRjaFR5cGUpIHtcbiAgICBjYXNlICdkb3VibGVfZWxpbWluYXRpb24nOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaTE4bjogJ21hdGNoLXR5cGUuZG91YmxlLWVsaW1pbmF0aW9uJyxcbiAgICAgICAgdGV4dDogJ0RvdWJsZSBFbGltaW5hdGlvbicsXG4gICAgICB9O1xuICAgIGNhc2UgJ3NpbmdsZV9lbGltaW5hdGlvbic6XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpMThuOiAnbWF0Y2gtdHlwZS5zaW5nbGUtZWxpbWluYXRpb24nLFxuICAgICAgICB0ZXh0OiAnU2luZ2xlIEVsaW1pbmF0aW9uJyxcbiAgICAgIH07XG4gICAgY2FzZSAnZmlmYV9zd2lzcyc6XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpMThuOiAnbWF0Y2gtdHlwZS5maWZhLXN3aXNzJyxcbiAgICAgICAgdGV4dDogJ0ZJRkEgU3dpc3MnLFxuICAgICAgfTtcbiAgICBjYXNlICdncm91cHMnOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaTE4bjogJ21hdGNoLXR5cGUuZ3JvdXBzJyxcbiAgICAgICAgdGV4dDogJ0dyb3VwcycsXG4gICAgICB9O1xuICAgIGNhc2UgJ2xlYWd1ZSc6XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpMThuOiAnbWF0Y2gtdHlwZS5sZWFndWUnLFxuICAgICAgICB0ZXh0OiAnTGVhZ3VlJyxcbiAgICAgIH07XG4gICAgY2FzZSAncG9vbHMnOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaTE4bjogJ21hdGNoLXR5cGUucG9vbHMnLFxuICAgICAgICB0ZXh0OiAnUG9vbHMnLFxuICAgICAgfTtcbiAgfVxufTtcbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './normalize-match-type.pipe';
|
|
2
|
+
export * from './normalize-match-type.util';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3BpcGVzL25vcm1hbGl6ZS1tYXRjaC10eXBlL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9ub3JtYWxpemUtbWF0Y2gtdHlwZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbm9ybWFsaXplLW1hdGNoLXR5cGUudXRpbCc7XG4iXX0=
|
|
@@ -1,2 +1,7 @@
|
|
|
1
|
+
export * from './normalize-game-result-type/public-api';
|
|
2
|
+
export * from './normalize-match-participants/public-api';
|
|
3
|
+
export * from './normalize-match-score/public-api';
|
|
4
|
+
export * from './normalize-match-state/public-api';
|
|
5
|
+
export * from './normalize-match-type/public-api';
|
|
1
6
|
export * from './to-array/public-api';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3BpcGVzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL25vcm1hbGl6ZS1nYW1lLXJlc3VsdC10eXBlL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9ub3JtYWxpemUtbWF0Y2gtcGFydGljaXBhbnRzL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9ub3JtYWxpemUtbWF0Y2gtc2NvcmUvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL25vcm1hbGl6ZS1tYXRjaC1zdGF0ZS9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbm9ybWFsaXplLW1hdGNoLXR5cGUvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL3RvLWFycmF5L3B1YmxpYy1hcGknO1xuIl19
|
|
@@ -6,9 +6,9 @@ export class ToArrayPipe {
|
|
|
6
6
|
this.transform = toArray;
|
|
7
7
|
}
|
|
8
8
|
}
|
|
9
|
-
ToArrayPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
10
|
-
ToArrayPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
9
|
+
ToArrayPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: ToArrayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
10
|
+
ToArrayPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: ToArrayPipe, isStandalone: true, name: "toArray" });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: ToArrayPipe, decorators: [{
|
|
12
12
|
type: Pipe,
|
|
13
13
|
args: [{ name: 'toArray', standalone: true }]
|
|
14
14
|
}] });
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export * from './components/public-api';
|
|
1
2
|
export * from './constants/public-api';
|
|
2
3
|
export * from './decorators/public-api';
|
|
3
4
|
export * from './directives/public-api';
|
|
@@ -5,4 +6,5 @@ export * from './pipes/public-api';
|
|
|
5
6
|
export * from './services/public-api';
|
|
6
7
|
export * from './types/public-api';
|
|
7
8
|
export * from './utils/public-api';
|
|
8
|
-
|
|
9
|
+
export * from './validators/public-api';
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnN0YW50cy9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vZGVjb3JhdG9ycy9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcy9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL3ZhbGlkYXRvcnMvcHVibGljLWFwaSc7XG4iXX0=
|
|
@@ -8,9 +8,9 @@ export class ClickObserverFactory {
|
|
|
8
8
|
return fromEvent(document, 'click');
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
|
-
ClickObserverFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
12
|
-
ClickObserverFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
11
|
+
ClickObserverFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: ClickObserverFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
12
|
+
ClickObserverFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: ClickObserverFactory, providedIn: 'root' });
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: ClickObserverFactory, decorators: [{
|
|
14
14
|
type: Injectable,
|
|
15
15
|
args: [{ providedIn: 'root' }]
|
|
16
16
|
}] });
|
|
@@ -64,9 +64,9 @@ export class ClickObserverService {
|
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
|
-
ClickObserverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
68
|
-
ClickObserverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.
|
|
69
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
67
|
+
ClickObserverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: ClickObserverService, deps: [{ token: ClickObserverFactory }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
68
|
+
ClickObserverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: ClickObserverService, providedIn: 'root' });
|
|
69
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: ClickObserverService, decorators: [{
|
|
70
70
|
type: Injectable,
|
|
71
71
|
args: [{ providedIn: 'root' }]
|
|
72
72
|
}], ctorParameters: function () { return [{ type: ClickObserverFactory }]; } });
|
|
@@ -8,9 +8,9 @@ export class MutationObserverFactory {
|
|
|
8
8
|
return typeof MutationObserver === 'undefined' ? null : new MutationObserver(callback);
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
|
-
MutationObserverFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
12
|
-
MutationObserverFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
11
|
+
MutationObserverFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: MutationObserverFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
12
|
+
MutationObserverFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: MutationObserverFactory, providedIn: 'root' });
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: MutationObserverFactory, decorators: [{
|
|
14
14
|
type: Injectable,
|
|
15
15
|
args: [{ providedIn: 'root' }]
|
|
16
16
|
}] });
|
|
@@ -70,9 +70,9 @@ export class ContentObserverService {
|
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
|
-
ContentObserverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
74
|
-
ContentObserverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.
|
|
75
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
73
|
+
ContentObserverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: ContentObserverService, deps: [{ token: MutationObserverFactory }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
74
|
+
ContentObserverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: ContentObserverService, providedIn: 'root' });
|
|
75
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: ContentObserverService, decorators: [{
|
|
76
76
|
type: Injectable,
|
|
77
77
|
args: [{ providedIn: 'root' }]
|
|
78
78
|
}], ctorParameters: function () { return [{ type: MutationObserverFactory }]; } });
|
|
@@ -11,9 +11,9 @@ export class DestroyService {
|
|
|
11
11
|
this._destroy$.unsubscribe();
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
|
-
DestroyService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
15
|
-
DestroyService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
14
|
+
DestroyService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: DestroyService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
15
|
+
DestroyService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: DestroyService });
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: DestroyService, decorators: [{
|
|
17
17
|
type: Injectable
|
|
18
18
|
}] });
|
|
19
19
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzdHJveS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvc2VydmljZXMvZGVzdHJveS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFHL0IsTUFBTSxPQUFPLGNBQWM7SUFEM0I7UUFFbUIsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7UUFFM0MsYUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUM7S0FNbkQ7SUFKQyxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMvQixDQUFDOzsyR0FSVSxjQUFjOytHQUFkLGNBQWM7MkZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGVzdHJveVNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgcmVhZG9ubHkgZGVzdHJveSQgPSB0aGlzLl9kZXN0cm95JC5hc09ic2VydmFibGUoKTtcblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KHRydWUpO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -2,6 +2,9 @@ import { DOCUMENT } from '@angular/common';
|
|
|
2
2
|
import { inject, Injectable } from '@angular/core';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class FocusVisibleService {
|
|
5
|
+
get isFocusVisible() {
|
|
6
|
+
return this._hadKeyboardEvent;
|
|
7
|
+
}
|
|
5
8
|
constructor() {
|
|
6
9
|
this._document = inject(DOCUMENT);
|
|
7
10
|
this._hadKeyboardEvent = false;
|
|
@@ -10,9 +13,6 @@ export class FocusVisibleService {
|
|
|
10
13
|
this._document.addEventListener('pointerdown', this.onPointerDown.bind(this), true);
|
|
11
14
|
this._document.addEventListener('touchstart', this.onPointerDown.bind(this), true);
|
|
12
15
|
}
|
|
13
|
-
get isFocusVisible() {
|
|
14
|
-
return this._hadKeyboardEvent;
|
|
15
|
-
}
|
|
16
16
|
onKeyDown(e) {
|
|
17
17
|
if (e.metaKey || e.altKey || e.ctrlKey) {
|
|
18
18
|
return;
|
|
@@ -23,12 +23,12 @@ export class FocusVisibleService {
|
|
|
23
23
|
this._hadKeyboardEvent = false;
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
|
-
FocusVisibleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
27
|
-
FocusVisibleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
26
|
+
FocusVisibleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: FocusVisibleService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
27
|
+
FocusVisibleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: FocusVisibleService, providedIn: 'root' });
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: FocusVisibleService, decorators: [{
|
|
29
29
|
type: Injectable,
|
|
30
30
|
args: [{
|
|
31
31
|
providedIn: 'root',
|
|
32
32
|
}]
|
|
33
33
|
}], ctorParameters: function () { return []; } });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMtdmlzaWJsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvc2VydmljZXMvZm9jdXMtdmlzaWJsZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLbkQsTUFBTSxPQUFPLG1CQUFtQjtJQUs5QixJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUVEO1FBUmlCLGNBQVMsR0FBRyxNQUFNLENBQVcsUUFBUSxDQUFDLENBQUM7UUFFaEQsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBT2hDLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzVFLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2xGLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3BGLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFRCxTQUFTLENBQUMsQ0FBZ0I7UUFDeEIsSUFBSSxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRTtZQUN0QyxPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztJQUNqQyxDQUFDOztnSEExQlUsbUJBQW1CO29IQUFuQixtQkFBbUIsY0FGbEIsTUFBTTsyRkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBGb2N1c1Zpc2libGVTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBfZG9jdW1lbnQgPSBpbmplY3Q8RG9jdW1lbnQ+KERPQ1VNRU5UKTtcblxuICBwcml2YXRlIF9oYWRLZXlib2FyZEV2ZW50ID0gZmFsc2U7XG5cbiAgZ2V0IGlzRm9jdXNWaXNpYmxlKCkge1xuICAgIHJldHVybiB0aGlzLl9oYWRLZXlib2FyZEV2ZW50O1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5fZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIHRoaXMub25LZXlEb3duLmJpbmQodGhpcyksIHRydWUpO1xuICAgIHRoaXMuX2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIHRoaXMub25Qb2ludGVyRG93bi5iaW5kKHRoaXMpLCB0cnVlKTtcbiAgICB0aGlzLl9kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVyZG93bicsIHRoaXMub25Qb2ludGVyRG93bi5iaW5kKHRoaXMpLCB0cnVlKTtcbiAgICB0aGlzLl9kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgdGhpcy5vblBvaW50ZXJEb3duLmJpbmQodGhpcyksIHRydWUpO1xuICB9XG5cbiAgb25LZXlEb3duKGU6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoZS5tZXRhS2V5IHx8IGUuYWx0S2V5IHx8IGUuY3RybEtleSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2hhZEtleWJvYXJkRXZlbnQgPSB0cnVlO1xuICB9XG5cbiAgb25Qb2ludGVyRG93bigpIHtcbiAgICB0aGlzLl9oYWRLZXlib2FyZEV2ZW50ID0gZmFsc2U7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -3,6 +3,7 @@ export * from './content-observer.service';
|
|
|
3
3
|
export * from './destroy.service';
|
|
4
4
|
export * from './focus-visible.service';
|
|
5
5
|
export * from './resize-observer.service';
|
|
6
|
+
export * from './router-state.service';
|
|
6
7
|
export * from './viewport.service';
|
|
7
8
|
export * from './viewport.types';
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3NlcnZpY2VzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jbGljay1vYnNlcnZlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29udGVudC1vYnNlcnZlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZGVzdHJveS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZm9jdXMtdmlzaWJsZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vcmVzaXplLW9ic2VydmVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9yb3V0ZXItc3RhdGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3ZpZXdwb3J0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi92aWV3cG9ydC50eXBlcyc7XG4iXX0=
|
|
@@ -8,9 +8,9 @@ export class ResizeObserverFactory {
|
|
|
8
8
|
return typeof ResizeObserver === 'undefined' ? null : new ResizeObserver(callback);
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
|
-
ResizeObserverFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
12
|
-
ResizeObserverFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
11
|
+
ResizeObserverFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: ResizeObserverFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
12
|
+
ResizeObserverFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: ResizeObserverFactory, providedIn: 'root' });
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: ResizeObserverFactory, decorators: [{
|
|
14
14
|
type: Injectable,
|
|
15
15
|
args: [{ providedIn: 'root' }]
|
|
16
16
|
}] });
|
|
@@ -66,9 +66,9 @@ export class ResizeObserverService {
|
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
|
-
ResizeObserverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
70
|
-
ResizeObserverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.
|
|
71
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
69
|
+
ResizeObserverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: ResizeObserverService, deps: [{ token: ResizeObserverFactory }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
70
|
+
ResizeObserverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: ResizeObserverService, providedIn: 'root' });
|
|
71
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: ResizeObserverService, decorators: [{
|
|
72
72
|
type: Injectable,
|
|
73
73
|
args: [{ providedIn: 'root' }]
|
|
74
74
|
}], ctorParameters: function () { return [{ type: ResizeObserverFactory }]; } });
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { inject, Injectable } from '@angular/core';
|
|
2
|
+
import { NavigationEnd, Router } from '@angular/router';
|
|
3
|
+
import { BehaviorSubject, combineLatest, debounceTime, distinctUntilChanged, filter, map, pairwise, } from 'rxjs';
|
|
4
|
+
import { equal } from '../utils';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export const routerDisableScrollTop = (config = {}) => {
|
|
7
|
+
if (!config.asReturnRoute) {
|
|
8
|
+
return {
|
|
9
|
+
disableScrollTop: true,
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
return {
|
|
13
|
+
disableScrollTopAsReturnRoute: true,
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
export class RouterStateService {
|
|
17
|
+
get route$() {
|
|
18
|
+
return this._route$.asObservable();
|
|
19
|
+
}
|
|
20
|
+
get state$() {
|
|
21
|
+
return this._state$.asObservable();
|
|
22
|
+
}
|
|
23
|
+
constructor() {
|
|
24
|
+
this._isScrollTopOnNavigationEnabled = false;
|
|
25
|
+
this._router = inject(Router);
|
|
26
|
+
this._route$ = new BehaviorSubject('/');
|
|
27
|
+
this._state$ = new BehaviorSubject({
|
|
28
|
+
title: null,
|
|
29
|
+
fragment: null,
|
|
30
|
+
data: {},
|
|
31
|
+
pathParams: {},
|
|
32
|
+
queryParams: {},
|
|
33
|
+
});
|
|
34
|
+
this._router.events
|
|
35
|
+
.pipe(filter((event) => event instanceof NavigationEnd), distinctUntilChanged((a, b) => a.url === b.url), map((event) => {
|
|
36
|
+
const { url } = event;
|
|
37
|
+
const urlWithoutQueryParams = url.split('?')[0];
|
|
38
|
+
const withoutFragment = urlWithoutQueryParams.split('#')[0];
|
|
39
|
+
return withoutFragment;
|
|
40
|
+
}))
|
|
41
|
+
.subscribe(this._route$);
|
|
42
|
+
this._route$
|
|
43
|
+
.pipe(map(() => {
|
|
44
|
+
let route = this._router.routerState.snapshot.root;
|
|
45
|
+
while (route.firstChild) {
|
|
46
|
+
route = route.firstChild;
|
|
47
|
+
}
|
|
48
|
+
const { data, params, queryParams, title, fragment } = route;
|
|
49
|
+
return {
|
|
50
|
+
data,
|
|
51
|
+
pathParams: params,
|
|
52
|
+
queryParams,
|
|
53
|
+
title: title ?? null,
|
|
54
|
+
fragment,
|
|
55
|
+
};
|
|
56
|
+
}))
|
|
57
|
+
.subscribe(this._state$);
|
|
58
|
+
}
|
|
59
|
+
enableScrollEnhancements(config = {}) {
|
|
60
|
+
if (this._isScrollTopOnNavigationEnabled) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
this._isScrollTopOnNavigationEnabled = true;
|
|
64
|
+
combineLatest([this._state$.pipe(pairwise()), this._route$.pipe(pairwise())])
|
|
65
|
+
.pipe(debounceTime(1))
|
|
66
|
+
.subscribe(([[prevState, currState], [prevRoute, currRoute]]) => {
|
|
67
|
+
const sameUrlNavigation = prevRoute === currRoute && equal(prevState.pathParams, currState.pathParams);
|
|
68
|
+
const didFragmentChange = prevState.fragment !== currState.fragment;
|
|
69
|
+
if (sameUrlNavigation) {
|
|
70
|
+
const allQueryParams = [
|
|
71
|
+
...new Set(Object.keys(prevState.queryParams).concat(Object.keys(currState.queryParams))),
|
|
72
|
+
];
|
|
73
|
+
const changedQueryParams = allQueryParams.filter((key) => currState.queryParams[key] !== prevState.queryParams[key]);
|
|
74
|
+
if (!config.queryParamTriggerList?.length && !didFragmentChange) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
const caseQueryParams = changedQueryParams.some((key) => config.queryParamTriggerList?.includes(key));
|
|
78
|
+
const caseFragment = didFragmentChange && config.fragment?.enabled;
|
|
79
|
+
if (caseQueryParams) {
|
|
80
|
+
(config.scrollElement ?? document.documentElement).scrollTop = 0;
|
|
81
|
+
}
|
|
82
|
+
else if (caseFragment) {
|
|
83
|
+
const fragmentElement = document.getElementById(currState.fragment ?? '');
|
|
84
|
+
if (fragmentElement) {
|
|
85
|
+
fragmentElement.scrollIntoView({ behavior: config.fragment?.smooth ? 'smooth' : 'auto' });
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
if (!(currState.data['disableScrollTopAsReturnRoute'] && prevState.data['disableScrollTop']) &&
|
|
91
|
+
!currState.data['disableScrollTop']) {
|
|
92
|
+
(config.scrollElement ?? document.documentElement).scrollTop = 0;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
selectQueryParam(key) {
|
|
98
|
+
return this._state$.pipe(map((state) => state.queryParams[key]));
|
|
99
|
+
}
|
|
100
|
+
selectPathParam(key) {
|
|
101
|
+
return this._state$.pipe(map((state) => state.pathParams[key]));
|
|
102
|
+
}
|
|
103
|
+
selectData(key) {
|
|
104
|
+
return this._state$.pipe(map((state) => state.data[key]));
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
RouterStateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: RouterStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
108
|
+
RouterStateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: RouterStateService, providedIn: 'root' });
|
|
109
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: RouterStateService, decorators: [{
|
|
110
|
+
type: Injectable,
|
|
111
|
+
args: [{
|
|
112
|
+
providedIn: 'root',
|
|
113
|
+
}]
|
|
114
|
+
}], ctorParameters: function () { return []; } });
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLXN0YXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9zZXJ2aWNlcy9yb3V0ZXItc3RhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQVEsYUFBYSxFQUFVLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RFLE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLFlBQVksRUFDWixvQkFBb0IsRUFDcEIsTUFBTSxFQUNOLEdBQUcsRUFFSCxRQUFRLEdBQ1QsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFDOztBQUVqQyxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLFNBQXNDLEVBQUUsRUFBRSxFQUFFO0lBQ2pGLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFO1FBQ3pCLE9BQU87WUFDTCxnQkFBZ0IsRUFBRSxJQUFJO1NBQ3ZCLENBQUM7S0FDSDtJQUVELE9BQU87UUFDTCw2QkFBNkIsRUFBRSxJQUFJO0tBQ3BDLENBQUM7QUFDSixDQUFDLENBQUM7QUFLRixNQUFNLE9BQU8sa0JBQWtCO0lBb0I3QixJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7UUEzQlEsb0NBQStCLEdBQUcsS0FBSyxDQUFDO1FBQy9CLFlBQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFekIsWUFBTyxHQUFHLElBQUksZUFBZSxDQUFDLEdBQUcsQ0FBQyxD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QUFrQixDQUFDLENBQUM7b0JBQ3hGLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUNuQztvQkFDQSxDQUFDLE1BQU0sQ0FBQyxhQUFhLElBQUksUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7aUJBQ2xFO2FBQ0Y7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxnQkFBZ0IsQ0FBeUIsR0FBVztRQUNsRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELGVBQWUsQ0FBeUIsR0FBVztRQUNqRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELFVBQVUsQ0FBYyxHQUFXO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1RCxDQUFDOzsrR0F2SVUsa0JBQWtCO21IQUFsQixrQkFBa0IsY0FGakIsTUFBTTsyRkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRhLCBOYXZpZ2F0aW9uRW5kLCBQYXJhbXMsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIGNvbWJpbmVMYXRlc3QsXG4gIGRlYm91bmNlVGltZSxcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIGZpbHRlcixcbiAgbWFwLFxuICBPYnNlcnZhYmxlLFxuICBwYWlyd2lzZSxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBlcXVhbCB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IHJvdXRlckRpc2FibGVTY3JvbGxUb3AgPSAoY29uZmlnOiB7IGFzUmV0dXJuUm91dGU/OiBib29sZWFuIH0gPSB7fSkgPT4ge1xuICBpZiAoIWNvbmZpZy5hc1JldHVyblJvdXRlKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGRpc2FibGVTY3JvbGxUb3A6IHRydWUsXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgZGlzYWJsZVNjcm9sbFRvcEFzUmV0dXJuUm91dGU6IHRydWUsXG4gIH07XG59O1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgUm91dGVyU3RhdGVTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBfaXNTY3JvbGxUb3BPbk5hdmlnYXRpb25FbmFibGVkID0gZmFsc2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3JvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3JvdXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoJy8nKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9zdGF0ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHtcbiAgICBkYXRhOiBEYXRhO1xuICAgIHBhdGhQYXJhbXM6IFBhcmFtcztcbiAgICBxdWVyeVBhcmFtczogUGFyYW1zO1xuICAgIHRpdGxlOiBzdHJpbmcgfCBudWxsO1xuICAgIGZyYWdtZW50OiBzdHJpbmcgfCBudWxsO1xuICB9Pih7XG4gICAgdGl0bGU6IG51bGwsXG4gICAgZnJhZ21lbnQ6IG51bGwsXG4gICAgZGF0YToge30sXG4gICAgcGF0aFBhcmFtczoge30sXG4gICAgcXVlcnlQYXJhbXM6IHt9LFxuICB9KTtcblxuICBnZXQgcm91dGUkKCkge1xuICAgIHJldHVybiB0aGlzLl9yb3V0ZSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgc3RhdGUkKCkge1xuICAgIHJldHVybiB0aGlzLl9zdGF0ZSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLl9yb3V0ZXIuZXZlbnRzXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChldmVudCk6IGV2ZW50IGlzIE5hdmlnYXRpb25FbmQgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKGEsIGIpID0+IGEudXJsID09PSBiLnVybCksXG4gICAgICAgIG1hcCgoZXZlbnQpID0+IHtcbiAgICAgICAgICBjb25zdCB7IHVybCB9ID0gZXZlbnQ7XG5cbiAgICAgICAgICBjb25zdCB1cmxXaXRob3V0UXVlcnlQYXJhbXMgPSB1cmwuc3BsaXQoJz8nKVswXTtcbiAgICAgICAgICBjb25zdCB3aXRob3V0RnJhZ21lbnQgPSB1cmxXaXRob3V0UXVlcnlQYXJhbXMuc3BsaXQoJyMnKVswXTtcblxuICAgICAgICAgIHJldHVybiB3aXRob3V0RnJhZ21lbnQ7XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSh0aGlzLl9yb3V0ZSQpO1xuXG4gICAgdGhpcy5fcm91dGUkXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgICBsZXQgcm91dGUgPSB0aGlzLl9yb3V0ZXIucm91dGVyU3RhdGUuc25hcHNob3Qucm9vdDtcblxuICAgICAgICAgIHdoaWxlIChyb3V0ZS5maXJzdENoaWxkKSB7XG4gICAgICAgICAgICByb3V0ZSA9IHJvdXRlLmZpcnN0Q2hpbGQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgeyBkYXRhLCBwYXJhbXMsIHF1ZXJ5UGFyYW1zLCB0aXRsZSwgZnJhZ21lbnQgfSA9IHJvdXRlO1xuXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICBwYXRoUGFyYW1zOiBwYXJhbXMsXG4gICAgICAgICAgICBxdWVyeVBhcmFtcyxcbiAgICAgICAgICAgIHRpdGxlOiB0aXRsZSA/PyBudWxsLFxuICAgICAgICAgICAgZnJhZ21lbnQsXG4gICAgICAgICAgfTtcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKHRoaXMuX3N0YXRlJCk7XG4gIH1cblxuICBlbmFibGVTY3JvbGxFbmhhbmNlbWVudHMoXG4gICAgY29uZmlnOiB7XG4gICAgICBzY3JvbGxFbGVtZW50PzogSFRNTEVsZW1lbnQ7XG4gICAgICBxdWVyeVBhcmFtVHJpZ2dlckxpc3Q/OiBzdHJpbmdbXTtcbiAgICAgIGZyYWdtZW50Pzoge1xuICAgICAgICBlbmFibGVkPzogYm9vbGVhbjtcbiAgICAgICAgc21vb3RoPzogYm9vbGVhbjtcbiAgICAgIH07XG4gICAgfSA9IHt9LFxuICApIHtcbiAgICBpZiAodGhpcy5faXNTY3JvbGxUb3BPbk5hdmlnYXRpb25FbmFibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5faXNTY3JvbGxUb3BPbk5hdmlnYXRpb25FbmFibGVkID0gdHJ1ZTtcblxuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuX3N0YXRlJC5waXBlKHBhaXJ3aXNlKCkpLCB0aGlzLl9yb3V0ZSQucGlwZShwYWlyd2lzZSgpKV0pXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUoMSkpXG4gICAgICAuc3Vic2NyaWJlKChbW3ByZXZTdGF0ZSwgY3VyclN0YXRlXSwgW3ByZXZSb3V0ZSwgY3VyclJvdXRlXV0pID0+IHtcbiAgICAgICAgY29uc3Qgc2FtZVVybE5hdmlnYXRpb24gPSBwcmV2Um91dGUgPT09IGN1cnJSb3V0ZSAmJiBlcXVhbChwcmV2U3RhdGUucGF0aFBhcmFtcywgY3VyclN0YXRlLnBhdGhQYXJhbXMpO1xuICAgICAgICBjb25zdCBkaWRGcmFnbWVudENoYW5nZSA9IHByZXZTdGF0ZS5mcmFnbWVudCAhPT0gY3VyclN0YXRlLmZyYWdtZW50O1xuXG4gICAgICAgIGlmIChzYW1lVXJsTmF2aWdhdGlvbikge1xuICAgICAgICAgIGNvbnN0IGFsbFF1ZXJ5UGFyYW1zID0gW1xuICAgICAgICAgICAgLi4ubmV3IFNldChPYmplY3Qua2V5cyhwcmV2U3RhdGUucXVlcnlQYXJhbXMpLmNvbmNhdChPYmplY3Qua2V5cyhjdXJyU3RhdGUucXVlcnlQYXJhbXMpKSksXG4gICAgICAgICAgXTtcblxuICAgICAgICAgIGNvbnN0IGNoYW5nZWRRdWVyeVBhcmFtcyA9IGFsbFF1ZXJ5UGFyYW1zLmZpbHRlcihcbiAgICAgICAgICAgIChrZXkpID0+IGN1cnJTdGF0ZS5xdWVyeVBhcmFtc1trZXldICE9PSBwcmV2U3RhdGUucXVlcnlQYXJhbXNba2V5XSxcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgaWYgKCFjb25maWcucXVlcnlQYXJhbVRyaWdnZXJMaXN0Py5sZW5ndGggJiYgIWRpZEZyYWdtZW50Q2hhbmdlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgY2FzZVF1ZXJ5UGFyYW1zID0gY2hhbmdlZFF1ZXJ5UGFyYW1zLnNvbWUoKGtleSkgPT4gY29uZmlnLnF1ZXJ5UGFyYW1UcmlnZ2VyTGlzdD8uaW5jbHVkZXMoa2V5KSk7XG4gICAgICAgICAgY29uc3QgY2FzZUZyYWdtZW50ID0gZGlkRnJhZ21lbnRDaGFuZ2UgJiYgY29uZmlnLmZyYWdtZW50Py5lbmFibGVkO1xuXG4gICAgICAgICAgaWYgKGNhc2VRdWVyeVBhcmFtcykge1xuICAgICAgICAgICAgKGNvbmZpZy5zY3JvbGxFbGVtZW50ID8/IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkuc2Nyb2xsVG9wID0gMDtcbiAgICAgICAgICB9IGVsc2UgaWYgKGNhc2VGcmFnbWVudCkge1xuICAgICAgICAgICAgY29uc3QgZnJhZ21lbnRFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoY3VyclN0YXRlLmZyYWdtZW50ID8/ICcnKTtcblxuICAgICAgICAgICAgaWYgKGZyYWdtZW50RWxlbWVudCkge1xuICAgICAgICAgICAgICBmcmFnbWVudEVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogY29uZmlnLmZyYWdtZW50Py5zbW9vdGggPyAnc21vb3RoJyA6ICdhdXRvJyB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgIShjdXJyU3RhdGUuZGF0YVsnZGlzYWJsZVNjcm9sbFRvcEFzUmV0dXJuUm91dGUnXSAmJiBwcmV2U3RhdGUuZGF0YVsnZGlzYWJsZVNjcm9sbFRvcCddKSAmJlxuICAgICAgICAgICAgIWN1cnJTdGF0ZS5kYXRhWydkaXNhYmxlU2Nyb2xsVG9wJ11cbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIChjb25maWcuc2Nyb2xsRWxlbWVudCA/PyBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLnNjcm9sbFRvcCA9IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHNlbGVjdFF1ZXJ5UGFyYW08VCA9IHN0cmluZyB8IHVuZGVmaW5lZD4oa2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGUkLnBpcGUobWFwKChzdGF0ZSkgPT4gc3RhdGUucXVlcnlQYXJhbXNba2V5XSkpO1xuICB9XG5cbiAgc2VsZWN0UGF0aFBhcmFtPFQgPSBzdHJpbmcgfCB1bmRlZmluZWQ+KGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRlJC5waXBlKG1hcCgoc3RhdGUpID0+IHN0YXRlLnBhdGhQYXJhbXNba2V5XSkpO1xuICB9XG5cbiAgc2VsZWN0RGF0YTxUID0gdW5rbm93bj4oa2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGUkLnBpcGUobWFwKChzdGF0ZSkgPT4gc3RhdGUuZGF0YVtrZXldKSk7XG4gIH1cbn1cbiJdfQ==
|