Skip to content

Commit

Permalink
Renaming isUsState to isShortUsState and adding isShortUsZip
Browse files Browse the repository at this point in the history
  • Loading branch information
ianwalter committed May 28, 2021
1 parent 95079a6 commit c15a8bc
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 8 deletions.
5 changes: 5 additions & 0 deletions .changeset/silver-eggs-deny.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@ianwalter/nrg-validation": minor
---

Renaming isUsState to isShortUsState and adding isShortUsZip
1 change: 1 addition & 0 deletions packages/nrg-validation/.ultra.cache.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"files":{"dist":"1622214823971.1936","node_modules":"1622213567713.482","CHANGELOG.md":"7b80e63dbd05f8cffc030bd54ccc459d84ce1575","LICENSE":"563b92b948a68c80ef38b06ce7f19c84e430d3af","README.md":"ad8a49079418d450bd03ffa4c7e388b389239763","index.js":"4fa4161275e3e4822fe5afefaf2e545dbf80e86a","lib/SchemaValidator.js":"e7c9d60225262f83c0eab880bf009fd15a7b9956","lib/modifiers.js":"59d781c61f4f388b0ae4c15ab6f387335961f16e","lib/validators.js":"86cca0c7049ac885e57a490a0be190b0f04426bb","package.json":"fdde7b4beaf00dc49d2aafc17afce69b918b9f77","tests/modifiers.tests.js":"3e51aa042fe62e72d75bad966d0c25d1a6bb39cd","tests/schemaValidator.tests.js":"92f9d20df5c8a49f3133543cb6ee4d62517e4db9","tests/snapshots/schemaValidator.tests.js.snap":"209241a51a52ca5c6e698ff01e6161c5724c6501","tests/validators.tests.js":"7d842f4bc2dda60d00b101d3c3b774f24e740fc4"},"deps":{}}
15 changes: 12 additions & 3 deletions packages/nrg-validation/lib/validators.js
Original file line number Diff line number Diff line change
Expand Up @@ -114,10 +114,10 @@ isEmpty.validate = function validateEmpty (input) {

export const canBeEmpty = isEmpty

export function isUsState (input) {
return resultIsValid(isUsState.validate(input))
export function isShortUsState (input) {
return resultIsValid(isShortUsState.validate(input))
}
isUsState.validate = function validateUsState (input) {
isShortUsState.validate = function validateUsShortState (input) {
return {
isValid: [
'AL',
Expand Down Expand Up @@ -174,3 +174,12 @@ isUsState.validate = function validateUsState (input) {
].includes(input)
}
}

export const digitsRegex = /^[0-9]+$/

export function isShortUsZip (input) {
return resultIsValid(isShortUsZip.validate(input))
}
isShortUsZip.validate = function validateUsShortZip (input) {
return { isValid: input?.length === 5 && digitsRegex.test(input) }
}
19 changes: 14 additions & 5 deletions packages/nrg-validation/tests/validators.tests.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@ import {
isStrongPassword,
isObject,
isEmpty,
isUsState
isShortUsState,
isShortUsZip
} from '../index.js'

test('isString', t => {
Expand Down Expand Up @@ -102,8 +103,16 @@ test('isEmpty', t => {
t.expect(isEmpty(new Date())).toBe(false)
})

test('isUsState', t => {
t.expect(isUsState('Alabama')).toBe(false)
t.expect(isUsState('AL')).toBe(true)
t.expect(isUsState('NK')).toBe(false)
test('isShortUsState', t => {
t.expect(isShortUsState('Alabama')).toBe(false)
t.expect(isShortUsState('AL')).toBe(true)
t.expect(isShortUsState('NK')).toBe(false)
})

test('isShortUsZip', t => {
t.expect(isShortUsZip('05004')).toBe(true)
t.expect(isShortUsZip('0O422')).toBe(false)
t.expect(isShortUsZip('1202')).toBe(false)
t.expect(isShortUsZip('20203-3222')).toBe(false)
t.expect(isShortUsZip('234.3')).toBe(false)
})

0 comments on commit c15a8bc

Please sign in to comment.