From b141f3ea8ede5e26092cebf5df9785f2b41788cd Mon Sep 17 00:00:00 2001 From: demensky Date: Wed, 25 Jan 2023 23:54:15 +0200 Subject: [PATCH] feat(observable): removed deprecated `` operator BREAKING CHANGE: The `pairs` function is no longer available. Use `from(Object.entries(obj))` instead `pairs(obj)`. --- .../assets/images/marble-diagrams/pairs.png | Bin 27559 -> 0 bytes spec-dtslint/operators/pairs-spec.ts | 26 ------ spec/index-spec.ts | 1 - spec/observables/pairs-spec.ts | 56 ------------ src/index.ts | 1 - src/internal/observable/pairs.ts | 82 ------------------ 6 files changed, 166 deletions(-) delete mode 100644 docs_app/src/assets/images/marble-diagrams/pairs.png delete mode 100644 spec-dtslint/operators/pairs-spec.ts delete mode 100644 spec/observables/pairs-spec.ts delete mode 100644 src/internal/observable/pairs.ts diff --git a/docs_app/src/assets/images/marble-diagrams/pairs.png b/docs_app/src/assets/images/marble-diagrams/pairs.png deleted file mode 100644 index 4a514e0cd3a2d063ae23b9ae8de46b3d163cc9ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27559 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 { - it('should work unscheduled', () => { - const o1 = pairs({ foo: 1, bar: 2 }); // $ExpectType Observable<["foo" | "bar", number]> - const o2 = pairs([1, 2, 3, 4]); // $ExpectType Observable<[string, number]> - const o3 = pairs(123); // $ExpectType Observable<[never, never]> - const o4 = pairs('blah'); // $ExpectType Observable<[string, string]> - const o5 = pairs({}); // $ExpectType Observable<[never, never]> - const o6 = pairs(true); // $ExpectType Observable<[never, never]> - const o7 = pairs(null); // $ExpectError - const o8 = pairs(undefined); // $ExpectError - }); - - it('should work scheduled', () => { - const o1 = pairs({ foo: 1, bar: 2 }, asyncScheduler); // $ExpectType Observable<["foo" | "bar", number]> - const o2 = pairs([1, 2, 3, 4], asyncScheduler); // $ExpectType Observable<[string, number]> - const o3 = pairs(123, asyncScheduler); // $ExpectType Observable<[never, never]> - const o4 = pairs('blah', asyncScheduler); // $ExpectType Observable<[string, string]> - const o5 = pairs({}, asyncScheduler); // $ExpectType Observable<[never, never]> - const o6 = pairs(true, asyncScheduler); // $ExpectType Observable<[never, never]> - const o7 = pairs(null, asyncScheduler); // $ExpectError - const o8 = pairs(undefined, asyncScheduler); // $ExpectError - }); -}); diff --git a/spec/index-spec.ts b/spec/index-spec.ts index 53d56a4a835..117f8b9fbbb 100644 --- a/spec/index-spec.ts +++ b/spec/index-spec.ts @@ -65,7 +65,6 @@ describe('index', () => { expect(index.merge).to.exist; expect(index.of).to.exist; expect(index.onErrorResumeNext).to.exist; - expect(index.pairs).to.exist; expect(index.race).to.exist; expect(index.range).to.exist; expect(index.throwError).to.exist; diff --git a/spec/observables/pairs-spec.ts b/spec/observables/pairs-spec.ts deleted file mode 100644 index 078b96f9f3a..00000000000 --- a/spec/observables/pairs-spec.ts +++ /dev/null @@ -1,56 +0,0 @@ -/** @prettier */ -import { expect } from 'chai'; -import { TestScheduler } from 'rxjs/testing'; -import { pairs } from 'rxjs'; -import { observableMatcher } from '../helpers/observableMatcher'; - -describe('pairs', () => { - let rxTestScheduler: TestScheduler; - - beforeEach(() => { - rxTestScheduler = new TestScheduler(observableMatcher); - }); - - it('should create an observable emits key-value pair', () => { - rxTestScheduler.run(({ expectObservable }) => { - const e1 = pairs({ a: 1, b: 2 }); - const expected = '(ab|)'; - const values = { - a: ['a', 1], - b: ['b', 2], - }; - - expectObservable(e1).toBe(expected, values); - }); - }); - - it('should create an observable without scheduler', (done) => { - let expected = [ - ['a', 1], - ['b', 2], - ['c', 3], - ]; - - pairs({ a: 1, b: 2, c: 3 }).subscribe({ - next: (x) => { - expect(x).to.deep.equal(expected.shift()); - }, - error: (x) => { - done(new Error('should not be called')); - }, - complete: () => { - expect(expected).to.be.empty; - done(); - }, - }); - }); - - it('should work with empty object', () => { - rxTestScheduler.run(({ expectObservable }) => { - const e1 = pairs({}); - const expected = '|'; - - expectObservable(e1).toBe(expected); - }); - }); -}); diff --git a/src/index.ts b/src/index.ts index b76cca1a779..50d85a3eff4 100644 --- a/src/index.ts +++ b/src/index.ts @@ -73,7 +73,6 @@ export { interval } from './internal/observable/interval'; export { merge } from './internal/observable/merge'; export { of } from './internal/observable/of'; export { onErrorResumeNext } from './internal/observable/onErrorResumeNext'; -export { pairs } from './internal/observable/pairs'; export { partition } from './internal/observable/partition'; export { race } from './internal/observable/race'; export { range } from './internal/observable/range'; diff --git a/src/internal/observable/pairs.ts b/src/internal/observable/pairs.ts deleted file mode 100644 index 4dafb9ffb83..00000000000 --- a/src/internal/observable/pairs.ts +++ /dev/null @@ -1,82 +0,0 @@ -import { Observable } from '../Observable'; -import { SchedulerLike } from '../types'; -import { from } from './from'; - -/** - * @deprecated Use `from(Object.entries(obj))` instead. Will be removed in v8. - */ -export function pairs(arr: readonly T[], scheduler?: SchedulerLike): Observable<[string, T]>; -/** - * @deprecated Use `from(Object.entries(obj))` instead. Will be removed in v8. - */ -export function pairs>(obj: O, scheduler?: SchedulerLike): Observable<[keyof O, O[keyof O]]>; -/** - * @deprecated Use `from(Object.entries(obj))` instead. Will be removed in v8. - */ -export function pairs(iterable: Iterable, scheduler?: SchedulerLike): Observable<[string, T]>; -/** - * @deprecated Use `from(Object.entries(obj))` instead. Will be removed in v8. - */ -export function pairs( - n: number | bigint | boolean | ((...args: any[]) => any) | symbol, - scheduler?: SchedulerLike -): Observable<[never, never]>; - -/** - * Convert an object into an Observable of `[key, value]` pairs. - * - * Turn entries of an object into a stream. - * - * ![](pairs.png) - * - * `pairs` takes an arbitrary object and returns an Observable that emits arrays. Each - * emitted array has exactly two elements - the first is a key from the object - * and the second is a value corresponding to that key. Keys are extracted from - * an object via `Object.keys` function, which means that they will be only - * enumerable keys that are present on an object directly - not ones inherited - * via prototype chain. - * - * By default, these arrays are emitted synchronously. To change that you can - * pass a {@link SchedulerLike} as a second argument to `pairs`. - * - * ## Example - * - * Converts an object to an Observable - * - * ```ts - * import { pairs } from 'rxjs'; - * - * const obj = { - * foo: 42, - * bar: 56, - * baz: 78 - * }; - * - * pairs(obj).subscribe({ - * next: value => console.log(value), - * complete: () => console.log('Complete!') - * }); - * - * // Logs: - * // ['foo', 42] - * // ['bar', 56] - * // ['baz', 78] - * // 'Complete!' - * ``` - * - * ### Object.entries required - * - * In IE, you will need to polyfill `Object.entries` in order to use this. - * [MDN has a polyfill here](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries) - * - * @param {Object} obj The object to inspect and turn into an - * Observable sequence. - * @param {Scheduler} [scheduler] An optional IScheduler to schedule - * when resulting Observable will emit values. - * @returns {(Observable>)} An observable sequence of - * [key, value] pairs from the object. - * @deprecated Use `from(Object.entries(obj))` instead. Will be removed in v8. - */ -export function pairs(obj: any, scheduler?: SchedulerLike) { - return from(Object.entries(obj), scheduler as any); -}