create-shipping-address.js 923 B

1234567891011121314151617181920212223242526272829303132333435
  1. /**
  2. * Copyright © Magento, Inc. All rights reserved.
  3. * See COPYING.txt for license details.
  4. */
  5. /**
  6. * @api
  7. */
  8. define([
  9. 'Magento_Customer/js/model/address-list',
  10. 'Magento_Checkout/js/model/address-converter'
  11. ], function (addressList, addressConverter) {
  12. 'use strict';
  13. return function (addressData) {
  14. var address = addressConverter.formAddressDataToQuoteAddress(addressData),
  15. isAddressUpdated = addressList().some(function (currentAddress, index, addresses) {
  16. if (currentAddress.getKey() == address.getKey()) { //eslint-disable-line eqeqeq
  17. addresses[index] = address;
  18. return true;
  19. }
  20. return false;
  21. });
  22. if (!isAddressUpdated) {
  23. addressList.push(address);
  24. } else {
  25. addressList.valueHasMutated();
  26. }
  27. return address;
  28. };
  29. });