style.wxs 904 B

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