From dedd5139a017acfb2da47067c457cfc379ede00e Mon Sep 17 00:00:00 2001 From: Stephen Fraser Date: Wed, 17 Sep 2025 16:23:13 +0100 Subject: [PATCH] Fix for image service level --- __tests__/image-3-parser/supports.test.ts | 12 ++++++++++++ src/image-3/utilities/get-image-service-level.ts | 8 ++++---- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/__tests__/image-3-parser/supports.test.ts b/__tests__/image-3-parser/supports.test.ts index 0ead791..eddbce0 100644 --- a/__tests__/image-3-parser/supports.test.ts +++ b/__tests__/image-3-parser/supports.test.ts @@ -7,6 +7,7 @@ import { supports, imageServiceSupportsRequest, imageServiceSupportsFormat, + getImageServiceLevel, } from '../../src/image-3'; describe('supports', function () { @@ -175,6 +176,17 @@ describe('supports', function () { }); describe('imageServiceSupportsRequest', () => { + test('bfn image service level', () => { + const service = { + profile: 'http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level2', + width: 4564, + height: 6174, + '@context': 'http://library.stanford.edu/iiif/image-api/1.1/context.json', + '@id': 'https://gallica.bnf.fr/iiif/ark:/12148/bpt6k11620688/f1', + } as ImageService; + + expect(getImageServiceLevel(service)).toEqual(2); + }); test('sample image service (v2)', () => { const u = parseImageServiceRequest; const service2: ImageService = { diff --git a/src/image-3/utilities/get-image-service-level.ts b/src/image-3/utilities/get-image-service-level.ts index dc010a0..91bce7f 100644 --- a/src/image-3/utilities/get-image-service-level.ts +++ b/src/image-3/utilities/get-image-service-level.ts @@ -6,14 +6,14 @@ export function getImageServiceLevel(service: ImageService): null | number { if (!isImageService(service)) { return null; } - if (isImageServiceLevel(0, service)) { - return 0; + if (isImageServiceLevel(2, service)) { + return 2; } if (isImageServiceLevel(1, service)) { return 1; } - if (isImageServiceLevel(2, service)) { - return 2; + if (isImageServiceLevel(0, service)) { + return 0; } return null; }