1 | 'use strict';
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 |
|
7 | var _createElement = require('@f/create-element');
|
8 |
|
9 | var _createElement2 = _interopRequireDefault(_createElement);
|
10 |
|
11 | var _setAttribute = require('./setAttribute');
|
12 |
|
13 | var _setAttribute2 = _interopRequireDefault(_setAttribute);
|
14 |
|
15 | var _foreach = require('@f/foreach');
|
16 |
|
17 | var _foreach2 = _interopRequireDefault(_foreach);
|
18 |
|
19 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
20 |
|
21 |
|
22 |
|
23 |
|
24 |
|
25 | function createNode(vnode, children, element) {
|
26 | var type = vnode.type;
|
27 | var node = undefined;
|
28 |
|
29 | if (!element) {
|
30 | if (type === '#text') {
|
31 | vnode.element = document.createTextNode(vnode.props.nodeValue);
|
32 | return vnode;
|
33 | }
|
34 |
|
35 | node = vnode.element = (0, _createElement2.default)(type);
|
36 | } else {
|
37 | node = vnode.element = element;
|
38 | }
|
39 |
|
40 | (0, _foreach2.default)(function (child) {
|
41 | return node.appendChild(child.element);
|
42 | }, children);
|
43 | (0, _foreach2.default)(function (value, name) {
|
44 | return (0, _setAttribute2.default)(node, name, value);
|
45 | }, vnode.props);
|
46 | return vnode;
|
47 | }
|
48 |
|
49 |
|
50 |
|
51 |
|
52 |
|
53 |
|
54 |
|
55 |
|
56 |
|
57 | exports.default = createNode; |
\ | No newline at end of file |