API reference
Every public class, method, and event in @codexo/exojs. Generated from source.
classAssetManifest
The packs a deployment holds, addressed by logical name. A pack file is named after the hash of its own bytes, so its URL changes exactly when its contents do and it can be cached forever. The manifest is the one URL that has to be re-read: it says which file currently holds each logical pack, and describes each one - byte length, block count, the sources it carries - well enough to decide what to load before loading anything. Reading a pack through a manifest is what makes a re-packed asset set cheap for a returning client. Blocks are stored by hash, so the blocks that did not change are re-used from a `ContainerBlockStore` and only the changed ones are fetched.
import { AssetManifest } from '@codexo/exojs'The packs a deployment holds, addressed by logical name.
A pack file is named after the hash of its own bytes, so its URL changes exactly when its contents do and it can be cached forever. The manifest is the one URL that has to be re-read: it says which file currently holds each logical pack, and describes each one - byte length, block count, the sources it carries - well enough to decide what to load before loading anything.
Reading a pack through a manifest is what makes a re-packed asset set cheap for a returning client. Blocks are stored by hash, so the blocks that did not change are re-used from a `ContainerBlockStore` and only the changed ones are fetched.
has(name: string): booleanpack(name: string): ManifestPackOne pack a manifest carries.packFor(source: string): ManifestPackOne pack a manifest carries. | undefinedopen(url: string, options: AssetManifestOptionsHow a manifest is fetched.): Promise<AssetManifest>parse(document: unknown, url: string): AssetManifesturl: stringpacks: readonly ManifestPackOne pack a manifest carries.[]