Whether the effect is synchronous. Default value, defined in the prototype, is true
.
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.
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.
Generated using TypeDoc
The base class for effect. Effect is some value, that can be send to the "outer" calculation context, using the effect handler function. Effect handler then will process an effect and return some resulting value.
const identifier = graph.identifier((Y : SyncEffectHandler) : number => { const proposedValue : number = Y(ProposedOrPrevious) const maxValue : number = Y(max) return proposedValue <= maxValue ? proposedValue : maxValue })