From f229623f37d2a0d897510f443a9430c2138687ab Mon Sep 17 00:00:00 2001 From: Martin Cooper Date: Sun, 28 Apr 2013 22:12:27 -0700 Subject: [PATCH] Accept a config object with a getter. --- default-input.js | 8 ++++---- init-package-json.js | 8 ++++++++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/default-input.js b/default-input.js index 73f8aec..d501b06 100644 --- a/default-input.js +++ b/default-input.js @@ -167,11 +167,11 @@ if (!package.keywords) { } if (!package.author) { - exports.author = config['init.author.name'] + exports.author = config.get('init.author.name') ? { - "name" : config['init.author.name'], - "email" : config['init.author.email'], - "url" : config['init.author.url'] + "name" : config.get('init.author.name'), + "email" : config.get('init.author.email'), + "url" : config.get('init.author.url') } : prompt('author') } diff --git a/init-package-json.js b/init-package-json.js index 2406cd9..4bc384f 100644 --- a/init-package-json.js +++ b/init-package-json.js @@ -17,6 +17,14 @@ var readJson = require('read-package-json') function init (dir, input, config, cb) { if (typeof config === 'function') cb = config, config = {} + + // accept either a plain-jane object, or a config object + // with a "get" method. + if (typeof config.get !== 'function') { + var data = config + config = { get: function (k) { return data[k] } } + } + var package = path.resolve(dir, 'package.json') input = path.resolve(input) var pkg