const weightUnit = type({
value: 'number',
unit: toStringUnion(weightAliasList),
})
.pipe(({ value: fromValue, unit: fromUnit }) => {
const stdUnit = weightAliases[fromUnit as StandardWeightUnit];
const factor = standardUnitConversions.mg[stdUnit];
const toValue = Math.ceil(fromValue * factor);
return { value: toValue, unit: 'mg' };
})
.to({ value: 'number.integer', unit: '"mg"' });
const weightUnit = type({
value: 'number',
unit: toStringUnion(weightAliasList),
})
.pipe(({ value: fromValue, unit: fromUnit }) => {
const stdUnit = weightAliases[fromUnit as StandardWeightUnit];
const factor = standardUnitConversions.mg[stdUnit];
const toValue = Math.ceil(fromValue * factor);
return { value: toValue, unit: 'mg' };
})
.to({ value: 'number.integer', unit: '"mg"' });