Skip to content

Commit 6f0f5ff

Browse files
committed
refactor: remove the Object.fromEntries and just return an array of tuples
1 parent f9d30bb commit 6f0f5ff

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

governance/xc_admin/packages/xc_admin_common/src/programs/core/core_functions.ts

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import {
1212
parsePermissionData,
1313
parsePriceData,
1414
parseProductData,
15+
Product,
1516
} from "@pythnetwork/client";
1617
import {
1718
findDetermisticAccountAddress,
@@ -68,10 +69,10 @@ function checkSizeOfProductInstruction(
6869
/**
6970
* Sort object by keys
7071
*/
71-
const sortObjectByKeys = <T extends Record<string, unknown>>(obj: T): T =>
72-
Object.fromEntries(
73-
Object.entries(obj).sort(([a], [b]) => a.localeCompare(b)),
74-
) as T;
72+
const sortObjectByKeys = <T extends Record<string, unknown>>(
73+
obj: T,
74+
): Array<[string, unknown]> =>
75+
Object.entries(obj).sort(([a], [b]) => a.localeCompare(b));
7576

7677
/**
7778
* Sort configuration data for consistent output
@@ -81,9 +82,14 @@ function sortData(data: DownloadableConfig): DownloadableConfig {
8182
const keys = Object.keys(data).sort();
8283
for (const key of keys) {
8384
const productData = data[key];
85+
const sortedKeyValues = sortObjectByKeys(productData.metadata);
86+
8487
const sortedInnerData: DownloadableProduct = {
8588
address: productData.address,
86-
metadata: sortObjectByKeys(productData.metadata),
89+
metadata: Object.fromEntries(sortedKeyValues) as Omit<
90+
Product,
91+
"price_account"
92+
>,
8793
priceAccounts: [],
8894
};
8995

0 commit comments

Comments
 (0)