utils.wxs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. /* utils */
  2. /**
  3. * addUnit */
  4. // 为 css 添加单位
  5. function addUnit(value) {
  6. var REGEXP = getRegExp('^\d+(.\d+)?$');
  7. if (value == null) {
  8. return undefined;
  9. }
  10. return REGEXP.test('' + value) ? value + 'px' : value;
  11. }
  12. function isString(string) {
  13. return string && string.constructor === 'String';
  14. }
  15. function isArray(array) {
  16. return array && array.constructor === 'Array';
  17. }
  18. function isObject(obj) {
  19. return obj && obj.constructor === 'Object';
  20. }
  21. var isNoEmptyObj = function (obj) {
  22. return isObject(obj) && JSON.stringify(obj) !== '{}';
  23. };
  24. function includes(arr, value) {
  25. if (!arr || !isArray(arr)) return false;
  26. var i = 0;
  27. var len = arr.length;
  28. for (; i < len; i++) {
  29. if (arr[i] === value) return true;
  30. }
  31. return false;
  32. }
  33. function cls(base, arr) {
  34. var res = [base];
  35. var i = 0;
  36. for (size = arr.length; i < size; i++) {
  37. var item = arr[i];
  38. if (item && item.constructor === 'Array') {
  39. var key = arr[i][0];
  40. var value = arr[i][1];
  41. if (value) {
  42. res.push(base + '--' + key);
  43. }
  44. } else if (typeof item === 'string') {
  45. if (item) {
  46. res.push(base + '--' + item);
  47. }
  48. }
  49. }
  50. return res.join(' ');
  51. }
  52. function endsWith(str, endStr) {
  53. return str.slice(-endStr.length) === endStr ? true : false;
  54. }
  55. function _style(arr) {
  56. var res = [];
  57. var r = arr.filter(function (s) {
  58. return s && s.trim();
  59. });
  60. for (i = 0; i < r.length; i++) {
  61. if (endsWith(r[i], ';')) {
  62. res.push(r[i]);
  63. } else {
  64. res.push(r[i] + ';');
  65. }
  66. }
  67. return res.join(' ');
  68. }
  69. module.exports = {
  70. addUnit: addUnit,
  71. isString: isString,
  72. isArray: isArray,
  73. isObject: isObject,
  74. isNoEmptyObj: isNoEmptyObj,
  75. includes: includes,
  76. cls: cls,
  77. _style: _style,
  78. };