import { FieldType } from '@terascope/types' ; import { getSeconds } from '@terascope/utils' ; import { ProcessMode , FunctionDefinitionType , FunctionDefinitionCategory , FieldTransformConfig } from '../interfaces' ; export const getSecondsConfig = { name : 'getSeconds' , type : FunctionDefinitionType . FIELD_TRANSFORM , process_mode : ProcessMode . INDIVIDUAL_VALUES , category : FunctionDefinitionCategory . DATE , description : 'Returns the seconds of the input date' , examples : [ { args : { } , config : { version : 1 , fields : { testField : { type : FieldType . String } } } , field : 'testField' , input : '2021-05-10T10:00:41.091Z' , output : 41 } , { args : { } , config : { version : 1 , fields : { testField : { type : FieldType . Date } } } , field : 'testField' , input : new Date ( '2021-05-10T10:00:19.091Z' ) , output : 19 } , { args : { } , config : { version : 1 , fields : { testField : { type : FieldType . Number } } } , field : 'testField' , input : 1715472323231 , output : 23 } , { args : { } , config : { version : 1 , fields : { testField : { type : FieldType . Date } } } , field : 'testField' , input : [ 1621026002000 , - 420 ] , output : 2 , test_only : true , } ] , create ( ) { return getSeconds ; } , accepts : [ FieldType . Date , FieldType . String , FieldType . Number ] , output_type ( { field_config } ) { return { field_config : { ... field_config , type : FieldType . Number } } ; } } ;