@@ -53,13 +53,31 @@ export class GetMemberInfo implements IBMiComponent {
5353 } ) ;
5454 }
5555
56+ private static parseDateString ( tsString : string | undefined ) : Date | undefined {
57+ if ( ! tsString ) {
58+ return undefined ;
59+ }
60+
61+ const dateParts = tsString . split ( '-' ) ;
62+ const timeParts = dateParts [ 3 ] . split ( '.' ) ;
63+
64+ const year = parseInt ( dateParts [ 0 ] , 10 ) ;
65+ const month = parseInt ( dateParts [ 1 ] , 10 ) - 1 ; // Months are zero-based in JavaScript
66+ const day = parseInt ( dateParts [ 2 ] , 10 ) ;
67+ const hours = parseInt ( timeParts [ 0 ] , 10 ) ;
68+ const minutes = parseInt ( timeParts [ 1 ] , 10 ) ;
69+ const seconds = parseInt ( timeParts [ 2 ] , 10 ) ;
70+
71+ return new Date ( year , month , day , hours , minutes , seconds ) ;
72+ }
73+
5674 async getMemberInfo ( connection : IBMi , library : string , sourceFile : string , member : string ) : Promise < IBMiMember | undefined > {
5775 const config = connection . config ! ;
5876 const tempLib = config . tempLibrary ;
5977 const statement = `select * from table(${ tempLib } .${ this . procedureName } ('${ library } ', '${ sourceFile } ', '${ member } '))` ;
6078
6179 let results : Tools . DB2Row [ ] = [ ] ;
62- if ( config . enableSQL ) {
80+ if ( connection . enableSQL ) {
6381 try {
6482 results = await connection . runSQL ( statement ) ;
6583 } catch ( e ) { } // Ignore errors, will return undefined.
@@ -78,8 +96,8 @@ export class GetMemberInfo implements IBMiComponent {
7896 name : result . MEMBER ,
7997 extension : result . EXTENSION ,
8098 text : result . DESCRIPTION ,
81- created : new Date ( result . CREATED ? Number ( result . CREATED ) : 0 ) ,
82- changed : new Date ( result . CHANGED ? Number ( result . CHANGED ) : 0 )
99+ created : GetMemberInfo . parseDateString ( String ( result . CREATED ) ) ,
100+ changed : GetMemberInfo . parseDateString ( String ( result . CHANGED ) )
83101 } as IBMiMember
84102 }
85103 }
@@ -92,7 +110,7 @@ export class GetMemberInfo implements IBMiComponent {
92110 . join ( ' union all ' ) ;
93111
94112 let results : Tools . DB2Row [ ] = [ ] ;
95- if ( config . enableSQL ) {
113+ if ( connection . enableSQL ) {
96114 try {
97115 results = await connection . runSQL ( statement ) ;
98116 } catch ( e ) { } ; // Ignore errors, will return undefined.
@@ -110,8 +128,8 @@ export class GetMemberInfo implements IBMiComponent {
110128 name : result . MEMBER ,
111129 extension : result . EXTENSION ,
112130 text : result . DESCRIPTION ,
113- created : new Date ( result . CREATED ? Number ( result . CREATED ) : 0 ) ,
114- changed : new Date ( result . CHANGED ? Number ( result . CHANGED ) : 0 )
131+ created : GetMemberInfo . parseDateString ( String ( result . CREATED ) ) ,
132+ changed : GetMemberInfo . parseDateString ( String ( result . CHANGED ) )
115133 } as IBMiMember
116134 } ) ;
117135 }
0 commit comments