UNPKG

rxjs

Version:

Reactive Extensions for modern JavaScript

47 lines (45 loc) 1.36 kB
import { WebSocketSubject, WebSocketSubjectConfig } from './WebSocketSubject'; /** * Wrapper around the w3c-compatible WebSocket object provided by the browser. * * ## Examples * ### Wrapping browser WebSocket * ```javascript * import { webSocket } from 'rxjs/webSocket'; * * let socket$ = webSocket('ws://localhost:8081'); * * socket$.subscribe( * (msg) => console.log('message received: ' + msg), * (err) => console.log(err), * () => console.log('complete') * ); * * socket$.next(JSON.stringify({ op: 'hello' })); * ``` * * ### Wraps nodejs-webSocket</caption> * ```javascript * import { webSocket } from 'rxjs/webSocket'; * import { w3cwebSocket } from 'webSocket'; * * let socket$ = webSocket({ * url: 'ws://localhost:8081', * WebSocketCtor: w3cwebSocket * }); * * socket$.subscribe( * (msg) => console.log('message received: ' + msg), * (err) => console.log(err), * () => console.log('complete') * ); * * socket$.next(JSON.stringify({ op: 'hello' })); * ``` * * @param {string | WebSocketSubjectConfig} urlConfigOrSource the source of the webSocket as an url or a structure defining the webSocket object * @return {WebSocketSubject} */ export function webSocket<T>(urlConfigOrSource: string | WebSocketSubjectConfig<T>): WebSocketSubject<T> { return new WebSocketSubject<T>(urlConfigOrSource); }