SFRA Server-side Javascript - Source: app_storefront_base/cartridge/models/address.js menu

SFRA / Server-side JS / Source: app_storefront_base/cartridge/models/address.js

  1. 'use strict';
  2. /**
  3. * creates a plain object that contains address information
  4. * @param {dw.order.OrderAddress} addressObject - User's address
  5. * @returns {Object} an object that contains information about the users address
  6. */
  7. function createAddressObject(addressObject) {
  8. var result;
  9. if (addressObject) {
  10. result = {
  11. address1: addressObject.address1,
  12. address2: addressObject.address2,
  13. city: addressObject.city,
  14. firstName: addressObject.firstName,
  15. lastName: addressObject.lastName,
  16. ID: Object.hasOwnProperty.call(addressObject, 'ID')
  17. ? addressObject.ID : null,
  18. addressId: Object.hasOwnProperty.call(addressObject, 'ID')
  19. ? addressObject.ID : null,
  20. phone: addressObject.phone,
  21. postalCode: addressObject.postalCode,
  22. stateCode: addressObject.stateCode,
  23. jobTitle: addressObject.jobTitle,
  24. postBox: addressObject.postBox,
  25. salutation: addressObject.salutation,
  26. secondName: addressObject.secondName,
  27. companyName: addressObject.companyName,
  28. suffix: addressObject.suffix,
  29. suite: addressObject.suite,
  30. title: addressObject.title
  31. };
  32. if (result.stateCode === 'undefined') {
  33. result.stateCode = '';
  34. }
  35. if (Object.hasOwnProperty.call(addressObject, 'countryCode')) {
  36. result.countryCode = {
  37. displayValue: addressObject.countryCode.displayValue,
  38. value: addressObject.countryCode.value.toUpperCase()
  39. };
  40. }
  41. } else {
  42. result = null;
  43. }
  44. return result;
  45. }
  46. /**
  47. * Address class that represents an orderAddress
  48. * @param {dw.order.OrderAddress} addressObject - User's address
  49. * @constructor
  50. */
  51. function address(addressObject) {
  52. this.address = createAddressObject(addressObject);
  53. }
  54. module.exports = address;