Launch Week Day 5: Introducing Reachability for PHP.Learn More
Socket
Book a DemoSign in
Socket

@contentful/contentful-slatejs-adapter

Package Overview
Dependencies
Maintainers
49
Versions
82
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@contentful/contentful-slatejs-adapter - npm Package Compare versions

Comparing version
2.1.0
to
3.0.0
+14
-4
dist/contentful-slatejs-adapter.es5.js

@@ -8,11 +8,18 @@ 'use strict';

var flatmap = _interopDefault(require('lodash.flatmap'));
var get = _interopDefault(require('lodash.get'));
var Contentful = require('@contentful/structured-text-types');
function toSlatejsDocument(ctfDocument) {
function toSlatejsDocument(_a) {
var document = _a.document, _b = _a.schema, schema = _b === void 0 ? {} : _b;
return {
object: 'document',
nodes: flatmap(ctfDocument.content, function (node) { return convertNode(node); }),
nodes: flatmap(document.content, function (node) { return convertNode(node, schema); }),
};
}
function convertNode(node) {
// COMPAT: fixes the issue with void inline blocks in slate < v0.40
function getIsVoidValue(node, schema) {
var root = node.nodeClass === 'block' ? 'blocks' : 'inlines';
return get(schema, [root, node.nodeType, 'isVoid'], false);
}
function convertNode(node, schema) {
var nodes = [];

@@ -23,3 +30,5 @@ switch (node.nodeClass) {

var contentfulBlock = node;
var childNodes = flatmap(contentfulBlock.content, convertNode);
var childNodes = flatmap(contentfulBlock.content, function (childNode) {
return convertNode(childNode, schema);
});
var slateBlock = {

@@ -29,2 +38,3 @@ object: contentfulBlock.nodeClass,

nodes: childNodes,
isVoid: getIsVoidValue(contentfulBlock, schema),
data: contentfulBlock.data,

@@ -31,0 +41,0 @@ };

@@ -1,1 +0,1 @@

{"version":3,"file":"contentful-slatejs-adapter.es5.js","sources":["../src/contentful-to-slatejs-adapter.ts","../src/slatejs-to-contentful-adapter.ts"],"sourcesContent":["import flatmap from 'lodash.flatmap';\nimport omit from 'lodash.omit';\nimport * as Contentful from '@contentful/structured-text-types';\nimport { ContentfulNode, SlateNode } from './types';\n\nexport default function toSlatejsDocument(ctfDocument: Contentful.Document): Slate.Document {\n return {\n object: 'document',\n nodes: flatmap(ctfDocument.content, node => convertNode(node)) as Slate.Block[],\n };\n}\n\nfunction convertNode(node: ContentfulNode): SlateNode[] {\n const nodes: SlateNode[] = [];\n switch (node.nodeClass) {\n case 'block':\n case 'inline':\n const contentfulBlock = node as Contentful.Block;\n const childNodes = flatmap(contentfulBlock.content, convertNode);\n\n const slateBlock: Slate.Block = {\n object: contentfulBlock.nodeClass,\n type: contentfulBlock.nodeType,\n nodes: childNodes,\n data: contentfulBlock.data,\n };\n\n nodes.push(slateBlock);\n break;\n case 'text':\n const { marks, value, data } = node as Contentful.Text;\n\n const slateText: Slate.Text = {\n object: 'text',\n leaves: [\n {\n object: 'leaf',\n text: value,\n marks,\n },\n ],\n data,\n };\n\n nodes.push(slateText);\n break;\n default:\n assertUnreachable(node);\n break;\n }\n return nodes;\n}\n\nfunction assertUnreachable(object: never): never {\n throw new Error(`Unexpected contentful object ${JSON.stringify(object)}`);\n}\n","import flatMap from 'lodash.flatmap';\nimport * as Contentful from '@contentful/structured-text-types';\nimport { ContentfulNode, SlateNode } from './types';\n\nexport default function toContentfulDocument(slateDocument: Slate.Document): Contentful.Document {\n return {\n nodeClass: 'document',\n nodeType: Contentful.BLOCKS.DOCUMENT,\n content: flatMap(slateDocument.nodes, convertNode) as Contentful.Block[],\n };\n}\n\nfunction convertNode(node: SlateNode): ContentfulNode[] {\n const nodes: ContentfulNode[] = [];\n switch (node.object) {\n case 'block':\n case 'inline':\n const slateBlock = node as Slate.Block;\n const content = flatMap(slateBlock.nodes, convertNode);\n const contentfulBlock: Contentful.Block = {\n nodeClass: slateBlock.object,\n nodeType: slateBlock.type,\n content,\n data: slateBlock.data,\n };\n nodes.push(contentfulBlock);\n break;\n case 'text':\n convertText(node as Slate.Text).forEach(childNode => nodes.push(childNode));\n break;\n default:\n assertUnreachable(node);\n break;\n }\n\n return nodes;\n}\n\nfunction convertText(node: Slate.Text): Contentful.Text[] {\n return node.leaves.map<Contentful.Text>(leaf => ({\n nodeClass: 'text',\n nodeType: 'text',\n value: leaf.text,\n marks: leaf.marks || [],\n data: node.data,\n }));\n}\n\nfunction assertUnreachable(object: never): never {\n throw new Error(`Unexpected slate object ${object}`);\n}\n"],"names":["Contentful.BLOCKS","flatMap","convertNode","assertUnreachable"],"mappings":"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"}
{"version":3,"file":"contentful-slatejs-adapter.es5.js","sources":["../src/contentful-to-slatejs-adapter.ts","../src/slatejs-to-contentful-adapter.ts"],"sourcesContent":["import flatmap from 'lodash.flatmap';\nimport omit from 'lodash.omit';\nimport get from 'lodash.get';\nimport * as Contentful from '@contentful/structured-text-types';\nimport { ContentfulNode, SlateNode } from './types';\n\nexport interface SchemaValue {\n isVoid?: boolean;\n // tslint:disable-next-line:no-any\n [k: string]: any;\n}\nexport interface Schema {\n blocks?: Record<string, SchemaValue>;\n inlines?: Record<string, SchemaValue>;\n}\nexport interface ToSlatejsDocumentProperties {\n document: Contentful.Document;\n schema?: Schema;\n}\n\nexport default function toSlatejsDocument({\n document,\n schema = {},\n}: ToSlatejsDocumentProperties): Slate.Document {\n return {\n object: 'document',\n nodes: flatmap(document.content, node => convertNode(node, schema)) as Slate.Block[],\n };\n}\n\n// COMPAT: fixes the issue with void inline blocks in slate < v0.40\nfunction getIsVoidValue(node: Contentful.Block | Contentful.Inline, schema: Schema) {\n const root = node.nodeClass === 'block' ? 'blocks' : 'inlines';\n return get(schema, [root, node.nodeType as string, 'isVoid'], false);\n}\n\nfunction convertNode(node: ContentfulNode, schema: Schema): SlateNode[] {\n const nodes: SlateNode[] = [];\n switch (node.nodeClass) {\n case 'block':\n case 'inline':\n const contentfulBlock = node as Contentful.Block;\n const childNodes = flatmap(contentfulBlock.content, childNode =>\n convertNode(childNode, schema),\n );\n\n const slateBlock: Slate.Block = {\n object: contentfulBlock.nodeClass,\n type: contentfulBlock.nodeType,\n nodes: childNodes,\n isVoid: getIsVoidValue(contentfulBlock, schema),\n data: contentfulBlock.data,\n };\n\n nodes.push(slateBlock);\n break;\n case 'text':\n const { marks, value, data } = node as Contentful.Text;\n\n const slateText: Slate.Text = {\n object: 'text',\n leaves: [\n {\n object: 'leaf',\n text: value,\n marks,\n },\n ],\n data,\n };\n\n nodes.push(slateText);\n break;\n default:\n assertUnreachable(node);\n break;\n }\n return nodes;\n}\n\nfunction assertUnreachable(object: never): never {\n throw new Error(`Unexpected contentful object ${JSON.stringify(object)}`);\n}\n","import flatMap from 'lodash.flatmap';\nimport * as Contentful from '@contentful/structured-text-types';\nimport { ContentfulNode, SlateNode } from './types';\n\nexport default function toContentfulDocument(slateDocument: Slate.Document): Contentful.Document {\n return {\n nodeClass: 'document',\n nodeType: Contentful.BLOCKS.DOCUMENT,\n content: flatMap(slateDocument.nodes, convertNode) as Contentful.Block[],\n };\n}\n\nfunction convertNode(node: SlateNode): ContentfulNode[] {\n const nodes: ContentfulNode[] = [];\n switch (node.object) {\n case 'block':\n case 'inline':\n const slateBlock = node as Slate.Block;\n const content = flatMap(slateBlock.nodes, convertNode);\n const contentfulBlock: Contentful.Block = {\n nodeClass: slateBlock.object,\n nodeType: slateBlock.type,\n content,\n data: slateBlock.data,\n };\n nodes.push(contentfulBlock);\n break;\n case 'text':\n convertText(node as Slate.Text).forEach(childNode => nodes.push(childNode));\n break;\n default:\n assertUnreachable(node);\n break;\n }\n\n return nodes;\n}\n\nfunction convertText(node: Slate.Text): Contentful.Text[] {\n return node.leaves.map<Contentful.Text>(leaf => ({\n nodeClass: 'text',\n nodeType: 'text',\n value: leaf.text,\n marks: leaf.marks || [],\n data: node.data,\n }));\n}\n\nfunction assertUnreachable(object: never): never {\n throw new Error(`Unexpected slate object ${object}`);\n}\n"],"names":["Contentful.BLOCKS","flatMap","convertNode","assertUnreachable"],"mappings":"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"}

@@ -8,19 +8,28 @@ "use strict";

var contentful = require("./contentful-helpers");
describe('toSlatejsDocument', function () {
var testFactory = function (message, contentfulDoc, expected) {
it(message, function () {
var actualSlateDoc = contentful_to_slatejs_adapter_1.default(contentfulDoc);
expect(actualSlateDoc).toEqual(expected);
var actualContentfulDoc = slatejs_to_contentful_adapter_1.default(actualSlateDoc);
expect(actualContentfulDoc).toEqual(contentfulDoc);
describe('adapters', function () {
var testAdapters = function (message, contentfulDoc, slateDoc) {
describe('toSlatejsDocument()', function () {
it(message, function () {
var actualSlateDoc = contentful_to_slatejs_adapter_1.default({
document: contentfulDoc,
schema: { blocks: { voidnode: { isVoid: true } } },
});
expect(actualSlateDoc).toEqual(slateDoc);
});
});
describe('toContentfulDocument()', function () {
it(message, function () {
var actualContentfulDoc = slatejs_to_contentful_adapter_1.default(slateDoc);
expect(actualContentfulDoc).toEqual(contentfulDoc);
});
});
};
describe('document', function () {
testFactory('empty document', contentful.document(), slate.document());
testFactory('document with block', contentful.document(contentful.block('paragraph', contentful.text(''))), slate.document(slate.block('paragraph', slate.text(slate.leaf('')))));
testFactory('paragraph with inline', contentful.document(contentful.block('paragraph', contentful.inline('hyperlink'))), slate.document(slate.block('paragraph', slate.inline('hyperlink'))));
testFactory('paragraph with text', contentful.document(contentful.block('paragraph', contentful.text('hi'))), slate.document(slate.block('paragraph', slate.text(slate.leaf('hi')))));
testFactory('text with marks', contentful.document(contentful.block('paragraph', contentful.text('this'), contentful.text('is', contentful.mark('bold')))), slate.document(slate.block('paragraph', slate.text(slate.leaf('this')), slate.text(slate.leaf('is', contentful.mark('bold'))))));
testAdapters('empty document', contentful.document(), slate.document());
testAdapters('document with block', contentful.document(contentful.block('paragraph', contentful.text(''))), slate.document(slate.block('paragraph', false, slate.text(slate.leaf('')))));
testAdapters('paragraph with inline', contentful.document(contentful.block('paragraph', contentful.inline('hyperlink'))), slate.document(slate.block('paragraph', false, slate.inline('hyperlink', false))));
testAdapters('paragraph with text', contentful.document(contentful.block('paragraph', contentful.text('hi'))), slate.document(slate.block('paragraph', false, slate.text(slate.leaf('hi')))));
testAdapters('text with marks', contentful.document(contentful.block('paragraph', contentful.text('this'), contentful.text('is', contentful.mark('bold')))), slate.document(slate.block('paragraph', false, slate.text(slate.leaf('this')), slate.text(slate.leaf('is', contentful.mark('bold'))))));
it('adds a default value to marks if undefined', function () {
var slateDoc = slate.document(slate.block('paragraph', slate.text({ marks: undefined, object: 'leaf', text: 'Hi' })));
var slateDoc = slate.document(slate.block('paragraph', false, slate.text({ marks: undefined, object: 'leaf', text: 'Hi' })));
var ctflDoc = slatejs_to_contentful_adapter_1.default(slateDoc);

@@ -34,7 +43,7 @@ expect(ctflDoc).toEqual(contentful.document(contentful.block('paragraph', {

});
testFactory('text with multiple marks', contentful.document(contentful.block('paragraph', contentful.text('this'), contentful.text('is', contentful.mark('bold')), contentful.text('huge', contentful.mark('bold'), contentful.mark('italic')))), slate.document(slate.block('paragraph', slate.text(slate.leaf('this')), slate.text(slate.leaf('is', slate.mark('bold'))), slate.text(slate.leaf('huge', slate.mark('bold'), slate.mark('italic'))))));
testFactory('document with nested blocks', contentful.document(contentful.block('paragraph', contentful.text('this is a test', contentful.mark('bold')), contentful.text('paragraph', contentful.mark('underline'))), contentful.block('block', contentful.block('block', contentful.text('this is it')))), slate.document(slate.block('paragraph', slate.text(slate.leaf('this is a test', slate.mark('bold'))), slate.text(slate.leaf('paragraph', slate.mark('underline')))), slate.block('block', slate.block('block', slate.text(slate.leaf('this is it'))))));
testAdapters('text with multiple marks', contentful.document(contentful.block('paragraph', contentful.text('this'), contentful.text('is', contentful.mark('bold')), contentful.text('huge', contentful.mark('bold'), contentful.mark('italic')))), slate.document(slate.block('paragraph', false, slate.text(slate.leaf('this')), slate.text(slate.leaf('is', slate.mark('bold'))), slate.text(slate.leaf('huge', slate.mark('bold'), slate.mark('italic'))))));
testAdapters('document with nested blocks', contentful.document(contentful.block('paragraph', contentful.text('this is a test', contentful.mark('bold')), contentful.text('paragraph', contentful.mark('underline'))), contentful.block('block', contentful.block('block', contentful.text('this is it')))), slate.document(slate.block('paragraph', false, slate.text(slate.leaf('this is a test', slate.mark('bold'))), slate.text(slate.leaf('paragraph', slate.mark('underline')))), slate.block('block', false, slate.block('block', false, slate.text(slate.leaf('this is it'))))));
});
describe('converts additional data', function () {
testFactory('data in block', {
testAdapters('data in block', {
nodeClass: 'document',

@@ -56,2 +65,3 @@ nodeType: Contentful.BLOCKS.DOCUMENT,

type: 'paragraph',
isVoid: false,
data: { a: 1 },

@@ -62,3 +72,3 @@ nodes: [],

});
testFactory('data in inline', {
testAdapters('data in inline', {
nodeClass: 'document',

@@ -87,2 +97,3 @@ nodeType: Contentful.BLOCKS.DOCUMENT,

type: 'paragraph',
isVoid: false,
data: { a: 1 },

@@ -93,2 +104,3 @@ nodes: [

type: 'hyperlink',
isVoid: false,
data: {

@@ -103,3 +115,3 @@ a: 2,

});
testFactory('data in text', {
testAdapters('data in text', {
nodeClass: 'document',

@@ -135,2 +147,3 @@ nodeType: Contentful.BLOCKS.DOCUMENT,

type: 'paragraph',
isVoid: false,
data: { a: 1 },

@@ -141,2 +154,3 @@ nodes: [

type: 'hyperlink',
isVoid: false,
data: {

@@ -163,3 +177,28 @@ a: 2,

});
describe('sets isVoid from schema', function () {
testAdapters('data in block', {
nodeClass: 'document',
nodeType: Contentful.BLOCKS.DOCUMENT,
content: [
{
nodeClass: 'block',
nodeType: 'voidnode',
content: [],
data: { a: 1 },
},
],
}, {
object: 'document',
nodes: [
{
object: 'block',
type: 'voidnode',
isVoid: true,
data: { a: 1 },
nodes: [],
},
],
});
});
});
//# sourceMappingURL=contentful-to-slatejs-adapter.test.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"contentful-to-slatejs-adapter.test.js","sourceRoot":"","sources":["../../../src/__test__/contentful-to-slatejs-adapter.test.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"contentful-to-slatejs-adapter.test.js","sourceRoot":"","sources":["../../../src/__test__/contentful-to-slatejs-adapter.test.ts"],"names":[],"mappings":"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"}

@@ -14,9 +14,10 @@ "use strict";

exports.document = document;
function block(type) {
function block(type, isVoid) {
var nodes = [];
for (var _i = 1; _i < arguments.length; _i++) {
nodes[_i - 1] = arguments[_i];
for (var _i = 2; _i < arguments.length; _i++) {
nodes[_i - 2] = arguments[_i];
}
return {
object: 'block',
isVoid: isVoid,
type: type,

@@ -27,9 +28,10 @@ nodes: nodes,

exports.block = block;
function inline(type) {
function inline(type, isVoid) {
var nodes = [];
for (var _i = 1; _i < arguments.length; _i++) {
nodes[_i - 1] = arguments[_i];
for (var _i = 2; _i < arguments.length; _i++) {
nodes[_i - 2] = arguments[_i];
}
return {
object: 'inline',
isVoid: isVoid,
type: type,

@@ -36,0 +38,0 @@ nodes: nodes,

@@ -1,1 +0,1 @@

{"version":3,"file":"slate-helpers.js","sourceRoot":"","sources":["../../../src/__test__/slate-helpers.ts"],"names":[],"mappings":";;AAAA;IAAyB,eAAuB;SAAvB,UAAuB,EAAvB,qBAAuB,EAAvB,IAAuB;QAAvB,0BAAuB;;IAC9C,OAAO;QACL,MAAM,EAAE,UAAU;QAClB,KAAK,OAAA;KACN,CAAC;AACJ,CAAC;AALD,4BAKC;AAED,eACE,IAAY;IACZ,eAAwD;SAAxD,UAAwD,EAAxD,qBAAwD,EAAxD,IAAwD;QAAxD,8BAAwD;;IAExD,OAAO;QACL,MAAM,EAAE,OAAO;QACf,IAAI,MAAA;QACJ,KAAK,OAAA;KACN,CAAC;AACJ,CAAC;AATD,sBASC;AAED,gBAAuB,IAAY;IAAE,eAA0C;SAA1C,UAA0C,EAA1C,qBAA0C,EAA1C,IAA0C;QAA1C,8BAA0C;;IAC7E,OAAO;QACL,MAAM,EAAE,QAAQ;QAChB,IAAI,MAAA;QACJ,KAAK,OAAA;KACN,CAAC;AACJ,CAAC;AAND,wBAMC;AAED;IAAqB,gBAA2B;SAA3B,UAA2B,EAA3B,qBAA2B,EAA3B,IAA2B;QAA3B,2BAA2B;;IAC9C,OAAO;QACL,MAAM,EAAE,MAAM;QACd,MAAM,QAAA;KACP,CAAC;AACJ,CAAC;AALD,oBAKC;AAED,cAAqB,KAAa;IAAE,eAAsB;SAAtB,UAAsB,EAAtB,qBAAsB,EAAtB,IAAsB;QAAtB,8BAAsB;;IACxD,OAAO;QACL,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,KAAK;QACX,KAAK,OAAA;KACN,CAAC;AACJ,CAAC;AAND,oBAMC;AAED,cAAqB,IAAY;IAC/B,OAAO;QACL,IAAI,MAAA;KACL,CAAC;AACJ,CAAC;AAJD,oBAIC"}
{"version":3,"file":"slate-helpers.js","sourceRoot":"","sources":["../../../src/__test__/slate-helpers.ts"],"names":[],"mappings":";;AAAA;IAAyB,eAAuB;SAAvB,UAAuB,EAAvB,qBAAuB,EAAvB,IAAuB;QAAvB,0BAAuB;;IAC9C,OAAO;QACL,MAAM,EAAE,UAAU;QAClB,KAAK,OAAA;KACN,CAAC;AACJ,CAAC;AALD,4BAKC;AAED,eACE,IAAY,EACZ,MAAa;IACb,eAAwD;SAAxD,UAAwD,EAAxD,qBAAwD,EAAxD,IAAwD;QAAxD,8BAAwD;;IAExD,OAAO;QACL,MAAM,EAAE,OAAO;QACf,MAAM,QAAA;QACN,IAAI,MAAA;QACJ,KAAK,OAAA;KACN,CAAC;AACJ,CAAC;AAXD,sBAWC;AAED,gBACE,IAAY,EACZ,MAAa;IACb,eAA0C;SAA1C,UAA0C,EAA1C,qBAA0C,EAA1C,IAA0C;QAA1C,8BAA0C;;IAE1C,OAAO;QACL,MAAM,EAAE,QAAQ;QAChB,MAAM,QAAA;QACN,IAAI,MAAA;QACJ,KAAK,OAAA;KACN,CAAC;AACJ,CAAC;AAXD,wBAWC;AAED;IAAqB,gBAA2B;SAA3B,UAA2B,EAA3B,qBAA2B,EAA3B,IAA2B;QAA3B,2BAA2B;;IAC9C,OAAO;QACL,MAAM,EAAE,MAAM;QACd,MAAM,QAAA;KACP,CAAC;AACJ,CAAC;AALD,oBAKC;AAED,cAAqB,KAAa;IAAE,eAAsB;SAAtB,UAAsB,EAAtB,qBAAsB,EAAtB,IAAsB;QAAtB,8BAAsB;;IACxD,OAAO;QACL,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,KAAK;QACX,KAAK,OAAA;KACN,CAAC;AACJ,CAAC;AAND,oBAMC;AAED,cAAqB,IAAY;IAC/B,OAAO;QACL,IAAI,MAAA;KACL,CAAC;AACJ,CAAC;AAJD,oBAIC"}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var lodash_flatmap_1 = require("lodash.flatmap");
function toSlatejsDocument(ctfDocument) {
var lodash_get_1 = require("lodash.get");
function toSlatejsDocument(_a) {
var document = _a.document, _b = _a.schema, schema = _b === void 0 ? {} : _b;
return {
object: 'document',
nodes: lodash_flatmap_1.default(ctfDocument.content, function (node) { return convertNode(node); }),
nodes: lodash_flatmap_1.default(document.content, function (node) { return convertNode(node, schema); }),
};
}
exports.default = toSlatejsDocument;
function convertNode(node) {
// COMPAT: fixes the issue with void inline blocks in slate < v0.40
function getIsVoidValue(node, schema) {
var root = node.nodeClass === 'block' ? 'blocks' : 'inlines';
return lodash_get_1.default(schema, [root, node.nodeType, 'isVoid'], false);
}
function convertNode(node, schema) {
var nodes = [];

@@ -17,3 +24,5 @@ switch (node.nodeClass) {

var contentfulBlock = node;
var childNodes = lodash_flatmap_1.default(contentfulBlock.content, convertNode);
var childNodes = lodash_flatmap_1.default(contentfulBlock.content, function (childNode) {
return convertNode(childNode, schema);
});
var slateBlock = {

@@ -23,2 +32,3 @@ object: contentfulBlock.nodeClass,

nodes: childNodes,
isVoid: getIsVoidValue(contentfulBlock, schema),
data: contentfulBlock.data,

@@ -25,0 +35,0 @@ };

@@ -1,1 +0,1 @@

{"version":3,"file":"contentful-to-slatejs-adapter.js","sourceRoot":"","sources":["../../src/contentful-to-slatejs-adapter.ts"],"names":[],"mappings":";;AAAA,iDAAqC;AAKrC,2BAA0C,WAAgC;IACxE,OAAO;QACL,MAAM,EAAE,UAAU;QAClB,KAAK,EAAE,wBAAO,CAAC,WAAW,CAAC,OAAO,EAAE,UAAA,IAAI,IAAI,OAAA,WAAW,CAAC,IAAI,CAAC,EAAjB,CAAiB,CAAkB;KAChF,CAAC;AACJ,CAAC;AALD,oCAKC;AAED,qBAAqB,IAAoB;IACvC,IAAM,KAAK,GAAgB,EAAE,CAAC;IAC9B,QAAQ,IAAI,CAAC,SAAS,EAAE;QACtB,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ;YACX,IAAM,eAAe,GAAG,IAAwB,CAAC;YACjD,IAAM,UAAU,GAAG,wBAAO,CAAC,eAAe,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAEjE,IAAM,UAAU,GAAgB;gBAC9B,MAAM,EAAE,eAAe,CAAC,SAAS;gBACjC,IAAI,EAAE,eAAe,CAAC,QAAQ;gBAC9B,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE,eAAe,CAAC,IAAI;aAC3B,CAAC;YAEF,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACvB,MAAM;QACR,KAAK,MAAM;YACH,IAAA,SAAgD,EAA9C,gBAAK,EAAE,gBAAK,EAAE,cAAI,CAA6B;YAEvD,IAAM,SAAS,GAAe;gBAC5B,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE;oBACN;wBACE,MAAM,EAAE,MAAM;wBACd,IAAI,EAAE,KAAK;wBACX,KAAK,OAAA;qBACN;iBACF;gBACD,IAAI,MAAA;aACL,CAAC;YAEF,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,MAAM;QACR;YACE,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxB,MAAM;KACT;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,2BAA2B,MAAa;IACtC,MAAM,IAAI,KAAK,CAAC,kCAAgC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAG,CAAC,CAAC;AAC5E,CAAC"}
{"version":3,"file":"contentful-to-slatejs-adapter.js","sourceRoot":"","sources":["../../src/contentful-to-slatejs-adapter.ts"],"names":[],"mappings":";;AAAA,iDAAqC;AAErC,yCAA6B;AAkB7B,2BAA0C,EAGZ;QAF5B,sBAAQ,EACR,cAAW,EAAX,gCAAW;IAEX,OAAO;QACL,MAAM,EAAE,UAAU;QAClB,KAAK,EAAE,wBAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAA,IAAI,IAAI,OAAA,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,EAAzB,CAAyB,CAAkB;KACrF,CAAC;AACJ,CAAC;AARD,oCAQC;AAED,mEAAmE;AACnE,wBAAwB,IAA0C,EAAE,MAAc;IAChF,IAAM,IAAI,GAAG,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/D,OAAO,oBAAG,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,QAAkB,EAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;AACvE,CAAC;AAED,qBAAqB,IAAoB,EAAE,MAAc;IACvD,IAAM,KAAK,GAAgB,EAAE,CAAC;IAC9B,QAAQ,IAAI,CAAC,SAAS,EAAE;QACtB,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ;YACX,IAAM,eAAe,GAAG,IAAwB,CAAC;YACjD,IAAM,UAAU,GAAG,wBAAO,CAAC,eAAe,CAAC,OAAO,EAAE,UAAA,SAAS;gBAC3D,OAAA,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC;YAA9B,CAA8B,CAC/B,CAAC;YAEF,IAAM,UAAU,GAAgB;gBAC9B,MAAM,EAAE,eAAe,CAAC,SAAS;gBACjC,IAAI,EAAE,eAAe,CAAC,QAAQ;gBAC9B,KAAK,EAAE,UAAU;gBACjB,MAAM,EAAE,cAAc,CAAC,eAAe,EAAE,MAAM,CAAC;gBAC/C,IAAI,EAAE,eAAe,CAAC,IAAI;aAC3B,CAAC;YAEF,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACvB,MAAM;QACR,KAAK,MAAM;YACH,IAAA,SAAgD,EAA9C,gBAAK,EAAE,gBAAK,EAAE,cAAI,CAA6B;YAEvD,IAAM,SAAS,GAAe;gBAC5B,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE;oBACN;wBACE,MAAM,EAAE,MAAM;wBACd,IAAI,EAAE,KAAK;wBACX,KAAK,OAAA;qBACN;iBACF;gBACD,IAAI,MAAA;aACL,CAAC;YAEF,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,MAAM;QACR;YACE,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxB,MAAM;KACT;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,2BAA2B,MAAa;IACtC,MAAM,IAAI,KAAK,CAAC,kCAAgC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAG,CAAC,CAAC;AAC5E,CAAC"}
export declare function document(...nodes: Slate.Block[]): Slate.Document;
export declare function block(type: string, ...nodes: Array<Slate.Block | Slate.Inline | Slate.Text>): Slate.Block;
export declare function inline(type: string, ...nodes: Array<Slate.Inline | Slate.Text>): Slate.Inline;
export declare function block(type: string, isVoid: false, ...nodes: Array<Slate.Block | Slate.Inline | Slate.Text>): Slate.Block;
export declare function inline(type: string, isVoid: false, ...nodes: Array<Slate.Inline | Slate.Text>): Slate.Inline;
export declare function text(...leaves: Slate.TextLeaf[]): Slate.Text;
export declare function leaf(value: string, ...marks: Slate.Mark[]): Slate.TextLeaf;
export declare function mark(type: string): Slate.Mark;
import * as Contentful from '@contentful/structured-text-types';
export default function toSlatejsDocument(ctfDocument: Contentful.Document): Slate.Document;
export interface SchemaValue {
isVoid?: boolean;
[k: string]: any;
}
export interface Schema {
blocks?: Record<string, SchemaValue>;
inlines?: Record<string, SchemaValue>;
}
export interface ToSlatejsDocumentProperties {
document: Contentful.Document;
schema?: Schema;
}
export default function toSlatejsDocument({ document, schema, }: ToSlatejsDocumentProperties): Slate.Document;

@@ -6,2 +6,3 @@ declare namespace Slate {

data?: object;
isVoid?: boolean;
}

@@ -8,0 +9,0 @@ interface Document extends Node {

{
"name": "@contentful/contentful-slatejs-adapter",
"version": "2.1.0",
"version": "3.0.0",
"description": "",

@@ -86,2 +86,3 @@ "keywords": [],

"@types/lodash.flatmap": "^4.5.3",
"@types/lodash.get": "^4.4.4",
"@types/lodash.omit": "^4.5.3",

@@ -125,4 +126,5 @@ "@types/node": "^10.0.3",

"lodash.flatmap": "^4.5.0",
"lodash.get": "^4.4.2",
"lodash.omit": "^4.5.0"
}
}