import IIIFResource from './IIIFResource.js'; import Canvas from './Canvas.js'; /** * @todo Not needed in IIIF API v3, * replaced by items * @implements IIIFResource */ class Sequence { canvases = []; id = ''; #type = 'sc:Sequence'; resourceId = ''; constructor(baseUrl) { this.BASE_URL = baseUrl; } /** * @param {string} resourceId The resource ID for this sequence * @param {int|string} name A unique name for this sequence */ generateID(resourceId, name) { this.id = `${this.BASE_URL}/${resourceId}/sequence/${name}`; this.resourceId = resourceId; } /** * @param {Canvas} canvas The Canvas object */ addCanvas(canvas) { this.canvases.push(canvas.toObject()); } /** * @todo Implement */ toObject() { return { "@id" : this.id, "@type" : this.#type, canvases : this.canvases } } } export default Sequence;