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          19x           58x               19x           43x      
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,
});