Skip to content

Commit e703433

Browse files
Revert "feat(core): resource composition via snapshots"
This reverts commit 2a6fdda.
1 parent ff3013c commit e703433

6 files changed

Lines changed: 1 addition & 232 deletions

File tree

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

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1615,7 +1615,6 @@ export interface Resource<T> {
16151615
// (undocumented)
16161616
hasValue(): boolean;
16171617
readonly isLoading: Signal<boolean>;
1618-
readonly snapshot: Signal<ResourceSnapshot<T>>;
16191618
readonly status: Signal<ResourceStatus>;
16201619
readonly value: Signal<T>;
16211620
}
@@ -1628,9 +1627,6 @@ export function resource<T, R>(options: ResourceOptions<T, R> & {
16281627
// @public
16291628
export function resource<T, R>(options: ResourceOptions<T, R>): ResourceRef<T | undefined>;
16301629

1631-
// @public
1632-
export function resourceFromSnapshots<T>(source: () => ResourceSnapshot<T>): Resource<T>;
1633-
16341630
// @public
16351631
export type ResourceLoader<T, R> = (param: ResourceLoaderParams<R>) => PromiseLike<T>;
16361632

@@ -1658,21 +1654,6 @@ export interface ResourceRef<T> extends WritableResource<T> {
16581654
hasValue(): boolean;
16591655
}
16601656

1661-
// @public
1662-
export type ResourceSnapshot<T> = {
1663-
readonly status: 'idle';
1664-
readonly value: T;
1665-
} | {
1666-
readonly status: 'loading' | 'reloading';
1667-
readonly value: T;
1668-
} | {
1669-
readonly status: 'resolved' | 'local';
1670-
readonly value: T;
1671-
} | {
1672-
readonly status: 'error';
1673-
readonly error: Error;
1674-
};
1675-
16761657
// @public
16771658
export type ResourceStatus = 'idle' | 'error' | 'loading' | 'reloading' | 'resolved' | 'local';
16781659

packages/core/src/resource/api.ts

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -66,11 +66,6 @@ export interface Resource<T> {
6666
*/
6767
readonly isLoading: Signal<boolean>;
6868

69-
/**
70-
* The current state of this resource, represented as a `ResourceSnapshot`.
71-
*/
72-
readonly snapshot: Signal<ResourceSnapshot<T>>;
73-
7469
/**
7570
* Whether this resource has a valid current value.
7671
*
@@ -238,14 +233,3 @@ export type ResourceOptions<T, R> = PromiseResourceOptions<T, R> | StreamingReso
238233
* @experimental
239234
*/
240235
export type ResourceStreamItem<T> = {value: T} | {error: Error};
241-
242-
/**
243-
* An explicit representation of a resource's state.
244-
*
245-
* @experimental
246-
*/
247-
export type ResourceSnapshot<T> =
248-
| {readonly status: 'idle'; readonly value: T}
249-
| {readonly status: 'loading' | 'reloading'; readonly value: T}
250-
| {readonly status: 'resolved' | 'local'; readonly value: T}
251-
| {readonly status: 'error'; readonly error: Error};

packages/core/src/resource/from_snapshots.ts

Lines changed: 0 additions & 51 deletions
This file was deleted.

packages/core/src/resource/index.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,4 @@
77
*/
88

99
export * from './api';
10-
export {resourceFromSnapshots} from './from_snapshots';
1110
export {resource} from './resource';

packages/core/src/resource/resource.ts

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ import {
2121
StreamingResourceOptions,
2222
ResourceStreamItem,
2323
ResourceLoaderParams,
24-
ResourceSnapshot,
2524
} from './api';
2625

2726
import {Injector} from '../di/injector';
@@ -140,18 +139,6 @@ abstract class BaseWritableResource<T> implements WritableResource<T> {
140139
return this.value() !== undefined;
141140
});
142141

143-
private _snapshot: Signal<ResourceSnapshot<T>> | undefined;
144-
get snapshot(): Signal<ResourceSnapshot<T>> {
145-
return (this._snapshot ??= computed(() => {
146-
const status = this.status();
147-
if (status === 'error') {
148-
return {status: 'error', error: this.error()!};
149-
} else {
150-
return {status, value: this.value()};
151-
}
152-
}));
153-
}
154-
155142
hasValue(): this is ResourceRef<Exclude<T, undefined>> {
156143
return this.isValueDefined();
157144
}
@@ -478,7 +465,7 @@ export function encapsulateResourceError(error: unknown): Error {
478465
return new ResourceWrappedError(error);
479466
}
480467

481-
export class ResourceValueError extends Error {
468+
class ResourceValueError extends Error {
482469
constructor(error: Error) {
483470
super(
484471
ngDevMode

packages/core/test/resource/resource_snapshot_spec.ts

Lines changed: 0 additions & 131 deletions
This file was deleted.

0 commit comments

Comments
 (0)