{"version":3,"sources":["../src/gateways-ecom-v1-delivery-rates-gateway-delivery-solutions.universal.ts","../src/gateways-ecom-v1-delivery-rates-gateway-delivery-solutions.http.ts","../src/gateways-ecom-v1-delivery-rates-gateway-delivery-solutions.public.ts","../src/gateways-ecom-v1-delivery-rates-gateway-delivery-solutions.context.ts"],"sourcesContent":["import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport {\n  renameKeysFromSDKRequestToRESTRequest,\n  renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { HttpClient } from '@wix/sdk-types';\nimport * as ambassadorWixGatewaysEcomV1DeliveryRatesGateway from './gateways-ecom-v1-delivery-rates-gateway-delivery-solutions.http.js';\nimport { transformSDKAddressToRESTAddress } from '@wix/sdk-runtime/transformations/address';\nimport { transformRESTAddressToSDKAddress } from '@wix/sdk-runtime/transformations/address';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\n\nexport interface DeliveryRatesGateway {\n  /** @readonly */\n  _id?: string | null;\n}\n\nexport interface GetDeliverySolutionsRequest {\n  /** list of items to delivery that each of them points to delivery profile and delivery rule. */\n  lineItems: DeliverableItem[];\n  /** Destination the items should deliver to */\n  destination: Address;\n  /**\n   * Origin the items should deliver from\n   * @deprecated Origin the items should deliver from\n   * @targetRemovalDate 2025-04-01\n   */\n  origin?: Address;\n  /** Currency - Defaults to site's currency */\n  currency: string | null;\n  /** Contact details */\n  contactDetails?: FullAddressContactDetails;\n  /** Measure unit - defaults to site's weight unit */\n  weightUnit?: WeightUnit;\n  /** list of user preferences which are delivery options codes combined with delivery carrier app id */\n  userPreferences?: UserPreference[];\n  /** Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order. */\n  purchaseFlowId?: string | null;\n  /**\n   * Reference to an external resource ID. Used to link the purchase flow to a specific entity in an external system.\n   * For example, a Wix Pay Link ID.\n   * @internal\n   */\n  externalReferences?: ExternalReference[];\n}\n\nexport interface DeliverableItem {\n  /** The ID of the line item. */\n  _id?: string;\n  /** Item name. */\n  name?: string;\n  /** The number of items ordered. */\n  quantity?: number;\n  /** Reference to the item's origin catalog. */\n  catalogReference?: CatalogReference;\n  /** Physical properties of the item. */\n  physicalProperties?: PhysicalProperties;\n  /** Price of a single item after discounts. */\n  price?: string;\n  /** Total line item price before discounts. */\n  totalPriceBeforeDiscount?: string | null;\n  /** Price of a single item before discounts. */\n  priceBeforeDiscount?: string | null;\n  /** Total line item price after discounts. This is equal to `price` multiplied by `quantity`. */\n  totalPrice?: string | null;\n  /** For delivery rates by delivery profile id */\n  deliveryProfileId?: string | null;\n  /** whether tax is included in line item price */\n  taxIncludedInPrice?: boolean | null;\n}\n\n/** Used for grouping line items. Sent when an item is added to a cart, checkout, or order. */\nexport interface CatalogReference {\n  /** ID of the item within the catalog it belongs to. */\n  catalogItemId?: string;\n  /**\n   * ID of the app providing the catalog.\n   *\n   * You can get your app's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\n   *\n   * For items from Wix catalogs, the following values always apply:\n   * + Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\n   * + Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\n   * + Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`\n   */\n  appId?: string;\n  /**\n   * Additional item details in key:value pairs. Use this optional field to provide more specificity with item selection. The `options` field values differ depending on which catalog is providing the items.\n   *\n   * For products and variants from a Wix Stores catalog, learn more about [eCommerce integration](https://dev.wix.com/docs/rest/business-solutions/stores/catalog/e-commerce-integration).\n   */\n  options?: Record<string, any> | null;\n}\n\nexport interface PhysicalProperties {\n  /** Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request. */\n  weight?: number | null;\n  /** Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku). */\n  sku?: string | null;\n  /** Whether this line item is shippable. */\n  shippable?: boolean;\n}\n\n/** Physical address */\nexport interface Address extends AddressStreetOneOf {\n  /** Street name and number. */\n  streetAddress?: StreetAddress;\n  /** Main address line, usually street and number as free text. */\n  addressLine1?: string | null;\n  /** Country code. */\n  country?: string | null;\n  /** Subdivision. Usually a state, region, prefecture, or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n  subdivision?: string | null;\n  /** City name. */\n  city?: string | null;\n  /** Zip/postal code. */\n  postalCode?: string | null;\n  /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n  addressLine2?: string | null;\n}\n\n/** @oneof */\nexport interface AddressStreetOneOf {\n  /** Street name and number. */\n  streetAddress?: StreetAddress;\n  /** Main address line, usually street and number as free text. */\n  addressLine?: string | null;\n}\n\nexport interface StreetAddress {\n  /** Street number. */\n  number?: string;\n  /** Street name. */\n  name?: string;\n}\n\nexport interface AddressLocation {\n  /** Address latitude. */\n  latitude?: number | null;\n  /** Address longitude. */\n  longitude?: number | null;\n}\n\nexport interface Subdivision {\n  /** Short subdivision code. */\n  code?: string;\n  /** Subdivision full name. */\n  name?: string;\n}\n\nexport enum SubdivisionType {\n  UNKNOWN_SUBDIVISION_TYPE = 'UNKNOWN_SUBDIVISION_TYPE',\n  /** State */\n  ADMINISTRATIVE_AREA_LEVEL_1 = 'ADMINISTRATIVE_AREA_LEVEL_1',\n  /** County */\n  ADMINISTRATIVE_AREA_LEVEL_2 = 'ADMINISTRATIVE_AREA_LEVEL_2',\n  /** City/town */\n  ADMINISTRATIVE_AREA_LEVEL_3 = 'ADMINISTRATIVE_AREA_LEVEL_3',\n  /** Neighborhood/quarter */\n  ADMINISTRATIVE_AREA_LEVEL_4 = 'ADMINISTRATIVE_AREA_LEVEL_4',\n  /** Street/block */\n  ADMINISTRATIVE_AREA_LEVEL_5 = 'ADMINISTRATIVE_AREA_LEVEL_5',\n  /** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */\n  COUNTRY = 'COUNTRY',\n}\n\n/** Full contact details for an address */\nexport interface FullAddressContactDetails {\n  /** Contact's first name. */\n  firstName?: string | null;\n  /** Contact's last name. */\n  lastName?: string | null;\n  /** Contact's phone number. */\n  phone?: string | null;\n  /** Contact's company name. */\n  company?: string | null;\n  /** Email associated with the address. */\n  email?: string | null;\n  /** Tax info. Currently usable only in Brazil. */\n  vatId?: VatId;\n}\n\nexport interface VatId {\n  /** Customer's tax ID. */\n  _id?: string;\n  /**\n   * Tax type.\n   *\n   * Supported values:\n   * + `CPF`: for individual tax payers\n   * + `CNPJ`: for corporations\n   */\n  type?: VatType;\n}\n\n/** tax info types */\nexport enum VatType {\n  UNSPECIFIED = 'UNSPECIFIED',\n  /** CPF - for individual tax payers. */\n  CPF = 'CPF',\n  /** CNPJ - for corporations */\n  CNPJ = 'CNPJ',\n}\n\nexport enum WeightUnit {\n  /** Weight unit can't be classified, due to an error */\n  UNSPECIFIED_WEIGHT_UNIT = 'UNSPECIFIED_WEIGHT_UNIT',\n  /** Kilograms */\n  KG = 'KG',\n  /** Pounds */\n  LB = 'LB',\n}\n\nexport interface UserPreference {\n  /** The delivery carrier app id */\n  appId?: string | null;\n  /** The delivery option code */\n  code?: string;\n}\n\nexport interface ExternalReference {\n  /**\n   * ID of the app associated with the purchase flow.\n   * For example, the Wix Pay Links app ID.\n   */\n  appId?: string;\n  /**\n   * Reference to an external resource ID. Used to link the purchase flow to a specific entity in an external system.\n   * For example, a Wix Pay Link ID.\n   */\n  resourceId?: string | null;\n}\n\n/**\n * Each delivery option has a list of items that can be delivered by it - the chosen one\n * on Errors throw a business error from TC to catch and trigger destination completion\n */\nexport interface GetDeliverySolutionsResponse {\n  /** Delivery Options with their associated items */\n  deliverySolutions?: DeliverySolution[];\n  /** If a delivery carrier could not calculate rates, the error will be detailed here */\n  errors?: DeliveryCarrierError[];\n}\n\nexport interface DeliverySolution {\n  /** Unique code that acts as an ID for a shipping rate. For example, `\"usps_std_overnight\"`. */\n  code?: string;\n  /** Delivery rate title. For example, `\"USPS Standard Overnight Delivery\"`, `\"Standard\"`, or `\"First-Class Package International\"`. */\n  title?: string;\n  /** Delivery logistics. */\n  logistics?: DeliveryLogistics;\n  /** Delivery cost. */\n  cost?: DeliveryCost;\n  /** Delivery solution allocations to different delivery carriers and delivery regions */\n  deliveryAllocations?: DeliveryAllocation[];\n  /** If the delivery solution is a partial and doesn't apply to all items. */\n  partial?: boolean | null;\n}\n\nexport interface DeliveryLogistics {\n  /** When the item is expected to be delivered in free text. For example, `\"3-5 business days\"`. */\n  deliveryTime?: string | null;\n  /** Instructions for delivery. For example, for pickup: `\"Ensure to come during business hours, and please don't park in the disabled spot\"`. */\n  instructions?: string | null;\n  /** Pickup details. Should be returned only if order is for pickup. */\n  pickupDetails?: PickupDetails;\n  /** Date and Time of the delivery option */\n  deliveryTimeSlot?: DeliveryTimeSlot;\n}\n\nexport interface PickupDetails {\n  /** Pickup address. */\n  address?: Address;\n  /**\n   * Pickup method.\n   *\n   * Supported values:\n   * + `\"STORE_PICKUP\"`: When pickup is from the merchant's brick and mortar store.\n   * + `\"PICKUP_POINT\"`: When item is shipped to a specified pickup point.\n   */\n  pickupMethod?: PickupMethod;\n}\n\nexport enum PickupMethod {\n  UNKNOWN_METHOD = 'UNKNOWN_METHOD',\n  STORE_PICKUP = 'STORE_PICKUP',\n  PICKUP_POINT = 'PICKUP_POINT',\n}\n\nexport interface DeliveryTimeSlot {\n  /** starting time of the delivery time slot */\n  from?: Date | null;\n  /** ending time of the delivery time slot */\n  to?: Date | null;\n}\n\nexport interface DeliveryCost {\n  /** The shipping rate's price. Must align with the [currency's decimal separator](https://en.wikipedia.org/wiki/ISO_4217#Active_codes). */\n  price?: string;\n  /** Currency of the shipping rate price as a 3-letter [ISO-4217 currency code](https://en.wikipedia.org/wiki/ISO_4217). Must align with the `currency` passed to the function under the `metadata` field. */\n  currency?: string;\n  /** Additional costs. For example, a handling fee for packaging fragile items. */\n  additionalCharges?: AdditionalCharge[];\n}\n\nexport interface AdditionalCharge {\n  /** Additional charge type. */\n  type?: ChargeType;\n  /** Description of the additional charge. For example, `\"Handling fee of $5 applied for gift wrapping\"`. */\n  description?: string | null;\n  /** Cost of additional charge. For example, `12.5`. */\n  price?: string;\n}\n\nexport enum ChargeType {\n  HANDLING_FEE = 'HANDLING_FEE',\n}\n\nexport interface DeliveryAllocation {\n  /** The delivery option's carrier details, could be multiple if the delivery option is a combination of multiple carriers */\n  deliveryCarrier?: Carrier;\n  /** The delivery region that are relevant for this delivery solution. */\n  deliveryRegion?: Region;\n  /** Populated if the delivery solution is a partially supplied by this carrier. */\n  applicableLineItems?: ApplicableLineItems;\n}\n\nexport interface Carrier {\n  /** The carrier app id */\n  appId?: string | null;\n  /** Unique code that acts as an ID for a shipping rate. For example, `\"usps_std_overnight\"`. */\n  code?: string;\n}\n\nexport interface Region {\n  /** The delivery region id. */\n  _id?: string | null;\n  /** The delivery region name. */\n  name?: string | null;\n}\n\nexport interface ApplicableLineItems {\n  /** Line items that the delivery solution is for. */\n  lineItemIds?: string[];\n}\n\nexport interface DeliveryCarrierError {\n  /** The carrier app id */\n  appId?: string | null;\n  /** The error details */\n  errorDetails?: Details;\n}\n\nexport interface Details extends DetailsKindOneOf {\n  applicationError?: ApplicationError;\n  validationError?: ValidationError;\n  systemError?: SystemError;\n  /**\n   * deprecated in API's - to enable migration from rendering arbitrary tracing to rest response\n   * @deprecated\n   */\n  tracing?: Record<string, string>;\n}\n\n/** @oneof */\nexport interface DetailsKindOneOf {\n  applicationError?: ApplicationError;\n  validationError?: ValidationError;\n  systemError?: SystemError;\n}\n\nexport interface ApplicationError {\n  /** Error code. */\n  code?: string;\n  /** Description of the error. */\n  description?: string;\n  /** Data related to the error. */\n  data?: Record<string, any> | null;\n}\n\n/**\n * example result:\n * {\n * \"fieldViolations\": [\n * {\n * \"field\": \"fieldA\",\n * \"description\": \"invalid music note. supported notes: [do,re,mi,fa,sol,la,ti]\",\n * \"violatedRule\": \"OTHER\",\n * \"ruleName\": \"INVALID_NOTE\",\n * \"data\": {\n * \"value\": \"FI\"\n * }\n * },\n * {\n * \"field\": \"fieldB\",\n * \"description\": \"field value out of range. supported range: [0-20]\",\n * \"violatedRule\": \"MAX\",\n * \"data\": {\n * \"threshold\": 20\n * }\n * },\n * {\n * \"field\": \"fieldC\",\n * \"description\": \"invalid phone number. provide a valid phone number of size: [7-12], supported characters: [0-9, +, -, (, )]\",\n * \"violatedRule\": \"FORMAT\",\n * \"data\": {\n * \"type\": \"PHONE\"\n * }\n * }\n * ]\n * }\n */\nexport interface ValidationError {\n  fieldViolations?: FieldViolation[];\n}\n\nexport enum RuleType {\n  VALIDATION = 'VALIDATION',\n  OTHER = 'OTHER',\n  MAX = 'MAX',\n  MIN = 'MIN',\n  MAX_LENGTH = 'MAX_LENGTH',\n  MIN_LENGTH = 'MIN_LENGTH',\n  MAX_SIZE = 'MAX_SIZE',\n  MIN_SIZE = 'MIN_SIZE',\n  FORMAT = 'FORMAT',\n  DECIMAL_LTE = 'DECIMAL_LTE',\n  DECIMAL_GTE = 'DECIMAL_GTE',\n  DECIMAL_LT = 'DECIMAL_LT',\n  DECIMAL_GT = 'DECIMAL_GT',\n  DECIMAL_MAX_SCALE = 'DECIMAL_MAX_SCALE',\n  INVALID_ENUM_VALUE = 'INVALID_ENUM_VALUE',\n  REQUIRED_FIELD = 'REQUIRED_FIELD',\n  FIELD_NOT_ALLOWED = 'FIELD_NOT_ALLOWED',\n  ONE_OF_ALIGNMENT = 'ONE_OF_ALIGNMENT',\n  EXACT_LENGTH = 'EXACT_LENGTH',\n  EXACT_SIZE = 'EXACT_SIZE',\n  REQUIRED_ONE_OF_FIELD = 'REQUIRED_ONE_OF_FIELD',\n}\n\nexport interface FieldViolation {\n  field?: string;\n  description?: string;\n  violatedRule?: RuleType;\n  /** applicable when violated_rule=OTHER */\n  ruleName?: string | null;\n  data?: Record<string, any> | null;\n}\n\nexport interface SystemError {\n  /** Error code. */\n  errorCode?: string | null;\n}\n\ninterface StreetAddressNonNullableFields {\n  number: string;\n  name: string;\n  apt: string;\n}\n\ninterface SubdivisionNonNullableFields {\n  name: string;\n}\n\ninterface AddressNonNullableFields {\n  streetAddress?: StreetAddressNonNullableFields;\n  subdivisions: SubdivisionNonNullableFields[];\n}\n\ninterface PickupDetailsNonNullableFields {\n  address?: AddressNonNullableFields;\n  pickupMethod: PickupMethod;\n}\n\ninterface DeliveryLogisticsNonNullableFields {\n  pickupDetails?: PickupDetailsNonNullableFields;\n}\n\ninterface AdditionalChargeNonNullableFields {\n  type: ChargeType;\n  price: string;\n}\n\ninterface DeliveryCostNonNullableFields {\n  price: string;\n  currency: string;\n  additionalCharges: AdditionalChargeNonNullableFields[];\n}\n\ninterface CarrierNonNullableFields {\n  code: string;\n}\n\ninterface ApplicableLineItemsNonNullableFields {\n  lineItemIds: string[];\n}\n\ninterface DeliveryAllocationNonNullableFields {\n  deliveryCarrier?: CarrierNonNullableFields;\n  applicableLineItems?: ApplicableLineItemsNonNullableFields;\n}\n\ninterface DeliverySolutionNonNullableFields {\n  code: string;\n  title: string;\n  logistics?: DeliveryLogisticsNonNullableFields;\n  cost?: DeliveryCostNonNullableFields;\n  deliveryAllocations: DeliveryAllocationNonNullableFields[];\n}\n\ninterface ApplicationErrorNonNullableFields {\n  code: string;\n  description: string;\n}\n\ninterface FieldViolationNonNullableFields {\n  field: string;\n  description: string;\n  violatedRule: RuleType;\n}\n\ninterface ValidationErrorNonNullableFields {\n  fieldViolations: FieldViolationNonNullableFields[];\n}\n\ninterface DetailsNonNullableFields {\n  applicationError?: ApplicationErrorNonNullableFields;\n  validationError?: ValidationErrorNonNullableFields;\n}\n\ninterface DeliveryCarrierErrorNonNullableFields {\n  errorDetails?: DetailsNonNullableFields;\n}\n\nexport interface GetDeliverySolutionsResponseNonNullableFields {\n  deliverySolutions: DeliverySolutionNonNullableFields[];\n  errors: DeliveryCarrierErrorNonNullableFields[];\n}\n\n/**\n * Get Delivery Solutions for the given line items from all relevant delivery carriers\n * @param lineItems - list of items to delivery that each of them points to delivery profile and delivery rule.\n * @public\n * @documentationMaturity preview\n * @requiredField lineItems\n * @requiredField options.currency\n * @requiredField options.destination\n * @requiredField options.destination.country\n * @permissionId ECOM.DELIVERY_SOLUTION_READ\n * @applicableIdentity VISITOR\n * @returns Each delivery option has a list of items that can be delivered by it - the chosen one\n * on Errors throw a business error from TC to catch and trigger destination completion\n * @fqn wix.ecom.deliveryprofile.v1.DeliveryRates.GetDeliverySolutions\n */\nexport async function getDeliverySolutions(\n  lineItems: DeliverableItem[],\n  options?: GetDeliverySolutionsOptions\n): Promise<\n  GetDeliverySolutionsResponse & GetDeliverySolutionsResponseNonNullableFields\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[2] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = transformPaths(\n    renameKeysFromSDKRequestToRESTRequest({\n      lineItems: lineItems,\n      destination: options?.destination,\n      origin: options?.origin,\n      currency: options?.currency,\n      contactDetails: options?.contactDetails,\n      weightUnit: options?.weightUnit,\n      userPreferences: options?.userPreferences,\n      purchaseFlowId: options?.purchaseFlowId,\n    }),\n    [\n      {\n        transformFn: transformSDKAddressToRESTAddress,\n        paths: [{ path: 'destination' }, { path: 'origin' }],\n      },\n    ]\n  );\n\n  const reqOpts =\n    ambassadorWixGatewaysEcomV1DeliveryRatesGateway.getDeliverySolutions(\n      payload\n    );\n\n  sideEffects?.onSiteCall?.();\n  try {\n    const result = await httpClient.request(reqOpts);\n    sideEffects?.onSuccess?.(result);\n\n    return renameKeysFromRESTResponseToSDKResponse(\n      transformPaths(result.data, [\n        {\n          transformFn: transformRESTAddressToSDKAddress,\n          paths: [\n            { path: 'deliverySolutions.logistics.pickupDetails.address' },\n          ],\n        },\n      ])\n    )!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: {\n          lineItems: '$[0]',\n          destination: '$[1].destination',\n          origin: '$[1].origin',\n          currency: '$[1].currency',\n          contactDetails: '$[1].contactDetails',\n          weightUnit: '$[1].weightUnit',\n          userPreferences: '$[1].userPreferences',\n          purchaseFlowId: '$[1].purchaseFlowId',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['lineItems', 'options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface GetDeliverySolutionsOptions {\n  /** Destination the items should deliver to */\n  destination: Address;\n  /**\n   * Origin the items should deliver from\n   * @deprecated Origin the items should deliver from\n   * @targetRemovalDate 2025-04-01\n   */\n  origin?: Address;\n  /** Currency - Defaults to site's currency */\n  currency: string | null;\n  /** Contact details */\n  contactDetails?: FullAddressContactDetails;\n  /** Measure unit - defaults to site's weight unit */\n  weightUnit?: WeightUnit;\n  /** list of user preferences which are delivery options codes combined with delivery carrier app id */\n  userPreferences?: UserPreference[];\n  /** Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order. */\n  purchaseFlowId?: string | null;\n}\n","import { transformSDKFloatToRESTFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformRESTFloatToSDKFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nfunction resolveWixEcomDeliveryprofileV1DeliveryRatesUrl(\n  opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n  const domainToMappings = {\n    'api._api_base_domain_': [\n      {\n        srcPath: '/delivery-rates',\n        destPath: '',\n      },\n    ],\n    _: [\n      {\n        srcPath: '/_api/delivery-rates',\n        destPath: '',\n      },\n    ],\n  };\n\n  return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_ecom_delivery-solutions';\n\n/** Get Delivery Solutions for the given line items from all relevant delivery carriers */\nexport function getDeliverySolutions(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __getDeliverySolutions({ host }: any) {\n    const serializedData = transformPaths(payload, [\n      {\n        transformFn: transformSDKFloatToRESTFloat,\n        paths: [\n          { path: 'lineItems.physicalProperties.weight' },\n          { path: 'destination.geocode.latitude' },\n          { path: 'destination.geocode.longitude' },\n          { path: 'origin.geocode.latitude' },\n          { path: 'origin.geocode.longitude' },\n        ],\n      },\n    ]);\n    const metadata = {\n      entityFqdn: 'wix.gateways.ecom.v1.delivery_rates_gateway',\n      method: 'POST' as any,\n      methodFqn:\n        'wix.ecom.deliveryprofile.v1.DeliveryRates.GetDeliverySolutions',\n      packageName: PACKAGE_NAME,\n      url: resolveWixEcomDeliveryprofileV1DeliveryRatesUrl({\n        protoPath: '/v1/get-delivery-solutions',\n        data: serializedData,\n        host,\n      }),\n      data: serializedData,\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTFloatToSDKFloat,\n            paths: [\n              {\n                path: 'deliverySolutions.logistics.pickupDetails.address.geocode.latitude',\n              },\n              {\n                path: 'deliverySolutions.logistics.pickupDetails.address.geocode.longitude',\n              },\n            ],\n          },\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: [\n              { path: 'deliverySolutions.logistics.deliveryTimeSlot.from' },\n              { path: 'deliverySolutions.logistics.deliveryTimeSlot.to' },\n            ],\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __getDeliverySolutions;\n}\n","import { HttpClient } from '@wix/sdk-types';\nimport {\n  DeliverableItem,\n  GetDeliverySolutionsOptions,\n  GetDeliverySolutionsResponse,\n  GetDeliverySolutionsResponseNonNullableFields,\n  getDeliverySolutions as universalGetDeliverySolutions,\n} from './gateways-ecom-v1-delivery-rates-gateway-delivery-solutions.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/ecom' };\n\nexport function getDeliverySolutions(\n  httpClient: HttpClient\n): GetDeliverySolutionsSignature {\n  return (\n    lineItems: DeliverableItem[],\n    options?: GetDeliverySolutionsOptions\n  ) =>\n    universalGetDeliverySolutions(\n      lineItems,\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface GetDeliverySolutionsSignature {\n  /**\n   * Get Delivery Solutions for the given line items from all relevant delivery carriers\n   * @param - list of items to delivery that each of them points to delivery profile and delivery rule.\n   * @returns Each delivery option has a list of items that can be delivered by it - the chosen one\n   * on Errors throw a business error from TC to catch and trigger destination completion\n   */\n  (\n    lineItems: DeliverableItem[],\n    options?: GetDeliverySolutionsOptions | undefined\n  ): Promise<\n    GetDeliverySolutionsResponse & GetDeliverySolutionsResponseNonNullableFields\n  >;\n}\n\nexport {\n  AdditionalCharge,\n  Address,\n  AddressLocation,\n  AddressStreetOneOf,\n  ApplicableLineItems,\n  ApplicationError,\n  Carrier,\n  CatalogReference,\n  ChargeType,\n  DeliverableItem,\n  DeliveryAllocation,\n  DeliveryCarrierError,\n  DeliveryCost,\n  DeliveryLogistics,\n  DeliveryRatesGateway,\n  DeliverySolution,\n  DeliveryTimeSlot,\n  Details,\n  DetailsKindOneOf,\n  ExternalReference,\n  FieldViolation,\n  FullAddressContactDetails,\n  GetDeliverySolutionsOptions,\n  GetDeliverySolutionsRequest,\n  GetDeliverySolutionsResponse,\n  GetDeliverySolutionsResponseNonNullableFields,\n  PhysicalProperties,\n  PickupDetails,\n  PickupMethod,\n  Region,\n  RuleType,\n  StreetAddress,\n  Subdivision,\n  SubdivisionType,\n  SystemError,\n  UserPreference,\n  ValidationError,\n  VatId,\n  VatType,\n  WeightUnit,\n} from './gateways-ecom-v1-delivery-rates-gateway-delivery-solutions.universal.js';\n","import { getDeliverySolutions as publicGetDeliverySolutions } from './gateways-ecom-v1-delivery-rates-gateway-delivery-solutions.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { BuildRESTFunction, MaybeContext } from '@wix/sdk-types';\n\nexport const getDeliverySolutions: MaybeContext<\n  BuildRESTFunction<typeof publicGetDeliverySolutions> &\n    typeof publicGetDeliverySolutions\n> = /*#__PURE__*/ createRESTModule(publicGetDeliverySolutions);\n\nexport {\n  SubdivisionType,\n  VatType,\n  WeightUnit,\n  PickupMethod,\n  ChargeType,\n  RuleType,\n} from './gateways-ecom-v1-delivery-rates-gateway-delivery-solutions.universal.js';\nexport {\n  DeliveryRatesGateway,\n  GetDeliverySolutionsRequest,\n  DeliverableItem,\n  CatalogReference,\n  PhysicalProperties,\n  Address,\n  AddressStreetOneOf,\n  StreetAddress,\n  AddressLocation,\n  Subdivision,\n  FullAddressContactDetails,\n  VatId,\n  UserPreference,\n  ExternalReference,\n  GetDeliverySolutionsResponse,\n  DeliverySolution,\n  DeliveryLogistics,\n  PickupDetails,\n  DeliveryTimeSlot,\n  DeliveryCost,\n  AdditionalCharge,\n  DeliveryAllocation,\n  Carrier,\n  Region,\n  ApplicableLineItems,\n  DeliveryCarrierError,\n  Details,\n  DetailsKindOneOf,\n  ApplicationError,\n  ValidationError,\n  FieldViolation,\n  SystemError,\n  GetDeliverySolutionsResponseNonNullableFields,\n  GetDeliverySolutionsOptions,\n} from './gateways-ecom-v1-delivery-rates-gateway-delivery-solutions.universal.js';\n"],"mappings":"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","names":["payload","transformPaths","SubdivisionType","VatType","WeightUnit","PickupMethod","ChargeType","RuleType","getDeliverySolutions","getDeliverySolutions","getDeliverySolutions"]}