Skip to content

Commit 0698873

Browse files
refactor: remove unnecessary util function (#1171)
1 parent a37d99e commit 0698873

4 files changed

Lines changed: 48 additions & 30 deletions

File tree

src/CardUtils.res

Lines changed: 39 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
open CardValidations
2-
31
type cardIssuer =
42
| VISA
53
| MASTERCARD
@@ -206,6 +204,7 @@ let getCardStringFromType = val => {
206204
}
207205

208206
let 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

221220
let 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
}
245255
let 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

260270
let 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

326336
let 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

396407
let 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

418430
let 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

430443
let 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

444458
let 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

481496
let 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

486501
let isCardLengthValid = (cardBrand, cardNumberLength) => {
487-
let obj = getobjFromCardPattern(cardBrand)
502+
let obj = CardValidations.getobjFromCardPattern(cardBrand)
488503
Array.includes(obj.length, cardNumberLength)
489504
}
490505

491506
let 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

496511
let 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

700716
let 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

src/Components/BlikCodePaymentInput.res

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ let make = () => {
88
let blikCodeRef = React.useRef(Nullable.null)
99
let formatBSB = bsb => {
1010
let formatted = bsb->String.replaceRegExp(%re("/\D+/g"), "")
11-
let firstPart = formatted->CardValidations.slice(0, 3)
12-
let secondPart = formatted->CardValidations.slice(3, 6)
11+
let firstPart = formatted->String.slice(~start=0, ~end=3)
12+
let secondPart = formatted->String.slice(~start=3, ~end=6)
1313

1414
if formatted->String.length <= 3 {
1515
firstPart

src/Payments/BacsBankDebit.res

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ open Utils
44

55
let formatSortCode = sortcode => {
66
let formatted = sortcode->String.replaceRegExp(%re("/\D+/g"), "")
7-
let firstPart = formatted->CardValidations.slice(0, 2)
8-
let secondPart = formatted->CardValidations.slice(2, 4)
9-
let thirdpart = formatted->CardValidations.slice(4, 6)
7+
let firstPart = formatted->String.slice(~start=0, ~end=2)
8+
let secondPart = formatted->String.slice(~start=2, ~end=4)
9+
let thirdpart = formatted->String.slice(~start=4, ~end=6)
1010

1111
if formatted->String.length <= 2 {
1212
firstPart

src/Payments/Boleto.res

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ let cleanSocialSecurityNumber = socialSecurityNumber =>
66

77
let formatSocialSecurityNumber = socialSecurityNumber => {
88
let formatted = socialSecurityNumber->cleanSocialSecurityNumber
9-
let firstPart = formatted->CardValidations.slice(0, 3)
10-
let secondPart = formatted->CardValidations.slice(3, 6)
11-
let thirdPart = formatted->CardValidations.slice(6, 9)
12-
let fourthPart = formatted->CardValidations.slice(9, 11)
9+
let firstPart = formatted->String.slice(~start=0, ~end=3)
10+
let secondPart = formatted->String.slice(~start=3, ~end=6)
11+
let thirdPart = formatted->String.slice(~start=6, ~end=9)
12+
let fourthPart = formatted->String.slice(~start=9, ~end=11)
1313

1414
if formatted->String.length <= 3 {
1515
firstPart

0 commit comments

Comments
 (0)