123456789101112131415161718192021222324252627 |
- const genfun = require('./')
- const { d } = genfun.formats
- function multiply (a, b) {
- return a * b
- }
- function addAndMultiplyNumber (val) {
- const fn = genfun(`
- function (n) {
- if (typeof n !== 'number') {
- throw new Error('argument should be a number')
- }
- const result = multiply(${d(val)}, n + ${d(val)})
- return result
- }
- `)
- // use fn.toString() if you want to see the generated source
- return fn.toFunction({multiply})
- }
- const addAndMultiply2 = addAndMultiplyNumber(2)
- console.log(addAndMultiply2.toString())
- console.log('(3 + 2) * 2 =', addAndMultiply2(3))
|