UNPKG

@dvsa/smc-encounter-schema

Version:

Schemas required for Encounter submission as well as custom validators ## Developing ### Pre-requisites

1 lines 882 B
'use strict';var classValidator=require('class-validator');var p=Object.defineProperty;var r=(o,n)=>p(o,"name",{value:n,configurable:true});function C(o){return n=>{classValidator.registerDecorator({name:"ValidateOperatorObject",target:n,propertyName:void 0,options:o,validator:{validate(s,a){let e=a.object;if(!e)return false;let t=0,c=e.stateOfOpDisc?.licenceDiscType,i=e.odtOliLicenceNumber;return c?.toUpperCase()==="V"&&!i&&t++,i&&e.licenceTypeCode?.licenceTypeCode&&(e.licenceTypeCode.licenceTypeCode.toUpperCase()==="CA"?/^[^*?]*$/.test(i)||t++:/^([a-zA-Z]{2}[0-9]{0,23})$/.test(i)||t++),t===0},defaultMessage(s){return "odtOliLicenceNumber must exist if licenceDiscType is 'V'. If licenceTypeCode is 'CA', it must not contain * or ?. Otherwise, it must start with 2 letters followed by up to 23 digits."}}});}}r(C,"ValidateOperatorObject");exports.ValidateOperatorObject=C;