Skip to content

Commit d9fcffa

Browse files
committed
Cleanup of reusable methods
Signed-off-by: worksofliam <mrliamallan@live.co.uk>
1 parent 26be0e0 commit d9fcffa

File tree

2 files changed

+64
-48
lines changed

2 files changed

+64
-48
lines changed

cli/src/builders/environment.ts

+52
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,62 @@ export interface CompileData {
2828
targetSource?: string;
2929
};
3030

31+
export interface Action {
32+
name: string;
33+
command: string;
34+
extensions?: string[];
35+
}
36+
3137
export function getBranchLibraryName(currentBranch: string) {
3238
return `VS${(str(currentBranch, 0) >>> 0).toString(16).toUpperCase()}`;
3339
}
3440

41+
export function getObjectType(ext: string): ObjectType {
42+
switch (ext.toLowerCase()) {
43+
case `dspf`:
44+
case `prtf`:
45+
case `pf`:
46+
case `lf`:
47+
case `sql`:
48+
case `table`:
49+
case `view`:
50+
case `index`:
51+
case `alias`:
52+
case `sqludf`:
53+
case `sqludt`:
54+
case `sqlalias`:
55+
case `sqlseq`:
56+
case `sequence`:
57+
case `msgf`:
58+
return "FILE";
59+
60+
case `dtaara`:
61+
return "DTAARA";
62+
63+
case `cmd`:
64+
return "CMD";
65+
66+
case `rpgle`:
67+
case `sqlrpgle`:
68+
case `clle`:
69+
case `cl`:
70+
return "MODULE";
71+
72+
case `binder`:
73+
case `bnd`:
74+
case `function`:
75+
return `SRVPGM`;
76+
77+
case `procedure`:
78+
case `trigger`:
79+
case `sqlprc`:
80+
case `sqltrg`:
81+
return `PGM`;
82+
}
83+
84+
return undefined;
85+
}
86+
3587
export function getDefaultCompiles(): CompileAttribute {
3688
const binderSourceCompile: CompileData = {
3789
becomes: `SRVPGM`,

cli/src/targets.ts

+12-48
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import Parser from "vscode-rpgle/language/parser";
1414
import { setupParser } from './parser';
1515
import { Logger } from './logger';
1616
import { asPosix, getReferenceObjectsFrom, getSystemNameFromPath, toLocalPath } from './utils';
17+
import { getObjectType } from './builders/environment';
1718

1819
export type ObjectType = "PGM" | "SRVPGM" | "MODULE" | "FILE" | "BNDDIR" | "DTAARA" | "CMD" | "MENU" | "DTAQ";
1920

@@ -282,54 +283,18 @@ export class Targets {
282283
}
283284

284285
private getObjectType(relativePath: string, ext: string): ObjectType {
285-
switch (ext.toLowerCase()) {
286-
case `dspf`:
287-
case `prtf`:
288-
case `pf`:
289-
case `lf`:
290-
case `sql`:
291-
case `table`:
292-
case `view`:
293-
case `index`:
294-
case `alias`:
295-
case `sqludf`:
296-
case `sqludt`:
297-
case `sqlalias`:
298-
case `sqlseq`:
299-
case `sequence`:
300-
case `msgf`:
301-
return "FILE";
302-
303-
case `dtaara`:
304-
return "DTAARA";
305-
306-
case `cmd`:
307-
return "CMD";
308-
309-
case `rpgle`:
310-
case `sqlrpgle`:
311-
case `clle`:
312-
case `cl`:
313-
return "MODULE";
314-
315-
case `binder`:
316-
case `bnd`:
317-
case `function`:
318-
return `SRVPGM`;
319-
320-
case `procedure`:
321-
case `trigger`:
322-
case `sqlprc`:
323-
case `sqltrg`:
324-
return `PGM`;
325-
326-
default:
327-
this.logger.fileLog(relativePath, {
328-
type: `warning`,
329-
message: `'${ext}' not found a matching object type. Defaulting to '${ext}'`
330-
});
331-
return (ext.toUpperCase() as ObjectType);
286+
const objType = getObjectType(ext);
287+
288+
if (!objType) {
289+
this.logger.fileLog(relativePath, {
290+
type: `warning`,
291+
message: `'${ext}' not found a matching object type. Defaulting to '${ext}'`
292+
});
293+
294+
return (ext.toUpperCase() as ObjectType);
332295
}
296+
297+
return objType;
333298
}
334299

335300
public loadObjectsFromPaths(paths: string[]) {
@@ -1104,7 +1069,6 @@ export class Targets {
11041069
type: `warning`,
11051070
});
11061071
}
1107-
11081072
}
11091073

11101074
if (cache.keyword[`BNDDIR`]) {

0 commit comments

Comments
 (0)