@@ -12,11 +12,18 @@ export function queryResultToRpgDs(result: QueryResult<any>, source: string = 'N
12
12
13
13
export function columnToRpgFieldName ( column : ColumnMetaData , source : string = 'Name' ) : string {
14
14
let name = source === 'Label' ? column . label . toLowerCase ( ) . trim ( ) : column . name . toLowerCase ( ) . trim ( ) ;
15
- name = name . replace ( / \u00fc / g, "u" ) ; // ü
16
- name = name . replace ( / \u00e4 / g, "a" ) ; // ä
17
- name = name . replace ( / \u00e4 / g, "o" ) ; // ö
18
- name = name . replace ( / \u00df / g, "s" ) ; // sharp s/Eszett
19
- name = name . replace ( / \s + / g, "_" ) . replace ( / [ ^ a - z A - Z 0 - 9 _ ] / g, '' ) . trim ( ) ; // space to underscore and remove non-alphanumeric chars
15
+ name = name . replace ( / \u00fc / g, "u" ) // ü -> u
16
+ . replace ( / \u00e4 / g, "a" ) // ä -> a
17
+ . replace ( / \u00e4 / g, "o" ) // ö -> o
18
+ . replace ( / \u00df / g, "s" ) // sharp s/Eszett -> s
19
+ . replace ( / \u00e6 / g, "ae" ) // æ -> ae
20
+ . replace ( / \u00f8 / g, "oe" ) // ø -> oe
21
+ . replace ( / \u00e5 / g, "aa" ) // å -> aa
22
+ . replace ( / [ . : ] + $ / g, "" ) // remove trailing "." and ":"
23
+ . replace ( / [ . ] / g, "_" ) // "." between words to underscore
24
+ . replace ( / \s + / g, "_" ) // remaining whitespaces to underscore
25
+ . replace ( / [ ^ a - z A - Z 0 - 9 _ ] / g, '' ) // remove non-alphanumeric chars
26
+ . trim ( ) ;
20
27
if ( ! isNaN ( + name . charAt ( 0 ) ) ) {
21
28
name = `col` + name ;
22
29
}
0 commit comments