import { FieldType } from '@terascope/types' ; import { FieldTransformConfig , ProcessMode , FunctionDefinitionType , FunctionDefinitionCategory , } from '../interfaces' ; import { runMathFn } from './utils' ; export const ceilConfig = { name : 'ceil' , type : FunctionDefinitionType . FIELD_TRANSFORM , process_mode : ProcessMode . INDIVIDUAL_VALUES , category : FunctionDefinitionCategory . NUMERIC , description : 'Rounds a number up to the next largest integer' , examples : [ { args : { } , config : { version : 1 , fields : { testField : { type : FieldType . Float } } } , field : 'testField' , input : 0.95 , output : 1 } , { args : { } , config : { version : 1 , fields : { testField : { type : FieldType . Float } } } , field : 'testField' , input : 0.10 , output : 1 } , { args : { } , config : { version : 1 , fields : { testField : { type : FieldType . Float } } } , field : 'testField' , input : - 7.004 , output : - 7 } ] , create ( ) { return runMathFn ( Math . ceil ) ; } , accepts : [ FieldType . Number , ] , argument_schema : { } , output_type ( { field_config } ) { return { field_config : { ... field_config , type : FieldType . Integer } } ; } } ;