@gmb/bitmark-parser-generator 4.14.0 → 4.15.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/browser/bitmark-parser-generator.min.js +1 -1
- package/dist/browser/bundle-report.html +2 -2
- package/dist/browser/cjs/index.cjs +224 -49
- package/dist/browser/cjs/index.cjs.map +1 -1
- package/dist/browser/cjs/index.d.cts +44 -8
- package/dist/browser/esm/index.d.ts +44 -8
- package/dist/browser/esm/index.js +224 -49
- package/dist/browser/esm/index.js.map +1 -1
- package/dist/index.cjs +224 -49
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +44 -8
- package/dist/index.d.ts +44 -8
- package/dist/index.js +224 -49
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -122,6 +122,9 @@ var BitType = superenum({
|
|
|
122
122
|
bugAlt: "bug-alt",
|
|
123
123
|
bugCollapsible: "bug-collapsible",
|
|
124
124
|
buttonCopyText: "button-copy-text",
|
|
125
|
+
catalogItemBook: "catalog-item-book",
|
|
126
|
+
catalogItemExternalBook: "catalog-item-external-book",
|
|
127
|
+
catalogItemProduct: "catalog-item-product",
|
|
125
128
|
callToAction: "call-to-action",
|
|
126
129
|
callToActionBookNow: "call-to-action-book-now",
|
|
127
130
|
callToActionContact: "call-to-action-contact",
|
|
@@ -243,8 +246,8 @@ var BitType = superenum({
|
|
|
243
246
|
extractorAiChat: "extractor-ai-chat",
|
|
244
247
|
extractorBlock: "extractor-block",
|
|
245
248
|
extractorConfiguration: "extractor-configuration",
|
|
246
|
-
|
|
247
|
-
|
|
249
|
+
extractorImages: "extractor-images",
|
|
250
|
+
extractorImagesCollapsible: "extractor-images-collapsible",
|
|
248
251
|
extractorInformation: "extractor-information",
|
|
249
252
|
extractorPage: "extractor-page",
|
|
250
253
|
extractorPageCollapsible: "extractor-page-collapsible",
|
|
@@ -1149,6 +1152,9 @@ var propertyKeys = {
|
|
|
1149
1152
|
property_colorTag: "@colorTag",
|
|
1150
1153
|
property_computerLanguage: "@computerLanguage",
|
|
1151
1154
|
property_content2Buy: "@content2Buy",
|
|
1155
|
+
property_listPrice: "@listPrice",
|
|
1156
|
+
property_customerProductId: "@customerProductId",
|
|
1157
|
+
property_customerProductShopLink: "@customerProductShopLink",
|
|
1152
1158
|
property_copyright: "@copyright",
|
|
1153
1159
|
property_coverColor: "@coverColor",
|
|
1154
1160
|
property_coverImage: "@coverImage",
|
|
@@ -1222,6 +1228,7 @@ var propertyKeys = {
|
|
|
1222
1228
|
property_listItemIndent: "@listItemIndent",
|
|
1223
1229
|
property_location: "@location",
|
|
1224
1230
|
property_machineTranslated: "@machineTranslated",
|
|
1231
|
+
property_spansPageBreak: "@spansPageBreak",
|
|
1225
1232
|
property_mailingList: "@mailingList",
|
|
1226
1233
|
property_mark: "@mark",
|
|
1227
1234
|
property_maxCreatedBits: "@maxCreatedBits",
|
|
@@ -2691,6 +2698,11 @@ var GROUPS = {
|
|
|
2691
2698
|
description: "If true, the bit is machine-translated",
|
|
2692
2699
|
format: TagFormat.plainText
|
|
2693
2700
|
},
|
|
2701
|
+
{
|
|
2702
|
+
key: ConfigKey.property_spansPageBreak,
|
|
2703
|
+
description: "If true, the bit spans a page break",
|
|
2704
|
+
format: TagFormat.boolean
|
|
2705
|
+
},
|
|
2694
2706
|
{
|
|
2695
2707
|
key: ConfigKey.property_searchIndex,
|
|
2696
2708
|
description: "The search index(es) for the bit",
|
|
@@ -4500,6 +4512,120 @@ var BITS = {
|
|
|
4500
4512
|
}
|
|
4501
4513
|
]
|
|
4502
4514
|
},
|
|
4515
|
+
[BitType.catalogItemBook]: {
|
|
4516
|
+
since: "4.15.0",
|
|
4517
|
+
baseBitType: BitType._standard,
|
|
4518
|
+
description: "Catalog item book bit, used to represent a book product in a catalog with cover and description",
|
|
4519
|
+
tags: [
|
|
4520
|
+
{
|
|
4521
|
+
key: ConfigKey.tag_title,
|
|
4522
|
+
description: "Title and subtitle of the catalog item",
|
|
4523
|
+
maxCount: 2
|
|
4524
|
+
},
|
|
4525
|
+
{
|
|
4526
|
+
key: ConfigKey.property_coverImage,
|
|
4527
|
+
description: "Cover image of the catalog item",
|
|
4528
|
+
format: TagFormat.plainText
|
|
4529
|
+
},
|
|
4530
|
+
{
|
|
4531
|
+
key: ConfigKey.property_content2Buy,
|
|
4532
|
+
description: "Content to buy identifier",
|
|
4533
|
+
format: TagFormat.plainText
|
|
4534
|
+
},
|
|
4535
|
+
{
|
|
4536
|
+
key: ConfigKey.property_listPrice,
|
|
4537
|
+
description: "List price of the catalog item",
|
|
4538
|
+
format: TagFormat.plainText
|
|
4539
|
+
},
|
|
4540
|
+
{
|
|
4541
|
+
key: ConfigKey.property_buttonCaption,
|
|
4542
|
+
description: "Caption for the buy button",
|
|
4543
|
+
format: TagFormat.plainText
|
|
4544
|
+
},
|
|
4545
|
+
{
|
|
4546
|
+
key: ConfigKey.property_customerProductId,
|
|
4547
|
+
description: "Customer-specific product identifier",
|
|
4548
|
+
format: TagFormat.plainText
|
|
4549
|
+
}
|
|
4550
|
+
],
|
|
4551
|
+
rootExampleType: ExampleType.string
|
|
4552
|
+
},
|
|
4553
|
+
[BitType.catalogItemExternalBook]: {
|
|
4554
|
+
since: "4.15.0",
|
|
4555
|
+
baseBitType: BitType._standard,
|
|
4556
|
+
description: "Catalog item external book bit, used to represent an external book product in a catalog with link to external shop",
|
|
4557
|
+
tags: [
|
|
4558
|
+
{
|
|
4559
|
+
key: ConfigKey.tag_title,
|
|
4560
|
+
description: "Title and subtitle of the catalog item",
|
|
4561
|
+
maxCount: 2
|
|
4562
|
+
},
|
|
4563
|
+
{
|
|
4564
|
+
key: ConfigKey.property_coverImage,
|
|
4565
|
+
description: "Cover image of the catalog item",
|
|
4566
|
+
format: TagFormat.plainText
|
|
4567
|
+
},
|
|
4568
|
+
{
|
|
4569
|
+
key: ConfigKey.property_customerProductShopLink,
|
|
4570
|
+
description: "Link to external shop for the product",
|
|
4571
|
+
format: TagFormat.plainText
|
|
4572
|
+
},
|
|
4573
|
+
{
|
|
4574
|
+
key: ConfigKey.property_listPrice,
|
|
4575
|
+
description: "List price of the catalog item",
|
|
4576
|
+
format: TagFormat.plainText
|
|
4577
|
+
},
|
|
4578
|
+
{
|
|
4579
|
+
key: ConfigKey.property_buttonCaption,
|
|
4580
|
+
description: "Caption for the buy button",
|
|
4581
|
+
format: TagFormat.plainText
|
|
4582
|
+
},
|
|
4583
|
+
{
|
|
4584
|
+
key: ConfigKey.property_customerProductId,
|
|
4585
|
+
description: "Customer-specific product identifier",
|
|
4586
|
+
format: TagFormat.plainText
|
|
4587
|
+
}
|
|
4588
|
+
],
|
|
4589
|
+
rootExampleType: ExampleType.string
|
|
4590
|
+
},
|
|
4591
|
+
[BitType.catalogItemProduct]: {
|
|
4592
|
+
since: "4.15.0",
|
|
4593
|
+
baseBitType: BitType._standard,
|
|
4594
|
+
description: "Catalog item product bit, used to represent a general product in a catalog with cover and description",
|
|
4595
|
+
tags: [
|
|
4596
|
+
{
|
|
4597
|
+
key: ConfigKey.tag_title,
|
|
4598
|
+
description: "Title and subtitle of the catalog item",
|
|
4599
|
+
maxCount: 2
|
|
4600
|
+
},
|
|
4601
|
+
{
|
|
4602
|
+
key: ConfigKey.property_coverImage,
|
|
4603
|
+
description: "Cover image of the catalog item",
|
|
4604
|
+
format: TagFormat.plainText
|
|
4605
|
+
},
|
|
4606
|
+
{
|
|
4607
|
+
key: ConfigKey.property_content2Buy,
|
|
4608
|
+
description: "Content to buy identifier",
|
|
4609
|
+
format: TagFormat.plainText
|
|
4610
|
+
},
|
|
4611
|
+
{
|
|
4612
|
+
key: ConfigKey.property_listPrice,
|
|
4613
|
+
description: "List price of the catalog item",
|
|
4614
|
+
format: TagFormat.plainText
|
|
4615
|
+
},
|
|
4616
|
+
{
|
|
4617
|
+
key: ConfigKey.property_buttonCaption,
|
|
4618
|
+
description: "Caption for the buy button",
|
|
4619
|
+
format: TagFormat.plainText
|
|
4620
|
+
},
|
|
4621
|
+
{
|
|
4622
|
+
key: ConfigKey.property_customerProductId,
|
|
4623
|
+
description: "Customer-specific product identifier",
|
|
4624
|
+
format: TagFormat.plainText
|
|
4625
|
+
}
|
|
4626
|
+
],
|
|
4627
|
+
rootExampleType: ExampleType.string
|
|
4628
|
+
},
|
|
4503
4629
|
[BitType.callToAction]: {
|
|
4504
4630
|
since: "1.15.0",
|
|
4505
4631
|
baseBitType: BitType._standard,
|
|
@@ -6583,17 +6709,30 @@ var BITS = {
|
|
|
6583
6709
|
description: "Extractor configuration bit, used to configure extractors in articles or books",
|
|
6584
6710
|
textFormatDefault: TextFormat.plainText
|
|
6585
6711
|
},
|
|
6586
|
-
[BitType.
|
|
6712
|
+
[BitType.extractorImages]: {
|
|
6587
6713
|
since: "4.3.0",
|
|
6588
|
-
baseBitType: BitType.
|
|
6589
|
-
description: "Extractor
|
|
6714
|
+
baseBitType: BitType._standard,
|
|
6715
|
+
description: "Extractor images bit, used for images extracted from PDFs",
|
|
6716
|
+
tags: [
|
|
6717
|
+
{
|
|
6718
|
+
key: ConfigKey.group_resourceBitTags,
|
|
6719
|
+
description: "Resource bit tags for logo grave images, used to define additional properties"
|
|
6720
|
+
},
|
|
6721
|
+
{
|
|
6722
|
+
// Image resource
|
|
6723
|
+
key: ConfigKey.group_resourceImage,
|
|
6724
|
+
description: "Resource image tags for logo grave images, used to attach images",
|
|
6725
|
+
minCount: 1,
|
|
6726
|
+
maxCount: Count.infinity
|
|
6727
|
+
}
|
|
6728
|
+
],
|
|
6729
|
+
resourceAttachmentAllowed: false,
|
|
6590
6730
|
textFormatDefault: TextFormat.plainText
|
|
6591
6731
|
},
|
|
6592
|
-
[BitType.
|
|
6732
|
+
[BitType.extractorImagesCollapsible]: {
|
|
6593
6733
|
since: "4.3.0",
|
|
6594
|
-
baseBitType: BitType.
|
|
6595
|
-
description: "Collapsible extractor
|
|
6596
|
-
textFormatDefault: TextFormat.plainText
|
|
6734
|
+
baseBitType: BitType.extractorImages,
|
|
6735
|
+
description: "Collapsible extractor images bit, used for images extracted from PDFs"
|
|
6597
6736
|
},
|
|
6598
6737
|
[BitType.extractorInformation]: {
|
|
6599
6738
|
since: "3.8.0",
|
|
@@ -9560,7 +9699,7 @@ var instance2 = new Config();
|
|
|
9560
9699
|
// src/generated/package_info.ts
|
|
9561
9700
|
var PACKAGE_INFO = {
|
|
9562
9701
|
"name": "@gmb/bitmark-parser-generator",
|
|
9563
|
-
"version": "4.
|
|
9702
|
+
"version": "4.15.0",
|
|
9564
9703
|
"author": "Get More Brain Ltd",
|
|
9565
9704
|
"license": "ISC",
|
|
9566
9705
|
"description": "A bitmark parser and generator using Peggy.js"
|
|
@@ -10027,6 +10166,8 @@ var NodeType = superenum20({
|
|
|
10027
10166
|
customerExternalId: "customerExternalId",
|
|
10028
10167
|
customerId: "customerId",
|
|
10029
10168
|
customerIdValue: "customerIdValue",
|
|
10169
|
+
customerProductId: "customerProductId",
|
|
10170
|
+
customerProductShopLink: "customerProductShopLink",
|
|
10030
10171
|
data: "data",
|
|
10031
10172
|
dataValue: "dataValue",
|
|
10032
10173
|
dataValueValue: "dataValueValue",
|
|
@@ -10208,11 +10349,14 @@ var NodeType = superenum20({
|
|
|
10208
10349
|
list: "list",
|
|
10209
10350
|
listItemIndent: "listItemIndent",
|
|
10210
10351
|
listItemIndentValue: "listItemIndentValue",
|
|
10352
|
+
listPrice: "listPrice",
|
|
10211
10353
|
listValue: "listValue",
|
|
10212
10354
|
location: "location",
|
|
10213
10355
|
locationValue: "locationValue",
|
|
10214
10356
|
machineTranslated: "machineTranslated",
|
|
10215
10357
|
machineTranslatedValue: "machineTranslatedValue",
|
|
10358
|
+
spansPageBreak: "spansPageBreak",
|
|
10359
|
+
spansPageBreakValue: "spansPageBreakValue",
|
|
10216
10360
|
mailingList: "mailingList",
|
|
10217
10361
|
marginNumber: "marginNumber",
|
|
10218
10362
|
marginNumberValue: "marginNumberValue",
|
|
@@ -10993,22 +11137,22 @@ var DeprecatedTextFormat = superenum23({
|
|
|
10993
11137
|
// src/parser/json/TableUtils.ts
|
|
10994
11138
|
function isTableBasicFormat(table) {
|
|
10995
11139
|
const t = table;
|
|
10996
|
-
return !!(t.columns || t.data) && !(t.
|
|
11140
|
+
return !!(t.columns || t.data) && !(t.header || t.body || t.footer);
|
|
10997
11141
|
}
|
|
10998
11142
|
function isTableExtendedFormat(table) {
|
|
10999
11143
|
const t = table;
|
|
11000
|
-
return !!(t.
|
|
11144
|
+
return !!(t.header || t.body || t.footer);
|
|
11001
11145
|
}
|
|
11002
11146
|
function isMixedTableFormat(table) {
|
|
11003
11147
|
const t = table;
|
|
11004
11148
|
const hasOld = !!(t.columns || t.data);
|
|
11005
|
-
const hasNew = !!(t.
|
|
11149
|
+
const hasNew = !!(t.header || t.body || t.footer);
|
|
11006
11150
|
return hasOld && hasNew;
|
|
11007
11151
|
}
|
|
11008
11152
|
function convertBasicToExtendedTableFormat(table) {
|
|
11009
11153
|
const tableExtended = {};
|
|
11010
11154
|
if (table.columns && table.columns.length > 0) {
|
|
11011
|
-
tableExtended.
|
|
11155
|
+
tableExtended.header = {
|
|
11012
11156
|
rows: [
|
|
11013
11157
|
{
|
|
11014
11158
|
cells: table.columns.map((col) => ({
|
|
@@ -11039,7 +11183,7 @@ function convertExtendedToBasicTableFormat(tableExtended) {
|
|
|
11039
11183
|
return row.cells.map((cell) => cell?.content).filter((content) => content !== void 0);
|
|
11040
11184
|
};
|
|
11041
11185
|
const dataRows = [];
|
|
11042
|
-
const headRows = tableExtended.
|
|
11186
|
+
const headRows = tableExtended.header?.rows ?? [];
|
|
11043
11187
|
if (headRows.length > 0) {
|
|
11044
11188
|
const primaryHeader = extractRowCells(headRows[0]);
|
|
11045
11189
|
if (primaryHeader.length > 0) {
|
|
@@ -11065,7 +11209,7 @@ function convertExtendedToBasicTableFormat(tableExtended) {
|
|
|
11065
11209
|
});
|
|
11066
11210
|
};
|
|
11067
11211
|
appendSectionRows(tableExtended.body);
|
|
11068
|
-
appendSectionRows(tableExtended.
|
|
11212
|
+
appendSectionRows(tableExtended.footer);
|
|
11069
11213
|
if (dataRows.length > 0) {
|
|
11070
11214
|
table.data = dataRows;
|
|
11071
11215
|
}
|
|
@@ -22025,7 +22169,8 @@ var ResourceBuilder = class extends BaseBuilder {
|
|
|
22025
22169
|
BitType.imageSeparator,
|
|
22026
22170
|
BitType.pageBanner,
|
|
22027
22171
|
BitType.imagesLogoGrave,
|
|
22028
|
-
BitType.prototypeImages
|
|
22172
|
+
BitType.prototypeImages,
|
|
22173
|
+
BitType.extractorImages
|
|
22029
22174
|
])) {
|
|
22030
22175
|
zoomDisabledDefault = true;
|
|
22031
22176
|
}
|
|
@@ -22976,6 +23121,12 @@ var Builder = class extends BaseBuilder {
|
|
|
22976
23121
|
data.machineTranslated,
|
|
22977
23122
|
options
|
|
22978
23123
|
),
|
|
23124
|
+
spansPageBreak: this.toAstProperty(
|
|
23125
|
+
bitType,
|
|
23126
|
+
ConfigKey.property_spansPageBreak,
|
|
23127
|
+
data.spansPageBreak,
|
|
23128
|
+
options
|
|
23129
|
+
),
|
|
22979
23130
|
searchIndex: this.toAstProperty(
|
|
22980
23131
|
bitType,
|
|
22981
23132
|
ConfigKey.property_searchIndex,
|
|
@@ -23444,6 +23595,19 @@ var Builder = class extends BaseBuilder {
|
|
|
23444
23595
|
data.content2Buy,
|
|
23445
23596
|
options
|
|
23446
23597
|
),
|
|
23598
|
+
listPrice: this.toAstProperty(bitType, ConfigKey.property_listPrice, data.listPrice, options),
|
|
23599
|
+
customerProductId: this.toAstProperty(
|
|
23600
|
+
bitType,
|
|
23601
|
+
ConfigKey.property_customerProductId,
|
|
23602
|
+
data.customerProductId,
|
|
23603
|
+
options
|
|
23604
|
+
),
|
|
23605
|
+
customerProductShopLink: this.toAstProperty(
|
|
23606
|
+
bitType,
|
|
23607
|
+
ConfigKey.property_customerProductShopLink,
|
|
23608
|
+
data.customerProductShopLink,
|
|
23609
|
+
options
|
|
23610
|
+
),
|
|
23447
23611
|
mailingList: this.toAstProperty(
|
|
23448
23612
|
bitType,
|
|
23449
23613
|
ConfigKey.property_mailingList,
|
|
@@ -24365,12 +24529,12 @@ var Builder = class extends BaseBuilder {
|
|
|
24365
24529
|
rows
|
|
24366
24530
|
};
|
|
24367
24531
|
};
|
|
24368
|
-
const
|
|
24369
|
-
if (
|
|
24532
|
+
const header = buildSection(nodeTableExtended.header);
|
|
24533
|
+
if (header && header.rows?.length > 0) nodeTableExtended.header = header;
|
|
24370
24534
|
const body = buildSection(nodeTableExtended.body);
|
|
24371
24535
|
if (body && body.rows?.length > 0) nodeTableExtended.body = body;
|
|
24372
|
-
const
|
|
24373
|
-
if (
|
|
24536
|
+
const footer = buildSection(nodeTableExtended.footer);
|
|
24537
|
+
if (footer && footer.rows?.length > 0) nodeTableExtended.footer = footer;
|
|
24374
24538
|
return node;
|
|
24375
24539
|
}
|
|
24376
24540
|
/**
|
|
@@ -26565,9 +26729,9 @@ var BitmarkGenerator = class extends AstWalkerGenerator {
|
|
|
26565
26729
|
writeAdvancedTable(table) {
|
|
26566
26730
|
const normalized = normalizeTableFormat(BitType.tableExtended, table);
|
|
26567
26731
|
const sections = [
|
|
26568
|
-
{ key: "
|
|
26569
|
-
{ key: "
|
|
26570
|
-
{ key: "
|
|
26732
|
+
{ key: "header", qualifier: "table-header", section: normalized.header },
|
|
26733
|
+
{ key: "body", qualifier: void 0, section: normalized.body },
|
|
26734
|
+
{ key: "footer", qualifier: "table-footer", section: normalized.footer }
|
|
26571
26735
|
];
|
|
26572
26736
|
let rowCount = 0;
|
|
26573
26737
|
for (const { key, qualifier, section } of sections) {
|
|
@@ -26595,7 +26759,7 @@ var BitmarkGenerator = class extends AstWalkerGenerator {
|
|
|
26595
26759
|
}
|
|
26596
26760
|
}
|
|
26597
26761
|
writeTableCell(cell, section) {
|
|
26598
|
-
const defaultCellType = section === "
|
|
26762
|
+
const defaultCellType = section === "body" ? "td" : "th";
|
|
26599
26763
|
const cellType = cell.title ? "th" : "td";
|
|
26600
26764
|
if (cellType !== defaultCellType) {
|
|
26601
26765
|
this.writeTableCellProperty("tableCellType", cellType);
|
|
@@ -27150,6 +27314,7 @@ var BitmarkGenerator = class extends AstWalkerGenerator {
|
|
|
27150
27314
|
this.writeNL();
|
|
27151
27315
|
this.writeTextOrValue(node.value, this.textFormat, TextLocation.body);
|
|
27152
27316
|
}
|
|
27317
|
+
return false;
|
|
27153
27318
|
}
|
|
27154
27319
|
// bitmarkAst -> bits -> bitsValue -> body -> bodyValue -> gap -> solutions -> solution
|
|
27155
27320
|
// ? -> solutions -> solution
|
|
@@ -27231,11 +27396,12 @@ var BitmarkGenerator = class extends AstWalkerGenerator {
|
|
|
27231
27396
|
// bitmarkAst -> bits -> bitsValue -> cardNode -> questions -> questionsValue -> question
|
|
27232
27397
|
enter_question(node, route) {
|
|
27233
27398
|
const parent = this.getParentNode(route);
|
|
27234
|
-
if (parent?.key !== NodeType.questionsValue) return;
|
|
27399
|
+
if (parent?.key !== NodeType.questionsValue) return true;
|
|
27235
27400
|
if (node.value) {
|
|
27236
27401
|
this.writeNL();
|
|
27237
27402
|
this.writeTextOrValue(node.value, this.textFormat, TextLocation.body);
|
|
27238
27403
|
}
|
|
27404
|
+
return false;
|
|
27239
27405
|
}
|
|
27240
27406
|
// bitmarkAst -> bits -> bitsValue -> cardNode -> flashcards -> flashcardsValue -> question
|
|
27241
27407
|
leaf_question(node, route) {
|
|
@@ -27296,7 +27462,8 @@ var BitmarkGenerator = class extends AstWalkerGenerator {
|
|
|
27296
27462
|
BitType.imageSeparator,
|
|
27297
27463
|
BitType.pageBanner,
|
|
27298
27464
|
BitType.imagesLogoGrave,
|
|
27299
|
-
BitType.prototypeImages
|
|
27465
|
+
BitType.prototypeImages,
|
|
27466
|
+
BitType.extractorImages
|
|
27300
27467
|
])) {
|
|
27301
27468
|
this.writeProperty("zoomDisabled", node.value, route, {
|
|
27302
27469
|
format: TagFormat.boolean,
|
|
@@ -28504,7 +28671,11 @@ var JsonGenerator = class extends AstWalkerGenerator {
|
|
|
28504
28671
|
}
|
|
28505
28672
|
resourceJson = wrapper;
|
|
28506
28673
|
}
|
|
28507
|
-
} else if (instance2.isOfBitType(bitType, [
|
|
28674
|
+
} else if (instance2.isOfBitType(bitType, [
|
|
28675
|
+
BitType.imagesLogoGrave,
|
|
28676
|
+
BitType.prototypeImages,
|
|
28677
|
+
BitType.extractorImages
|
|
28678
|
+
])) {
|
|
28508
28679
|
const images = [];
|
|
28509
28680
|
for (const r of resources) {
|
|
28510
28681
|
if (r.type === ResourceType.image) {
|
|
@@ -29081,7 +29252,11 @@ var JsonGenerator = class extends AstWalkerGenerator {
|
|
|
29081
29252
|
if (bitJson.resolvedDate == null) bitJson.resolvedDate = "";
|
|
29082
29253
|
if (bitJson.resolvedBy == null) bitJson.resolvedBy = "";
|
|
29083
29254
|
}
|
|
29084
|
-
if (instance2.isOfBitType(bitType, [
|
|
29255
|
+
if (instance2.isOfBitType(bitType, [
|
|
29256
|
+
BitType.imagesLogoGrave,
|
|
29257
|
+
BitType.prototypeImages,
|
|
29258
|
+
BitType.extractorImages
|
|
29259
|
+
])) {
|
|
29085
29260
|
if (bitType === BitType.imagesLogoGrave) {
|
|
29086
29261
|
if (bitJson.logos == null) {
|
|
29087
29262
|
bitJson.logos = [];
|
|
@@ -29509,7 +29684,7 @@ var JsonParser = class {
|
|
|
29509
29684
|
processResources(bitType, resource, images, logos) {
|
|
29510
29685
|
const nodes = [];
|
|
29511
29686
|
if (resource) nodes.push(resource);
|
|
29512
|
-
if (instance2.isOfBitType(bitType, [BitType.prototypeImages])) {
|
|
29687
|
+
if (instance2.isOfBitType(bitType, [BitType.prototypeImages, BitType.extractorImages])) {
|
|
29513
29688
|
if (Array.isArray(images)) {
|
|
29514
29689
|
for (const image of images) {
|
|
29515
29690
|
if (image) nodes.push(image);
|
|
@@ -31719,17 +31894,17 @@ function parsePronunciationTable(_context, _bitType, cardSet) {
|
|
|
31719
31894
|
}
|
|
31720
31895
|
function parseTable(context, _bitType, cardSet) {
|
|
31721
31896
|
const sectionRows = {
|
|
31722
|
-
|
|
31723
|
-
|
|
31724
|
-
|
|
31897
|
+
header: [],
|
|
31898
|
+
body: [],
|
|
31899
|
+
footer: []
|
|
31725
31900
|
};
|
|
31726
31901
|
const getNormalizedQualifier = (rawQualifier) => {
|
|
31727
31902
|
if (!rawQualifier) return void 0;
|
|
31728
31903
|
const normalized = rawQualifier.trim().toLowerCase();
|
|
31729
|
-
if (normalized === "
|
|
31730
|
-
|
|
31731
|
-
|
|
31732
|
-
context.addWarning(`Unknown table section qualifier '${rawQualifier}', defaulting to
|
|
31904
|
+
if (normalized === "table-header") return "header";
|
|
31905
|
+
if (normalized === "table-body") return "body";
|
|
31906
|
+
if (normalized === "table-footer") return "footer";
|
|
31907
|
+
context.addWarning(`Unknown table section qualifier '${rawQualifier}', defaulting to body.`);
|
|
31733
31908
|
return void 0;
|
|
31734
31909
|
};
|
|
31735
31910
|
const isLegacyHeadingRow = (card, cardIndex) => {
|
|
@@ -31766,7 +31941,7 @@ function parseTable(context, _bitType, cardSet) {
|
|
|
31766
31941
|
`Invalid table cell type '${raw}', using default for section '${section}'.`
|
|
31767
31942
|
);
|
|
31768
31943
|
}
|
|
31769
|
-
return section === "
|
|
31944
|
+
return section === "body" ? "td" : "th";
|
|
31770
31945
|
};
|
|
31771
31946
|
const normalizeSpan = (raw, kind) => {
|
|
31772
31947
|
if (raw == null) return 1;
|
|
@@ -31834,7 +32009,7 @@ function parseTable(context, _bitType, cardSet) {
|
|
|
31834
32009
|
for (let cardIdx = 0; cardIdx < cardSet.cards.length; cardIdx++) {
|
|
31835
32010
|
const card = cardSet.cards[cardIdx];
|
|
31836
32011
|
const qualifier = resolveSectionQualifier(card);
|
|
31837
|
-
const section = qualifier ? qualifier : isLegacyHeadingRow(card, cardIdx) ? "
|
|
32012
|
+
const section = qualifier ? qualifier : isLegacyHeadingRow(card, cardIdx) ? "header" : "body";
|
|
31838
32013
|
const cells = [];
|
|
31839
32014
|
for (const side of card.sides) {
|
|
31840
32015
|
for (const variant of side.variants) {
|
|
@@ -31846,28 +32021,28 @@ function parseTable(context, _bitType, cardSet) {
|
|
|
31846
32021
|
});
|
|
31847
32022
|
}
|
|
31848
32023
|
const table = {};
|
|
31849
|
-
const hasHeadRows = sectionRows.
|
|
31850
|
-
const hasBodyRows = sectionRows.
|
|
31851
|
-
const hasFootRows = sectionRows.
|
|
32024
|
+
const hasHeadRows = sectionRows.header.length > 0;
|
|
32025
|
+
const hasBodyRows = sectionRows.body.length > 0;
|
|
32026
|
+
const hasFootRows = sectionRows.footer.length > 0;
|
|
31852
32027
|
if (hasHeadRows) {
|
|
31853
|
-
table.
|
|
31854
|
-
rows: sectionRows.
|
|
32028
|
+
table.header = {
|
|
32029
|
+
rows: sectionRows.header
|
|
31855
32030
|
};
|
|
31856
32031
|
}
|
|
31857
32032
|
if (hasBodyRows) {
|
|
31858
32033
|
table.body = {
|
|
31859
|
-
rows: sectionRows.
|
|
32034
|
+
rows: sectionRows.body
|
|
31860
32035
|
};
|
|
31861
32036
|
}
|
|
31862
32037
|
if (hasFootRows) {
|
|
31863
|
-
table.
|
|
31864
|
-
rows: sectionRows.
|
|
32038
|
+
table.footer = {
|
|
32039
|
+
rows: sectionRows.footer
|
|
31865
32040
|
};
|
|
31866
32041
|
}
|
|
31867
32042
|
if (!hasHeadRows && !hasBodyRows && !hasFootRows) {
|
|
31868
|
-
table.
|
|
32043
|
+
table.header = { rows: [] };
|
|
31869
32044
|
table.body = { rows: [] };
|
|
31870
|
-
table.
|
|
32045
|
+
table.footer = { rows: [] };
|
|
31871
32046
|
}
|
|
31872
32047
|
return { table };
|
|
31873
32048
|
}
|