@takeshape/util 9.28.0 → 9.28.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"draftjs.d.ts","sourceRoot":"","sources":["../../src/draftjs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,oBAAoB,EAAwB,MAAM,EAAiB,MAAM,UAAU,CAAC;AAqB5F,MAAM,WAAW,OAAO;IACtB,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,SAAS,CAAC;AAE/C,UAAU,mBAAoB,SAAQ,MAAM;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC5B;AA2BD,KAAK,2BAA2B,GAAG,MAAM,CACvC,MAAM,EACN;IACE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,mBAAmB,KAAK,MAAM,CAAC;IAC/C,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,mBAAmB,KAAK,MAAM,CAAC;CACjD,CACF,CAAC;AAiCF,wBAAgB,WAAW,CACzB,OAAO,EAAE,oBAAoB,EAC7B,UAAU,CAAC,EAAE,2BAA2B,EACxC,WAAW,CAAC,EAAE,2BAA2B,GACxC,MAAM,CAyER;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,MAAM,CA0DvG;AAmBD,wBAAgB,YAAY,CAC1B,OAAO,EAAE,oBAAoB,EAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,EACpC,MAAM,8BAAqB,GAC1B,MAAM,CAyDR;AA4MD,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,CAgD7D;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEvD;AA6ND;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAwB5D;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,CA0G9D"}
1
+ {"version":3,"file":"draftjs.d.ts","sourceRoot":"","sources":["../../src/draftjs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,oBAAoB,EAAwB,MAAM,EAAiB,MAAM,UAAU,CAAC;AAsB5F,MAAM,WAAW,OAAO;IACtB,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,SAAS,CAAC;AAE/C,UAAU,mBAAoB,SAAQ,MAAM;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC5B;AA2BD,KAAK,2BAA2B,GAAG,MAAM,CACvC,MAAM,EACN;IACE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,mBAAmB,KAAK,MAAM,CAAC;IAC/C,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,mBAAmB,KAAK,MAAM,CAAC;CACjD,CACF,CAAC;AAqDF,wBAAgB,WAAW,CACzB,OAAO,EAAE,oBAAoB,EAC7B,UAAU,CAAC,EAAE,2BAA2B,EACxC,WAAW,CAAC,EAAE,2BAA2B,GACxC,MAAM,CAyER;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,MAAM,CA0DvG;AAmBD,wBAAgB,YAAY,CAC1B,OAAO,EAAE,oBAAoB,EAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,EACpC,MAAM,8BAAqB,GAC1B,MAAM,CAyDR;AA4MD,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,CAgD7D;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEvD;AA6ND;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAwB5D;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,CA0G9D"}
package/dist/draftjs.js CHANGED
@@ -35,6 +35,8 @@ var _routing = require("@takeshape/routing");
35
35
 
36
36
  var _forEach = _interopRequireDefault(require("lodash/forEach"));
37
37
 
38
+ var _he = _interopRequireDefault(require("he"));
39
+
38
40
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
39
41
 
40
42
  /*
@@ -102,8 +104,24 @@ const handleExternalLinks = markdown => {
102
104
  return markdown.replace(regex, (match, openTag, content) => match.replace(EXTERNAL_LINK_MARKER, (0, _escape.default)(content)));
103
105
  };
104
106
 
107
+ const encodeHtmlEntities = draftjs => {
108
+ return { ...draftjs,
109
+ blocks: draftjs.blocks.map(block => ({ ...block,
110
+ text: _he.default.encode(block.text)
111
+ }))
112
+ };
113
+ };
114
+
115
+ const decodeHtmlEntities = draftjs => {
116
+ return { ...draftjs,
117
+ blocks: draftjs.blocks.map(block => ({ ...block,
118
+ text: _he.default.decode(block.text)
119
+ }))
120
+ };
121
+ };
122
+
105
123
  function fromDraftjs(draftjs, styleItems, entityItems) {
106
- let markdown = (0, _markdownDraftJs.draftToMarkdown)(draftjs, {
124
+ let markdown = (0, _markdownDraftJs.draftToMarkdown)(encodeHtmlEntities(draftjs), {
107
125
  styleItems: {
108
126
  'section-break': {
109
127
  open() {
@@ -916,5 +934,5 @@ function mdxToDraftjs(mdx) {
916
934
 
917
935
  return ((_entity$data11 = entity.data) === null || _entity$data11 === void 0 ? void 0 : _entity$data11.marker) === undefined && !entityKeysToExclude.includes(Number(key));
918
936
  });
919
- return result;
937
+ return decodeHtmlEntities(result);
920
938
  }
package/es/draftjs.js CHANGED
@@ -16,6 +16,7 @@ import unescape from 'lodash/unescape';
16
16
  import pickBy from 'lodash/pickBy';
17
17
  import { getImageUrl } from '@takeshape/routing';
18
18
  import forEach from 'lodash/forEach';
19
+ import he from 'he';
19
20
  const SUPERSCRIPT_MARKER = 'TEMPORARY_SUPERSCRIPT_MARKER_TLfDNyf7VYKDduyL';
20
21
  const SUBSCRIPT_MARKER = 'TEMPORARY_SUBSCRIPT_MARKER_K5VrdPEzyQyy2RcY';
21
22
  const INSERT_MARKER = 'TEMPORARY_INSERT_MARKER_FSYdr8m8CS7YLb8y';
@@ -75,8 +76,24 @@ const handleExternalLinks = markdown => {
75
76
  return markdown.replace(regex, (match, openTag, content) => match.replace(EXTERNAL_LINK_MARKER, escape(content)));
76
77
  };
77
78
 
79
+ const encodeHtmlEntities = draftjs => {
80
+ return { ...draftjs,
81
+ blocks: draftjs.blocks.map(block => ({ ...block,
82
+ text: he.encode(block.text)
83
+ }))
84
+ };
85
+ };
86
+
87
+ const decodeHtmlEntities = draftjs => {
88
+ return { ...draftjs,
89
+ blocks: draftjs.blocks.map(block => ({ ...block,
90
+ text: he.decode(block.text)
91
+ }))
92
+ };
93
+ };
94
+
78
95
  export function fromDraftjs(draftjs, styleItems, entityItems) {
79
- let markdown = draftToMarkdown(draftjs, {
96
+ let markdown = draftToMarkdown(encodeHtmlEntities(draftjs), {
80
97
  styleItems: {
81
98
  'section-break': {
82
99
  open() {
@@ -886,5 +903,5 @@ export function mdxToDraftjs(mdx) {
886
903
 
887
904
  return ((_entity$data11 = entity.data) === null || _entity$data11 === void 0 ? void 0 : _entity$data11.marker) === undefined && !entityKeysToExclude.includes(Number(key));
888
905
  });
889
- return result;
906
+ return decodeHtmlEntities(result);
890
907
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@takeshape/util",
3
- "version": "9.28.0",
3
+ "version": "9.28.2",
4
4
  "description": "Shared utilities",
5
5
  "homepage": "https://www.takeshape.io",
6
6
  "repository": {
@@ -23,6 +23,7 @@
23
23
  "classnames": "^2.2.5",
24
24
  "dom-serializer": "0.2.2",
25
25
  "draft-js": "^0.11.7",
26
+ "he": "^1.2.0",
26
27
  "htmlparser2": "^3.10.0",
27
28
  "lodash": "^4.17.21",
28
29
  "markdown-draft-js": "github:incompl/markdown-draft-js#deterministic-entity-keys-with-lib",
@@ -31,11 +32,12 @@
31
32
  "prismjs": "^1.25.0",
32
33
  "shortid": "^2.2.16",
33
34
  "url-parse": "^1.5.3",
34
- "@takeshape/routing": "9.28.0"
35
+ "@takeshape/routing": "9.28.2"
35
36
  },
36
37
  "devDependencies": {
37
38
  "@types/classnames": "^2.2.9",
38
39
  "@types/draft-js": "^0.10.32",
40
+ "@types/he": "^1.2.0",
39
41
  "@types/lodash": "^4.14.165",
40
42
  "@types/markdown-draft-js": "^2.2.4",
41
43
  "@types/mime-types": "^2.1.0",
@@ -43,7 +45,7 @@
43
45
  "@types/prismjs": "^1.16.2",
44
46
  "@types/shortid": "^0.0.29",
45
47
  "stripe": "8.81.0",
46
- "@takeshape/typescript-jest-junit-reporter": "9.28.0"
48
+ "@takeshape/typescript-jest-junit-reporter": "9.28.2"
47
49
  },
48
50
  "engines": {
49
51
  "node": ">=16"