function handleNotification(event, inst, fromProp, toPath, negate) {
  let value;
  let detail = /** @type {Object} */(event.detail);
  let fromPath = detail && detail.path;
  if (fromPath) {
    toPath = translate(fromProp, toPath, fromPath);
    value = detail && detail.value;
  } else {
    value = event.target[fromProp];
  }
  value = negate ? !value : value;
  if (!inst[TYPES.READ_ONLY] || !inst[TYPES.READ_ONLY][toPath]) {
    if (inst._setPendingPropertyOrPath(toPath, value, true, Boolean(fromPath))
      && (!detail || !detail.queueProperty)) {
      inst._invalidateProperties();
    }
  }
}
/**
 * Handler function for 2-way notification events. Receives context
 * information captured in the `addNotifyListener` closure from the
 * `__notifyListeners` metadata.
 *
 * Sets the value of the notified property to the host property or path.  If
 * the event contained path information, translate that path to the host
 * scope's name for that path first.
 *
 * @param {CustomEvent} event Notification event (e.g. '<property>-changed')
 * @param {!PropertyEffectsType} inst Host element instance handling the notification event
 * @param {string} fromProp Child element property that was bound
 * @param {string} toPath Host property/path that was bound
 * @param {boolean} negate Whether the binding was negated
 * @return {void}
 * @private
 */
Handler function for 2-way notification events. Receives context
information captured in the `addNotifyListener` closure from the
`__notifyListeners` metadata.

Sets the value of the notified property to the host property or path.  If
the event contained path information, translate that path to the host
scope's name for that path first.


Handler function for 2 - way notification events . Receives context information captured in the ` addNotifyListener ` closure from the ` __notifyListeners ` metadata . Sets the value of the notified property to the host property or path . If the event contained path information translate that path to the host scope ' s name for that path first .
function handleNotification(event, inst, fromProp, toPath, negate) {
  let value;
  let detail = (event.detail);
  let fromPath = detail && detail.path;
  if (fromPath) {
    toPath = translate(fromProp, toPath, fromPath);
    value = detail && detail.value;
  } else {
    value = event.target[fromProp];
  }
  value = negate ? !value : value;
  if (!inst[TYPES.READ_ONLY] || !inst[TYPES.READ_ONLY][toPath]) {
    if (inst._setPendingPropertyOrPath(toPath, value, true, Boolean(fromPath))
      && (!detail || !detail.queueProperty)) {
      inst._invalidateProperties();
    }
  }
}
function handleNotification ( event , inst , fromProp , toPath , negate ) { let value ; let detail = ( event . detail ) ; let fromPath = detail && detail . path ; if ( fromPath ) { toPath = translate ( fromProp , toPath , fromPath ) ; value = detail && detail . value ; } else { value = event . target [ fromProp ] ; } value = negate ? ! value : value ; if ( ! inst [ TYPES . READ_ONLY ] || ! inst [ TYPES . READ_ONLY ] [ toPath ] ) { if ( inst . _setPendingPropertyOrPath ( toPath , value , true , Boolean ( fromPath ) ) && ( ! detail || ! detail . queueProperty ) ) { inst . _invalidateProperties ( ) ; } } }
Handler function for 2-way notification events.
Handler function for 2 - way notification events .
/** @type {Object} */