Added module and threading support for the inline version.

This commit is contained in:
n1474335 2017-08-25 00:25:49 +01:00
parent a61cf6a68a
commit a4aee761c2
5 changed files with 100 additions and 20 deletions

View file

@ -46,6 +46,11 @@ self.addEventListener("message", function(e) {
case "silentBake":
silentBake(e.data.data);
break;
case "docURL":
// Used to set the URL of the current document so that scripts can be
// imported into an inline worker.
self.docURL = e.data.data;
break;
default:
break;
}
@ -107,7 +112,7 @@ function loadRequiredModules(recipeConfig) {
if (!OpModules.hasOwnProperty(module)) {
console.log("Loading module " + module);
self.importScripts(module + ".js");
self.importScripts(self.docURL + "/" + module + ".js");
}
});
}

View file

@ -1,7 +1,7 @@
import Dish from "./Dish.js";
import Ingredient from "./Ingredient.js";
import OperationConfig from "value-loader?name=conf!./config/OperationConfig.js";
import OpModules from "./config/modules/Default.js";
import OpModules from "./config/modules/OpModules.js";
/**

View file

@ -0,0 +1,37 @@
/**
* Imports all modules for builds which do not load modules separately.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2017
* @license Apache-2.0
*/
import OpModules from "./Default.js";
import CharEncModule from "./CharEnc.js";
import CipherModule from "./Ciphers.js";
import CodeModule from "./Code.js";
import CompressionModule from "./Compression.js";
import DiffModule from "./Diff.js";
import EncodingModule from "./Encodings.js";
import HashingModule from "./Hashing.js";
import HTTPModule from "./HTTP.js";
import ImageModule from "./Image.js";
import JSBNModule from "./JSBN.js";
import PublicKeyModule from "./PublicKey.js";
Object.assign(
OpModules,
CharEncModule,
CipherModule,
CodeModule,
CompressionModule,
DiffModule,
EncodingModule,
HashingModule,
HTTPModule,
ImageModule,
JSBNModule,
PublicKeyModule
);
export default OpModules;