UNPKG

@allmaps/iiif-parser

Version:

Allmaps IIIF parser

63 lines (62 loc) 2.69 kB
import { z } from 'zod'; import { ManifestSchema } from '../schemas/iiif.js'; import { EmbeddedManifest2Schema } from '../schemas/presentation.2.js'; import { EmbeddedManifest3Schema } from '../schemas/presentation.3.js'; import { Image, EmbeddedImage } from './image.js'; import { Canvas } from './canvas.js'; import type { LanguageString, Metadata, MajorVersion, FetchNextResults, NavDate, NavPlace, Thumbnail, SeeAlso, Summary, RequiredStatement, Annotations, Homepage, Rendering } from '../lib/types.js'; type ManifestType = z.infer<typeof ManifestSchema>; type EmbeddedManifestType = z.infer<typeof EmbeddedManifest2Schema> | z.infer<typeof EmbeddedManifest3Schema>; declare const ManifestTypeString = "manifest"; /** * Parsed IIIF Manifest, embedded in a Collection * @property embedded - Whether the Manifest is embedded in a Collection * @property uri - URI of Manifest * @property label - Label of Manifest * @property majorVersion - IIIF API version of Manifest * @property type - Resource type, equals 'manifest' */ export declare class EmbeddedManifest { readonly embedded: boolean; uri: string; type: typeof ManifestTypeString; label?: LanguageString; majorVersion: MajorVersion; constructor(parsedManifest: ManifestType | EmbeddedManifestType); } /** * Parsed IIIF Manifest * * @property canvases - Array of parsed canvases * @property description - Description of Manifest * @property metadata - Metadata of Manifest */ export declare class Manifest extends EmbeddedManifest { #private; canvases: Canvas[]; description?: LanguageString; metadata?: Metadata; navDate?: NavDate; navPlace?: NavPlace; homepage?: Homepage; thumbnail?: Thumbnail; rendering?: Rendering; seeAlso?: SeeAlso; summary?: Summary; requiredStatement?: RequiredStatement; annotations?: Annotations; readonly embedded = false; constructor(parsedManifest: ManifestType); /** * Parses a IIIF resource and returns a [Manifest](#manifest) containing the parsed version * @param iiifManifest - Source data of IIIF Manifest * @param majorVersion - IIIF API version of Manifest. If not provided, it will be determined automatically * @returns Parsed IIIF Manifest */ static parse(iiifManifest: unknown, majorVersion?: MajorVersion | null): Manifest; get images(): (EmbeddedImage | Image)[]; fetchAll(fetchFn?: typeof fetch): Promise<FetchNextResults<Image>[]>; fetchNext(fetchFn?: typeof fetch, depth?: number): AsyncGenerator<FetchNextResults<Image>, void, void>; fetchImageByUri(imageUri: string, fetchFn?: typeof fetch): Promise<Image | undefined>; } export {};