@tinacms/mdx 1.3.23 → 1.3.24
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/index.browser.mjs +81 -10
- package/dist/index.js +81 -10
- package/dist/index.mjs +81 -10
- package/dist/next/tests/mdx-basic-nested-objects/field.d.ts +2 -0
- package/dist/next/tests/mdx-basic-nested-objects/index.test.d.ts +1 -0
- package/dist/next/tests/mdx-basic-nested-objects-2/field.d.ts +2 -0
- package/dist/next/tests/mdx-basic-nested-objects-2/index.test.d.ts +1 -0
- package/dist/next/tests/mdx-basic-nested-objects-3/field.d.ts +2 -0
- package/dist/next/tests/mdx-basic-nested-objects-3/index.test.d.ts +1 -0
- package/dist/stringify/acorn.d.ts +4 -4
- package/package.json +1 -1
package/dist/index.browser.mjs
CHANGED
|
@@ -38352,12 +38352,17 @@ function stringifyProps(element2, parentField, flatten2, imageCallback) {
|
|
|
38352
38352
|
}
|
|
38353
38353
|
break;
|
|
38354
38354
|
case "object":
|
|
38355
|
+
const result = findAndTransformNestedRichText(
|
|
38356
|
+
field,
|
|
38357
|
+
value,
|
|
38358
|
+
imageCallback
|
|
38359
|
+
);
|
|
38355
38360
|
attributes2.push({
|
|
38356
38361
|
type: "mdxJsxAttribute",
|
|
38357
38362
|
name: name2,
|
|
38358
38363
|
value: {
|
|
38359
38364
|
type: "mdxJsxAttributeValueExpression",
|
|
38360
|
-
value: stringifyObj(
|
|
38365
|
+
value: stringifyObj(result, flatten2)
|
|
38361
38366
|
}
|
|
38362
38367
|
});
|
|
38363
38368
|
break;
|
|
@@ -38463,6 +38468,61 @@ function assertShape(value, callback, errorMessage) {
|
|
|
38463
38468
|
function isPlainObject2(value) {
|
|
38464
38469
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
38465
38470
|
}
|
|
38471
|
+
var findAndTransformNestedRichText = (field, value, imageCallback, parentValue = {}) => {
|
|
38472
|
+
switch (field.type) {
|
|
38473
|
+
case "rich-text": {
|
|
38474
|
+
assertShape(
|
|
38475
|
+
value,
|
|
38476
|
+
(value2) => value2.type === "root" && Array.isArray(value2.children),
|
|
38477
|
+
`Nested rich-text element is not a valid shape for field ${field.name}`
|
|
38478
|
+
);
|
|
38479
|
+
parentValue[field.name] = stringifyMDX(value, field, imageCallback);
|
|
38480
|
+
break;
|
|
38481
|
+
}
|
|
38482
|
+
case "object": {
|
|
38483
|
+
if (field.list) {
|
|
38484
|
+
if (Array.isArray(value)) {
|
|
38485
|
+
value.forEach((item) => {
|
|
38486
|
+
Object.entries(item).forEach(([key, subValue]) => {
|
|
38487
|
+
if (field.fields) {
|
|
38488
|
+
const subField = field.fields.find(({ name: name2 }) => name2 === key);
|
|
38489
|
+
if (subField) {
|
|
38490
|
+
findAndTransformNestedRichText(
|
|
38491
|
+
subField,
|
|
38492
|
+
subValue,
|
|
38493
|
+
imageCallback,
|
|
38494
|
+
item
|
|
38495
|
+
);
|
|
38496
|
+
}
|
|
38497
|
+
}
|
|
38498
|
+
});
|
|
38499
|
+
});
|
|
38500
|
+
}
|
|
38501
|
+
} else {
|
|
38502
|
+
if (isObject(value)) {
|
|
38503
|
+
Object.entries(value).forEach(([key, subValue]) => {
|
|
38504
|
+
if (field.fields) {
|
|
38505
|
+
const subField = field.fields.find(({ name: name2 }) => name2 === key);
|
|
38506
|
+
if (subField) {
|
|
38507
|
+
findAndTransformNestedRichText(
|
|
38508
|
+
subField,
|
|
38509
|
+
subValue,
|
|
38510
|
+
imageCallback,
|
|
38511
|
+
value
|
|
38512
|
+
);
|
|
38513
|
+
}
|
|
38514
|
+
}
|
|
38515
|
+
});
|
|
38516
|
+
}
|
|
38517
|
+
}
|
|
38518
|
+
break;
|
|
38519
|
+
}
|
|
38520
|
+
}
|
|
38521
|
+
return value;
|
|
38522
|
+
};
|
|
38523
|
+
function isObject(value) {
|
|
38524
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
38525
|
+
}
|
|
38466
38526
|
|
|
38467
38527
|
// src/stringify/marks.ts
|
|
38468
38528
|
var matches = (a, b) => {
|
|
@@ -46649,7 +46709,7 @@ var extractAttribute = (attribute, field, imageCallback) => {
|
|
|
46649
46709
|
return extractString(attribute, field);
|
|
46650
46710
|
}
|
|
46651
46711
|
case "object":
|
|
46652
|
-
return extractObject(extractExpression(attribute), field);
|
|
46712
|
+
return extractObject(extractExpression(attribute), field, imageCallback);
|
|
46653
46713
|
case "rich-text":
|
|
46654
46714
|
const JSXString = extractRaw(attribute);
|
|
46655
46715
|
if (JSXString) {
|
|
@@ -46674,24 +46734,24 @@ var extractScalar = (attribute, field) => {
|
|
|
46674
46734
|
return attribute.expression.value;
|
|
46675
46735
|
}
|
|
46676
46736
|
};
|
|
46677
|
-
var extractObject = (attribute, field) => {
|
|
46737
|
+
var extractObject = (attribute, field, imageCallback) => {
|
|
46678
46738
|
if (field.list) {
|
|
46679
46739
|
assertType(attribute.expression, "ArrayExpression");
|
|
46680
46740
|
return attribute.expression.elements.map((element2) => {
|
|
46681
46741
|
assertHasType(element2);
|
|
46682
46742
|
assertType(element2, "ObjectExpression");
|
|
46683
|
-
return extractObjectExpression(element2, field);
|
|
46743
|
+
return extractObjectExpression(element2, field, imageCallback);
|
|
46684
46744
|
});
|
|
46685
46745
|
} else {
|
|
46686
46746
|
assertType(attribute.expression, "ObjectExpression");
|
|
46687
|
-
return extractObjectExpression(attribute.expression, field);
|
|
46747
|
+
return extractObjectExpression(attribute.expression, field, imageCallback);
|
|
46688
46748
|
}
|
|
46689
46749
|
};
|
|
46690
|
-
var extractObjectExpression = (expression, field) => {
|
|
46750
|
+
var extractObjectExpression = (expression, field, imageCallback) => {
|
|
46691
46751
|
const properties = {};
|
|
46692
46752
|
expression.properties?.forEach((property) => {
|
|
46693
46753
|
assertType(property, "Property");
|
|
46694
|
-
const { key, value } = extractKeyValue(property, field);
|
|
46754
|
+
const { key, value } = extractKeyValue(property, field, imageCallback);
|
|
46695
46755
|
properties[key] = value;
|
|
46696
46756
|
});
|
|
46697
46757
|
return properties;
|
|
@@ -46704,7 +46764,7 @@ var getField = (objectField, name2) => {
|
|
|
46704
46764
|
return objectField.fields.find((f) => f.name === name2);
|
|
46705
46765
|
}
|
|
46706
46766
|
};
|
|
46707
|
-
var extractKeyValue = (property, parentField) => {
|
|
46767
|
+
var extractKeyValue = (property, parentField, imageCallback) => {
|
|
46708
46768
|
assertType(property.key, "Identifier");
|
|
46709
46769
|
const key = property.key.name;
|
|
46710
46770
|
const field = getField(parentField, key);
|
|
@@ -46714,12 +46774,16 @@ var extractKeyValue = (property, parentField) => {
|
|
|
46714
46774
|
const value = property.value.elements.map((element2) => {
|
|
46715
46775
|
assertHasType(element2);
|
|
46716
46776
|
assertType(element2, "ObjectExpression");
|
|
46717
|
-
return extractObjectExpression(element2, field);
|
|
46777
|
+
return extractObjectExpression(element2, field, imageCallback);
|
|
46718
46778
|
});
|
|
46719
46779
|
return { key, value };
|
|
46720
46780
|
} else {
|
|
46721
46781
|
assertType(property.value, "ObjectExpression");
|
|
46722
|
-
const value = extractObjectExpression(
|
|
46782
|
+
const value = extractObjectExpression(
|
|
46783
|
+
property.value,
|
|
46784
|
+
field,
|
|
46785
|
+
imageCallback
|
|
46786
|
+
);
|
|
46723
46787
|
return { key, value };
|
|
46724
46788
|
}
|
|
46725
46789
|
} else if (field?.list) {
|
|
@@ -46730,6 +46794,13 @@ var extractKeyValue = (property, parentField) => {
|
|
|
46730
46794
|
return element2.value;
|
|
46731
46795
|
});
|
|
46732
46796
|
return { key, value };
|
|
46797
|
+
} else if (field?.type === "rich-text") {
|
|
46798
|
+
assertType(property.value, "Literal");
|
|
46799
|
+
const raw = property.value.value;
|
|
46800
|
+
if (typeof raw === "string") {
|
|
46801
|
+
return { key, value: parseMDX(raw, field, imageCallback) };
|
|
46802
|
+
}
|
|
46803
|
+
throw new Error(`Unable to parse rich-text`);
|
|
46733
46804
|
} else {
|
|
46734
46805
|
assertType(property.value, "Literal");
|
|
46735
46806
|
return { key, value: property.value.value };
|
package/dist/index.js
CHANGED
|
@@ -40236,12 +40236,17 @@ function stringifyProps(element, parentField, flatten2, imageCallback) {
|
|
|
40236
40236
|
}
|
|
40237
40237
|
break;
|
|
40238
40238
|
case "object":
|
|
40239
|
+
const result = findAndTransformNestedRichText(
|
|
40240
|
+
field,
|
|
40241
|
+
value,
|
|
40242
|
+
imageCallback
|
|
40243
|
+
);
|
|
40239
40244
|
attributes2.push({
|
|
40240
40245
|
type: "mdxJsxAttribute",
|
|
40241
40246
|
name: name2,
|
|
40242
40247
|
value: {
|
|
40243
40248
|
type: "mdxJsxAttributeValueExpression",
|
|
40244
|
-
value: stringifyObj(
|
|
40249
|
+
value: stringifyObj(result, flatten2)
|
|
40245
40250
|
}
|
|
40246
40251
|
});
|
|
40247
40252
|
break;
|
|
@@ -40347,6 +40352,61 @@ function assertShape(value, callback, errorMessage) {
|
|
|
40347
40352
|
function isPlainObject2(value) {
|
|
40348
40353
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
40349
40354
|
}
|
|
40355
|
+
var findAndTransformNestedRichText = (field, value, imageCallback, parentValue = {}) => {
|
|
40356
|
+
switch (field.type) {
|
|
40357
|
+
case "rich-text": {
|
|
40358
|
+
assertShape(
|
|
40359
|
+
value,
|
|
40360
|
+
(value2) => value2.type === "root" && Array.isArray(value2.children),
|
|
40361
|
+
`Nested rich-text element is not a valid shape for field ${field.name}`
|
|
40362
|
+
);
|
|
40363
|
+
parentValue[field.name] = stringifyMDX(value, field, imageCallback);
|
|
40364
|
+
break;
|
|
40365
|
+
}
|
|
40366
|
+
case "object": {
|
|
40367
|
+
if (field.list) {
|
|
40368
|
+
if (Array.isArray(value)) {
|
|
40369
|
+
value.forEach((item) => {
|
|
40370
|
+
Object.entries(item).forEach(([key, subValue]) => {
|
|
40371
|
+
if (field.fields) {
|
|
40372
|
+
const subField = field.fields.find(({ name: name2 }) => name2 === key);
|
|
40373
|
+
if (subField) {
|
|
40374
|
+
findAndTransformNestedRichText(
|
|
40375
|
+
subField,
|
|
40376
|
+
subValue,
|
|
40377
|
+
imageCallback,
|
|
40378
|
+
item
|
|
40379
|
+
);
|
|
40380
|
+
}
|
|
40381
|
+
}
|
|
40382
|
+
});
|
|
40383
|
+
});
|
|
40384
|
+
}
|
|
40385
|
+
} else {
|
|
40386
|
+
if (isObject(value)) {
|
|
40387
|
+
Object.entries(value).forEach(([key, subValue]) => {
|
|
40388
|
+
if (field.fields) {
|
|
40389
|
+
const subField = field.fields.find(({ name: name2 }) => name2 === key);
|
|
40390
|
+
if (subField) {
|
|
40391
|
+
findAndTransformNestedRichText(
|
|
40392
|
+
subField,
|
|
40393
|
+
subValue,
|
|
40394
|
+
imageCallback,
|
|
40395
|
+
value
|
|
40396
|
+
);
|
|
40397
|
+
}
|
|
40398
|
+
}
|
|
40399
|
+
});
|
|
40400
|
+
}
|
|
40401
|
+
}
|
|
40402
|
+
break;
|
|
40403
|
+
}
|
|
40404
|
+
}
|
|
40405
|
+
return value;
|
|
40406
|
+
};
|
|
40407
|
+
function isObject(value) {
|
|
40408
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
40409
|
+
}
|
|
40350
40410
|
|
|
40351
40411
|
// src/stringify/marks.ts
|
|
40352
40412
|
var matches = (a, b) => {
|
|
@@ -48546,7 +48606,7 @@ var extractAttribute = (attribute, field, imageCallback) => {
|
|
|
48546
48606
|
return extractString(attribute, field);
|
|
48547
48607
|
}
|
|
48548
48608
|
case "object":
|
|
48549
|
-
return extractObject(extractExpression(attribute), field);
|
|
48609
|
+
return extractObject(extractExpression(attribute), field, imageCallback);
|
|
48550
48610
|
case "rich-text":
|
|
48551
48611
|
const JSXString = extractRaw(attribute);
|
|
48552
48612
|
if (JSXString) {
|
|
@@ -48571,25 +48631,25 @@ var extractScalar = (attribute, field) => {
|
|
|
48571
48631
|
return attribute.expression.value;
|
|
48572
48632
|
}
|
|
48573
48633
|
};
|
|
48574
|
-
var extractObject = (attribute, field) => {
|
|
48634
|
+
var extractObject = (attribute, field, imageCallback) => {
|
|
48575
48635
|
if (field.list) {
|
|
48576
48636
|
assertType(attribute.expression, "ArrayExpression");
|
|
48577
48637
|
return attribute.expression.elements.map((element) => {
|
|
48578
48638
|
assertHasType(element);
|
|
48579
48639
|
assertType(element, "ObjectExpression");
|
|
48580
|
-
return extractObjectExpression(element, field);
|
|
48640
|
+
return extractObjectExpression(element, field, imageCallback);
|
|
48581
48641
|
});
|
|
48582
48642
|
} else {
|
|
48583
48643
|
assertType(attribute.expression, "ObjectExpression");
|
|
48584
|
-
return extractObjectExpression(attribute.expression, field);
|
|
48644
|
+
return extractObjectExpression(attribute.expression, field, imageCallback);
|
|
48585
48645
|
}
|
|
48586
48646
|
};
|
|
48587
|
-
var extractObjectExpression = (expression, field) => {
|
|
48647
|
+
var extractObjectExpression = (expression, field, imageCallback) => {
|
|
48588
48648
|
var _a3;
|
|
48589
48649
|
const properties = {};
|
|
48590
48650
|
(_a3 = expression.properties) == null ? void 0 : _a3.forEach((property) => {
|
|
48591
48651
|
assertType(property, "Property");
|
|
48592
|
-
const { key, value } = extractKeyValue(property, field);
|
|
48652
|
+
const { key, value } = extractKeyValue(property, field, imageCallback);
|
|
48593
48653
|
properties[key] = value;
|
|
48594
48654
|
});
|
|
48595
48655
|
return properties;
|
|
@@ -48602,7 +48662,7 @@ var getField = (objectField, name2) => {
|
|
|
48602
48662
|
return objectField.fields.find((f) => f.name === name2);
|
|
48603
48663
|
}
|
|
48604
48664
|
};
|
|
48605
|
-
var extractKeyValue = (property, parentField) => {
|
|
48665
|
+
var extractKeyValue = (property, parentField, imageCallback) => {
|
|
48606
48666
|
assertType(property.key, "Identifier");
|
|
48607
48667
|
const key = property.key.name;
|
|
48608
48668
|
const field = getField(parentField, key);
|
|
@@ -48612,12 +48672,16 @@ var extractKeyValue = (property, parentField) => {
|
|
|
48612
48672
|
const value = property.value.elements.map((element) => {
|
|
48613
48673
|
assertHasType(element);
|
|
48614
48674
|
assertType(element, "ObjectExpression");
|
|
48615
|
-
return extractObjectExpression(element, field);
|
|
48675
|
+
return extractObjectExpression(element, field, imageCallback);
|
|
48616
48676
|
});
|
|
48617
48677
|
return { key, value };
|
|
48618
48678
|
} else {
|
|
48619
48679
|
assertType(property.value, "ObjectExpression");
|
|
48620
|
-
const value = extractObjectExpression(
|
|
48680
|
+
const value = extractObjectExpression(
|
|
48681
|
+
property.value,
|
|
48682
|
+
field,
|
|
48683
|
+
imageCallback
|
|
48684
|
+
);
|
|
48621
48685
|
return { key, value };
|
|
48622
48686
|
}
|
|
48623
48687
|
} else if (field == null ? void 0 : field.list) {
|
|
@@ -48628,6 +48692,13 @@ var extractKeyValue = (property, parentField) => {
|
|
|
48628
48692
|
return element.value;
|
|
48629
48693
|
});
|
|
48630
48694
|
return { key, value };
|
|
48695
|
+
} else if ((field == null ? void 0 : field.type) === "rich-text") {
|
|
48696
|
+
assertType(property.value, "Literal");
|
|
48697
|
+
const raw = property.value.value;
|
|
48698
|
+
if (typeof raw === "string") {
|
|
48699
|
+
return { key, value: parseMDX(raw, field, imageCallback) };
|
|
48700
|
+
}
|
|
48701
|
+
throw new Error(`Unable to parse rich-text`);
|
|
48631
48702
|
} else {
|
|
48632
48703
|
assertType(property.value, "Literal");
|
|
48633
48704
|
return { key, value: property.value.value };
|
package/dist/index.mjs
CHANGED
|
@@ -40224,12 +40224,17 @@ function stringifyProps(element, parentField, flatten2, imageCallback) {
|
|
|
40224
40224
|
}
|
|
40225
40225
|
break;
|
|
40226
40226
|
case "object":
|
|
40227
|
+
const result = findAndTransformNestedRichText(
|
|
40228
|
+
field,
|
|
40229
|
+
value,
|
|
40230
|
+
imageCallback
|
|
40231
|
+
);
|
|
40227
40232
|
attributes2.push({
|
|
40228
40233
|
type: "mdxJsxAttribute",
|
|
40229
40234
|
name: name2,
|
|
40230
40235
|
value: {
|
|
40231
40236
|
type: "mdxJsxAttributeValueExpression",
|
|
40232
|
-
value: stringifyObj(
|
|
40237
|
+
value: stringifyObj(result, flatten2)
|
|
40233
40238
|
}
|
|
40234
40239
|
});
|
|
40235
40240
|
break;
|
|
@@ -40335,6 +40340,61 @@ function assertShape(value, callback, errorMessage) {
|
|
|
40335
40340
|
function isPlainObject2(value) {
|
|
40336
40341
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
40337
40342
|
}
|
|
40343
|
+
var findAndTransformNestedRichText = (field, value, imageCallback, parentValue = {}) => {
|
|
40344
|
+
switch (field.type) {
|
|
40345
|
+
case "rich-text": {
|
|
40346
|
+
assertShape(
|
|
40347
|
+
value,
|
|
40348
|
+
(value2) => value2.type === "root" && Array.isArray(value2.children),
|
|
40349
|
+
`Nested rich-text element is not a valid shape for field ${field.name}`
|
|
40350
|
+
);
|
|
40351
|
+
parentValue[field.name] = stringifyMDX(value, field, imageCallback);
|
|
40352
|
+
break;
|
|
40353
|
+
}
|
|
40354
|
+
case "object": {
|
|
40355
|
+
if (field.list) {
|
|
40356
|
+
if (Array.isArray(value)) {
|
|
40357
|
+
value.forEach((item) => {
|
|
40358
|
+
Object.entries(item).forEach(([key, subValue]) => {
|
|
40359
|
+
if (field.fields) {
|
|
40360
|
+
const subField = field.fields.find(({ name: name2 }) => name2 === key);
|
|
40361
|
+
if (subField) {
|
|
40362
|
+
findAndTransformNestedRichText(
|
|
40363
|
+
subField,
|
|
40364
|
+
subValue,
|
|
40365
|
+
imageCallback,
|
|
40366
|
+
item
|
|
40367
|
+
);
|
|
40368
|
+
}
|
|
40369
|
+
}
|
|
40370
|
+
});
|
|
40371
|
+
});
|
|
40372
|
+
}
|
|
40373
|
+
} else {
|
|
40374
|
+
if (isObject(value)) {
|
|
40375
|
+
Object.entries(value).forEach(([key, subValue]) => {
|
|
40376
|
+
if (field.fields) {
|
|
40377
|
+
const subField = field.fields.find(({ name: name2 }) => name2 === key);
|
|
40378
|
+
if (subField) {
|
|
40379
|
+
findAndTransformNestedRichText(
|
|
40380
|
+
subField,
|
|
40381
|
+
subValue,
|
|
40382
|
+
imageCallback,
|
|
40383
|
+
value
|
|
40384
|
+
);
|
|
40385
|
+
}
|
|
40386
|
+
}
|
|
40387
|
+
});
|
|
40388
|
+
}
|
|
40389
|
+
}
|
|
40390
|
+
break;
|
|
40391
|
+
}
|
|
40392
|
+
}
|
|
40393
|
+
return value;
|
|
40394
|
+
};
|
|
40395
|
+
function isObject(value) {
|
|
40396
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
40397
|
+
}
|
|
40338
40398
|
|
|
40339
40399
|
// src/stringify/marks.ts
|
|
40340
40400
|
var matches = (a, b) => {
|
|
@@ -48521,7 +48581,7 @@ var extractAttribute = (attribute, field, imageCallback) => {
|
|
|
48521
48581
|
return extractString(attribute, field);
|
|
48522
48582
|
}
|
|
48523
48583
|
case "object":
|
|
48524
|
-
return extractObject(extractExpression(attribute), field);
|
|
48584
|
+
return extractObject(extractExpression(attribute), field, imageCallback);
|
|
48525
48585
|
case "rich-text":
|
|
48526
48586
|
const JSXString = extractRaw(attribute);
|
|
48527
48587
|
if (JSXString) {
|
|
@@ -48546,24 +48606,24 @@ var extractScalar = (attribute, field) => {
|
|
|
48546
48606
|
return attribute.expression.value;
|
|
48547
48607
|
}
|
|
48548
48608
|
};
|
|
48549
|
-
var extractObject = (attribute, field) => {
|
|
48609
|
+
var extractObject = (attribute, field, imageCallback) => {
|
|
48550
48610
|
if (field.list) {
|
|
48551
48611
|
assertType(attribute.expression, "ArrayExpression");
|
|
48552
48612
|
return attribute.expression.elements.map((element) => {
|
|
48553
48613
|
assertHasType(element);
|
|
48554
48614
|
assertType(element, "ObjectExpression");
|
|
48555
|
-
return extractObjectExpression(element, field);
|
|
48615
|
+
return extractObjectExpression(element, field, imageCallback);
|
|
48556
48616
|
});
|
|
48557
48617
|
} else {
|
|
48558
48618
|
assertType(attribute.expression, "ObjectExpression");
|
|
48559
|
-
return extractObjectExpression(attribute.expression, field);
|
|
48619
|
+
return extractObjectExpression(attribute.expression, field, imageCallback);
|
|
48560
48620
|
}
|
|
48561
48621
|
};
|
|
48562
|
-
var extractObjectExpression = (expression, field) => {
|
|
48622
|
+
var extractObjectExpression = (expression, field, imageCallback) => {
|
|
48563
48623
|
const properties = {};
|
|
48564
48624
|
expression.properties?.forEach((property) => {
|
|
48565
48625
|
assertType(property, "Property");
|
|
48566
|
-
const { key, value } = extractKeyValue(property, field);
|
|
48626
|
+
const { key, value } = extractKeyValue(property, field, imageCallback);
|
|
48567
48627
|
properties[key] = value;
|
|
48568
48628
|
});
|
|
48569
48629
|
return properties;
|
|
@@ -48576,7 +48636,7 @@ var getField = (objectField, name2) => {
|
|
|
48576
48636
|
return objectField.fields.find((f) => f.name === name2);
|
|
48577
48637
|
}
|
|
48578
48638
|
};
|
|
48579
|
-
var extractKeyValue = (property, parentField) => {
|
|
48639
|
+
var extractKeyValue = (property, parentField, imageCallback) => {
|
|
48580
48640
|
assertType(property.key, "Identifier");
|
|
48581
48641
|
const key = property.key.name;
|
|
48582
48642
|
const field = getField(parentField, key);
|
|
@@ -48586,12 +48646,16 @@ var extractKeyValue = (property, parentField) => {
|
|
|
48586
48646
|
const value = property.value.elements.map((element) => {
|
|
48587
48647
|
assertHasType(element);
|
|
48588
48648
|
assertType(element, "ObjectExpression");
|
|
48589
|
-
return extractObjectExpression(element, field);
|
|
48649
|
+
return extractObjectExpression(element, field, imageCallback);
|
|
48590
48650
|
});
|
|
48591
48651
|
return { key, value };
|
|
48592
48652
|
} else {
|
|
48593
48653
|
assertType(property.value, "ObjectExpression");
|
|
48594
|
-
const value = extractObjectExpression(
|
|
48654
|
+
const value = extractObjectExpression(
|
|
48655
|
+
property.value,
|
|
48656
|
+
field,
|
|
48657
|
+
imageCallback
|
|
48658
|
+
);
|
|
48595
48659
|
return { key, value };
|
|
48596
48660
|
}
|
|
48597
48661
|
} else if (field?.list) {
|
|
@@ -48602,6 +48666,13 @@ var extractKeyValue = (property, parentField) => {
|
|
|
48602
48666
|
return element.value;
|
|
48603
48667
|
});
|
|
48604
48668
|
return { key, value };
|
|
48669
|
+
} else if (field?.type === "rich-text") {
|
|
48670
|
+
assertType(property.value, "Literal");
|
|
48671
|
+
const raw = property.value.value;
|
|
48672
|
+
if (typeof raw === "string") {
|
|
48673
|
+
return { key, value: parseMDX(raw, field, imageCallback) };
|
|
48674
|
+
}
|
|
48675
|
+
throw new Error(`Unable to parse rich-text`);
|
|
48605
48676
|
} else {
|
|
48606
48677
|
assertType(property.value, "Literal");
|
|
48607
48678
|
return { key, value: property.value.value };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { RichTextField } from '@tinacms/schema-tools';
|
|
2
2
|
import type { MdxJsxAttribute } from 'mdast-util-mdx-jsx';
|
|
3
3
|
import * as Plate from '../parse/plate';
|
|
4
4
|
import type * as Md from 'mdast';
|
|
5
|
-
export declare const stringifyPropsInline: (element: Plate.MdxInlineElement, field:
|
|
5
|
+
export declare const stringifyPropsInline: (element: Plate.MdxInlineElement, field: RichTextField, imageCallback: (url: string) => string) => {
|
|
6
6
|
attributes: MdxJsxAttribute[];
|
|
7
7
|
children: Md.PhrasingContent[];
|
|
8
8
|
};
|
|
9
|
-
export declare function stringifyProps(element: Plate.MdxInlineElement, parentField:
|
|
9
|
+
export declare function stringifyProps(element: Plate.MdxInlineElement, parentField: RichTextField, flatten: boolean, imageCallback: (url: string) => string): {
|
|
10
10
|
attributes: MdxJsxAttribute[];
|
|
11
11
|
children: Md.PhrasingContent[];
|
|
12
12
|
useDirective: boolean;
|
|
13
13
|
directiveType: string;
|
|
14
14
|
};
|
|
15
|
-
export declare function stringifyProps(element: Plate.MdxBlockElement, parentField:
|
|
15
|
+
export declare function stringifyProps(element: Plate.MdxBlockElement, parentField: RichTextField, flatten: boolean, imageCallback: (url: string) => string): {
|
|
16
16
|
attributes: MdxJsxAttribute[];
|
|
17
17
|
children: Md.BlockContent[];
|
|
18
18
|
useDirective: boolean;
|