diff --git a/dist/index.js b/dist/index.js index 22647d2..c4f6a54 100644 --- a/dist/index.js +++ b/dist/index.js @@ -11,11 +11,40 @@ var svgTags = [ 'svg', 'circle', 'ellipse', 'line', 'polygon', 'polyline', 'rect', 'g', 'path', 'text' ]; +var considerDataAria = function (props) { + + Object.keys(props).forEach(function (module) { + + if (['data', 'aria'].indexOf(module) > -1) { + + Object.keys(props[module]).forEach(function (prop) { + + props.attrs = props.attrs || {}; + + props.attrs[(module + "-" + prop)] = props[module][prop]; + delete props[module][prop]; + + }); + + if (Object.keys(props[module]).length === 0) { + + delete props[module]; + + } + + } + + }); + + return props + +}; + var sanitizeProps = function (props) { props = props === null ? {} : props; - Object.keys(props).map(function (prop) { + Object.keys(props).forEach(function (prop) { var keysRiver = prop.split('-').reverse(); @@ -29,7 +58,7 @@ var sanitizeProps = function (props) { extend(true, props, newObject); delete props[prop]; - } else if (!(['class', 'props', 'attrs', 'style', 'on', 'hook', 'key'].indexOf(prop) > -1)) { + } else if (!(['class', 'props', 'attrs', 'style', 'on', 'hook', 'key', 'data', 'aria'].indexOf(prop) > -1)) { extend(true, props, { props: ( obj = {}, obj[prop] = props[prop], obj ) }); var obj; @@ -37,11 +66,9 @@ var sanitizeProps = function (props) { } - return { toto: true } - }); - return props + return considerDataAria(props) }; diff --git a/package.json b/package.json index 761d6a2..69d14a5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "snabbdom-pragma", - "version": "1.9.0", + "version": "1.10.0", "description": "'NotReact.createElement' pragma although for snabbdom", "keywords": [ "snabbdom",