1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | var CAPS_REGEX = /[A-Z]/g;
|
4 | function updateDataset(oldVnode, vnode) {
|
5 | var elm = vnode.elm, oldDataset = oldVnode.data.dataset, dataset = vnode.data.dataset, key;
|
6 | if (!oldDataset && !dataset)
|
7 | return;
|
8 | if (oldDataset === dataset)
|
9 | return;
|
10 | oldDataset = oldDataset || {};
|
11 | dataset = dataset || {};
|
12 | var d = elm.dataset;
|
13 | for (key in oldDataset) {
|
14 | if (!dataset[key]) {
|
15 | if (d) {
|
16 | if (key in d) {
|
17 | delete d[key];
|
18 | }
|
19 | }
|
20 | else {
|
21 | elm.removeAttribute('data-' + key.replace(CAPS_REGEX, '-$&').toLowerCase());
|
22 | }
|
23 | }
|
24 | }
|
25 | for (key in dataset) {
|
26 | if (oldDataset[key] !== dataset[key]) {
|
27 | if (d) {
|
28 | d[key] = dataset[key];
|
29 | }
|
30 | else {
|
31 | elm.setAttribute('data-' + key.replace(CAPS_REGEX, '-$&').toLowerCase(), dataset[key]);
|
32 | }
|
33 | }
|
34 | }
|
35 | }
|
36 | exports.datasetModule = { create: updateDataset, update: updateDataset };
|
37 | exports.default = exports.datasetModule;
|
38 |
|
\ | No newline at end of file |