UNPKG

@itxch/contentful-import

Version:

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

30 lines (29 loc) 1.14 kB
"use strict"; const _o = require("lodash-es/object.js"); const transformers = require("./transformers.cjs"); const sortEntries = require("../utils/sort-entries.cjs"); const sortLocales = require("../utils/sort-locales.cjs"); const spaceEntities = [ "contentTypes", "entries", "assets", "locales", "webhooks", "tags" ]; function transformSpace(sourceData, destinationData, customTransformers, entities = spaceEntities) { const transformers$1 = _o.defaults(customTransformers, transformers); const baseSpaceData = _o.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); } module.exports = transformSpace;