Create New Item
×
Item Type
File
Folder
Item Name
×
Search file in folder and subfolders...
File Manager
/
wp-content
/
plugins
/
generateblocks
/
src
/
hoc
/
migrations
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
import { isEmpty } from 'lodash'; import isBlockVersionLessThan from '../../utils/check-block-version'; function migrationPipe( existingAttributes, callbacks = [], mode ) { return callbacks.reduce( ( resultAttrs, callback ) => { const result = callback( resultAttrs, existingAttributes, mode ); return Object.assign( {}, result ); }, {} ); } function updateBlockVersion( newBlockVersion ) { return function( attrs, existingAttrs, mode ) { if ( 'css' === mode ) { return attrs; } if ( isBlockVersionLessThan( existingAttrs.blockVersion, newBlockVersion ) ) { attrs.blockVersion = newBlockVersion; } return attrs; }; } function addToAttrsObject( { attrs = {}, attributeName, existingAttrs = {}, newAttrs = {}, oldAttrs = {} } ) { if ( isEmpty( newAttrs ) ) { return attrs; } return { ...attrs, [ attributeName ]: { ...existingAttrs, ...attrs[ attributeName ], ...newAttrs, }, ...oldAttrs, }; } function setIsDynamic( attrs, existingAttrs, mode ) { if ( 'css' === mode ) { return attrs; } if ( ! existingAttrs.isDynamic ) { attrs.isDynamic = true; } return attrs; } export { migrationPipe, updateBlockVersion, addToAttrsObject, setIsDynamic, };