UNPKG

@allmaps/iiif-parser

Version:

Allmaps IIIF parser

54 lines (53 loc) 2.4 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 } from './image.js'; import { Canvas } from './canvas.js'; import type { LanguageString, Metadata, MajorVersion, FetchNextResults } 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 * @class EmbeddedManifest * @property {boolean} embedded - Whether the Manifest is embedded in a Collection * @property {string} [uri] - URI of Manifest * @property {LanguageString} [label] - Label of Manifest * @property {MajorVersion} [majorVersion] - IIIF API version of Manifest * @property {string} [type] - Resource type, equals 'manifest' */ export declare class EmbeddedManifest { embedded: boolean; uri: string; type: typeof ManifestTypeString; label?: LanguageString; majorVersion: MajorVersion; constructor(parsedManifest: ManifestType | EmbeddedManifestType); } /** * Parsed IIIF Manifest * @class Manifest * @extends EmbeddedManifest * @property {Canvas[]} canvases - Array of parsed canvases * @property {LanguageString} [description] - Description of Manifest * @property {Metadata} [metadata] - Metadata of Manifest */ export declare class Manifest extends EmbeddedManifest { canvases: Canvas[]; description?: LanguageString; metadata?: Metadata; embedded: boolean; constructor(parsedManifest: ManifestType); /** * Parses a IIIF resource and returns a [Manifest](#manifest) containing the parsed version * @param {any} iiifManifest - Source data of IIIF Manifest * @param {MajorVersion} [majorVersion=null] - IIIF API version of Manifest. If not provided, it will be determined automatically * @returns {Manifest} Parsed IIIF Manifest * @static */ static parse(iiifManifest: unknown, majorVersion?: MajorVersion | null): Manifest; fetchAll(fetchFn?: typeof fetch): Promise<FetchNextResults<Image>[]>; fetchNext(fetchFn?: typeof fetch, depth?: number): AsyncGenerator<FetchNextResults<Image>, void, void>; } export {};