{
  "version": 3,
  "sources": ["../../../src/field-types/utils/get-is-valid.ts"],
  "sourcesContent": ["/**\n * Internal dependencies\n */\nimport type { Field, NormalizedRules } from '../../types';\nimport type { FieldType } from '../../types/private';\n\nexport default function getIsValid< Item >(\n\tfield: Field< Item >,\n\tfieldType: FieldType< Item >\n): NormalizedRules< Item > {\n\tlet required;\n\tif (\n\t\tfield.isValid?.required === true &&\n\t\tfieldType.validate.required !== undefined\n\t) {\n\t\trequired = {\n\t\t\tconstraint: true,\n\t\t\tvalidate: fieldType.validate.required,\n\t\t};\n\t}\n\n\tlet elements;\n\tif (\n\t\t( field.isValid?.elements === true ||\n\t\t\t// elements is enabled unless the field opts-out\n\t\t\t( field.isValid?.elements === undefined &&\n\t\t\t\t( !! field.elements || !! field.getElements ) ) ) &&\n\t\tfieldType.validate.elements !== undefined\n\t) {\n\t\telements = {\n\t\t\tconstraint: true,\n\t\t\tvalidate: fieldType.validate.elements,\n\t\t};\n\t}\n\n\tlet min;\n\tif (\n\t\ttypeof field.isValid?.min === 'number' &&\n\t\tfieldType.validate.min !== undefined\n\t) {\n\t\tmin = {\n\t\t\tconstraint: field.isValid.min,\n\t\t\tvalidate: fieldType.validate.min,\n\t\t};\n\t}\n\n\tlet max;\n\tif (\n\t\ttypeof field.isValid?.max === 'number' &&\n\t\tfieldType.validate.max !== undefined\n\t) {\n\t\tmax = {\n\t\t\tconstraint: field.isValid.max,\n\t\t\tvalidate: fieldType.validate.max,\n\t\t};\n\t}\n\n\tlet minLength;\n\tif (\n\t\ttypeof field.isValid?.minLength === 'number' &&\n\t\tfieldType.validate.minLength !== undefined\n\t) {\n\t\tminLength = {\n\t\t\tconstraint: field.isValid.minLength,\n\t\t\tvalidate: fieldType.validate.minLength,\n\t\t};\n\t}\n\n\tlet maxLength;\n\tif (\n\t\ttypeof field.isValid?.maxLength === 'number' &&\n\t\tfieldType.validate.maxLength !== undefined\n\t) {\n\t\tmaxLength = {\n\t\t\tconstraint: field.isValid.maxLength,\n\t\t\tvalidate: fieldType.validate.maxLength,\n\t\t};\n\t}\n\n\tlet pattern;\n\tif (\n\t\tfield.isValid?.pattern !== undefined &&\n\t\tfieldType.validate.pattern !== undefined\n\t) {\n\t\tpattern = {\n\t\t\tconstraint: field.isValid?.pattern,\n\t\t\tvalidate: fieldType.validate.pattern,\n\t\t};\n\t}\n\n\tconst custom = field.isValid?.custom ?? fieldType.validate.custom;\n\n\treturn {\n\t\trequired,\n\t\telements,\n\t\tmin,\n\t\tmax,\n\t\tminLength,\n\t\tmaxLength,\n\t\tpattern,\n\t\tcustom,\n\t};\n}\n"],
  "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMe,SAAR,WACN,OACA,WAC0B;AAC1B,MAAI;AACJ,MACC,MAAM,SAAS,aAAa,QAC5B,UAAU,SAAS,aAAa,QAC/B;AACD,eAAW;AAAA,MACV,YAAY;AAAA,MACZ,UAAU,UAAU,SAAS;AAAA,IAC9B;AAAA,EACD;AAEA,MAAI;AACJ,OACG,MAAM,SAAS,aAAa;AAAA,EAE3B,MAAM,SAAS,aAAa,WAC3B,CAAC,CAAE,MAAM,YAAY,CAAC,CAAE,MAAM,iBAClC,UAAU,SAAS,aAAa,QAC/B;AACD,eAAW;AAAA,MACV,YAAY;AAAA,MACZ,UAAU,UAAU,SAAS;AAAA,IAC9B;AAAA,EACD;AAEA,MAAI;AACJ,MACC,OAAO,MAAM,SAAS,QAAQ,YAC9B,UAAU,SAAS,QAAQ,QAC1B;AACD,UAAM;AAAA,MACL,YAAY,MAAM,QAAQ;AAAA,MAC1B,UAAU,UAAU,SAAS;AAAA,IAC9B;AAAA,EACD;AAEA,MAAI;AACJ,MACC,OAAO,MAAM,SAAS,QAAQ,YAC9B,UAAU,SAAS,QAAQ,QAC1B;AACD,UAAM;AAAA,MACL,YAAY,MAAM,QAAQ;AAAA,MAC1B,UAAU,UAAU,SAAS;AAAA,IAC9B;AAAA,EACD;AAEA,MAAI;AACJ,MACC,OAAO,MAAM,SAAS,cAAc,YACpC,UAAU,SAAS,cAAc,QAChC;AACD,gBAAY;AAAA,MACX,YAAY,MAAM,QAAQ;AAAA,MAC1B,UAAU,UAAU,SAAS;AAAA,IAC9B;AAAA,EACD;AAEA,MAAI;AACJ,MACC,OAAO,MAAM,SAAS,cAAc,YACpC,UAAU,SAAS,cAAc,QAChC;AACD,gBAAY;AAAA,MACX,YAAY,MAAM,QAAQ;AAAA,MAC1B,UAAU,UAAU,SAAS;AAAA,IAC9B;AAAA,EACD;AAEA,MAAI;AACJ,MACC,MAAM,SAAS,YAAY,UAC3B,UAAU,SAAS,YAAY,QAC9B;AACD,cAAU;AAAA,MACT,YAAY,MAAM,SAAS;AAAA,MAC3B,UAAU,UAAU,SAAS;AAAA,IAC9B;AAAA,EACD;AAEA,QAAM,SAAS,MAAM,SAAS,UAAU,UAAU,SAAS;AAE3D,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACD;",
  "names": []
}
