1 | 'use strict';
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 |
|
7 | var _removeAttribute = require('./removeAttribute');
|
8 |
|
9 | var _removeAttribute2 = _interopRequireDefault(_removeAttribute);
|
10 |
|
11 | var _isValidAttr = require('@f/is-valid-attr');
|
12 |
|
13 | var _isValidAttr2 = _interopRequireDefault(_isValidAttr);
|
14 |
|
15 | var _applyStyles = require('@f/apply-styles');
|
16 |
|
17 | var _applyStyles2 = _interopRequireDefault(_applyStyles);
|
18 |
|
19 | var _setAttribute = require('@f/set-attribute');
|
20 |
|
21 | var _setAttribute2 = _interopRequireDefault(_setAttribute);
|
22 |
|
23 | var _setValue = require('@f/set-value');
|
24 |
|
25 | var _setValue2 = _interopRequireDefault(_setValue);
|
26 |
|
27 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
28 |
|
29 |
|
30 |
|
31 |
|
32 |
|
33 | function setAttribute(node, name, value, prevValue) {
|
34 | if (typeof value === 'function') {
|
35 | value = value(node, name);
|
36 | }
|
37 |
|
38 | if (name === 'style') {
|
39 | (0, _applyStyles2.default)(node, value, prevValue);
|
40 | } else if ((0, _isValidAttr2.default)(value)) {
|
41 | switch (name) {
|
42 | case 'nodeValue':
|
43 | case 'checked':
|
44 | case 'disabled':
|
45 | case 'selected':
|
46 | case 'innerHTML':
|
47 | case 'textContent':
|
48 | node[name] = value;
|
49 | break;
|
50 | case 'value':
|
51 | (0, _setValue2.default)(node, value);
|
52 | break;
|
53 | default:
|
54 | (0, _setAttribute2.default)(node, name, value);
|
55 | break;
|
56 | }
|
57 | } else {
|
58 | (0, _removeAttribute2.default)(node, name);
|
59 | }
|
60 | }
|
61 |
|
62 |
|
63 |
|
64 |
|
65 |
|
66 |
|
67 |
|
68 |
|
69 |
|
70 | exports.default = setAttribute; |
\ | No newline at end of file |