@nuskin/contentstack-lib
v2.0.2
Published
This project contains configuration and api code to access Contentstack, to be shared between the backend (AWS Lambda) and frontend (Vue, etc).
Keywords
Readme
@nuskin/contentstack-lib
This project extends the Contentstack delivery sdk, to be shared between the backend (AWS Lambda) and frontend.
- It simplifies initializing the Stack object.
- It extends the stack with a new function getSingletonEntries most commonly used to get translations
- CONTENTSTACK DOES NOT MERGE COMMON ENGLISH WITH US-en STRINGS. FALLBACK IN CONTENTSTACK DOES NOT WORK AS EXPECTED. getSingletonEntries TAKES AN OPTION CALLED mergeWithFallback. IF THAT IS SET TO TRUE THEN IT WILL MERGE THE RESULTS FOR COMMON SPANISH AND MX-es FOR EXAMPLE.
- getSingletonEntries also allows you to convert the keys from snake case to camel case.
Installing
Using npm:
npm install @nuskin/contentstack-libUsing yarn:
yarn add @nuskin/contentstack-libExample usage
const { getStack } = require('@nuskin/contentstack-lib')
// Pass an environment explicitly outside the browser.
// In the browser, getStack() can infer the env from the hostname.
const Stack = getStack('prod')
// get all languages
const languages = await Stack.ContentType('supported_language').Query().toJSON().find();
// get all markets
const markets = await Stack.ContentType('market').Query().toJSON().find();
// The entries are returned in the order they were requested so you can destructure the array accordingly
// To get the result in camelcase instead of snake case you can pass in the option.camelcase: true
// Contentstack does not merge common english strings with en_US strings. This function allows you to merge the two with mergeWithFallback: true
const [
checkoutAdrStrings,
checkoutCartStrings
] = await Stack.getSingletonEntries({
contentTypeUIDs: [
'checkout_adr_strings',
'checkout_cart_strings'
],
country: 'US',
language: 'en',
camelcase: true,
mergeWithFallback: true
});
// We could possibly add functionality to return the list of regions markets and languages in a single object structureResources
- https://code.tls.nuskin.io/ns-am/utility/npm/contentstack-lib
