Optionaloptions: AssetManagerOptions<TSignal>Whether cancelling a load also cancels its request — that is, whether an AssetManagerOptions.abortController was injected (§76).
Presence is the capability: AssetManager.load's signal behaves the
same either way, so this is the honest answer to "did the socket actually
close?", not a switch that changes the API.
Whether { decodeInWorker: true } will post bytes to a Worker — that
is, whether an AssetManagerOptions.workerFactory was injected.
Whether this manager can compute content hashes (§76) — that is, whether an
AssetManagerOptions.digest was injected or the runtime supplied one
(crypto.subtle, absent in an insecure browser context).
Presence is the capability, exactly as canAbortTransport is. The difference is what a missing one does: cancellation degrades quietly to promise-level semantics, while a hash that cannot be computed refuses, because a verification that silently passes is worse than none.
Whether AssetManager.watch will subscribe — that is, whether an AssetManagerOptions.watch was injected.
Whether dispose has been called.
The effective §96 input-size limit in bytes (diagnostics and tests).
Number of cache slots, pending loads included.
The effective §96 load deadline in seconds (diagnostics and tests).
Evicts every entry regardless of reference count, disposing the disposable
ones in reverse insertion order (disposeAll, §83). Pending loads are
marked so they dispose on settle instead of re-entering the cache.
If any dispose() throws, every remaining asset is still disposed and the
first failure is rethrown — disposeAll's contract.
The content hash recorded for (url, loader) (§76), or undefined when
the entry is absent, still loading, or was loaded without
AssetLoadOptions.hashContent.
This is the value §79's manifest records beside the URL. Like get it is a peek: it never changes the reference count and never triggers a load.
The recorded children of url, in registration order. A URL with no
edges returns an empty array — never undefined.
The cached asset for (url, loader), or undefined if it is absent or
still loading. Does not change the reference count.
Whether a settled asset is cached for (url, loader). A load still in
flight is false here — it coalesces, but there is nothing to hand out.
Loads url through loader, or joins the load already in flight for that
pair, or returns the cached asset.
Increments the reference count by one in all three cases; pair every call with one release. A rejection leaves nothing cached, so the same call retries.
options.signal cancels this call (§76): the promise rejects, the
reference it took is handed back — so an aborted load must not be released —
and the request is abandoned once no waiter is left. See the module
comment's three cancellation rules.
Optionaloptions: AssetLoadOptionsLoads rootUrl and walks declared + registered dependencies (§76).
Optionaloptions: AssetGraphLoadOptionsThe root asset and a map of every URL the walk loaded (root included). Each map entry holds one reference.
Loads registered children first, then url (§76).
Children use AssetGraphLoadOptions.dependencyLoader when one is
given, otherwise loader. After the parent settles, any
{ dependencies: string[] } on the result are registered and loaded
too. Cycles refuse with ASSET_LOAD_FAILED /
context.reason === "dependency-cycle".
Each URL takes one load reference; the caller releases the parent
(and any child it intends to drop) itself.
Optionaloptions: AssetGraphLoadOptionsThe live reference count for (url, loader), or 0 when there is no
entry. Diagnostics and tests; the manager never needs it.
Records a parent→child edge for loadWithDependencies /
loadGraph (§76). Duplicate edges are ignored. A self-edge is
a programming error and throws INVALID_APPLICATION_STATE.
Drops one reference. On the last one the entry is evicted and a
Disposable asset is disposed (§83).
true if this call released the last reference (for a load still
in flight, disposal then happens when it settles), false if references
remain or there was no entry.
Yields the response body as Uint8Array chunks (§76 streaming).
Uses body.getReader when the transport exposes one; otherwise yields
the whole arrayBuffer() once. Does not touch the cache or take a
reference — it is a raw read, and the caller is the only consumer.
Honours AssetManagerOptions.maximumBytes, the §96 deadline, and
options.signal with the same codes as load.
Optionaloptions: Pick<AssetLoadOptions, "signal">Drops one recorded edge. Unknown pairs are a no-op.
true if an edge was removed.
Subscribes to changes for url through the injected
AssetManagerOptions.watch (§76 hot reload).
An unsubscriber. Calling it twice is a no-op.
Deduplicating, reference-counted asset cache (§76).
See the module comment for cache identity, coalescing, failure, and disposal semantics — they are the contract, not implementation detail.