Nitish kumar
Upload folder using huggingface_hub
c20f20c verified
export function menclose(element, targetParent, previousSibling, nextSibling, ancestors) {
const type = element.attribs?.notation?.split(' ')[0] || 'longdiv'
const targetElement = {
type: 'tag',
name: 'm:e',
attribs: {},
children: []
}
if (type === 'longdiv') {
targetParent.children.push({
type: 'tag',
name: 'm:rad',
attribs: {},
children: [
{
type: 'tag',
name: 'm:radPr',
attribs: {},
children: [{ type: 'tag', name: 'm:degHide', attribs: { 'm:val': 'on' }, children: [] }]
},
{ type: 'tag', name: 'm:deg', attribs: {}, children: [] },
targetElement
]
})
} else {
const hide = {
t: { type: 'tag', name: 'm:hideTop', attribs: { 'm:val': 'on' }, children: [] },
b: { type: 'tag', name: 'm:hideBot', attribs: { 'm:val': 'on' }, children: [] },
l: { type: 'tag', name: 'm:hideLeft', attribs: { 'm:val': 'on' }, children: [] },
r: { type: 'tag', name: 'm:hideRight', attribs: { 'm:val': 'on' }, children: [] }
}
const borderBoxPr = { type: 'tag', name: 'm:borderBoxPr', attribs: {}, children: [] }
const containerElement = {
type: 'tag',
name: 'm:borderBox',
attribs: {},
children: []
}
switch (type) {
case 'actuarial':
case 'radical':
case 'box':
containerElement.children = [targetElement]
break
case 'left':
case 'roundedbox':
borderBoxPr.children = [hide.t, hide.b, hide.r]
containerElement.children = [borderBoxPr, targetElement]
break
case 'right':
case 'circle':
borderBoxPr.children = [hide.t, hide.b, hide.l]
containerElement.children = [borderBoxPr, targetElement]
break
case 'top':
borderBoxPr.children = [hide.b, hide.l, hide.r]
containerElement.children = [borderBoxPr, targetElement]
break
case 'bottom':
borderBoxPr.children = [hide.t, hide.l, hide.r]
containerElement.children = [borderBoxPr, targetElement]
break
case 'updiagonalstrike':
borderBoxPr.children = [
hide.t,
hide.b,
hide.l,
hide.r,
{ type: 'tag', name: 'm:strikeBLTR', attribs: { 'm:val': 'on' }, children: [] }
]
containerElement.children = [borderBoxPr, targetElement]
break
case 'downdiagonalstrike':
borderBoxPr.children = [
hide.t,
hide.b,
hide.l,
hide.r,
{ type: 'tag', name: 'm:strikeTLBR', attribs: { 'm:val': 'on' }, children: [] }
]
containerElement.children = [borderBoxPr, targetElement]
break
case 'verticalstrike':
borderBoxPr.children = [
hide.t,
hide.b,
hide.l,
hide.r,
{ type: 'tag', name: 'm:strikeV', attribs: { 'm:val': 'on' }, children: [] }
]
containerElement.children = [borderBoxPr, targetElement]
break
case 'horizontalstrike':
borderBoxPr.children = [
hide.t,
hide.b,
hide.l,
hide.r,
{ type: 'tag', name: 'm:strikeH', attribs: { 'm:val': 'on' }, children: [] }
]
containerElement.children = [borderBoxPr, targetElement]
break
default:
borderBoxPr.children = [hide.t, hide.b, hide.l, hide.r]
containerElement.children = [borderBoxPr, targetElement]
break
}
targetParent.children.push(containerElement)
}
return targetElement
}