react-datocms 2.0.1 → 2.2.0

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 (50) hide show
  1. package/README.md +143 -58
  2. package/dist/cjs/Seo/__tests__/index.test.js +272 -37
  3. package/dist/cjs/Seo/__tests__/index.test.js.map +1 -1
  4. package/dist/cjs/Seo/index.js +13 -60
  5. package/dist/cjs/Seo/index.js.map +1 -1
  6. package/dist/cjs/Seo/remixUtils.js +33 -0
  7. package/dist/cjs/Seo/remixUtils.js.map +1 -0
  8. package/dist/cjs/Seo/renderMetaTags.js +40 -0
  9. package/dist/cjs/Seo/renderMetaTags.js.map +1 -0
  10. package/dist/cjs/Seo/renderMetaTagsToString.js +22 -0
  11. package/dist/cjs/Seo/renderMetaTagsToString.js.map +1 -0
  12. package/dist/cjs/Seo/types.js +5 -0
  13. package/dist/cjs/Seo/types.js.map +1 -0
  14. package/dist/cjs/StructuredText/__tests__/index.test.js +77 -67
  15. package/dist/cjs/StructuredText/__tests__/index.test.js.map +1 -1
  16. package/dist/cjs/StructuredText/index.js +76 -61
  17. package/dist/cjs/StructuredText/index.js.map +1 -1
  18. package/dist/cjs/useQuerySubscription/index.js +1 -1
  19. package/dist/cjs/useQuerySubscription/index.js.map +1 -1
  20. package/dist/esm/Seo/__tests__/index.test.js +271 -36
  21. package/dist/esm/Seo/__tests__/index.test.js.map +1 -1
  22. package/dist/esm/Seo/index.d.ts +4 -12
  23. package/dist/esm/Seo/index.js +4 -55
  24. package/dist/esm/Seo/index.js.map +1 -1
  25. package/dist/esm/Seo/remixUtils.d.ts +6 -0
  26. package/dist/esm/Seo/remixUtils.js +29 -0
  27. package/dist/esm/Seo/remixUtils.js.map +1 -0
  28. package/dist/esm/Seo/renderMetaTags.d.ts +3 -0
  29. package/dist/esm/Seo/renderMetaTags.js +33 -0
  30. package/dist/esm/Seo/renderMetaTags.js.map +1 -0
  31. package/dist/esm/Seo/renderMetaTagsToString.d.ts +2 -0
  32. package/dist/esm/Seo/renderMetaTagsToString.js +18 -0
  33. package/dist/esm/Seo/renderMetaTagsToString.js.map +1 -0
  34. package/dist/esm/Seo/types.d.ts +37 -0
  35. package/dist/esm/Seo/types.js +4 -0
  36. package/dist/esm/Seo/types.js.map +1 -0
  37. package/dist/esm/StructuredText/__tests__/index.test.js +81 -71
  38. package/dist/esm/StructuredText/__tests__/index.test.js.map +1 -1
  39. package/dist/esm/StructuredText/index.d.ts +12 -7
  40. package/dist/esm/StructuredText/index.js +78 -63
  41. package/dist/esm/StructuredText/index.js.map +1 -1
  42. package/dist/esm/useQuerySubscription/index.js +1 -1
  43. package/dist/esm/useQuerySubscription/index.js.map +1 -1
  44. package/dist/types/Seo/index.d.ts +4 -12
  45. package/dist/types/Seo/remixUtils.d.ts +6 -0
  46. package/dist/types/Seo/renderMetaTags.d.ts +3 -0
  47. package/dist/types/Seo/renderMetaTagsToString.d.ts +2 -0
  48. package/dist/types/Seo/types.d.ts +37 -0
  49. package/dist/types/StructuredText/index.d.ts +12 -7
  50. package/package.json +2 -2
@@ -1,64 +1,17 @@
1
1
  "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __importDefault = (this && this.__importDefault) || function (mod) {
14
- return (mod && mod.__esModule) ? mod : { "default": mod };
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
11
  };
16
12
  exports.__esModule = true;
17
- exports.renderMetaTagsToString = exports.renderMetaTags = void 0;
18
- var react_1 = __importDefault(require("react"));
19
- var renderMetaTags = function (data) {
20
- return data.map(function (_a) {
21
- var tag = _a.tag, attributes = _a.attributes, content = _a.content;
22
- var key = [tag];
23
- if (attributes && "property" in attributes) {
24
- key.push(attributes.property);
25
- }
26
- if (attributes && "name" in attributes) {
27
- key.push(attributes.name);
28
- }
29
- if (attributes && "rel" in attributes) {
30
- key.push(attributes.rel);
31
- }
32
- if (attributes && "sizes" in attributes) {
33
- key.push(attributes.sizes);
34
- }
35
- var Tag = tag;
36
- return (react_1["default"].createElement(Tag, __assign({ key: key.join("-") }, attributes), content));
37
- });
38
- };
39
- exports.renderMetaTags = renderMetaTags;
40
- var serializeAttributes = function (attributes) {
41
- if (!attributes) {
42
- return "";
43
- }
44
- var serializedAttrs = [];
45
- for (var key in attributes) {
46
- if (Object.prototype.hasOwnProperty.call(attributes, key)) {
47
- serializedAttrs.push(key + "=\"" + attributes[key] + "\"");
48
- }
49
- }
50
- return " " + serializedAttrs.join(" ");
51
- };
52
- var renderMetaTagsToString = function (data) {
53
- return data
54
- .map(function (_a) {
55
- var tag = _a.tag, attributes = _a.attributes, content = _a.content;
56
- if (content) {
57
- return "<" + tag + serializeAttributes(attributes) + ">" + content + "</" + tag + ">";
58
- }
59
- return "<" + tag + serializeAttributes(attributes) + " />";
60
- })
61
- .join("\n");
62
- };
63
- exports.renderMetaTagsToString = renderMetaTagsToString;
13
+ __exportStar(require("./types"), exports);
14
+ __exportStar(require("./remixUtils"), exports);
15
+ __exportStar(require("./renderMetaTags"), exports);
16
+ __exportStar(require("./renderMetaTagsToString"), exports);
64
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Seo/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,gDAA0B;AAanB,IAAM,cAAc,GAAG,UAAU,IAAsB;IAC5D,OAAO,IAAI,CAAC,GAAG,CAAC,UAAC,EAA4B;YAA1B,GAAG,SAAA,EAAE,UAAU,gBAAA,EAAE,OAAO,aAAA;QACzC,IAAI,GAAG,GAAa,CAAC,GAAG,CAAC,CAAC;QAE1B,IAAI,UAAU,IAAI,UAAU,IAAI,UAAU,EAAE;YAC1C,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;SAC/B;QAED,IAAI,UAAU,IAAI,MAAM,IAAI,UAAU,EAAE;YACtC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SAC3B;QAED,IAAI,UAAU,IAAI,KAAK,IAAI,UAAU,EAAE;YACrC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;SAC1B;QAED,IAAI,UAAU,IAAI,OAAO,IAAI,UAAU,EAAE;YACvC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;SAC5B;QAED,IAAM,GAAG,GAAG,GAAgC,CAAC;QAE7C,OAAO,CACL,iCAAC,GAAG,aAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAM,UAAU,GACpC,OAAO,CACJ,CACP,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AA5BW,QAAA,cAAc,kBA4BzB;AAEF,IAAM,mBAAmB,GAAG,UAAC,UAAyC;IACpE,IAAI,CAAC,UAAU,EAAE;QACf,OAAO,EAAE,CAAC;KACX;IAED,IAAM,eAAe,GAAG,EAAE,CAAC;IAE3B,KAAK,IAAM,GAAG,IAAI,UAAU,EAAE;QAC5B,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE;YACzD,eAAe,CAAC,IAAI,CAAI,GAAG,WAAK,UAAU,CAAC,GAAG,CAAC,OAAG,CAAC,CAAC;SACrD;KACF;IAED,OAAO,GAAG,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzC,CAAC,CAAC;AAEK,IAAM,sBAAsB,GAAG,UAAU,IAAsB;IACpE,OAAO,IAAI;SACR,GAAG,CAAC,UAAC,EAA4B;YAA1B,GAAG,SAAA,EAAE,UAAU,gBAAA,EAAE,OAAO,aAAA;QAC9B,IAAI,OAAO,EAAE;YACX,OAAO,MAAI,GAAG,GAAG,mBAAmB,CAAC,UAAU,CAAC,SAAI,OAAO,UAAK,GAAG,MAAG,CAAC;SACxE;QAED,OAAO,MAAI,GAAG,GAAG,mBAAmB,CAAC,UAAU,CAAC,QAAK,CAAC;IACxD,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC,CAAC;AAVW,QAAA,sBAAsB,0BAUjC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Seo/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAAwB;AACxB,+CAA6B;AAC7B,mDAAiC;AACjC,2DAAyC"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ exports.__esModule = true;
14
+ exports.toRemixMeta = void 0;
15
+ function toRemixMeta(metaTags) {
16
+ if (!metaTags) {
17
+ return {};
18
+ }
19
+ return metaTags.reduce(function (acc, tag) {
20
+ var _a;
21
+ if (tag.tag === 'title') {
22
+ return tag.content ? __assign(__assign({}, acc), { title: tag.content }) : acc;
23
+ }
24
+ if (tag.tag === 'link') {
25
+ return acc;
26
+ }
27
+ return __assign(__assign({}, acc), (_a = {}, _a['property' in tag.attributes
28
+ ? tag.attributes.property
29
+ : tag.attributes.name] = tag.attributes.content, _a));
30
+ }, {});
31
+ }
32
+ exports.toRemixMeta = toRemixMeta;
33
+ //# sourceMappingURL=remixUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remixUtils.js","sourceRoot":"","sources":["../../../src/Seo/remixUtils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAiCA,SAAgB,WAAW,CACzB,QAAkC;IAElC,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,EAAE,CAAC;KACX;IAED,OAAO,QAAQ,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,GAAG;;QAC9B,IAAI,GAAG,CAAC,GAAG,KAAK,OAAO,EAAE;YACvB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,uBAAM,GAAG,KAAE,KAAK,EAAE,GAAG,CAAC,OAAO,IAAG,CAAC,CAAC,GAAG,CAAC;SAC3D;QAED,IAAI,GAAG,CAAC,GAAG,KAAK,MAAM,EAAE;YACtB,OAAO,GAAG,CAAC;SACZ;QAED,6BACK,GAAG,gBACL,UAAU,IAAI,GAAG,CAAC,UAAU;YAC3B,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ;YACzB,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAG,GAAG,CAAC,UAAU,CAAC,OAAO,OAChD;IACJ,CAAC,EAAE,EAA6B,CAAC,CAAC;AACpC,CAAC;AAvBD,kCAuBC"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ exports.__esModule = true;
17
+ exports.renderMetaTags = void 0;
18
+ var react_1 = __importDefault(require("react"));
19
+ function renderMetaTags(data) {
20
+ return data.map(function (_a) {
21
+ var tag = _a.tag, attributes = _a.attributes, content = _a.content;
22
+ var key = [tag];
23
+ if (attributes && 'property' in attributes) {
24
+ key.push(attributes.property);
25
+ }
26
+ if (attributes && 'name' in attributes) {
27
+ key.push(attributes.name);
28
+ }
29
+ if (attributes && 'rel' in attributes) {
30
+ key.push(attributes.rel);
31
+ }
32
+ if (attributes && 'sizes' in attributes) {
33
+ key.push(attributes.sizes);
34
+ }
35
+ var Tag = tag;
36
+ return (react_1["default"].createElement(Tag, __assign({ key: key.join('-') }, attributes), content));
37
+ });
38
+ }
39
+ exports.renderMetaTags = renderMetaTags;
40
+ //# sourceMappingURL=renderMetaTags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderMetaTags.js","sourceRoot":"","sources":["../../../src/Seo/renderMetaTags.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,gDAA0B;AAG1B,SAAgB,cAAc,CAAC,IAAuB;IACpD,OAAO,IAAI,CAAC,GAAG,CAAC,UAAC,EAA4B;YAA1B,GAAG,SAAA,EAAE,UAAU,gBAAA,EAAE,OAAO,aAAA;QACzC,IAAI,GAAG,GAAa,CAAC,GAAG,CAAC,CAAC;QAE1B,IAAI,UAAU,IAAI,UAAU,IAAI,UAAU,EAAE;YAC1C,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;SAC/B;QAED,IAAI,UAAU,IAAI,MAAM,IAAI,UAAU,EAAE;YACtC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SAC3B;QAED,IAAI,UAAU,IAAI,KAAK,IAAI,UAAU,EAAE;YACrC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;SAC1B;QAED,IAAI,UAAU,IAAI,OAAO,IAAI,UAAU,EAAE;YACvC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;SAC5B;QAED,IAAM,GAAG,GAAG,GAAG,CAAC;QAEhB,OAAO,CACL,iCAAC,GAAG,aAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAM,UAAU,GACpC,OAAO,CACJ,CACP,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AA5BD,wCA4BC"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ exports.renderMetaTagsToString = void 0;
4
+ function renderMetaTagsToString(data) {
5
+ return data
6
+ .map(function (tag) {
7
+ if (tag.tag === 'title') {
8
+ return "<title>" + tag.content + "</title>";
9
+ }
10
+ var serializedAttrs = [];
11
+ for (var key in tag.attributes) {
12
+ if (Object.prototype.hasOwnProperty.call(tag.attributes, key)) {
13
+ serializedAttrs.push(key + "=\"" + tag.attributes[key] + "\"");
14
+ }
15
+ }
16
+ return "<" + tag.tag + " " + serializedAttrs.join(' ') + " />";
17
+ })
18
+ .join('\n');
19
+ }
20
+ exports.renderMetaTagsToString = renderMetaTagsToString;
21
+ ;
22
+ //# sourceMappingURL=renderMetaTagsToString.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderMetaTagsToString.js","sourceRoot":"","sources":["../../../src/Seo/renderMetaTagsToString.tsx"],"names":[],"mappings":";;;AAEA,SAAgB,sBAAsB,CAAC,IAAuB;IAC5D,OAAO,IAAI;SACR,GAAG,CAAC,UAAC,GAAG;QACP,IAAI,GAAG,CAAC,GAAG,KAAK,OAAO,EAAE;YACvB,OAAO,YAAU,GAAG,CAAC,OAAO,aAAU,CAAC;SACxC;QAED,IAAM,eAAe,GAAG,EAAE,CAAC;QAE3B,KAAK,IAAM,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE;YAChC,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE;gBAC7D,eAAe,CAAC,IAAI,CAAI,GAAG,WAAM,GAAG,CAAC,UAAkB,CAAC,GAAG,CAAC,OAAG,CAAC,CAAC;aAClE;SACF;QAED,OAAO,MAAI,GAAG,CAAC,GAAG,SAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,QAAK,CAAC;IACvD,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAlBD,wDAkBC;AAAA,CAAC"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ ;
4
+ ;
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/Seo/types.tsx"],"names":[],"mappings":";;AASC,CAAC;AAKD,CAAC"}
@@ -34,63 +34,75 @@ var enzyme_1 = require("enzyme");
34
34
  var React = __importStar(require("react"));
35
35
  var index_1 = require("../index");
36
36
  var datocms_structured_text_utils_1 = require("datocms-structured-text-utils");
37
- describe("StructuredText", function () {
38
- describe("with no value", function () {
39
- it("renders null", function () {
37
+ var datocms_structured_text_generic_html_renderer_1 = require("datocms-structured-text-generic-html-renderer");
38
+ describe('StructuredText', function () {
39
+ describe('with no value', function () {
40
+ it('renders null', function () {
40
41
  var wrapper = enzyme_1.mount(React.createElement(index_1.StructuredText, { data: null }));
41
42
  expect(wrapper).toMatchSnapshot();
42
43
  });
43
44
  });
44
- describe("simple dast /2", function () {
45
+ describe('simple dast /2', function () {
45
46
  var structuredText = {
46
- schema: "dast",
47
+ schema: 'dast',
47
48
  document: {
48
- type: "root",
49
+ type: 'root',
49
50
  children: [
50
51
  {
51
- type: "heading",
52
+ type: 'heading',
52
53
  level: 1,
53
54
  children: [
54
55
  {
55
- type: "span",
56
- value: "This\nis a "
56
+ type: 'span',
57
+ value: 'This\nis a '
57
58
  },
58
59
  {
59
- type: "span",
60
- marks: ["strong"],
61
- value: "title"
60
+ type: 'span',
61
+ marks: ['strong'],
62
+ value: 'title'
62
63
  },
63
64
  ]
64
65
  },
65
66
  ]
66
67
  }
67
68
  };
68
- describe("with default rules", function () {
69
- it("renders the document", function () {
69
+ describe('with default rules', function () {
70
+ it('renders the document', function () {
70
71
  var wrapper = enzyme_1.mount(React.createElement(index_1.StructuredText, { data: structuredText }));
71
72
  expect(wrapper).toMatchSnapshot();
72
73
  });
73
74
  });
75
+ describe('with custom mark rules', function () {
76
+ it('renders the document', function () {
77
+ var wrapper = enzyme_1.mount(React.createElement(index_1.StructuredText, { data: structuredText, customMarkRules: [
78
+ datocms_structured_text_generic_html_renderer_1.renderMarkRule('strong', function (_a) {
79
+ var children = _a.children, key = _a.key;
80
+ return (React.createElement("b", { key: key }, children));
81
+ }),
82
+ ] }));
83
+ expect(wrapper).toMatchSnapshot();
84
+ });
85
+ });
74
86
  });
75
- describe("simple dast with no links/blocks", function () {
87
+ describe('simple dast with no links/blocks', function () {
76
88
  var structuredText = {
77
89
  value: {
78
- schema: "dast",
90
+ schema: 'dast',
79
91
  document: {
80
- type: "root",
92
+ type: 'root',
81
93
  children: [
82
94
  {
83
- type: "heading",
95
+ type: 'heading',
84
96
  level: 1,
85
97
  children: [
86
98
  {
87
- type: "span",
88
- value: "This\nis a "
99
+ type: 'span',
100
+ value: 'This\nis a '
89
101
  },
90
102
  {
91
- type: "span",
92
- marks: ["strong"],
93
- value: "title"
103
+ type: 'span',
104
+ marks: ['strong'],
105
+ value: 'title'
94
106
  },
95
107
  ]
96
108
  },
@@ -98,18 +110,18 @@ describe("StructuredText", function () {
98
110
  }
99
111
  }
100
112
  };
101
- describe("with default rules", function () {
102
- it("renders the document", function () {
113
+ describe('with default rules', function () {
114
+ it('renders the document', function () {
103
115
  var wrapper = enzyme_1.mount(React.createElement(index_1.StructuredText, { data: structuredText }));
104
116
  expect(wrapper).toMatchSnapshot();
105
117
  });
106
118
  });
107
- describe("with custom rules", function () {
108
- it("renders the document", function () {
119
+ describe('with custom rules', function () {
120
+ it('renders the document', function () {
109
121
  var wrapper = enzyme_1.mount(React.createElement(index_1.StructuredText, { data: structuredText, renderText: function (text, key) {
110
- return (React.createElement(React.Fragment, { key: key }, text.replace(/This/, "That")));
111
- }, customRules: [
112
- index_1.renderRule(datocms_structured_text_utils_1.isHeading, function (_a) {
122
+ return (React.createElement(React.Fragment, { key: key }, text.replace(/This/, 'That')));
123
+ }, customNodeRules: [
124
+ index_1.renderNodeRule(datocms_structured_text_utils_1.isHeading, function (_a) {
113
125
  var renderNode = _a.adapter.renderNode, node = _a.node, children = _a.children, key = _a.key;
114
126
  return renderNode("h" + (node.level + 1), { key: key }, children);
115
127
  }),
@@ -118,70 +130,68 @@ describe("StructuredText", function () {
118
130
  });
119
131
  });
120
132
  });
121
- describe("with links/blocks", function () {
133
+ describe('with links/blocks', function () {
122
134
  var structuredText = {
123
135
  value: {
124
- schema: "dast",
136
+ schema: 'dast',
125
137
  document: {
126
- type: "root",
138
+ type: 'root',
127
139
  children: [
128
140
  {
129
- type: "heading",
141
+ type: 'heading',
130
142
  level: 1,
131
143
  children: [
132
144
  {
133
- type: "span",
134
- value: "This is a"
145
+ type: 'span',
146
+ value: 'This is a'
135
147
  },
136
148
  {
137
- type: "span",
138
- marks: ["highlight"],
139
- value: "title"
149
+ type: 'span',
150
+ marks: ['highlight'],
151
+ value: 'title'
140
152
  },
141
153
  {
142
- type: "inlineItem",
143
- item: "123"
154
+ type: 'inlineItem',
155
+ item: '123'
144
156
  },
145
157
  {
146
- type: "itemLink",
147
- item: "123",
148
- meta: [
149
- { id: 'target', value: '_blank' },
150
- ],
151
- children: [{ type: "span", value: "here!" }]
158
+ type: 'itemLink',
159
+ item: '123',
160
+ meta: [{ id: 'target', value: '_blank' }],
161
+ children: [{ type: 'span', value: 'here!' }]
152
162
  },
153
163
  ]
154
164
  },
155
165
  {
156
- type: "block",
157
- item: "456"
166
+ type: 'block',
167
+ item: '456'
158
168
  },
159
169
  ]
160
170
  }
161
171
  },
162
172
  blocks: [
163
173
  {
164
- id: "456",
165
- __typename: "QuoteRecord",
166
- quote: "Foo bar.",
167
- author: "Mark Smith"
174
+ id: '456',
175
+ __typename: 'QuoteRecord',
176
+ quote: 'Foo bar.',
177
+ author: 'Mark Smith'
168
178
  },
169
179
  ],
170
180
  links: [
171
181
  {
172
- id: "123",
173
- __typename: "DocPageRecord",
174
- title: "How to code",
175
- slug: "how-to-code"
182
+ id: '123',
183
+ __typename: 'DocPageRecord',
184
+ title: 'How to code',
185
+ slug: 'how-to-code'
176
186
  },
177
187
  ]
178
188
  };
179
- describe("with default rules", function () {
180
- it("renders the document", function () {
189
+ describe('with default rules', function () {
190
+ it('renders the document', function () {
181
191
  var wrapper = enzyme_1.mount(React.createElement(index_1.StructuredText, { data: structuredText, renderInlineRecord: function (_a) {
182
192
  var record = _a.record;
183
193
  switch (record.__typename) {
184
- case "DocPageRecord":
194
+ case 'DocPageRecord':
185
195
  return React.createElement("a", { href: "/docs/" + record.slug }, record.title);
186
196
  default:
187
197
  return null;
@@ -189,15 +199,15 @@ describe("StructuredText", function () {
189
199
  }, renderLinkToRecord: function (_a) {
190
200
  var record = _a.record, children = _a.children, transformedMeta = _a.transformedMeta;
191
201
  switch (record.__typename) {
192
- case "DocPageRecord":
193
- return React.createElement("a", __assign({}, transformedMeta, { href: "/docs/" + record.slug }), children);
202
+ case 'DocPageRecord':
203
+ return (React.createElement("a", __assign({}, transformedMeta, { href: "/docs/" + record.slug }), children));
194
204
  default:
195
205
  return null;
196
206
  }
197
207
  }, renderBlock: function (_a) {
198
208
  var record = _a.record;
199
209
  switch (record.__typename) {
200
- case "QuoteRecord":
210
+ case 'QuoteRecord':
201
211
  return (React.createElement("figure", null,
202
212
  React.createElement("blockquote", null, record.quote),
203
213
  React.createElement("figcaption", null, record.author)));
@@ -208,15 +218,15 @@ describe("StructuredText", function () {
208
218
  expect(wrapper).toMatchSnapshot();
209
219
  });
210
220
  });
211
- describe("with missing renderInlineRecord prop", function () {
212
- it("raises an error", function () {
221
+ describe('with missing renderInlineRecord prop', function () {
222
+ it('raises an error', function () {
213
223
  expect(function () {
214
224
  enzyme_1.shallow(React.createElement(index_1.StructuredText, { data: structuredText }));
215
225
  }).toThrow(index_1.RenderError);
216
226
  });
217
227
  });
218
- describe("with missing record", function () {
219
- it("raises an error", function () {
228
+ describe('with missing record', function () {
229
+ it('raises an error', function () {
220
230
  expect(function () {
221
231
  enzyme_1.shallow(React.createElement(index_1.StructuredText, { data: __assign(__assign({}, structuredText), { links: [] }), renderInlineRecord: function () {
222
232
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../src/StructuredText/__tests__/index.test.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../src/StructuredText/__tests__/index.test.tsx"],"names":[],"mappings":"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"}