27 lines
662 B
JavaScript
27 lines
662 B
JavaScript
'use strict'
|
|
|
|
import deburr from 'lodash/deburr'
|
|
import filter from 'lodash/filter'
|
|
import isEmpty from 'lodash/isEmpty'
|
|
import join from 'lodash/join'
|
|
import kebabCase from 'lodash/kebabCase'
|
|
import map from 'lodash/map'
|
|
import split from 'lodash/split'
|
|
import trim from 'lodash/trim'
|
|
|
|
module.exports = {
|
|
/**
|
|
* Convert raw path to safe path
|
|
* @param {string} rawPath Raw path
|
|
* @returns {string} Safe path
|
|
*/
|
|
makeSafePath: (rawPath) => {
|
|
let rawParts = split(trim(rawPath), '/')
|
|
rawParts = map(rawParts, (r) => {
|
|
return kebabCase(deburr(trim(r)))
|
|
})
|
|
|
|
return join(filter(rawParts, (r) => { return !isEmpty(r) }), '/')
|
|
}
|
|
}
|