Class MutableAbstract

Base class for all types being mutable using Mutator-objects, thus providing and using interfaces created at runtime.
Mutables provide a Mutator that is build by collecting all object-properties that are either of a primitive type or again Mutable. Subclasses can either reduce the standard Mutator built by this base class by deleting properties or implement an individual getMutator-method. The provided properties of the Mutator must match public properties or getters/setters of the object. Otherwise, they will be ignored if not handled by an override of the mutate-method in the subclass and throw errors in an automatically generated user-interface for the object.

Hierarchy (view full)

Constructors

Accessors

Methods

  • Collect applicable attributes of the instance and copies of their values in a Mutator-object. By default, a mutator cannot be extended, since extensions are not available in the object the mutator belongs to. A mutator may be reduced by the descendants of Mutable to contain only the properties needed.

    Parameters

    • _extendable: boolean = false

    Returns Mutator

  • Updates the attribute values of the instance according to the state of the mutator. The mutation may be restricted to a subset of the mutator and the event dispatching suppressed. Uses mutateBase, but can be overwritten in subclasses

    Parameters

    • _mutator: Mutator
    • _selection: string[] = null
    • _dispatchMutate: boolean = true

    Returns Promise<void>