JsonKeys - Transform a JSON file to a javascript object (for internationalizatio...
source link: https://github.com/TheDevelopGuy/jsonkeys
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
JsonKeys
Transform a JSON file to a javascript object, where the keys are the same and each value is the order of the keys joined by a specified delimiter.
This package is very useful when using libraries like i18next or other javascript internationalization-framework to avoid the use of "magic strings".
Example
Input
{ "HOME_PAGE": { "TITLE": "Hello world", "DESCRIPTION": "Lorem ipsum dolor sit amet, consectetur adipiscing elit", "NAVIGATION": { "HOME_PAGE": "Home Page", "ABOUT": "About" } } }
Output
const JsonKeys = { "HOME_PAGE": { "TITLE": "HOME_PAGE.TITLE", "DESCRIPTION": "HOME_PAGE.DESCRIPTION", "NAVIGATION": { "HOME_PAGE": "HOME_PAGE.NAVIGATION.HOME_PAGE", "ABOUT": "HOME_PAGE.NAVIGATION.ABOUT" } } }; export default JsonKeys;
How to
1. Installation
npm install --save-dev jsonkeys
2. Create a config file
{ "inputFile": "src/assets/i18n/en.json", "destinationFile": "src/constants/translation-keys.ts", "constantName": "TransKeys", "delimiter": "." }Key Meaning Default inputFile The Json input file required destinationFile Output object path jsonkeys.ts constantName What constant name will be exported in the destinationFile JsonKeys delimiter The delimiter that will be used to join the keys value .
3. Add a script to your package.json
{ // ... "scripts": { "json-keys": "jsonkeys -c jsonkeys.config.json -w" }, // ... }
Options: -V, --version output the version number -c, --config <file> config input file (required) -w, --watch watch changes in the input file -h, --help output usage information
4. Run
npm run json-keys
License - MIT
Enjoy!
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK