UNPKG

@themost/jspa

Version:
18 lines (17 loc) 762 B
import { DataContextBase, DataModelBase } from '@themost/common'; import { ColumnAnnotation } from './Column'; declare interface FormulaArgs { context: DataContextBase; model: DataModelBase; target: any; } declare interface FormulaAnnotation { closure: (event: FormulaArgs) => unknown; } declare interface FormulaColumnAnnotation extends ColumnAnnotation { formula?: FormulaAnnotation; } declare type FormulaClosure<T> = (event?: FormulaArgs) => Promise<T>; declare type FormulaSimpleClosure<T> = (event?: FormulaArgs) => T; declare function Formula<T>(closure: FormulaClosure<T> | FormulaSimpleClosure<T>): PropertyDecorator; export { FormulaArgs, FormulaClosure, FormulaSimpleClosure, FormulaAnnotation, FormulaColumnAnnotation, Formula };