UNPKG

@fsms/angular-pubsub

Version:

Angular 11.x implementation of the [publish subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) Pattern.

22 lines 2.79 kB
import { Inject, NgModule } from '@angular/core'; import { PubsubService } from './pubsub.service'; import { subscribePubsubs } from './pubsub-resolver'; import { PubsubSources } from './pubsub-sources'; import { ROOT_PUBSUBS } from './tokens'; export const ROOT_PUBSUB_INIT = '@fsms/pubsub/init'; export class PubsubRootModule { constructor(pubsubService, sources, rootPubsubs) { sources.addPubsubs(rootPubsubs); subscribePubsubs(sources.getAllPubsubInstances(), pubsubService); pubsubService.publish({ messageType: ROOT_PUBSUB_INIT }); } } PubsubRootModule.decorators = [ { type: NgModule, args: [{},] } ]; PubsubRootModule.ctorParameters = () => [ { type: PubsubService }, { type: PubsubSources }, { type: Array, decorators: [{ type: Inject, args: [ROOT_PUBSUBS,] }] } ]; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVic3ViLXJvb3QtbW9kdWxlLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3ZzdHMvd29yay8xL3MvcHJvamVjdHMvZnNtcy1hbmd1bGFyLXB1YnN1Yi9zcmMvIiwic291cmNlcyI6WyJsaWIvcHVic3ViLXJvb3QtbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV4QyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxtQkFBbUIsQ0FBQztBQUdwRCxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLFlBQ0UsYUFBNEIsRUFDNUIsT0FBc0IsRUFDQSxXQUFrQjtRQUV4QyxPQUFPLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2hDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ2pFLGFBQWEsQ0FBQyxPQUFPLENBQUMsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO0lBQzNELENBQUM7OztZQVZGLFFBQVEsU0FBQyxFQUFFOzs7WUFQSCxhQUFhO1lBRWIsYUFBYTt3Q0FVakIsTUFBTSxTQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQdWJzdWJTZXJ2aWNlIH0gZnJvbSAnLi9wdWJzdWIuc2VydmljZSc7XG5pbXBvcnQgeyBzdWJzY3JpYmVQdWJzdWJzIH0gZnJvbSAnLi9wdWJzdWItcmVzb2x2ZXInO1xuaW1wb3J0IHsgUHVic3ViU291cmNlcyB9IGZyb20gJy4vcHVic3ViLXNvdXJjZXMnO1xuaW1wb3J0IHsgUk9PVF9QVUJTVUJTIH0gZnJvbSAnLi90b2tlbnMnO1xuXG5leHBvcnQgY29uc3QgUk9PVF9QVUJTVUJfSU5JVCA9ICdAZnNtcy9wdWJzdWIvaW5pdCc7XG5cbkBOZ01vZHVsZSh7fSlcbmV4cG9ydCBjbGFzcyBQdWJzdWJSb290TW9kdWxlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVic3ViU2VydmljZTogUHVic3ViU2VydmljZSxcbiAgICBzb3VyY2VzOiBQdWJzdWJTb3VyY2VzLFxuICAgIEBJbmplY3QoUk9PVF9QVUJTVUJTKSByb290UHVic3ViczogYW55W11cbiAgKSB7XG4gICAgc291cmNlcy5hZGRQdWJzdWJzKHJvb3RQdWJzdWJzKTtcbiAgICBzdWJzY3JpYmVQdWJzdWJzKHNvdXJjZXMuZ2V0QWxsUHVic3ViSW5zdGFuY2VzKCksIHB1YnN1YlNlcnZpY2UpO1xuICAgIHB1YnN1YlNlcnZpY2UucHVibGlzaCh7IG1lc3NhZ2VUeXBlOiBST09UX1BVQlNVQl9JTklUIH0pO1xuICB9XG59XG4iXX0=