當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript inferno-shared.isNullOrUndef函數代碼示例

本文整理匯總了TypeScript中inferno-shared.isNullOrUndef函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript isNullOrUndef函數的具體用法?TypeScript isNullOrUndef怎麽用?TypeScript isNullOrUndef使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了isNullOrUndef函數的10個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: applyValue

export function applyValue(nextPropsOrEmpty, dom, mounting: boolean) {
  const value = nextPropsOrEmpty.value;
  const domValue = dom.value;

  if (isNullOrUndef(value)) {
    if (mounting) {
      const defaultValue = nextPropsOrEmpty.defaultValue;

      if (!isNullOrUndef(defaultValue)) {
        if (defaultValue !== domValue) {
          dom.defaultValue = defaultValue;
          dom.value = defaultValue;
        }
      } else if (domValue !== "") {
        dom.defaultValue = "";
        dom.value = "";
      }
    }
  } else {
    /* There is value so keep it controlled */
    if (domValue !== value) {
      dom.defaultValue = value;
      dom.value = value;
    }
  }
}
開發者ID:russelgal,項目名稱:inferno,代碼行數:26,代碼來源:TextareaWrapper.ts

示例2: patchStyle

// We are assuming here that we come from patchProp routine
// -nextAttrValue cannot be null or undefined
function patchStyle(lastAttrValue, nextAttrValue, dom) {
  const domStyle = dom.style;
  let style;
  let value;

  if (isString(nextAttrValue)) {
    domStyle.cssText = nextAttrValue;
    return;
  }

  if (!isNullOrUndef(lastAttrValue) && !isString(lastAttrValue)) {
    for (style in nextAttrValue) {
      // do not add a hasOwnProperty check here, it affects performance
      value = nextAttrValue[style];
      if (value !== lastAttrValue[style]) {
        domStyle[style] =
          !isNumber(value) || isUnitlessNumber.has(style)
            ? value
            : value + "px";
      }
    }

    for (style in lastAttrValue) {
      if (isNullOrUndef(nextAttrValue[style])) {
        domStyle[style] = "";
      }
    }
  } else {
    for (style in nextAttrValue) {
      value = nextAttrValue[style];
      domStyle[style] =
        !isNumber(value) || isUnitlessNumber.has(style) ? value : value + "px";
    }
  }
}
開發者ID:russelgal,項目名稱:inferno,代碼行數:37,代碼來源:patching.ts

示例3: applyValue

export function applyValue(nextPropsOrEmpty, dom) {
  const type = nextPropsOrEmpty.type;
  const value = nextPropsOrEmpty.value;
  const checked = nextPropsOrEmpty.checked;
  const multiple = nextPropsOrEmpty.multiple;
  const defaultValue = nextPropsOrEmpty.defaultValue;
  const hasValue = !isNullOrUndef(value);

  if (type && type !== dom.type) {
    dom.setAttribute("type", type);
  }
  if (multiple && multiple !== dom.multiple) {
    dom.multiple = multiple;
  }
  if (!isNullOrUndef(defaultValue) && !hasValue) {
    dom.defaultValue = defaultValue + "";
  }
  if (isCheckedType(type)) {
    if (hasValue) {
      dom.value = value;
    }
    if (!isNullOrUndef(checked)) {
      dom.checked = checked;
    }
  } else {
    if (hasValue && dom.value !== value) {
      dom.defaultValue = value;
      dom.value = value;
    } else if (!isNullOrUndef(checked)) {
      dom.checked = checked;
    }
  }
}
開發者ID:russelgal,項目名稱:inferno,代碼行數:33,代碼來源:InputWrapper.ts

示例4: isKeyed

export function isKeyed(lastChildren: VNode[], nextChildren: VNode[]): boolean {
  return (
    nextChildren.length > 0 &&
    !isNullOrUndef(nextChildren[0]) &&
    !isNullOrUndef(nextChildren[0].key) &&
    lastChildren.length > 0 &&
    !isNullOrUndef(lastChildren[0]) &&
    !isNullOrUndef(lastChildren[0].key)
  );
}
開發者ID:russelgal,項目名稱:inferno,代碼行數:10,代碼來源:utils.ts

示例5: oldCreateVNode

options.createVNode = (vNode: VNode): void => {
  const children = vNode.children;
  let props = vNode.props;

  if (isNullOrUndef(props)) {
    props = vNode.props = {};
  }
  if (!isNullOrUndef(children) && isNullOrUndef(props.children)) {
    props.children = children;
  }
  if (oldCreateVNode) {
    oldCreateVNode(vNode);
  }
};
開發者ID:russelgal,項目名稱:inferno,代碼行數:14,代碼來源:index.ts

示例6: mountFunctionalComponentCallbacks

export function mountFunctionalComponentCallbacks(
  props,
  ref,
  dom,
  lifecycle: LifecycleClass
) {
  if (ref) {
    if (!isNullOrUndef(ref.onComponentWillMount)) {
      ref.onComponentWillMount(props);
    }
    if (!isNullOrUndef(ref.onComponentDidMount)) {
      lifecycle.addListener(() => ref.onComponentDidMount(dom, props));
    }
  }
}
開發者ID:russelgal,項目名稱:inferno,代碼行數:15,代碼來源:mounting.ts

示例7: updateChildOption

function updateChildOption(vNode, value) {
  const props = vNode.props || EMPTY_OBJ;
  const dom = vNode.dom;

  // we do this as multiple may have changed
  dom.value = props.value;
  if (
    (isArray(value) && value.indexOf(props.value) !== -1) ||
    props.value === value
  ) {
    dom.selected = true;
  } else if (!isNullOrUndef(value) || !isNullOrUndef(props.selected)) {
    dom.selected = props.selected || false;
  }
}
開發者ID:russelgal,項目名稱:inferno,代碼行數:15,代碼來源:SelectWrapper.ts

示例8: validateNodeTree

export function validateNodeTree(node: any): boolean {
  if (!node) {
    return true;
  }
  if (isStringOrNumber(node)) {
    return true;
  }
  if (!node.dom) {
    return false;
  }
  const children = node.children;
  const flags = node.flags;

  if ((flags & VNodeFlags.Element) > 0) {
    if (!isNullOrUndef(children)) {
      if (isArray(children)) {
        for (const child of children) {
          const val = validateNodeTree(child);

          if (!val) {
            return false;
          }
        }
      } else {
        const val = validateNodeTree(children);

        if (!val) {
          return false;
        }
      }
    }
  }
  return true;
}
開發者ID:russelgal,項目名稱:inferno,代碼行數:34,代碼來源:index.ts

示例9: insertOrAppend

export function insertOrAppend(parentDom, newNode, nextNode) {
  if (isNullOrUndef(nextNode)) {
    appendChild(parentDom, newNode);
  } else {
    parentDom.insertBefore(newNode, nextNode);
  }
}
開發者ID:russelgal,項目名稱:inferno,代碼行數:7,代碼來源:utils.ts

示例10: patchEvent

export function patchEvent(name: string, lastValue, nextValue, dom) {
  if (lastValue !== nextValue) {
    if (delegatedEvents.has(name)) {
      handleEvent(name, lastValue, nextValue, dom);
    } else {
      const nameLowerCase = name.toLowerCase();
      const domEvent = dom[nameLowerCase];
      // if the function is wrapped, that means it's been controlled by a wrapper
      if (domEvent && domEvent.wrapped) {
        return;
      }
      if (!isFunction(nextValue) && !isNullOrUndef(nextValue)) {
        const linkEvent = nextValue.event;

        if (linkEvent && isFunction(linkEvent)) {
          dom[nameLowerCase] = function(e) {
            linkEvent(nextValue.data, e);
          };
        } else {
          if (process.env.NODE_ENV !== "production") {
            throwError(
              `an event on a VNode "${name}". was not a function or a valid linkEvent.`
            );
          }
          throwError();
        }
      } else {
        dom[nameLowerCase] = nextValue;
      }
    }
  }
}
開發者ID:russelgal,項目名稱:inferno,代碼行數:32,代碼來源:patching.ts


注:本文中的inferno-shared.isNullOrUndef函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。