UNPKG

taggedjs

Version:

tagged template reactive html

36 lines 1.96 kB
import { processAttributeEmit } from './processAttribute.function.js'; import { setNonFunctionInputValue } from '../../interpolations/attributes/howToSetInputValue.function.js'; import { updateNameOnlyAttrValue } from '../../interpolations/attributes/updateNameOnlyAttrValue.function.js'; import { removeContextInCycle, setContextInCycle } from '../../tag/cycles/setContextInCycle.function.js'; /** Currently universally used for all attributes */ export function processUpdateAttrContext(value, contextItem, ownerSupport, values) { const attrContextItem = contextItem; const tagValue = value; if (tagValue?.tagJsType) { const oldValue = contextItem.value; // its now a tagVar value but before was not if (!oldValue?.tagJsType) { tagValue.isAttr = true; setContextInCycle(contextItem); tagValue.processInitAttribute(attrContextItem.attrName, value, attrContextItem.target, tagValue, attrContextItem, ownerSupport, setNonFunctionInputValue); removeContextInCycle(); attrContextItem.tagJsVar = tagValue; return; } oldValue.hasValueChanged(tagValue, contextItem, // todo: weird typing should just be ContextItem ownerSupport); return; } if (attrContextItem.isNameOnly) { updateNameOnlyAttrValue(values, value, attrContextItem.value, attrContextItem.target, // global.element as Element, ownerSupport, attrContextItem.howToSet, [], // Context, but we dont want to alter current attrContextItem.parentContext, attrContextItem); attrContextItem.value = value; return; } const element = attrContextItem.target; processAttributeEmit(value, attrContextItem.attrName, attrContextItem, element, ownerSupport, attrContextItem.howToSet, attrContextItem.isSpecial); contextItem.value = value; return; } //# sourceMappingURL=processUpdateAttrContext.function.js.map