@defra/fcp-sfd-frontend-engine 0.2.9 → 0.2.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -38,12 +38,7 @@ module.exports = __toCommonJS(index_exports);
38
38
  // src/mappers/personal-business-details-mapper.js
39
39
  var mapPersonalBusinessDetails = (value) => {
40
40
  return {
41
- info: {
42
- userName: [
43
- value.customer.info.name.first,
44
- value.customer.info.name.last
45
- ].filter(Boolean).join(" ")
46
- },
41
+ info: { ...mappers.customerName(value.customer.info.name) },
47
42
  business: {
48
43
  info: {
49
44
  organisationId: value.business.organisationId ?? null,
@@ -54,9 +49,48 @@ var mapPersonalBusinessDetails = (value) => {
54
49
  };
55
50
  };
56
51
 
52
+ // src/mappers/address-mapper.js
53
+ var mapAddress = (address = {}) => {
54
+ return {
55
+ lookup: {
56
+ pafOrganisationName: address.pafOrganisationName,
57
+ buildingNumberRange: address.buildingNumberRange,
58
+ flatName: address.flatName,
59
+ buildingName: address.buildingName,
60
+ dependentLocality: address.dependentLocality,
61
+ doubleDependentLocality: address.doubleDependentLocality,
62
+ street: address.street,
63
+ county: address.county,
64
+ uprn: address.uprn
65
+ },
66
+ manual: {
67
+ line1: address.line1,
68
+ line2: address.line2,
69
+ line3: address.line3,
70
+ line4: address.line4,
71
+ line5: address.line5
72
+ },
73
+ city: address.city,
74
+ postcode: address.postalCode,
75
+ country: address.country
76
+ };
77
+ };
78
+
79
+ // src/mappers/customer-name-mapper.js
80
+ var mapCustomerName = (name = {}) => {
81
+ return {
82
+ userName: [
83
+ name.first,
84
+ name.last
85
+ ].filter(Boolean).join(" ")
86
+ };
87
+ };
88
+
57
89
  // src/mappers/mappers.js
58
90
  var mappers = {
59
- mapPersonalBusinessDetails
91
+ personalBusinessDetails: mapPersonalBusinessDetails,
92
+ address: mapAddress,
93
+ customerName: mapCustomerName
60
94
  };
61
95
 
62
96
  // src/schemas/business/business-sbi-schema.js
package/dist/index.js CHANGED
@@ -1,12 +1,7 @@
1
1
  // src/mappers/personal-business-details-mapper.js
2
2
  var mapPersonalBusinessDetails = (value) => {
3
3
  return {
4
- info: {
5
- userName: [
6
- value.customer.info.name.first,
7
- value.customer.info.name.last
8
- ].filter(Boolean).join(" ")
9
- },
4
+ info: { ...mappers.customerName(value.customer.info.name) },
10
5
  business: {
11
6
  info: {
12
7
  organisationId: value.business.organisationId ?? null,
@@ -17,9 +12,48 @@ var mapPersonalBusinessDetails = (value) => {
17
12
  };
18
13
  };
19
14
 
15
+ // src/mappers/address-mapper.js
16
+ var mapAddress = (address = {}) => {
17
+ return {
18
+ lookup: {
19
+ pafOrganisationName: address.pafOrganisationName,
20
+ buildingNumberRange: address.buildingNumberRange,
21
+ flatName: address.flatName,
22
+ buildingName: address.buildingName,
23
+ dependentLocality: address.dependentLocality,
24
+ doubleDependentLocality: address.doubleDependentLocality,
25
+ street: address.street,
26
+ county: address.county,
27
+ uprn: address.uprn
28
+ },
29
+ manual: {
30
+ line1: address.line1,
31
+ line2: address.line2,
32
+ line3: address.line3,
33
+ line4: address.line4,
34
+ line5: address.line5
35
+ },
36
+ city: address.city,
37
+ postcode: address.postalCode,
38
+ country: address.country
39
+ };
40
+ };
41
+
42
+ // src/mappers/customer-name-mapper.js
43
+ var mapCustomerName = (name = {}) => {
44
+ return {
45
+ userName: [
46
+ name.first,
47
+ name.last
48
+ ].filter(Boolean).join(" ")
49
+ };
50
+ };
51
+
20
52
  // src/mappers/mappers.js
21
53
  var mappers = {
22
- mapPersonalBusinessDetails
54
+ personalBusinessDetails: mapPersonalBusinessDetails,
55
+ address: mapAddress,
56
+ customerName: mapCustomerName
23
57
  };
24
58
 
25
59
  // src/schemas/business/business-sbi-schema.js
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@defra/fcp-sfd-frontend-engine",
3
- "version": "0.2.9",
3
+ "version": "0.2.11",
4
4
  "description": "Shared frontend engine used by both the internal and external frontend applications.",
5
5
  "main": "./dist/index.cjs",
6
6
  "exports": {
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Takes the raw address data and maps it to a more usable format
3
+ *
4
+ * @param {Object} address - The raw address data
5
+ *
6
+ * @returns {Object} Formatted address data
7
+ */
8
+ export const mapAddress = (address = {}) => {
9
+ return {
10
+ lookup: {
11
+ pafOrganisationName: address.pafOrganisationName,
12
+ buildingNumberRange: address.buildingNumberRange,
13
+ flatName: address.flatName,
14
+ buildingName: address.buildingName,
15
+ dependentLocality: address.dependentLocality,
16
+ doubleDependentLocality: address.doubleDependentLocality,
17
+ street: address.street,
18
+ county: address.county,
19
+ uprn: address.uprn
20
+ },
21
+ manual: {
22
+ line1: address.line1,
23
+ line2: address.line2,
24
+ line3: address.line3,
25
+ line4: address.line4,
26
+ line5: address.line5
27
+ },
28
+ city: address.city,
29
+ postcode: address.postalCode,
30
+ country: address.country
31
+ }
32
+ }
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Takes the raw customer name data and maps it to a more usable format
3
+ *
4
+ * @param {Object} value - The data from the DAL
5
+ *
6
+ * @returns {Object} Formatted customer name data
7
+ */
8
+
9
+ export const mapCustomerName = (name = {}) => {
10
+ return {
11
+ userName: [
12
+ name.first,
13
+ name.last
14
+ ].filter(Boolean).join(' ')
15
+ }
16
+ }
@@ -1,5 +1,9 @@
1
1
  import { mapPersonalBusinessDetails } from './personal-business-details-mapper.js'
2
+ import { mapAddress } from './address-mapper.js'
3
+ import { mapCustomerName } from './customer-name-mapper.js'
2
4
 
3
5
  export const mappers = {
4
- mapPersonalBusinessDetails
6
+ personalBusinessDetails: mapPersonalBusinessDetails,
7
+ address: mapAddress,
8
+ customerName: mapCustomerName
5
9
  }
@@ -6,14 +6,11 @@
6
6
  * @returns {Object} Formatted personal business details data
7
7
  */
8
8
 
9
+ import { mappers } from './mappers'
10
+
9
11
  export const mapPersonalBusinessDetails = (value) => {
10
12
  return {
11
- info: {
12
- userName: [
13
- value.customer.info.name.first,
14
- value.customer.info.name.last
15
- ].filter(Boolean).join(' ')
16
- },
13
+ info: { ...mappers.customerName(value.customer.info.name) },
17
14
  business: {
18
15
  info: {
19
16
  organisationId: value.business.organisationId ?? null,
@@ -22,4 +19,4 @@ export const mapPersonalBusinessDetails = (value) => {
22
19
  }
23
20
  }
24
21
  }
25
- }
22
+ }