@protobufjs/codegen
A minimalistic code generation utility.
API
codegen([functionParams:
string[]], [functionName: string]):CodegenBegins generating a function.codegen.verbose =
falseWhen 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 sign
Codegen([scope:
Object.<string,*>]):FunctionFinishes the function and returns it.Codegen.toString([functionNameOverride:
string]):stringReturns the function as a string.
Example
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 = 3License: BSD 3-Clause License
Last updated