@nuskin/contentstack-lib 2.1.0-pa-1117.3 → 2.1.0-pa-1117.4
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/__tests__/api.spec.js +16 -8
- package/docs/CHANGELOG.md +1 -1
- package/package.json +1 -1
- package/src/api.js +24 -19
package/__tests__/api.spec.js
CHANGED
|
@@ -284,7 +284,10 @@ describe("ContentstackApi", () => {
|
|
|
284
284
|
pre_address_fields: [addressFormFieldEntries[0]],
|
|
285
285
|
address_form: {
|
|
286
286
|
title: 'default',
|
|
287
|
-
address_elements: addressFormFieldEntries
|
|
287
|
+
address_elements: addressFormFieldEntries,
|
|
288
|
+
postal_code_regex: '^[0-9]{5}(?:-[0-9]{4})?$',
|
|
289
|
+
verify_after_autocomplete: true,
|
|
290
|
+
wrap_address1_to_address2: false
|
|
288
291
|
},
|
|
289
292
|
post_address_fields: [addressFormFieldEntries[1]]
|
|
290
293
|
}
|
|
@@ -293,7 +296,6 @@ describe("ContentstackApi", () => {
|
|
|
293
296
|
const Stack = getStack('dev');
|
|
294
297
|
await expect(Stack.getShippingAddressForms(['United States'])).resolves.toStrictEqual([
|
|
295
298
|
{
|
|
296
|
-
title: 'United States',
|
|
297
299
|
pre_address_fields: [
|
|
298
300
|
{
|
|
299
301
|
field: 'address1',
|
|
@@ -304,7 +306,6 @@ describe("ContentstackApi", () => {
|
|
|
304
306
|
}
|
|
305
307
|
],
|
|
306
308
|
address_form: {
|
|
307
|
-
title: 'default',
|
|
308
309
|
address_elements: [
|
|
309
310
|
{
|
|
310
311
|
field: 'address1',
|
|
@@ -320,7 +321,10 @@ describe("ContentstackApi", () => {
|
|
|
320
321
|
max_length: 10,
|
|
321
322
|
required: false
|
|
322
323
|
}
|
|
323
|
-
]
|
|
324
|
+
],
|
|
325
|
+
postal_code_regex: '^[0-9]{5}(?:-[0-9]{4})?$',
|
|
326
|
+
verify_after_autocomplete: true,
|
|
327
|
+
wrap_address1_to_address2: false
|
|
324
328
|
},
|
|
325
329
|
post_address_fields: [
|
|
326
330
|
{
|
|
@@ -342,7 +346,10 @@ describe("ContentstackApi", () => {
|
|
|
342
346
|
pre_address_fields: [addressFormFieldEntries[0]],
|
|
343
347
|
address_form: {
|
|
344
348
|
title: 'default',
|
|
345
|
-
address_elements: addressFormFieldEntries
|
|
349
|
+
address_elements: addressFormFieldEntries,
|
|
350
|
+
postal_code_regex: '^[0-9]{5}(?:-[0-9]{4})?$',
|
|
351
|
+
verify_after_autocomplete: true,
|
|
352
|
+
wrap_address1_to_address2: false
|
|
346
353
|
},
|
|
347
354
|
post_address_fields: [addressFormFieldEntries[1]]
|
|
348
355
|
}
|
|
@@ -351,7 +358,6 @@ describe("ContentstackApi", () => {
|
|
|
351
358
|
const Stack = getStack('dev');
|
|
352
359
|
await expect(Stack.getShippingAddressForms(['United States'], true)).resolves.toStrictEqual([
|
|
353
360
|
{
|
|
354
|
-
title: 'United States',
|
|
355
361
|
preAddressFields: [
|
|
356
362
|
{
|
|
357
363
|
field: 'address1',
|
|
@@ -362,7 +368,6 @@ describe("ContentstackApi", () => {
|
|
|
362
368
|
}
|
|
363
369
|
],
|
|
364
370
|
addressForm: {
|
|
365
|
-
title: 'default',
|
|
366
371
|
addressElements: [
|
|
367
372
|
{
|
|
368
373
|
field: 'address1',
|
|
@@ -378,7 +383,10 @@ describe("ContentstackApi", () => {
|
|
|
378
383
|
maxLength: 10,
|
|
379
384
|
required: false
|
|
380
385
|
}
|
|
381
|
-
]
|
|
386
|
+
],
|
|
387
|
+
postalCodeRegex: '^[0-9]{5}(?:-[0-9]{4})?$',
|
|
388
|
+
verifyAfterAutocomplete: true,
|
|
389
|
+
wrapAddress1ToAddress2: false
|
|
382
390
|
},
|
|
383
391
|
postAddressFields: [
|
|
384
392
|
{
|
package/docs/CHANGELOG.md
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
# [2.1.0-pa-1117.
|
|
1
|
+
# [2.1.0-pa-1117.4](https://code.tls.nuskin.io/ns-am/utility/npm/contentstack-lib/compare/v2.1.0-pa-1117.3...v2.1.0-pa-1117.4) (2026-04-07)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nuskin/contentstack-lib",
|
|
3
|
-
"version": "2.1.0-pa-1117.
|
|
3
|
+
"version": "2.1.0-pa-1117.4",
|
|
4
4
|
"description": "This project contains configuration and api code to access Contentstack, to be shared between the backend (AWS Lambda) and frontend (Vue, etc).",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"scripts": {
|
package/src/api.js
CHANGED
|
@@ -184,7 +184,7 @@ const _getMultiEntries = async (contentType, includeRefs, values) => {
|
|
|
184
184
|
const [results] = await Stack
|
|
185
185
|
.ContentType(contentType)
|
|
186
186
|
.Query()
|
|
187
|
-
.containedIn('
|
|
187
|
+
.containedIn('country', values)
|
|
188
188
|
.includeReference(includeRefs)
|
|
189
189
|
.toJSON()
|
|
190
190
|
.find();
|
|
@@ -213,15 +213,30 @@ const _extractAddressFormFields = (addressFormFields = [], camelcase = false) =>
|
|
|
213
213
|
return camelcase ? _snakeObjectToCamel(mappedFields) : mappedFields;
|
|
214
214
|
}
|
|
215
215
|
|
|
216
|
+
const _extractAddressForm = (addressForm, camelcase = false) => {
|
|
217
|
+
if (!addressForm) {
|
|
218
|
+
return addressForm;
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
const mappedForm = {
|
|
222
|
+
address_elements: _extractAddressFormFields(addressForm.address_elements, camelcase),
|
|
223
|
+
postal_code_regex: addressForm.postal_code_regex,
|
|
224
|
+
verify_after_autocomplete: addressForm.verify_after_autocomplete,
|
|
225
|
+
wrap_address1_to_address2: addressForm.wrap_address1_to_address2
|
|
226
|
+
};
|
|
227
|
+
|
|
228
|
+
return camelcase ? _snakeObjectToCamel(mappedForm) : mappedForm;
|
|
229
|
+
}
|
|
230
|
+
|
|
216
231
|
const getShippingAddressForms = async (countries, camelcase = false) => {
|
|
217
|
-
const results = await _getMultiEntries(
|
|
218
|
-
|
|
219
|
-
|
|
232
|
+
const results = await _getMultiEntries(
|
|
233
|
+
'shipping_address_form',
|
|
234
|
+
['pre_address_fields', 'address_form', 'address_form.address_elements', 'post_address_fields'],
|
|
235
|
+
countries
|
|
236
|
+
);
|
|
237
|
+
const mappedResults = (results || []).map((result) => ({
|
|
220
238
|
pre_address_fields: _extractAddressFormFields(result.pre_address_fields, camelcase),
|
|
221
|
-
address_form: result.address_form
|
|
222
|
-
...result.address_form,
|
|
223
|
-
address_elements: _extractAddressFormFields(result.address_form.address_elements, camelcase)
|
|
224
|
-
} : result.address_form,
|
|
239
|
+
address_form: _extractAddressForm(result.address_form, camelcase),
|
|
225
240
|
post_address_fields: _extractAddressFormFields(result.post_address_fields, camelcase)
|
|
226
241
|
}));
|
|
227
242
|
|
|
@@ -230,17 +245,7 @@ const getShippingAddressForms = async (countries, camelcase = false) => {
|
|
|
230
245
|
|
|
231
246
|
const getAddressForms = async (countries, camelcase = false) => {
|
|
232
247
|
const results = await _getMultiEntries('address_form', 'address_elements', countries);
|
|
233
|
-
const mappedResults = (results || []).map((
|
|
234
|
-
address_elements,
|
|
235
|
-
postal_code_regex,
|
|
236
|
-
verify_after_autocomplete,
|
|
237
|
-
wrap_address1_to_address2
|
|
238
|
-
}) => ({
|
|
239
|
-
address_elements: _extractAddressFormFields(address_elements, camelcase),
|
|
240
|
-
postal_code_regex,
|
|
241
|
-
verify_after_autocomplete,
|
|
242
|
-
wrap_address1_to_address2
|
|
243
|
-
}));
|
|
248
|
+
const mappedResults = (results || []).map((result) => _extractAddressForm(result, camelcase));
|
|
244
249
|
|
|
245
250
|
return camelcase ? _snakeObjectToCamel(mappedResults) : mappedResults;
|
|
246
251
|
}
|