aboutsummaryrefslogtreecommitdiff
path: root/node_modules/generate-function/example.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/generate-function/example.js')
-rw-r--r--node_modules/generate-function/example.js27
1 files changed, 27 insertions, 0 deletions
diff --git a/node_modules/generate-function/example.js b/node_modules/generate-function/example.js
new file mode 100644
index 0000000..7c36c76
--- /dev/null
+++ b/node_modules/generate-function/example.js
@@ -0,0 +1,27 @@
+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))