UNPKG

@cornerstonejs/core

Version:
38 lines (37 loc) 1.27 kB
class FrameRange { static imageIdToFrames(imageId) { const match = imageId.match(this.frameRangeExtractor); if (!match || !match[2]) { return null; } const range = match[2].split('-').map((it) => Number(it)); if (range.length === 1) { return range[0]; } return range; } static imageIdToFrameEnd(imageId) { const range = this.imageIdToFrames(imageId); return Array.isArray(range) ? range[1] : range; } static imageIdToFrameStart(imageId) { const range = this.imageIdToFrames(imageId); return Array.isArray(range) ? range[0] : range; } static framesToString(range) { if (Array.isArray(range)) { return `${range[0]}-${range[1]}`; } return String(range); } static framesToImageId(imageId, range) { const match = imageId.match(this.frameRangeExtractor); if (!match || !match[2]) { return null; } const newRangeString = this.framesToString(range); return imageId.replace(this.frameRangeExtractor, `${match[1]}${newRangeString}`); } } FrameRange.frameRangeExtractor = /(\/frames\/|[&?]frameNumber=)([^/&?]*)/i; export default FrameRange;