UNPKG

@stackbit/cms-contentful

Version:

Stackbit Contentful CMS Interface

43 lines 1.64 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const _ = require('lodash'); module.exports = { localizeModels: localizeModels }; function localizeModels(models, defaultLocale, locale) { // if locale was not provided, assume localization for defaultLocale if (!locale) { locale = defaultLocale; } return models.map((model) => { const { fields, ...restModel } = model; return { ...restModel, fields: fields.map((field) => { const { default: defaultValue, ...restField } = field; if (_.isPlainObject(defaultValue)) { if (!field.localized && defaultLocale && _.has(defaultValue, defaultLocale)) { return { ...restField, default: defaultValue[defaultLocale] }; } else if (field.localized && locale && _.has(defaultValue, locale)) { return { ...restField, default: defaultValue[locale] }; } else { return restField; } } // Fallback to older projects that are using stackbit contentful // extensions that store un-localized default values as primitives // return field with default value as-is return field; }) }; }); } //# sourceMappingURL=localize-models.js.map