Add Helper Functions to Library
- Add `not` to simplify if expressions where the negation is wanted. - Add `cons`, `push`, `pop` to operate on lists. - Add `object` to make constructing an object simpler.
This commit is contained in:
parent
e375668143
commit
99721595c0
@ -415,6 +415,10 @@ function Library (client) {
|
|||||||
return args[args.length - 1]
|
return args[args.length - 1]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.not = (a) => {
|
||||||
|
return !a
|
||||||
|
}
|
||||||
|
|
||||||
// Arrays
|
// Arrays
|
||||||
|
|
||||||
this.each = (arr, fn) => { // Run a function for each element in a list.
|
this.each = (arr, fn) => { // Run a function for each element in a list.
|
||||||
@ -451,6 +455,18 @@ function Library (client) {
|
|||||||
return item.length
|
return item.length
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.cons = (arr, item) => { // Retruns a new array with the item.
|
||||||
|
return array.concat([item])
|
||||||
|
}
|
||||||
|
|
||||||
|
this.push = (arr, item) => { // Appends the item item into the existing list.
|
||||||
|
return array.push(item)
|
||||||
|
}
|
||||||
|
|
||||||
|
this.pop = (arr) => { // Pop the last item from the list and return the item.
|
||||||
|
return arr.pop();
|
||||||
|
}
|
||||||
|
|
||||||
this.first = (arr) => { // Returns the first item of a list.
|
this.first = (arr) => { // Returns the first item of a list.
|
||||||
return arr[0]
|
return arr[0]
|
||||||
}
|
}
|
||||||
@ -498,6 +514,14 @@ function Library (client) {
|
|||||||
}, h)
|
}, h)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.object = (...entries) => { // Creates an object with provided entries.
|
||||||
|
const result = {}
|
||||||
|
for (let i = 0; i < entries.length; i += 2) {
|
||||||
|
result[entries[i]] = entries[i + 1]
|
||||||
|
}
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
|
||||||
this.keys = (item) => { // Returns a list of the object's keys
|
this.keys = (item) => { // Returns a list of the object's keys
|
||||||
return Object.keys(item)
|
return Object.keys(item)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user