fix: from merge

This commit is contained in:
Matthew Raymer
2025-09-08 11:38:51 +00:00
parent d9569922eb
commit f55ef85981
5 changed files with 36 additions and 36 deletions

View File

@@ -165,18 +165,26 @@ export interface OfferFulfillment {
offerType: string;
}
interface FulfillmentItem {
"@type": string;
identifier?: string;
[key: string]: unknown;
}
/**
* Extract offer fulfillment information from the fulfills field
* Handles both array and single object cases
*/
export const extractOfferFulfillment = (fulfills: any): OfferFulfillment | null => {
export const extractOfferFulfillment = (
fulfills: FulfillmentItem | FulfillmentItem[] | null | undefined,
): OfferFulfillment | null => {
if (!fulfills) {
return null;
}
// Handle both array and single object cases
let offerFulfill = null;
if (Array.isArray(fulfills)) {
// Find the Offer in the fulfills array
offerFulfill = fulfills.find((item) => item["@type"] === "Offer");
@@ -184,14 +192,14 @@ export const extractOfferFulfillment = (fulfills: any): OfferFulfillment | null
// fulfills is a single Offer object
offerFulfill = fulfills;
}
if (offerFulfill) {
return {
offerHandleId: offerFulfill.identifier,
offerHandleId: offerFulfill.identifier || "",
offerType: offerFulfill["@type"],
};
}
return null;
};