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          18x           56x               18x           41x      
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
});