Options
All
  • Public
  • Public/Protected
  • All
Menu

Class, describing a formula, which is part of the cyclic set. Formula just specifies its input variables and output variable, it does not contain actual calculation.

It is assumed that formula can only be "activated" if all of its inputs has value. It can be either a value from the previous iteration, a value provided by user, or an output value of some other formula. See VariableInputState and CycleResolutionInput.

Hierarchy

Index

Properties

Methods

Properties

formulaId

formulaId: FormulaId = FORMULA_ID++

The id of the formula. It is assigned automatically, should not be changed.

inputs

inputs: Set<Variable> = new Set()

A set of the input variables for this formula.

output

output: Variable

An output variable for this formula.

Methods

initialize

  • initialize<T>(props?: Partial<T>): void
  • This method applies its 1st argument (if any) to the current instance using Object.assign().

    Supposed to be overridden in the subclasses to customize the instance creation process.

    Type parameters

    Parameters

    • Optional props: Partial<T>

    Returns void

Static new

  • new<T>(this: T, props?: Partial<InstanceType<T>>): InstanceType<T>
  • This is a type-safe static constructor method, accepting a single argument, with the object, corresponding to the class properties. It will generate a compilation error, if unknown property is provided.

    For example:

    class MyClass extends Base {
        prop     : string
    }
    
    const instance : MyClass = MyClass.new({ prop : 'prop', wrong : 11 })

    will produce:

    TS2345: Argument of type '{ prop: string; wrong: number; }' is not assignable to parameter of type 'Partial<MyClass>'.
    Object literal may only specify known properties, and 'wrong' does not exist in type 'Partial<MyClass>'

    The only thing this constructor does is create an instance and call the initialize method on it, forwarding the first argument. The customization of instance is supposed to be performed in that method.

    Type parameters

    Parameters

    • this: T
    • Optional props: Partial<InstanceType<T>>

    Returns InstanceType<T>

Generated using TypeDoc