FOPをJavaScriptで書いてみた
FOPをJavaScriptで書くとどうなるかな、と思って書いてみました。
クラスや関数に大量のパラメータを渡す時に順番とか何を渡せば??というときとかに役に立つと思われます。
普通にObjectにパラメータを引き渡すでもOKだと思います。
nodeのバージョンは10で実行して動作確認しています。
generateParam.js
function returnParam() {
var phrase = {};
for (let i in arguments) {
let obj = arguments[i]()
phrase[Object.keys(obj)[0]] = Object.values(obj)[0]
}
return phrase;
};
function withUserId(value) {
var value = value;
return function () {
return { "userId": value }
};
};
function withSomeInfo(value) {
var value = value;
return function () {
return { "something": value }
};
};
module.exports = {
returnParam: returnParam,
withUserId: withUserId,
withSomeInfo: withSomeInfo
};
呼び出し側
call.js
const i = require('./generateParam')
var result = i.returnParam(
i.withUserId("user001"),
i.withSomeInfo("someInfo001")
)
console.log("result", result);
//result { userId: 'user001', something: 'someInfo001' }
実行
cmd
node call.js