UNPKG

696 BPlain TextView Raw
1import {Stream} from 'xstream';
2
3declare var window: any;
4
5function getGlobal(): any {
6 let globalObj: any;
7 if (typeof window !== 'undefined') {
8 globalObj = window;
9 } else if (typeof global !== 'undefined') {
10 globalObj = global;
11 } else {
12 globalObj = this;
13 }
14 globalObj.Cyclejs = globalObj.Cyclejs || {};
15 globalObj = globalObj.Cyclejs;
16 globalObj.adaptStream = globalObj.adaptStream || ((x => x) as AdaptStream);
17 return globalObj;
18}
19
20export interface AdaptStream {
21 (s: Stream<any>): any;
22}
23
24export function setAdapt(f: AdaptStream): void {
25 getGlobal().adaptStream = f;
26}
27
28export function adapt(stream: Stream<any>): any {
29 return getGlobal().adaptStream(stream);
30}