Your utilities for prime
npm install prime-util
Mixin other primes into another prime
var mixin = require('prime-util/prime/mixin')
mixin(MyPrime, Options, Events)
Provides an alternative way to bind class methods. Stores references to bound methods internally without any manual setup and does not modify the original methods.
var bound = require("prime-util/prime/bound")
var mixin = require("prime-util/prime/mixin")
var MyPrime = prime({
constructor: function(){
this.results = []
},
method: function(i){
this.results.push(i)
},
run: function(){
[1, 2, 3].forEach(function(this.bound('method')))
console.log(this.results) // [1, 2, 3]
}
})
mixin(MyPrime, bound)
Parentize makes it easier to call overridden parent methods.
var parentize = require('prime-util/prime/parentize')
var array = require('prime/es5/array')
var mixin = require('prime-util/prime/mixin')
var A = prime({
a: function(){
return array.join(arguments)
}
})
var B = prime({
inherits: A,
a: function(){
// first argument is the parent method name, in this case 'a'
// the other parameters are passed as the parent method arguments
return this.parent('a', 'b', 'c') + ',d'
}
})
mixin(B, parentize)
var b = new B
console.log(b) // logs "b,c,d"
Like Function.prototype.bind.
var fn = require('prime-util/types/function')
fn.bound(function(){
console.log(this) // "prime"
}, "prime")
Merges different objects into one object.
var object = require('prime-util/types/object')
object.merge({a: 1}, {a: 2, b: 3}, {c: 4}) // {a: 2, b: 3, c: 4}