import { LocalDate } from 'js-joda'; export function Over18DirectiveFactory() { return new Over18Directive(); } class Over18Directive implements angular.IDirective { require = 'ngModel'; restrict = 'A'; link = function (scope, elm, attrs, ctrl) { ctrl.$validators.over18 = function (modelValue: LocalDate, viewValue: LocalDate) { return viewValue ? viewValue.until(LocalDate.now()).years() >= 18 : false; } } }