-
Notifications
You must be signed in to change notification settings - Fork 0
/
prsAssign.ts
42 lines (38 loc) · 1.21 KB
/
prsAssign.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import {AssignCamelConfig, Link} from './types';
import {RegExpOrRegExpExt} from 'be-enhanced/types';
let reAssignStatements: RegExpOrRegExpExt<PAS>[] | undefined;
export async function prsAssign(acc: AssignCamelConfig, links: Link[]){
const {Assign} = acc;
const defaultLink = {
localInstance: 'local',
upstreamCamelQry: 'hostish',
passDirection: 'towards',
assign: true,
} as Link;
const { tryParse } = await import('be-enhanced/cpu.js');
if(reAssignStatements === undefined){
const {upstreamProperty} = await import('./reCommon.js');
reAssignStatements = [
{
regExp: new RegExp(upstreamProperty),
defaultVals: {
}
}
]
}
for(const assigmentString of Assign!){
const test = tryParse(assigmentString, reAssignStatements) as AssignStatement;
if(test !== null){
const {upstreamPropPath} = test;
const link: Link = {
...defaultLink,
upstreamPropPath,
};
links.push(link);
}
}
}
interface AssignStatement{
upstreamPropPath: string,
}
type PAS = Partial<AssignStatement>;