is.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.timestamp = exports.rand = exports.now = exports.noop = exports.isWindow = exports.isString = exports.isObject = exports.isNumber = exports.isIOS = exports.isFunction = exports.isDef = exports.isClient = exports.isBoolean = exports.hasOwn = exports.clamp = exports.assert = void 0;
  6. var _window, _window$navigator;
  7. var isClient = typeof window !== 'undefined';
  8. exports.isClient = isClient;
  9. var isDef = function isDef(val) {
  10. return typeof val !== 'undefined';
  11. };
  12. exports.isDef = isDef;
  13. var assert = function assert(condition) {
  14. var _console;
  15. for (var _len = arguments.length, infos = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
  16. infos[_key - 1] = arguments[_key];
  17. }
  18. if (!condition) (_console = console).warn.apply(_console, infos);
  19. };
  20. exports.assert = assert;
  21. var toString = Object.prototype.toString;
  22. var isBoolean = function isBoolean(val) {
  23. return typeof val === 'boolean';
  24. };
  25. exports.isBoolean = isBoolean;
  26. var isFunction = function isFunction(val) {
  27. return typeof val === 'function';
  28. };
  29. exports.isFunction = isFunction;
  30. var isNumber = function isNumber(val) {
  31. return typeof val === 'number';
  32. };
  33. exports.isNumber = isNumber;
  34. var isString = function isString(val) {
  35. return typeof val === 'string';
  36. };
  37. exports.isString = isString;
  38. var isObject = function isObject(val) {
  39. return toString.call(val) === '[object Object]';
  40. };
  41. exports.isObject = isObject;
  42. var isWindow = function isWindow(val) {
  43. return typeof window !== 'undefined' && toString.call(val) === '[object Window]';
  44. };
  45. exports.isWindow = isWindow;
  46. var now = function now() {
  47. return Date.now();
  48. };
  49. exports.now = now;
  50. var timestamp = function timestamp() {
  51. return +Date.now();
  52. };
  53. exports.timestamp = timestamp;
  54. var clamp = function clamp(n, min, max) {
  55. return Math.min(max, Math.max(min, n));
  56. };
  57. exports.clamp = clamp;
  58. var noop = function noop() {};
  59. exports.noop = noop;
  60. var rand = function rand(min, max) {
  61. min = Math.ceil(min);
  62. max = Math.floor(max);
  63. return Math.floor(Math.random() * (max - min + 1)) + min;
  64. };
  65. exports.rand = rand;
  66. 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);
  67. exports.isIOS = isIOS;
  68. var hasOwn = function hasOwn(val, key) {
  69. return Object.prototype.hasOwnProperty.call(val, key);
  70. };
  71. exports.hasOwn = hasOwn;