UNPKG

1.2 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3var CAPS_REGEX = /[A-Z]/g;
4function 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}
36exports.datasetModule = { create: updateDataset, update: updateDataset };
37exports.default = exports.datasetModule;
38//# sourceMappingURL=dataset.js.map
\No newline at end of file