Skip to content

Commit

Permalink
rxjs 6 compat, prettier, jest
Browse files Browse the repository at this point in the history
  • Loading branch information
tjmehta committed Mar 22, 2020
1 parent 9da61a5 commit 68a8c77
Show file tree
Hide file tree
Showing 7 changed files with 4,970 additions and 158 deletions.
5 changes: 5 additions & 0 deletions .prettierrc
@@ -0,0 +1,5 @@
{
"semi": false,
"tabs": 2,
"singleQuote": true
}
11 changes: 11 additions & 0 deletions index.d.ts
@@ -0,0 +1,11 @@
declare module 'static-observable' {
import { Observable } from 'rxjs'

export default class StaticObservable<ValueType> extends Observable<
ValueType
> {
next(val: ValueType): void
error(error: Error): void
complete(): void
}
}
26 changes: 11 additions & 15 deletions index.js
@@ -1,7 +1,3 @@
'use strict'

var util = require('util')

var Observable = require('rxjs/Observable').Observable
var Subscription = require('rxjs/Subscription').Subscription

Expand All @@ -10,12 +6,12 @@ module.exports = StaticObservable
/**
* @class StaticObservable
*/
function StaticObservable () {
function StaticObservable() {
Observable.call(this, subscribe)
var self = this
this._observer = null
this._observerCalls = []
function subscribe (observer) {
function subscribe(observer) {
self._observer = observer
while (self._observerCalls.length) {
var call = self._observerCalls.shift()
Expand All @@ -25,9 +21,6 @@ function StaticObservable () {
}
}

// inherit from observable
util.inherits(StaticObservable, Observable)

/**
* StaticObservable factories
*/
Expand All @@ -37,7 +30,7 @@ util.inherits(StaticObservable, Observable)
* @param {*} next observable next value
* @return {Observable} observable
*/
StaticObservable.next = function () {
StaticObservable.next = function() {
var observable = new StaticObservable()
return observable.next.apply(observable, arguments)
}
Expand All @@ -47,7 +40,7 @@ StaticObservable.next = function () {
* @param {Error} error observable error
* @return {Observable} observable
*/
StaticObservable.error = function () {
StaticObservable.error = function() {
var observable = new StaticObservable()
return observable.error.apply(observable, arguments)
}
Expand All @@ -56,11 +49,14 @@ StaticObservable.error = function () {
* returns an Observable that is immediately "completed"
* @return {Observable} observable
*/
StaticObservable.complete = function () {
StaticObservable.complete = function() {
var observable = new StaticObservable()
return observable.complete.apply(observable, arguments)
}

// inherit from observable
StaticObservable.prototype = Object.create(Observable.prototype)

/**
* Chainable instance methods
*/
Expand All @@ -71,8 +67,8 @@ StaticObservable.prototype.error = observerCall('error')

StaticObservable.prototype.complete = observerCall('complete')

function observerCall (method) {
return function () {
function observerCall(method) {
return function() {
var _observer = this._observer
if (_observer) {
_observer[method].apply(_observer, arguments)
Expand All @@ -84,4 +80,4 @@ function observerCall (method) {
}
return this
}
}
}
3 changes: 3 additions & 0 deletions jest.config.json
@@ -0,0 +1,3 @@
{
"resetMocks": true
}

0 comments on commit 68a8c77

Please sign in to comment.