prime-util
v0.5.0
Published
Extra Utilities using Prime
Downloads
28
Readme
Prime-Util
Your utilities for prime
Install
npm install prime-util
Current Modules Docs
prime/bound
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 MyPrime = prime({
mixin: [bound],
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]
}
})
prime/parentize
Parentize makes it easier to call overridden parent methods.
var parentize = require('prime-util/prime/parentize')
var array = require('prime/array')
var A = prime({
mixin: [parentize],
a: function(){
return array.join(arguments)
}
})
var B = prime({
mixin: [parentize],
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'
}
})
var b = new B
console.log(b) // logs "b,c,d"
prime/options
Provide "setOptions" method.
var prime = require('prime')
var Options = require('prime-util/prime/options')
var A = prime({
mixin: [Options],
options: {
'a': 'aaa',
'b': 'bbb',
'c': {
'd': 'ddd',
'e': 'eee'
}
},
constructor: function(options){
this.setOptions(options)
}
})
var a = new A({'b': 'B', 'c': {'e': 'E'}})
console.log(a.options); // {'a': 'aaa', 'b': 'B', 'c': {'d': 'ddd', 'e': 'E'}}
array/associate
Creates an object with key-value pairs based on the array of keywords passed in and the current content of the array.
var animals = ['Cow', 'Pig', 'Dog', 'Cat']
var sounds = ['Moo', 'Oink', 'Woof', 'Miao']
associate(sounds, animals)
// returns {'Cow': 'Moo', 'Pig': 'Oink', 'Dog': 'Woof', 'Cat': 'Miao'}
array/include
Pushes the passed element into the array if it's not already present (case and type sensitive).
include(['Cow', 'Pig', 'Dog'], 'Cat') // returns ['Cow', 'Pig', 'Dog', 'Cat']
include(['Cow', 'Pig', 'Dog'], 'Dog') // returns ['Cow', 'Pig', 'Dog']
array/empty
Empties an array.
var myArray = ['old', 'data']
empty(myArray)) // myArray is now []
array/pick
Returns the first defined value of the array passed in, or null.
pick(["foo", "bar"]) // "foo"
pick([null, "bar"]) // "bar"
object/fromPath
Returns the value from an object by its path
fromPath({
food: {
fruits: {
apples: "red",
lemon: "yellow"
}
}
}, 'food.fruits.apples') // 'red'
Removed Modules
The following modules have been removed:
- prime/mixin - use
mixin
property of prime - array/clean - use (mout/array/compact)
- array/invoke - use (mout/array/invoke)
- array/contains - use (mout/array/contains)
- array/append - use (mout/array/append)
- array/random - use (mout/random/choice)
- array/combine - use (mout/array/combine)
- array/find - use (mout/array/find)
- object/merge - use (mout/array/merge)