From 4d43a15c026975a1250dd85fe5606466b05471cc Mon Sep 17 00:00:00 2001 From: sinkcup Date: Tue, 28 May 2019 15:01:27 +0800 Subject: [PATCH] refactor: get value by key, prepare for #5 --- build-docs.sh | 3 ++- getValueFromJsonFile.js | 12 +++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/build-docs.sh b/build-docs.sh index 3266042..def9ef1 100755 --- a/build-docs.sh +++ b/build-docs.sh @@ -1,5 +1,6 @@ #!/bin/bash +rm -rf docs mkdir -p docs cp README.md docs/ echo "site_name: 'Laravel Socialite Providers' @@ -8,7 +9,7 @@ nav: - index: 'README.md'" > mkdocs.yml for file in `ls */composer.json`; do - package_id=`node getValueFromJsonFile.js $file` + package_id=`node getValueFromJsonFile.js $file extra.component.id` echo $package_id dir_name=`dirname $file` cp $dir_name/README.md docs/$package_id.md diff --git a/getValueFromJsonFile.js b/getValueFromJsonFile.js index dd2c189..684cfd2 100644 --- a/getValueFromJsonFile.js +++ b/getValueFromJsonFile.js @@ -1,8 +1,14 @@ 'use strict'; const fs = require('fs'); +const getValue = (object, path) => path.split('.').reduce((o, k) => (o || {})[k], object), + data = { key: { subKey: 'value' } }, + theString = 'key.subKey'; + const args = process.argv; +const file = args[2]; +const key = args[3]; -let rawdata = fs.readFileSync(args[2]); -let data = JSON.parse(rawdata); -console.log(data.extra.component.id); +const raw = fs.readFileSync(file); +const obj = JSON.parse(raw); +console.log(getValue(obj, key));