Displaying 1 to 20 from 298 results

deep-freeze - recursively Object.freeze() on objects and functions


Call Object.freeze(obj) recursively on all unfrozen properties of obj that are functions or objects.Based in part on the code snippet from the MDN wiki page on Object.freeze(), which is released to the public domain.

just - A library of dependency-free utilities that do just do one thing.


A library of zero-dependency npm modules that do just do one thing. A guilt-free alternative to those bulkier utility libraries. Ideal for mobile web development or wherever bytes are precious. We welcome contributions. Please follow our contribution guidelines.

Watch.JS - watch the changes of any object or attribute


Watch.JS is a small library with a lot of possibilities. You may know that the "Observer" design pattern involves executing some function when an observed object changes. Other libraries exist that do this, but with Watch.JS you will not have to change the way you develop. Take a look at the examples to see how simple it is to add Watch.JS to your code. If you don't want to call a second watcher in the current scope just set WatchJS.noMore to true and it will be reset to false when this watcher finishes.




superstruct - A simple and composable way to validate data in Javascript.


A simple and composable way to validate data in JavaScript. Superstruct makes it easy to define interfaces and then validate JavaScript data against them. Its type annotation API was inspired by Typescript, Flow, Go, and GraphQL, giving it a familiar and easy to understand API.

101 - A modern JS utility library


Just like ES6's Object.assign. Extend an object with any number of objects (returns original). Functional version of &&. Works great with array.reduce.

stampit - OOP is better with stamps: Composable object factories.


Stampit is a 1.3KB gzipped (or 2.7K minified) JavaScript module which supports three different kinds of prototypal inheritance (delegation, concatenation, and functional) to let you inherit behavior in a way that is much more powerful and flexible than any other Object Oriented Programming model. Stamps are standardised composable factory functions. Stampit is an infected compose featuring friendly handy API.

object-explorer - 🔥 A resource to help figure out what JavaScript object method would be best to use at any given time


When I was first learning object methods, I spent a lot of time digging through the docs to find the appropriate one, and I had to search one by one. I made this resource to help people find the correct object method a bit more naturally. You can narrow down what you want to do and explore until you find what's most useful to you. I realize that there are about a million ways that this resource can be set up, and some of the taxonomy is necessarily opinionated. I tried to focus on what I thought would have helped me learn the best, rather than industry standard delineations. If that style of learning suits you better, that's great! This resource is not set up that way. Please keep in mind that this is not meant to be as comprehensive or a replacement for full documentation, which is why the MDN docs are linked to in each method.


flat - :steam_locomotive: Flatten/unflatten nested Javascript objects


Take a nested Javascript object and flatten it, or unflatten an object with delimited keys.Use a custom delimiter for (un)flattening your objects, instead of ..

object-assign - ES2015 Object.assign() ponyfill


Node.js 4 and up, as well as every evergreen browser (Chrome, Edge, Firefox, Opera, Safari), support Object.assign() 🎉. If you target only those environments, then by all means, use Object.assign() instead of this package.Assigns enumerable own properties of source objects to the target object and returns the target object. Additional source objects will overwrite previous ones.

on-change - Watch an object or array for changes


It works recursively, so it will even detect if you modify a deep property like obj.a.b[0].c = true.Uses the Proxy API.

object-hash - Generate hashes from javascript objects in node and the browser.


Generate hashes from objects and values in node and the browser. Uses node.js crypto module for hashing. Supports SHA1 and many others (depending on the platform) as well as custom streams (e.g. CRC32). Starting with version 1.1.8 (released April 2017), new versions will consider the exact returned hash part of the API contract, i.e. changes that will affect hash values will be considered semver-major. Previous versions may violate that expectation.

icaro - Smart and efficient javascript object observer, ideal for batching DOM updates (~1kb)


icaro is really fast compared to the other reactive libs because it smartly throttles all the state changes. icaro will let you listen to all the changes happening in a javascript object or array, grouping them efficiently, and optimizing the performance of your listeners.

nodecache - a node internal caching module


A simple caching module that has set, get and delete methods and works a little bit like memcached. Keys can have a timeout (ttl) after which they expire and are deleted from the cache. All keys are stored in a single object so the practical limit is at around 1m keys. Since 4.1.0: Key-validation: The keys can be given as either string or number, but are casted to a string internally anyway. All other types will either throw an error or call the callback with an error.

generate-schema - Convert JSON Objects to MySQL Schema, JSON Schema, Mongoose Schema, Google BigQuery, or a Generic template for Swagger files, documentation, code generation, and more


Convert JSON Objects to MySQL Table Schema, JSON Schema, Mongoose Schema, ClickHouse Schema, Google BigQuery, or a Generic template for documentation, code generation, and more. Optionally, add -g to the above if you want the generate-schema command line executable.

jsonpath - Query and manipulate JavaScript objects with JSONPath expressions


Query JavaScript objects with JSONPath expressions. Robust / safe JSONPath engine for Node.js. Here are syntax and examples adapted from Stefan Goessner's original post introducing JSONPath in 2007.

object-graph - Provides useful operations on PHP object graphs


Provides useful operations on PHP object graphs. The object_graph_dump() function supports the DOT Graph Description Language (.dot), Portable Document Format (.pdf), Portable Network Graphics (.png), and Scalable Vector Graphics (.svg) output formats.

simulacra - Data-binding function for the DOM.


Simulacra.js returns a DOM Node that updates when an object changes. Its API is a single function, and it does not introduce any new syntax or a template language. It recursively adds metaprogramming features to vanilla data structures to work. It is a fairly low cost abstraction, though it may not be quite as fast as hand-optimized code. The approximate size of this library is ~5 KB (minified and gzipped).