Skip to content

Commit 84466ce

Browse files
committed
feat: Add needed utilities from Bootsrap-Vue library.
1 parent 1b53cd7 commit 84466ce

File tree

4 files changed

+34
-0
lines changed

4 files changed

+34
-0
lines changed

src/utils/array.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@ export const arrayIncludes = (array, value) => array.indexOf(value) !== -1
22
export function concat () {
33
return Array.prototype.concat.apply([], arguments)
44
}
5+
export const isArray = Array.isArray

src/utils/dom.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
export const addClass = (el, className) => {
2+
if (className && isElement(el)) {
3+
el.classList.add(className)
4+
}
5+
}
6+
7+
export const removeClass = (el, className) => {
8+
if (className && isElement(el)) {
9+
el.classList.remove(className)
10+
}
11+
}

src/utils/object.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
export const assign = Object.assign
2+
export const keys = Object.keys

src/utils/pluck-props.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import { keys } from './object'
2+
import { isArray } from './array'
3+
4+
function identity (x) {
5+
return x
6+
}
7+
/**
8+
* Given an array of properties or an object of property keys,
9+
* plucks all the values off the target object.
10+
* @param {{}|string[]} keysToPluck
11+
* @param {{}} objToPluck
12+
* @param {Function} transformFn
13+
* @return {{}}
14+
*/
15+
export default function pluckProps (keysToPluck, objToPluck, transformFn = identity) {
16+
return (isArray(keysToPluck) ? keysToPluck.slice() : keys(keysToPluck)).reduce((memo, prop) => {
17+
// eslint-disable-next-line no-sequences
18+
return (memo[transformFn(prop)] = objToPluck[prop]), memo
19+
}, {})
20+
}

0 commit comments

Comments
 (0)