Mercurial > hg > ugly-duckling
view src/worker-require.ts @ 394:f45a916eb5b1
Use the cross hair layer for notes, tracks and curve. This involved bodging in unit to ShapedFeatureData, which isn't particularly easy to do because this isn't an encapsulated type. Need to come back to improving this, as I am monkey-patching a unit property onto Arrays etc.
author | Lucas Thompson <dev@lucas.im> |
---|---|
date | Thu, 01 Jun 2017 18:55:55 +0100 |
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}'`); } }; }