Whether the effect is synchronous. Default value, defined in the prototype, is true
.
Returns list of dependencies building the cycle.
Returns the effect human readable description.
Returns list of events building the cycle.
Returns dependencies taking part in the cycle that are treated as invalid. For example a "parent-child" dependency or a dependency linking a task to itself.
Returns list of the cycle possible resolutions.
The class provides a single parameterized RemoveDependencyCycleEffectResolution resolution which implement removal of one of the dependencies.
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
Class implementing a special effect signalizing of a computation cycle. The class suggests two resolutions - either removing or deactivating one of the related dependencies.