Socket
Socket
Sign inDemoInstall

service-worker-mock

Package Overview
Dependencies
Maintainers
1
Versions
30
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

service-worker-mock - npm Package Compare versions

Comparing version 2.0.4 to 2.0.5

41

models/FetchEvent.js

@@ -9,31 +9,18 @@ // Derived from https://github.com/GoogleChrome/workbox

class FetchEvent extends ExtendableEvent {
constructor(type, init = {}) {
super(type, init);
if (!init.request) {
throw new TypeError('Failed to construct \'FetchEvent\': ' +
'Missing required member(s): request.');
}
if (init.request instanceof Request) {
this.request = init.request;
} else if (typeof init.request === 'string') {
this.request = new Request(init.request);
}
this.clientId = init.clientId || null;
this.isReload = init.isReload || false;
this._respondWithEnteredFlag = false;
}
respondWith(promise) {
if (this._respondWithEnteredFlag) {
throw new DOMException('Failed to execute \'respondWith\' on ' +
'\'FetchEvent\': The event has already been responded to.');
}
this._respondWithEnteredFlag = true;
this._extendLifetimePromises.add(promise);
}
constructor(type, init) {
super();
this.type = type;
this.isReload = init.isReload || false;
this.clientId = init.clientId || null;
if (init.request instanceof Request) {
this.request = init.request;
} else if (typeof init.request === 'string') {
this.request = new Request(init.request);
}
}
respondWith(response) {
this.promise = response;
}
}
module.exports = FetchEvent;
{
"name": "service-worker-mock",
"version": "2.0.4",
"version": "2.0.5",
"main": "index.js",

@@ -5,0 +5,0 @@ "repository": {

@@ -8,32 +8,46 @@ const ExtendableEvent = require('../models/ExtendableEvent');

function createEvent(event, args) {
switch (event) {
case 'fetch':
return new FetchEvent('fetch', { request: args });
case 'notificationclick':
case 'notificationclose':
return new NotificationEvent('notification', { notification: args });
case 'push':
return new PushEvent(args);
case 'message':
return new MessageEvent('message', args);
default:
return new ExtendableEvent();
}
switch (event) {
case 'fetch':
return new FetchEvent('fetch', getFetchArguments(args));
case 'notificationclick':
return new NotificationEvent(args);
case 'push':
return new PushEvent(args);
case 'message':
return new MessageEvent('message', args);
default:
return new ExtendableEvent();
}
}
function getFetchArguments(args) {
let request = args,
clientId = null;
if (typeof args === "object" && args.request) {
clientId = args.clientId || null;
request = args.request;
}
return {
request,
clientId
};
}
function handleEvent(name, args, callback) {
const event = createEvent(name, args);
callback(event);
return Promise.all(Array.from(event._extendLifetimePromises.values()));
const event = createEvent(name, args);
callback(event);
return Promise.resolve(event.promise);
}
function eventHandler(name, args, listeners) {
if (listeners.length === 1) {
return handleEvent(name, args, listeners[0]);
}
return Promise.all(
listeners.map(callback => handleEvent(name, args, callback))
);
if (listeners.length === 1) {
return handleEvent(name, args, listeners[0]);
}
return Promise.all(
listeners.map(callback => handleEvent(name, args, callback))
);
}
module.exports = eventHandler;
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc