UNPKG

@itxch/contentful-import

Version:

This tool allows you to import JSON dump exported by contentful-export

31 lines (30 loc) 1.13 kB
import { defaults, omit } from "lodash-es/object.js"; import * as transformers from "./transformers.js"; import sortEntries from "../utils/sort-entries.js"; import sortLocales from "../utils/sort-locales.js"; const spaceEntities = [ "contentTypes", "entries", "assets", "locales", "webhooks", "tags" ]; function transformSpace(sourceData, destinationData, customTransformers, entities = spaceEntities) { const transformers$1 = defaults(customTransformers, transformers); const baseSpaceData = omit(sourceData, ...entities); sourceData.locales = sortLocales(sourceData.locales); const tagsEnabled = !!destinationData.tags; return entities.reduce((transformedSpaceData, type) => { const sortedEntities = type === "tags" ? sourceData[type] : sortEntries(sourceData[type]); const transformedEntities = sortedEntities.map((entity) => ({ original: entity, transformed: transformers$1[type](entity, destinationData[type], tagsEnabled) })); transformedSpaceData[type] = transformedEntities; return transformedSpaceData; }, baseSpaceData); } export { transformSpace as default };