JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 15333789
  • Score
    100M100P100Q228248F
  • License BSD-3-Clause

Minimalistic code generation utility.

Package Exports

  • @protobufjs/codegen

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@protobufjs/codegen) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

@protobufjs/codegen

npm

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: Integer
    • %f: Floating point number
    • %j: JSON.stringify'ed value
    • %s: Raw string
  • 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