MCPcopy
hub / github.com/angular/angular / resource

Function resource

packages/core/src/resource/resource.ts:67–85  ·  view source on GitHub ↗
(options: ResourceOptions<T, R>)

Source from the content-addressed store, hash-verified

65 */
66export function resource<T, R>(options: ResourceOptions<T, R>): ResourceRef<T | undefined>;
67export function resource<T, R>(options: ResourceOptions<T, R>): ResourceRef<T | undefined> {
68 if (ngDevMode && !options?.injector) {
69 assertInInjectionContext(resource);
70 }
71
72 const oldNameForParams = (
73 options as ResourceOptions<T, R> & {request: ResourceOptions<T, R>['params']}
74 ).request;
75 const params = options.params ?? oldNameForParams ?? (() => null!);
76 return new ResourceImpl<T | undefined, R>(
77 params,
78 getLoader(options),
79 options.defaultValue,
80 options.equal ? wrapEqualityFn(options.equal) : undefined,
81 options.debugName,
82 options.injector ?? inject(Injector),
83 options.id as StateKey<T>,
84 );
85}
86
87type ResourceInternalStatus = 'idle' | 'loading' | 'resolved' | 'local';
88

Callers 15

rxResourceFunction · 0.90
debounce_spec.tsFile · 0.90
chain_spec.tsFile · 0.90
resource_spec.tsFile · 0.90
TestComponentClass · 0.90
TestCmpClass · 0.90
DebounceBugClass · 0.90
ReproCmpClass · 0.90
TestCmpClass · 0.90
PendingTestCmpClass · 0.90

Calls 4

assertInInjectionContextFunction · 0.90
injectFunction · 0.90
getLoaderFunction · 0.85
wrapEqualityFnFunction · 0.85

Tested by 1

sFunction · 0.72

Used in the wild real call sites across dependent graphs

searching dependent graphs…