notifications_check-notification-promise.js
/**
* @module checkNotificationPromise
* @description Check if the browser's notification api supports promise based requests.
*
* @since 1.0.0
*
* @return {boolean} Whether the browser supports promise based notifications or not.
*
* @example
* import { checkNotificationPromise } from "@gravityforms/utils";
*
* function Example() {
* if ( checkNotificationPromise() ) {
* window.Notification.requestPermission().then( ( permission ) => {
* handlePermission();
* } );
* } else {
* window.Notification.requestPermission( ( permission ) => {
* handlePermission();
* } );
* }
* };
*
*/
export default function checkNotificationPromise() {
try {
window.Notification.requestPermission().then();
} catch ( e ) {
return false;
}
return true;
}