-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Currently the types for ManifestNormalized and other resources do not match the IIIF specification, instead assume almost completely optional resource (for cases where a manifest, collection or annotation page has not been loaded yet). However there are times where you may know that a resource has been loaded.
Adding variations for these loaded resources: LoadedManifestNormalized with the specification constraints would allow for more accurate types. This could be a return value from vault.loadManifest() for example, and could also be used manually to narrow types.
function isLoaded(manifest: ManifestNormalized): manifest is LoadedManifestNormalized {
return manifest.items.length > 0;
}
manifest = { ... }; // ManifestNormalized;
if (isLoaded(manifest)) {
// manifest Narrowed to LoadedManifestNormalized.
manifest.label; // no errors
manifest.items[0].type; // no errors.
}jbaiter
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request