@20minutes/draft-convert 3.0.3 → 3.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/README.md +2 -3
  2. package/esm/blockEntities.js +62 -65
  3. package/esm/blockInlineStyles.js +69 -92
  4. package/esm/convertFromHTML.js +447 -481
  5. package/esm/convertToHTML.js +81 -102
  6. package/esm/default/defaultBlockHTML.js +33 -30
  7. package/esm/default/defaultInlineHTML.js +16 -16
  8. package/esm/encodeBlock.js +38 -42
  9. package/esm/index.js +4 -4
  10. package/esm/util/accumulateFunction.js +7 -9
  11. package/esm/util/blockTypeObjectFunction.js +7 -9
  12. package/esm/util/getBlockTags.js +20 -20
  13. package/esm/util/getElementHTML.js +25 -29
  14. package/esm/util/getElementTagLength.js +15 -17
  15. package/esm/util/getNestedBlockTags.js +21 -26
  16. package/esm/util/parseHTML.js +15 -15
  17. package/esm/util/rangeSort.js +6 -6
  18. package/esm/util/splitReactElement.js +27 -13
  19. package/esm/util/styleObjectFunction.js +6 -8
  20. package/esm/util/updateMutation.js +57 -47
  21. package/lib/blockEntities.js +74 -69
  22. package/lib/blockInlineStyles.js +81 -96
  23. package/lib/convertFromHTML.js +502 -487
  24. package/lib/convertToHTML.js +134 -106
  25. package/lib/default/defaultBlockHTML.js +47 -35
  26. package/lib/default/defaultInlineHTML.js +29 -21
  27. package/lib/encodeBlock.js +50 -46
  28. package/lib/index.js +25 -23
  29. package/lib/util/accumulateFunction.js +13 -11
  30. package/lib/util/blockTypeObjectFunction.js +13 -11
  31. package/lib/util/getBlockTags.js +35 -27
  32. package/lib/util/getElementHTML.js +40 -36
  33. package/lib/util/getElementTagLength.js +28 -22
  34. package/lib/util/getNestedBlockTags.js +35 -32
  35. package/lib/util/parseHTML.js +22 -18
  36. package/lib/util/rangeSort.js +13 -9
  37. package/lib/util/splitReactElement.js +42 -19
  38. package/lib/util/styleObjectFunction.js +12 -10
  39. package/lib/util/updateMutation.js +64 -51
  40. package/package.json +25 -28
  41. package/dist/draft-convert.js +0 -440
  42. package/dist/draft-convert.min.js +0 -1
@@ -1,114 +1,142 @@
1
1
  "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
2
  Object.defineProperty(exports, "__esModule", {
5
- value: true
3
+ value: true
6
4
  });
7
- exports["default"] = void 0;
8
- var _invariant = _interopRequireDefault(require("invariant"));
9
- var _react = _interopRequireDefault(require("react"));
10
- var _server = _interopRequireDefault(require("react-dom/server"));
11
- var _draftJs = require("draft-js");
12
- var _encodeBlock = _interopRequireDefault(require("./encodeBlock"));
13
- var _blockEntities = _interopRequireDefault(require("./blockEntities"));
14
- var _blockInlineStyles = _interopRequireDefault(require("./blockInlineStyles"));
15
- var _accumulateFunction = _interopRequireDefault(require("./util/accumulateFunction"));
16
- var _blockTypeObjectFunction = _interopRequireDefault(require("./util/blockTypeObjectFunction"));
17
- var _getBlockTags = _interopRequireDefault(require("./util/getBlockTags"));
18
- var _getNestedBlockTags = _interopRequireDefault(require("./util/getNestedBlockTags"));
19
- var _defaultBlockHTML = _interopRequireDefault(require("./default/defaultBlockHTML"));
20
- var defaultEntityToHTML = function defaultEntityToHTML(entity, originalText) {
21
- return originalText;
22
- };
23
- var defaultValidateHTML = function defaultValidateHTML(html) {
24
- return true;
25
- };
26
- var convertToHTML = function convertToHTML(_ref) {
27
- var _ref$styleToHTML = _ref.styleToHTML,
28
- styleToHTML = _ref$styleToHTML === void 0 ? {} : _ref$styleToHTML,
29
- _ref$blockToHTML = _ref.blockToHTML,
30
- blockToHTML = _ref$blockToHTML === void 0 ? {} : _ref$blockToHTML,
31
- _ref$entityToHTML = _ref.entityToHTML,
32
- entityToHTML = _ref$entityToHTML === void 0 ? defaultEntityToHTML : _ref$entityToHTML,
33
- _ref$validateHTML = _ref.validateHTML,
34
- validateHTML = _ref$validateHTML === void 0 ? defaultValidateHTML : _ref$validateHTML;
35
- return function (contentState) {
36
- (0, _invariant["default"])(contentState !== null && contentState !== undefined, 'Expected contentState to be non-null');
37
- var getBlockHTML;
38
- if (blockToHTML.__isMiddleware === true) {
39
- getBlockHTML = blockToHTML((0, _blockTypeObjectFunction["default"])(_defaultBlockHTML["default"]));
40
- } else {
41
- getBlockHTML = (0, _accumulateFunction["default"])((0, _blockTypeObjectFunction["default"])(blockToHTML), (0, _blockTypeObjectFunction["default"])(_defaultBlockHTML["default"]));
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _default;
9
+ }
10
+ });
11
+ const _invariant = /*#__PURE__*/ _interop_require_default(require("invariant"));
12
+ const _react = /*#__PURE__*/ _interop_require_default(require("react"));
13
+ const _server = /*#__PURE__*/ _interop_require_default(require("react-dom/server"));
14
+ const _draftjs = /*#__PURE__*/ _interop_require_wildcard(require("draft-js"));
15
+ const _encodeBlock = /*#__PURE__*/ _interop_require_default(require("./encodeBlock.js"));
16
+ const _blockEntities = /*#__PURE__*/ _interop_require_default(require("./blockEntities.js"));
17
+ const _blockInlineStyles = /*#__PURE__*/ _interop_require_default(require("./blockInlineStyles.js"));
18
+ const _accumulateFunction = /*#__PURE__*/ _interop_require_default(require("./util/accumulateFunction.js"));
19
+ const _blockTypeObjectFunction = /*#__PURE__*/ _interop_require_default(require("./util/blockTypeObjectFunction.js"));
20
+ const _getBlockTags = /*#__PURE__*/ _interop_require_default(require("./util/getBlockTags.js"));
21
+ const _getNestedBlockTags = /*#__PURE__*/ _interop_require_default(require("./util/getNestedBlockTags.js"));
22
+ const _defaultBlockHTML = /*#__PURE__*/ _interop_require_default(require("./default/defaultBlockHTML.js"));
23
+ function _interop_require_default(obj) {
24
+ return obj && obj.__esModule ? obj : {
25
+ default: obj
26
+ };
27
+ }
28
+ function _getRequireWildcardCache(nodeInterop) {
29
+ if (typeof WeakMap !== "function") return null;
30
+ var cacheBabelInterop = new WeakMap();
31
+ var cacheNodeInterop = new WeakMap();
32
+ return (_getRequireWildcardCache = function(nodeInterop) {
33
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
34
+ })(nodeInterop);
35
+ }
36
+ function _interop_require_wildcard(obj, nodeInterop) {
37
+ if (!nodeInterop && obj && obj.__esModule) {
38
+ return obj;
39
+ }
40
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
41
+ return {
42
+ default: obj
43
+ };
42
44
  }
43
- var rawState = (0, _draftJs.convertToRaw)(contentState);
44
- var listStack = [];
45
- var result = rawState.blocks.map(function (block) {
46
- var type = block.type,
47
- depth = block.depth;
48
- var closeNestTags = '';
49
- var openNestTags = '';
50
- var blockHTMLResult = getBlockHTML(block);
51
- if (!blockHTMLResult) {
52
- throw new Error("convertToHTML: missing HTML definition for block with type ".concat(block.type));
53
- }
54
- if (!blockHTMLResult.nest) {
55
- // this block can't be nested, so reset all nesting if necessary
56
- closeNestTags = listStack.reduceRight(function (string, nestedBlock) {
57
- return string + (0, _getNestedBlockTags["default"])(getBlockHTML(nestedBlock), depth).nestEnd;
58
- }, '');
59
- listStack = [];
60
- } else {
61
- while (depth + 1 !== listStack.length || type !== listStack[depth].type) {
62
- if (depth + 1 === listStack.length) {
63
- // depth is right but doesn't match type
64
- var blockToClose = listStack[depth];
65
- closeNestTags += (0, _getNestedBlockTags["default"])(getBlockHTML(blockToClose), depth).nestEnd;
66
- openNestTags += (0, _getNestedBlockTags["default"])(getBlockHTML(block), depth).nestStart;
67
- listStack[depth] = block;
68
- } else if (depth + 1 < listStack.length) {
69
- var _blockToClose = listStack[listStack.length - 1];
70
- closeNestTags += (0, _getNestedBlockTags["default"])(getBlockHTML(_blockToClose), depth).nestEnd;
71
- listStack = listStack.slice(0, -1);
72
- } else {
73
- openNestTags += (0, _getNestedBlockTags["default"])(getBlockHTML(block), depth).nestStart;
74
- listStack.push(block);
75
- }
45
+ var cache = _getRequireWildcardCache(nodeInterop);
46
+ if (cache && cache.has(obj)) {
47
+ return cache.get(obj);
48
+ }
49
+ var newObj = {
50
+ __proto__: null
51
+ };
52
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
53
+ for(var key in obj){
54
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
55
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
56
+ if (desc && (desc.get || desc.set)) {
57
+ Object.defineProperty(newObj, key, desc);
58
+ } else {
59
+ newObj[key] = obj[key];
60
+ }
76
61
  }
77
- }
78
- var innerHTML = (0, _blockInlineStyles["default"])((0, _blockEntities["default"])((0, _encodeBlock["default"])(block), rawState.entityMap, entityToHTML), styleToHTML);
79
- var blockHTML = (0, _getBlockTags["default"])(getBlockHTML(block));
80
- var html;
81
- if (typeof blockHTML === 'string') {
82
- html = blockHTML;
83
- } else {
84
- html = blockHTML.start + innerHTML + blockHTML.end;
85
- }
86
- if (innerHTML.length === 0 && Object.prototype.hasOwnProperty.call(blockHTML, 'empty')) {
87
- if (/*#__PURE__*/_react["default"].isValidElement(blockHTML.empty)) {
88
- html = _server["default"].renderToStaticMarkup(blockHTML.empty);
62
+ }
63
+ newObj.default = obj;
64
+ if (cache) {
65
+ cache.set(obj, newObj);
66
+ }
67
+ return newObj;
68
+ }
69
+ const { convertToRaw } = _draftjs;
70
+ const defaultEntityToHTML = (entity, originalText)=>originalText;
71
+ const defaultValidateHTML = (html)=>true;
72
+ const convertToHTML = ({ styleToHTML = {}, blockToHTML = {}, entityToHTML = defaultEntityToHTML, validateHTML = defaultValidateHTML })=>(contentState)=>{
73
+ (0, _invariant.default)(contentState !== null && contentState !== undefined, 'Expected contentState to be non-null');
74
+ let getBlockHTML;
75
+ if (blockToHTML.__isMiddleware === true) {
76
+ getBlockHTML = blockToHTML((0, _blockTypeObjectFunction.default)(_defaultBlockHTML.default));
89
77
  } else {
90
- html = blockHTML.empty;
78
+ getBlockHTML = (0, _accumulateFunction.default)((0, _blockTypeObjectFunction.default)(blockToHTML), (0, _blockTypeObjectFunction.default)(_defaultBlockHTML.default));
91
79
  }
92
- }
93
- var finalHtml = closeNestTags + openNestTags + html;
94
- if (!validateHTML(finalHtml)) {
95
- return '';
96
- }
97
- return finalHtml;
98
- }).join('');
99
- result = listStack.reduce(function (res, nestBlock) {
100
- return res + (0, _getNestedBlockTags["default"])(getBlockHTML(nestBlock), nestBlock.depth).nestEnd;
101
- }, result);
102
- return result;
103
- };
80
+ const rawState = convertToRaw(contentState);
81
+ let listStack = [];
82
+ let result = rawState.blocks.map((block)=>{
83
+ const { type, depth } = block;
84
+ let closeNestTags = '';
85
+ let openNestTags = '';
86
+ const blockHTMLResult = getBlockHTML(block);
87
+ if (!blockHTMLResult) {
88
+ throw new Error(`convertToHTML: missing HTML definition for block with type ${block.type}`);
89
+ }
90
+ if (!blockHTMLResult.nest) {
91
+ // this block can't be nested, so reset all nesting if necessary
92
+ closeNestTags = listStack.reduceRight((string, nestedBlock)=>string + (0, _getNestedBlockTags.default)(getBlockHTML(nestedBlock), depth).nestEnd, '');
93
+ listStack = [];
94
+ } else {
95
+ while(depth + 1 !== listStack.length || type !== listStack[depth].type){
96
+ if (depth + 1 === listStack.length) {
97
+ // depth is right but doesn't match type
98
+ const blockToClose = listStack[depth];
99
+ closeNestTags += (0, _getNestedBlockTags.default)(getBlockHTML(blockToClose), depth).nestEnd;
100
+ openNestTags += (0, _getNestedBlockTags.default)(getBlockHTML(block), depth).nestStart;
101
+ listStack[depth] = block;
102
+ } else if (depth + 1 < listStack.length) {
103
+ const blockToClose = listStack[listStack.length - 1];
104
+ closeNestTags += (0, _getNestedBlockTags.default)(getBlockHTML(blockToClose), depth).nestEnd;
105
+ listStack = listStack.slice(0, -1);
106
+ } else {
107
+ openNestTags += (0, _getNestedBlockTags.default)(getBlockHTML(block), depth).nestStart;
108
+ listStack.push(block);
109
+ }
110
+ }
111
+ }
112
+ const innerHTML = (0, _blockInlineStyles.default)((0, _blockEntities.default)((0, _encodeBlock.default)(block), rawState.entityMap, entityToHTML), styleToHTML);
113
+ const blockHTML = (0, _getBlockTags.default)(getBlockHTML(block));
114
+ let html;
115
+ if (typeof blockHTML === 'string') {
116
+ html = blockHTML;
117
+ } else {
118
+ html = blockHTML.start + innerHTML + blockHTML.end;
119
+ }
120
+ if (innerHTML.length === 0 && Object.prototype.hasOwnProperty.call(blockHTML, 'empty')) {
121
+ if (/*#__PURE__*/ _react.default.isValidElement(blockHTML.empty)) {
122
+ html = _server.default.renderToStaticMarkup(blockHTML.empty);
123
+ } else {
124
+ html = blockHTML.empty;
125
+ }
126
+ }
127
+ const finalHtml = closeNestTags + openNestTags + html;
128
+ if (!validateHTML(finalHtml)) {
129
+ return '';
130
+ }
131
+ return finalHtml;
132
+ }).join('');
133
+ result = listStack.reduce((res, nestBlock)=>res + (0, _getNestedBlockTags.default)(getBlockHTML(nestBlock), nestBlock.depth).nestEnd, result);
134
+ return result;
135
+ };
136
+ const _default = (...args)=>{
137
+ if (args.length === 1 && Object.prototype.hasOwnProperty.call(args[0], '_map') && args[0].getBlockMap != null) {
138
+ // skip higher-order function and use defaults
139
+ return convertToHTML({})(...args);
140
+ }
141
+ return convertToHTML(...args);
104
142
  };
105
- var _default = exports["default"] = function _default() {
106
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
107
- args[_key] = arguments[_key];
108
- }
109
- if (args.length === 1 && Object.prototype.hasOwnProperty.call(args[0], '_map') && args[0].getBlockMap != null) {
110
- // skip higher-order function and use defaults
111
- return convertToHTML({}).apply(void 0, args);
112
- }
113
- return convertToHTML.apply(void 0, args);
114
- };
@@ -1,39 +1,51 @@
1
1
  "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
2
  Object.defineProperty(exports, "__esModule", {
5
- value: true
3
+ value: true
6
4
  });
7
- exports["default"] = void 0;
8
- var _react = _interopRequireDefault(require("react"));
9
- // based on Draft.js' custom list depth styling
10
- var ORDERED_LIST_TYPES = ['1', 'a', 'i'];
11
- var _default = exports["default"] = {
12
- unstyled: /*#__PURE__*/_react["default"].createElement("p", null),
13
- paragraph: /*#__PURE__*/_react["default"].createElement("p", null),
14
- 'header-one': /*#__PURE__*/_react["default"].createElement("h1", null),
15
- 'header-two': /*#__PURE__*/_react["default"].createElement("h2", null),
16
- 'header-two-unordered': /*#__PURE__*/_react["default"].createElement("h2", null),
17
- 'header-two-ordered': /*#__PURE__*/_react["default"].createElement("h2", null),
18
- 'header-three': /*#__PURE__*/_react["default"].createElement("h3", null),
19
- 'header-four': /*#__PURE__*/_react["default"].createElement("h4", null),
20
- 'header-five': /*#__PURE__*/_react["default"].createElement("h5", null),
21
- 'header-six': /*#__PURE__*/_react["default"].createElement("h6", null),
22
- 'code-block': /*#__PURE__*/_react["default"].createElement("pre", null),
23
- blockquote: /*#__PURE__*/_react["default"].createElement("blockquote", null),
24
- 'unordered-list-item': {
25
- element: /*#__PURE__*/_react["default"].createElement("li", null),
26
- nest: /*#__PURE__*/_react["default"].createElement("ul", null)
27
- },
28
- 'ordered-list-item': {
29
- element: /*#__PURE__*/_react["default"].createElement("li", null),
30
- nest: function nest(depth) {
31
- var type = ORDERED_LIST_TYPES[depth % 3];
32
- return /*#__PURE__*/_react["default"].createElement("ol", {
33
- type: type
34
- });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _default;
35
9
  }
36
- },
37
- media: /*#__PURE__*/_react["default"].createElement("figure", null),
38
- atomic: /*#__PURE__*/_react["default"].createElement("figure", null)
39
- };
10
+ });
11
+ const _react = /*#__PURE__*/ _interop_require_default(require("react"));
12
+ function _interop_require_default(obj) {
13
+ return obj && obj.__esModule ? obj : {
14
+ default: obj
15
+ };
16
+ }
17
+ // based on Draft.js' custom list depth styling
18
+ const ORDERED_LIST_TYPES = [
19
+ '1',
20
+ 'a',
21
+ 'i'
22
+ ];
23
+ const _default = {
24
+ unstyled: /*#__PURE__*/ _react.default.createElement("p", null),
25
+ paragraph: /*#__PURE__*/ _react.default.createElement("p", null),
26
+ 'header-one': /*#__PURE__*/ _react.default.createElement("h1", null),
27
+ 'header-two': /*#__PURE__*/ _react.default.createElement("h2", null),
28
+ 'header-two-unordered': /*#__PURE__*/ _react.default.createElement("h2", null),
29
+ 'header-two-ordered': /*#__PURE__*/ _react.default.createElement("h2", null),
30
+ 'header-three': /*#__PURE__*/ _react.default.createElement("h3", null),
31
+ 'header-four': /*#__PURE__*/ _react.default.createElement("h4", null),
32
+ 'header-five': /*#__PURE__*/ _react.default.createElement("h5", null),
33
+ 'header-six': /*#__PURE__*/ _react.default.createElement("h6", null),
34
+ 'code-block': /*#__PURE__*/ _react.default.createElement("pre", null),
35
+ blockquote: /*#__PURE__*/ _react.default.createElement("blockquote", null),
36
+ 'unordered-list-item': {
37
+ element: /*#__PURE__*/ _react.default.createElement("li", null),
38
+ nest: /*#__PURE__*/ _react.default.createElement("ul", null)
39
+ },
40
+ 'ordered-list-item': {
41
+ element: /*#__PURE__*/ _react.default.createElement("li", null),
42
+ nest: (depth)=>{
43
+ const type = ORDERED_LIST_TYPES[depth % 3];
44
+ return /*#__PURE__*/ _react.default.createElement("ol", {
45
+ type: type
46
+ });
47
+ }
48
+ },
49
+ media: /*#__PURE__*/ _react.default.createElement("figure", null),
50
+ atomic: /*#__PURE__*/ _react.default.createElement("figure", null)
51
+ };
@@ -1,25 +1,33 @@
1
1
  "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
2
  Object.defineProperty(exports, "__esModule", {
5
- value: true
3
+ value: true
6
4
  });
7
- exports["default"] = defaultInlineHTML;
8
- var _react = _interopRequireDefault(require("react"));
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return defaultInlineHTML;
9
+ }
10
+ });
11
+ const _react = /*#__PURE__*/ _interop_require_default(require("react"));
12
+ function _interop_require_default(obj) {
13
+ return obj && obj.__esModule ? obj : {
14
+ default: obj
15
+ };
16
+ }
9
17
  function defaultInlineHTML(style) {
10
- switch (style) {
11
- case 'BOLD':
12
- return /*#__PURE__*/_react["default"].createElement("strong", null);
13
- case 'ITALIC':
14
- return /*#__PURE__*/_react["default"].createElement("em", null);
15
- case 'UNDERLINE':
16
- return /*#__PURE__*/_react["default"].createElement("u", null);
17
- case 'CODE':
18
- return /*#__PURE__*/_react["default"].createElement("code", null);
19
- default:
20
- return {
21
- start: '',
22
- end: ''
23
- };
24
- }
25
- }
18
+ switch(style){
19
+ case 'BOLD':
20
+ return /*#__PURE__*/ _react.default.createElement("strong", null);
21
+ case 'ITALIC':
22
+ return /*#__PURE__*/ _react.default.createElement("em", null);
23
+ case 'UNDERLINE':
24
+ return /*#__PURE__*/ _react.default.createElement("u", null);
25
+ case 'CODE':
26
+ return /*#__PURE__*/ _react.default.createElement("code", null);
27
+ default:
28
+ return {
29
+ start: '',
30
+ end: ''
31
+ };
32
+ }
33
+ }
@@ -1,51 +1,55 @@
1
1
  "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
2
  Object.defineProperty(exports, "__esModule", {
5
- value: true
3
+ value: true
6
4
  });
7
- exports["default"] = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
- var _updateMutation = _interopRequireDefault(require("./util/updateMutation"));
11
- var _rangeSort = _interopRequireDefault(require("./util/rangeSort"));
12
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
13
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
14
- var ENTITY_MAP = {
15
- '&': '&amp;',
16
- '<': '&lt;',
17
- '>': '&gt;',
18
- '"': '&quot;',
19
- "'": '&#x27;',
20
- '`': '&#x60;',
21
- '\n': '<br/>'
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _default;
9
+ }
10
+ });
11
+ const _updateMutation = /*#__PURE__*/ _interop_require_default(require("./util/updateMutation.js"));
12
+ const _rangeSort = /*#__PURE__*/ _interop_require_default(require("./util/rangeSort.js"));
13
+ function _interop_require_default(obj) {
14
+ return obj && obj.__esModule ? obj : {
15
+ default: obj
16
+ };
17
+ }
18
+ const ENTITY_MAP = {
19
+ '&': '&amp;',
20
+ '<': '&lt;',
21
+ '>': '&gt;',
22
+ '"': '&quot;',
23
+ "'": '&#x27;',
24
+ '`': '&#x60;',
25
+ '\n': '<br/>'
22
26
  };
23
- var _default = exports["default"] = function _default(block) {
24
- var blockText = (0, _toConsumableArray2["default"])(block.text);
25
- var entities = block.entityRanges.sort(_rangeSort["default"]);
26
- var styles = block.inlineStyleRanges.sort(_rangeSort["default"]);
27
- var resultText = '';
28
- var _loop = function _loop() {
29
- var _char = blockText[index];
30
- if (ENTITY_MAP[_char] !== undefined) {
31
- var encoded = ENTITY_MAP[_char];
32
- var resultIndex = (0, _toConsumableArray2["default"])(resultText).length;
33
- resultText += encoded;
34
- var updateForChar = function updateForChar(mutation) {
35
- return (0, _updateMutation["default"])(mutation, resultIndex, _char.length, encoded.length, 0, 0);
36
- };
37
- entities = entities.map(updateForChar);
38
- styles = styles.map(updateForChar);
39
- } else {
40
- resultText += _char;
27
+ const _default = (block)=>{
28
+ const blockText = [
29
+ ...block.text
30
+ ];
31
+ let entities = block.entityRanges.sort(_rangeSort.default);
32
+ let styles = block.inlineStyleRanges.sort(_rangeSort.default);
33
+ let resultText = '';
34
+ for(let index = 0; index < blockText.length; index += 1){
35
+ const char = blockText[index];
36
+ if (ENTITY_MAP[char] !== undefined) {
37
+ const encoded = ENTITY_MAP[char];
38
+ const resultIndex = [
39
+ ...resultText
40
+ ].length;
41
+ resultText += encoded;
42
+ const updateForChar = (mutation)=>(0, _updateMutation.default)(mutation, resultIndex, char.length, encoded.length, 0, 0);
43
+ entities = entities.map(updateForChar);
44
+ styles = styles.map(updateForChar);
45
+ } else {
46
+ resultText += char;
47
+ }
41
48
  }
42
- };
43
- for (var index = 0; index < blockText.length; index += 1) {
44
- _loop();
45
- }
46
- return _objectSpread(_objectSpread({}, block), {}, {
47
- text: resultText,
48
- inlineStyleRanges: styles,
49
- entityRanges: entities
50
- });
51
- };
49
+ return {
50
+ ...block,
51
+ text: resultText,
52
+ inlineStyleRanges: styles,
53
+ entityRanges: entities
54
+ };
55
+ };
package/lib/index.js CHANGED
@@ -1,27 +1,29 @@
1
1
  "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
2
  Object.defineProperty(exports, "__esModule", {
5
- value: true
3
+ value: true
6
4
  });
7
- Object.defineProperty(exports, "convertFromHTML", {
8
- enumerable: true,
9
- get: function get() {
10
- return _convertFromHTML["default"];
11
- }
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
+ });
10
+ }
11
+ _export(exports, {
12
+ get convertFromHTML () {
13
+ return _convertFromHTML.default;
14
+ },
15
+ get convertToHTML () {
16
+ return _convertToHTML.default;
17
+ },
18
+ get parseHTML () {
19
+ return _parseHTML.default;
20
+ }
12
21
  });
13
- Object.defineProperty(exports, "convertToHTML", {
14
- enumerable: true,
15
- get: function get() {
16
- return _convertToHTML["default"];
17
- }
18
- });
19
- Object.defineProperty(exports, "parseHTML", {
20
- enumerable: true,
21
- get: function get() {
22
- return _parseHTML["default"];
23
- }
24
- });
25
- var _convertToHTML = _interopRequireDefault(require("./convertToHTML"));
26
- var _convertFromHTML = _interopRequireDefault(require("./convertFromHTML"));
27
- var _parseHTML = _interopRequireDefault(require("./util/parseHTML"));
22
+ const _convertToHTML = /*#__PURE__*/ _interop_require_default(require("./convertToHTML.js"));
23
+ const _convertFromHTML = /*#__PURE__*/ _interop_require_default(require("./convertFromHTML.js"));
24
+ const _parseHTML = /*#__PURE__*/ _interop_require_default(require("./util/parseHTML.js"));
25
+ function _interop_require_default(obj) {
26
+ return obj && obj.__esModule ? obj : {
27
+ default: obj
28
+ };
29
+ }
@@ -1,15 +1,17 @@
1
1
  "use strict";
2
-
3
2
  Object.defineProperty(exports, "__esModule", {
4
- value: true
3
+ value: true
5
4
  });
6
- exports["default"] = void 0;
7
- var _default = exports["default"] = function _default(newFn, rest) {
8
- return function () {
9
- var newResult = newFn.apply(void 0, arguments);
10
- if (newResult !== undefined && newResult !== null) {
11
- return newResult;
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _default;
12
9
  }
13
- return rest.apply(void 0, arguments);
14
- };
15
- };
10
+ });
11
+ const _default = (newFn, rest)=>(...args)=>{
12
+ const newResult = newFn(...args);
13
+ if (newResult !== undefined && newResult !== null) {
14
+ return newResult;
15
+ }
16
+ return rest(...args);
17
+ };
@@ -1,15 +1,17 @@
1
1
  "use strict";
2
-
3
2
  Object.defineProperty(exports, "__esModule", {
4
- value: true
3
+ value: true
5
4
  });
6
- exports["default"] = void 0;
7
- var _default = exports["default"] = function _default(typeObject) {
8
- return function (block) {
9
- if (typeof typeObject === 'function') {
10
- // handle case where typeObject is already a function
11
- return typeObject(block);
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _default;
12
9
  }
13
- return typeObject[block.type];
14
- };
15
- };
10
+ });
11
+ const _default = (typeObject)=>(block)=>{
12
+ if (typeof typeObject === 'function') {
13
+ // handle case where typeObject is already a function
14
+ return typeObject(block);
15
+ }
16
+ return typeObject[block.type];
17
+ };