is.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. var _window, _window$navigator;
  2. export var isClient = typeof window !== 'undefined';
  3. export var isDef = function isDef(val) {
  4. return typeof val !== 'undefined';
  5. };
  6. export var assert = function assert(condition) {
  7. var _console;
  8. for (var _len = arguments.length, infos = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
  9. infos[_key - 1] = arguments[_key];
  10. }
  11. if (!condition) (_console = console).warn.apply(_console, infos);
  12. };
  13. var toString = Object.prototype.toString;
  14. export var isBoolean = function isBoolean(val) {
  15. return typeof val === 'boolean';
  16. };
  17. export var isFunction = function isFunction(val) {
  18. return typeof val === 'function';
  19. };
  20. export var isNumber = function isNumber(val) {
  21. return typeof val === 'number';
  22. };
  23. export var isString = function isString(val) {
  24. return typeof val === 'string';
  25. };
  26. export var isObject = function isObject(val) {
  27. return toString.call(val) === '[object Object]';
  28. };
  29. export var isWindow = function isWindow(val) {
  30. return typeof window !== 'undefined' && toString.call(val) === '[object Window]';
  31. };
  32. export var now = function now() {
  33. return Date.now();
  34. };
  35. export var timestamp = function timestamp() {
  36. return +Date.now();
  37. };
  38. export var clamp = function clamp(n, min, max) {
  39. return Math.min(max, Math.max(min, n));
  40. };
  41. export var noop = function noop() {};
  42. export var rand = function rand(min, max) {
  43. min = Math.ceil(min);
  44. max = Math.floor(max);
  45. return Math.floor(Math.random() * (max - min + 1)) + min;
  46. };
  47. export var isIOS = /* #__PURE__ */isClient && ((_window = window) === null || _window === void 0 ? void 0 : (_window$navigator = _window.navigator) === null || _window$navigator === void 0 ? void 0 : _window$navigator.userAgent) && /iP(ad|hone|od)/.test(window.navigator.userAgent);
  48. export var hasOwn = function hasOwn(val, key) {
  49. return Object.prototype.hasOwnProperty.call(val, key);
  50. };