Skip to content

Commit

Permalink
Merge pull request #152 from apollographql/internalize-zen-observable…
Browse files Browse the repository at this point in the history
…-types

Internalize `zen-observable` types and drop `@types/zen-observable` dependency
  • Loading branch information
benjamn authored Aug 24, 2021
2 parents e9fa725 + 5f82a06 commit 0327ae6
Show file tree
Hide file tree
Showing 4 changed files with 60 additions and 19 deletions.
6 changes: 1 addition & 5 deletions index.d.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1 @@
import Observable = require("zen-observable");
export { Observable };
export type Observer<T> = ZenObservable.Observer<T>;
export type Subscription = ZenObservable.Subscription;
export type Subscriber<T> = ZenObservable.Subscriber<T>;
export * from "./module";
59 changes: 58 additions & 1 deletion module.d.ts
Original file line number Diff line number Diff line change
@@ -1 +1,58 @@
export * from "./index";
export interface Subscription {
closed: boolean;
unsubscribe(): void;
}

interface SubscriptionObserver<T> {
closed: boolean;
next(value: T): void;
error(errorValue: any): void;
complete(): void;
}

export interface Observer<T> {
start?(subscription: Subscription): any;
next?(value: T): void;
error?(errorValue: any): void;
complete?(): void;
}

export type Subscriber<T> = (
observer: SubscriptionObserver<T>,
) => void | (() => void) | Subscription;

interface ObservableLike<T> {
subscribe?: Subscriber<T> | undefined;
[Symbol.observable](): Observable<T> | ObservableLike<T>;
}

export declare class Observable<T> {
constructor(subscriber: Subscriber<T>);

// For backwards compatibility when super(subscriber) is transpiled to
// Observable.call(this, subscriber), which typically happens when the
// Observable class is compiled to ES5 function contructor syntax.
static call<R>(instance: Observable<R>, subscriber: Subscriber<R>): undefined;
static apply<R>(instance: Observable<R>, args: IArguments | [Subscriber<R>]): undefined;

subscribe(observer: Observer<T>): Subscription;
subscribe(
onNext: (value: T) => void,
onError?: (error: any) => void,
onComplete?: () => void,
): Subscription;

[Symbol.observable](): Observable<T>;

forEach(callback: (value: T) => void): Promise<void>;
map<R>(callback: (value: T) => R): Observable<R>;
filter<S extends T>(callback: (value: T) => value is S): Observable<S>;
filter(callback: (value: T) => boolean): Observable<T>;
reduce(callback: (previousValue: T, currentValue: T) => T, initialValue?: T): Observable<T>;
reduce<R>(callback: (previousValue: R, currentValue: T) => R, initialValue?: R): Observable<R>;
flatMap<R>(callback: (value: T) => ObservableLike<R>): Observable<R>;
concat<R>(...observable: Array<Observable<R>>): Observable<R>;

static from<R>(observable: Observable<R> | ObservableLike<R> | ArrayLike<R>): Observable<R>;
static of<R>(...items: R[]): Observable<R>;
}
11 changes: 0 additions & 11 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 1 addition & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"license": "MIT",
"main": "index.js",
"module": "module.js",
"types": "index.d.ts",
"types": "module.d.ts",
"repository": {
"type": "git",
"url": "git+https://github.com/apollographql/zen-observable-ts.git"
Expand All @@ -20,7 +20,6 @@
"test": "mocha tests/bundle.js"
},
"dependencies": {
"@types/zen-observable": "0.8.3",
"zen-observable": "0.8.15"
},
"devDependencies": {
Expand Down

0 comments on commit 0327ae6

Please sign in to comment.