All files / lib/schemas observations.js

100% Statements 4/4
100% Branches 0/0
100% Functions 2/2
100% Lines 4/4

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29          16x           52x               16x           37x      
import { type } from 'arktype';
 
import { Dimensions, ID, References } from './common.js';
import { MetadataErrors, MetadataValues } from './metadata.js';
 
export const Image = type({
	id: /\d+(_\d+)*/,
	filename: 'string',
	addedAt: 'string.date.iso.parse',
	dimensions: Dimensions,
	metadata: MetadataValues,
	metadataErrors: MetadataErrors.default(() => ({})),
	contentType: /\w+\/\w+/,
	fileId: ID.or('null').describe("ID vers l'objet ImageFile associé"),
	sessionId: ID.describe('ID de la session à laquelle cette image appartient'),
	/** Si les boîtes englobantes ont été analysées. Pratique en particulier pour savoir s'il faut calculer les boîtes englobantes pour une image qui n'a aucune observation associée (chaque bounding box crée une image) */
	boundingBoxesAnalyzed: 'boolean = false'
});
 
export const Observation = type({
	id: ID,
	sessionId: ID.describe('ID de la session à laquelle cette observation appartient'),
	label: 'string',
	addedAt: 'string.date.iso.parse',
	metadataOverrides: MetadataValues,
	metadataErrors: MetadataErrors.default(() => ({})),
	images: References
});