private selectInternal()

in src/valueSelectionManager.ts [128:150]


    private selectInternal(values: T[], multiSelect: boolean): void {
        let resultValues: T[];

        if (this.isSelected(values)) {
            resultValues = multiSelect
                ? this.selectedValues.filter((selectedValue: T) => {
                    return !values.some((value: T) => value === selectedValue);
                })
                : this.selectedValues.length === values.length ? [] : values;
        } else {
            resultValues = multiSelect
                ? values.filter((value: T) => {
                    return !this.isSelected(value);
                }).concat(this.selectedValues)
                : values;
        }

        this.selectedValues.length = 0;

        resultValues.forEach((value: T) => {
            this.selectedValues.push(value);
        });
    }