import { ChannelAddress } from "../channels-configuration/channels-config"; import { AddressFragment as SaleorAddress } from "../../../generated/graphql"; import { AddressParams as TaxJarAddress, TaxParams } from "taxjar/dist/types/paramTypes"; function joinAddresses(address1: string, address2: string): string { return `${address1}${address2.length > 0 ? " " + address2 : ""}`; } function mapSaleorAddressToTaxJarAddress( address: SaleorAddress ): Pick { return { to_street: joinAddresses(address.streetAddress1, address.streetAddress2), to_city: address.city, to_zip: address.postalCode, to_state: address.countryArea, to_country: address.country.code, }; } function mapChannelAddressToTaxJarAddress( address: ChannelAddress ): Pick { return { from_city: address.city, from_country: address.country, from_state: address.state, from_street: address.street, from_zip: address.zip, }; } export const taxJarAddressFactory = { fromSaleorAddress: mapSaleorAddressToTaxJarAddress, fromChannelAddress: mapChannelAddressToTaxJarAddress, };