@npo/player 1.18.4 → 1.19.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/README.md +4 -1
- package/lib/js/ads/ster.js +2 -0
- package/lib/js/fragments/removefragments.d.ts +1 -2
- package/lib/js/fragments/removefragments.js +1 -5
- package/lib/js/fragments/setfragments.d.ts +1 -1
- package/lib/js/fragments/setfragments.js +19 -13
- package/lib/js/playeractions/handlers/handleoffsets.js +8 -5
- package/lib/js/playeractions/handlers/removereplayclass.d.ts +2 -0
- package/lib/js/playeractions/handlers/removereplayclass.js +11 -0
- package/lib/js/ui/components/controlbar.js +2 -1
- package/lib/js/ui/components/nativemobile/buttons.js +0 -1
- package/lib/js/ui/components/settingspanel.js +4 -0
- package/lib/js/ui/handlers/listboxhandlers.js +2 -0
- package/lib/js/ui/handlers/streamhandler.js +1 -1
- package/lib/js/ui/nativemobileuifactory.js +6 -14
- package/lib/js/ui/uicontainer.d.ts +1 -0
- package/lib/js/ui/uicontainer.js +8 -0
- package/lib/js/utilities/utilities.js +3 -4
- package/lib/npoplayer.d.ts +2 -2
- package/lib/npoplayer.js +90 -35
- package/lib/package.json +3 -3
- package/lib/src/js/fragments/removefragments.d.ts +1 -2
- package/lib/src/js/fragments/setfragments.d.ts +1 -1
- package/lib/src/js/playeractions/handlers/removereplayclass.d.ts +2 -0
- package/lib/src/js/ui/uicontainer.d.ts +1 -0
- package/lib/src/npoplayer.d.ts +2 -2
- package/package.json +3 -3
- package/src/scss/components/_replay.scss +2 -1
- package/src/scss/npoplayer.css +7 -7
- package/src/scss/variants/_player-base.scss +1 -1
- package/lib/js/ui/handlers/playnexthandlers.d.ts +0 -0
- package/lib/js/ui/handlers/playnexthandlers.js +0 -1
- package/lib/src/js/ui/handlers/playnexthandlers.d.ts +0 -0
package/README.md
CHANGED
|
@@ -7,8 +7,11 @@ The video player library for NPO (Nederlandse Publieke Omroep) and other broadca
|
|
|
7
7
|
# Documentation
|
|
8
8
|
Extensive and up-to-date documentation is available at https://docs.npoplayer.nl
|
|
9
9
|
|
|
10
|
+
# Code quality
|
|
11
|
+
Code quality is analysed by SonarCloud. The project can be found at https://sonarcloud.io/project/overview?id=NPOstart_npo-player
|
|
12
|
+
|
|
10
13
|
# Changelog
|
|
11
|
-
Current version: v1.
|
|
14
|
+
Current version: v1.19.0
|
|
12
15
|
|
|
13
16
|
The changelog is available at https://docs.npoplayer.nl/implementation/web/changelog/
|
|
14
17
|
|
package/lib/js/ads/ster.js
CHANGED
|
@@ -107,6 +107,7 @@ export async function handlePreRolls(playerapi, streamObject, npoplayer) {
|
|
|
107
107
|
playerapi.on(PlayerEvent.AdFinished, handleAdFinished);
|
|
108
108
|
function handleAdBreakFinished() {
|
|
109
109
|
playerapi.off(PlayerEvent.AdBreakFinished, handleAdBreakFinished);
|
|
110
|
+
playerapi.off(PlayerEvent.AdError, handleAdBreakFinished);
|
|
110
111
|
npoplayer.adBreakActive = false;
|
|
111
112
|
npoplayer.uiComponents.adbutton?.hide();
|
|
112
113
|
npoplayer.uiComponents.adlabel?.hide();
|
|
@@ -117,5 +118,6 @@ export async function handlePreRolls(playerapi, streamObject, npoplayer) {
|
|
|
117
118
|
resolve();
|
|
118
119
|
}
|
|
119
120
|
playerapi.on(PlayerEvent.AdBreakFinished, handleAdBreakFinished);
|
|
121
|
+
playerapi.on(PlayerEvent.AdError, handleAdBreakFinished);
|
|
120
122
|
});
|
|
121
123
|
}
|
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
import { checkFunction, seekFunction } from './setfragments';
|
|
3
|
-
export async function removeFragments(player, uiManager) {
|
|
1
|
+
export function removeFragments(uiManager) {
|
|
4
2
|
uiManager.getTimelineMarkers().forEach(marker => {
|
|
5
3
|
uiManager.removeTimelineMarker(marker);
|
|
6
4
|
});
|
|
7
|
-
player.off(PlayerEvent.TimeChanged, checkFunction());
|
|
8
|
-
player.off(PlayerEvent.Seek, seekFunction());
|
|
9
5
|
}
|
|
@@ -3,4 +3,4 @@ import { type Fragments } from '../../types/interfaces';
|
|
|
3
3
|
import { UIManager } from 'bitmovin-player-ui';
|
|
4
4
|
export declare const checkFunction: () => (e: any) => void;
|
|
5
5
|
export declare const seekFunction: () => (e: any) => void;
|
|
6
|
-
export declare function setFragments(player: PlayerAPI, uiManager: UIManager, fragments: Fragments):
|
|
6
|
+
export declare function setFragments(player: PlayerAPI, uiManager: UIManager, fragments: Fragments): void;
|
|
@@ -2,20 +2,25 @@ import { PlayerEvent } from 'bitmovin-player';
|
|
|
2
2
|
import { removeFragments } from './removefragments';
|
|
3
3
|
let fragment = null;
|
|
4
4
|
let playerInstance = null;
|
|
5
|
+
let isFinished = false;
|
|
5
6
|
const setTitle = () => {
|
|
6
|
-
const element =
|
|
7
|
-
if (element !== null && element
|
|
7
|
+
const element = playerInstance?.getContainer()?.querySelector('.bmpui-npo-player .bmpui-seekbar-label-title');
|
|
8
|
+
if (element !== null && element?.textContent === '') {
|
|
8
9
|
element.textContent = fragment?.title || '';
|
|
9
10
|
}
|
|
10
11
|
};
|
|
11
12
|
export const checkFunction = () => (e) => {
|
|
12
13
|
if (!fragment || !playerInstance)
|
|
13
14
|
return;
|
|
14
|
-
|
|
15
|
+
playerInstance.off(PlayerEvent.TimeChanged, checkFunction());
|
|
16
|
+
if (e.time > fragment.end && !isFinished) {
|
|
17
|
+
isFinished = true;
|
|
15
18
|
playerInstance.seek(Math.max(fragment.start, fragment.end));
|
|
16
19
|
playerInstance.pause();
|
|
20
|
+
playerInstance?.getContainer().querySelector('.bmpui-npo-player')?.classList.add('bmpui-player-state-replay');
|
|
17
21
|
}
|
|
18
|
-
else if (e.time < fragment.start) {
|
|
22
|
+
else if (e.time < fragment.start || (e.time > fragment.end && isFinished)) {
|
|
23
|
+
isFinished = false;
|
|
19
24
|
playerInstance.seek(fragment.start);
|
|
20
25
|
}
|
|
21
26
|
setTitle();
|
|
@@ -23,13 +28,14 @@ export const checkFunction = () => (e) => {
|
|
|
23
28
|
export const seekFunction = () => (e) => {
|
|
24
29
|
if (!fragment || !playerInstance)
|
|
25
30
|
return;
|
|
31
|
+
playerInstance.off(PlayerEvent.Seek, seekFunction());
|
|
26
32
|
const seekTarget = e.seekTarget ? e.seekTarget : e.to.time;
|
|
27
33
|
if (seekTarget > fragment.end || seekTarget < fragment.start) {
|
|
28
34
|
playerInstance.seek(Math.max(fragment.start, Math.min(fragment.end, seekTarget)));
|
|
29
35
|
}
|
|
30
36
|
setTitle();
|
|
31
37
|
};
|
|
32
|
-
export
|
|
38
|
+
export function setFragments(player, uiManager, fragments) {
|
|
33
39
|
fragment = fragments.sections[0] || null;
|
|
34
40
|
playerInstance = player;
|
|
35
41
|
const unplayableClass = 'seekbar-marker-unplayable';
|
|
@@ -37,12 +43,16 @@ export async function setFragments(player, uiManager, fragments) {
|
|
|
37
43
|
if (!fragment)
|
|
38
44
|
return;
|
|
39
45
|
player.seek(fragment.start);
|
|
40
|
-
if (player.isPaused())
|
|
46
|
+
if (player.isPaused() && playerInstance?.getConfig().playback?.autoplay === true) {
|
|
41
47
|
void player.play();
|
|
48
|
+
}
|
|
42
49
|
};
|
|
43
50
|
const addMarkers = () => {
|
|
44
51
|
if (!fragment)
|
|
45
52
|
return;
|
|
53
|
+
playerInstance?.off(PlayerEvent.Ready, addMarkers);
|
|
54
|
+
removeFragments(uiManager);
|
|
55
|
+
setTitle();
|
|
46
56
|
const timelineMarkers = [
|
|
47
57
|
{
|
|
48
58
|
time: 0,
|
|
@@ -61,12 +71,8 @@ export async function setFragments(player, uiManager, fragments) {
|
|
|
61
71
|
uiManager.addTimelineMarker(marker);
|
|
62
72
|
});
|
|
63
73
|
playFragmentFromStart();
|
|
64
|
-
|
|
65
|
-
|
|
74
|
+
playerInstance?.on(PlayerEvent.TimeChanged, checkFunction());
|
|
75
|
+
playerInstance?.on(PlayerEvent.Seek, seekFunction());
|
|
66
76
|
};
|
|
67
|
-
|
|
68
|
-
player.off(PlayerEvent.Seek, seekFunction());
|
|
69
|
-
await removeFragments(player, uiManager);
|
|
70
|
-
addMarkers();
|
|
71
|
-
setTitle();
|
|
77
|
+
playerInstance?.on(PlayerEvent.Ready, addMarkers);
|
|
72
78
|
}
|
|
@@ -6,12 +6,15 @@ export function handleStartOffset(player, offset) {
|
|
|
6
6
|
}
|
|
7
7
|
return;
|
|
8
8
|
}
|
|
9
|
-
|
|
9
|
+
const seek = () => {
|
|
10
|
+
player.off(PlayerEvent.SourceLoaded, seek);
|
|
11
|
+
player.off(PlayerEvent.AdBreakFinished, seek);
|
|
12
|
+
player.off(PlayerEvent.AdError, seek);
|
|
10
13
|
player.seek(offset);
|
|
11
|
-
}
|
|
12
|
-
player.on(PlayerEvent.
|
|
13
|
-
|
|
14
|
-
|
|
14
|
+
};
|
|
15
|
+
player.on(PlayerEvent.SourceLoaded, seek);
|
|
16
|
+
player.on(PlayerEvent.AdBreakFinished, seek);
|
|
17
|
+
player.on(PlayerEvent.AdError, seek);
|
|
15
18
|
}
|
|
16
19
|
export function shiftToProgramStart(player, timestamp) {
|
|
17
20
|
if (player == null)
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { PlayerEvent } from 'bitmovin-player';
|
|
2
|
+
export function removeReplayClass(player) {
|
|
3
|
+
if (!player)
|
|
4
|
+
return;
|
|
5
|
+
player.off(PlayerEvent.Seek, () => {
|
|
6
|
+
removeReplayClass(player);
|
|
7
|
+
});
|
|
8
|
+
const playerContainer = player.getContainer();
|
|
9
|
+
playerContainer.classList.remove('bmpui-player-state-finished');
|
|
10
|
+
playerContainer.classList.remove('bmpui-player-state-replay');
|
|
11
|
+
}
|
|
@@ -12,8 +12,9 @@ export function createControlBar(npoplayer, settingsPanel) {
|
|
|
12
12
|
hidden: true
|
|
13
13
|
});
|
|
14
14
|
player?.on(PlayerEvent.CastAvailable, () => {
|
|
15
|
-
if (player.isCastAvailable())
|
|
15
|
+
if (player.isCastAvailable()) {
|
|
16
16
|
chromeCastButton.show();
|
|
17
|
+
}
|
|
17
18
|
});
|
|
18
19
|
const controlbar = new ControlBar({
|
|
19
20
|
components: [
|
|
@@ -124,7 +124,6 @@ export function createPlaybackToggleButton() {
|
|
|
124
124
|
const playbackClickHandler = () => {
|
|
125
125
|
if (!customPlayerbackToggleButton)
|
|
126
126
|
return;
|
|
127
|
-
console.log('TOGGLE_PLAY_PAUSE', !customPlayerbackToggleButton.isOn());
|
|
128
127
|
sendCustomMessage(CustomMessages.TOGGLE_PLAY_PAUSE, { isChecked: !customPlayerbackToggleButton.isOn() });
|
|
129
128
|
};
|
|
130
129
|
customPlayerbackToggleButton.onClick.unsubscribe(() => {
|
|
@@ -133,6 +133,7 @@ export function createSettingsPanel(npoplayer) {
|
|
|
133
133
|
const checkSubtitles = () => {
|
|
134
134
|
player?.off(PlayerEvent.SourceLoaded, checkSubtitles);
|
|
135
135
|
player?.off(PlayerEvent.AdBreakFinished, checkSubtitles);
|
|
136
|
+
player?.off(PlayerEvent.AdError, checkSubtitles);
|
|
136
137
|
const subtitles = player?.subtitles?.list();
|
|
137
138
|
if (subtitles != null && subtitles.length > 0) {
|
|
138
139
|
subtitlesPanelItem.show();
|
|
@@ -144,6 +145,7 @@ export function createSettingsPanel(npoplayer) {
|
|
|
144
145
|
const checkQuality = () => {
|
|
145
146
|
player?.off(PlayerEvent.SourceLoaded, checkQuality);
|
|
146
147
|
player?.off(PlayerEvent.AdBreakFinished, checkQuality);
|
|
148
|
+
player?.off(PlayerEvent.AdError, checkQuality);
|
|
147
149
|
if (player?.getAvailableVideoQualities() !== undefined && player?.getAvailableVideoQualities().length > 0) {
|
|
148
150
|
qualityPanelItem.show();
|
|
149
151
|
}
|
|
@@ -155,5 +157,7 @@ export function createSettingsPanel(npoplayer) {
|
|
|
155
157
|
player?.on(PlayerEvent.SourceLoaded, checkQuality);
|
|
156
158
|
player?.on(PlayerEvent.AdBreakFinished, checkSubtitles);
|
|
157
159
|
player?.on(PlayerEvent.AdBreakFinished, checkQuality);
|
|
160
|
+
player?.on(PlayerEvent.AdError, checkSubtitles);
|
|
161
|
+
player?.on(PlayerEvent.AdError, checkQuality);
|
|
158
162
|
return settingsPanel;
|
|
159
163
|
}
|
|
@@ -5,10 +5,12 @@ function closeSettingsPanel(settingsPanel, mainSettingsPage) {
|
|
|
5
5
|
}, 100);
|
|
6
6
|
}
|
|
7
7
|
export function handleSubtitleListBoxItemSelected(subtitleSettingsOpenButton, settingsPanel, mainSettingsPage) {
|
|
8
|
+
console.log('handleSubtitleListBoxItemSelected');
|
|
8
9
|
return (e) => {
|
|
9
10
|
e.getItems().forEach((item) => {
|
|
10
11
|
if (item.key === e.getSelectedItem()) {
|
|
11
12
|
subtitleSettingsOpenButton.setText(item.label);
|
|
13
|
+
e.selectItem(item.key);
|
|
12
14
|
}
|
|
13
15
|
});
|
|
14
16
|
closeSettingsPanel(settingsPanel, mainSettingsPage);
|
|
@@ -10,7 +10,7 @@ export function processStream(streamObject, container, streamOptions, player, ui
|
|
|
10
10
|
const section = {
|
|
11
11
|
start: seg.inpoint,
|
|
12
12
|
end: seg.outpoint,
|
|
13
|
-
title: sourceConfig.title || '',
|
|
13
|
+
title: sourceConfig.title || streamObject.metadata.title || '',
|
|
14
14
|
};
|
|
15
15
|
setFragments(player, uiManager, { sections: [section] });
|
|
16
16
|
}
|
|
@@ -17,6 +17,7 @@ export function nativeMobileUiFactory(player, config = {}) {
|
|
|
17
17
|
const mobileUIManager = new UIManager(player, nativeMobileUIContainer(player), uiConfig);
|
|
18
18
|
let _streamObject = {};
|
|
19
19
|
const removeFinishedClass = () => {
|
|
20
|
+
player.off(PlayerEvent.Seeked, removeFinishedClass);
|
|
20
21
|
const playerFinishedElement = document.querySelector('.bmpui-npo-player.bmpui-player-state-finished');
|
|
21
22
|
if (playerFinishedElement) {
|
|
22
23
|
playerFinishedElement.classList.remove('bmpui-player-state-finished');
|
|
@@ -32,7 +33,7 @@ export function nativeMobileUiFactory(player, config = {}) {
|
|
|
32
33
|
if (element) {
|
|
33
34
|
element.textContent = '';
|
|
34
35
|
}
|
|
35
|
-
removeFragments(
|
|
36
|
+
removeFragments(mobileUIManager);
|
|
36
37
|
};
|
|
37
38
|
const updateUI = () => {
|
|
38
39
|
if (_streamObject.metadata?.ageRating) {
|
|
@@ -69,6 +70,8 @@ export function nativeMobileUiFactory(player, config = {}) {
|
|
|
69
70
|
});
|
|
70
71
|
}
|
|
71
72
|
const addEventListeners = () => {
|
|
73
|
+
player.off(PlayerEvent.Ready, addEventListeners);
|
|
74
|
+
sendCustomMessage(CustomMessages.JAVASCRIPT_READY);
|
|
72
75
|
const playbackToggleElement = document.getElementById('native-mobile-playbacktoggleoverlay');
|
|
73
76
|
if (playbackToggleElement) {
|
|
74
77
|
const playbackToggleButton = playbackToggleElement.querySelector('button');
|
|
@@ -78,18 +81,7 @@ export function nativeMobileUiFactory(player, config = {}) {
|
|
|
78
81
|
});
|
|
79
82
|
}
|
|
80
83
|
};
|
|
81
|
-
player.
|
|
82
|
-
|
|
83
|
-
});
|
|
84
|
-
player.on(PlayerEvent.Seeked, () => {
|
|
85
|
-
removeFinishedClass();
|
|
86
|
-
});
|
|
87
|
-
player.off(PlayerEvent.Ready, () => {
|
|
88
|
-
sendCustomMessage(CustomMessages.JAVASCRIPT_READY);
|
|
89
|
-
});
|
|
90
|
-
player.on(PlayerEvent.Ready, () => {
|
|
91
|
-
addEventListeners();
|
|
92
|
-
sendCustomMessage(CustomMessages.JAVASCRIPT_READY);
|
|
93
|
-
});
|
|
84
|
+
player.on(PlayerEvent.Seeked, removeFinishedClass);
|
|
85
|
+
player.on(PlayerEvent.Ready, addEventListeners);
|
|
94
86
|
return mobileUIManager;
|
|
95
87
|
}
|
|
@@ -3,3 +3,4 @@ import { UIContainer } from 'bitmovin-player-ui';
|
|
|
3
3
|
import { PlayerAPI } from 'bitmovin-player';
|
|
4
4
|
import { NpoPlayerUIVariants } from '../../types/interfaces';
|
|
5
5
|
export declare function createUIContainer(npoplayer: NpoPlayer, player: PlayerAPI, variant: NpoPlayerUIVariants, container: HTMLElement): UIContainer;
|
|
6
|
+
export declare function removeUIContainer(container: HTMLElement): void;
|
package/lib/js/ui/uicontainer.js
CHANGED
|
@@ -77,3 +77,11 @@ export function createUIContainer(npoplayer, player, variant, container) {
|
|
|
77
77
|
hideDelay: uiDelay
|
|
78
78
|
});
|
|
79
79
|
}
|
|
80
|
+
export function removeUIContainer(container) {
|
|
81
|
+
for (let i = 0; i < container.attributes.length; i += 1) {
|
|
82
|
+
const attributeName = container.attributes[i].name;
|
|
83
|
+
if (attributeName.startsWith('data-')) {
|
|
84
|
+
container.removeAttribute(attributeName);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
@@ -22,10 +22,9 @@ export function localize(key) {
|
|
|
22
22
|
return i18n.getLocalizer(key);
|
|
23
23
|
}
|
|
24
24
|
export function validateStreamLength(duration, seconds = false) {
|
|
25
|
-
if (
|
|
26
|
-
return
|
|
27
|
-
|
|
28
|
-
return duration !== undefined ? msToSeconds(Number(duration)) : -1;
|
|
25
|
+
if (duration === undefined || duration === Infinity)
|
|
26
|
+
return -1;
|
|
27
|
+
return seconds ? (isFinite(+duration) ? Number(duration) : -1) : msToSeconds(Number(duration));
|
|
29
28
|
}
|
|
30
29
|
export function msToSeconds(ms) {
|
|
31
30
|
return ms / 1000;
|
package/lib/npoplayer.d.ts
CHANGED
|
@@ -42,7 +42,7 @@ export default class NpoPlayer {
|
|
|
42
42
|
cancelPlayNextScreen(): void;
|
|
43
43
|
hidePlayNextScreen(): void;
|
|
44
44
|
doPlayNext(): void;
|
|
45
|
-
destroy(): boolean
|
|
46
|
-
unload(): boolean
|
|
45
|
+
destroy(asyncMode?: boolean): Promise<boolean>;
|
|
46
|
+
unload(asyncMode?: boolean): Promise<boolean>;
|
|
47
47
|
printVersion(): void;
|
|
48
48
|
}
|
package/lib/npoplayer.js
CHANGED
|
@@ -9,7 +9,7 @@ import { getStreamObject } from './js/api/getstreamobject';
|
|
|
9
9
|
import { printVersion } from './js/utilities/printversion';
|
|
10
10
|
import { UIManager } from 'bitmovin-player-ui';
|
|
11
11
|
import { customSpecificErrorMessageOverlayConfig } from './js/playeractions/handlers/customerrors';
|
|
12
|
-
import { createUIContainer } from './js/ui/uicontainer';
|
|
12
|
+
import { createUIContainer, removeUIContainer } from './js/ui/uicontainer';
|
|
13
13
|
import { addAccessibilityAttributes } from './js/ui/handlers/accessibilityhandler';
|
|
14
14
|
import { LogEmitter } from './types/classes';
|
|
15
15
|
import { handlePreRolls } from './js/ads/ster';
|
|
@@ -18,6 +18,7 @@ import { NpoPlayerUIVariants } from './types/interfaces';
|
|
|
18
18
|
import { nativeMobileUiFactory } from './js/ui/nativemobileuifactory';
|
|
19
19
|
import { setupMediaSessionActionHandlers } from './js/playeractions/handlers/mediasessionactions';
|
|
20
20
|
import { processStream } from './js/ui/handlers/streamhandler';
|
|
21
|
+
import { removeReplayClass } from './js/playeractions/handlers/removereplayclass';
|
|
21
22
|
export { NpoPlayerUIVariants, };
|
|
22
23
|
export default class NpoPlayer {
|
|
23
24
|
constructor(_container, _playerConfig, _npotag, _npotaginstance, _variant) {
|
|
@@ -70,13 +71,21 @@ export default class NpoPlayer {
|
|
|
70
71
|
const isUrl = utility.isUrl(source);
|
|
71
72
|
const isMedia = await utility.isMediaUrl(source);
|
|
72
73
|
const isJWTToken = utility.isJWTToken(source);
|
|
74
|
+
const getDurationAndStartPlayerTracker = function () {
|
|
75
|
+
if (this.player === null)
|
|
76
|
+
return;
|
|
77
|
+
let prid = (utility.isJWTToken(source) ? this.streamObject?.metadata.prid : source) || 'unknown';
|
|
78
|
+
this.player.off(PlayerEvent.SourceLoaded, getDurationAndStartPlayerTracker);
|
|
79
|
+
let duration = this.player ? this.player.getDuration() : undefined;
|
|
80
|
+
startPlayerTracker(this, utility.validateStreamLength(duration, true), this.version, prid);
|
|
81
|
+
}.bind(this);
|
|
73
82
|
if (isUrl && isMedia) {
|
|
74
83
|
this.sourceConfig = {
|
|
75
84
|
...options.sourceConfig,
|
|
76
85
|
'progressive': source
|
|
77
86
|
};
|
|
78
87
|
this.player?.load(this.sourceConfig);
|
|
79
|
-
|
|
88
|
+
getDurationAndStartPlayerTracker();
|
|
80
89
|
}
|
|
81
90
|
else if (isJWTToken) {
|
|
82
91
|
this.jwt = source;
|
|
@@ -107,7 +116,14 @@ export default class NpoPlayer {
|
|
|
107
116
|
await drm.verifyDRM(this, this.player, payload);
|
|
108
117
|
setupMediaSessionActionHandlers(this.player, this.sourceConfig, _streamObject);
|
|
109
118
|
logEvent(this, 'load');
|
|
110
|
-
|
|
119
|
+
let streamDuration = _streamObject.metadata.duration;
|
|
120
|
+
let streamPrid = this.streamObject.metadata.prid || _streamObject.metadata.prid;
|
|
121
|
+
streamDuration = streamDuration == null
|
|
122
|
+
? this.player.on(PlayerEvent.SourceLoaded, getDurationAndStartPlayerTracker)
|
|
123
|
+
: startPlayerTracker(this, utility.validateStreamLength(streamDuration, false), this.version, streamPrid);
|
|
124
|
+
if (this.isShowingPlayNextScreen) {
|
|
125
|
+
this.hidePlayNextScreen();
|
|
126
|
+
}
|
|
111
127
|
if (this.variant !== NpoPlayerUIVariants.AUDIO) {
|
|
112
128
|
await handlePreRolls(this.player, _streamObject, this);
|
|
113
129
|
}
|
|
@@ -115,15 +131,23 @@ export default class NpoPlayer {
|
|
|
115
131
|
else {
|
|
116
132
|
this.doError(`Het is niet gelukt de stream op te halen: \n Input is geen valide token of media object.`, 500);
|
|
117
133
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
134
|
+
const triggerAddAccessibilityAttributes = () => {
|
|
135
|
+
this.player?.off(PlayerEvent.SourceLoaded, triggerAddAccessibilityAttributes);
|
|
136
|
+
this.player?.off(PlayerEvent.AdBreakFinished, triggerAddAccessibilityAttributes);
|
|
137
|
+
this.player?.off(PlayerEvent.AdError, triggerAddAccessibilityAttributes);
|
|
138
|
+
void addAccessibilityAttributes(this.container, this.streamObject.metadata);
|
|
139
|
+
};
|
|
140
|
+
this.player.on(PlayerEvent.SourceLoaded, triggerAddAccessibilityAttributes);
|
|
141
|
+
this.player.on(PlayerEvent.AdBreakFinished, triggerAddAccessibilityAttributes);
|
|
142
|
+
this.player.on(PlayerEvent.AdError, triggerAddAccessibilityAttributes);
|
|
122
143
|
if (this.sourceConfig?.metadata) {
|
|
123
144
|
this.sourceConfig.metadata.jwt = source;
|
|
124
145
|
this.sourceConfig.metadata.streamLinkAsJsonString = JSON.stringify(this.streamObject);
|
|
125
146
|
this.sourceConfig.metadata.npoTagSession = String(this.npoTag?.npoTagInstance?.getSerializedSessionInfo());
|
|
126
147
|
}
|
|
148
|
+
this.player.on(PlayerEvent.Seek, () => {
|
|
149
|
+
removeReplayClass(this.player);
|
|
150
|
+
});
|
|
127
151
|
if (options?.playNext?.showPlayNext === true) {
|
|
128
152
|
this.player.on(PlayerEvent.TimeChanged, () => {
|
|
129
153
|
this.showPlayNextScreen();
|
|
@@ -143,15 +167,15 @@ export default class NpoPlayer {
|
|
|
143
167
|
this.player.on(PlayerEvent.SourceLoaded, setLiveOffsetListener);
|
|
144
168
|
}
|
|
145
169
|
async createUIManager(player, variant) {
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
170
|
+
if (this.uiManager === null || variant !== this.variant) {
|
|
171
|
+
const uiConfig = {
|
|
172
|
+
errorMessages: customSpecificErrorMessageOverlayConfig,
|
|
173
|
+
disableAutoHideWhenHovered: true
|
|
174
|
+
};
|
|
151
175
|
this.uiManager = new UIManager(player, createUIContainer(this, player, variant, this.container), uiConfig);
|
|
152
176
|
this.variant = variant;
|
|
153
177
|
}
|
|
154
|
-
|
|
178
|
+
else {
|
|
155
179
|
processStream(this.streamObject, this.container, this.streamOptions, player, this.uiManager, this.sourceConfig);
|
|
156
180
|
}
|
|
157
181
|
}
|
|
@@ -211,7 +235,7 @@ export default class NpoPlayer {
|
|
|
211
235
|
playerAction.shiftToProgramStart(this.player, this.streamOptions.liveProgramTime);
|
|
212
236
|
}
|
|
213
237
|
showPlayNextScreen() {
|
|
214
|
-
if (this.player == null || !this.streamOptions.playNext?.showPlayNext)
|
|
238
|
+
if (this.player == null || !this.streamOptions.playNext?.showPlayNext || this.adBreakActive)
|
|
215
239
|
return;
|
|
216
240
|
this.player.off(PlayerEvent.TimeChanged, () => {
|
|
217
241
|
this.showPlayNextScreen();
|
|
@@ -245,33 +269,64 @@ export default class NpoPlayer {
|
|
|
245
269
|
this.hidePlayNextScreen();
|
|
246
270
|
void this.streamOptions.playNext?.proceedCallback?.();
|
|
247
271
|
}
|
|
248
|
-
destroy() {
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
272
|
+
destroy(asyncMode = false) {
|
|
273
|
+
const destroyLogic = async () => {
|
|
274
|
+
try {
|
|
275
|
+
if (this.npoTag != null) {
|
|
276
|
+
clearInterval(this.npoTag.heartbeatInterval);
|
|
277
|
+
}
|
|
278
|
+
logEvent(this, 'stop');
|
|
279
|
+
const playerContainer = this.player?.getContainer();
|
|
280
|
+
if (playerContainer)
|
|
281
|
+
removeUIContainer(playerContainer);
|
|
282
|
+
this.uiManager?.release();
|
|
283
|
+
this.uiManager = null;
|
|
284
|
+
await this.player?.destroy();
|
|
285
|
+
return true;
|
|
286
|
+
}
|
|
287
|
+
catch (e) {
|
|
288
|
+
console.error('Error destroying player:', e);
|
|
289
|
+
return false;
|
|
290
|
+
}
|
|
291
|
+
};
|
|
292
|
+
if (asyncMode) {
|
|
293
|
+
try {
|
|
294
|
+
destroyLogic();
|
|
295
|
+
return Promise.resolve(true);
|
|
296
|
+
}
|
|
297
|
+
catch (error) {
|
|
298
|
+
return Promise.resolve(false);
|
|
252
299
|
}
|
|
253
|
-
logEvent(this, 'stop');
|
|
254
|
-
this.uiManager?.release();
|
|
255
|
-
this.uiManager = null;
|
|
256
|
-
void this.player?.destroy();
|
|
257
|
-
return true;
|
|
258
300
|
}
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
return false;
|
|
301
|
+
else {
|
|
302
|
+
return destroyLogic();
|
|
262
303
|
}
|
|
263
304
|
}
|
|
264
|
-
unload() {
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
305
|
+
unload(asyncMode = false) {
|
|
306
|
+
const unloadLogic = async () => {
|
|
307
|
+
try {
|
|
308
|
+
if (this.npoTag != null) {
|
|
309
|
+
clearInterval(this.npoTag.heartbeatInterval);
|
|
310
|
+
}
|
|
311
|
+
const playerContainer = this.player?.getContainer();
|
|
312
|
+
if (playerContainer)
|
|
313
|
+
removeUIContainer(playerContainer);
|
|
314
|
+
this.hidePlayNextScreen();
|
|
315
|
+
await this.player?.unload();
|
|
316
|
+
return true;
|
|
317
|
+
}
|
|
318
|
+
catch (e) {
|
|
319
|
+
console.error('Error unloading player:', e);
|
|
320
|
+
return false;
|
|
268
321
|
}
|
|
269
|
-
|
|
270
|
-
|
|
322
|
+
};
|
|
323
|
+
if (asyncMode) {
|
|
324
|
+
return unloadLogic();
|
|
271
325
|
}
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
326
|
+
else {
|
|
327
|
+
return new Promise((resolve, reject) => {
|
|
328
|
+
unloadLogic().then(resolve).catch(reject);
|
|
329
|
+
});
|
|
275
330
|
}
|
|
276
331
|
}
|
|
277
332
|
printVersion() {
|
package/lib/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@npo/player",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.19.0",
|
|
4
4
|
"description": "NPO Player",
|
|
5
5
|
"author": "Publieke Omroep <player@npo.nl>",
|
|
6
6
|
"contributors": [
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"bundle": "npm run lint && bash build-lib.sh && npm run build:scss && npm run build:cdn",
|
|
25
25
|
"build:ts": "bash build-lib.sh",
|
|
26
26
|
"test": "jest",
|
|
27
|
-
"test:ci": "
|
|
27
|
+
"test:ci": "jest --collectCoverage --testResultsProcessor=jest-sonar-reporter",
|
|
28
28
|
"version:dev": "npm version prerelease --preid=dev --no-git-tag-version"
|
|
29
29
|
},
|
|
30
30
|
"files": [
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"eslint-plugin-import": "^2.27.5",
|
|
56
56
|
"eslint-plugin-n": "^15.7.0",
|
|
57
57
|
"eslint-plugin-promise": "^6.1.1",
|
|
58
|
-
"eslint-plugin-sonarjs": "^0.
|
|
58
|
+
"eslint-plugin-sonarjs": "^0.23.0",
|
|
59
59
|
"fs-extra": "^11.1.1",
|
|
60
60
|
"jest": "^28.1.3",
|
|
61
61
|
"jest-environment-jsdom": "^29.4.1",
|
|
@@ -3,4 +3,4 @@ import { type Fragments } from '../../types/interfaces';
|
|
|
3
3
|
import { UIManager } from 'bitmovin-player-ui';
|
|
4
4
|
export declare const checkFunction: () => (e: any) => void;
|
|
5
5
|
export declare const seekFunction: () => (e: any) => void;
|
|
6
|
-
export declare function setFragments(player: PlayerAPI, uiManager: UIManager, fragments: Fragments):
|
|
6
|
+
export declare function setFragments(player: PlayerAPI, uiManager: UIManager, fragments: Fragments): void;
|
|
@@ -3,3 +3,4 @@ import { UIContainer } from 'bitmovin-player-ui';
|
|
|
3
3
|
import { PlayerAPI } from 'bitmovin-player';
|
|
4
4
|
import { NpoPlayerUIVariants } from '../../types/interfaces';
|
|
5
5
|
export declare function createUIContainer(npoplayer: NpoPlayer, player: PlayerAPI, variant: NpoPlayerUIVariants, container: HTMLElement): UIContainer;
|
|
6
|
+
export declare function removeUIContainer(container: HTMLElement): void;
|
package/lib/src/npoplayer.d.ts
CHANGED
|
@@ -42,7 +42,7 @@ export default class NpoPlayer {
|
|
|
42
42
|
cancelPlayNextScreen(): void;
|
|
43
43
|
hidePlayNextScreen(): void;
|
|
44
44
|
doPlayNext(): void;
|
|
45
|
-
destroy(): boolean
|
|
46
|
-
unload(): boolean
|
|
45
|
+
destroy(asyncMode?: boolean): Promise<boolean>;
|
|
46
|
+
unload(asyncMode?: boolean): Promise<boolean>;
|
|
47
47
|
printVersion(): void;
|
|
48
48
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@npo/player",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.19.0",
|
|
4
4
|
"description": "NPO Player",
|
|
5
5
|
"author": "Publieke Omroep <player@npo.nl>",
|
|
6
6
|
"contributors": [
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"bundle": "npm run lint && bash build-lib.sh && npm run build:scss && npm run build:cdn",
|
|
25
25
|
"build:ts": "bash build-lib.sh",
|
|
26
26
|
"test": "jest",
|
|
27
|
-
"test:ci": "
|
|
27
|
+
"test:ci": "jest --collectCoverage --testResultsProcessor=jest-sonar-reporter",
|
|
28
28
|
"version:dev": "npm version prerelease --preid=dev --no-git-tag-version"
|
|
29
29
|
},
|
|
30
30
|
"files": [
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"eslint-plugin-import": "^2.27.5",
|
|
56
56
|
"eslint-plugin-n": "^15.7.0",
|
|
57
57
|
"eslint-plugin-promise": "^6.1.1",
|
|
58
|
-
"eslint-plugin-sonarjs": "^0.
|
|
58
|
+
"eslint-plugin-sonarjs": "^0.23.0",
|
|
59
59
|
"fs-extra": "^11.1.1",
|
|
60
60
|
"jest": "^28.1.3",
|
|
61
61
|
"jest-environment-jsdom": "^29.4.1",
|
package/src/scss/npoplayer.css
CHANGED
|
@@ -572,11 +572,11 @@
|
|
|
572
572
|
.bmpui-npo-player.bmpui-ster-ad.bmpui-layout-max-width-800 .bmpui-controlbar-textbuttons{position:absolute;padding:24px;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}
|
|
573
573
|
.bmpui-npo-player.bmpui-ster-ad.bmpui-layout-max-width-800 .bmpui-controlbar-textbuttons>.bmpui-container-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}
|
|
574
574
|
.bmpui-npo-player.bmpui-ster-ad.bmpui-layout-max-width-800 .bmpui-adLabel{position:relative;top:0;left:0;margin-right:16px}
|
|
575
|
-
.bmpui-npo-player.bmpui-player-state-finished .bmpui-ui-playbacktoggle-overlay{display:block !important}
|
|
576
|
-
.bmpui-npo-player.bmpui-player-state-finished .bmpui-ui-playbacktoggle-overlay .bmpui-ui-hugeplaybacktogglebutton{background:rgba(3,14,30,.4)}
|
|
577
|
-
.bmpui-npo-player.bmpui-player-state-finished .bmpui-ui-playbacktoggle-overlay .bmpui-image::before,.bmpui-npo-player.bmpui-player-state-finished .bmpui-ui-playbacktoggle-overlay .bmpui-image:hover::before{display:none}
|
|
578
|
-
.bmpui-npo-player.bmpui-player-state-finished .bmpui-ui-playbacktoggle-overlay .bmpui-image::after,.bmpui-npo-player.bmpui-player-state-finished .bmpui-ui-playbacktoggle-overlay .bmpui-image:hover::after{-webkit-animation:none;animation:none;background-color:rgba(0,0,0,0);background-repeat:no-repeat;background-position:50% 50%;background-color:var(--npo-player-iconcolor);-webkit-mask-size:48px;mask-size:48px;-webkit-mask-image:var(--npo-player-icon-replay) !important;mask-image:var(--npo-player-icon-replay) !important}
|
|
579
|
-
.bmpui-npo-player.bmpui-player-state-finished .bmpui-ui-playbacktogglebutton.bmpui-off{-webkit-mask-image:var(--npo-player-icon-replay);mask-image:var(--npo-player-icon-replay)}
|
|
575
|
+
.bmpui-npo-player.bmpui-player-state-finished .bmpui-ui-playbacktoggle-overlay,.bmpui-npo-player.bmpui-player-state-replay .bmpui-ui-playbacktoggle-overlay{display:block !important}
|
|
576
|
+
.bmpui-npo-player.bmpui-player-state-finished .bmpui-ui-playbacktoggle-overlay .bmpui-ui-hugeplaybacktogglebutton,.bmpui-npo-player.bmpui-player-state-replay .bmpui-ui-playbacktoggle-overlay .bmpui-ui-hugeplaybacktogglebutton{background:rgba(3,14,30,.4)}
|
|
577
|
+
.bmpui-npo-player.bmpui-player-state-finished .bmpui-ui-playbacktoggle-overlay .bmpui-image::before,.bmpui-npo-player.bmpui-player-state-finished .bmpui-ui-playbacktoggle-overlay .bmpui-image:hover::before,.bmpui-npo-player.bmpui-player-state-replay .bmpui-ui-playbacktoggle-overlay .bmpui-image::before,.bmpui-npo-player.bmpui-player-state-replay .bmpui-ui-playbacktoggle-overlay .bmpui-image:hover::before{display:none}
|
|
578
|
+
.bmpui-npo-player.bmpui-player-state-finished .bmpui-ui-playbacktoggle-overlay .bmpui-image::after,.bmpui-npo-player.bmpui-player-state-finished .bmpui-ui-playbacktoggle-overlay .bmpui-image:hover::after,.bmpui-npo-player.bmpui-player-state-replay .bmpui-ui-playbacktoggle-overlay .bmpui-image::after,.bmpui-npo-player.bmpui-player-state-replay .bmpui-ui-playbacktoggle-overlay .bmpui-image:hover::after{-webkit-animation:none;animation:none;background-color:rgba(0,0,0,0);background-repeat:no-repeat;background-position:50% 50%;background-color:var(--npo-player-iconcolor);-webkit-mask-size:48px;mask-size:48px;-webkit-mask-image:var(--npo-player-icon-replay) !important;mask-image:var(--npo-player-icon-replay) !important}
|
|
579
|
+
.bmpui-npo-player.bmpui-player-state-finished .bmpui-ui-playbacktogglebutton.bmpui-off,.bmpui-npo-player.bmpui-player-state-replay .bmpui-ui-playbacktogglebutton.bmpui-off{-webkit-mask-image:var(--npo-player-icon-replay);mask-image:var(--npo-player-icon-replay)}
|
|
580
580
|
.bmpui-npo-player .bmpui-ui-errormessage-overlay .bmpui-ui-tvnoisecanvas{display:none}
|
|
581
581
|
.bmpui-npo-player .bmpui-ui-errormessage-overlay::before{content:"";background-color:var(--npo-player-secondarycolor);opacity:.7;width:100%;height:100%;top:0;left:0;bottom:0;right:0;position:absolute}
|
|
582
582
|
.bmpui-npo-player .bmpui-ui-errormessage-label{font-family:var(--font-bold);font-weight:700;font-size:22px;line-height:130%;text-shadow:0px 0px 10px rgba(0,0,0,.9);padding:15px 5px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
|
|
@@ -589,7 +589,7 @@
|
|
|
589
589
|
.bmpui-npo-player .bmpui-ui-playbacktimelabel{font-family:var(--fontBold);font-style:normal;font-weight:700}
|
|
590
590
|
.bmpui-npo-player .bmpui-ui-playbacktimelabel.bmpui-total-time{opacity:.6}
|
|
591
591
|
.bmpui-npo-player.bmpui-player-state-finished .bmpui-ui-controlbar:not(.bmpui-controlbar-middle),.bmpui-npo-player.bmpui-player-state-finished .bmpui-ui-hugeplaybacktogglebutton{display:unset}
|
|
592
|
-
.bmpui-npo-player.bmpui-player-state-prepared.bmpui-controls-shown .bmpui-ui-titlebar,.bmpui-npo-player.bmpui-player-state-prepared.bmpui-controls-shown .bmpui-ui-controlbar{display:none}
|
|
592
|
+
.bmpui-npo-player.bmpui-player-state-prepared:not(.bmpui-native-mobile).bmpui-controls-shown .bmpui-ui-titlebar,.bmpui-npo-player.bmpui-player-state-prepared:not(.bmpui-native-mobile).bmpui-controls-shown .bmpui-ui-controlbar{display:none}
|
|
593
593
|
.bmpui-npo-player.bmpui-player-state-paused.bmpui-controls-shown .bmpui-ui-hugeplaybacktogglebutton{visibility:hidden}
|
|
594
594
|
.bmpui-npo-player.livestream-dvr .bmpui-ui-rewindbutton,.bmpui-npo-player.livestream-dvr .bmpui-ui-forwardbutton{display:none}
|
|
595
595
|
.bmpui-npo-player.livestream-dvr .bmpui-ui-playbacktogglebutton.bmpui-on{-webkit-mask-image:var(--npo-player-icon-stop);mask-image:var(--npo-player-icon-stop)}
|
|
@@ -675,4 +675,4 @@
|
|
|
675
675
|
.bitmovinplayer-container.bitmovinplayer-audio-container .bmpui-npo-player.bmpui-player-state-finished .bmpui-ui-playbacktoggle-overlay .bmpui-image::after,.bitmovinplayer-container.bitmovinplayer-audio-container .bmpui-npo-player.bmpui-player-state-finished .bmpui-ui-playbacktoggle-overlay .bmpui-image:hover::after{background-color:var(--npo-audio-player-background-color);-webkit-mask-size:32px;mask-size:32px}
|
|
676
676
|
.bitmovinplayer-container.bitmovinplayer-audio-container .bmpui-npo-player.bmpui-layout-max-width-400 .bmpui-ui-playbacktoggle-overlay .bmpui-image::after,.bitmovinplayer-container.bitmovinplayer-audio-container .bmpui-npo-player.bmpui-layout-max-width-400 .bmpui-ui-playbacktoggle-overlay .bmpui-image:hover::after{-webkit-mask-size:24px;mask-size:24px}
|
|
677
677
|
|
|
678
|
-
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL25vZGVfbW9kdWxlcy9iaXRtb3Zpbi1wbGF5ZXItdWkvZGlzdC9jc3MvYml0bW92aW5wbGF5ZXItdWkubWluLmNzcyIsIm5wb3BsYXllci5zY3NzIiwidmFycy9fY29sb3JzLnNjc3MiLCJ2YXJzL19mb250cy5zY3NzIiwidmFycy9faWNvbnMuc2NzcyIsInZhcnMvX2F1ZGlvLnNjc3MiLCJjb21wb25lbnRzL19pY29ucy5zY3NzIiwiY29tcG9uZW50cy9faHVnZXBsYXliYWNrdG9nZ2xlYnV0dG9uLnNjc3MiLCJjb21wb25lbnRzL19uaWNhbS5zY3NzIiwiY29tcG9uZW50cy9fcGxheW5leHQuc2NzcyIsImNvbXBvbmVudHMvX3NlZWtiYXIuc2NzcyIsImNvbXBvbmVudHMvX3NlZWtiYXJ0aHVtYm5haWwuc2NzcyIsImNvbXBvbmVudHMvX21ldGFkYXRhLnNjc3MiLCJjb21wb25lbnRzL192b2x1bWVzbGlkZXIuc2NzcyIsImNvbXBvbmVudHMvX2NvbnRyb2xiYXJzLnNjc3MiLCJjb21wb25lbnRzL19zZXR0aW5nc3BhbmVsLnNjc3MiLCJjb21wb25lbnRzL19zdWJ0aXRsZXMuc2NzcyIsImNvbXBvbmVudHMvX3RleHRidXR0b25zLnNjc3MiLCJjb21wb25lbnRzL19idWZmZXJpbmcuc2NzcyIsImNvbXBvbmVudHMvX2FkdmVydC5zY3NzIiwiY29tcG9uZW50cy9fcmVwbGF5LnNjc3MiLCJjb21wb25lbnRzL19lcnJvci5zY3NzIiwidmFyaWFudHMvX3BsYXllci1iYXNlLnNjc3MiLCJ2YXJpYW50cy9fcGxheWVyLWxhcmdlLnNjc3MiLCJ2YXJpYW50cy9fcGxheWVyLW1lZGl1bS5zY3NzIiwidmFyaWFudHMvX3BsYXllci1zbWFsbC5zY3NzIiwidmFyaWFudHMvX3BsYXllci1uYXRpdmUtbW9iaWxlLnNjc3MiLCJ2YXJpYW50cy9fcGxheWVyLWF1ZGlvLnNjc3MiLCJjb21wb25lbnRzL2F1ZGlvL19wb3N0ZXIuc2NzcyIsImNvbXBvbmVudHMvYXVkaW8vX3ZhcnMuc2NzcyIsImNvbXBvbmVudHMvYXVkaW8vX2Vycm9ycy5zY3NzIiwiY29tcG9uZW50cy9hdWRpby9fdG9wYmFyLnNjc3MiLCJjb21wb25lbnRzL2F1ZGlvL19tZXRhZGF0YS5zY3NzIiwiY29tcG9uZW50cy9hdWRpby9fc2Vla2Jhci5zY3NzIiwiY29tcG9uZW50cy9hdWRpby9fcGxheWJ1dHRvbi5zY3NzIiwiY29tcG9uZW50cy9hdWRpby9fYm90dG9tYmFyLnNjc3MiLCJjb21wb25lbnRzL2F1ZGlvL192b2x1bWVzbGlkZXIuc2NzcyIsImNvbXBvbmVudHMvYXVkaW8vX3JlcGxheS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQUFDO0VBQ2Ysb0RBQW9ELENBQUMsU0FBUztBQUFDLCtYQUErWCxhQUFhO0FBQUMsc0JBQXNCLFdBQVcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsVUFBVTtBQUFDLHdCQUF3QixtQkFBbUI7QUFBQyxtQ0FBbUMsWUFBWTtBQUFDLHlFQUF5RSxXQUFXO0FBQUMsb0ZBQW9GLGtEQUFrRCxDQUFDLDBDQUEwQztBQUFDLDhHQUE4Ryx1QkFBdUIsQ0FBQyxlQUFlO0FBQUMsdUNBQXVDLDBJQUEwSTtBQUFDLHdEQUF3RCxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxjQUFjO0FBQUMscUJBQW1ILDhGQUE2RCxDQUE3RCw2REFBNkQsQ0FBQyxRQUFRLENBQUMsNkJBQTZCLENBQUMscUJBQXFCLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxpQkFBaUIsQ0FBQyw0Q0FBNEMsQ0FBQyxvQ0FBb0MsQ0FBQyxVQUFVO0FBQUMsa0NBQWtDLFNBQVMsQ0FBQyw4QkFBOEIsQ0FBQyxzQkFBc0I7QUFBQywySUFBMkksbUJBQW1CLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLGFBQWE7QUFBQywyREFBMkQsY0FBYztBQUFDLHNF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 */
|
|
678
|
+
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL25vZGVfbW9kdWxlcy9iaXRtb3Zpbi1wbGF5ZXItdWkvZGlzdC9jc3MvYml0bW92aW5wbGF5ZXItdWkubWluLmNzcyIsIm5wb3BsYXllci5zY3NzIiwidmFycy9fY29sb3JzLnNjc3MiLCJ2YXJzL19mb250cy5zY3NzIiwidmFycy9faWNvbnMuc2NzcyIsInZhcnMvX2F1ZGlvLnNjc3MiLCJjb21wb25lbnRzL19pY29ucy5zY3NzIiwiY29tcG9uZW50cy9faHVnZXBsYXliYWNrdG9nZ2xlYnV0dG9uLnNjc3MiLCJjb21wb25lbnRzL19uaWNhbS5zY3NzIiwiY29tcG9uZW50cy9fcGxheW5leHQuc2NzcyIsImNvbXBvbmVudHMvX3NlZWtiYXIuc2NzcyIsImNvbXBvbmVudHMvX3NlZWtiYXJ0aHVtYm5haWwuc2NzcyIsImNvbXBvbmVudHMvX21ldGFkYXRhLnNjc3MiLCJjb21wb25lbnRzL192b2x1bWVzbGlkZXIuc2NzcyIsImNvbXBvbmVudHMvX2NvbnRyb2xiYXJzLnNjc3MiLCJjb21wb25lbnRzL19zZXR0aW5nc3BhbmVsLnNjc3MiLCJjb21wb25lbnRzL19zdWJ0aXRsZXMuc2NzcyIsImNvbXBvbmVudHMvX3RleHRidXR0b25zLnNjc3MiLCJjb21wb25lbnRzL19idWZmZXJpbmcuc2NzcyIsImNvbXBvbmVudHMvX2FkdmVydC5zY3NzIiwiY29tcG9uZW50cy9fcmVwbGF5LnNjc3MiLCJjb21wb25lbnRzL19lcnJvci5zY3NzIiwidmFyaWFudHMvX3BsYXllci1iYXNlLnNjc3MiLCJ2YXJpYW50cy9fcGxheWVyLWxhcmdlLnNjc3MiLCJ2YXJpYW50cy9fcGxheWVyLW1lZGl1bS5zY3NzIiwidmFyaWFudHMvX3BsYXllci1zbWFsbC5zY3NzIiwidmFyaWFudHMvX3BsYXllci1uYXRpdmUtbW9iaWxlLnNjc3MiLCJ2YXJpYW50cy9fcGxheWVyLWF1ZGlvLnNjc3MiLCJjb21wb25lbnRzL2F1ZGlvL19wb3N0ZXIuc2NzcyIsImNvbXBvbmVudHMvYXVkaW8vX3ZhcnMuc2NzcyIsImNvbXBvbmVudHMvYXVkaW8vX2Vycm9ycy5zY3NzIiwiY29tcG9uZW50cy9hdWRpby9fdG9wYmFyLnNjc3MiLCJjb21wb25lbnRzL2F1ZGlvL19tZXRhZGF0YS5zY3NzIiwiY29tcG9uZW50cy9hdWRpby9fc2Vla2Jhci5zY3NzIiwiY29tcG9uZW50cy9hdWRpby9fcGxheWJ1dHRvbi5zY3NzIiwiY29tcG9uZW50cy9hdWRpby9fYm90dG9tYmFyLnNjc3MiLCJjb21wb25lbnRzL2F1ZGlvL192b2x1bWVzbGlkZXIuc2NzcyIsImNvbXBvbmVudHMvYXVkaW8vX3JlcGxheS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQUFDO0VBQ2Ysb0RBQW9ELENBQUMsU0FBUztBQUFDLCtYQUErWCxhQUFhO0FBQUMsc0JBQXNCLFdBQVcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsVUFBVTtBQUFDLHdCQUF3QixtQkFBbUI7QUFBQyxtQ0FBbUMsWUFBWTtBQUFDLHlFQUF5RSxXQUFXO0FBQUMsb0ZBQW9GLGtEQUFrRCxDQUFDLDBDQUEwQztBQUFDLDhHQUE4Ryx1QkFBdUIsQ0FBQyxlQUFlO0FBQUMsdUNBQXVDLDBJQUEwSTtBQUFDLHdEQUF3RCxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxjQUFjO0FBQUMscUJBQW1ILDhGQUE2RCxDQUE3RCw2REFBNkQsQ0FBQyxRQUFRLENBQUMsNkJBQTZCLENBQUMscUJBQXFCLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxpQkFBaUIsQ0FBQyw0Q0FBNEMsQ0FBQyxvQ0FBb0MsQ0FBQyxVQUFVO0FBQUMsa0NBQWtDLFNBQVMsQ0FBQyw4QkFBOEIsQ0FBQyxzQkFBc0I7QUFBQywySUFBMkksbUJBQW1CLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLGFBQWE7QUFBQywyREFBMkQsY0FBYztBQUFDLHNF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 */
|
|
File without changes
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
File without changes
|