diff options
Diffstat (limited to 'node_modules/vue/src/platforms/web/server/modules/style.js')
| -rw-r--r-- | node_modules/vue/src/platforms/web/server/modules/style.js | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/node_modules/vue/src/platforms/web/server/modules/style.js b/node_modules/vue/src/platforms/web/server/modules/style.js new file mode 100644 index 00000000..fc043ef3 --- /dev/null +++ b/node_modules/vue/src/platforms/web/server/modules/style.js @@ -0,0 +1,28 @@ +/* @flow */ + +import { escape } from '../util' +import { hyphenate } from 'shared/util' +import { getStyle } from 'web/util/style' + +export function genStyle (style: Object): string { + let styleText = '' + for (const key in style) { + const value = style[key] + const hyphenatedKey = hyphenate(key) + if (Array.isArray(value)) { + for (let i = 0, len = value.length; i < len; i++) { + styleText += `${hyphenatedKey}:${value[i]};` + } + } else { + styleText += `${hyphenatedKey}:${value};` + } + } + return styleText +} + +export default function renderStyle (vnode: VNodeWithData): ?string { + const styleText = genStyle(getStyle(vnode, false)) + if (styleText !== '') { + return ` style=${JSON.stringify(escape(styleText))}` + } +} |
