Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | 2x 2x 2x 272x 272x 272x 272x 272x 272x 272x 272x 2x 1x 1x 1x 1x 272x 270x 5x 5x 270x 54x 269x 211x 211x 211x 211x 211x 270x 272x 2x 2x 2x 270x 270x 270x 270x 270x 270x 3x 3x 1x 2x 2x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 267x 6x 5x 3x 267x 2x 2x 2x 2x 2x 2x 2x 2x 265x 265x | import { NOOP, includeBooleanAttr, isSpecialBooleanAttr, isSymbol, makeMap, } from '@vue/shared' import { type ComponentInternalInstance, DeprecationTypes, compatUtils, } from '@vue/runtime-core' export const xlinkNS = 'http://www.w3.org/1999/xlink' export function patchAttr( el: Element, key: string, value: any, isSVG: boolean, instance?: ComponentInternalInstance | null, isBoolean: boolean = isSpecialBooleanAttr(key), ): void { if (isSVG && key.startsWith('xlink:')) { if (value == null) { el.removeAttributeNS(xlinkNS, key.slice(6, key.length)) } else { el.setAttributeNS(xlinkNS, key, value) } } else { if (__COMPAT__ && compatCoerceAttr(el, key, value, instance)) { return } // note we are only checking boolean attributes that don't have a // corresponding dom prop of the same name here. if (value == null || (isBoolean && !includeBooleanAttr(value))) { el.removeAttribute(key) } else { // attribute value is a string https://html.spec.whatwg.org/multipage/dom.html#attributes el.setAttribute( key, isBoolean ? '' : isSymbol(value) ? String(value) : value, ) } } } // 2.x compat const isEnumeratedAttr = __COMPAT__ ? /*@__PURE__*/ makeMap('contenteditable,draggable,spellcheck') : NOOP export function compatCoerceAttr( el: Element, key: string, value: unknown, instance: ComponentInternalInstance | null = null, ): boolean { if (isEnumeratedAttr(key)) { const v2CoercedValue = value === null ? 'false' : typeof value !== 'boolean' && value !== undefined ? 'true' : null if ( v2CoercedValue && compatUtils.softAssertCompatEnabled( DeprecationTypes.ATTR_ENUMERATED_COERCION, instance, key, value, v2CoercedValue, ) ) { el.setAttribute(key, v2CoercedValue) return true } } else if ( value === false && !(el.tagName === 'INPUT' && key === 'value') && !isSpecialBooleanAttr(key) && compatUtils.isCompatEnabled(DeprecationTypes.ATTR_FALSE_VALUE, instance) ) { compatUtils.warnDeprecation( DeprecationTypes.ATTR_FALSE_VALUE, instance, key, ) el.removeAttribute(key) return true } return false } |