index.js 480 B

123456789101112131415161718192021222324252627
  1. 'use strict'
  2. var assign = require('object-assign')
  3. module.exports = u
  4. function u(type, props, value) {
  5. var node
  6. if (
  7. (value === null || value === undefined) &&
  8. (typeof props !== 'object' || Array.isArray(props))
  9. ) {
  10. value = props
  11. props = {}
  12. }
  13. node = assign({type: String(type)}, props)
  14. if (Array.isArray(value)) {
  15. node.children = value
  16. } else if (value !== null && value !== undefined) {
  17. node.value = String(value)
  18. }
  19. return node
  20. }