UNPKG

purejs

Version:

Purejs is an API to help create constructors and manage their prototype chain.

77 lines (51 loc) 2.69 kB
# Overview Pure.js is an API to help create constructors and manage their prototype chain. Pure.js adheres to JavaScript's prototypal nature without introducing new ideas, allowing a greater integration with builtin constructors. # Installation npm install purejs Or using bower bower install purejs ## Bower To use the component you will have to bundle the component using a tool like [Browserify](http://browserify.org). For example: *./public/modules/app.js*: var pure = require('purejs') console.log(typeof pure) *command line*: browserify -t debowerify ./public/modules/app.js > ./public/app.max.js # Testing If you want to run the tests then you will need to do the following: cd purejs npm install npm test # API See [purejs.org](http://www.purejs.org) for the API reference and more info. # Changelog **4.0.23** - Update constructor-kit to version 0.1.0 **4.0.2** - Refactor the build process to use Gulp - Added Coffeelint to the build process - Set main file in bower.json to be NPM module pure.js - Require bower consumers to use a tool like Browserify to bundle the module **4.0.0** - Port source code to be CoffeeScript based - Replace constructor.create with constructor-kit function; API is identical to constructor-kit - Revamp the build process to use browserify and minify - Support UMD module definition - Deprecate the following features on constructors: copy constructors, init(), calling constructors without `new`, setting a name on a constructor - Register as a bower component and NPM module **3.0.0** - Remove dependency on `xport` since it's deprecated. - Clean up the dev dependencies, making it much easier to test. - Create make files for minifying and testing. - Change the exported name in browsers to `Pure` instead of `PURE`. - isArray() no longer tests for Array-like objects. Objects are only considered an Array if they have Array in their prototype chain. - isObject() now uses the following test: `o === Object(o)`. - add isPrimitive() to test for `string`, `number` and `boolean` literals. - add create() to create new objects from existing ones. - constructor.create: - remove the getName() method on constructors created via Pure.constructor.create(). - In a previous version the name argument was not being used, now it's being used by overriding the created constructor's toString() method. - The name argument no longer defaults to `UnnamedConstructor`. - If no name argument is given then the created constructor's toString() method is not overridden. - Change the unit tests to use Jasmine.