angular2
Version:
Angular 2 - a web framework for modern web apps
36 lines • 5.08 kB
JavaScript
import { PostMessageBus, PostMessageBusSink, PostMessageBusSource } from 'angular2/src/web_workers/shared/post_message_bus';
import { bootstrapUICommon } from 'angular2/src/web_workers/ui/impl';
export { WebWorkerApplication } from 'angular2/src/web_workers/ui/impl';
export * from 'angular2/src/web_workers/shared/message_bus';
/**
* Bootstrapping a WebWorker
*
* You instantiate a WebWorker application by calling bootstrap with the URI of your worker's index
* script
* Note: The WebWorker script must call bootstrapWebworker once it is set up to complete the
* bootstrapping process
*/
export function bootstrap(uri) {
var instance = spawnWebWorker(uri);
instance.app = bootstrapUICommon(instance.bus);
return instance;
}
export function spawnWebWorker(uri) {
var webWorker = new Worker(uri);
var sink = new PostMessageBusSink(webWorker);
var source = new PostMessageBusSource(webWorker);
var bus = new PostMessageBus(sink, source);
return new WebWorkerInstance(null, webWorker, bus);
}
/**
* Wrapper class that exposes the {@link WebWorkerApplication}
* Isolate instance and underlying {@link MessageBus} for lower level message passing.
*/
export class WebWorkerInstance {
constructor(app, worker, bus) {
this.app = app;
this.worker = worker;
this.bus = bus;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhbmd1bGFyMi9zcmMvd2ViX3dvcmtlcnMvdWkvYXBwbGljYXRpb24udHMiXSwibmFtZXMiOlsiYm9vdHN0cmFwIiwic3Bhd25XZWJXb3JrZXIiLCJXZWJXb3JrZXJJbnN0YW5jZSIsIldlYldvcmtlckluc3RhbmNlLmNvbnN0cnVjdG9yIl0sIm1hcHBpbmdzIjoiT0FBTyxFQUNMLGNBQWMsRUFDZCxrQkFBa0IsRUFDbEIsb0JBQW9CLEVBQ3JCLE1BQU0sa0RBQWtEO09BR2xELEVBQUMsaUJBQWlCLEVBQXVCLE1BQU0sa0NBQWtDO0FBQ3hGLFNBQVEsb0JBQW9CLFFBQU8sa0NBQWtDLENBQUM7QUFDdEUsY0FBYyw2Q0FBNkMsQ0FBQztBQUU1RDs7Ozs7OztHQU9HO0FBQ0gsMEJBQTBCLEdBQVc7SUFDbkNBLElBQUlBLFFBQVFBLEdBQUdBLGNBQWNBLENBQUNBLEdBQUdBLENBQUNBLENBQUNBO0lBQ25DQSxRQUFRQSxDQUFDQSxHQUFHQSxHQUFHQSxpQkFBaUJBLENBQUNBLFFBQVFBLENBQUNBLEdBQUdBLENBQUNBLENBQUNBO0lBQy9DQSxNQUFNQSxDQUFDQSxRQUFRQSxDQUFDQTtBQUNsQkEsQ0FBQ0E7QUFFRCwrQkFBK0IsR0FBVztJQUN4Q0MsSUFBSUEsU0FBU0EsR0FBV0EsSUFBSUEsTUFBTUEsQ0FBQ0EsR0FBR0EsQ0FBQ0EsQ0FBQ0E7SUFDeENBLElBQUlBLElBQUlBLEdBQUdBLElBQUlBLGtCQUFrQkEsQ0FBQ0EsU0FBU0EsQ0FBQ0EsQ0FBQ0E7SUFDN0NBLElBQUlBLE1BQU1BLEdBQUdBLElBQUlBLG9CQUFvQkEsQ0FBQ0EsU0FBU0EsQ0FBQ0EsQ0FBQ0E7SUFDakRBLElBQUlBLEdBQUdBLEdBQUdBLElBQUlBLGNBQWNBLENBQUNBLElBQUlBLEVBQUVBLE1BQU1BLENBQUNBLENBQUNBO0lBQzNDQSxNQUFNQSxDQUFDQSxJQUFJQSxpQkFBaUJBLENBQUNBLElBQUlBLEVBQUVBLFNBQVNBLEVBQUVBLEdBQUdBLENBQUNBLENBQUNBO0FBQ3JEQSxDQUFDQTtBQUVEOzs7R0FHRztBQUNIO0lBQ0VDLFlBQW1CQSxHQUF5QkEsRUFBU0EsTUFBY0EsRUFBU0EsR0FBZUE7UUFBeEVDLFFBQUdBLEdBQUhBLEdBQUdBLENBQXNCQTtRQUFTQSxXQUFNQSxHQUFOQSxNQUFNQSxDQUFRQTtRQUFTQSxRQUFHQSxHQUFIQSxHQUFHQSxDQUFZQTtJQUFHQSxDQUFDQTtBQUNqR0QsQ0FBQ0E7QUFBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIFBvc3RNZXNzYWdlQnVzLFxuICBQb3N0TWVzc2FnZUJ1c1NpbmssXG4gIFBvc3RNZXNzYWdlQnVzU291cmNlXG59IGZyb20gJ2FuZ3VsYXIyL3NyYy93ZWJfd29ya2Vycy9zaGFyZWQvcG9zdF9tZXNzYWdlX2J1cyc7XG5pbXBvcnQge01lc3NhZ2VCdXN9IGZyb20gJ2FuZ3VsYXIyL3NyYy93ZWJfd29ya2Vycy9zaGFyZWQvbWVzc2FnZV9idXMnO1xuaW1wb3J0IHtCYXNlRXhjZXB0aW9uLCBXcmFwcGVkRXhjZXB0aW9ufSBmcm9tICdhbmd1bGFyMi9zcmMvZmFjYWRlL2V4Y2VwdGlvbnMnO1xuaW1wb3J0IHtib290c3RyYXBVSUNvbW1vbiwgV2ViV29ya2VyQXBwbGljYXRpb259IGZyb20gJ2FuZ3VsYXIyL3NyYy93ZWJfd29ya2Vycy91aS9pbXBsJztcbmV4cG9ydCB7V2ViV29ya2VyQXBwbGljYXRpb259IGZyb20gJ2FuZ3VsYXIyL3NyYy93ZWJfd29ya2Vycy91aS9pbXBsJztcbmV4cG9ydCAqIGZyb20gJ2FuZ3VsYXIyL3NyYy93ZWJfd29ya2Vycy9zaGFyZWQvbWVzc2FnZV9idXMnO1xuXG4vKipcbiAqIEJvb3RzdHJhcHBpbmcgYSBXZWJXb3JrZXJcbiAqXG4gKiBZb3UgaW5zdGFudGlhdGUgYSBXZWJXb3JrZXIgYXBwbGljYXRpb24gYnkgY2FsbGluZyBib290c3RyYXAgd2l0aCB0aGUgVVJJIG9mIHlvdXIgd29ya2VyJ3MgaW5kZXhcbiAqIHNjcmlwdFxuICogTm90ZTogVGhlIFdlYldvcmtlciBzY3JpcHQgbXVzdCBjYWxsIGJvb3RzdHJhcFdlYndvcmtlciBvbmNlIGl0IGlzIHNldCB1cCB0byBjb21wbGV0ZSB0aGVcbiAqIGJvb3RzdHJhcHBpbmcgcHJvY2Vzc1xuICovXG5leHBvcnQgZnVuY3Rpb24gYm9vdHN0cmFwKHVyaTogc3RyaW5nKTogV2ViV29ya2VySW5zdGFuY2Uge1xuICB2YXIgaW5zdGFuY2UgPSBzcGF3bldlYldvcmtlcih1cmkpO1xuICBpbnN0YW5jZS5hcHAgPSBib290c3RyYXBVSUNvbW1vbihpbnN0YW5jZS5idXMpO1xuICByZXR1cm4gaW5zdGFuY2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzcGF3bldlYldvcmtlcih1cmk6IHN0cmluZyk6IFdlYldvcmtlckluc3RhbmNlIHtcbiAgdmFyIHdlYldvcmtlcjogV29ya2VyID0gbmV3IFdvcmtlcih1cmkpO1xuICB2YXIgc2luayA9IG5ldyBQb3N0TWVzc2FnZUJ1c1Npbmsod2ViV29ya2VyKTtcbiAgdmFyIHNvdXJjZSA9IG5ldyBQb3N0TWVzc2FnZUJ1c1NvdXJjZSh3ZWJXb3JrZXIpO1xuICB2YXIgYnVzID0gbmV3IFBvc3RNZXNzYWdlQnVzKHNpbmssIHNvdXJjZSk7XG4gIHJldHVybiBuZXcgV2ViV29ya2VySW5zdGFuY2UobnVsbCwgd2ViV29ya2VyLCBidXMpO1xufVxuXG4vKipcbiAqIFdyYXBwZXIgY2xhc3MgdGhhdCBleHBvc2VzIHRoZSB7QGxpbmsgV2ViV29ya2VyQXBwbGljYXRpb259XG4gKiBJc29sYXRlIGluc3RhbmNlIGFuZCB1bmRlcmx5aW5nIHtAbGluayBNZXNzYWdlQnVzfSBmb3IgbG93ZXIgbGV2ZWwgbWVzc2FnZSBwYXNzaW5nLlxuICovXG5leHBvcnQgY2xhc3MgV2ViV29ya2VySW5zdGFuY2Uge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgYXBwOiBXZWJXb3JrZXJBcHBsaWNhdGlvbiwgcHVibGljIHdvcmtlcjogV29ya2VyLCBwdWJsaWMgYnVzOiBNZXNzYWdlQnVzKSB7fVxufVxuIl19