@nuskin/contentstack-lib 2.1.0-pa-1117.4 → 2.1.0-pa-1117.6

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/.eslintrc.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "SharedArrayBuffer": "readonly"
12
12
  },
13
13
  "parserOptions": {
14
- "ecmaVersion": 2018,
14
+ "ecmaVersion": 2020,
15
15
  "sourceType": "module"
16
16
  },
17
17
  "extends": [
@@ -281,6 +281,20 @@ describe("ContentstackApi", () => {
281
281
  mockPromiseResult.mockResolvedValueOnce([[
282
282
  {
283
283
  title: 'United States',
284
+ countries: [
285
+ {
286
+ countries: [
287
+ {
288
+ country_code: 'US',
289
+ country_name: 'United States'
290
+ },
291
+ {
292
+ country_code: 'CA',
293
+ country_name: 'Canada'
294
+ }
295
+ ]
296
+ }
297
+ ],
284
298
  pre_address_fields: [addressFormFieldEntries[0]],
285
299
  address_form: {
286
300
  title: 'default',
@@ -296,6 +310,16 @@ describe("ContentstackApi", () => {
296
310
  const Stack = getStack('dev');
297
311
  await expect(Stack.getShippingAddressForms(['United States'])).resolves.toStrictEqual([
298
312
  {
313
+ countries: [
314
+ {
315
+ code: 'US',
316
+ name: 'United States'
317
+ },
318
+ {
319
+ code: 'CA',
320
+ name: 'Canada'
321
+ }
322
+ ],
299
323
  pre_address_fields: [
300
324
  {
301
325
  field: 'address1',
@@ -343,6 +367,20 @@ describe("ContentstackApi", () => {
343
367
  mockPromiseResult.mockResolvedValueOnce([[
344
368
  {
345
369
  title: 'United States',
370
+ countries: [
371
+ {
372
+ countries: [
373
+ {
374
+ country_code: 'US',
375
+ country_name: 'United States'
376
+ },
377
+ {
378
+ country_code: 'CA',
379
+ country_name: 'Canada'
380
+ }
381
+ ]
382
+ }
383
+ ],
346
384
  pre_address_fields: [addressFormFieldEntries[0]],
347
385
  address_form: {
348
386
  title: 'default',
@@ -358,6 +396,16 @@ describe("ContentstackApi", () => {
358
396
  const Stack = getStack('dev');
359
397
  await expect(Stack.getShippingAddressForms(['United States'], true)).resolves.toStrictEqual([
360
398
  {
399
+ countries: [
400
+ {
401
+ code: 'US',
402
+ name: 'United States'
403
+ },
404
+ {
405
+ code: 'CA',
406
+ name: 'Canada'
407
+ }
408
+ ],
361
409
  preAddressFields: [
362
410
  {
363
411
  field: 'address1',
package/docs/CHANGELOG.md CHANGED
@@ -1 +1 @@
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)
1
+ # [2.1.0-pa-1117.6](https://code.tls.nuskin.io/ns-am/utility/npm/contentstack-lib/compare/v2.1.0-pa-1117.5...v2.1.0-pa-1117.6) (2026-04-08)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nuskin/contentstack-lib",
3
- "version": "2.1.0-pa-1117.4",
3
+ "version": "2.1.0-pa-1117.6",
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": {
@@ -19,7 +19,7 @@
19
19
  "license": "ISC",
20
20
  "homepage": "https://code.tls.nuskin.io/ns-am/utility/npm/contentstack-lib/blob/master/README.md",
21
21
  "devDependencies": {
22
- "eslint": "5.16.0",
22
+ "eslint": "7.32.0",
23
23
  "eslint-config-google": "0.14.0",
24
24
  "eslint-config-prettier": "4.1.0",
25
25
  "eslint-plugin-json": "2.1.1",
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('country', values)
187
+ .containedIn('title', values)
188
188
  .includeReference(includeRefs)
189
189
  .toJSON()
190
190
  .find();
@@ -228,13 +228,23 @@ const _extractAddressForm = (addressForm, camelcase = false) => {
228
228
  return camelcase ? _snakeObjectToCamel(mappedForm) : mappedForm;
229
229
  }
230
230
 
231
+ const _extractShippingCountries = (countries = []) => {
232
+ const shippingCountries = countries[0]?.countries ?? [];
233
+
234
+ return shippingCountries.map(({country_code, country_name}) => ({
235
+ code: country_code,
236
+ name: country_name
237
+ }));
238
+ }
239
+
231
240
  const getShippingAddressForms = async (countries, camelcase = false) => {
232
241
  const results = await _getMultiEntries(
233
242
  'shipping_address_form',
234
- ['pre_address_fields', 'address_form', 'address_form.address_elements', 'post_address_fields'],
243
+ ['countries', 'pre_address_fields', 'address_form', 'address_form.address_elements', 'post_address_fields'],
235
244
  countries
236
245
  );
237
246
  const mappedResults = (results || []).map((result) => ({
247
+ countries: _extractShippingCountries(result.countries),
238
248
  pre_address_fields: _extractAddressFormFields(result.pre_address_fields, camelcase),
239
249
  address_form: _extractAddressForm(result.address_form, camelcase),
240
250
  post_address_fields: _extractAddressFormFields(result.post_address_fields, camelcase)