Wondering what’s next for npm?Check out our public roadmap! »

    @protobufjs/codegen
    TypeScript icon, indicating that this package has built-in type declarations

    2.0.4 • Public • Published

    @protobufjs/codegen

    npm

    A minimalistic code generation utility.

    API

    • 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 sign
    • Codegen([scope: Object.<string,*>]): Function
      Finishes the function and returns it.

    • Codegen.toString([functionNameOverride: string]): string
      Returns 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 = 3

    License: BSD 3-Clause License

    Keywords

    none

    Install

    npm i @protobufjs/codegen

    DownloadsWeekly Downloads

    3,726,318

    Version

    2.0.4

    License

    BSD-3-Clause

    Last publish

    Collaborators

    • avatar
    • avatar