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

Commit e1f4356

Browse files
committed
refactor: Update rxjs operators to be lettable
1 parent e99d11f commit e1f4356

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+304
-293
lines changed

bin/devkit-admin

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,10 @@ process.chdir(path.join(__dirname, '..'));
3434
let logger = null;
3535
try {
3636
logger = new (require('@angular-devkit/core').logging.IndentLogger)('root');
37-
require('rxjs/add/operator/filter');
37+
const filter = require('rxjs/operators').filter;
3838

3939
logger
40-
.filter(entry => (entry.level !== 'debug' || args.verbose))
40+
.pipe(filter(entry => (entry.level !== 'debug' || args.verbose)))
4141
.subscribe(entry => {
4242
let color = gray;
4343
let output = process.stdout;
@@ -52,7 +52,7 @@ try {
5252
});
5353

5454
logger
55-
.filter(entry => entry.level === 'fatal')
55+
.pipe(filter(entry => entry.level === 'fatal'))
5656
.subscribe(() => {
5757
process.stderr.write('A fatal error happened. See details above.\n');
5858
process.exit(100);

package-lock.json

Lines changed: 6 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
@@ -67,7 +67,7 @@
6767
"npm": "^5.2.0",
6868
"npm-run": "^4.1.2",
6969
"npm-run-all": "^4.0.0",
70-
"rxjs": "^5.5.2",
70+
"rxjs": "^5.5.6",
7171
"semver": "^5.3.0",
7272
"semver-intersect": "^1.1.2",
7373
"source-map": "^0.5.6",

packages/angular_devkit/core/node/cli-logger.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
* found in the LICENSE file at https://angular.io/license
77
*/
88
import { logging, terminal } from '@angular-devkit/core';
9-
import 'rxjs/add/operator/filter';
9+
import { filter } from 'rxjs/operators';
1010

1111

1212
/**
@@ -16,7 +16,7 @@ export function createConsoleLogger(verbose = false): logging.Logger {
1616
const logger = new logging.IndentLogger('cling');
1717

1818
logger
19-
.filter(entry => (entry.level != 'debug' || verbose))
19+
.pipe(filter(entry => (entry.level != 'debug' || verbose)))
2020
.subscribe(entry => {
2121
let color: (s: string) => string = x => terminal.dim(terminal.white(x));
2222
let output = process.stdout;

packages/angular_devkit/core/node/host.ts

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,9 @@ import {
1818
} from '@angular-devkit/core';
1919
import * as fs from 'fs';
2020
import { Observable } from 'rxjs/Observable';
21-
import { ArrayObservable } from 'rxjs/observable/ArrayObservable';
22-
import { FromObservable } from 'rxjs/observable/FromObservable';
21+
import { empty } from 'rxjs/observable/empty';
22+
import { from as observableFrom } from 'rxjs/observable/from';
23+
import { of as observableOf } from 'rxjs/observable/of';
2324
import { concat } from 'rxjs/operators/concat';
2425
import { concatMap } from 'rxjs/operators/concatMap';
2526
import { ignoreElements } from 'rxjs/operators/ignoreElements';
@@ -131,11 +132,11 @@ export class NodeJsAsyncHost implements virtualFs.Host<fs.Stats> {
131132
};
132133
_recurseList(path);
133134

134-
return FromObservable.create(allFiles)
135+
return observableFrom(allFiles)
135136
.pipe(
136137
mergeMap(p => _callFs(fs.unlink, this._getSystemPath(p))),
137138
ignoreElements(),
138-
concat(FromObservable.create(allDirs).pipe(
139+
concat(observableFrom(allDirs).pipe(
139140
concatMap(p => _callFs(fs.rmdir, this._getSystemPath(p))),
140141
)),
141142
map(() => {}),
@@ -251,13 +252,13 @@ export class NodeJsSyncHost implements virtualFs.Host<fs.Stats> {
251252
_createDir(dirname(path));
252253
fs.writeFileSync(this._getSystemPath(path), new Uint8Array(content));
253254

254-
return Observable.empty<void>();
255+
return empty<void>();
255256
}
256257

257258
read(path: Path): Observable<virtualFs.FileBuffer> {
258259
const buffer = fs.readFileSync(this._getSystemPath(path));
259260

260-
return ArrayObservable.of(new Uint8Array(buffer).buffer as virtualFs.FileBuffer);
261+
return observableOf(new Uint8Array(buffer).buffer as virtualFs.FileBuffer);
261262
}
262263

263264
delete(path: Path): Observable<void> {
@@ -271,37 +272,37 @@ export class NodeJsSyncHost implements virtualFs.Host<fs.Stats> {
271272
fs.unlinkSync(this._getSystemPath(path));
272273
}
273274

274-
return Observable.empty();
275+
return empty();
275276
}
276277

277278
rename(from: Path, to: Path): Observable<void> {
278279
fs.renameSync(this._getSystemPath(from), this._getSystemPath(to));
279280

280-
return Observable.empty();
281+
return empty();
281282
}
282283

283284
list(path: Path): Observable<PathFragment[]> {
284-
return ArrayObservable.of(fs.readdirSync(this._getSystemPath(path))).pipe(
285+
return observableOf(fs.readdirSync(this._getSystemPath(path))).pipe(
285286
map(names => names.map(name => fragment(name))),
286287
);
287288
}
288289

289290
exists(path: Path): Observable<boolean> {
290-
return ArrayObservable.of(fs.existsSync(this._getSystemPath(path)));
291+
return observableOf(fs.existsSync(this._getSystemPath(path)));
291292
}
292293

293294
isDirectory(path: Path): Observable<boolean> {
294295
// tslint:disable-next-line:non-null-operator
295-
return this.stats(path) !.map(stat => stat.isDirectory());
296+
return this.stats(path) !.pipe(map(stat => stat.isDirectory()));
296297
}
297298
isFile(path: Path): Observable<boolean> {
298299
// tslint:disable-next-line:non-null-operator
299-
return this.stats(path) !.map(stat => stat.isFile());
300+
return this.stats(path) !.pipe(map(stat => stat.isFile()));
300301
}
301302

302303
// Some hosts may not support stats.
303304
stats(path: Path): Observable<virtualFs.Stats<fs.Stats>> | null {
304-
return ArrayObservable.of(fs.statSync(this._getSystemPath(path)));
305+
return observableOf(fs.statSync(this._getSystemPath(path)));
305306
}
306307

307308
// Some hosts may not support watching.

packages/angular_devkit/core/src/json/schema/registry.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
import * as ajv from 'ajv';
99
import * as http from 'http';
1010
import { Observable } from 'rxjs/Observable';
11-
import 'rxjs/add/observable/of';
1211
import { fromPromise } from 'rxjs/observable/fromPromise';
12+
import { of as observableOf } from 'rxjs/observable/of';
1313
import { map } from 'rxjs/operators/map';
1414
import { JsonArray, JsonObject } from '../interface';
1515
import {
@@ -237,7 +237,7 @@ export class CoreSchemaRegistry implements SchemaRegistry {
237237
let validator: Observable<ajv.ValidateFunction>;
238238
try {
239239
const maybeFnValidate = this._ajv.compile(schema);
240-
validator = Observable.of(maybeFnValidate);
240+
validator = observableOf(maybeFnValidate);
241241
} catch (e) {
242242
// Propagate the error.
243243
if (!(e instanceof (ajv.MissingRefError as {} as Function))) {
@@ -261,7 +261,7 @@ export class CoreSchemaRegistry implements SchemaRegistry {
261261
map(validate => (data: any): Observable<SchemaValidatorResult> => {
262262
const result = validate(data);
263263
const resultObs = typeof result == 'boolean'
264-
? Observable.of(result)
264+
? observableOf(result)
265265
: fromPromise(result as PromiseLike<boolean>);
266266

267267
return resultObs

packages/angular_devkit/core/src/json/schema/registry_spec.ts

Lines changed: 37 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
* Use of this source code is governed by an MIT-style license that can be
66
* found in the LICENSE file at https://angular.io/license
77
*/
8-
import { Observable } from 'rxjs/Observable';
9-
import 'rxjs/add/operator/mergeMap';
8+
import { of as observableOf } from 'rxjs/observable/of';
9+
import { map, mergeMap } from 'rxjs/operators';
1010
import { CoreSchemaRegistry } from './registry';
1111

1212

@@ -31,12 +31,14 @@ describe('CoreSchemaRegistry', () => {
3131
},
3232
},
3333
})
34-
.mergeMap(validator => validator(data))
35-
.map(result => {
36-
expect(result.success).toBe(true);
37-
expect(data.obj.num).toBeUndefined();
38-
expect(data.tslint).not.toBeUndefined();
39-
})
34+
.pipe(
35+
mergeMap(validator => validator(data)),
36+
map(result => {
37+
expect(result.success).toBe(true);
38+
expect(data.obj.num).toBeUndefined();
39+
expect(data.tslint).not.toBeUndefined();
40+
}),
41+
)
4042
.subscribe(done, done.fail);
4143
});
4244

@@ -61,11 +63,13 @@ describe('CoreSchemaRegistry', () => {
6163
},
6264
},
6365
})
64-
.mergeMap(validator => validator(data))
65-
.map(result => {
66-
expect(result.success).toBe(true);
67-
expect(data.obj.num).toBeUndefined();
68-
})
66+
.pipe(
67+
mergeMap(validator => validator(data)),
68+
map(result => {
69+
expect(result.success).toBe(true);
70+
expect(data.obj.num).toBeUndefined();
71+
}),
72+
)
6973
.subscribe(() => {
7074
isDone = true;
7175
}, done.fail);
@@ -93,10 +97,12 @@ describe('CoreSchemaRegistry', () => {
9397
str: { type: 'string', format: 'is-hotdog' },
9498
},
9599
})
96-
.mergeMap(validator => validator(data))
97-
.map(result => {
98-
expect(result.success).toBe(true);
99-
})
100+
.pipe(
101+
mergeMap(validator => validator(data)),
102+
map(result => {
103+
expect(result.success).toBe(true);
104+
}),
105+
)
100106
.subscribe(done, done.fail);
101107
});
102108

@@ -107,7 +113,7 @@ describe('CoreSchemaRegistry', () => {
107113
name: 'is-hotdog',
108114
formatter: {
109115
async: true,
110-
validate: (str: string) => Observable.of(str === 'hotdog'),
116+
validate: (str: string) => observableOf(str === 'hotdog'),
111117
},
112118
};
113119

@@ -120,10 +126,12 @@ describe('CoreSchemaRegistry', () => {
120126
str: { type: 'string', format: 'is-hotdog' },
121127
},
122128
})
123-
.mergeMap(validator => validator(data))
124-
.map(result => {
125-
expect(result.success).toBe(true);
126-
})
129+
.pipe(
130+
mergeMap(validator => validator(data)),
131+
map(result => {
132+
expect(result.success).toBe(true);
133+
}),
134+
)
127135
.subscribe(done, done.fail);
128136
});
129137

@@ -147,11 +155,13 @@ describe('CoreSchemaRegistry', () => {
147155
banana: { type: 'string', format: 'is-hotdog' },
148156
},
149157
})
150-
.mergeMap(validator => validator(data))
151-
.map(result => {
152-
expect(result.success).toBe(false);
153-
expect(result.errors && result.errors[0]).toBe('.banana should match format "is-hotdog"');
154-
})
158+
.pipe(
159+
mergeMap(validator => validator(data)),
160+
map(result => {
161+
expect(result.success).toBe(false);
162+
expect(result.errors && result.errors[0]).toBe('.banana should match format "is-hotdog"');
163+
}),
164+
)
155165
.subscribe(done, done.fail);
156166
});
157167
});

packages/angular_devkit/core/src/logger/indent.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
* Use of this source code is governed by an MIT-style license that can be
66
* found in the LICENSE file at https://angular.io/license
77
*/
8-
import 'rxjs/add/operator/map';
8+
import { map } from 'rxjs/operators';
99
import { Logger } from './logger';
1010

1111

@@ -24,21 +24,21 @@ export class IndentLogger extends Logger {
2424
super(name, parent);
2525

2626
indentationMap[indentation] = indentationMap[indentation] || [''];
27-
const map = indentationMap[indentation];
27+
const indentMap = indentationMap[indentation];
2828

29-
this._observable = this._observable.map(entry => {
29+
this._observable = this._observable.pipe(map(entry => {
3030
const l = entry.path.length;
31-
if (l >= map.length) {
32-
let current = map[map.length - 1];
33-
while (l >= map.length) {
31+
if (l >= indentMap.length) {
32+
let current = indentMap[indentMap.length - 1];
33+
while (l >= indentMap.length) {
3434
current += indentation;
35-
map.push(current);
35+
indentMap.push(current);
3636
}
3737
}
3838

39-
entry.message = map[l] + entry.message.split(/\n/).join('\n' + map[l]);
39+
entry.message = indentMap[l] + entry.message.split(/\n/).join('\n' + indentMap[l]);
4040

4141
return entry;
42-
});
42+
}));
4343
}
4444
}

packages/angular_devkit/core/src/logger/indent_spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,15 @@
66
* found in the LICENSE file at https://angular.io/license
77
*/
88
// tslint:disable:no-any
9+
import { toArray } from 'rxjs/operators';
910
import { IndentLogger } from './indent';
1011
import { LogEntry, Logger } from './logger';
1112

1213

1314
describe('IndentSpec', () => {
1415
it('works', (done: DoneFn) => {
1516
const logger = new IndentLogger('test');
16-
logger
17-
.toArray()
17+
logger.pipe(toArray())
1818
.toPromise()
1919
.then((observed: LogEntry[]) => {
2020
expect(observed).toEqual([

packages/angular_devkit/core/src/logger/logger_spec.ts

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,15 @@
66
* found in the LICENSE file at https://angular.io/license
77
*/
88
// tslint:disable:no-any
9-
import 'rxjs/add/operator/toArray';
10-
import 'rxjs/add/operator/toPromise';
9+
import { toArray } from 'rxjs/operators';
1110
import { JsonValue } from '../json/interface';
1211
import { Logger } from './logger';
1312

1413

1514
describe('Logger', () => {
1615
it('works', (done: DoneFn) => {
1716
const logger = new Logger('test');
18-
logger
19-
.toArray()
17+
logger.pipe(toArray())
2018
.toPromise()
2119
.then((observed: JsonValue[]) => {
2220
expect(observed).toEqual([
@@ -34,8 +32,7 @@ describe('Logger', () => {
3432
it('works with children', (done: DoneFn) => {
3533
const logger = new Logger('test');
3634
let hasCompleted = false;
37-
logger
38-
.toArray()
35+
logger.pipe(toArray())
3936
.toPromise()
4037
.then((observed: JsonValue[]) => {
4138
expect(observed).toEqual([
@@ -57,8 +54,7 @@ describe('Logger', () => {
5754
const logger = new Logger('test');
5855
logger.debug('woah');
5956

60-
logger
61-
.toArray()
57+
logger.pipe(toArray())
6258
.toPromise()
6359
.then((observed: JsonValue[]) => {
6460
expect(observed).toEqual([

0 commit comments

Comments
 (0)