style.wxs 854 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /* eslint-disable */
  2. var object = require('./object.wxs');
  3. var array = require('./array.wxs');
  4. function kebabCase(word) {
  5. var newWord = word
  6. .replace(getRegExp("[A-Z]", 'g'), function (i) {
  7. return '-' + i;
  8. })
  9. .toLowerCase()
  10. return newWord;
  11. }
  12. function style(styles) {
  13. if (array.isArray(styles)) {
  14. return styles
  15. .filter(function (item) {
  16. return item != null && item !== '';
  17. })
  18. .map(function (item) {
  19. return style(item);
  20. })
  21. .join(';');
  22. }
  23. if ('Object' === styles.constructor) {
  24. return object
  25. .keys(styles)
  26. .filter(function (key) {
  27. return styles[key] != null && styles[key] !== '';
  28. })
  29. .map(function (key) {
  30. return [kebabCase(key), [styles[key]]].join(':');
  31. })
  32. .join(';');
  33. }
  34. return styles;
  35. }
  36. module.exports = style;