UNPKG

@woosh/meep-engine

Version:

Pure JavaScript game engine. Fully featured and production ready.

64 lines 1.77 kB
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