Skip to content

Commit e7cd349

Browse files
committed
refactor: improve formatParamsAsJavaScriptObject() redability
1 parent 9e28321 commit e7cd349

File tree

2 files changed

+14
-5
lines changed

2 files changed

+14
-5
lines changed

src/cli.js

+13-4
Original file line numberDiff line numberDiff line change
@@ -146,12 +146,21 @@ const createEndpoints = async (destDir, lang, config) => {
146146
// "... WHERE id = :p.id" => [ "p.id" ] => [ "p.id" ]
147147
"extractParams": (query) => query.match(/(?<=:)[pb]\.\w+/g) || [],
148148

149-
// [ "p.page", "b.num" ] => '{ "page" : req.params.page, "num": req.body.num }'
149+
// [ "p.page", "b.num" ] => '"page": req.params.page, "num": req.body.num'
150150
// (used only with Express)
151151
"formatParamsAsJavaScriptObject": (params) => {
152-
return params.length > 0
153-
? '{ ' + Array.from(new Set(params), p => `"${p.substring(2)}": ${placeholdersMap['js'][p.substring(0, 1)]}.${p.substring(2)}`).join(', ') + ' }'
154-
: params;
152+
if (params.length === 0) {
153+
return params;
154+
}
155+
return Array.from(
156+
new Set(params),
157+
p => {
158+
const bindTarget = p.substring(0, 1);
159+
const paramName = p.substring(2);
160+
const prefix = placeholdersMap['js'][bindTarget];
161+
return `"${paramName}": ${prefix}.${paramName}`
162+
}
163+
).join(', ');
155164
},
156165

157166
// "SELECT *\n FROM foo" => "SELECT * FROM foo"

src/templates/routes.js.ejs

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ endpoints.forEach(function(endpoint) {
1010
const sql = formatQuery(method.query);
1111
const params = extractParams(method.query);
1212
const formattedParams = params.length > 0
13-
? '\n ' + formatParamsAsJavaScriptObject(params) + ','
13+
? '\n { ' + formatParamsAsJavaScriptObject(params) + ' },'
1414
: ''
1515
1616
if (hasGetOne || hasGetMany) {

0 commit comments

Comments
 (0)