New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More

@ceicc/options-checker

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ceicc/options-checker

Complete management over any object's properties


Version published
Maintainers
1
Created

Options-Checker

Check types and pass default values for objects

Installing

options-checker can be used both in node and browsers

Node

First install it with NPM

npm i @ceicc/options-checker

import optionsChecker from "@ceicc/options-checker"

// can be imported using CommonJS syntax
// const optionsChecker = require("@ceicc/options-checker")

Browser

<script defer src="https://unpkg.com/@ceicc/options-checker@^1"></script>

Usage Example

Most useful place would be for checking options arguments

const fs = require("fs/promises"),
      optionsChecker = require('./index')


function createFile(path, opts = {}) {
  if (typeof path !== "string") throw TypeError("path argument should be string")

  optionsChecker(opts, {
    data: { default: "",          type: "string|number" },
    cb:   { default: console.log, type: "function"      }
  })

  fs.writeFile(path, opts.data).then(opts.cb)
}

createFile('./test.txt', { data: "Hello World" })

You don't need re-assign opts because javascript passes objects by refrence.

The default value can be discarded, and optionsChecker will only do type checking.

Any value that it's not specified in the config object or failed type checking and doesn't have default value will be deleted.

Arguments

  1. opts The object to check against
  2. config The configuration object that holds the types and default values.

The key in config object would be the name of the value to check against in the opts object, and the value of this key would be an object with those two keys:

  • default - the default value to fall on
  • type - pipe seperated list of accepted types. e.g.: "string|boolean"

FAQs

Package last updated on 02 Feb 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts