import type { AssertRule } from '~/types/interfaces' import { useI18n } from 'vue-i18n' export class PositiveAssert implements AssertRule { supports(key: string): boolean { return key === 'positive' } createRule(criteria: string): (value: unknown) => true | string { const { t } = useI18n() if (criteria === 'positive') { return (value: number) => value === null || value > 0 || t(`must_be_positive`) } else if (criteria === 'positive_or_zero') { return (value: number) => value === null || value >= 0 || t(`must_be_positive_or_egal_0`) } return () => true } }