'use strict'; import Manifest from '../src/Manifest.js'; import Sequence from '../src/Sequence.js'; import Canvas from '../src/Canvas.js'; import Image from '../src/Image.js'; import * as fs from 'fs'; /** * Generate a manifest object to serve * @param {string} manifestId */ export default async function generateManifest(manifestId) { const IIIF_API_VERSION = process.env.IIIF_API_VERSION; const BASE_URL = process.env.BASE_URL; const manifest = new Manifest(IIIF_API_VERSION, BASE_URL); const sequence = new Sequence(); const canvas = new Canvas(IIIF_API_VERSION, BASE_URL); const image = new Image(4000, 3000); canvas.setThumbnail(); canvas.addImage(image); sequence.addCanvas(canvas); manifest.addSequence(sequence); manifest.generateID(manifestId); console.log(await getImageList(manifestId)); return manifest.toObject(); } /** * @param {string} manifestId */ async function getImageList(manifestId) { let folderName = manifestId.replace(/pherc-(\d+)-(\w+)$/, function (match, g1, g2) { return `PHerc_${g1}_${g2.toUpperCase()}`; }); return await fs.promises.readdir(`./test-images/${folderName}`); }