1.0.4 • Published 2 years ago

@iiif/presentation-2 v1.0.4

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

IIIF Presentation 2 types

A set of types that describe the format of the IIIF Presentation 2.1.1 specification as accurately as possible. Types are also available for IIIF Presentation 3

Installation:

$ npm i @iiif/presentation-2

Installation (yarn):

$ yarn add @iiif/presentation-2

Usage (Typescript):

import { Manifest } from '@iiif/presentation-2';

const manifest = getManifestFromSomewhere() as Manifest;

function doSomethingWithManifest(manifest: Manifest) {
 // ...
}

Usage (Javascript):

/**
 * @typedef { import("@iiif/presentation-2").Manifest } Manifest
 */

/**
 * @type {Manifest}
 */
const manifest = {};


/**
 * @param manifest {Manifest}
 */
function doSomethingWithManifest(manifest) {
    console.log(manifest.label);
}

// You can also inline the import:

/**
 * @type {import("@iiif/presentation-2").Manifest}
 */
const manifest2 = {};

This will enable types completions in VSCode and IDEA, along with inline documentation from the IIIF specification:

Support

The following types are supported:

  • Manifest
  • Collection
  • Canvas
  • Annotation (Open Annotation)
  • Annotation List (Open Annotation)
  • Layer
  • Content Resource
  • Provider
  • Range
  • Service

Partial / Abstract types

These types are building blocks of other types.

TypeDescription
TechnicalPropertiesThe technical properties of IIIF in a map TechnicalProperties['id']
DescriptivePropertiesThe descriptive properties of IIIF in a map DescriptiveProperties['label']
LinkingPropertiesThe linking properties of IIIF in a map LinkingProperties['related']
PagingPropertiesThe paging properties of IIIF in a map PagingProperties['first']
RightsPropertiesThe structural properties of IIIF in a map RightsProperties['attribution']