public pushInstance()

in src/objectEnumerationBuilder.ts [39:66]


        public pushInstance(instance: VisualObjectInstance, mergeInstances: boolean = true): ObjectEnumerationBuilder {

            let instances = this.instances;
            if (!instances) {
                instances = this.instances = [];
            }

            let containerIdx = this.containerIdx;
            if (containerIdx != null) {
                instance.containerIdx = containerIdx;
            }

            if (mergeInstances) {
                // Attempt to merge with an existing item if possible.
                for (let existingInstance of instances) {
                    if (this.canMerge(existingInstance, instance)) {
                        this.extend(existingInstance, instance, 'properties');
                        this.extend(existingInstance, instance, 'validValues');

                        return this;
                    }
                }
            }

            instances.push(instance);

            return this;
        }