import { DataOverlayAnnotationFaker } from '@test/fakers/data-overlay-annotation.faker'; import { DataOverlayLengthFaker } from '@test/fakers/data-overlay-length.faker'; import { DataOverlayPolygonFaker } from '@test/fakers/data-overlay-polygon.faker'; import { DataOverlayAngleFaker } from '@test/fakers/data-overlay-angle.faker'; import { faker } from '@faker-js/faker'; import { InteractionType } from '@3cr/types-ts'; import { DataOverlay, DataOverlayAngle, DataOverlayAngleRaw, DataOverlayAnnotation, DataOverlayAnnotationRaw, DataOverlayInteraction, DataOverlayInteractionRaw, DataOverlayLength, DataOverlayLengthRaw, DataOverlayPolygon, DataOverlayPolygonRaw, DataOverlayRaw } from '@3cr/viewer-types-ts'; export class DataOverlayInteractionFaker { static annotation(interaction: InteractionType): DataOverlayInteraction { return DataOverlayInteractionFaker.random(DataOverlayAnnotationFaker.random(), interaction); } static annotationRaw(interaction: InteractionType): DataOverlayInteractionRaw { return DataOverlayInteractionFaker.randomRaw(DataOverlayAnnotationFaker.randomRaw(), interaction); } static length(interaction: InteractionType): DataOverlayInteraction { return DataOverlayInteractionFaker.random(DataOverlayLengthFaker.random(), interaction); } static lengthRaw(interaction: InteractionType): DataOverlayInteractionRaw { return DataOverlayInteractionFaker.randomRaw(DataOverlayLengthFaker.randomRaw(), interaction); } static polygon(interaction: InteractionType): DataOverlayInteraction { return DataOverlayInteractionFaker.random(DataOverlayPolygonFaker.random(), interaction); } static polygonRaw(interaction: InteractionType): DataOverlayInteractionRaw { return DataOverlayInteractionFaker.randomRaw(DataOverlayPolygonFaker.randomRaw(), interaction); } static angle(interaction: InteractionType): DataOverlayInteraction { return DataOverlayInteractionFaker.random(DataOverlayAngleFaker.random(), interaction); } static angleRaw(interaction: InteractionType): DataOverlayInteractionRaw { return DataOverlayInteractionFaker.randomRaw(DataOverlayAngleFaker.randomRaw(), interaction); } private static random(data: T, type: InteractionType): DataOverlayInteraction { return { Version: faker.system.semver(), DataOverlay: data, Interaction: type }; } private static randomRaw(data: T, type: InteractionType): DataOverlayInteractionRaw { return { Version: faker.system.semver(), DataOverlay: data, Interaction: type }; } }