You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
854 B
42 lines
854 B
/* eslint-disable */ |
|
var object = require('./object.wxs'); |
|
var array = require('./array.wxs'); |
|
|
|
function kebabCase(word) { |
|
var newWord = word |
|
.replace(getRegExp("[A-Z]", 'g'), function (i) { |
|
return '-' + i; |
|
}) |
|
.toLowerCase() |
|
|
|
return newWord; |
|
} |
|
|
|
function style(styles) { |
|
if (array.isArray(styles)) { |
|
return styles |
|
.filter(function (item) { |
|
return item != null && item !== ''; |
|
}) |
|
.map(function (item) { |
|
return style(item); |
|
}) |
|
.join(';'); |
|
} |
|
|
|
if ('Object' === styles.constructor) { |
|
return object |
|
.keys(styles) |
|
.filter(function (key) { |
|
return styles[key] != null && styles[key] !== ''; |
|
}) |
|
.map(function (key) { |
|
return [kebabCase(key), [styles[key]]].join(':'); |
|
}) |
|
.join(';'); |
|
} |
|
|
|
return styles; |
|
} |
|
|
|
module.exports = style;
|
|
|