import { isString, isArray, isObject } from "../../../@vue/shared/dist/shared.esm-bundler.mjs";
import { isDate, isFunction, isPlainObject, isPromise } from "../../../@vue/shared/dist/shared.esm-bundler.mjs";
import isNil from "../../../lodash-es/isNil.mjs";
const isUndefined = (val) => val === void 0;
const isBoolean = (val) => typeof val === "boolean";
const isNumber = (val) => typeof val === "number";
const isEmpty = (val) => !val && val !== 0 || isArray(val) && val.length === 0 || isObject(val) && !Object.keys(val).length;
const isElement = (e) => {
  if (typeof Element === "undefined") return false;
  return e instanceof Element;
};
const isPropAbsent = (prop) => isNil(prop);
const isStringNumber = (val) => {
  if (!isString(val)) return false;
  return !Number.isNaN(Number(val));
};
const isWindow = (val) => val === window;
export {
  isArray,
  isBoolean,
  isDate,
  isElement,
  isEmpty,
  isFunction,
  isNumber,
  isObject,
  isPlainObject,
  isPromise,
  isPropAbsent,
  isString,
  isStringNumber,
  isUndefined,
  isWindow
};
