sce-component
Version:
79 lines (69 loc) • 2.06 kB
JavaScript
import pages from './pages'
// var path = require('path')
var list = []
var experts = []
var final = {}
var columnsName = ''
pages.map(page => page.slice(0, page.length - 5)).forEach(page => {
// let [folder, file] = page.split('/')
let A = page.split('/')
list.push({
file: A.length >= 2 ? A[A.length - 1] : '',
folder: A.length >= 2 ? A[A.length - 2] : '',
context: require('./' + page + '.json')
})
})
for (var i = 0; i < list.length; i++) {
if (experts.length === 0) {
// experts.insert(list, i)
experts.push({
file: list[i].file,
folder: list[i].folder,
context: JSON.parse('{"' + list[i].folder + '":' + JSON.stringify(list[i].context) + '}')
})
}
else {
var flag = false
for (var j = 0; j < experts.length; j++) {
if (experts[j].file === list[i].file && flag !== true) {
var a = JSON.stringify(experts[j].context)
var b = '{"' + list[i].folder + '":' + JSON.stringify(list[i].context) + '}'
// var c = extend({}, [a, b])
// var d = '(' + (JSON.stringify(a) + JSON.stringify(b)).replace(/}{/, ',') + ')'
var d = JSON.parse((a + b).replace(/}{/, ','))
experts[j].context = d
flag = true
}
}
if (flag === false) {
experts.push({
file: list[i].file,
folder: list[i].folder,
context: JSON.parse('{"' + list[i].folder + '":' + JSON.stringify(list[i].context) + '}')
})
}
}
}
/* function extend (des, src, override) {
if (src instanceof Array) {
for (var i = 0, len = src.length; i < len; i++) {
extend(des, src[i], override)
}
}
for (i in src) {
if (override || !(i in des)) {
des[i] = src[i]
}
}
return des
} */
for (i = 0; i < experts.length; i++) {
final[experts[i].file] = experts[i].context
if (columnsName !== '') columnsName = columnsName + ','
columnsName = columnsName + experts[i].file
}
var i18n = final
export {
i18n,
columnsName
}