is.js 2.1 KB

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