$ npm install uptown
Simplify prototypical inheritance. This tries to provide some simple constructs for providing functionality you get with ES6 classes, such as:
Using npm:
npm install uptown --save
Using cdn:
<script src="https://unpkg.com/uptown/dist/uptown.min.js"></script>
dist/uptown.js
contains uptown and requires lodash to be loaded separately. Can be used with requirejs.dist/uptown.min.js
contains minified uptown and dependencies (lodash).Use extendify
to add the extend method to a class (note: it mutates the original class).
The extend
class method takes three options arguments:
var extendify = require('uptown').extendify;
var Original = function() {};
Original.prototype.hello = function(value) {
return 'Hello, ' + value;
}
extendify(Original);
var SubClass = Original.extend({
// Specify a constructor for the new class
constructor: function() {
// Call parent constructor
Original.apply(this, arguments);
},
hello: function(value) {
// Add exclamation point
return Original.prototype.hello.call(this, value + '!')
}
}, {
// Specify static methods and properties
staticMethod: function() {}
}, {
// Specify getters and setters for the new class
foo: {
get: function() {},
set: function() {}
}
});
New classes may also be created using the createClass
function. The createClass
function works just like .extend
.
var createClass = require('uptown').createClass;
var Foo = createClass({
constructor: function() {
this.foo = 'bar';
}
});
© 2010 - cnpmjs.org x YWFE | Home | YWFE