X Tutup
Skip to content

Commit a16ac84

Browse files
robwormaldjelbourn
authored andcommitted
refactor(async): use ultralight Observable
Closes angular#5283
1 parent ad99199 commit a16ac84

File tree

10 files changed

+83
-53
lines changed

10 files changed

+83
-53
lines changed

modules/angular2/src/facade/async.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,13 @@ import {global, isPresent, noop} from 'angular2/src/facade/lang';
33
// without depending on rxjs.
44
import {PromiseWrapper, Promise, PromiseCompleter} from 'angular2/src/facade/promise';
55
export {PromiseWrapper, Promise, PromiseCompleter} from 'angular2/src/facade/promise';
6-
import {Subject, Subscription, Observable as RxObservable} from '@reactivex/rxjs/dist/cjs/Rx';
7-
export {Subject} from '@reactivex/rxjs/dist/cjs/Rx';
8-
import Operator from '@reactivex/rxjs/dist/cjs/Operator';
6+
7+
import {Subject} from '@reactivex/rxjs/dist/cjs/Subject';
8+
import {Observable as RxObservable} from '@reactivex/rxjs/dist/cjs/Observable';
9+
import {Subscription} from '@reactivex/rxjs/dist/cjs/Subscription';
10+
import {Operator} from '@reactivex/rxjs/dist/cjs/Operator';
11+
export {Subject} from '@reactivex/rxjs/dist/cjs/Subject';
12+
913

1014
export namespace NodeJS {
1115
export interface Timer {}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
library angular2.test.facade.observable_spec;
2+
3+
main() {
4+
//stub to ignore JS Observable specific tests
5+
}
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
import {
2+
describe,
3+
it,
4+
expect,
5+
beforeEach,
6+
ddescribe,
7+
iit,
8+
xit,
9+
el,
10+
SpyObject,
11+
AsyncTestCompleter,
12+
inject
13+
} from 'angular2/testing_internal';
14+
15+
import {Observable, Subject, EventEmitter, PromiseWrapper} from 'angular2/src/facade/async';
16+
17+
export function main() {
18+
describe("Observable", () => {
19+
describe("#core", () => {
20+
21+
it("should call next with values", inject([AsyncTestCompleter], (async) => {
22+
23+
let o = new Observable(sink => { sink.next(1); });
24+
25+
o.subscribe(v => {
26+
expect(v).toEqual(1);
27+
async.done();
28+
});
29+
30+
}));
31+
32+
it("should call next and then complete", inject([AsyncTestCompleter], (async) => {
33+
34+
let o = new Observable(sink => {
35+
sink.next(1);
36+
sink.complete();
37+
});
38+
let nexted = false;
39+
40+
o.subscribe(v => { nexted = true; }, null, () => {
41+
expect(nexted).toBe(true);
42+
async.done();
43+
});
44+
45+
}));
46+
47+
it("should call error with errors", inject([AsyncTestCompleter], (async) => {
48+
49+
let o = new Observable(sink => { sink.error('oh noes!'); });
50+
51+
o.subscribe(
52+
v => {
53+
54+
},
55+
(err) => {
56+
expect(err).toEqual('oh noes!');
57+
async.done();
58+
});
59+
60+
}));
61+
});
62+
});
63+
}

modules/angular2/test/public_api_spec.ts

Lines changed: 0 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -686,51 +686,9 @@ var NG_ALL = [
686686
/*
687687
RxJS API - may need to maintain as RxJS evolves
688688
*/
689-
'EventEmitter.mapTo():js',
690-
'EventEmitter.next():js',
691689
'EventEmitter.emit():js',
692-
'EventEmitter.materialize():js',
693-
'EventEmitter.merge():js',
694-
'EventEmitter.mergeAll():js',
695-
'EventEmitter.mergeMap():js',
696-
'EventEmitter.mergeMapTo():js',
697-
'EventEmitter.multicast():js',
698-
'EventEmitter.observeOn():js',
699-
'EventEmitter.remove():js',
700-
'EventEmitter.repeat():js',
701-
'EventEmitter.retry():js',
702-
'EventEmitter.retryWhen():js',
703-
'EventEmitter.throttle():js',
704-
'EventEmitter.toPromise():js',
705-
'EventEmitter.window():js',
706-
'EventEmitter.windowCount():js',
707-
'EventEmitter.windowTime():js',
708-
'EventEmitter.windowToggle():js',
709-
'EventEmitter.windowWhen():js',
710-
'EventEmitter.withLatestFrom():js',
711-
'EventEmitter.zip():js',
712-
'EventEmitter.zipAll():js',
713-
714690
'Observable:js',
715-
'Observable#combineLatest():js',
716-
'Observable#concat():js',
717691
'Observable#create():js',
718-
'Observable#defer():js',
719-
'Observable#empty():js',
720-
'Observable#forkJoin():js',
721-
'Observable#from():js',
722-
'Observable#fromArray():js',
723-
'Observable#fromEvent():js',
724-
'Observable#fromEventPattern():js',
725-
'Observable#fromPromise():js',
726-
'Observable#interval():js',
727-
'Observable#merge():js',
728-
'Observable#never():js',
729-
'Observable#of():js',
730-
'Observable#range():js',
731-
'Observable#throw():js',
732-
'Observable#timer():js',
733-
'Observable#zip():js',
734692
'Observable.buffer():js',
735693
'Observable.bufferCount():js',
736694
'Observable.bufferTime():js',

modules/playground/src/http/http_comp.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@ import {Http, Response} from 'angular2/http';
1616
export class HttpCmp {
1717
people: Object[];
1818
constructor(http: Http) {
19-
http.get('./people.json')
20-
.map((res: Response) => res.json())
21-
.subscribe((people: Array<Object>) => this.people = people);
19+
http.get('./people.json').subscribe(res => { this.people = res.json(); });
2220
}
2321
}

npm-shrinkwrap.clean.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"dependencies": {
33
"@reactivex/rxjs": {
4-
"version": "5.0.0-alpha.7"
4+
"version": "5.0.0-alpha.10"
55
},
66
"angular": {
77
"version": "1.4.7"

npm-shrinkwrap.json

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
"test": "gulp test.all.js && gulp test.all.dart"
3232
},
3333
"dependencies": {
34-
"@reactivex/rxjs": "5.0.0-alpha.7",
34+
"@reactivex/rxjs": "5.0.0-alpha.10",
3535
"reflect-metadata": "0.1.2",
3636
"zone.js": "0.5.8"
3737
},

tools/broccoli/html-replace/SCRIPTS.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
'angular2/src/testing/benchmark_util': {defaultExtension: 'js'},
1313
'angular2/src/facade/browser': {defaultExtension: 'js'},
1414
'angular2/bootstrap': {defaultExtension: 'js'},
15+
'rxjs': {defaultExtension: 'js'},
1516
}
1617
});
1718
</script>

tools/broccoli/html-replace/SCRIPTS_benchmarks.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
'angular2/src/testing/benchmark_util': {defaultExtension: 'js'},
1414
'angular2/src/facade/browser': {defaultExtension: 'js'},
1515
'angular2/bootstrap': {defaultExtension: 'js'},
16+
'rxjs': {defaultExtension: 'js'},
1617
}
1718
});
1819
</script>

0 commit comments

Comments
 (0)
X Tutup