chore(core): update imports and operators

This commit is contained in:
Jacob Nguyen
2023-05-02 10:27:53 -05:00
parent a17be67b48
commit 52b186cc44
2 changed files with 15 additions and 3 deletions

View File

@@ -1,3 +1,7 @@
import SernEmitter from './sernEmitter'
export * from './operators'
import SernEmitter from './sernEmitter';
export * from './operators';
export * from './dependencies';
export { SernEmitter };
export * from './contracts';
export * from './platform';
export * from './plugins';

View File

@@ -4,12 +4,13 @@
* and independent of each other
*/
import { concatMap, defaultIfEmpty, EMPTY, every, map, of, OperatorFunction, pipe } from 'rxjs';
import { concatMap, defaultIfEmpty, EMPTY, every, fromEvent, map, Observable, of, OperatorFunction, pipe, share } from 'rxjs';
import type { AnyModule } from '../types/module';
import { nameOrFilename } from './utilities/functions';
import type { PluginResult, VoidResult } from '../types/plugin';
import { Result } from 'ts-results-es';
import { ImportPayload } from '../types/handler';
import { EventEmitter } from 'node:events';
/**
* if {src} is true, mapTo V, else ignore
* @param item
@@ -73,3 +74,10 @@ export const everyPluginOk: OperatorFunction<VoidResult, boolean> = pipe(
every(result => result.ok),
defaultIfEmpty(true),
);
export const sharedObservable = <T>(e: EventEmitter, eventName: string) => {
return (fromEvent(e, eventName) as Observable<T>).pipe(share())
};