Skip to content

Commit

Permalink
docs(reference): hide irrelevant Observable subclasses
Browse files Browse the repository at this point in the history
Transient Observables like ErrorObservable are made hidden by this commit. This cleans up the
documentation in Observable listing all its subclasses. Transient Observable subclasses are
irrelevant in the documentation since they cannot be directly used by the API.
  • Loading branch information
staltz authored and kwonoj committed Mar 18, 2016
1 parent 91d019c commit d9855e2
Show file tree
Hide file tree
Showing 33 changed files with 199 additions and 63 deletions.
8 changes: 8 additions & 0 deletions src/Subject.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ import {$$rxSubscriber} from './symbol/rxSubscriber';
import {throwError} from './util/throwError';
import {ObjectUnsubscribedError} from './util/ObjectUnsubscribedError';

/**
* @class Subject<T>
*/
export class Subject<T> extends Observable<T> implements Observer<T>, Subscription {

static create: Function = <T>(destination: Observer<T>, source: Observable<T>): Subject<T> => {
Expand Down Expand Up @@ -221,6 +224,11 @@ export class Subject<T> extends Observable<T> implements Observer<T>, Subscripti
}
}

/**
* We need this JSDoc comment for affecting ESDoc.
* @ignore
* @extends {Ignored}
*/
class SubjectObservable<T> extends Observable<T> {
constructor(source: Subject<T>) {
super();
Expand Down
5 changes: 5 additions & 0 deletions src/observable/ArrayLikeObservable.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,11 @@ import {EmptyObservable} from './EmptyObservable';
import {Subscriber} from '../Subscriber';
import {Subscription} from '../Subscription';

/**
* We need this JSDoc comment for affecting ESDoc.
* @extends {Ignored}
* @hide true
*/
export class ArrayLikeObservable<T> extends Observable<T> {

private mapFn: (x: T, y: number) => T;
Expand Down
8 changes: 5 additions & 3 deletions src/observable/ArrayObservable.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,21 @@ import {isScheduler} from '../util/isScheduler';
import {Subscription} from '../Subscription';

/**
*
* We need this JSDoc comment for affecting ESDoc.
* @extends {Ignored}
* @hide true
*/
export class ArrayObservable<T> extends Observable<T> {

/**
* @param array
* @param scheduler
* @return {ArrayObservable}
* @return {Observable}
* @static true
* @name fromArray
* @owner Observable
*/
static create<T>(array: T[], scheduler?: Scheduler) {
static create<T>(array: T[], scheduler?: Scheduler): Observable<T> {
return new ArrayObservable(array, scheduler);
}

Expand Down
4 changes: 3 additions & 1 deletion src/observable/BoundCallbackObservable.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@ import {errorObject} from '../util/errorObject';
import {AsyncSubject} from '../subject/AsyncSubject';

/**
*
* We need this JSDoc comment for affecting ESDoc.
* @extends {Ignored}
* @hide true
*/
export class BoundCallbackObservable<T> extends Observable<T> {
subject: AsyncSubject<T>;
Expand Down
4 changes: 3 additions & 1 deletion src/observable/BoundNodeCallbackObservable.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@ import {errorObject} from '../util/errorObject';
import {AsyncSubject} from '../subject/AsyncSubject';

/**
*
* We need this JSDoc comment for affecting ESDoc.
* @extends {Ignored}
* @hide true
*/
export class BoundNodeCallbackObservable<T> extends Observable<T> {
subject: AsyncSubject<T>;
Expand Down
8 changes: 8 additions & 0 deletions src/observable/ConnectableObservable.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ import {Observable} from '../Observable';
import {Subscriber} from '../Subscriber';
import {Subscription} from '../Subscription';

/**
* @class ConnectableObservable<T>
*/
export class ConnectableObservable<T> extends Observable<T> {

protected subject: Subject<T>;
Expand Down Expand Up @@ -62,6 +65,11 @@ class ConnectableSubscription extends Subscription {
}
}

/**
* We need this JSDoc comment for affecting ESDoc.
* @ignore
* @extends {Ignored}
*/
class RefCountObservable<T> extends Observable<T> {
connection: Subscription;

Expand Down
4 changes: 3 additions & 1 deletion src/observable/DeferObservable.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ import {tryCatch} from '../util/tryCatch';
import {errorObject} from '../util/errorObject';

/**
*
* We need this JSDoc comment for affecting ESDoc.
* @extends {Ignored}
* @hide true
*/
export class DeferObservable<T> extends Observable<T> {

Expand Down
6 changes: 4 additions & 2 deletions src/observable/EmptyObservable.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,15 @@ import {Observable} from '../Observable';
import {Subscription} from '../Subscription';

/**
*
* We need this JSDoc comment for affecting ESDoc.
* @extends {Ignored}
* @hide true
*/
export class EmptyObservable<T> extends Observable<T> {

/**
* @param scheduler
* @return {EmptyObservable<T>}
* @return {Observable<T>}
* @static true
* @name empty
* @owner Observable
Expand Down
4 changes: 3 additions & 1 deletion src/observable/ErrorObservable.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@ import {Observable} from '../Observable';
import {Subscription} from '../Subscription';

/**
*
* We need this JSDoc comment for affecting ESDoc.
* @extends {Ignored}
* @hide true
*/
export class ErrorObservable extends Observable<any> {

Expand Down
4 changes: 3 additions & 1 deletion src/observable/ForkJoinObservable.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@ import {isPromise} from '../util/isPromise';
import {isArray} from '../util/isArray';

/**
*
* We need this JSDoc comment for affecting ESDoc.
* @extends {Ignored}
* @hide true
*/
export class ForkJoinObservable<T> extends Observable<T> {
constructor(private sources: Array<Observable<any> | Promise<any>>,
Expand Down
4 changes: 3 additions & 1 deletion src/observable/FromEventObservable.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,9 @@ function isEventTarget(sourceObj: any): sourceObj is EventTarget {
export type EventTargetLike = EventTarget | NodeStyleEventEmmitter | JQueryStyleEventEmitter | NodeList | HTMLCollection;

/**
*
* We need this JSDoc comment for affecting ESDoc.
* @extends {Ignored}
* @hide true
*/
export class FromEventObservable<T, R> extends Observable<T> {

Expand Down
4 changes: 3 additions & 1 deletion src/observable/FromEventPatternObservable.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@ import {errorObject} from '../util/errorObject';
import {Subscriber} from '../Subscriber';

/**
*
* We need this JSDoc comment for affecting ESDoc.
* @extends {Ignored}
* @hide true
*/
export class FromEventPatternObservable<T, R> extends Observable<T> {

Expand Down
4 changes: 3 additions & 1 deletion src/observable/FromObservable.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,9 @@ import {ObserveOnSubscriber} from '../operator/observeOn';
const isArrayLike = (<T>(x: any): x is ArrayLike<T> => x && typeof x.length === 'number');

/**
*
* We need this JSDoc comment for affecting ESDoc.
* @extends {Ignored}
* @hide true
*/
export class FromObservable<T> extends Observable<T> {
constructor(private ish: ObservableInput<T>, private scheduler: Scheduler) {
Expand Down
5 changes: 5 additions & 0 deletions src/observable/IfObservable.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@ import {Observable} from '../Observable';
import {Subscriber} from '../Subscriber';
import {Subscription} from '../Subscription';

/**
* We need this JSDoc comment for affecting ESDoc.
* @extends {Ignored}
* @hide true
*/
export class IfObservable<T, R> extends Observable<T> {

static create<T, R>(condition: () => boolean,
Expand Down
4 changes: 3 additions & 1 deletion src/observable/IntervalObservable.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@ import {Observable} from '../Observable';
import {async} from '../scheduler/async';

/**
*
* We need this JSDoc comment for affecting ESDoc.
* @extends {Ignored}
* @hide true
*/
export class IntervalObservable extends Observable<number> {
/**
Expand Down
5 changes: 5 additions & 0 deletions src/observable/IteratorObservable.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,11 @@ import {errorObject} from '../util/errorObject';
import {Subscription} from '../Subscription';
import {Subscriber} from '../Subscriber';

/**
* We need this JSDoc comment for affecting ESDoc.
* @extends {Ignored}
* @hide true
*/
export class IteratorObservable<T> extends Observable<T> {
private iterator: any;

Expand Down
4 changes: 3 additions & 1 deletion src/observable/NeverObservable.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@ import {Subscriber} from '../Subscriber';
import {noop} from '../util/noop';

/**
*
* We need this JSDoc comment for affecting ESDoc.
* @extends {Ignored}
* @hide true
*/
export class NeverObservable<T> extends Observable<T> {
/**
Expand Down
4 changes: 3 additions & 1 deletion src/observable/PromiseObservable.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@ import {Subscriber} from '../Subscriber';
import {Subscription} from '../Subscription';

/**
*
* We need this JSDoc comment for affecting ESDoc.
* @extends {Ignored}
* @hide true
*/
export class PromiseObservable<T> extends Observable<T> {

Expand Down
4 changes: 3 additions & 1 deletion src/observable/RangeObservable.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ import {Subscription} from '../Subscription';
import {Subscriber} from '../Subscriber';

/**
*
* We need this JSDoc comment for affecting ESDoc.
* @extends {Ignored}
* @hide true
*/
export class RangeObservable extends Observable<number> {

Expand Down
5 changes: 5 additions & 0 deletions src/observable/ScalarObservable.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,11 @@ import {Observable} from '../Observable';
import {Subscriber} from '../Subscriber';
import {Subscription} from '../Subscription';

/**
* We need this JSDoc comment for affecting ESDoc.
* @extends {Ignored}
* @hide true
*/
export class ScalarObservable<T> extends Observable<T> {
static create<T>(value: T, scheduler?: Scheduler): ScalarObservable<T> {
return new ScalarObservable(value, scheduler);
Expand Down
5 changes: 5 additions & 0 deletions src/observable/SubscribeOnObservable.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,11 @@ import {Observable} from '../Observable';
import {asap} from '../scheduler/asap';
import {isNumeric} from '../util/isNumeric';

/**
* We need this JSDoc comment for affecting ESDoc.
* @extends {Ignored}
* @hide true
*/
export class SubscribeOnObservable<T> extends Observable<T> {
static create<T>(source: Observable<T>, delay: number = 0, scheduler: Scheduler = asap): Observable<T> {
return new SubscribeOnObservable(source, delay, scheduler);
Expand Down
4 changes: 3 additions & 1 deletion src/observable/TimerObservable.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,9 @@ import {Subscription} from '../Subscription';
import {Subscriber} from '../Subscriber';

/**
*
* We need this JSDoc comment for affecting ESDoc.
* @extends {Ignored}
* @hide true
*/
export class TimerObservable extends Observable<number> {

Expand Down
5 changes: 5 additions & 0 deletions src/observable/UsingObservable.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@ import {Observable} from '../Observable';
import {Subscriber} from '../Subscriber';
import {Subscription} from '../Subscription';

/**
* We need this JSDoc comment for affecting ESDoc.
* @extends {Ignored}
* @hide true
*/
export class UsingObservable<T> extends Observable<T> {

static create<T>(resourceFactory: () => Subscription,
Expand Down
33 changes: 23 additions & 10 deletions src/observable/dom/AjaxObservable.ts
Original file line number Diff line number Diff line change
Expand Up @@ -71,28 +71,41 @@ export function ajaxGetJSON<T, R>(url: string, resultSelector?: (data: T) => R,
const finalResultSelector = resultSelector ? (res: AjaxResponse) => resultSelector(res.response) : (res: AjaxResponse) => res.response;
return new AjaxObservable<R>({ method: 'GET', url, responseType: 'json', resultSelector: finalResultSelector, headers });
};

/**
* We need this JSDoc comment for affecting ESDoc.
* @extends {Ignored}
* @hide true
*/
export class AjaxObservable<T> extends Observable<T> {
/**
* Creates an observable for an Ajax request with either a request object with url, headers, etc or a string for a URL.
* Creates an observable for an Ajax request with either a request object with
* url, headers, etc or a string for a URL.
*
* @example
* source = Rx.Observable.ajax('/products');
* source = Rx.Observable.ajax( url: 'products', method: 'GET' });
*
* @param {Object} request Can be one of the following:
* source = Rx.Observable.ajax('/products');
* source = Rx.Observable.ajax( url: 'products', method: 'GET' });
*
* A string of the URL to make the Ajax call.
* An object with the following properties
* @param {string|Object} request Can be one of the following:
* A string of the URL to make the Ajax call.
* An object with the following properties
* - url: URL of the request
* - body: The body of the request
* - method: Method of the request, such as GET, POST, PUT, PATCH, DELETE
* - async: Whether the request is async
* - headers: Optional headers
* - crossDomain: true if a cross domain request, else false
* - createXHR: a function to override if you need to use an alternate XMLHttpRequest implementation.
* - resultSelector: a function to use to alter the output value type of the Observable. Gets {AjaxResponse} as an argument
* - createXHR: a function to override if you need to use an alternate
* XMLHttpRequest implementation.
* - resultSelector: a function to use to alter the output value type of
* the Observable. Gets {@link AjaxResponse} as an argument.
* @return {Observable} An observable sequence containing the XMLHttpRequest.
* @static true
* @name ajax
* @owner Observable
*/
export class AjaxObservable<T> extends Observable<T> {
static _create_stub(): void { return null; }

static create: AjaxCreationMethod = (() => {
const create: any = (urlOrRequest: string | AjaxRequest) => {
return new AjaxObservable(urlOrRequest);
Expand Down
4 changes: 3 additions & 1 deletion src/observable/dom/WebSocketSubject.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,9 @@ export interface WebSocketSubjectConfig {
}

/**
*
* We need this JSDoc comment for affecting ESDoc.
* @extends {Ignored}
* @hide true
*/
export class WebSocketSubject<T> extends Subject<T> {
url: string;
Expand Down
5 changes: 5 additions & 0 deletions src/operator/delayWhen.ts
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,11 @@ class DelayWhenSubscriber<T, R> extends OuterSubscriber<T, R> {
}
}

/**
* We need this JSDoc comment for affecting ESDoc.
* @ignore
* @extends {Ignored}
*/
class SubscriptionDelayObservable<T> extends Observable<T> {
constructor(protected source: Observable<T>, private subscriptionDelay: Observable<any>) {
super();
Expand Down

0 comments on commit d9855e2

Please sign in to comment.