GithubHelp home page GithubHelp logo

inanisomnia / constrainjs Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 159 KB

A pure javascript method of limiting and controlling the properties of native js objects and JSON objects, along with extra builtin methods to make js easier to use.

License: MIT License

JavaScript 100.00%
constrain control javascript js json limit native object schema

constrainjs's Introduction

Logo

Constrain JS

A pure javascript method of limiting and controlling the properties of native js objects and JSON objects, along with extra builtin methods to make js easier to use.
Report bug · Request feature

WARNING Major updates are being made to this package without a version change as this package is not made for public release yet

See our docs for full documentation

Table of Contents

Quick Start Guide

Require the package

const constrainjs = require("constrainjs");
// or
const {ConstrainArray, ConstrainString} = require("constrainjs").native;

and start using the new native objects!

const myArray = ["hello", "world"];
const options = {
    maxLength: 5,
    allowedTypes: ["string"]
}
const myBetterArray = new ConstrainArray(myArray, options)

See our docs for further documentation

What's included

  • Native
    • Array (A custom and constrainable version of the native Array object)
    • String (A custom and constrainable version of the native String object)
  • JSON
    • Config (A JSON object access class, used by Schema for defining controlled schemas)
    • ConfigSchema (A Class used to define schemas and check objects against them)

Compatibility

See compatibility table

Bugs and feature requests

Have a bug or a feature request? Please first read the issue guidelines and search for existing and closed issues. If your problem or idea is not addressed yet, please open a new issue.

Contributing

Please read through our contributing guidelines. Included are directions for opening issues, coding standards, and notes on development.

VSCode Editor preferences are left available in the editor config to aid development, any changes made to this folder for personal preferences should NOT be committed to any PRs

Authors

Inanis

Main developer and package initiator

If you would like to join this list, please feel free to send a pull request!

Copyright and license

Code released under the MIT License.

Enjoy

constrainjs's People

Contributors

inanisomnia avatar

Stargazers

 avatar  avatar

Watchers

 avatar

constrainjs's Issues

Generate empty

A method on the schema object that generates an empty json object with blank values (and any defaults) so it can be populated by other code or written to a file.

Default Parameters

Optionally, a default parameter can be passed into the CType. When this is passed, the optional parameter is presumed true and if not present in the config, it is replaced with the default value when called with parseConfig

Describe alternatives you've considered

  • Separate methods can be used to return true or false if the config passes the schema and another method to return a parsed version of the config which has the default values put in place and any config options not defined in the schema removed

  • Could also set the parameter to its default state if its the wrong type

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.