is.js 1.9 KB

1234567891011121314151617181920212223242526272829303132333435
  1. const getType = (payload) => Object.prototype.toString.call(payload).slice(8, -1);
  2. export const isUndefined = (payload) => typeof payload === 'undefined';
  3. export const isNull = (payload) => payload === null;
  4. export const isPlainObject = (payload) => {
  5. if (typeof payload !== 'object' || payload === null)
  6. return false;
  7. if (payload === Object.prototype)
  8. return false;
  9. if (Object.getPrototypeOf(payload) === null)
  10. return true;
  11. return Object.getPrototypeOf(payload) === Object.prototype;
  12. };
  13. export const isEmptyObject = (payload) => isPlainObject(payload) && Object.keys(payload).length === 0;
  14. export const isArray = (payload) => Array.isArray(payload);
  15. export const isString = (payload) => typeof payload === 'string';
  16. export const isNumber = (payload) => typeof payload === 'number' && !isNaN(payload);
  17. export const isBoolean = (payload) => typeof payload === 'boolean';
  18. export const isRegExp = (payload) => payload instanceof RegExp;
  19. export const isMap = (payload) => payload instanceof Map;
  20. export const isSet = (payload) => payload instanceof Set;
  21. export const isSymbol = (payload) => getType(payload) === 'Symbol';
  22. export const isDate = (payload) => payload instanceof Date && !isNaN(payload.valueOf());
  23. export const isError = (payload) => payload instanceof Error;
  24. export const isNaNValue = (payload) => typeof payload === 'number' && isNaN(payload);
  25. export const isPrimitive = (payload) => isBoolean(payload) ||
  26. isNull(payload) ||
  27. isUndefined(payload) ||
  28. isNumber(payload) ||
  29. isString(payload) ||
  30. isSymbol(payload);
  31. export const isBigint = (payload) => typeof payload === 'bigint';
  32. export const isInfinite = (payload) => payload === Infinity || payload === -Infinity;
  33. export const isTypedArray = (payload) => ArrayBuffer.isView(payload) && !(payload instanceof DataView);
  34. export const isURL = (payload) => payload instanceof URL;
  35. //# sourceMappingURL=is.js.map