@allmaps/iiif-parser
Version:
Allmaps IIIF parser
36 lines (35 loc) • 1.8 kB
TypeScript
import { z } from 'zod';
import { CollectionSchema } from '../schemas/iiif.js';
import { EmbeddedManifest, Manifest } from './manifest.js';
import type { Image } from './image.js';
import type { LanguageString, MajorVersion, FetchNextOptions, FetchNextResults } from '../lib/types.js';
type CollectionType = z.infer<typeof CollectionSchema>;
declare const CollectionTypeString = "collection";
/**
* Parsed IIIF Collection
* @class Collection
* @property {string} [uri] - URI of Collection
* @property {LanguageString} [label] - Label of Collection
* @property {Collection[] | Manifest[] | EmbeddedManifest[]} [items] - Items in Collection
* @property {MajorVersion} [majorVersion] - IIIF API version of Collection
* @property {string} [type] - Resource type, equals 'collection'
*/
export declare class Collection {
uri: string;
type: typeof CollectionTypeString;
majorVersion: MajorVersion;
items: (Collection | Manifest | EmbeddedManifest)[];
label?: LanguageString;
constructor(parsedCollection: CollectionType);
/**
* Parses a IIIF Collection and returns a [Collection](#collection) containing the parsed version
* @param {any} iiifCollection - Source data of IIIF Collection
* @param {MajorVersion} [majorVersion=null] - IIIF API version of Collection. If not provided, it will be determined automatically
* @returns {Collection} Parsed IIIF Collection
* @static
*/
static parse(iiifCollection: unknown, majorVersion?: MajorVersion | null): Collection;
fetchAll(options?: Partial<FetchNextOptions>): Promise<FetchNextResults<Collection | Manifest | Image>[]>;
fetchNext(options?: Partial<FetchNextOptions>, depth?: number): AsyncGenerator<FetchNextResults<Collection | Manifest | Image>, void, void>;
}
export {};