UNPKG

ix

Version:

The Interactive Extensions for JavaScript

1 lines 2.8 kB
{"version":3,"sources":["observer.ts"],"names":[],"mappings":"AAmBA,kEAAkE;AAClE,oEAAoE;AACpE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,cAAc,CAAC","file":"observer.js","sourcesContent":["import { Subscription } from './subscription';\n\n// Older versions of Rx will polyfill Symbol.observable, which gets\n// compiled into our UMD bundle. At runtime, our UMD bundle defines its\n// version of Symbol.observable, and since it's not getting it from Rx via\n// `require()` anymore, Rx defines and looks for a different Symbol.observable,\n// instance, leading to mismatches.\n// Assigning the global Symbol.observable to the one we bundle in here means\n// that Rx's polyfill will pick it up. Alternatively if there's already a global\n// Symbol.observable (like if Rx was required first), we should use that one inside Ix.\n\n// Symbol.observable addition\n// Note: This will add Symbol.observable globally for all TypeScript users\ndeclare global {\n interface SymbolConstructor {\n readonly observable: symbol;\n }\n}\n\n// Symbol.observable or a string \"@@observable\". Used for interop.\n// Referenced via string indexer so closure-compiler doesn't mangle.\nexport const observable = (typeof Symbol === 'function' && Symbol.observable) || '@@observable';\n\nexport interface NextObserver<T> {\n next: (value: T) => any;\n error?: (err: any) => any;\n complete?: () => any;\n}\n\nexport interface ErrorObserver<T> {\n next?: (value: T) => any;\n error: (err: any) => any;\n complete?: () => any;\n}\n\nexport interface CompletionObserver<T> {\n next?: (value: T) => any;\n error?: (err: any) => any;\n complete: () => any;\n}\n\nexport type PartialObserver<T> = NextObserver<T> | ErrorObserver<T> | CompletionObserver<T>;\n\nexport interface NextAsyncObserver<T> {\n next: (value: T) => any | Promise<any>;\n error?: (err: any) => any | Promise<any>;\n complete?: () => any | Promise<any>;\n}\n\nexport interface ErrorAsyncObserver<T> {\n next?: (value: T) => any | Promise<any>;\n error: (err: any) => any | Promise<any>;\n complete?: () => any | Promise<any>;\n}\n\nexport interface CompletionAsyncObserver<T> {\n next?: (value: T) => any | Promise<any>;\n error?: (err: any) => any | Promise<any>;\n complete: () => any | Promise<any>;\n}\n\nexport type PartialAsyncObserver<T> =\n | NextAsyncObserver<T>\n | ErrorAsyncObserver<T>\n | CompletionAsyncObserver<T>;\n\nexport interface Observer<T> {\n closed?: boolean;\n next: (value: T) => void;\n error: (err: any) => void;\n complete: () => void;\n}\n\nexport interface Observable<T> {\n subscribe(observer?: PartialObserver<T>): Subscription;\n subscribe(\n next?: (value: T) => void,\n error?: (error: any) => void,\n complete?: () => void\n ): Subscription;\n}\n"]}