Skip to content

Do more with less. A simple, high-performing, functional JavaScript library.

License

Notifications You must be signed in to change notification settings

imaginate/vitals

Repository files navigation

vitals build status npm version

Give Your JS Life

vitals is a foundational JavaScript library designed to replace all native string, object and array methods with just 16 base methods. It will improve your project's readability, stability and performance. It fixes core JS issues such as + overloading and unequal equality. Its additional methods will also allow you to more efficiently utilize immutability, strong typing, and node.js interactions with the file system or shell. Built with simplicity vitals hopes to inspire you to use functional JavaScript as the bedrock for all of your projects!

Own That String Example

// every root vitals method handles multiple operations
// most handle responses for objects, arrays, and strings
// sub vitals methods offer fine-grained control
// watch this example of vitals owning stringy things

var v, i, t, a, l, s;
var functional, life;

life = '123abc345XYZ';
v = require('node-vitals')('base');
i = v.cut(life, 3, /[a-z]/g); // "1245XYZ"
t = v.remap(life, 3, 'w$&');  // "12w3abcw345XYZ"
a = v.slice(life, -3, -1);    // "XY"
l = v.get(life, /[A-Z]/);     // [ "X", "Y", "Z" ]
s = v.fuse('v', life);        // "v123abc345XYZ"
v.has(life, 'Z');             // true
v.is('str|arr', i, t, a, l);  // true
v.is.str(i, t, a, l);         // false
l = v.to.str(l, '~');         // "X~Y~Z"
v.is.str(i, t, a, l);         // true

// goodbye confusing equality
var same = require('node-vitals')('same');
var v =  1;
var _ = '1';
same.ish(v, _); // true
same(v, _);    // false

Install & Use

node.js

  • npm install node-vitals
  • var vitals = require('node-vitals')([...method|section])

browser

amd

  • download vitals.min.js
  • require([ 'vitals' ], function(null) { ... })
  • vitals.<method> (appended to window)

API

Base Methods Strict Methods File System Methods Shell Methods
bind* amend copy run
copy cap* cut*
cut create get
each freeze to
fill seal
fuse
get
has
is
remap
roll
same
slice
to
trim*
until
* Scheduled for future release.

Other Details

contributing: see contributing guideline
bugs/improvements: open an issue
questions: dev@vitalsjs.com

-- Happy Developing,

Algorithm IV Logo

About

Do more with less. A simple, high-performing, functional JavaScript library.

Resources

License

Stars

Watchers

Forks

Packages

No packages published