UNPKG

4.29 kBSource Map (JSON)View Raw
1{"version":3,"sources":["asynciterable/toobservable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAI7D,MAAM,IAAI,GAAG,CAAC,CAAO,EAAE,EAAE;IACvB,IAAI;AACN,CAAC,CAAC;AAEF,SAAS,UAAU,CACjB,IAAuD,EACvD,KAAmC,EACnC,QAA8B;IAE9B,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QACpC,MAAM,QAAQ,GAAQ,IAAI,CAAC;QAC3B,OAAO;YACL,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC5C,KAAK,EAAE,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC9C,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;SACrD,CAAC;KACH;SAAM;QACL,OAAO;YACL,IAAI,EAAE,OAAO,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;YAC9C,KAAK,EAAE,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;YACjD,QAAQ,EAAE,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;SAC3D,CAAC;KACH;AACH,CAAC;AAED,MAAM,mBAAmB;IAAzB;QACS,mBAAc,GAAY,KAAK,CAAC;IAKzC,CAAC;IAHC,WAAW;QACT,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,uBAAuB;IAG3B,YAAY,MAA8B;QACxC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED,CAAC,gBAAgB,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,SAAS,CACP,IAAmE,EACnE,KAAmC,EACnC,QAA8B;QAE9B,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QACnD,MAAM,YAAY,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAE/C,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;QAChD,MAAM,CAAC,GAAG,GAAG,EAAE;YACb,EAAE,CAAC,IAAI,EAAE;iBACN,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;gBACxB,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE;oBAChC,IAAI,IAAI,EAAE;wBACR,QAAQ,CAAC,QAAQ,EAAE,CAAC;qBACrB;yBAAM;wBACL,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACrB,CAAC,EAAE,CAAC;qBACL;iBACF;YACH,CAAC,CAAC;iBACD,KAAK,CAAC,GAAG,CAAC,EAAE;gBACX,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE;oBAChC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBACrB;YACH,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QACF,CAAC,EAAE,CAAC;QAEJ,OAAO,YAAY,CAAC;IACtB,CAAC;CACF;AAED,MAAM,UAAU,YAAY,CAAU,MAA8B;IAClE,OAAO,IAAI,uBAAuB,CAAU,MAAM,CAAC,CAAC;AACtD,CAAC","file":"toobservable.js","sourcesContent":["import { observable as symbolObservable } from '../observer';\nimport { Observable, Observer, PartialObserver } from '../observer';\nimport { Subscription } from '../subscription';\n\nconst noop = (_?: any) => {\n /**/\n};\n\nfunction toObserver<T>(\n next?: PartialObserver<T> | ((value: T) => void) | null,\n error?: ((err: any) => void) | null,\n complete?: (() => void) | null\n): Observer<T> {\n if (next && typeof next === 'object') {\n const observer = <any>next;\n return {\n next: (observer.next || noop).bind(observer),\n error: (observer.error || noop).bind(observer),\n complete: (observer.complete || noop).bind(observer)\n };\n } else {\n return {\n next: typeof next === 'function' ? next : noop,\n error: typeof error === 'function' ? error : noop,\n complete: typeof complete === 'function' ? complete : noop\n };\n }\n}\n\nclass BooleanSubscription implements Subscription {\n public isUnsubscribed: boolean = false;\n\n unsubscribe() {\n this.isUnsubscribed = true;\n }\n}\n\nclass AsyncIterableObservable<TSource> implements Observable<TSource> {\n private _source: AsyncIterable<TSource>;\n\n constructor(source: AsyncIterable<TSource>) {\n this._source = source;\n }\n\n [symbolObservable](): Observable<TSource> {\n return this;\n }\n subscribe(\n next?: PartialObserver<TSource> | ((value: TSource) => void) | null,\n error?: ((err: any) => void) | null,\n complete?: (() => void) | null\n ) {\n const observer = toObserver(next, error, complete);\n const subscription = new BooleanSubscription();\n\n const it = this._source[Symbol.asyncIterator]();\n const f = () => {\n it.next()\n .then(({ value, done }) => {\n if (!subscription.isUnsubscribed) {\n if (done) {\n observer.complete();\n } else {\n observer.next(value);\n f();\n }\n }\n })\n .catch(err => {\n if (!subscription.isUnsubscribed) {\n observer.error(err);\n }\n });\n };\n f();\n\n return subscription;\n }\n}\n\nexport function toObservable<TSource>(source: AsyncIterable<TSource>): Observable<TSource> {\n return new AsyncIterableObservable<TSource>(source);\n}\n"]}
\No newline at end of file