@voiceflow/slate-serializer 1.5.5 → 1.6.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.
- package/build/cjs/serializers/jsx.cjs +13 -10
- package/build/cjs/serializers/jsx.cjs.map +1 -1
- package/build/cjs/serializers/jsx.d.ts +6 -3
- package/build/cjs/serializers/markdown.cjs +13 -12
- package/build/cjs/serializers/markdown.cjs.map +1 -1
- package/build/cjs/serializers/markdown.d.ts +8 -1
- package/build/cjs/serializers/text.cjs +3 -2
- package/build/cjs/serializers/text.cjs.map +1 -1
- package/build/cjs/serializers/text.d.ts +5 -1
- package/build/esm/serializers/jsx.d.ts +6 -3
- package/build/esm/serializers/jsx.mjs +13 -10
- package/build/esm/serializers/jsx.mjs.map +1 -1
- package/build/esm/serializers/markdown.d.ts +8 -1
- package/build/esm/serializers/markdown.mjs +11 -11
- package/build/esm/serializers/markdown.mjs.map +1 -1
- package/build/esm/serializers/text.d.ts +5 -1
- package/build/esm/serializers/text.mjs +3 -2
- package/build/esm/serializers/text.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -37,31 +37,34 @@ const serializeTextNode = (node, index) => {
|
|
|
37
37
|
};
|
|
38
38
|
const serializeLinkElement = (node, index, options) => {
|
|
39
39
|
var _a, _b, _c, _d;
|
|
40
|
-
const children = node.children.map(
|
|
40
|
+
const children = node.children.map((node, index) => serializeNode(node, index, options));
|
|
41
41
|
const styles = (0, selectors_1.getElementCSSProperties)(node);
|
|
42
|
-
const href = (_d = (_c = (_a = options
|
|
42
|
+
const href = (_d = (_c = (_a = options.transformHref) === null || _a === void 0 ? void 0 : _a.call(options, (_b = node.url) !== null && _b !== void 0 ? _b : '')) !== null && _c !== void 0 ? _c : node.url) !== null && _d !== void 0 ? _d : '';
|
|
43
43
|
return (react_1.default.createElement("a", { key: index, rel: "noopener noreferrer", href: href, target: "_blank", style: Object.assign(Object.assign({}, styles), { pointerEvents: 'all' }), onClick: (event) => {
|
|
44
44
|
var _a;
|
|
45
45
|
event.stopPropagation();
|
|
46
46
|
event.preventDefault();
|
|
47
|
-
if (href)
|
|
48
|
-
|
|
49
|
-
|
|
47
|
+
if (!href)
|
|
48
|
+
return;
|
|
49
|
+
(_a = window.open(href, '_blank', 'noopener=true,noreferrer=true')) === null || _a === void 0 ? void 0 : _a.focus();
|
|
50
50
|
} }, children));
|
|
51
51
|
};
|
|
52
|
-
const serializeVariableElement = (node, index) =>
|
|
52
|
+
const serializeVariableElement = (node, index, options) => {
|
|
53
|
+
var _a, _b;
|
|
54
|
+
return (react_1.default.createElement("span", { key: index }, `{${options.variablesMap ? (_b = (_a = options.variablesMap[node.id]) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : node.id : node.name}}`));
|
|
55
|
+
};
|
|
53
56
|
const serializeElementNode = (node, index, options) => {
|
|
54
57
|
if ((0, guards_1.isLinkElement)(node))
|
|
55
58
|
return serializeLinkElement(node, index, options);
|
|
56
59
|
if ((0, guards_1.isVariableElement)(node))
|
|
57
|
-
return serializeVariableElement(node, index);
|
|
58
|
-
const children = node.children.map(
|
|
60
|
+
return serializeVariableElement(node, index, options);
|
|
61
|
+
const children = node.children.map((node, index) => serializeNode(node, index, options));
|
|
59
62
|
const styles = (0, selectors_1.getElementCSSProperties)(node);
|
|
60
63
|
return (react_1.default.createElement("div", { key: index, style: styles }, children));
|
|
61
64
|
};
|
|
62
|
-
const
|
|
65
|
+
const serializeNode = (node, index, options) =>
|
|
63
66
|
// eslint-disable-next-line no-nested-ternary
|
|
64
67
|
Slate.Text.isText(node) ? serializeTextNode(node, index) : Slate.Element.isElement(node) ? serializeElementNode(node, index, options) : null;
|
|
65
|
-
const serializeToJSX = (content, options) => content.map(
|
|
68
|
+
const serializeToJSX = (content, options = {}) => content.map((node, index) => serializeNode(node, index, options));
|
|
66
69
|
exports.serializeToJSX = serializeToJSX;
|
|
67
70
|
//# sourceMappingURL=jsx.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsx.cjs","sourceRoot":"","sources":["../../../src/serializers/jsx.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,kDAA0B;AAC1B,6CAA+B;AAE/B,sCAA6D;AAC7D,4CAA6E;
|
|
1
|
+
{"version":3,"file":"jsx.cjs","sourceRoot":"","sources":["../../../src/serializers/jsx.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { BaseText } from '@voiceflow/base-types';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
interface
|
|
3
|
+
export interface JSXSerializerOptions {
|
|
4
|
+
variablesMap?: Partial<Record<string, {
|
|
5
|
+
id: string;
|
|
6
|
+
name: string;
|
|
7
|
+
}>>;
|
|
4
8
|
transformHref?: (href: string) => string;
|
|
5
9
|
}
|
|
6
|
-
export declare const serializeToJSX: (content: BaseText.SlateTextValue, options?:
|
|
7
|
-
export {};
|
|
10
|
+
export declare const serializeToJSX: (content: BaseText.SlateTextValue, options?: JSXSerializerOptions) => React.ReactNode;
|
|
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.serializeToMarkdown = void 0;
|
|
26
|
+
exports.serializeToMarkdown = exports.serializeVariableElement = void 0;
|
|
27
27
|
const base_types_1 = require("@voiceflow/base-types");
|
|
28
28
|
const Slate = __importStar(require("slate"));
|
|
29
29
|
const guards_1 = require("../guards.cjs");
|
|
@@ -51,24 +51,25 @@ const serializeTextNode = (node) => {
|
|
|
51
51
|
// Add the leading and trailing whitespaces back to the outside of the markers
|
|
52
52
|
return `${leadingWhitespace}${text}${trailingWhitespace}`;
|
|
53
53
|
};
|
|
54
|
-
const serializeLinkElement = (node) => {
|
|
54
|
+
const serializeLinkElement = (node, options) => {
|
|
55
55
|
var _a;
|
|
56
|
-
const children = node.children.map(
|
|
56
|
+
const children = node.children.map((node) => serializeNode(node, options));
|
|
57
57
|
return `[${children}](${(_a = node.url) === null || _a === void 0 ? void 0 : _a.replace(/\s+/g, '')})`;
|
|
58
58
|
};
|
|
59
|
-
const serializeVariableElement = (node) => `{${node.name}}`;
|
|
60
|
-
|
|
59
|
+
const serializeVariableElement = (node, options) => { var _a, _b; return `{${options.variablesMap ? (_b = (_a = options.variablesMap[node.id]) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : node.id : node.name}}`; };
|
|
60
|
+
exports.serializeVariableElement = serializeVariableElement;
|
|
61
|
+
const serializeElementNode = (node, options) => {
|
|
61
62
|
if ((0, guards_1.isLinkElement)(node))
|
|
62
|
-
return serializeLinkElement(node);
|
|
63
|
+
return serializeLinkElement(node, options);
|
|
63
64
|
if ((0, guards_1.isVariableElement)(node))
|
|
64
|
-
return serializeVariableElement(node);
|
|
65
|
-
return node.children.map(
|
|
65
|
+
return (0, exports.serializeVariableElement)(node, options);
|
|
66
|
+
return node.children.map((node) => serializeNode(node, options)).join('');
|
|
66
67
|
};
|
|
67
|
-
const
|
|
68
|
+
const serializeNode = (node, options) =>
|
|
68
69
|
// eslint-disable-next-line no-nested-ternary
|
|
69
|
-
Slate.Text.isText(node) ? serializeTextNode(node) : Slate.Element.isElement(node) ? serializeElementNode(node) : '';
|
|
70
|
-
const serializeToMarkdown = (content) => content
|
|
71
|
-
.map(
|
|
70
|
+
Slate.Text.isText(node) ? serializeTextNode(node) : Slate.Element.isElement(node) ? serializeElementNode(node, options) : '';
|
|
71
|
+
const serializeToMarkdown = (content, options = {}) => content
|
|
72
|
+
.map((node) => serializeNode(node, options))
|
|
72
73
|
.join('\n')
|
|
73
74
|
.replace(/\n{3,}/g, (match) => `\n${'<br/>'.repeat(match.length - 2)}\n\n`);
|
|
74
75
|
exports.serializeToMarkdown = serializeToMarkdown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.cjs","sourceRoot":"","sources":["../../../src/serializers/markdown.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAAuD;AACvD,6CAA+B;AAE/B,sCAA6D;
|
|
1
|
+
{"version":3,"file":"markdown.cjs","sourceRoot":"","sources":["../../../src/serializers/markdown.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,9 @@
|
|
|
1
1
|
import { BaseText } from '@voiceflow/base-types';
|
|
2
|
-
export
|
|
2
|
+
export interface MarkdownSerializerOptions {
|
|
3
|
+
variablesMap?: Partial<Record<string, {
|
|
4
|
+
id: string;
|
|
5
|
+
name: string;
|
|
6
|
+
}>>;
|
|
7
|
+
}
|
|
8
|
+
export declare const serializeVariableElement: (node: BaseText.VariableElement, options: MarkdownSerializerOptions) => string;
|
|
9
|
+
export declare const serializeToMarkdown: (content: BaseText.SlateTextValue, options?: MarkdownSerializerOptions) => string;
|
|
@@ -27,15 +27,16 @@ exports.serializeToText = void 0;
|
|
|
27
27
|
const Slate = __importStar(require("slate"));
|
|
28
28
|
const guards_1 = require("../guards.cjs");
|
|
29
29
|
const nodeToString = (node, options) => {
|
|
30
|
+
var _a, _b;
|
|
30
31
|
if (!Slate.Element.isElement(node))
|
|
31
32
|
return Slate.Node.string(node);
|
|
32
33
|
if ((0, guards_1.isLinkElement)(node) && options.markdownLinks)
|
|
33
34
|
return `[${(0, exports.serializeToText)(node.children)}](${node.url})`;
|
|
34
35
|
if ((0, guards_1.isVariableElement)(node) && options.encodeVariables)
|
|
35
|
-
return `{${node.name}}`;
|
|
36
|
+
return `{${options.variablesMap ? (_b = (_a = options.variablesMap[node.id]) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : node.id : node.name}}`;
|
|
36
37
|
return nodesToString(node.children, options).join('');
|
|
37
38
|
};
|
|
38
39
|
const nodesToString = (nodes, options) => nodes.map((node) => nodeToString(node, options));
|
|
39
|
-
const serializeToText = (content, {
|
|
40
|
+
const serializeToText = (content, { variablesMap = {}, markdownLinks = false, encodeVariables = true } = {}) => nodesToString(content, { variablesMap, markdownLinks, encodeVariables }).join('\n').trim();
|
|
40
41
|
exports.serializeToText = serializeToText;
|
|
41
42
|
//# sourceMappingURL=text.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text.cjs","sourceRoot":"","sources":["../../../src/serializers/text.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,6CAA+B;AAE/B,sCAA6D;
|
|
1
|
+
{"version":3,"file":"text.cjs","sourceRoot":"","sources":["../../../src/serializers/text.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,6CAA+B;AAE/B,sCAA6D;AAQ7D,MAAM,YAAY,GAAG,CAAC,IAAyB,EAAE,OAA8B,EAAU,EAAE;;IACzF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEnE,IAAI,IAAA,sBAAa,EAAC,IAAI,CAAC,IAAI,OAAO,CAAC,aAAa;QAAE,OAAO,IAAI,IAAA,uBAAe,EAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC;IAE5G,IAAI,IAAA,0BAAiB,EAAC,IAAI,CAAC,IAAI,OAAO,CAAC,eAAe;QACpD,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,MAAA,MAAA,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,0CAAE,IAAI,mCAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;IAElG,OAAO,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxD,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,KAA4B,EAAE,OAA8B,EAAY,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AAE5I,MAAM,eAAe,GAAG,CAC7B,OAAgC,EAChC,EAAE,YAAY,GAAG,EAAE,EAAE,aAAa,GAAG,KAAK,EAAE,eAAe,GAAG,IAAI,KAA4B,EAAE,EACxF,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AAH3F,QAAA,eAAe,mBAG4E"}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { BaseText } from '@voiceflow/base-types';
|
|
2
2
|
export interface TextSerializerOptions {
|
|
3
|
+
variablesMap?: Partial<Record<string, {
|
|
4
|
+
id: string;
|
|
5
|
+
name: string;
|
|
6
|
+
}>>;
|
|
3
7
|
markdownLinks?: boolean;
|
|
4
8
|
encodeVariables?: boolean;
|
|
5
9
|
}
|
|
6
|
-
export declare const serializeToText: (content: BaseText.SlateTextValue, {
|
|
10
|
+
export declare const serializeToText: (content: BaseText.SlateTextValue, { variablesMap, markdownLinks, encodeVariables }?: TextSerializerOptions) => string;
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { BaseText } from '@voiceflow/base-types';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
interface
|
|
3
|
+
export interface JSXSerializerOptions {
|
|
4
|
+
variablesMap?: Partial<Record<string, {
|
|
5
|
+
id: string;
|
|
6
|
+
name: string;
|
|
7
|
+
}>>;
|
|
4
8
|
transformHref?: (href: string) => string;
|
|
5
9
|
}
|
|
6
|
-
export declare const serializeToJSX: (content: BaseText.SlateTextValue, options?:
|
|
7
|
-
export {};
|
|
10
|
+
export declare const serializeToJSX: (content: BaseText.SlateTextValue, options?: JSXSerializerOptions) => React.ReactNode;
|
|
@@ -8,30 +8,33 @@ const serializeTextNode = (node, index) => {
|
|
|
8
8
|
};
|
|
9
9
|
const serializeLinkElement = (node, index, options) => {
|
|
10
10
|
var _a, _b, _c, _d;
|
|
11
|
-
const children = node.children.map(
|
|
11
|
+
const children = node.children.map((node, index) => serializeNode(node, index, options));
|
|
12
12
|
const styles = getElementCSSProperties(node);
|
|
13
|
-
const href = (_d = (_c = (_a = options
|
|
13
|
+
const href = (_d = (_c = (_a = options.transformHref) === null || _a === void 0 ? void 0 : _a.call(options, (_b = node.url) !== null && _b !== void 0 ? _b : '')) !== null && _c !== void 0 ? _c : node.url) !== null && _d !== void 0 ? _d : '';
|
|
14
14
|
return (React.createElement("a", { key: index, rel: "noopener noreferrer", href: href, target: "_blank", style: Object.assign(Object.assign({}, styles), { pointerEvents: 'all' }), onClick: (event) => {
|
|
15
15
|
var _a;
|
|
16
16
|
event.stopPropagation();
|
|
17
17
|
event.preventDefault();
|
|
18
|
-
if (href)
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
if (!href)
|
|
19
|
+
return;
|
|
20
|
+
(_a = window.open(href, '_blank', 'noopener=true,noreferrer=true')) === null || _a === void 0 ? void 0 : _a.focus();
|
|
21
21
|
} }, children));
|
|
22
22
|
};
|
|
23
|
-
const serializeVariableElement = (node, index) =>
|
|
23
|
+
const serializeVariableElement = (node, index, options) => {
|
|
24
|
+
var _a, _b;
|
|
25
|
+
return (React.createElement("span", { key: index }, `{${options.variablesMap ? (_b = (_a = options.variablesMap[node.id]) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : node.id : node.name}}`));
|
|
26
|
+
};
|
|
24
27
|
const serializeElementNode = (node, index, options) => {
|
|
25
28
|
if (isLinkElement(node))
|
|
26
29
|
return serializeLinkElement(node, index, options);
|
|
27
30
|
if (isVariableElement(node))
|
|
28
|
-
return serializeVariableElement(node, index);
|
|
29
|
-
const children = node.children.map(
|
|
31
|
+
return serializeVariableElement(node, index, options);
|
|
32
|
+
const children = node.children.map((node, index) => serializeNode(node, index, options));
|
|
30
33
|
const styles = getElementCSSProperties(node);
|
|
31
34
|
return (React.createElement("div", { key: index, style: styles }, children));
|
|
32
35
|
};
|
|
33
|
-
const
|
|
36
|
+
const serializeNode = (node, index, options) =>
|
|
34
37
|
// eslint-disable-next-line no-nested-ternary
|
|
35
38
|
Slate.Text.isText(node) ? serializeTextNode(node, index) : Slate.Element.isElement(node) ? serializeElementNode(node, index, options) : null;
|
|
36
|
-
export const serializeToJSX = (content, options) => content.map(
|
|
39
|
+
export const serializeToJSX = (content, options = {}) => content.map((node, index) => serializeNode(node, index, options));
|
|
37
40
|
//# sourceMappingURL=jsx.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsx.mjs","sourceRoot":"","sources":["../../../src/serializers/jsx.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"jsx.mjs","sourceRoot":"","sources":["../../../src/serializers/jsx.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,9 @@
|
|
|
1
1
|
import { BaseText } from '@voiceflow/base-types';
|
|
2
|
-
export
|
|
2
|
+
export interface MarkdownSerializerOptions {
|
|
3
|
+
variablesMap?: Partial<Record<string, {
|
|
4
|
+
id: string;
|
|
5
|
+
name: string;
|
|
6
|
+
}>>;
|
|
7
|
+
}
|
|
8
|
+
export declare const serializeVariableElement: (node: BaseText.VariableElement, options: MarkdownSerializerOptions) => string;
|
|
9
|
+
export declare const serializeToMarkdown: (content: BaseText.SlateTextValue, options?: MarkdownSerializerOptions) => string;
|
|
@@ -25,24 +25,24 @@ const serializeTextNode = (node) => {
|
|
|
25
25
|
// Add the leading and trailing whitespaces back to the outside of the markers
|
|
26
26
|
return `${leadingWhitespace}${text}${trailingWhitespace}`;
|
|
27
27
|
};
|
|
28
|
-
const serializeLinkElement = (node) => {
|
|
28
|
+
const serializeLinkElement = (node, options) => {
|
|
29
29
|
var _a;
|
|
30
|
-
const children = node.children.map(
|
|
30
|
+
const children = node.children.map((node) => serializeNode(node, options));
|
|
31
31
|
return `[${children}](${(_a = node.url) === null || _a === void 0 ? void 0 : _a.replace(/\s+/g, '')})`;
|
|
32
32
|
};
|
|
33
|
-
const serializeVariableElement = (node) => `{${node.name}}`;
|
|
34
|
-
const serializeElementNode = (node) => {
|
|
33
|
+
export const serializeVariableElement = (node, options) => { var _a, _b; return `{${options.variablesMap ? (_b = (_a = options.variablesMap[node.id]) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : node.id : node.name}}`; };
|
|
34
|
+
const serializeElementNode = (node, options) => {
|
|
35
35
|
if (isLinkElement(node))
|
|
36
|
-
return serializeLinkElement(node);
|
|
36
|
+
return serializeLinkElement(node, options);
|
|
37
37
|
if (isVariableElement(node))
|
|
38
|
-
return serializeVariableElement(node);
|
|
39
|
-
return node.children.map(
|
|
38
|
+
return serializeVariableElement(node, options);
|
|
39
|
+
return node.children.map((node) => serializeNode(node, options)).join('');
|
|
40
40
|
};
|
|
41
|
-
const
|
|
41
|
+
const serializeNode = (node, options) =>
|
|
42
42
|
// eslint-disable-next-line no-nested-ternary
|
|
43
|
-
Slate.Text.isText(node) ? serializeTextNode(node) : Slate.Element.isElement(node) ? serializeElementNode(node) : '';
|
|
44
|
-
export const serializeToMarkdown = (content) => content
|
|
45
|
-
.map(
|
|
43
|
+
Slate.Text.isText(node) ? serializeTextNode(node) : Slate.Element.isElement(node) ? serializeElementNode(node, options) : '';
|
|
44
|
+
export const serializeToMarkdown = (content, options = {}) => content
|
|
45
|
+
.map((node) => serializeNode(node, options))
|
|
46
46
|
.join('\n')
|
|
47
47
|
.replace(/\n{3,}/g, (match) => `\n${'<br/>'.repeat(match.length - 2)}\n\n`);
|
|
48
48
|
//# sourceMappingURL=markdown.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.mjs","sourceRoot":"","sources":["../../../src/serializers/markdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,IAAI,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"markdown.mjs","sourceRoot":"","sources":["../../../src/serializers/markdown.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { BaseText } from '@voiceflow/base-types';
|
|
2
2
|
export interface TextSerializerOptions {
|
|
3
|
+
variablesMap?: Partial<Record<string, {
|
|
4
|
+
id: string;
|
|
5
|
+
name: string;
|
|
6
|
+
}>>;
|
|
3
7
|
markdownLinks?: boolean;
|
|
4
8
|
encodeVariables?: boolean;
|
|
5
9
|
}
|
|
6
|
-
export declare const serializeToText: (content: BaseText.SlateTextValue, {
|
|
10
|
+
export declare const serializeToText: (content: BaseText.SlateTextValue, { variablesMap, markdownLinks, encodeVariables }?: TextSerializerOptions) => string;
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import * as Slate from 'slate';
|
|
2
2
|
import { isLinkElement, isVariableElement } from '../guards.mjs';
|
|
3
3
|
const nodeToString = (node, options) => {
|
|
4
|
+
var _a, _b;
|
|
4
5
|
if (!Slate.Element.isElement(node))
|
|
5
6
|
return Slate.Node.string(node);
|
|
6
7
|
if (isLinkElement(node) && options.markdownLinks)
|
|
7
8
|
return `[${serializeToText(node.children)}](${node.url})`;
|
|
8
9
|
if (isVariableElement(node) && options.encodeVariables)
|
|
9
|
-
return `{${node.name}}`;
|
|
10
|
+
return `{${options.variablesMap ? (_b = (_a = options.variablesMap[node.id]) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : node.id : node.name}}`;
|
|
10
11
|
return nodesToString(node.children, options).join('');
|
|
11
12
|
};
|
|
12
13
|
const nodesToString = (nodes, options) => nodes.map((node) => nodeToString(node, options));
|
|
13
|
-
export const serializeToText = (content, {
|
|
14
|
+
export const serializeToText = (content, { variablesMap = {}, markdownLinks = false, encodeVariables = true } = {}) => nodesToString(content, { variablesMap, markdownLinks, encodeVariables }).join('\n').trim();
|
|
14
15
|
//# sourceMappingURL=text.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text.mjs","sourceRoot":"","sources":["../../../src/serializers/text.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"text.mjs","sourceRoot":"","sources":["../../../src/serializers/text.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAQ7D,MAAM,YAAY,GAAG,CAAC,IAAyB,EAAE,OAA8B,EAAU,EAAE;;IACzF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEnE,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,aAAa;QAAE,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC;IAE5G,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,eAAe;QACpD,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,MAAA,MAAA,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,0CAAE,IAAI,mCAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;IAElG,OAAO,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxD,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,KAA4B,EAAE,OAA8B,EAAY,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AAEnJ,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,OAAgC,EAChC,EAAE,YAAY,GAAG,EAAE,EAAE,aAAa,GAAG,KAAK,EAAE,eAAe,GAAG,IAAI,KAA4B,EAAE,EACxF,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC"}
|
package/package.json
CHANGED