@player-ui/markdown-plugin 0.8.0--canary.307.9621 → 0.8.0-next.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/dist/MarkdownPlugin.native.js +18356 -0
- package/dist/MarkdownPlugin.native.js.map +1 -0
- package/dist/{index.esm.js → cjs/index.cjs} +93 -78
- package/dist/cjs/index.cjs.map +1 -0
- package/dist/{index.cjs.js → index.legacy-esm.js} +69 -83
- package/dist/index.mjs +300 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +27 -60
- package/src/__tests__/helpers/index.ts +159 -0
- package/src/__tests__/index.test.ts +464 -0
- package/src/index.ts +8 -8
- package/src/types.ts +4 -4
- package/src/utils/index.ts +2 -2
- package/src/utils/markdownParser.ts +7 -7
- package/src/utils/transformers.ts +14 -14
- package/types/index.d.ts +13 -0
- package/{dist/index.d.ts → types/types.d.ts} +8 -21
- package/types/utils/index.d.ts +3 -0
- package/types/utils/markdownParser.d.ts +23 -0
- package/types/utils/transformers.d.ts +3 -0
- package/dist/markdown-plugin.dev.js +0 -25640
- package/dist/markdown-plugin.prod.js +0 -2
|
@@ -1,36 +1,46 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
var
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
if (__propIsEnum$1.call(b, prop))
|
|
18
|
-
__defNormalProp$1(a, prop, b[prop]);
|
|
19
|
-
}
|
|
20
|
-
return a;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
21
17
|
};
|
|
22
|
-
var
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// ../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/plugins/markdown/core/src/index.ts
|
|
21
|
+
var src_exports = {};
|
|
22
|
+
__export(src_exports, {
|
|
23
|
+
MarkdownPlugin: () => MarkdownPlugin
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(src_exports);
|
|
26
|
+
var import_player2 = require("@player-ui/player");
|
|
27
|
+
|
|
28
|
+
// ../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/plugins/markdown/core/src/utils/markdownParser.ts
|
|
29
|
+
var import_player = require("@player-ui/player");
|
|
30
|
+
var import_mdast_util_from_markdown = require("mdast-util-from-markdown");
|
|
31
|
+
|
|
32
|
+
// ../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/plugins/markdown/core/src/utils/transformers.ts
|
|
23
33
|
function swapMarkdownType(asset) {
|
|
24
|
-
return
|
|
34
|
+
return { ...asset, type: "text" };
|
|
25
35
|
}
|
|
26
|
-
|
|
36
|
+
var textTransformer = ({ astNode, asset, mappers }) => {
|
|
27
37
|
const { value } = astNode;
|
|
28
38
|
return mappers.text({
|
|
29
39
|
originalAsset: asset,
|
|
30
40
|
value
|
|
31
41
|
});
|
|
32
42
|
};
|
|
33
|
-
|
|
43
|
+
var emphasisTransformer = ({
|
|
34
44
|
astNode,
|
|
35
45
|
asset,
|
|
36
46
|
mappers,
|
|
@@ -38,7 +48,9 @@ const emphasisTransformer = ({
|
|
|
38
48
|
}) => {
|
|
39
49
|
if (mappers.emphasis) {
|
|
40
50
|
const { children } = astNode;
|
|
41
|
-
const value = children.map(
|
|
51
|
+
const value = children.map(
|
|
52
|
+
(node) => transformers2[node.type]({ astNode: node, asset, mappers, transformers: transformers2 })
|
|
53
|
+
);
|
|
42
54
|
return mappers.emphasis({
|
|
43
55
|
originalAsset: asset,
|
|
44
56
|
value
|
|
@@ -46,7 +58,7 @@ const emphasisTransformer = ({
|
|
|
46
58
|
}
|
|
47
59
|
return swapMarkdownType(asset);
|
|
48
60
|
};
|
|
49
|
-
|
|
61
|
+
var strongTransformer = ({
|
|
50
62
|
astNode,
|
|
51
63
|
asset,
|
|
52
64
|
mappers,
|
|
@@ -54,7 +66,9 @@ const strongTransformer = ({
|
|
|
54
66
|
}) => {
|
|
55
67
|
if (mappers.strong) {
|
|
56
68
|
const { children } = astNode;
|
|
57
|
-
const value = children.map(
|
|
69
|
+
const value = children.map(
|
|
70
|
+
(node) => transformers2[node.type]({ astNode: node, asset, mappers, transformers: transformers2 })
|
|
71
|
+
);
|
|
58
72
|
return mappers.strong({
|
|
59
73
|
originalAsset: asset,
|
|
60
74
|
value
|
|
@@ -62,7 +76,7 @@ const strongTransformer = ({
|
|
|
62
76
|
}
|
|
63
77
|
return swapMarkdownType(asset);
|
|
64
78
|
};
|
|
65
|
-
|
|
79
|
+
var paragraphTransformer = ({
|
|
66
80
|
astNode,
|
|
67
81
|
asset,
|
|
68
82
|
mappers,
|
|
@@ -70,7 +84,9 @@ const paragraphTransformer = ({
|
|
|
70
84
|
}) => {
|
|
71
85
|
const { children } = astNode;
|
|
72
86
|
if (children.every(({ type }) => Boolean(mappers[type]))) {
|
|
73
|
-
const value = children.map(
|
|
87
|
+
const value = children.map(
|
|
88
|
+
(node) => transformers2[node.type]({ astNode: node, asset, mappers, transformers: transformers2 })
|
|
89
|
+
);
|
|
74
90
|
return mappers.paragraph({
|
|
75
91
|
originalAsset: asset,
|
|
76
92
|
value
|
|
@@ -78,7 +94,7 @@ const paragraphTransformer = ({
|
|
|
78
94
|
}
|
|
79
95
|
return swapMarkdownType(asset);
|
|
80
96
|
};
|
|
81
|
-
|
|
97
|
+
var listTransformer = ({
|
|
82
98
|
astNode,
|
|
83
99
|
asset,
|
|
84
100
|
mappers,
|
|
@@ -86,7 +102,9 @@ const listTransformer = ({
|
|
|
86
102
|
}) => {
|
|
87
103
|
if (mappers.list) {
|
|
88
104
|
const { children, ordered, start } = astNode;
|
|
89
|
-
const value = children.map(
|
|
105
|
+
const value = children.map(
|
|
106
|
+
(node) => transformers2[node.type]({ astNode: node, asset, mappers, transformers: transformers2 })
|
|
107
|
+
);
|
|
90
108
|
return mappers.list({
|
|
91
109
|
originalAsset: asset,
|
|
92
110
|
value,
|
|
@@ -96,21 +114,23 @@ const listTransformer = ({
|
|
|
96
114
|
}
|
|
97
115
|
return swapMarkdownType(asset);
|
|
98
116
|
};
|
|
99
|
-
|
|
117
|
+
var listItemTransformer = ({
|
|
100
118
|
astNode,
|
|
101
119
|
asset,
|
|
102
120
|
mappers,
|
|
103
121
|
transformers: transformers2
|
|
104
122
|
}) => {
|
|
105
123
|
const { children } = astNode;
|
|
106
|
-
const value = children.map(
|
|
124
|
+
const value = children.map(
|
|
125
|
+
(node) => transformers2[node.type]({ astNode: node, asset, mappers, transformers: transformers2 })
|
|
126
|
+
);
|
|
107
127
|
const mapper = mappers.listItem || mappers.paragraph;
|
|
108
128
|
return mapper({
|
|
109
129
|
originalAsset: asset,
|
|
110
130
|
value
|
|
111
131
|
});
|
|
112
132
|
};
|
|
113
|
-
|
|
133
|
+
var linkTransformer = ({
|
|
114
134
|
astNode,
|
|
115
135
|
asset,
|
|
116
136
|
mappers,
|
|
@@ -118,7 +138,9 @@ const linkTransformer = ({
|
|
|
118
138
|
}) => {
|
|
119
139
|
if (mappers.link) {
|
|
120
140
|
const { children, url } = astNode;
|
|
121
|
-
const value = children.map(
|
|
141
|
+
const value = children.map(
|
|
142
|
+
(node) => transformers2[node.type]({ astNode: node, asset, mappers, transformers: transformers2 })
|
|
143
|
+
);
|
|
122
144
|
return mappers.link({
|
|
123
145
|
originalAsset: asset,
|
|
124
146
|
href: url,
|
|
@@ -127,7 +149,7 @@ const linkTransformer = ({
|
|
|
127
149
|
}
|
|
128
150
|
return swapMarkdownType(asset);
|
|
129
151
|
};
|
|
130
|
-
|
|
152
|
+
var imageTransformer = ({ astNode, asset, mappers }) => {
|
|
131
153
|
if (mappers.image) {
|
|
132
154
|
const { title, url, alt } = astNode;
|
|
133
155
|
return mappers.image({
|
|
@@ -138,7 +160,7 @@ const imageTransformer = ({ astNode, asset, mappers }) => {
|
|
|
138
160
|
}
|
|
139
161
|
return swapMarkdownType(asset);
|
|
140
162
|
};
|
|
141
|
-
|
|
163
|
+
var blockquoteTransformer = ({
|
|
142
164
|
astNode,
|
|
143
165
|
asset,
|
|
144
166
|
mappers,
|
|
@@ -146,7 +168,9 @@ const blockquoteTransformer = ({
|
|
|
146
168
|
}) => {
|
|
147
169
|
if (mappers.blockquote) {
|
|
148
170
|
const { children } = astNode;
|
|
149
|
-
const value = children.map(
|
|
171
|
+
const value = children.map(
|
|
172
|
+
(node) => transformers2[node.type]({ astNode: node, asset, mappers, transformers: transformers2 })
|
|
173
|
+
);
|
|
150
174
|
return mappers.blockquote({
|
|
151
175
|
originalAsset: asset,
|
|
152
176
|
value
|
|
@@ -154,7 +178,7 @@ const blockquoteTransformer = ({
|
|
|
154
178
|
}
|
|
155
179
|
return swapMarkdownType(asset);
|
|
156
180
|
};
|
|
157
|
-
|
|
181
|
+
var inlineCodeTransformer = ({
|
|
158
182
|
astNode,
|
|
159
183
|
asset,
|
|
160
184
|
mappers
|
|
@@ -168,7 +192,7 @@ const inlineCodeTransformer = ({
|
|
|
168
192
|
}
|
|
169
193
|
return swapMarkdownType(asset);
|
|
170
194
|
};
|
|
171
|
-
|
|
195
|
+
var codeTransformer = ({ astNode, asset, mappers }) => {
|
|
172
196
|
if (mappers.code) {
|
|
173
197
|
const { value, lang } = astNode;
|
|
174
198
|
return mappers.code({
|
|
@@ -179,7 +203,7 @@ const codeTransformer = ({ astNode, asset, mappers }) => {
|
|
|
179
203
|
}
|
|
180
204
|
return swapMarkdownType(asset);
|
|
181
205
|
};
|
|
182
|
-
|
|
206
|
+
var horizontalRuleTransformer = ({
|
|
183
207
|
asset,
|
|
184
208
|
mappers
|
|
185
209
|
}) => {
|
|
@@ -191,7 +215,7 @@ const horizontalRuleTransformer = ({
|
|
|
191
215
|
}
|
|
192
216
|
return swapMarkdownType(asset);
|
|
193
217
|
};
|
|
194
|
-
|
|
218
|
+
var headingTransformer = ({
|
|
195
219
|
astNode,
|
|
196
220
|
asset,
|
|
197
221
|
mappers,
|
|
@@ -199,7 +223,9 @@ const headingTransformer = ({
|
|
|
199
223
|
}) => {
|
|
200
224
|
if (mappers.heading) {
|
|
201
225
|
const { children, depth } = astNode;
|
|
202
|
-
const value = children.map(
|
|
226
|
+
const value = children.map(
|
|
227
|
+
(node) => transformers2[node.type]({ astNode: node, asset, mappers, transformers: transformers2 })
|
|
228
|
+
);
|
|
203
229
|
return mappers.heading({
|
|
204
230
|
originalAsset: asset,
|
|
205
231
|
value,
|
|
@@ -208,7 +234,7 @@ const headingTransformer = ({
|
|
|
208
234
|
}
|
|
209
235
|
return swapMarkdownType(asset);
|
|
210
236
|
};
|
|
211
|
-
|
|
237
|
+
var transformers = {
|
|
212
238
|
horizontalRule: horizontalRuleTransformer,
|
|
213
239
|
text: textTransformer,
|
|
214
240
|
emphasis: emphasisTransformer,
|
|
@@ -224,12 +250,13 @@ const transformers = {
|
|
|
224
250
|
inlineCode: inlineCodeTransformer
|
|
225
251
|
};
|
|
226
252
|
|
|
253
|
+
// ../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/plugins/markdown/core/src/utils/markdownParser.ts
|
|
227
254
|
function parseAssetMarkdownContent({
|
|
228
255
|
asset,
|
|
229
256
|
mappers,
|
|
230
257
|
parser
|
|
231
258
|
}) {
|
|
232
|
-
const { children } = fromMarkdown(asset.value);
|
|
259
|
+
const { children } = (0, import_mdast_util_from_markdown.fromMarkdown)(asset.value);
|
|
233
260
|
const isMultiParagraph = children.length > 1;
|
|
234
261
|
if (isMultiParagraph) {
|
|
235
262
|
const value = children.map((node) => {
|
|
@@ -245,7 +272,7 @@ function parseAssetMarkdownContent({
|
|
|
245
272
|
originalAsset: asset,
|
|
246
273
|
value
|
|
247
274
|
});
|
|
248
|
-
return
|
|
275
|
+
return parser?.(collection, import_player.NodeType.Asset) || null;
|
|
249
276
|
}
|
|
250
277
|
const transformer = transformers[children[0].type];
|
|
251
278
|
const content = transformer({
|
|
@@ -254,29 +281,11 @@ function parseAssetMarkdownContent({
|
|
|
254
281
|
mappers,
|
|
255
282
|
transformers
|
|
256
283
|
});
|
|
257
|
-
return
|
|
284
|
+
return parser?.(content, import_player.NodeType.Asset) || null;
|
|
258
285
|
}
|
|
259
286
|
|
|
260
|
-
|
|
261
|
-
var
|
|
262
|
-
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
263
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
264
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
265
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
266
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
267
|
-
var __spreadValues = (a, b) => {
|
|
268
|
-
for (var prop in b || (b = {}))
|
|
269
|
-
if (__hasOwnProp.call(b, prop))
|
|
270
|
-
__defNormalProp(a, prop, b[prop]);
|
|
271
|
-
if (__getOwnPropSymbols)
|
|
272
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
273
|
-
if (__propIsEnum.call(b, prop))
|
|
274
|
-
__defNormalProp(a, prop, b[prop]);
|
|
275
|
-
}
|
|
276
|
-
return a;
|
|
277
|
-
};
|
|
278
|
-
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
279
|
-
class MarkdownPlugin {
|
|
287
|
+
// ../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/plugins/markdown/core/src/index.ts
|
|
288
|
+
var MarkdownPlugin = class {
|
|
280
289
|
constructor(mappers) {
|
|
281
290
|
this.name = "MarkdownPlugin";
|
|
282
291
|
this.mappers = mappers;
|
|
@@ -285,15 +294,19 @@ class MarkdownPlugin {
|
|
|
285
294
|
player.hooks.view.tap(this.name, (view) => {
|
|
286
295
|
view.hooks.resolver.tap(this.name, (resolver) => {
|
|
287
296
|
resolver.hooks.beforeResolve.tap(this.name, (node, options) => {
|
|
288
|
-
if (
|
|
289
|
-
const resolvedContent =
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
297
|
+
if (node?.type === import_player2.NodeType.Asset && node.value.type === "markdown") {
|
|
298
|
+
const resolvedContent = (0, import_player2.resolveDataRefsInString)(
|
|
299
|
+
node.value.value,
|
|
300
|
+
{
|
|
301
|
+
evaluate: options.evaluate,
|
|
302
|
+
model: options.data.model
|
|
303
|
+
}
|
|
304
|
+
);
|
|
293
305
|
const parsed = parseAssetMarkdownContent({
|
|
294
|
-
asset:
|
|
306
|
+
asset: {
|
|
307
|
+
...node.value,
|
|
295
308
|
value: resolvedContent
|
|
296
|
-
}
|
|
309
|
+
},
|
|
297
310
|
mappers: this.mappers,
|
|
298
311
|
parser: options.parseNode
|
|
299
312
|
});
|
|
@@ -304,7 +317,9 @@ class MarkdownPlugin {
|
|
|
304
317
|
});
|
|
305
318
|
});
|
|
306
319
|
}
|
|
307
|
-
}
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
320
|
+
};
|
|
321
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
322
|
+
0 && (module.exports = {
|
|
323
|
+
MarkdownPlugin
|
|
324
|
+
});
|
|
325
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/plugins/markdown/core/src/index.ts","../../../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/plugins/markdown/core/src/utils/markdownParser.ts","../../../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/plugins/markdown/core/src/utils/transformers.ts"],"sourcesContent":["import type { Player, PlayerPlugin } from \"@player-ui/player\";\nimport { resolveDataRefsInString, NodeType } from \"@player-ui/player\";\nimport type { Mappers } from \"./types\";\nimport { parseAssetMarkdownContent } from \"./utils\";\n\nexport * from \"./types\";\n\n/**\n * A plugin that parses markdown written into text assets using the given converters for markdown features into existing assets.\n */\nexport class MarkdownPlugin implements PlayerPlugin {\n name = \"MarkdownPlugin\";\n\n private mappers: Mappers;\n\n constructor(mappers: Mappers) {\n this.mappers = mappers;\n }\n\n apply(player: Player) {\n player.hooks.view.tap(this.name, (view) => {\n view.hooks.resolver.tap(this.name, (resolver) => {\n resolver.hooks.beforeResolve.tap(this.name, (node, options) => {\n if (node?.type === NodeType.Asset && node.value.type === \"markdown\") {\n const resolvedContent = resolveDataRefsInString(\n node.value.value as string,\n {\n evaluate: options.evaluate,\n model: options.data.model,\n },\n );\n\n const parsed = parseAssetMarkdownContent({\n asset: {\n ...node.value,\n value: resolvedContent,\n },\n mappers: this.mappers,\n parser: options.parseNode,\n });\n\n return parsed;\n }\n\n return node;\n });\n });\n });\n }\n}\n","import type { Node, ParseObjectOptions } from \"@player-ui/player\";\nimport { NodeType } from \"@player-ui/player\";\nimport type { Asset } from \"@player-ui/types\";\nimport { fromMarkdown } from \"mdast-util-from-markdown\";\nimport type { Mappers } from \"../types\";\nimport { transformers } from \"./transformers\";\n\n/**\n * Parses markdown content using a provided mappers record.\n */\nexport function parseAssetMarkdownContent({\n asset,\n mappers,\n parser,\n}: {\n /**\n * Asset to be parsed\n */\n asset: Asset;\n /**\n * Mappers record of AST Node to Player Content\n *\n * @see {@link Mappers}\n */\n mappers: Mappers;\n /**\n * Parser object to AST\n */\n parser?: (\n obj: object,\n type?: Node.ChildrenTypes,\n options?: ParseObjectOptions,\n ) => Node.Node | null;\n}): Node.Node | null {\n const { children } = fromMarkdown(asset.value as string);\n const isMultiParagraph = children.length > 1;\n\n if (isMultiParagraph) {\n const value = children.map((node) => {\n const transformer = transformers[node.type as keyof typeof transformers];\n return transformer({\n astNode: node as any,\n asset,\n mappers,\n transformers,\n });\n });\n\n const collection = mappers.collection({\n originalAsset: asset,\n value,\n });\n\n return parser?.(collection, NodeType.Asset) || null;\n }\n\n const transformer =\n transformers[children[0].type as keyof typeof transformers];\n const content = transformer({\n astNode: children[0] as any,\n asset,\n mappers,\n transformers,\n });\n\n return parser?.(content, NodeType.Asset) || null;\n}\n","import type { Asset } from \"@player-ui/types\";\nimport type {\n Blockquote,\n Code,\n Emphasis,\n Heading,\n Image,\n InlineCode,\n Link,\n List,\n ListItem,\n Paragraph,\n Strong,\n Text,\n ThematicBreak,\n} from \"mdast-util-from-markdown/lib\";\nimport type { Transformer } from \"../types\";\n\n/**\n * Swap markdown type to text\n */\nfunction swapMarkdownType(asset: Asset): Asset {\n return { ...asset, type: \"text\" };\n}\n\n/**\n * Transforms Text AST Node into Player Content\n */\nconst textTransformer: Transformer<Text> = ({ astNode, asset, mappers }) => {\n const { value } = astNode;\n\n return mappers.text({\n originalAsset: asset,\n value,\n });\n};\n\n/**\n * Transforms Emphasis AST Node into Player Content\n */\nconst emphasisTransformer: Transformer<Emphasis> = ({\n astNode,\n asset,\n mappers,\n transformers,\n}) => {\n if (mappers.emphasis) {\n const { children } = astNode;\n\n const value = children.map((node) =>\n transformers[node.type]({ astNode: node, asset, mappers, transformers }),\n );\n\n return mappers.emphasis({\n originalAsset: asset,\n value,\n });\n }\n\n return swapMarkdownType(asset);\n};\n\n/**\n * Transforms Strong AST Node into Player Content\n */\nconst strongTransformer: Transformer<Strong> = ({\n astNode,\n asset,\n mappers,\n transformers,\n}) => {\n if (mappers.strong) {\n const { children } = astNode;\n\n const value = children.map((node) =>\n transformers[node.type]({ astNode: node, asset, mappers, transformers }),\n );\n\n return mappers.strong({\n originalAsset: asset,\n value,\n });\n }\n\n return swapMarkdownType(asset);\n};\n\n/**\n * Transforms Paragraph AST Node into Player Content\n */\nconst paragraphTransformer: Transformer<Paragraph> = ({\n astNode,\n asset,\n mappers,\n transformers,\n}) => {\n const { children } = astNode;\n\n if (\n children.every(({ type }) => Boolean(mappers[type as keyof typeof mappers]))\n ) {\n const value = children.map((node) =>\n transformers[node.type]({ astNode: node, asset, mappers, transformers }),\n );\n\n return mappers.paragraph({\n originalAsset: asset,\n value,\n });\n }\n\n return swapMarkdownType(asset);\n};\n\n/**\n * Transforms List AST Node into Player Content\n */\nconst listTransformer: Transformer<List> = ({\n astNode,\n asset,\n mappers,\n transformers,\n}) => {\n if (mappers.list) {\n const { children, ordered, start } = astNode;\n\n const value = children.map((node) =>\n transformers[node.type]({ astNode: node, asset, mappers, transformers }),\n );\n\n return mappers.list({\n originalAsset: asset,\n value,\n ordered: Boolean(ordered),\n start: start || undefined,\n });\n }\n\n return swapMarkdownType(asset);\n};\n\n/**\n * Transforms ListItem AST Node into Player Content\n */\nconst listItemTransformer: Transformer<ListItem> = ({\n astNode,\n asset,\n mappers,\n transformers,\n}) => {\n const { children } = astNode;\n\n const value = children.map((node) =>\n transformers[node.type]({ astNode: node, asset, mappers, transformers }),\n );\n\n const mapper = mappers.listItem || mappers.paragraph;\n\n return mapper({\n originalAsset: asset,\n value,\n });\n};\n\n/**\n * Transforms Link AST Node into Player Content\n */\nconst linkTransformer: Transformer<Link> = ({\n astNode,\n asset,\n mappers,\n transformers,\n}) => {\n if (mappers.link) {\n const { children, url } = astNode;\n\n const value = children.map((node) =>\n transformers[node.type]({ astNode: node, asset, mappers, transformers }),\n );\n\n return mappers.link({\n originalAsset: asset,\n href: url,\n value,\n });\n }\n\n return swapMarkdownType(asset);\n};\n\n/**\n * Transforms Image AST Node into Player Content\n */\nconst imageTransformer: Transformer<Image> = ({ astNode, asset, mappers }) => {\n if (mappers.image) {\n const { title, url, alt } = astNode;\n\n return mappers.image({\n originalAsset: asset,\n src: url,\n value: title || alt || \"\",\n });\n }\n\n return swapMarkdownType(asset);\n};\n\n/**\n * Transforms Blockquote AST Node into Player Content\n */\nconst blockquoteTransformer: Transformer<Blockquote> = ({\n astNode,\n asset,\n mappers,\n transformers,\n}) => {\n if (mappers.blockquote) {\n const { children } = astNode;\n\n const value = children.map((node) =>\n transformers[node.type]({ astNode: node, asset, mappers, transformers }),\n );\n\n return mappers.blockquote({\n originalAsset: asset,\n value,\n });\n }\n\n return swapMarkdownType(asset);\n};\n\n/**\n * Transforms InlineCode AST Node into Player Content\n */\nconst inlineCodeTransformer: Transformer<InlineCode> = ({\n astNode,\n asset,\n mappers,\n}) => {\n if (mappers.inlineCode) {\n const { value } = astNode;\n\n return mappers.inlineCode({\n originalAsset: asset,\n value,\n });\n }\n\n return swapMarkdownType(asset);\n};\n\n/**\n * Transforms Code block AST Node into Player Content\n */\nconst codeTransformer: Transformer<Code> = ({ astNode, asset, mappers }) => {\n if (mappers.code) {\n const { value, lang } = astNode;\n\n return mappers.code({\n originalAsset: asset,\n value,\n lang: lang || undefined,\n });\n }\n\n return swapMarkdownType(asset);\n};\n\n/**\n * Transforms Horizontal Rule (Thematic Break) AST Node into Player Content\n */\nconst horizontalRuleTransformer: Transformer<ThematicBreak> = ({\n asset,\n mappers,\n}) => {\n if (mappers.horizontalRule) {\n return mappers.horizontalRule({\n originalAsset: asset,\n value: \"---\",\n });\n }\n\n return swapMarkdownType(asset);\n};\n\n/**\n * Transforms Heading AST Node into Player Content\n */\nconst headingTransformer: Transformer<Heading> = ({\n astNode,\n asset,\n mappers,\n transformers,\n}) => {\n if (mappers.heading) {\n const { children, depth } = astNode;\n\n const value = children.map((node) =>\n transformers[node.type]({ astNode: node, asset, mappers, transformers }),\n );\n\n return mappers.heading({\n originalAsset: asset,\n value,\n depth,\n });\n }\n\n return swapMarkdownType(asset);\n};\n\nexport const transformers: Record<string, Transformer> = {\n horizontalRule: horizontalRuleTransformer,\n text: textTransformer,\n emphasis: emphasisTransformer,\n strong: strongTransformer,\n blockquote: blockquoteTransformer,\n list: listTransformer,\n listItem: listItemTransformer,\n link: linkTransformer,\n image: imageTransformer,\n paragraph: paragraphTransformer,\n code: codeTransformer,\n heading: headingTransformer,\n inlineCode: inlineCodeTransformer,\n};\n"],"mappings":"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","names":["import_player","transformers","transformer"]}
|