Nitish kumar
Upload folder using huggingface_hub
c20f20c verified
import { getTextContent } from '../helpers.js'
const NARY_REGEXP = /^[\u220f-\u2211]|[\u2229-\u2233]|[\u22c0-\u22c3]$/
const GROW_REGEXP = /^\u220f|\u2211|[\u2229-\u222b]|\u222e|\u222f|\u2232|\u2233|[\u22c0-\u22c3]$/
export function getNary(node) {
// Check if node contains only a nary operator.
const text = getTextContent(node)
if (NARY_REGEXP.test(text)) {
return text
}
return false
}
export function getNaryTarget(naryChar, element, type, subHide = false, supHide = false) {
const stretchy = element.attribs?.stretchy
const grow =
stretchy === 'true' ? '1' : stretchy === 'false' ? '0' : GROW_REGEXP.test(naryChar) ? '1' : '0'
return {
type: 'tag',
name: 'm:nary',
attribs: {},
children: [
{
type: 'tag',
name: 'm:naryPr',
attribs: {},
children: [
{ type: 'tag', name: 'm:chr', attribs: { 'm:val': naryChar }, children: [] },
{ type: 'tag', name: 'm:limLoc', attribs: { 'm:val': type }, children: [] },
{ type: 'tag', name: 'm:grow', attribs: { 'm:val': grow }, children: [] },
{
type: 'tag',
name: 'm:subHide',
attribs: { 'm:val': subHide ? 'on' : 'off' },
children: []
},
{
type: 'tag',
name: 'm:supHide',
attribs: { 'm:val': supHide ? 'on' : 'off' },
children: []
}
]
}
]
}
}