Skip to content
This repository was archived by the owner on Jan 6, 2025. It is now read-only.

build: import individual rx operators #474

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18,152 changes: 8,008 additions & 10,144 deletions package-lock.json

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
"@angular/core": "~4.4.4",
"@angular/platform-browser": "~4.4.4",
"core-js": "^2.4.1",
"rxjs": "^5.5.0",
"rxjs": "^5.5.2",
"systemjs": "0.19.43",
"tsickle": "^0.23.5",
"tslib": "^1.8.0",
Expand Down Expand Up @@ -125,4 +125,4 @@
"typescript": "~2.4.2",
"uglify-js": "^2.8.14"
}
}
}
20 changes: 10 additions & 10 deletions src/demo-app/app/github-issues/splitter/split-handle.directive.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
import {Directive, ElementRef, Inject, Output} from '@angular/core';
import {DOCUMENT} from '@angular/platform-browser';
import {DOCUMENT} from '@angular/common';

import {Observable} from 'rxjs/Observable';

import 'rxjs/add/observable/fromEvent';
import 'rxjs/add/operator/takeUntil';
import 'rxjs/add/operator/switchMap';
import 'rxjs/add/operator/map';
import {fromEvent} from 'rxjs/observable/fromEvent';
import {map} from 'rxjs/operators/map';
import {switchMap} from 'rxjs/operators/switchMap';
import {takeUntil} from 'rxjs/operators/takeUntil';


@Directive({
selector: '[ngxSplitHandle]',
Expand All @@ -20,14 +21,13 @@ export class SplitHandleDirective {
@Output() drag: Observable<{ x: number, y: number }>;

constructor(ref: ElementRef, @Inject(DOCUMENT) _document: any) {
const fromEvent = Observable.fromEvent;
const getMouseEventPosition = (event: MouseEvent) => ({x: event.movementX, y: event.movementY});

const mousedown$ = fromEvent(ref.nativeElement, 'mousedown').map(getMouseEventPosition);
const mousemove$ = fromEvent(_document, 'mousemove').map(getMouseEventPosition);
const mouseup$ = fromEvent(_document, 'mouseup').map(getMouseEventPosition);
const mousedown$ = fromEvent(ref.nativeElement, 'mousedown').pipe(map(getMouseEventPosition));
const mousemove$ = fromEvent(_document, 'mousemove').pipe(map(getMouseEventPosition));
const mouseup$ = fromEvent(_document, 'mouseup').pipe(map(getMouseEventPosition));

this.drag = mousedown$.switchMap(_ => mousemove$.takeUntil(mouseup$));
this.drag = mousedown$.pipe(switchMap(_ => mousemove$.pipe(takeUntil(mouseup$))));
}

}
1 change: 0 additions & 1 deletion src/demo-app/system-config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@ System.config({
packages: {
// 3rd-Party barrels.
'rxjs': { main: 'index' },
'rxjs/operators': {main: 'index'},
// Set the default extension for the root package, because otherwise the demo-app can't
// be built within the production mode. Due to missing file extensions.
'.': {
Expand Down
2 changes: 1 addition & 1 deletion src/lib/api/core/responsive-activation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
* found in the LICENSE file at https://angular.io/license
*/
import {Subscription} from 'rxjs/Subscription';
import {map} from 'rxjs/operators';
import {map} from 'rxjs/operators/map';

import {MediaChange, MediaQuerySubscriber} from '../../media-query/media-change';
import {BreakPoint} from '../../media-query/breakpoints/break-point';
Expand Down
2 changes: 1 addition & 1 deletion src/lib/media-query/match-media.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import {ɵgetDOM as getDom} from '@angular/platform-browser';
import {DOCUMENT} from '@angular/common';
import {BehaviorSubject} from 'rxjs/BehaviorSubject';
import {Observable} from 'rxjs/Observable';
import {filter} from 'rxjs/operators';
import {filter} from 'rxjs/operators/filter';

import {MediaChange} from './media-change';

Expand Down
3 changes: 2 additions & 1 deletion src/lib/media-query/media-monitor.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ import {MediaChange} from './media-change';
import {mergeAlias} from '../utils/add-alias';

import {Observable} from 'rxjs/Observable';
import {filter, map} from 'rxjs/operators';
import {filter} from 'rxjs/operators/filter';
import {map} from 'rxjs/operators/map';

/**
* MediaMonitor uses the MatchMedia service to observe mediaQuery changes (both activations and
Expand Down
3 changes: 2 additions & 1 deletion src/lib/media-query/observable-media.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@
*/
import {TestBed, inject, async} from '@angular/core/testing';

import {filter, map} from 'rxjs/operators';
import {filter} from 'rxjs/operators/filter';
import {map} from 'rxjs/operators/map';

import {BreakPoint} from './breakpoints/break-point';
import {BREAKPOINTS} from './breakpoints/break-points-token';
Expand Down
10 changes: 6 additions & 4 deletions src/lib/media-query/observable-media.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@ import {Injectable} from '@angular/core';
import {Subscription} from 'rxjs/Subscription';
import {Observable, Subscribable} from 'rxjs/Observable';

import {map, filter} from 'rxjs/operators';
import {map} from 'rxjs/operators/map';
import {filter} from 'rxjs/operators/filter';

import {BreakPointRegistry} from './breakpoints/break-point-registry';

Expand Down Expand Up @@ -52,7 +53,7 @@ export abstract class ObservableMedia implements Subscribable<MediaChange> {
* @usage
*
* // RxJS
* import 'rxjs/add/operator/filter';
* import {filter} from 'rxjs/operators/filter';
* import { ObservableMedia } from '@angular/flex-layout';
*
* @Component({ ... })
Expand All @@ -69,8 +70,9 @@ export abstract class ObservableMedia implements Subscribable<MediaChange> {
* // media.subscribe(onChange);
*
* media.asObservable()
* .filter((change:MediaChange) => true) // silly noop filter
* .subscribe(onChange);
* .pipe(
* filter((change:MediaChange) => true) // silly noop filter
* ).subscribe(onChange);
* }
* }
*/
Expand Down
29 changes: 16 additions & 13 deletions src/universal-app/app/splitter/split-handle.directive.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
import {Directive, ElementRef, Inject, Output} from '@angular/core';
import {DOCUMENT} from '@angular/platform-browser';
import { isBrowser } from '../util/helper';
import {Directive, ElementRef, Inject, Output, PLATFORM_ID} from '@angular/core';
import {DOCUMENT, isPlatformBrowser} from '@angular/common';

import {Observable} from 'rxjs/Observable';
import {fromEvent} from 'rxjs/observable/fromEvent';
import {switchMap} from 'rxjs/operators/switchMap';
import {map} from 'rxjs/operators/map';
import {takeUntil} from 'rxjs/operators/takeUntil';

import 'rxjs/add/observable/fromEvent';
import 'rxjs/add/operator/takeUntil';
import 'rxjs/add/operator/switchMap';
import 'rxjs/add/operator/map';

@Directive({
selector: '[ngxSplitHandle]',
Expand All @@ -20,17 +19,21 @@ export class SplitHandleDirective {

@Output() drag: Observable<{ x: number, y: number }>;

constructor(ref: ElementRef, @Inject(DOCUMENT) _document: any) {
constructor(
ref: ElementRef,
@Inject(DOCUMENT) _document: any,
@Inject(PLATFORM_ID) private _platformId: Object
) {
const getMouseEventPosition = (event: MouseEvent) => ({x: event.movementX, y: event.movementY});

if ( isBrowser() ) {
if ( isPlatformBrowser(PLATFORM_ID) ) {
/* tslint:disable */
const mousedown$ = Observable.fromEvent(ref.nativeElement, 'mousedown').map(getMouseEventPosition);
const mousemove$ = Observable.fromEvent(_document, 'mousemove').map(getMouseEventPosition);
const mouseup$ = Observable.fromEvent(_document, 'mouseup').map(getMouseEventPosition);
const mousedown$ = fromEvent(ref.nativeElement, 'mousedown').pipe(map(getMouseEventPosition));
const mousemove$ = fromEvent(_document, 'mousemove').pipe(map(getMouseEventPosition));
const mouseup$ = fromEvent(_document, 'mouseup').pipe(map(getMouseEventPosition));

/* tslint:enable*/
this.drag = mousedown$.switchMap(_ => mousemove$.takeUntil(mouseup$));
this.drag = mousedown$.pipe(switchMap(_ => mousemove$.pipe(takeUntil(mouseup$))));
}

}
Expand Down
16 changes: 3 additions & 13 deletions tools/package-tools/rollup-globals.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,25 +52,15 @@ export const rollupGlobals = {
'rxjs/Subscriber': 'Rx',
'rxjs/Scheduler': 'Rx',
'rxjs/ReplaySubject': 'Rx',

'rxjs/observable/combineLatest': 'Rx.Observable',
'rxjs/observable/forkJoin': 'Rx.Observable',
'rxjs/observable/fromEvent': 'Rx.Observable',
'rxjs/observable/merge': 'Rx.Observable',
'rxjs/observable/of': 'Rx.Observable',
'rxjs/observable/throw': 'Rx.Observable',
'rxjs/observable/defer': 'Rx.Observable',
'rxjs/operators': 'Rx.Observable',
'rxjs/operators/index': 'Rx.Observable',

'rxjs/add/observable/merge': 'Rx.Observable',
'rxjs/add/observable/fromEvent': 'Rx.Observable',
'rxjs/add/observable/of': 'Rx.Observable',
'rxjs/add/observable/interval': 'Rx.Observable',
'rxjs/add/operator/startWith': 'Rx.Observable.prototype',
'rxjs/add/operator/map': 'Rx.Observable.prototype',
'rxjs/add/operator/debounceTime': 'Rx.Observable.prototype',
'rxjs/add/operator/distinctUntilChanged': 'Rx.Observable.prototype',
'rxjs/add/operator/first': 'Rx.Observable.prototype',
'rxjs/add/operator/catch': 'Rx.Observable.prototype',
'rxjs/add/operator/switchMap': 'Rx.Observable.prototype'
'rxjs/operators/filter': 'Rx.operators',
'rxjs/operators/map': 'Rx.operators',
};
2 changes: 1 addition & 1 deletion tslint.json
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@
["xdescribe"]
],
// Disallows importing the whole RxJS library. Submodules can be still imported.
"import-blacklist": [true, "rxjs"],
"import-blacklist": [true, "rxjs", "rxjs/operators"],
// Avoids inconsistent linebreak styles in source files. Forces developers to use LF linebreaks.
"linebreak-style": [true, "LF"],

Expand Down