index.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. exports.__esModule = true;
  4. exports.noop = noop;
  5. exports.isDef = isDef;
  6. exports.isObj = isObj;
  7. exports.get = get;
  8. exports.camelize = camelize;
  9. exports.isAndroid = isAndroid;
  10. exports.isIOS = isIOS;
  11. exports.range = range;
  12. exports.isInDocument = isInDocument;
  13. exports.isServer = exports.use = void 0;
  14. var _vue = _interopRequireDefault(require("vue"));
  15. var _use = require("./use");
  16. exports.use = _use.use;
  17. var isServer = _vue["default"].prototype.$isServer;
  18. exports.isServer = isServer;
  19. function noop() {}
  20. function isDef(value) {
  21. return value !== undefined && value !== null;
  22. }
  23. function isObj(x) {
  24. var type = typeof x;
  25. return x !== null && (type === 'object' || type === 'function');
  26. }
  27. function get(object, path) {
  28. var keys = path.split('.');
  29. var result = object;
  30. keys.forEach(function (key) {
  31. result = isDef(result[key]) ? result[key] : '';
  32. });
  33. return result;
  34. }
  35. var camelizeRE = /-(\w)/g;
  36. function camelize(str) {
  37. return str.replace(camelizeRE, function (_, c) {
  38. return c.toUpperCase();
  39. });
  40. }
  41. function isAndroid() {
  42. /* istanbul ignore next */
  43. return isServer ? false : /android/.test(navigator.userAgent.toLowerCase());
  44. }
  45. function isIOS() {
  46. /* istanbul ignore next */
  47. return isServer ? false : /ios|iphone|ipad|ipod/.test(navigator.userAgent.toLowerCase());
  48. }
  49. function range(num, min, max) {
  50. return Math.min(Math.max(num, min), max);
  51. }
  52. function isInDocument(element) {
  53. return document.body.contains(element);
  54. }