@@ -224,62 +224,36 @@ export default class AdminForthBaseConnector implements IAdminForthDataSourceCon
224224 // Int
225225 if ( field . type === AdminForthDataTypes . INTEGER ) {
226226 if ( value === "" || value === null ) return this . setFieldValue ( field , null ) ;
227- if ( ! Number . isFinite ( value ) || Math . trunc ( value ) !== value ) {
227+ if ( ! Number . isFinite ( value ) ) {
228228 throw new Error ( `Value is not an integer. Field ${ field . name } with type is ${ field . type } , but got value: ${ value } with type ${ typeof value } ` ) ;
229229 }
230- return this . setFieldValue ( field , Math . trunc ( value ) ) ;
230+ return this . setFieldValue ( field , value ) ;
231231 }
232232
233233 // Float
234234 if ( field . type === AdminForthDataTypes . FLOAT ) {
235235 if ( value === "" || value === null ) return this . setFieldValue ( field , null ) ;
236- let number : any ;
237- if ( typeof value === "number" ) {
238- number = value ;
239- } else if ( typeof value === "object" ) {
240- number = ( value as any ) . valueOf ( ) ;
241- } else {
242- number = NaN ;
243- }
244236
245- if ( typeof number !== "number" || ! Number . isFinite ( number ) ) {
237+ if ( typeof value !== "number" || ! Number . isFinite ( value ) ) {
246238 throw new Error (
247239 `Value is not a float. Field ${ field . name } with type is ${ field . type } , but got value: ${ String ( value ) } with type ${ typeof value } `
248240 ) ;
249241 }
250242
251- return this . setFieldValue ( field , number ) ;
243+ return this . setFieldValue ( field , value ) ;
252244 }
253245
254246 // Decimal
255247 if ( field . type === AdminForthDataTypes . DECIMAL ) {
256248 if ( value === "" || value === null ) return this . setFieldValue ( field , null ) ;
257-
258- if ( typeof value === "number" ) {
259- if ( ! Number . isFinite ( value ) ) {
260- throw new Error ( `Value is not a decimal. Field ${ field . name } got: ${ value } (number)` ) ;
261- }
262- return this . setFieldValue ( field , value ) ;
263- }
264-
265249 if ( typeof value === "string" ) {
266250 const string = value . trim ( ) ;
267251 if ( ! string ) return this . setFieldValue ( field , null ) ;
268252 if ( Number . isFinite ( Number ( string ) ) ) return this . setFieldValue ( field , string ) ;
269- throw new Error ( `Value is not a decimal. Field ${ field . name } got: ${ value } (string)` ) ;
270- }
271-
272- if ( typeof value === "object" ) {
273- if ( typeof value . toString !== "function" ) {
274- throw new Error ( `Decimal object has no toString(). Field ${ field . name } got: ${ String ( value ) } ` ) ;
275- }
276- const string = value . toString ( ) . trim ( ) ;
277- if ( ! string ) return this . setFieldValue ( field , null ) ;
278- if ( Number . isFinite ( Number ( string ) ) ) return this . setFieldValue ( field , string ) ;
279- throw new Error ( `Value is not a decimal. Field ${ field . name } got: ${ string } (object->string)` ) ;
253+ throw new Error ( `Value is not a decimal. Field ${ field . name } with type is ${ field . type } , but got value: ${ value } with type ${ typeof value } ` ) ;
280254 }
281255
282- throw new Error ( `Value is not a decimal. Field ${ field . name } got: ${ String ( value ) } ( ${ typeof value } ) ` ) ;
256+ throw new Error ( `Value is not a decimal. Field ${ field . name } with type is ${ field . type } , but got value : ${ String ( value ) } with type ${ typeof value } ` ) ;
283257 }
284258
285259 // Date
0 commit comments