32 lines
1.1 KiB
TypeScript
32 lines
1.1 KiB
TypeScript
export = codegen;
|
|
|
|
/**
|
|
* Appends code to the function's body.
|
|
* @param [formatStringOrScope] Format string or, to finish the function, an object of additional scope variables, if any
|
|
* @param [formatParams] Format parameters
|
|
* @returns Itself or the generated function if finished
|
|
* @throws {Error} If format parameter counts do not match
|
|
*/
|
|
type Codegen = (formatStringOrScope?: (string|{ [k: string]: any }), ...formatParams: any[]) => (Codegen|Function);
|
|
|
|
/**
|
|
* Begins generating a function.
|
|
* @param functionParams Function parameter names
|
|
* @param [functionName] Function name if not anonymous
|
|
* @returns Appender that appends code to the function's body
|
|
*/
|
|
declare function codegen(functionParams: string[], functionName?: string): Codegen;
|
|
|
|
/**
|
|
* Begins generating a function.
|
|
* @param [functionName] Function name if not anonymous
|
|
* @returns Appender that appends code to the function's body
|
|
*/
|
|
declare function codegen(functionName?: string): Codegen;
|
|
|
|
declare namespace codegen {
|
|
|
|
/** When set to `true`, codegen will log generated code to console. Useful for debugging. */
|
|
let verbose: boolean;
|
|
}
|