Skip to content

Commit 4bcf183

Browse files
alxhubmmalerba
authored andcommitted
refactor(core): rename loader parameter to stream for rxResource (angular#60919)
As decided in the Resource RFC, this commit renames `loader` in `rxResource` to `stream`. Some logic is left in to support gradual rollout of this change in g3. PR Close angular#60919
1 parent d0c9a64 commit 4bcf183

File tree

3 files changed

+12
-6
lines changed

3 files changed

+12
-6
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ export function rxResource<T, R>(opts: RxResourceOptions<T, R>): ResourceRef<T |
2828
// @public
2929
export interface RxResourceOptions<T, R> extends BaseResourceOptions<T, R> {
3030
// (undocumented)
31-
loader: (params: ResourceLoaderParams<R>) => Observable<T>;
31+
stream: (params: ResourceLoaderParams<R>) => Observable<T>;
3232
}
3333

3434
// @public

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

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import {Observable, Subscription} from 'rxjs';
2323
* @experimental
2424
*/
2525
export interface RxResourceOptions<T, R> extends BaseResourceOptions<T, R> {
26-
loader: (params: ResourceLoaderParams<R>) => Observable<T>;
26+
stream: (params: ResourceLoaderParams<R>) => Observable<T>;
2727
}
2828

2929
/**
@@ -67,7 +67,13 @@ export function rxResource<T, R>(opts: RxResourceOptions<T, R>): ResourceRef<T |
6767
resolve = undefined;
6868
}
6969

70-
sub = opts.loader(params).subscribe({
70+
// TODO(alxhub): remove after g3 updated to rename loader -> stream
71+
const streamFn = opts.stream ?? (opts as {loader?: RxResourceOptions<T, R>['stream']}).loader;
72+
if (streamFn === undefined) {
73+
throw new Error(`Must provide \`stream\` option.`);
74+
}
75+
76+
sub = streamFn(params).subscribe({
7177
next: (value) => send({value}),
7278
error: (error) => send({error}),
7379
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-
loader: () => of(1),
19+
stream: () => of(1),
2020
injector,
2121
});
2222
await appRef.whenStable();
@@ -31,7 +31,7 @@ describe('rxResource()', () => {
3131
let lastSeenRequest: number = 0;
3232
rxResource({
3333
params: request,
34-
loader: ({params: request}) => {
34+
stream: ({params: 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-
loader: () => response,
64+
stream: () => response,
6565
injector,
6666
});
6767
await appRef.whenStable();

0 commit comments

Comments
 (0)