Skip to content

Commit e50f8a2

Browse files
JeanMecheatscott
authored andcommitted
Revert "refactor(core): use stream in rxResource instead of loader (angular#59910)" (angular#60803)
This reverts commit 98a584c. PR Close angular#60803
1 parent 2b4fd9b commit e50f8a2

File tree

3 files changed

+11
-30
lines changed

3 files changed

+11
-30
lines changed

goldens/public-api/core/rxjs-interop/index.api.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,10 @@ export function rxResource<T, R>(opts: RxResourceOptions<T, R> & {
2626
export function rxResource<T, R>(opts: RxResourceOptions<T, R>): ResourceRef<T | undefined>;
2727

2828
// @public
29-
export type RxResourceOptions<T, R> = RxResourceStreamOptions<T, R> | RxResourceLoaderOptions<T, R>;
29+
export interface RxResourceOptions<T, R> extends BaseResourceOptions<T, R> {
30+
// (undocumented)
31+
loader: (params: ResourceLoaderParams<R>) => Observable<T>;
32+
}
3033

3134
// @public
3235
export function takeUntilDestroyed<T>(destroyRef?: DestroyRef): MonoTypeOperatorFunction<T>;

packages/core/rxjs-interop/src/rx_resource.ts

Lines changed: 4 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -17,35 +17,17 @@ import {
1717
} from '../../src/core';
1818
import {Observable, Subscription} from 'rxjs';
1919

20-
/**
21-
* Like `ResourceOptions` but uses an RxJS-based `stream`.
22-
*
23-
* @experimental
24-
*/
25-
interface RxResourceStreamOptions<T, R> extends BaseResourceOptions<T, R> {
26-
stream: (params: ResourceLoaderParams<R>) => Observable<T>;
27-
}
28-
2920
/**
3021
* Like `ResourceOptions` but uses an RxJS-based `loader`.
3122
*
3223
* @experimental
33-
* @deprecated Use `stream` instead of `loader`.
3424
*/
35-
interface RxResourceLoaderOptions<T, R> extends BaseResourceOptions<T, R> {
36-
/** @deprecated Use `stream` instead of `loader`. */
25+
export interface RxResourceOptions<T, R> extends BaseResourceOptions<T, R> {
3726
loader: (params: ResourceLoaderParams<R>) => Observable<T>;
3827
}
3928

4029
/**
41-
* Like `ResourceOptions` but uses an RxJS-based `stream`.
42-
*
43-
* @experimental
44-
*/
45-
export type RxResourceOptions<T, R> = RxResourceStreamOptions<T, R> | RxResourceLoaderOptions<T, R>;
46-
47-
/**
48-
* Like `resource` but uses an RxJS based `stream` which maps the request to an `Observable` of the
30+
* Like `resource` but uses an RxJS based `loader` which maps the request to an `Observable` of the
4931
* resource's value.
5032
*
5133
* @experimental
@@ -55,7 +37,7 @@ export function rxResource<T, R>(
5537
): ResourceRef<T>;
5638

5739
/**
58-
* Like `resource` but uses an RxJS based `stream` which maps the request to an `Observable` of the
40+
* Like `resource` but uses an RxJS based `loader` which maps the request to an `Observable` of the
5941
* resource's value.
6042
*
6143
* @experimental
@@ -85,11 +67,7 @@ export function rxResource<T, R>(opts: RxResourceOptions<T, R>): ResourceRef<T |
8567
resolve = undefined;
8668
}
8769

88-
// loader is kept for backwards compatibility
89-
const streamOrLoader =
90-
(opts as RxResourceStreamOptions<T, R>).stream ??
91-
(opts as RxResourceLoaderOptions<T, R>).loader;
92-
sub = streamOrLoader(params).subscribe({
70+
sub = opts.loader(params).subscribe({
9371
next: (value) => send({value}),
9472
error: (error) => send({error}),
9573
complete: () => {

packages/core/rxjs-interop/test/rx_resource_spec.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ describe('rxResource()', () => {
1616
const injector = TestBed.inject(Injector);
1717
const appRef = TestBed.inject(ApplicationRef);
1818
const res = rxResource({
19-
stream: () => of(1),
19+
loader: () => of(1),
2020
injector,
2121
});
2222
await appRef.whenStable();
@@ -31,7 +31,7 @@ describe('rxResource()', () => {
3131
let lastSeenRequest: number = 0;
3232
rxResource({
3333
request,
34-
stream: ({request}) => {
34+
loader: ({request}) => {
3535
lastSeenRequest = request;
3636
return new Observable((sub) => {
3737
if (request === 2) {
@@ -61,7 +61,7 @@ describe('rxResource()', () => {
6161
const appRef = TestBed.inject(ApplicationRef);
6262
const response = new BehaviorSubject(1);
6363
const res = rxResource({
64-
stream: () => response,
64+
loader: () => response,
6565
injector,
6666
});
6767
await appRef.whenStable();

0 commit comments

Comments
 (0)