import { Measure } from '../data/Measure.js';
import { Ingredient } from "./Ingredient.js";
import { Conversion } from './Conversion.js';
/**
* Ethanol and water solution
*
* @extends {Ingredient}
*/
export class Alcohol extends Ingredient {
density = 1;
type = 'alcohol';
/**
* @param {number} value
* @param {MeasureVariant} measure
*/
constructor(value, measure) {
super();
this.density = Conversion.convert(
'alcohol',
measure,
Measure.DENSITY,
value
);
}
/**
* Get alcohol measurement
*
* Available measures:
* - Measure.ABV
* - Measure.DENSITY
* - Measure.WW
* - Measure.WV
* - Measure.VV
* - Measure.CW
*
* @override
*/
get(measure) {
return Conversion.convert(
'alcohol',
Measure.DENSITY,
measure,
this.density
);
}
static mix(k1, abv1, abv2) {
let k2 = 1 - k1;
let result_abv = k1 * abv1 + k2 * abv2;
return result_abv;
}
}