@woosh/meep-engine
Version:
Pure JavaScript game engine. Fully featured and production ready.
64 lines • 1.77 kB
TypeScript
export class FunctionModule {
/**
*
* @param {string} id
* @param {FunctionSignature} signature
* @param {FunctionModuleReference[]} [dependencies]
* @param {ParticleAttributeSpecification[]} [read_variables]
* @param {LineBuilder} code_lines
* @returns {FunctionModule}
*/
static from({ id, signature, dependencies, read_variables, code_lines }: string): FunctionModule;
/**
*
* @type {string}
*/
id: string;
/**
*
* @type {FunctionSignature}
*/
signature: FunctionSignature;
/**
*
* @type {FunctionModuleReference[]}
*/
dependencies: FunctionModuleReference[];
/**
* These variables must be present in the program context
* @type {ParticleAttributeSpecification[]}
*/
read_variables: ParticleAttributeSpecification[];
/**
*
* @type {LineBuilder}
*/
code_lines: LineBuilder;
/**
*
* @param {FunctionModuleReference} reference
* @returns {boolean}
*/
dependencyExists(reference: FunctionModuleReference): boolean;
/**
*
* @param {string} id
* @param {FunctionSignature} signature
* @returns {boolean}
*/
addDependency(id: string, signature: FunctionSignature): boolean;
/**
* Produce code for the function
* @param {LineBuilder} output
*/
generate(output: LineBuilder): void;
/**
* @readonly
* @type {boolean}
*/
readonly isFunctionModule: boolean;
}
import { FunctionSignature } from "./FunctionSignature.js";
import { FunctionModuleReference } from "./FunctionModuleReference.js";
import LineBuilder from "../../../../../../core/codegen/LineBuilder.js";
//# sourceMappingURL=FunctionModule.d.ts.map