Skip to content

Commit cf472b7

Browse files
committed
fix: resolve logic bug and mutable default argument in getUserDataForFid
- Remove redundant else branch that was overwriting acc[type] with the same value - Fix mutable default argument by creating requestOptions object fresh each time - Properly merge user-provided hubRequestOptions with default api_key header
1 parent 0428553 commit cf472b7

1 file changed

Lines changed: 12 additions & 8 deletions

File tree

‎packages/frames.js/src/getUserDataForFid.ts‎

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,22 @@ export async function getUserDataForFid<
1616
}): Promise<UserDataReturnType> {
1717
const {
1818
hubHttpUrl = DEFAULT_HUB_API_URL,
19-
hubRequestOptions = {
20-
headers: {
21-
api_key: DEFAULT_HUB_API_KEY,
22-
},
23-
},
19+
hubRequestOptions = {},
2420
} = options;
2521

22+
const requestHeaders = {
23+
...(hubRequestOptions.headers ?? {}),
24+
api_key: DEFAULT_HUB_API_KEY,
25+
};
26+
27+
const requestOptions = {
28+
...hubRequestOptions,
29+
headers: requestHeaders,
30+
};
31+
2632
const userDataResponse = await fetch(
2733
`${hubHttpUrl}/v1/userDataByFid?fid=${fid}`,
28-
hubRequestOptions
34+
requestOptions
2935
);
3036

3137
const { messages } = (await userDataResponse
@@ -61,8 +67,6 @@ export async function getUserDataForFid<
6167

6268
if (foundValue && foundValue.timestamp < timestamp) {
6369
acc[type] = { value, timestamp };
64-
} else {
65-
acc[type] = { value, timestamp };
6670
}
6771
} catch (error) {
6872
// eslint-disable-next-line no-console -- provide feedback to user

0 commit comments

Comments
 (0)