Final fix for Dictionnary serialization

This commit is contained in:
Eric NGUYEN 2022-10-12 16:50:20 +02:00
parent 147c02bdfd
commit 846f41829b
7 changed files with 55 additions and 14 deletions

View file

@ -77,18 +77,32 @@ export function GetCircularReplacer(): (key: any, value: object | Map<string, an
};
}
export function GetCircularReplacerKeepDataStructure(): (key: any, value: object | Map<string, any> | null) => object | null | undefined {
export function GetCircularReplacerToDotnet(): (key: any, value: object | Map<string, any> | null) => object | null | undefined {
return (key: any, value: object | null) => {
if (key === 'parent') {
return;
}
if (key === 'containers') {
return Object.fromEntries(value as Map<string, any>);
return [...(value as Map<string, any>).entries()].map((keyPair: [string, any]) => {
return {
Key: keyPair[0],
Value: keyPair[1]
};
});
}
if (key === 'symbols') {
return Object.fromEntries((value as Map<string, any>));
return [...(value as Map<string, any>).entries()].map((keyPair: [string, any]) => {
return {
Key: keyPair[0],
Value: keyPair[1]
};
});
}
if (key === 'linkedContainers') {
return Array.from(value as Set<string>);
}
return value;