nifty-wallet/development/genStates.js

27 lines
1010 B
JavaScript
Raw Normal View History

2016-06-30 18:22:16 -07:00
const fs = require('fs')
const path = require('path')
const promisify = require('pify')
const enLocaleMessages = require('../app/_locales/en/messages.json')
2016-06-30 18:22:16 -07:00
2018-03-11 14:51:54 -07:00
start().catch(console.error)
2016-06-30 18:22:16 -07:00
2018-03-11 14:51:54 -07:00
async function start () {
const statesPath = path.join(__dirname, 'states')
2018-03-11 19:06:14 -07:00
const stateFilesNames = await promisify(fs.readdir)(statesPath)
2018-03-11 14:51:54 -07:00
const states = {}
await Promise.all(stateFilesNames.map(async (stateFileName) => {
const stateFilePath = path.join(__dirname, 'states', stateFileName)
2018-03-11 19:06:14 -07:00
const stateFileContent = await promisify(fs.readFile)(stateFilePath, 'utf8')
2018-03-11 14:51:54 -07:00
const state = JSON.parse(stateFileContent)
2018-03-21 20:39:21 -07:00
state.localeMessages = { en: enLocaleMessages, current: {} }
2018-03-11 14:51:54 -07:00
const stateName = stateFileName.split('.')[0].replace(/-/g, ' ', 'g')
states[stateName] = state
}))
const generatedFileContent = `module.exports = ${JSON.stringify(states)}`
const generatedFilePath = path.join(__dirname, 'states.js')
await promisify(fs.writeFile)(generatedFilePath, generatedFileContent)
}