Source: core/Syrup.js

import { Measure } from '../data/Measure.js';

import { Ingredient } from "./Ingredient.js";
import { Conversion } from './Conversion.js';

/**
 * Sucrose and water solution
 * 
 * @extends {Ingredient}
 */
export class Syrup extends Ingredient {
	density = 1;
	type = 'syrup';
	/**
	 * @param {number} value
	 * @param {MeasureVariant} measure
	 */
	constructor(value, measure) {
		super();
		this.density = Conversion.convert(
			'syrup',
			measure,
			Measure.DENSITY,
			value
		);
	}
	/**
	 * Get syrup measurement
	 * 
	 * Available measures:
	 * - Measure.BRIX
	 * - Measure.DENSITY
	 * - Measure.WW
	 * - Measure.WV
	 * - Measure.VV
	 * - Measure.CW
	 * 
	 * @override
	 */
	get(measure) {
		return Conversion.convert(
			'syrup',
			Measure.DENSITY,
			measure,
			this.density
		);
	}
	static mix(k1, content1, content2) {
		let k2 = 1 - k1;
		let result_content = k1 * content1 + k2 * content2;
		return result_content;
	}
}