Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | import { isNil } from 'lodash-es'; import { type VariableFormulaOptions } from '@amalia/amalia-lang/tokens/types'; export class FormulaOptions { public static hasFormulaOptions(formulaOptions: VariableFormulaOptions | null): formulaOptions is FormulaOptions { return !!( formulaOptions && (this.hasConvertCurrencyFormulaOptions(formulaOptions.convertCurrency) || this.hasRoundFormulaOptions(formulaOptions.round) || this.hasDefaultFormulaOptions(formulaOptions.default)) ); } public static hasDefaultFormulaOptions( defaultFormulaOption: VariableFormulaOptions['default'], ): defaultFormulaOption is NonNullable<VariableFormulaOptions['default']> { return !isNil(defaultFormulaOption?.value); } public static hasConvertCurrencyFormulaOptions( convertCurrencyFormulaOption?: VariableFormulaOptions['convertCurrency'], ): convertCurrencyFormulaOption is NonNullable<VariableFormulaOptions['convertCurrency']> { return !!(convertCurrencyFormulaOption?.to && convertCurrencyFormulaOption.from); } public static hasRoundFormulaOptions( roundFormulaOption: VariableFormulaOptions['round'], ): roundFormulaOption is NonNullable<VariableFormulaOptions['round']> { return !isNil(roundFormulaOption?.precision); } } |