refactor link extension
This commit is contained in:
@@ -18,3 +18,4 @@ export { default as getSchema } from './src/utils/getSchema'
|
||||
export { default as generateHtml } from './src/utils/generateHtml'
|
||||
export { default as getHtmlFromFragment } from './src/utils/getHtmlFromFragment'
|
||||
export { default as getMarkAttrs } from './src/utils/getMarkAttrs'
|
||||
export { default as mergeAttributes } from './src/utils/mergeAttributes'
|
||||
|
||||
@@ -1,23 +1,25 @@
|
||||
import { AnyObject } from '../types'
|
||||
|
||||
export default function mergeAttributes(attributes1: AnyObject, attributes2: AnyObject) {
|
||||
const mergedAttributes = { ...attributes1 }
|
||||
export default function mergeAttributes(...object: AnyObject[]) {
|
||||
return object.reduce((items, item) => {
|
||||
const mergedAttributes = { ...items }
|
||||
|
||||
Object.entries(attributes2).forEach(([key, value]) => {
|
||||
if (!mergedAttributes[key]) {
|
||||
mergedAttributes[key] = value
|
||||
return
|
||||
}
|
||||
Object.entries(item).forEach(([key, value]) => {
|
||||
if (!mergedAttributes[key]) {
|
||||
mergedAttributes[key] = value
|
||||
return
|
||||
}
|
||||
|
||||
if (key === 'class') {
|
||||
mergedAttributes[key] = [mergedAttributes[key], value].join(' ')
|
||||
return
|
||||
}
|
||||
if (key === 'class') {
|
||||
mergedAttributes[key] = [mergedAttributes[key], value].join(' ')
|
||||
return
|
||||
}
|
||||
|
||||
if (key === 'style') {
|
||||
mergedAttributes[key] = [mergedAttributes[key], value].join('; ')
|
||||
}
|
||||
})
|
||||
if (key === 'style') {
|
||||
mergedAttributes[key] = [mergedAttributes[key], value].join('; ')
|
||||
}
|
||||
})
|
||||
|
||||
return mergedAttributes
|
||||
return mergedAttributes
|
||||
}, {})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user