@folklore/hooks
Advanced tools
Comparing version 0.0.10 to 0.0.11
150
dist/cjs.js
@@ -91,3 +91,3 @@ 'use strict'; | ||
function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } | ||
var noPlayerError$2 = new Error('No player'); | ||
var noPlayerError$1 = new Error('No player'); | ||
var debug$3 = createDebug__default["default"]('folklore:video:youtube'); | ||
@@ -125,4 +125,13 @@ | ||
_params$onTimeUpdate = params.onTimeUpdate, | ||
customOnTimeUpdate = _params$onTimeUpdate === void 0 ? null : _params$onTimeUpdate; | ||
customOnTimeUpdate = _params$onTimeUpdate === void 0 ? null : _params$onTimeUpdate, | ||
_params$getVideoId = params.getVideoId, | ||
getVideoId = _params$getVideoId === void 0 ? function (url) { | ||
if (url === null || url.match(/^https?:/) === null) { | ||
return null; | ||
} | ||
var match = url.match(/\/video\/([^/?]+)/); | ||
return match !== null ? match[1] : null; | ||
} : _params$getVideoId; | ||
var _useState = react.useState(typeof window.DM !== 'undefined'), | ||
@@ -147,2 +156,5 @@ _useState2 = _slicedToArray__default["default"](_useState, 2), | ||
var ready = apiLoaded && playerReady; | ||
var videoId = react.useMemo(function () { | ||
return getVideoId(id); | ||
}, [id]); | ||
@@ -206,3 +218,3 @@ var _useState7 = react.useState(initialMuted), | ||
if (!apiLoaded || id === null || element === null) { | ||
if (!apiLoaded || videoId === null || element === null) { | ||
return; | ||
@@ -230,3 +242,3 @@ } | ||
player = DM.player(element, { | ||
video: id, | ||
video: videoId, | ||
width: width, | ||
@@ -242,3 +254,3 @@ height: height, | ||
} | ||
}, [apiLoaded, elementRef.current, id, width, height, autoplay, muted, start, controls, queueAutoplayNext, queueEnable, sharingEnable, uiLogo, uiStartScreenInfo]); | ||
}, [apiLoaded, elementRef.current, videoId, width, height, autoplay, muted, start, controls, queueAutoplayNext, queueEnable, sharingEnable, uiLogo, uiStartScreenInfo]); | ||
react.useEffect(function () { | ||
@@ -357,30 +369,30 @@ var _playerRef$current2 = playerRef.current, | ||
}; | ||
}, [playerRef.current, playerReady, id, setLoaded, setPlayState, setMetadata, setVolumeState, setMuted]); | ||
}, [playerRef.current, playerReady, videoId, setLoaded, setPlayState, setMetadata, setVolumeState, setMuted]); | ||
var play = react.useCallback(function () { | ||
var player = playerRef.current; | ||
return player !== null ? player.play() : Promise.reject(noPlayerError$2); | ||
return player !== null ? player.play() : Promise.reject(noPlayerError$1); | ||
}, []); | ||
var pause = react.useCallback(function () { | ||
var player = playerRef.current; | ||
return player !== null ? player.pause() : Promise.reject(noPlayerError$2); | ||
return player !== null ? player.pause() : Promise.reject(noPlayerError$1); | ||
}, []); | ||
var setVolume = react.useCallback(function (newVolume) { | ||
var player = playerRef.current; | ||
return player !== null ? player.setVolume(newVolume) : Promise.reject(noPlayerError$2); | ||
return player !== null ? player.setVolume(newVolume) : Promise.reject(noPlayerError$1); | ||
}, []); | ||
var mute = react.useCallback(function () { | ||
var player = playerRef.current; | ||
return player !== null ? player.setMute(true) : Promise.reject(noPlayerError$2); | ||
return player !== null ? player.setMute(true) : Promise.reject(noPlayerError$1); | ||
}, []); | ||
var unmute = react.useCallback(function () { | ||
var player = playerRef.current; | ||
return player !== null ? player.setMute(false) : Promise.reject(noPlayerError$2); | ||
return player !== null ? player.setMute(false) : Promise.reject(noPlayerError$1); | ||
}, []); | ||
var seek = react.useCallback(function (time) { | ||
var player = playerRef.current; | ||
return player !== null ? player.seek(time) : Promise.reject(noPlayerError$2); | ||
return player !== null ? player.seek(time) : Promise.reject(noPlayerError$1); | ||
}, []); | ||
var playing = playState.playing; | ||
var currentTime = usePlayerCurrentTime(playerRef.current, { | ||
id: id, | ||
id: videoId, | ||
disabled: !playing || timeUpdateInterval === null, | ||
@@ -465,3 +477,3 @@ updateInterval: timeUpdateInterval, | ||
var debug$2 = createDebug__default["default"]('folklore:video:native'); | ||
var noPlayerError$1 = new Error('No player'); | ||
var noPlayerError = new Error('No player'); | ||
@@ -516,7 +528,7 @@ var useNativeVideoPlayer = function useNativeVideoPlayer(url) { | ||
var player = elementRef.current; | ||
return player !== null ? player.play() : Promise.reject(noPlayerError$1); | ||
return player !== null ? player.play() : Promise.reject(noPlayerError); | ||
}, []); | ||
var pause = react.useCallback(function () { | ||
var player = elementRef.current; | ||
return player !== null ? player.pause() : Promise.reject(noPlayerError$1); | ||
return player !== null ? player.pause() : Promise.reject(noPlayerError); | ||
}, []); | ||
@@ -531,3 +543,3 @@ var setVolume = react.useCallback(function (newVolume) { | ||
return Promise.reject(noPlayerError$1); | ||
return Promise.reject(noPlayerError); | ||
}, []); | ||
@@ -542,3 +554,3 @@ var mute = react.useCallback(function () { | ||
return Promise.reject(noPlayerError$1); | ||
return Promise.reject(noPlayerError); | ||
}, []); | ||
@@ -553,3 +565,3 @@ var unmute = react.useCallback(function () { | ||
return Promise.reject(noPlayerError$1); | ||
return Promise.reject(noPlayerError); | ||
}, []); | ||
@@ -564,3 +576,3 @@ var seek = react.useCallback(function (newTime) { | ||
return Promise.reject(noPlayerError$1); | ||
return Promise.reject(noPlayerError); | ||
}, []); | ||
@@ -575,3 +587,3 @@ var setLoop = react.useCallback(function (newLoop) { | ||
return Promise.reject(noPlayerError$1); | ||
return Promise.reject(noPlayerError); | ||
}, []); // Bind player events | ||
@@ -914,27 +926,5 @@ | ||
function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } | ||
var NO_PLAYER_ERROR = new Error('No player'); | ||
var getYoutubeVideoId = function getYoutubeVideoId(url) { | ||
var regExp = /^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#&?]*).*/; | ||
var match = url.match(regExp); | ||
return match && match[7].length === 11 ? match[7] : false; | ||
}; | ||
var NO_PLAYER_ERROR$1 = new Error('No player'); | ||
var debug$1 = createDebug__default["default"]('folklore:video:youtube'); | ||
var isVideoId$1 = function isVideoId(url) { | ||
return url !== null && url.match(/^https?:/) === null; | ||
}; | ||
var getVideoId$1 = function getVideoId(url) { | ||
if (url === null) { | ||
return null; | ||
} | ||
if (isVideoId$1(url)) { | ||
return url; | ||
} | ||
return getYoutubeVideoId(url); | ||
}; | ||
function useYouTubePlayer(id) { | ||
@@ -959,4 +949,14 @@ var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, | ||
_ref$onTimeUpdate = _ref.onTimeUpdate, | ||
customOnTimeUpdate = _ref$onTimeUpdate === void 0 ? null : _ref$onTimeUpdate; | ||
customOnTimeUpdate = _ref$onTimeUpdate === void 0 ? null : _ref$onTimeUpdate, | ||
_ref$getVideoId = _ref.getVideoId, | ||
getVideoId = _ref$getVideoId === void 0 ? function (url) { | ||
if (url === null || url.match(/^https?:/) === null) { | ||
return null; | ||
} | ||
var regExp = /^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#&?]*).*/; | ||
var match = url.match(regExp); | ||
return match && match[7].length === 11 ? match[7] : null; | ||
} : _ref$getVideoId; | ||
var _useState = react.useState(typeof window.YT !== 'undefined'), | ||
@@ -972,3 +972,3 @@ _useState2 = _slicedToArray__default["default"](_useState, 2), | ||
var videoId = react.useMemo(function () { | ||
return getVideoId$1(id); | ||
return getVideoId(id); | ||
}, [id]); | ||
@@ -1024,11 +1024,11 @@ | ||
var player = playerRef.current; | ||
return player !== null && typeof player.playVideo !== 'undefined' ? Promise.resolve(player.playVideo()) : Promise.reject(NO_PLAYER_ERROR); | ||
return player !== null && typeof player.playVideo !== 'undefined' ? Promise.resolve(player.playVideo()) : Promise.reject(NO_PLAYER_ERROR$1); | ||
}, []); | ||
var pause = react.useCallback(function () { | ||
var player = playerRef.current; | ||
return player !== null && typeof player.pauseVideo !== 'undefined' ? Promise.resolve(player.pauseVideo()) : Promise.reject(NO_PLAYER_ERROR); | ||
return player !== null && typeof player.pauseVideo !== 'undefined' ? Promise.resolve(player.pauseVideo()) : Promise.reject(NO_PLAYER_ERROR$1); | ||
}, []); | ||
var setVolume = react.useCallback(function (volume) { | ||
var player = playerRef.current; | ||
var promise = player !== null && typeof player.setVolume !== 'undefined' ? Promise.resolve(player.setVolume(volume * 100)) : Promise.reject(NO_PLAYER_ERROR); | ||
var promise = player !== null && typeof player.setVolume !== 'undefined' ? Promise.resolve(player.setVolume(volume * 100)) : Promise.reject(NO_PLAYER_ERROR$1); | ||
@@ -1043,3 +1043,3 @@ if (customOnVolumeChange) { | ||
var player = playerRef.current; | ||
return (player !== null && typeof player.mute !== 'undefined' ? Promise.resolve(player.mute()) : Promise.reject(NO_PLAYER_ERROR)).then(function () { | ||
return (player !== null && typeof player.mute !== 'undefined' ? Promise.resolve(player.mute()) : Promise.reject(NO_PLAYER_ERROR$1)).then(function () { | ||
return setMuted(true); | ||
@@ -1050,3 +1050,3 @@ }); | ||
var player = playerRef.current; | ||
return (player !== null && typeof player.unMute !== 'undefined' ? Promise.resolve(player.unMute()) : Promise.reject(NO_PLAYER_ERROR)).then(function () { | ||
return (player !== null && typeof player.unMute !== 'undefined' ? Promise.resolve(player.unMute()) : Promise.reject(NO_PLAYER_ERROR$1)).then(function () { | ||
return setMuted(false); | ||
@@ -1057,7 +1057,7 @@ }); | ||
var player = playerRef.current; | ||
return player !== null && typeof player.seekTo !== 'undefined' ? Promise.resolve(player.seekTo(time)) : Promise.reject(NO_PLAYER_ERROR); | ||
return player !== null && typeof player.seekTo !== 'undefined' ? Promise.resolve(player.seekTo(time)) : Promise.reject(NO_PLAYER_ERROR$1); | ||
}, []); | ||
var setLoop = react.useCallback(function (loop) { | ||
var player = playerRef.current; | ||
return player !== null && typeof player.setLoop !== 'undefined' ? Promise.resolve(player.setLoop(loop)) : Promise.reject(NO_PLAYER_ERROR); | ||
return player !== null && typeof player.setLoop !== 'undefined' ? Promise.resolve(player.setLoop(loop)) : Promise.reject(NO_PLAYER_ERROR$1); | ||
}, []); | ||
@@ -1199,21 +1199,4 @@ var destroyPlayer = react.useCallback(function () { | ||
var debug = createDebug__default["default"]('folklore:video:vimeo'); | ||
var isVideoId = function isVideoId(url) { | ||
return url !== null && url.match(/^[0-9]+$/); | ||
}; | ||
var NO_PLAYER_ERROR = new Error('No player'); | ||
var getVideoId = function getVideoId(url) { | ||
if (url === null) { | ||
return null; | ||
} | ||
if (isVideoId(url)) { | ||
return url; | ||
} | ||
var match = url.match(/\/[0-9]+/); | ||
return match !== null ? match[1] : null; | ||
}; | ||
var noPlayerError = new Error('No player'); | ||
var useVimeoPlayer = function useVimeoPlayer(id) { | ||
@@ -1240,4 +1223,13 @@ var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, | ||
_ref$onTimeUpdate = _ref.onTimeUpdate, | ||
customOnTimeUpdate = _ref$onTimeUpdate === void 0 ? null : _ref$onTimeUpdate; | ||
customOnTimeUpdate = _ref$onTimeUpdate === void 0 ? null : _ref$onTimeUpdate, | ||
_ref$getVideoId = _ref.getVideoId, | ||
getVideoId = _ref$getVideoId === void 0 ? function (url) { | ||
if (url === null || url.match(/^[0-9]+$/) !== null) { | ||
return url; | ||
} | ||
var match = url.match(/\/[0-9]+/); | ||
return match !== null ? match[1] : null; | ||
} : _ref$getVideoId; | ||
var _useState = react.useState(false), | ||
@@ -1309,27 +1301,27 @@ _useState2 = _slicedToArray__default["default"](_useState, 2), | ||
var player = playerRef.current; | ||
return player !== null ? player.play() : Promise.reject(noPlayerError); | ||
return player !== null ? player.play() : Promise.reject(NO_PLAYER_ERROR); | ||
}, []); | ||
var pause = react.useCallback(function () { | ||
var player = playerRef.current; | ||
return player !== null ? player.pause() : Promise.reject(noPlayerError); | ||
return player !== null ? player.pause() : Promise.reject(NO_PLAYER_ERROR); | ||
}, []); | ||
var setVolume = react.useCallback(function (newVolume) { | ||
var player = playerRef.current; | ||
return player !== null ? player.setVolume(newVolume) : Promise.reject(noPlayerError); | ||
return player !== null ? player.setVolume(newVolume) : Promise.reject(NO_PLAYER_ERROR); | ||
}, []); | ||
var mute = react.useCallback(function () { | ||
var player = playerRef.current; | ||
return player !== null ? player.setVolume(0) : Promise.reject(noPlayerError); | ||
return player !== null ? player.setVolume(0) : Promise.reject(NO_PLAYER_ERROR); | ||
}, []); | ||
var unmute = react.useCallback(function () { | ||
var player = playerRef.current; | ||
return player !== null ? player.setVolume(1) : Promise.reject(noPlayerError); | ||
return player !== null ? player.setVolume(1) : Promise.reject(NO_PLAYER_ERROR); | ||
}, []); | ||
var seek = react.useCallback(function (time) { | ||
var player = playerRef.current; | ||
return player !== null ? player.setCurrentTime(time) : Promise.reject(noPlayerError); | ||
return player !== null ? player.setCurrentTime(time) : Promise.reject(NO_PLAYER_ERROR); | ||
}, []); | ||
var setLoop = react.useCallback(function (loop) { | ||
var player = playerRef.current; | ||
return player !== null ? player.setLoop(loop) : Promise.reject(noPlayerError); | ||
return player !== null ? player.setLoop(loop) : Promise.reject(NO_PLAYER_ERROR); | ||
}, []); | ||
@@ -1336,0 +1328,0 @@ var destroyVideo = react.useCallback(function () { |
152
dist/es.js
import _defineProperty from '@babel/runtime/helpers/defineProperty'; | ||
import _slicedToArray from '@babel/runtime/helpers/slicedToArray'; | ||
import { useState, useRef, useEffect, useCallback, useMemo } from 'react'; | ||
import { useState, useRef, useEffect, useMemo, useCallback } from 'react'; | ||
import { loadDailymotion, loadYouTube, loadVimeo } from '@folklore/services'; | ||
@@ -79,3 +79,3 @@ import createDebug from 'debug'; | ||
function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } | ||
var noPlayerError$2 = new Error('No player'); | ||
var noPlayerError$1 = new Error('No player'); | ||
var debug$3 = createDebug('folklore:video:youtube'); | ||
@@ -113,4 +113,13 @@ | ||
_params$onTimeUpdate = params.onTimeUpdate, | ||
customOnTimeUpdate = _params$onTimeUpdate === void 0 ? null : _params$onTimeUpdate; | ||
customOnTimeUpdate = _params$onTimeUpdate === void 0 ? null : _params$onTimeUpdate, | ||
_params$getVideoId = params.getVideoId, | ||
getVideoId = _params$getVideoId === void 0 ? function (url) { | ||
if (url === null || url.match(/^https?:/) === null) { | ||
return null; | ||
} | ||
var match = url.match(/\/video\/([^/?]+)/); | ||
return match !== null ? match[1] : null; | ||
} : _params$getVideoId; | ||
var _useState = useState(typeof window.DM !== 'undefined'), | ||
@@ -135,2 +144,5 @@ _useState2 = _slicedToArray(_useState, 2), | ||
var ready = apiLoaded && playerReady; | ||
var videoId = useMemo(function () { | ||
return getVideoId(id); | ||
}, [id]); | ||
@@ -194,3 +206,3 @@ var _useState7 = useState(initialMuted), | ||
if (!apiLoaded || id === null || element === null) { | ||
if (!apiLoaded || videoId === null || element === null) { | ||
return; | ||
@@ -218,3 +230,3 @@ } | ||
player = DM.player(element, { | ||
video: id, | ||
video: videoId, | ||
width: width, | ||
@@ -230,3 +242,3 @@ height: height, | ||
} | ||
}, [apiLoaded, elementRef.current, id, width, height, autoplay, muted, start, controls, queueAutoplayNext, queueEnable, sharingEnable, uiLogo, uiStartScreenInfo]); | ||
}, [apiLoaded, elementRef.current, videoId, width, height, autoplay, muted, start, controls, queueAutoplayNext, queueEnable, sharingEnable, uiLogo, uiStartScreenInfo]); | ||
useEffect(function () { | ||
@@ -345,30 +357,30 @@ var _playerRef$current2 = playerRef.current, | ||
}; | ||
}, [playerRef.current, playerReady, id, setLoaded, setPlayState, setMetadata, setVolumeState, setMuted]); | ||
}, [playerRef.current, playerReady, videoId, setLoaded, setPlayState, setMetadata, setVolumeState, setMuted]); | ||
var play = useCallback(function () { | ||
var player = playerRef.current; | ||
return player !== null ? player.play() : Promise.reject(noPlayerError$2); | ||
return player !== null ? player.play() : Promise.reject(noPlayerError$1); | ||
}, []); | ||
var pause = useCallback(function () { | ||
var player = playerRef.current; | ||
return player !== null ? player.pause() : Promise.reject(noPlayerError$2); | ||
return player !== null ? player.pause() : Promise.reject(noPlayerError$1); | ||
}, []); | ||
var setVolume = useCallback(function (newVolume) { | ||
var player = playerRef.current; | ||
return player !== null ? player.setVolume(newVolume) : Promise.reject(noPlayerError$2); | ||
return player !== null ? player.setVolume(newVolume) : Promise.reject(noPlayerError$1); | ||
}, []); | ||
var mute = useCallback(function () { | ||
var player = playerRef.current; | ||
return player !== null ? player.setMute(true) : Promise.reject(noPlayerError$2); | ||
return player !== null ? player.setMute(true) : Promise.reject(noPlayerError$1); | ||
}, []); | ||
var unmute = useCallback(function () { | ||
var player = playerRef.current; | ||
return player !== null ? player.setMute(false) : Promise.reject(noPlayerError$2); | ||
return player !== null ? player.setMute(false) : Promise.reject(noPlayerError$1); | ||
}, []); | ||
var seek = useCallback(function (time) { | ||
var player = playerRef.current; | ||
return player !== null ? player.seek(time) : Promise.reject(noPlayerError$2); | ||
return player !== null ? player.seek(time) : Promise.reject(noPlayerError$1); | ||
}, []); | ||
var playing = playState.playing; | ||
var currentTime = usePlayerCurrentTime(playerRef.current, { | ||
id: id, | ||
id: videoId, | ||
disabled: !playing || timeUpdateInterval === null, | ||
@@ -453,3 +465,3 @@ updateInterval: timeUpdateInterval, | ||
var debug$2 = createDebug('folklore:video:native'); | ||
var noPlayerError$1 = new Error('No player'); | ||
var noPlayerError = new Error('No player'); | ||
@@ -504,7 +516,7 @@ var useNativeVideoPlayer = function useNativeVideoPlayer(url) { | ||
var player = elementRef.current; | ||
return player !== null ? player.play() : Promise.reject(noPlayerError$1); | ||
return player !== null ? player.play() : Promise.reject(noPlayerError); | ||
}, []); | ||
var pause = useCallback(function () { | ||
var player = elementRef.current; | ||
return player !== null ? player.pause() : Promise.reject(noPlayerError$1); | ||
return player !== null ? player.pause() : Promise.reject(noPlayerError); | ||
}, []); | ||
@@ -519,3 +531,3 @@ var setVolume = useCallback(function (newVolume) { | ||
return Promise.reject(noPlayerError$1); | ||
return Promise.reject(noPlayerError); | ||
}, []); | ||
@@ -530,3 +542,3 @@ var mute = useCallback(function () { | ||
return Promise.reject(noPlayerError$1); | ||
return Promise.reject(noPlayerError); | ||
}, []); | ||
@@ -541,3 +553,3 @@ var unmute = useCallback(function () { | ||
return Promise.reject(noPlayerError$1); | ||
return Promise.reject(noPlayerError); | ||
}, []); | ||
@@ -552,3 +564,3 @@ var seek = useCallback(function (newTime) { | ||
return Promise.reject(noPlayerError$1); | ||
return Promise.reject(noPlayerError); | ||
}, []); | ||
@@ -563,3 +575,3 @@ var setLoop = useCallback(function (newLoop) { | ||
return Promise.reject(noPlayerError$1); | ||
return Promise.reject(noPlayerError); | ||
}, []); // Bind player events | ||
@@ -902,27 +914,5 @@ | ||
function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } | ||
var NO_PLAYER_ERROR = new Error('No player'); | ||
var getYoutubeVideoId = function getYoutubeVideoId(url) { | ||
var regExp = /^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#&?]*).*/; | ||
var match = url.match(regExp); | ||
return match && match[7].length === 11 ? match[7] : false; | ||
}; | ||
var NO_PLAYER_ERROR$1 = new Error('No player'); | ||
var debug$1 = createDebug('folklore:video:youtube'); | ||
var isVideoId$1 = function isVideoId(url) { | ||
return url !== null && url.match(/^https?:/) === null; | ||
}; | ||
var getVideoId$1 = function getVideoId(url) { | ||
if (url === null) { | ||
return null; | ||
} | ||
if (isVideoId$1(url)) { | ||
return url; | ||
} | ||
return getYoutubeVideoId(url); | ||
}; | ||
function useYouTubePlayer(id) { | ||
@@ -947,4 +937,14 @@ var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, | ||
_ref$onTimeUpdate = _ref.onTimeUpdate, | ||
customOnTimeUpdate = _ref$onTimeUpdate === void 0 ? null : _ref$onTimeUpdate; | ||
customOnTimeUpdate = _ref$onTimeUpdate === void 0 ? null : _ref$onTimeUpdate, | ||
_ref$getVideoId = _ref.getVideoId, | ||
getVideoId = _ref$getVideoId === void 0 ? function (url) { | ||
if (url === null || url.match(/^https?:/) === null) { | ||
return null; | ||
} | ||
var regExp = /^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#&?]*).*/; | ||
var match = url.match(regExp); | ||
return match && match[7].length === 11 ? match[7] : null; | ||
} : _ref$getVideoId; | ||
var _useState = useState(typeof window.YT !== 'undefined'), | ||
@@ -960,3 +960,3 @@ _useState2 = _slicedToArray(_useState, 2), | ||
var videoId = useMemo(function () { | ||
return getVideoId$1(id); | ||
return getVideoId(id); | ||
}, [id]); | ||
@@ -1012,11 +1012,11 @@ | ||
var player = playerRef.current; | ||
return player !== null && typeof player.playVideo !== 'undefined' ? Promise.resolve(player.playVideo()) : Promise.reject(NO_PLAYER_ERROR); | ||
return player !== null && typeof player.playVideo !== 'undefined' ? Promise.resolve(player.playVideo()) : Promise.reject(NO_PLAYER_ERROR$1); | ||
}, []); | ||
var pause = useCallback(function () { | ||
var player = playerRef.current; | ||
return player !== null && typeof player.pauseVideo !== 'undefined' ? Promise.resolve(player.pauseVideo()) : Promise.reject(NO_PLAYER_ERROR); | ||
return player !== null && typeof player.pauseVideo !== 'undefined' ? Promise.resolve(player.pauseVideo()) : Promise.reject(NO_PLAYER_ERROR$1); | ||
}, []); | ||
var setVolume = useCallback(function (volume) { | ||
var player = playerRef.current; | ||
var promise = player !== null && typeof player.setVolume !== 'undefined' ? Promise.resolve(player.setVolume(volume * 100)) : Promise.reject(NO_PLAYER_ERROR); | ||
var promise = player !== null && typeof player.setVolume !== 'undefined' ? Promise.resolve(player.setVolume(volume * 100)) : Promise.reject(NO_PLAYER_ERROR$1); | ||
@@ -1031,3 +1031,3 @@ if (customOnVolumeChange) { | ||
var player = playerRef.current; | ||
return (player !== null && typeof player.mute !== 'undefined' ? Promise.resolve(player.mute()) : Promise.reject(NO_PLAYER_ERROR)).then(function () { | ||
return (player !== null && typeof player.mute !== 'undefined' ? Promise.resolve(player.mute()) : Promise.reject(NO_PLAYER_ERROR$1)).then(function () { | ||
return setMuted(true); | ||
@@ -1038,3 +1038,3 @@ }); | ||
var player = playerRef.current; | ||
return (player !== null && typeof player.unMute !== 'undefined' ? Promise.resolve(player.unMute()) : Promise.reject(NO_PLAYER_ERROR)).then(function () { | ||
return (player !== null && typeof player.unMute !== 'undefined' ? Promise.resolve(player.unMute()) : Promise.reject(NO_PLAYER_ERROR$1)).then(function () { | ||
return setMuted(false); | ||
@@ -1045,7 +1045,7 @@ }); | ||
var player = playerRef.current; | ||
return player !== null && typeof player.seekTo !== 'undefined' ? Promise.resolve(player.seekTo(time)) : Promise.reject(NO_PLAYER_ERROR); | ||
return player !== null && typeof player.seekTo !== 'undefined' ? Promise.resolve(player.seekTo(time)) : Promise.reject(NO_PLAYER_ERROR$1); | ||
}, []); | ||
var setLoop = useCallback(function (loop) { | ||
var player = playerRef.current; | ||
return player !== null && typeof player.setLoop !== 'undefined' ? Promise.resolve(player.setLoop(loop)) : Promise.reject(NO_PLAYER_ERROR); | ||
return player !== null && typeof player.setLoop !== 'undefined' ? Promise.resolve(player.setLoop(loop)) : Promise.reject(NO_PLAYER_ERROR$1); | ||
}, []); | ||
@@ -1187,21 +1187,4 @@ var destroyPlayer = useCallback(function () { | ||
var debug = createDebug('folklore:video:vimeo'); | ||
var isVideoId = function isVideoId(url) { | ||
return url !== null && url.match(/^[0-9]+$/); | ||
}; | ||
var NO_PLAYER_ERROR = new Error('No player'); | ||
var getVideoId = function getVideoId(url) { | ||
if (url === null) { | ||
return null; | ||
} | ||
if (isVideoId(url)) { | ||
return url; | ||
} | ||
var match = url.match(/\/[0-9]+/); | ||
return match !== null ? match[1] : null; | ||
}; | ||
var noPlayerError = new Error('No player'); | ||
var useVimeoPlayer = function useVimeoPlayer(id) { | ||
@@ -1228,4 +1211,13 @@ var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, | ||
_ref$onTimeUpdate = _ref.onTimeUpdate, | ||
customOnTimeUpdate = _ref$onTimeUpdate === void 0 ? null : _ref$onTimeUpdate; | ||
customOnTimeUpdate = _ref$onTimeUpdate === void 0 ? null : _ref$onTimeUpdate, | ||
_ref$getVideoId = _ref.getVideoId, | ||
getVideoId = _ref$getVideoId === void 0 ? function (url) { | ||
if (url === null || url.match(/^[0-9]+$/) !== null) { | ||
return url; | ||
} | ||
var match = url.match(/\/[0-9]+/); | ||
return match !== null ? match[1] : null; | ||
} : _ref$getVideoId; | ||
var _useState = useState(false), | ||
@@ -1297,27 +1289,27 @@ _useState2 = _slicedToArray(_useState, 2), | ||
var player = playerRef.current; | ||
return player !== null ? player.play() : Promise.reject(noPlayerError); | ||
return player !== null ? player.play() : Promise.reject(NO_PLAYER_ERROR); | ||
}, []); | ||
var pause = useCallback(function () { | ||
var player = playerRef.current; | ||
return player !== null ? player.pause() : Promise.reject(noPlayerError); | ||
return player !== null ? player.pause() : Promise.reject(NO_PLAYER_ERROR); | ||
}, []); | ||
var setVolume = useCallback(function (newVolume) { | ||
var player = playerRef.current; | ||
return player !== null ? player.setVolume(newVolume) : Promise.reject(noPlayerError); | ||
return player !== null ? player.setVolume(newVolume) : Promise.reject(NO_PLAYER_ERROR); | ||
}, []); | ||
var mute = useCallback(function () { | ||
var player = playerRef.current; | ||
return player !== null ? player.setVolume(0) : Promise.reject(noPlayerError); | ||
return player !== null ? player.setVolume(0) : Promise.reject(NO_PLAYER_ERROR); | ||
}, []); | ||
var unmute = useCallback(function () { | ||
var player = playerRef.current; | ||
return player !== null ? player.setVolume(1) : Promise.reject(noPlayerError); | ||
return player !== null ? player.setVolume(1) : Promise.reject(NO_PLAYER_ERROR); | ||
}, []); | ||
var seek = useCallback(function (time) { | ||
var player = playerRef.current; | ||
return player !== null ? player.setCurrentTime(time) : Promise.reject(noPlayerError); | ||
return player !== null ? player.setCurrentTime(time) : Promise.reject(NO_PLAYER_ERROR); | ||
}, []); | ||
var setLoop = useCallback(function (loop) { | ||
var player = playerRef.current; | ||
return player !== null ? player.setLoop(loop) : Promise.reject(noPlayerError); | ||
return player !== null ? player.setLoop(loop) : Promise.reject(NO_PLAYER_ERROR); | ||
}, []); | ||
@@ -1324,0 +1316,0 @@ var destroyVideo = useCallback(function () { |
{ | ||
"name": "@folklore/hooks", | ||
"version": "0.0.10", | ||
"version": "0.0.11", | ||
"description": "React hooks", | ||
@@ -51,3 +51,3 @@ "keywords": [ | ||
}, | ||
"gitHead": "87715f95c9b18bede296108018d8b0210149e937", | ||
"gitHead": "51583d6c6cca76094a241b2747415fea0ba30cfd", | ||
"dependencies": { | ||
@@ -54,0 +54,0 @@ "@folklore/events": "^0.0.3", |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
114325
0
2850