Bakhtina Sofya b84cb877be 1st comm | před 2 týdny | |
---|---|---|
.. | ||
tests | před 2 týdny | |
LICENSE | před 2 týdny | |
README.md | před 2 týdny | |
index.d.ts | před 2 týdny | |
index.js | před 2 týdny | |
package.json | před 2 týdny |
A minimalistic code generation utility.
codegen([functionParams: string[]
], [functionName: string]): Codegen
Begins generating a function.
codegen.verbose = false
When set to true, codegen will log generated code to console. Useful for debugging.
Invoking codegen returns an appender function that appends code to the function's body and returns itself:
Codegen(formatString: string
, [...formatParams: any
]): Codegen
Appends code to the function's body. The format string can contain placeholders specifying the types of inserted format parameters:
%d
: Number (integer or floating point value)%f
: Floating point value%i
: Integer value%j
: JSON.stringify'ed value%s
: String value%%
: Percent signCodegen([scope: Object.<string,*>
]): Function
Finishes the function and returns it.
Codegen.toString([functionNameOverride: string
]): string
Returns the function as a string.
var codegen = require("@protobufjs/codegen");
var add = codegen(["a", "b"], "add") // A function with parameters "a" and "b" named "add"
("// awesome comment") // adds the line to the function's body
("return a + b - c + %d", 1) // replaces %d with 1 and adds the line to the body
({ c: 1 }); // adds "c" with a value of 1 to the function's scope
console.log(add.toString()); // function add(a, b) { return a + b - c + 1 }
console.log(add(1, 2)); // calculates 1 + 2 - 1 + 1 = 3
License: BSD 3-Clause License