1- open CardValidations
2-
31type cardIssuer =
42 | VISA
53 | MASTERCARD
@@ -206,6 +204,7 @@ let getCardStringFromType = val => {
206204}
207205
208206let getCurrentMonthAndYear = (dateTimeIsoString : string ) => {
207+ open CardValidations
209208 let tempTimeDateString = dateTimeIsoString -> String .replace ("Z" , "" )
210209 let tempTimeDate = tempTimeDateString -> String .split ("T" )
211210
@@ -219,32 +218,43 @@ let getCurrentMonthAndYear = (dateTimeIsoString: string) => {
219218}
220219
221220let formatCardNumber = (val , cardType ) => {
222- let clearValue = val -> clearSpaces
221+ open String
222+ let clearValue = val -> CardValidations .clearSpaces
223223 let formatedCard = switch cardType {
224- | AMEX => ` ${clearValue-> slice(0, 4)} ${clearValue-> slice(4, 10)} ${clearValue-> slice(10, 15)}`
224+ | AMEX =>
225+ ` ${clearValue-> slice(~start= 0, ~end= 4)} ${clearValue-> slice(
226+ ~start= 4,
227+ ~end= 10,
228+ )} ${clearValue-> slice(~start= 10, ~end= 15)}`
225229 | DINERSCLUB
226230 | MASTERCARD
227231 | DISCOVER
228232 | SODEXO
229233 | RUPAY
230234 | UNIONPAY
231235 | VISA =>
232- ` ${clearValue-> slice(0, 4)} ${clearValue-> slice(4, 8)} ${clearValue-> slice(
233- 8,
234- 12,
235- )} ${clearValue-> slice(12, 16)} ${clearValue-> slice(16, 19)}`
236+ ` ${clearValue-> slice(~start= 0, ~end= 4)} ${clearValue-> slice(
237+ ~start= 4,
238+ ~end= 8,
239+ )} ${clearValue-> slice(~start= 8, ~end= 12)} ${clearValue-> slice(
240+ ~start= 12,
241+ ~end= 16,
242+ )} ${clearValue-> slice(~start= 16, ~end= 19)}`
236243 | _ =>
237- ` ${clearValue-> slice(0, 4)} ${clearValue-> slice(4, 8)} ${clearValue-> slice(
238- 8,
239- 12,
240- )} ${clearValue-> slice(12, 19)}`
244+ ` ${clearValue-> slice(~start= 0, ~end= 4)} ${clearValue-> slice(
245+ ~start= 4,
246+ ~end= 8,
247+ )} ${clearValue-> slice(~start= 8, ~end= 12)} ${clearValue-> slice(
248+ ~start= 12,
249+ ~end= 16,
250+ )} ${clearValue-> slice(~start= 16, ~end= 19)}`
241251 }
242252
243- formatedCard -> String . trim
253+ formatedCard -> trim
244254}
245255let getExpiryDates = val => {
246256 let date = Date .make ()-> Date .toISOString
247- let (month , year ) = splitExpiryDates (val )
257+ let (month , year ) = CardValidations . splitExpiryDates (val )
248258 let (_ , currentYear ) = getCurrentMonthAndYear (date )
249259 let prefix = currentYear -> Int .toString -> String .slice (~start = 0 , ~end = 2 )
250260 (month , ` ${prefix}${year}` )
@@ -258,7 +268,7 @@ let formatExpiryToTwoDigit = expiry => {
258268}
259269
260270let isExpiryComplete = val => {
261- let (month , year ) = splitExpiryDates (val )
271+ let (month , year ) = CardValidations . splitExpiryDates (val )
262272 month -> String .length == 2 && year -> String .length == 2
263273}
264274
@@ -324,6 +334,7 @@ let getCardBrand = cardNumber => {
324334}
325335
326336let calculateLuhn = value => {
337+ open CardValidations
327338 let card = value -> clearSpaces
328339 let splitArr = card -> String .split ("" )
329340 splitArr -> Array .reverse
@@ -394,6 +405,7 @@ let getCardBrandIcon = (cardType, paymentType) => {
394405}
395406
396407let getExpiryValidity = cardExpiry => {
408+ open CardValidations
397409 let date = Date .make ()-> Date .toISOString
398410 let (month , year ) = getExpiryDates (cardExpiry )
399411 let (currentMonth , currentYear ) = getCurrentMonthAndYear (date )
@@ -416,6 +428,7 @@ let isExipryValid = val => {
416428}
417429
418430let cardNumberInRange = (val , cardBrand ) => {
431+ open CardValidations
419432 let clearValue = val -> clearSpaces
420433 let obj = getobjFromCardPattern (cardBrand )
421434 let cardLengthInRange = obj .length -> Array .map (item => {
@@ -428,6 +441,7 @@ let max = (a, b) => {
428441}
429442
430443let getMaxLength = val => {
444+ open CardValidations
431445 let obj = getobjFromCardPattern (val )
432446 let maxValue = obj .length -> Array .reduce (0 , max )
433447 if maxValue <= 12 {
@@ -442,6 +456,7 @@ let getMaxLength = val => {
442456}
443457
444458let cvcNumberInRange = (val , cardBrand ) => {
459+ open CardValidations
445460 let clearValue = val -> clearSpaces
446461 let obj = getobjFromCardPattern (cardBrand )
447462 let cvcLengthInRange = obj .cvcLength -> Array .map (item => {
@@ -479,21 +494,22 @@ let generateFontsLink = (fonts: array<CardThemeType.fonts>) => {
479494}
480495
481496let maxCardLength = cardBrand => {
482- let obj = getobjFromCardPattern (cardBrand )
497+ let obj = CardValidations . getobjFromCardPattern (cardBrand )
483498 Array .reduce (obj .length , 0 , (acc , val ) => max (acc , val ))
484499}
485500
486501let isCardLengthValid = (cardBrand , cardNumberLength ) => {
487- let obj = getobjFromCardPattern (cardBrand )
502+ let obj = CardValidations . getobjFromCardPattern (cardBrand )
488503 Array .includes (obj .length , cardNumberLength )
489504}
490505
491506let cardValid = (cardNumber , cardBrand ) => {
492- let clearValueLength = cardNumber -> clearSpaces -> String .length
507+ let clearValueLength = cardNumber -> CardValidations . clearSpaces -> String .length
493508 isCardLengthValid (cardBrand , clearValueLength ) && calculateLuhn (cardNumber )
494509}
495510
496511let focusCardValid = (cardNumber , cardBrand ) => {
512+ open CardValidations
497513 let clearValueLength = cardNumber -> clearSpaces -> String .length
498514 if cardBrand == "" {
499515 clearValueLength == maxCardLength (cardBrand ) && calculateLuhn (cardNumber )
@@ -578,7 +594,7 @@ let commonKeyDownEvent = (ev, srcRef, destRef, srcEle, destEle, setEle) => {
578594 let key = ReactEvent .Keyboard .keyCode (ev )
579595 if key == 8 && srcEle == "" {
580596 handleInputFocus (~currentRef = srcRef , ~destinationRef = destRef )
581- setEle (_ => slice (destEle , 0 , - 1 ))
597+ setEle (_ => destEle -> String . slice (~ start = 0 , ~ end = -1 ))
582598 ev -> ReactEvent .Keyboard .preventDefault
583599 }
584600}
@@ -698,9 +714,11 @@ let getPaymentMethodBrand = (customerMethod: PaymentType.customerMethods) => {
698714}
699715
700716let getFirstValidCardSchemeFromPML = (~cardNumber , ~enabledCardSchemes ) => {
701- let allMatchedCards = getAllMatchedCardSchemes (cardNumber -> clearSpaces )
717+ let allMatchedCards = CardValidations .getAllMatchedCardSchemes (
718+ cardNumber -> CardValidations .clearSpaces ,
719+ )
702720 allMatchedCards -> Array .find (card =>
703- isCardSchemeEnabled (~cardScheme = card -> String .toLowerCase , ~enabledCardSchemes )
721+ CardValidations . isCardSchemeEnabled (~cardScheme = card -> String .toLowerCase , ~enabledCardSchemes )
704722 )
705723}
706724
0 commit comments