in apps/vs-code-designer/src/app/commands/workflows/openDesigner/openDesignerForLocalProject.ts [380:440]
private _traverseAction(action: any, migrationOptions: Record<string, any>): void {
const type = action?.type;
switch ((type || '').toLowerCase()) {
case 'liquid': {
if (migrationOptions['liquidJsonToJson']?.inputs?.properties?.map?.properties?.source) {
const map = action?.inputs?.map;
if (map && map.source === undefined) {
map.source = 'LogicApp';
}
}
break;
}
case 'xmlvalidation': {
if (migrationOptions['xmlValidation']?.inputs?.properties?.schema?.properties?.source) {
const schema = action?.inputs?.schema;
if (schema && schema.source === undefined) {
schema.source = 'LogicApp';
}
}
break;
}
case 'xslt': {
if (migrationOptions['xslt']?.inputs?.properties?.map?.properties?.source) {
const map = action?.inputs?.map;
if (map && map.source === undefined) {
map.source = 'LogicApp';
}
}
break;
}
case 'flatfileencoding':
case 'flatfiledecoding': {
if (migrationOptions['flatFileEncoding']?.inputs?.properties?.schema?.properties?.source) {
const schema = action?.inputs?.schema;
if (schema && schema.source === undefined) {
schema.source = 'LogicApp';
}
}
break;
}
case 'if': {
this._traverseActions(action.else?.actions, migrationOptions);
break;
}
case 'scope':
case 'foreach':
case 'changeset':
case 'until': {
this._traverseActions(action.actions, migrationOptions);
break;
}
case 'switch': {
for (const caseKey of Object.keys(action.cases || {})) {
this._traverseActions(action.cases[caseKey]?.actions, migrationOptions);
}
this._traverseActions(action.default?.actions, migrationOptions);
break;
}
}
}