Mercurial > hg > ugly-duckling
view src/worker-require.ts @ 509:041468f553e1 tip master
Merge pull request #57 from LucasThompson/fix/session-stack-max-call-stack
Fix accidental recursion in PersistentStack
author | Lucas Thompson <LucasThompson@users.noreply.github.com> |
---|---|
date | Mon, 27 Nov 2017 11:04:30 +0000 |
parents | 53ea6406d601 |
children |
line wrap: on
line source
/** * Created by lucas on 01/12/2016. */ /* This is a really ad-hoc and crappy way of re-exporting modules, * whilst trying to reduce global namespace pollution * The main use case is providing access to npm modules inside a worker via importScripts * over using some compiled version (a la *.min.js, *.umd.js etc) * a better solution would be a custom webpack bundle, * but the current build system in angular-cli doesn't provide a way for custom webpack bundles * ....unless I am missing something * * this does, however, mean that modules will be loaded twice.. * once by index.html and once by the worker.. * one could potentially run a custom post build script * to remove the script tag in index.html generated by angular-cli for scripts.bundle * .. or find another way of doing this entirely.... */ import extractionWorker from './app/services/feature-extraction/FeatureExtractionWorker'; const modules = { 'feature-extraction-worker': extractionWorker }; if (typeof (self as any).importScripts === 'function' /* in a worker */) { self['require'] = (moduleName) => { if (modules.hasOwnProperty(moduleName)) { return modules[moduleName]; } else { throw new Error(`Cannot find module '${moduleName}'`); } }; }