New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

draft-js-import-element

Package Overview
Dependencies
Maintainers
1
Versions
32
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

draft-js-import-element - npm Package Compare versions

Comparing version 0.1.5 to 0.1.6

55

lib/stateFromElement.js

@@ -38,2 +38,49 @@ 'use strict';

// Map element attributes to entity data.
var ELEM_ATTR_MAP = {
a: { href: 'url', rel: 'rel', target: 'target' }
};
// Functions to convert elements to entities.
var ELEM_TO_ENTITY = {
a: function a(tagName, element) {
var data = {};
if (ELEM_ATTR_MAP.hasOwnProperty(tagName)) {
var attrMap = ELEM_ATTR_MAP[tagName];
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
try {
for (var _iterator = Object.keys(attrMap)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var attr = _step.value;
var dataKey = attrMap[attr];
var dataValue = element.getAttribute(attr);
if (dataValue != null) {
data[dataKey] = dataValue;
}
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator.return) {
_iterator.return();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
}
}
}
}
// Don't add `<a>` elmeents with no href.
if (data.url != null) {
return _draftJs.Entity.create(_draftJsTools.ENTITY_TYPE.LINK, 'MUTABLE', data);
}
}
};
// TODO: Move this out to a module.

@@ -204,7 +251,5 @@ var INLINE_ELEMENTS = {

style = addStyleFromTagName(style, tagName);
if (tagName === 'a') {
var url = element.getAttribute('href');
if (url != null) {
entityKey = _draftJs.Entity.create(_draftJsTools.ENTITY_TYPE.LINK, 'MUTABLE', { url: url });
}
if (ELEM_TO_ENTITY.hasOwnProperty(tagName)) {
// If the to-entity function returns nothing, use the existing entity.
entityKey = ELEM_TO_ENTITY[tagName](tagName, element) || entityKey;
}

@@ -211,0 +256,0 @@ block.styleStack.push(style);

6

package.json
{
"name": "draft-js-import-element",
"version": "0.1.5",
"version": "0.1.6",
"description": "DraftJS: Import Element to ContentState",

@@ -14,4 +14,4 @@ "main": "lib/main.js",

"dependencies": {
"draft-js-tools": "^0.1.1",
"synthetic-dom": "^0.1.0"
"draft-js-tools": "^0.1.2",
"synthetic-dom": "^0.1.1"
},

@@ -18,0 +18,0 @@ "devDependencies": {

@@ -21,2 +21,10 @@ # Plain text

# Entity missing required attribute
{"entityMap":{},"blocks":[{"key":"3n6ro","text":"a","type":"unstyled","depth":0,"inlineStyleRanges":[],"entityRanges":[]}]}
<p><a id="foo">a</a></p>
# Entity with supported and unsupported attributes
{"entityMap":{"0":{"type":"LINK","mutability":"MUTABLE","data":{"url":"/","rel":"foo","target":"_blank"}}},"blocks":[{"key":"8r91j","text":"a","type":"unstyled","depth":0,"inlineStyleRanges":[],"entityRanges":[{"offset":0,"length":1,"key":0}]}]}
<p><a href="/" rel="foo" target="_blank" id="bar" baz="baz">a</a></p>
# Entity with inline style

@@ -23,0 +31,0 @@ {"entityMap":{"0":{"type":"LINK","mutability":"MUTABLE","data":{"url":"/"}}},"blocks":[{"key":"8r91j","text":"a","type":"unstyled","depth":0,"inlineStyleRanges":[{"offset":0,"length":1,"style":"ITALIC"}],"entityRanges":[{"offset":0,"length":1,"key":0}]}]}

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc