1.0.18 • Published 8 months ago

js-key-validator v1.0.18

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

js-key-validator

The js-key-validator package provides a utility function called keyValidator for validating values based on their type and options.

Table of Contents

Motivation

The js-key-validator library was created with the aim of simplifying the handling of undefined and null values in JavaScript. Many developers often encounter scenarios where they need to perform checks for these values before proceeding with further logic. This repetitive task can lead to code clutter and decreased readability.

The keyValidator function provided by this library offers a streamlined solution to validate values and handle potential undefined and null cases more efficiently. By encapsulating the validation logic within a single function, the need for lengthy and repetitive code blocks is significantly reduced.

Installation

You can install js-key-validator using npm:

npm install js-key-validator

Usage

To use the keyValidator function, import it into your JavaScript file:

import keyValidator from "js-key-validator";

const obj = {
  name: "John",
  age: 30,
  active: true,
  phones: {
    home: "123456789",
    work: "333444555",
  },
};

Parameters

The keyValidator function accepts the following parameters:

ParameterTypeDescription
valueanyThe value to be validated.
typestringThe type of validation to perform.
optionsstring | objectThe path within the object for validation or The options for the validation.

The available types and their corresponding options are as follows:

isString

OptionTypeDescription
pathstringThe path within the object for validation, representing the nested property path.
minLengthnumberSpecifies the minimum length of the string (optional).
maxLengthnumberSpecifies the maximum length of the string (optional).
regexRegExpSpecifies a regular expression pattern that the string must match (optional).
// Check if object has name and it is a string
const validateName = keyValidator(obj, "isString", "name");

console.log(validateName.isValid); // Output: true
console.log(validateName.value); // Output: John

isNumber

OptionTypeDescription
pathstringThe path within the object for validation, representing the nested property path.
minnumberSpecifies the minimum value of the number (optional).
maxnumberSpecifies the maximum value of the number (optional).
integerOnlybooleanSpecifies whether the number must be an integer (optional).
evenOnlybooleanSpecifies whether the number must be even (optional).
oddOnlybooleanSpecifies whether the number must be odd (optional).
positiveOnlybooleanSpecifies whether the number must be positive (optional).
negativeOnlybooleanSpecifies whether the number must be negative (optional).
// Check if age is a number
const validateAge = keyValidator(obj, "isNumber", "age");

console.log(validateAge.isValid); // Output: true
console.log(validateAge.value); // Output: 30

isBoolean

OptionTypeDescription
pathstringThe path within the object for validation, representing the nested property path.

isURL

Validates if the value is a URL.

OptionTypeDescription
pathstringThe path within the object for validation, representing the nested property path.

isEmail

Validates if the value is an email.

OptionTypeDescription
pathstringThe path within the object for validation, representing the nested property path.

You can use these options to customize the validation behavior according to your specific requirements.

Roadmap and Contributions

The js-key-validator library is currently in progress, and there are more features and enhancements planned for the future. Your feedback, suggestions, and contributions are highly appreciated.

If you have any ideas for additional functionalities or improvements, please feel free to open an issue on the GitHub repository. Your input will help shape the future development of the library.

We welcome contributions from the community. If you would like to contribute to the project, please refer to the contribution guidelines for more information on how to get involved.

Together, we can make js-key-validator even better and more versatile!

1.0.18

8 months ago

1.0.17

8 months ago

1.0.16

8 months ago

1.0.15

10 months ago

1.0.14

10 months ago

1.0.13

11 months ago

1.0.12

11 months ago

1.0.11

11 months ago

1.0.10

11 months ago

1.0.9

11 months ago

1.0.8

11 months ago

1.0.7

11 months ago

1.0.6

11 months ago

1.0.5

11 months ago

1.0.4

11 months ago

1.0.3

11 months ago

1.0.2

12 months ago

1.0.1

12 months ago

1.0.0

12 months ago