npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

rc-validator

v1.0.7

Published

This library contains a validation methods for slovak birth numbers. It checks following properties:

Downloads

58

Readme

Simple JavaScript validator of Slovak birth numbers (a.k.a. personal numbers)

This library contains a validation methods for slovak birth numbers. It checks following properties:

  • correct position of '/' character
  • illegal characters
  • length
    • 9 chars for year prior 1953 included
    • 10 chars for year after 1953 excluded
  • valid month
  • valid day
  • mod 11 check

Installation

npm i rc-validator or yarn add rc-validator

Usage

import {getValidationError, isValid} from 'rc-validator'

const birthNumber = '700803/8752'

const result = getValidationError(birthNumber)
const valid = isValid(birthNumber)
const slashPresentError = getValidationError(birthNumber, 'SLASH_MUST_NOT_BE_PRESENT')

// result === undefined
// valid === true
// slashPresentError === 'SLASH_MUST_NOT_BE_PRESENT'

Methods

isValid(value: string, slashRule: SlashRule = SlashRule.OPTIONAL): boolean

  • value - input value
  • slashRule - flag declaring how to handle '/' char
  • returns true when input value is valid, otherwise false

getValidationError(value: string, slashRule: SlashRule = SlashRule.OPTIONAL): ValidationError | undefined

  • value - input value
  • slashRule - flag declaring how to handle '/' char
  • returns undefined when input value is valid, otherwise ValidationError enum value

SlashRule

| Value | Description | Note | |-------------------------------|------------------------------------------------|---------| | SLASH_OPTIONAL | It accepts input with or without slash | Default | | SLASH_REQUIRED | Slash is required | | SLASH_MUST_NOT_BE_PRESENT | Slash is prohibited, only numbers are accepted |

ValidationError

| Value | Description | Note | |-------------------------------|-----------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------| | TOO_SHORT | Input is shorter than 9 | | | TOO_LONG | Input is longer than 11 | | SLASH_REQUIRED | SlashRule === REQUIRED, but '/' is not present in input | | SLASH_MUST_NOT_BE_PRESENT | SlashRule === MUST_NOT_BE_PRESENT, but '/' is present in input | | INVALID_SLASH_POSITION | Slash char index is not 6 | | NOT_A_NUMBER | Input contains illegal characters | | INVALID_MONTH | Month part is not 1...12 | | INVALID_DAY | Day part is not 1...31 | Months with 28 or 30 days are not validated by this rule, because mod 11 rule takes care about that | | INVALID_YEAR_9_CHARS | Input is 9 char long (excluding slash), but year part is > 53 | | INVALID_YEAR_10_CHARS | Input is 10 char long (excluding slash), mod 11 rule not fulfilled and year < 54 or year > 85 | | MOD_11_CHECK_FAIL | Mod 11 rule not fulfilled |

How to run example

cd ./example
yarn
yarn start