Comparing version 0.0.7 to 0.0.8
{ | ||
"name": "push.js", | ||
"version": "0.0.7", | ||
"version": "0.0.8", | ||
"description": "A compact, cross-browser solution for the Javascript Notifications API", | ||
"main": "push.js", | ||
"main": "push.min.js", | ||
"scripts": { | ||
@@ -7,0 +7,0 @@ "build": "node_modules/.bin/uglifyjs push.js node_modules/promise-polyfill/promise.js -o push.min.js --comments", |
@@ -58,3 +58,3 @@ /** | ||
})(window !== 'undefined' ? window : self, function (w, d) { | ||
})(typeof window !== 'undefined' ? window : this, function (w, d) { | ||
@@ -61,0 +61,0 @@ var Push = function () { |
@@ -38,2 +38,2 @@ /** | ||
*/ | ||
(function(global,factory){"use strict";if(typeof define==="function"&&define.amd){define(function(){return new(factory(global,global.document))})}else if(typeof module!=="undefined"&&module.exports){module.exports=new(factory(global,global.document))}else{global.Push=new(factory(global,global.document))}})(window!=="undefined"?window:self,function(w,d){var Push=function(){var self=this,isUndefined=function(obj){return obj===undefined},isString=function(obj){return obj&&obj.constructor===String},isFunction=function(obj){return obj&&obj.constructor===Function},hasPermission=false,notifications=[],close_notification=function(notification){if(notification.close){notification.close()}else if(notification.cancel){notification.cancel()}else if(w.external&&w.external.msIsSiteMode){w.external.msSiteModeClearIconOverlay()}},updateCount=function(){self.count=notifications.length},create_callback=function(title,options){var notification,wrapper;options=options||{};if(w.Notification){try{notification=new w.Notification(title,{icon:isString(options.icon)||isUndefined(options.icon)?options.icon:options.icon.x32,body:options.body,tag:options.tag})}catch(e){if(w.navigator){w.navigator.serviceWorker.register("sw.js");w.navigator.serviceWorker.ready.then(function(registration){registration.showNotification(title,{body:options.body,vibrate:options.vibrate,tag:options.tag})})}}}else if(w.webkitNotifications){notification=win.webkitNotifications.createNotification(options.icon,title,options.body);notification.show()}else if(navigator.mozNotification){notification=navigator.mozNotification.createNotification(title,options.body,options.icon);notification.show()}else if(win.external&&win.external.msIsSiteMode()){w.external.msSiteModeClearIconOverlay();w.external.msSiteModeSetIconOverlay(isString(options.icon)||isUndefined(options.icon)?options.icon:options.icon.x16,title);w.external.msSiteModeActivate();notification={}}wrapper={close:function(){close_notification(notification)}};if(options.timeout){setTimeout(function(){wrapper.close()},options.timeout)}if(isFunction(options.onShow))notification.addEventListener("show",options.onShow);if(isFunction(options.onError))notification.addEventListener("error",options.onError);if(isFunction(options.onClick))notification.addEventListener("click",options.onClick);if(isFunction(options.onClose)){notification.addEventListener("close",options.onClose);notification.addEventListener("cancel",options.onClose)}notifications.push(notification);updateCount();return wrapper},Permission={DEFAULT:"default",GRANTED:"granted",DENIED:"denied"},Permissions=[Permission.GRANTED,Permission.DEFAULT,Permission.DENIED];self.Permission=Permission;self.count=0;self.Permission.request=function(onGranted,onDenied){if(!self.isSupported){console.error("PushError: push.js is incompatible with browser.");return}callback=function(result){switch(result){case self.Permission.GRANTED:hasPermission=true;if(onGranted)onGranted();break;case self.Permission.DENIED:hasPermission=false;if(onDenied)onDenied();break}};if(w.Notification&&w.Notification.requestPermission){Notification.requestPermission(callback)}else if(w.webkitNotifications&&w.webkitNotifications.checkPermission){w.webkitNotifications.requestPermission(callback)}};self.Permission.has=function(){return hasPermission};self.Permission.get=function(){var permission;if(!self.isSupported){return}if(w.Notification&&w.Notification.permissionLevel){permission=w.Notification.permissionLevel}else if(w.webkitNotifications&&w.webkitNotifications.checkPermission){permission=Permissions[w.webkitNotifications.checkPermission()]}else if(w.Notification&&w.Notification.permission){permission=w.Notification.permission}else if(navigator.mozNotification){permission=Permissions.GRANTED}else if(w.external&&w.external.msIsSiteMode()!==undefined){permission=w.external.msIsSiteMode()?Permission.GRANTED:Permission.DEFAULT}return permission};self.isSupported=function(){var isSupported=false;try{isSupported=!!(w.Notification||w.webkitNotifications||navigator.mozNotification||w.external&&w.external.msIsSiteMode()!==undefined)}catch(e){}return isSupported}();self.create=function(title,options){if(!self.isSupported){console.error("PushError: push.js is incompatible with browser.");return}if(typeof title!=="string"){throw"PushError: Title of notification must be a string"}if(!self.Permission.has()){return new Promise(function(resolve,reject){self.Permission.request(function(){resolve(create_callback(title,options))},function(){reject("Permission request declined")})})}else{return new Promise(function(resolve,reject){resolve(create_callback(title,options))})}};self.close=function(tag){var i,notification;for(i=0;i<notifications.length;i++){notification=notifications[i];if(notification.tag===tag){close_notification(notification);notifications.splice(i,1);updateCount();return}}};self.clear=function(){var i;for(i=0;i<notifications.length;i++){close_notification(notifications[i])}notifications=[];updateCount()}};return Push});(function(root){var setTimeoutFunc=setTimeout;function noop(){}var asap=typeof setImmediate==="function"&&setImmediate||function(fn){setTimeoutFunc(fn,0)};var onUnhandledRejection=function onUnhandledRejection(err){if(typeof console!=="undefined"&&console){console.warn("Possible Unhandled Promise Rejection:",err)}};function bind(fn,thisArg){return function(){fn.apply(thisArg,arguments)}}function Promise(fn){if(typeof this!=="object")throw new TypeError("Promises must be constructed via new");if(typeof fn!=="function")throw new TypeError("not a function");this._state=0;this._handled=false;this._value=undefined;this._deferreds=[];doResolve(fn,this)}function handle(self,deferred){while(self._state===3){self=self._value}if(self._state===0){self._deferreds.push(deferred);return}self._handled=true;asap(function(){var cb=self._state===1?deferred.onFulfilled:deferred.onRejected;if(cb===null){(self._state===1?resolve:reject)(deferred.promise,self._value);return}var ret;try{ret=cb(self._value)}catch(e){reject(deferred.promise,e);return}resolve(deferred.promise,ret)})}function resolve(self,newValue){try{if(newValue===self)throw new TypeError("A promise cannot be resolved with itself.");if(newValue&&(typeof newValue==="object"||typeof newValue==="function")){var then=newValue.then;if(newValue instanceof Promise){self._state=3;self._value=newValue;finale(self);return}else if(typeof then==="function"){doResolve(bind(then,newValue),self);return}}self._state=1;self._value=newValue;finale(self)}catch(e){reject(self,e)}}function reject(self,newValue){self._state=2;self._value=newValue;finale(self)}function finale(self){if(self._state===2&&self._deferreds.length===0){asap(function(){if(!self._handled){onUnhandledRejection(self._value)}})}for(var i=0,len=self._deferreds.length;i<len;i++){handle(self,self._deferreds[i])}self._deferreds=null}function Handler(onFulfilled,onRejected,promise){this.onFulfilled=typeof onFulfilled==="function"?onFulfilled:null;this.onRejected=typeof onRejected==="function"?onRejected:null;this.promise=promise}function doResolve(fn,self){var done=false;try{fn(function(value){if(done)return;done=true;resolve(self,value)},function(reason){if(done)return;done=true;reject(self,reason)})}catch(ex){if(done)return;done=true;reject(self,ex)}}Promise.prototype["catch"]=function(onRejected){return this.then(null,onRejected)};Promise.prototype.then=function(onFulfilled,onRejected){var prom=new this.constructor(noop);handle(this,new Handler(onFulfilled,onRejected,prom));return prom};Promise.all=function(arr){var args=Array.prototype.slice.call(arr);return new Promise(function(resolve,reject){if(args.length===0)return resolve([]);var remaining=args.length;function res(i,val){try{if(val&&(typeof val==="object"||typeof val==="function")){var then=val.then;if(typeof then==="function"){then.call(val,function(val){res(i,val)},reject);return}}args[i]=val;if(--remaining===0){resolve(args)}}catch(ex){reject(ex)}}for(var i=0;i<args.length;i++){res(i,args[i])}})};Promise.resolve=function(value){if(value&&typeof value==="object"&&value.constructor===Promise){return value}return new Promise(function(resolve){resolve(value)})};Promise.reject=function(value){return new Promise(function(resolve,reject){reject(value)})};Promise.race=function(values){return new Promise(function(resolve,reject){for(var i=0,len=values.length;i<len;i++){values[i].then(resolve,reject)}})};Promise._setImmediateFn=function _setImmediateFn(fn){asap=fn};Promise._setUnhandledRejectionFn=function _setUnhandledRejectionFn(fn){onUnhandledRejection=fn};if(typeof module!=="undefined"&&module.exports){module.exports=Promise}else if(!root.Promise){root.Promise=Promise}})(this); | ||
(function(global,factory){"use strict";if(typeof define==="function"&&define.amd){define(function(){return new(factory(global,global.document))})}else if(typeof module!=="undefined"&&module.exports){module.exports=new(factory(global,global.document))}else{global.Push=new(factory(global,global.document))}})(typeof window!=="undefined"?window:this,function(w,d){var Push=function(){var self=this,isUndefined=function(obj){return obj===undefined},isString=function(obj){return obj&&obj.constructor===String},isFunction=function(obj){return obj&&obj.constructor===Function},hasPermission=false,notifications=[],close_notification=function(notification){if(notification.close){notification.close()}else if(notification.cancel){notification.cancel()}else if(w.external&&w.external.msIsSiteMode){w.external.msSiteModeClearIconOverlay()}},updateCount=function(){self.count=notifications.length},create_callback=function(title,options){var notification,wrapper;options=options||{};if(w.Notification){try{notification=new w.Notification(title,{icon:isString(options.icon)||isUndefined(options.icon)?options.icon:options.icon.x32,body:options.body,tag:options.tag})}catch(e){if(w.navigator){w.navigator.serviceWorker.register("sw.js");w.navigator.serviceWorker.ready.then(function(registration){registration.showNotification(title,{body:options.body,vibrate:options.vibrate,tag:options.tag})})}}}else if(w.webkitNotifications){notification=win.webkitNotifications.createNotification(options.icon,title,options.body);notification.show()}else if(navigator.mozNotification){notification=navigator.mozNotification.createNotification(title,options.body,options.icon);notification.show()}else if(win.external&&win.external.msIsSiteMode()){w.external.msSiteModeClearIconOverlay();w.external.msSiteModeSetIconOverlay(isString(options.icon)||isUndefined(options.icon)?options.icon:options.icon.x16,title);w.external.msSiteModeActivate();notification={}}wrapper={close:function(){close_notification(notification)}};if(options.timeout){setTimeout(function(){wrapper.close()},options.timeout)}if(isFunction(options.onShow))notification.addEventListener("show",options.onShow);if(isFunction(options.onError))notification.addEventListener("error",options.onError);if(isFunction(options.onClick))notification.addEventListener("click",options.onClick);if(isFunction(options.onClose)){notification.addEventListener("close",options.onClose);notification.addEventListener("cancel",options.onClose)}notifications.push(notification);updateCount();return wrapper},Permission={DEFAULT:"default",GRANTED:"granted",DENIED:"denied"},Permissions=[Permission.GRANTED,Permission.DEFAULT,Permission.DENIED];self.Permission=Permission;self.count=0;self.Permission.request=function(onGranted,onDenied){if(!self.isSupported){console.error("PushError: push.js is incompatible with browser.");return}callback=function(result){switch(result){case self.Permission.GRANTED:hasPermission=true;if(onGranted)onGranted();break;case self.Permission.DENIED:hasPermission=false;if(onDenied)onDenied();break}};if(w.Notification&&w.Notification.requestPermission){Notification.requestPermission(callback)}else if(w.webkitNotifications&&w.webkitNotifications.checkPermission){w.webkitNotifications.requestPermission(callback)}};self.Permission.has=function(){return hasPermission};self.Permission.get=function(){var permission;if(!self.isSupported){return}if(w.Notification&&w.Notification.permissionLevel){permission=w.Notification.permissionLevel}else if(w.webkitNotifications&&w.webkitNotifications.checkPermission){permission=Permissions[w.webkitNotifications.checkPermission()]}else if(w.Notification&&w.Notification.permission){permission=w.Notification.permission}else if(navigator.mozNotification){permission=Permissions.GRANTED}else if(w.external&&w.external.msIsSiteMode()!==undefined){permission=w.external.msIsSiteMode()?Permission.GRANTED:Permission.DEFAULT}return permission};self.isSupported=function(){var isSupported=false;try{isSupported=!!(w.Notification||w.webkitNotifications||navigator.mozNotification||w.external&&w.external.msIsSiteMode()!==undefined)}catch(e){}return isSupported}();self.create=function(title,options){if(!self.isSupported){console.error("PushError: push.js is incompatible with browser.");return}if(typeof title!=="string"){throw"PushError: Title of notification must be a string"}if(!self.Permission.has()){return new Promise(function(resolve,reject){self.Permission.request(function(){resolve(create_callback(title,options))},function(){reject("Permission request declined")})})}else{return new Promise(function(resolve,reject){resolve(create_callback(title,options))})}};self.close=function(tag){var i,notification;for(i=0;i<notifications.length;i++){notification=notifications[i];if(notification.tag===tag){close_notification(notification);notifications.splice(i,1);updateCount();return}}};self.clear=function(){var i;for(i=0;i<notifications.length;i++){close_notification(notifications[i])}notifications=[];updateCount()}};return Push});(function(root){var setTimeoutFunc=setTimeout;function noop(){}var asap=typeof setImmediate==="function"&&setImmediate||function(fn){setTimeoutFunc(fn,0)};var onUnhandledRejection=function onUnhandledRejection(err){if(typeof console!=="undefined"&&console){console.warn("Possible Unhandled Promise Rejection:",err)}};function bind(fn,thisArg){return function(){fn.apply(thisArg,arguments)}}function Promise(fn){if(typeof this!=="object")throw new TypeError("Promises must be constructed via new");if(typeof fn!=="function")throw new TypeError("not a function");this._state=0;this._handled=false;this._value=undefined;this._deferreds=[];doResolve(fn,this)}function handle(self,deferred){while(self._state===3){self=self._value}if(self._state===0){self._deferreds.push(deferred);return}self._handled=true;asap(function(){var cb=self._state===1?deferred.onFulfilled:deferred.onRejected;if(cb===null){(self._state===1?resolve:reject)(deferred.promise,self._value);return}var ret;try{ret=cb(self._value)}catch(e){reject(deferred.promise,e);return}resolve(deferred.promise,ret)})}function resolve(self,newValue){try{if(newValue===self)throw new TypeError("A promise cannot be resolved with itself.");if(newValue&&(typeof newValue==="object"||typeof newValue==="function")){var then=newValue.then;if(newValue instanceof Promise){self._state=3;self._value=newValue;finale(self);return}else if(typeof then==="function"){doResolve(bind(then,newValue),self);return}}self._state=1;self._value=newValue;finale(self)}catch(e){reject(self,e)}}function reject(self,newValue){self._state=2;self._value=newValue;finale(self)}function finale(self){if(self._state===2&&self._deferreds.length===0){asap(function(){if(!self._handled){onUnhandledRejection(self._value)}})}for(var i=0,len=self._deferreds.length;i<len;i++){handle(self,self._deferreds[i])}self._deferreds=null}function Handler(onFulfilled,onRejected,promise){this.onFulfilled=typeof onFulfilled==="function"?onFulfilled:null;this.onRejected=typeof onRejected==="function"?onRejected:null;this.promise=promise}function doResolve(fn,self){var done=false;try{fn(function(value){if(done)return;done=true;resolve(self,value)},function(reason){if(done)return;done=true;reject(self,reason)})}catch(ex){if(done)return;done=true;reject(self,ex)}}Promise.prototype["catch"]=function(onRejected){return this.then(null,onRejected)};Promise.prototype.then=function(onFulfilled,onRejected){var prom=new this.constructor(noop);handle(this,new Handler(onFulfilled,onRejected,prom));return prom};Promise.all=function(arr){var args=Array.prototype.slice.call(arr);return new Promise(function(resolve,reject){if(args.length===0)return resolve([]);var remaining=args.length;function res(i,val){try{if(val&&(typeof val==="object"||typeof val==="function")){var then=val.then;if(typeof then==="function"){then.call(val,function(val){res(i,val)},reject);return}}args[i]=val;if(--remaining===0){resolve(args)}}catch(ex){reject(ex)}}for(var i=0;i<args.length;i++){res(i,args[i])}})};Promise.resolve=function(value){if(value&&typeof value==="object"&&value.constructor===Promise){return value}return new Promise(function(resolve){resolve(value)})};Promise.reject=function(value){return new Promise(function(resolve,reject){reject(value)})};Promise.race=function(values){return new Promise(function(resolve,reject){for(var i=0,len=values.length;i<len;i++){values[i].then(resolve,reject)}})};Promise._setImmediateFn=function _setImmediateFn(fn){asap=fn};Promise._setUnhandledRejectionFn=function _setUnhandledRejectionFn(fn){onUnhandledRejection=fn};if(typeof module!=="undefined"&&module.exports){module.exports=Promise}else if(!root.Promise){root.Promise=Promise}})(this); |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
32076