simple-media-manager
Version:
an es6 media manager
32 lines (22 loc) • 865 B
JavaScript
import { toArray } from './array'
import { isString } from './typeof'
const selectorTypeIndicators = ['.', '#']
export const addClassesToNode = (node, classes) => {
classes = toArray(classes)
node.classList.add(...classes)
return node
}
const startsWithSelectorTypeIndicator = selector => {
return selectorTypeIndicators.filter(x => selector.startsWith(x)).length > 0
}
export const mergeSelectors = classes => classes.join('')
export const createClassSelector = selector => {
if (isString(selector)) {
return startsWithSelectorTypeIndicator(selector) ? selector : `.${selector}`
}
return selector.map(c => startsWithSelectorTypeIndicator(c) ? c : `.${c}`)
}
export const createSelector = classes => {
return mergeSelectors(createClassSelector(toArray(classes)))
}
export default {addClassesToNode, mergeSelectors, createClassSelector}