UNPKG

@dodona/papyros

Version:

Scratchpad for multiple programming languages in the browser.

37 lines 1.81 kB
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; /** * Default service worker to process user input using HTTP requests */ // Import service worker provided by the Papyros-package import { InputWorker } from "./InputWorker"; // Strip away the filename of the script to obtain the scope // let domain = location.href; // domain = domain.slice(0, domain.lastIndexOf("/") + 1); const domain = ""; // Disable SharedArrayBuffers to use same environment as Dodona const inputHandler = new InputWorker(domain); addEventListener("fetch", function (event) { return __awaiter(this, void 0, void 0, function* () { if (!(yield inputHandler.handleInputRequest(event))) { // Not a Papyros-specific request // Fetch as we would handle a normal request // Default action is to let browser handle it by not responding here return; } }); }); // Prevent needing to reload page to have working input addEventListener("install", function (event) { event.waitUntil(skipWaiting()); }); addEventListener("activate", function (event) { event.waitUntil(clients.claim()); }); //# sourceMappingURL=InputServiceWorker.js.map