@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
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8"/>
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
6
|
-
<title>@gmb/bitmark-parser-generator [
|
|
6
|
+
<title>@gmb/bitmark-parser-generator [28 Oct 2025 at 21:47]</title>
|
|
7
7
|
<link rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAABrVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+O1foceMD///+J0/qK1Pr7/v8Xdr/9///W8P4UdL7L7P0Scr2r4Pyj3vwad8D5/f/2/f+55f3E6f34+/2H0/ojfMKpzOd0rNgQcb3F3O/j9f7c8v6g3Pz0/P/w+v/q+P7n9v6T1/uQ1vuE0vqLut/y+v+Z2fvt+f+15Pzv9fuc2/vR7v2V2Pvd6/bg9P7I6/285/2y4/yp3/zp8vk8i8kqgMT7/P31+fyv4vxGkcz6/P6/6P3j7vfS5PNnpNUxhcbO7f7F6v3O4vHK3/DA2u631Ouy0eqXweKJud5wqthfoNMMbLvY8f73+v2dxeR8sNtTmdDx9/zX6PSjyeaCtd1YnNGX2PuQveCGt95Nls42h8dLlM3F4vBtAAAAM3RSTlMAAyOx0/sKBvik8opWGBMOAe3l1snDm2E9LSb06eHcu5JpHbarfHZCN9CBb08zzkdNS0kYaptYAAAFV0lEQVRYw92X51/aYBDHHS2O2qqttVbrqNq9m+TJIAYIShBkWwqIiCgoWvfeq7Z2/s29hyQNyUcR7LveGwVyXy6XH8/9rqxglLfUPLxVduUor3h0rfp2TYvpivk37929TkG037hffoX0+peVtZQc1589rigVUdXS/ABSAyEmGIO/1XfvldSK8vs3OqB6u3m0nxmIrvgB0dj7rr7Y9IbuF68hnfFaiHA/sxqm0wciIG43P60qKv9WXWc1RXGh/mFESFABTSBi0sNAKzqet17eCtOb3kZIDwxEEU0oAIJGYxNBDhBND29e0rtXXbcpuPmED9IhEAAQ/AXEaF8EPmnrrKsv0LvWR3fg5sWDNAFZOgAgaKvZDogHNU9MFwnnYROkc56RD5CjAbQX9Ow4g7upCsvYu55aSI/Nj0H1akgKQEUM94dwK65hYRmFU9MIcH/fqJYOZYcnuJSU/waKDgTOEVaVKhwrTRP5XzgSpAITYzom7UvkhFX5VutmxeNnWDjjswTKTyfgluNDGbUpWissXhF3s7mlSml+czWkg3D0l1nNjGNjz3myOQOa1KM/jOS6ebdbAVTCi4gljHSFrviza7tOgRWcS0MOUX9zdNgag5w7rRqA44Lzw0hr1WqES36dFliSJFlh2rXIae3FFcDDgKdxrUIDePr8jGcSClV1u7A9xeN0ModY/pHMxmR1EzRh8TJiwqsHmKW0l4FCEZI+jHio+JdPPE9qwQtTRxku2D8sIeRL2LnxWSllANCQGOIiqVHAz2ye2JR0DcH+HoxDkaADLjgxjKQ+AwCX/g0+DNgdG0ukYCONAe+dbc2IAc6fwt1ARoDSezNHxV2Cmzwv3O6lDMV55edBGwGK9n1+x2F8EDfAGCxug8MhpsMEcTEAWf3rx2vZhe/LAmtIn/6apE6PN0ULKgywD9mmdxbmFl3OvD5AS5fW5zLbv/YHmcsBTjf/afDz3MaZTVCfAP9z6/Bw6ycv8EUBWJIn9zYcoAWWlW9+OzO3vkTy8H+RANLmdrpOuYWdZYEXpo+TlCJrW5EARb7fF+bWdqf3hhyZI1nWJQHgznErZhbjoEsWqi8dQNoE294aldzFurwSABL2XXMf9+H1VQGke9exw5P/AnA5Pv5ngMul7LOvO922iwACu8WkCwLCafvM4CeWPxfA8lNHcWZSoi8EwMAIciKX2Z4SWCMAa3snCZ/G4EA8D6CMLNFsGQhkkz/gQNEBbPCbWsxGUpYVu3z8IyNAknwJkfPMEhLyrdi5RTyUVACkw4GSFRNWJNEW+fgPGwHD8/JxnRuLabN4CGNRkAE23na2+VmEAUmrYymSGjMAYqH84YUIyzgzs3XC7gNgH36Vcc4zKY9o9fgPBXUAiHHwVboBHGLiX6Zcjp1f2wu4tvzZKo0ecPnDtQYDQvJXaBeNzce45Fp28ZQLrEZVuFqgBwOalArKXnW1UzlnSusQKJqKYNuz4tOnI6sZG4zanpemv+7ySU2jbA9h6uhcgpfy6G2PahirDZ6zvq6zDduMVFTKvzw8wgyEdelwY9in3XkEPs3osJuwRQ4qTkfzifndg9Gfc4pdsu82+tTnHZTBa2EAMrqr2t43pguc8tNm7JQVQ2S0ukj2d22dhXYP0/veWtwKrCkNoNimAN5+Xr/oLrxswKbVJjteWrX7eR63o4j9q0GxnaBdWgGA5VStpanIjQmEhV0/nVt5VOFUvix6awJhPcAaTEShgrG+iGyvb5a0Ndb1YGHFPEwoqAinoaykaID1o1pdPNu7XsnCKQ3R+hwWIIhGvORcJUBYXe3Xa3vq/mF/N9V13ugufMkfXn+KHsRD0B8AAAAASUVORK5CYII=" type="image/x-icon" />
|
|
8
8
|
|
|
9
9
|
<script>
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
<body>
|
|
32
32
|
<div id="app"></div>
|
|
33
33
|
<script>
|
|
34
|
-
window.chartData = [{"label":"bitmark-parser-generator.min.js","isAsset":true,"statSize":
|
|
34
|
+
window.chartData = [{"label":"bitmark-parser-generator.min.js","isAsset":true,"statSize":1206537,"parsedSize":530100,"gzipSize":103036,"groups":[{"label":"dist/browser/cjs","path":"./dist/browser/cjs","statSize":1199557,"groups":[{"id":922,"label":"index.cjs","path":"./dist/browser/cjs/index.cjs","statSize":1199557,"parsedSize":529996,"gzipSize":103036}],"parsedSize":529996,"gzipSize":103036},{"label":"node_modules/@ncoderz/superenum/dist/esm","path":"./node_modules/@ncoderz/superenum/dist/esm","statSize":6980,"groups":[{"id":718,"label":"superenum.js","path":"./node_modules/@ncoderz/superenum/dist/esm/superenum.js","statSize":6980}],"parsedSize":0,"gzipSize":0}],"isInitialByEntrypoint":{"main":true}}];
|
|
35
35
|
window.entrypoints = ["main"];
|
|
36
36
|
window.defaultSizes = "stat";
|
|
37
37
|
</script>
|
|
@@ -167,6 +167,9 @@ var BitType = (0, import_superenum.superenum)({
|
|
|
167
167
|
bugAlt: "bug-alt",
|
|
168
168
|
bugCollapsible: "bug-collapsible",
|
|
169
169
|
buttonCopyText: "button-copy-text",
|
|
170
|
+
catalogItemBook: "catalog-item-book",
|
|
171
|
+
catalogItemExternalBook: "catalog-item-external-book",
|
|
172
|
+
catalogItemProduct: "catalog-item-product",
|
|
170
173
|
callToAction: "call-to-action",
|
|
171
174
|
callToActionBookNow: "call-to-action-book-now",
|
|
172
175
|
callToActionContact: "call-to-action-contact",
|
|
@@ -288,8 +291,8 @@ var BitType = (0, import_superenum.superenum)({
|
|
|
288
291
|
extractorAiChat: "extractor-ai-chat",
|
|
289
292
|
extractorBlock: "extractor-block",
|
|
290
293
|
extractorConfiguration: "extractor-configuration",
|
|
291
|
-
|
|
292
|
-
|
|
294
|
+
extractorImages: "extractor-images",
|
|
295
|
+
extractorImagesCollapsible: "extractor-images-collapsible",
|
|
293
296
|
extractorInformation: "extractor-information",
|
|
294
297
|
extractorPage: "extractor-page",
|
|
295
298
|
extractorPageCollapsible: "extractor-page-collapsible",
|
|
@@ -1194,6 +1197,9 @@ var propertyKeys = {
|
|
|
1194
1197
|
property_colorTag: "@colorTag",
|
|
1195
1198
|
property_computerLanguage: "@computerLanguage",
|
|
1196
1199
|
property_content2Buy: "@content2Buy",
|
|
1200
|
+
property_listPrice: "@listPrice",
|
|
1201
|
+
property_customerProductId: "@customerProductId",
|
|
1202
|
+
property_customerProductShopLink: "@customerProductShopLink",
|
|
1197
1203
|
property_copyright: "@copyright",
|
|
1198
1204
|
property_coverColor: "@coverColor",
|
|
1199
1205
|
property_coverImage: "@coverImage",
|
|
@@ -1267,6 +1273,7 @@ var propertyKeys = {
|
|
|
1267
1273
|
property_listItemIndent: "@listItemIndent",
|
|
1268
1274
|
property_location: "@location",
|
|
1269
1275
|
property_machineTranslated: "@machineTranslated",
|
|
1276
|
+
property_spansPageBreak: "@spansPageBreak",
|
|
1270
1277
|
property_mailingList: "@mailingList",
|
|
1271
1278
|
property_mark: "@mark",
|
|
1272
1279
|
property_maxCreatedBits: "@maxCreatedBits",
|
|
@@ -2736,6 +2743,11 @@ var GROUPS = {
|
|
|
2736
2743
|
description: "If true, the bit is machine-translated",
|
|
2737
2744
|
format: TagFormat.plainText
|
|
2738
2745
|
},
|
|
2746
|
+
{
|
|
2747
|
+
key: ConfigKey.property_spansPageBreak,
|
|
2748
|
+
description: "If true, the bit spans a page break",
|
|
2749
|
+
format: TagFormat.boolean
|
|
2750
|
+
},
|
|
2739
2751
|
{
|
|
2740
2752
|
key: ConfigKey.property_searchIndex,
|
|
2741
2753
|
description: "The search index(es) for the bit",
|
|
@@ -4545,6 +4557,120 @@ var BITS = {
|
|
|
4545
4557
|
}
|
|
4546
4558
|
]
|
|
4547
4559
|
},
|
|
4560
|
+
[BitType.catalogItemBook]: {
|
|
4561
|
+
since: "4.15.0",
|
|
4562
|
+
baseBitType: BitType._standard,
|
|
4563
|
+
description: "Catalog item book bit, used to represent a book product in a catalog with cover and description",
|
|
4564
|
+
tags: [
|
|
4565
|
+
{
|
|
4566
|
+
key: ConfigKey.tag_title,
|
|
4567
|
+
description: "Title and subtitle of the catalog item",
|
|
4568
|
+
maxCount: 2
|
|
4569
|
+
},
|
|
4570
|
+
{
|
|
4571
|
+
key: ConfigKey.property_coverImage,
|
|
4572
|
+
description: "Cover image of the catalog item",
|
|
4573
|
+
format: TagFormat.plainText
|
|
4574
|
+
},
|
|
4575
|
+
{
|
|
4576
|
+
key: ConfigKey.property_content2Buy,
|
|
4577
|
+
description: "Content to buy identifier",
|
|
4578
|
+
format: TagFormat.plainText
|
|
4579
|
+
},
|
|
4580
|
+
{
|
|
4581
|
+
key: ConfigKey.property_listPrice,
|
|
4582
|
+
description: "List price of the catalog item",
|
|
4583
|
+
format: TagFormat.plainText
|
|
4584
|
+
},
|
|
4585
|
+
{
|
|
4586
|
+
key: ConfigKey.property_buttonCaption,
|
|
4587
|
+
description: "Caption for the buy button",
|
|
4588
|
+
format: TagFormat.plainText
|
|
4589
|
+
},
|
|
4590
|
+
{
|
|
4591
|
+
key: ConfigKey.property_customerProductId,
|
|
4592
|
+
description: "Customer-specific product identifier",
|
|
4593
|
+
format: TagFormat.plainText
|
|
4594
|
+
}
|
|
4595
|
+
],
|
|
4596
|
+
rootExampleType: ExampleType.string
|
|
4597
|
+
},
|
|
4598
|
+
[BitType.catalogItemExternalBook]: {
|
|
4599
|
+
since: "4.15.0",
|
|
4600
|
+
baseBitType: BitType._standard,
|
|
4601
|
+
description: "Catalog item external book bit, used to represent an external book product in a catalog with link to external shop",
|
|
4602
|
+
tags: [
|
|
4603
|
+
{
|
|
4604
|
+
key: ConfigKey.tag_title,
|
|
4605
|
+
description: "Title and subtitle of the catalog item",
|
|
4606
|
+
maxCount: 2
|
|
4607
|
+
},
|
|
4608
|
+
{
|
|
4609
|
+
key: ConfigKey.property_coverImage,
|
|
4610
|
+
description: "Cover image of the catalog item",
|
|
4611
|
+
format: TagFormat.plainText
|
|
4612
|
+
},
|
|
4613
|
+
{
|
|
4614
|
+
key: ConfigKey.property_customerProductShopLink,
|
|
4615
|
+
description: "Link to external shop for the product",
|
|
4616
|
+
format: TagFormat.plainText
|
|
4617
|
+
},
|
|
4618
|
+
{
|
|
4619
|
+
key: ConfigKey.property_listPrice,
|
|
4620
|
+
description: "List price of the catalog item",
|
|
4621
|
+
format: TagFormat.plainText
|
|
4622
|
+
},
|
|
4623
|
+
{
|
|
4624
|
+
key: ConfigKey.property_buttonCaption,
|
|
4625
|
+
description: "Caption for the buy button",
|
|
4626
|
+
format: TagFormat.plainText
|
|
4627
|
+
},
|
|
4628
|
+
{
|
|
4629
|
+
key: ConfigKey.property_customerProductId,
|
|
4630
|
+
description: "Customer-specific product identifier",
|
|
4631
|
+
format: TagFormat.plainText
|
|
4632
|
+
}
|
|
4633
|
+
],
|
|
4634
|
+
rootExampleType: ExampleType.string
|
|
4635
|
+
},
|
|
4636
|
+
[BitType.catalogItemProduct]: {
|
|
4637
|
+
since: "4.15.0",
|
|
4638
|
+
baseBitType: BitType._standard,
|
|
4639
|
+
description: "Catalog item product bit, used to represent a general product in a catalog with cover and description",
|
|
4640
|
+
tags: [
|
|
4641
|
+
{
|
|
4642
|
+
key: ConfigKey.tag_title,
|
|
4643
|
+
description: "Title and subtitle of the catalog item",
|
|
4644
|
+
maxCount: 2
|
|
4645
|
+
},
|
|
4646
|
+
{
|
|
4647
|
+
key: ConfigKey.property_coverImage,
|
|
4648
|
+
description: "Cover image of the catalog item",
|
|
4649
|
+
format: TagFormat.plainText
|
|
4650
|
+
},
|
|
4651
|
+
{
|
|
4652
|
+
key: ConfigKey.property_content2Buy,
|
|
4653
|
+
description: "Content to buy identifier",
|
|
4654
|
+
format: TagFormat.plainText
|
|
4655
|
+
},
|
|
4656
|
+
{
|
|
4657
|
+
key: ConfigKey.property_listPrice,
|
|
4658
|
+
description: "List price of the catalog item",
|
|
4659
|
+
format: TagFormat.plainText
|
|
4660
|
+
},
|
|
4661
|
+
{
|
|
4662
|
+
key: ConfigKey.property_buttonCaption,
|
|
4663
|
+
description: "Caption for the buy button",
|
|
4664
|
+
format: TagFormat.plainText
|
|
4665
|
+
},
|
|
4666
|
+
{
|
|
4667
|
+
key: ConfigKey.property_customerProductId,
|
|
4668
|
+
description: "Customer-specific product identifier",
|
|
4669
|
+
format: TagFormat.plainText
|
|
4670
|
+
}
|
|
4671
|
+
],
|
|
4672
|
+
rootExampleType: ExampleType.string
|
|
4673
|
+
},
|
|
4548
4674
|
[BitType.callToAction]: {
|
|
4549
4675
|
since: "1.15.0",
|
|
4550
4676
|
baseBitType: BitType._standard,
|
|
@@ -6628,17 +6754,30 @@ var BITS = {
|
|
|
6628
6754
|
description: "Extractor configuration bit, used to configure extractors in articles or books",
|
|
6629
6755
|
textFormatDefault: TextFormat2.plainText
|
|
6630
6756
|
},
|
|
6631
|
-
[BitType.
|
|
6757
|
+
[BitType.extractorImages]: {
|
|
6632
6758
|
since: "4.3.0",
|
|
6633
|
-
baseBitType: BitType.
|
|
6634
|
-
description: "Extractor
|
|
6759
|
+
baseBitType: BitType._standard,
|
|
6760
|
+
description: "Extractor images bit, used for images extracted from PDFs",
|
|
6761
|
+
tags: [
|
|
6762
|
+
{
|
|
6763
|
+
key: ConfigKey.group_resourceBitTags,
|
|
6764
|
+
description: "Resource bit tags for logo grave images, used to define additional properties"
|
|
6765
|
+
},
|
|
6766
|
+
{
|
|
6767
|
+
// Image resource
|
|
6768
|
+
key: ConfigKey.group_resourceImage,
|
|
6769
|
+
description: "Resource image tags for logo grave images, used to attach images",
|
|
6770
|
+
minCount: 1,
|
|
6771
|
+
maxCount: Count.infinity
|
|
6772
|
+
}
|
|
6773
|
+
],
|
|
6774
|
+
resourceAttachmentAllowed: false,
|
|
6635
6775
|
textFormatDefault: TextFormat2.plainText
|
|
6636
6776
|
},
|
|
6637
|
-
[BitType.
|
|
6777
|
+
[BitType.extractorImagesCollapsible]: {
|
|
6638
6778
|
since: "4.3.0",
|
|
6639
|
-
baseBitType: BitType.
|
|
6640
|
-
description: "Collapsible extractor
|
|
6641
|
-
textFormatDefault: TextFormat2.plainText
|
|
6779
|
+
baseBitType: BitType.extractorImages,
|
|
6780
|
+
description: "Collapsible extractor images bit, used for images extracted from PDFs"
|
|
6642
6781
|
},
|
|
6643
6782
|
[BitType.extractorInformation]: {
|
|
6644
6783
|
since: "3.8.0",
|
|
@@ -9605,7 +9744,7 @@ var instance2 = new Config();
|
|
|
9605
9744
|
// src/generated/package_info.ts
|
|
9606
9745
|
var PACKAGE_INFO = {
|
|
9607
9746
|
"name": "@gmb/bitmark-parser-generator",
|
|
9608
|
-
"version": "4.
|
|
9747
|
+
"version": "4.15.0",
|
|
9609
9748
|
"author": "Get More Brain Ltd",
|
|
9610
9749
|
"license": "ISC",
|
|
9611
9750
|
"description": "A bitmark parser and generator using Peggy.js"
|
|
@@ -10072,6 +10211,8 @@ var NodeType = (0, import_superenum20.superenum)({
|
|
|
10072
10211
|
customerExternalId: "customerExternalId",
|
|
10073
10212
|
customerId: "customerId",
|
|
10074
10213
|
customerIdValue: "customerIdValue",
|
|
10214
|
+
customerProductId: "customerProductId",
|
|
10215
|
+
customerProductShopLink: "customerProductShopLink",
|
|
10075
10216
|
data: "data",
|
|
10076
10217
|
dataValue: "dataValue",
|
|
10077
10218
|
dataValueValue: "dataValueValue",
|
|
@@ -10253,11 +10394,14 @@ var NodeType = (0, import_superenum20.superenum)({
|
|
|
10253
10394
|
list: "list",
|
|
10254
10395
|
listItemIndent: "listItemIndent",
|
|
10255
10396
|
listItemIndentValue: "listItemIndentValue",
|
|
10397
|
+
listPrice: "listPrice",
|
|
10256
10398
|
listValue: "listValue",
|
|
10257
10399
|
location: "location",
|
|
10258
10400
|
locationValue: "locationValue",
|
|
10259
10401
|
machineTranslated: "machineTranslated",
|
|
10260
10402
|
machineTranslatedValue: "machineTranslatedValue",
|
|
10403
|
+
spansPageBreak: "spansPageBreak",
|
|
10404
|
+
spansPageBreakValue: "spansPageBreakValue",
|
|
10261
10405
|
mailingList: "mailingList",
|
|
10262
10406
|
marginNumber: "marginNumber",
|
|
10263
10407
|
marginNumberValue: "marginNumberValue",
|
|
@@ -11038,22 +11182,22 @@ var DeprecatedTextFormat = (0, import_superenum23.superenum)({
|
|
|
11038
11182
|
// src/parser/json/TableUtils.ts
|
|
11039
11183
|
function isTableBasicFormat(table) {
|
|
11040
11184
|
const t = table;
|
|
11041
|
-
return !!(t.columns || t.data) && !(t.
|
|
11185
|
+
return !!(t.columns || t.data) && !(t.header || t.body || t.footer);
|
|
11042
11186
|
}
|
|
11043
11187
|
function isTableExtendedFormat(table) {
|
|
11044
11188
|
const t = table;
|
|
11045
|
-
return !!(t.
|
|
11189
|
+
return !!(t.header || t.body || t.footer);
|
|
11046
11190
|
}
|
|
11047
11191
|
function isMixedTableFormat(table) {
|
|
11048
11192
|
const t = table;
|
|
11049
11193
|
const hasOld = !!(t.columns || t.data);
|
|
11050
|
-
const hasNew = !!(t.
|
|
11194
|
+
const hasNew = !!(t.header || t.body || t.footer);
|
|
11051
11195
|
return hasOld && hasNew;
|
|
11052
11196
|
}
|
|
11053
11197
|
function convertBasicToExtendedTableFormat(table) {
|
|
11054
11198
|
const tableExtended = {};
|
|
11055
11199
|
if (table.columns && table.columns.length > 0) {
|
|
11056
|
-
tableExtended.
|
|
11200
|
+
tableExtended.header = {
|
|
11057
11201
|
rows: [
|
|
11058
11202
|
{
|
|
11059
11203
|
cells: table.columns.map((col) => ({
|
|
@@ -11084,7 +11228,7 @@ function convertExtendedToBasicTableFormat(tableExtended) {
|
|
|
11084
11228
|
return row.cells.map((cell) => cell?.content).filter((content) => content !== void 0);
|
|
11085
11229
|
};
|
|
11086
11230
|
const dataRows = [];
|
|
11087
|
-
const headRows = tableExtended.
|
|
11231
|
+
const headRows = tableExtended.header?.rows ?? [];
|
|
11088
11232
|
if (headRows.length > 0) {
|
|
11089
11233
|
const primaryHeader = extractRowCells(headRows[0]);
|
|
11090
11234
|
if (primaryHeader.length > 0) {
|
|
@@ -11110,7 +11254,7 @@ function convertExtendedToBasicTableFormat(tableExtended) {
|
|
|
11110
11254
|
});
|
|
11111
11255
|
};
|
|
11112
11256
|
appendSectionRows(tableExtended.body);
|
|
11113
|
-
appendSectionRows(tableExtended.
|
|
11257
|
+
appendSectionRows(tableExtended.footer);
|
|
11114
11258
|
if (dataRows.length > 0) {
|
|
11115
11259
|
table.data = dataRows;
|
|
11116
11260
|
}
|
|
@@ -22070,7 +22214,8 @@ var ResourceBuilder = class extends BaseBuilder {
|
|
|
22070
22214
|
BitType.imageSeparator,
|
|
22071
22215
|
BitType.pageBanner,
|
|
22072
22216
|
BitType.imagesLogoGrave,
|
|
22073
|
-
BitType.prototypeImages
|
|
22217
|
+
BitType.prototypeImages,
|
|
22218
|
+
BitType.extractorImages
|
|
22074
22219
|
])) {
|
|
22075
22220
|
zoomDisabledDefault = true;
|
|
22076
22221
|
}
|
|
@@ -23021,6 +23166,12 @@ var Builder = class extends BaseBuilder {
|
|
|
23021
23166
|
data.machineTranslated,
|
|
23022
23167
|
options
|
|
23023
23168
|
),
|
|
23169
|
+
spansPageBreak: this.toAstProperty(
|
|
23170
|
+
bitType,
|
|
23171
|
+
ConfigKey.property_spansPageBreak,
|
|
23172
|
+
data.spansPageBreak,
|
|
23173
|
+
options
|
|
23174
|
+
),
|
|
23024
23175
|
searchIndex: this.toAstProperty(
|
|
23025
23176
|
bitType,
|
|
23026
23177
|
ConfigKey.property_searchIndex,
|
|
@@ -23489,6 +23640,19 @@ var Builder = class extends BaseBuilder {
|
|
|
23489
23640
|
data.content2Buy,
|
|
23490
23641
|
options
|
|
23491
23642
|
),
|
|
23643
|
+
listPrice: this.toAstProperty(bitType, ConfigKey.property_listPrice, data.listPrice, options),
|
|
23644
|
+
customerProductId: this.toAstProperty(
|
|
23645
|
+
bitType,
|
|
23646
|
+
ConfigKey.property_customerProductId,
|
|
23647
|
+
data.customerProductId,
|
|
23648
|
+
options
|
|
23649
|
+
),
|
|
23650
|
+
customerProductShopLink: this.toAstProperty(
|
|
23651
|
+
bitType,
|
|
23652
|
+
ConfigKey.property_customerProductShopLink,
|
|
23653
|
+
data.customerProductShopLink,
|
|
23654
|
+
options
|
|
23655
|
+
),
|
|
23492
23656
|
mailingList: this.toAstProperty(
|
|
23493
23657
|
bitType,
|
|
23494
23658
|
ConfigKey.property_mailingList,
|
|
@@ -24410,12 +24574,12 @@ var Builder = class extends BaseBuilder {
|
|
|
24410
24574
|
rows
|
|
24411
24575
|
};
|
|
24412
24576
|
};
|
|
24413
|
-
const
|
|
24414
|
-
if (
|
|
24577
|
+
const header = buildSection(nodeTableExtended.header);
|
|
24578
|
+
if (header && header.rows?.length > 0) nodeTableExtended.header = header;
|
|
24415
24579
|
const body = buildSection(nodeTableExtended.body);
|
|
24416
24580
|
if (body && body.rows?.length > 0) nodeTableExtended.body = body;
|
|
24417
|
-
const
|
|
24418
|
-
if (
|
|
24581
|
+
const footer = buildSection(nodeTableExtended.footer);
|
|
24582
|
+
if (footer && footer.rows?.length > 0) nodeTableExtended.footer = footer;
|
|
24419
24583
|
return node;
|
|
24420
24584
|
}
|
|
24421
24585
|
/**
|
|
@@ -26610,9 +26774,9 @@ var BitmarkGenerator = class extends AstWalkerGenerator {
|
|
|
26610
26774
|
writeAdvancedTable(table) {
|
|
26611
26775
|
const normalized = normalizeTableFormat(BitType.tableExtended, table);
|
|
26612
26776
|
const sections = [
|
|
26613
|
-
{ key: "
|
|
26614
|
-
{ key: "
|
|
26615
|
-
{ key: "
|
|
26777
|
+
{ key: "header", qualifier: "table-header", section: normalized.header },
|
|
26778
|
+
{ key: "body", qualifier: void 0, section: normalized.body },
|
|
26779
|
+
{ key: "footer", qualifier: "table-footer", section: normalized.footer }
|
|
26616
26780
|
];
|
|
26617
26781
|
let rowCount = 0;
|
|
26618
26782
|
for (const { key, qualifier, section } of sections) {
|
|
@@ -26640,7 +26804,7 @@ var BitmarkGenerator = class extends AstWalkerGenerator {
|
|
|
26640
26804
|
}
|
|
26641
26805
|
}
|
|
26642
26806
|
writeTableCell(cell, section) {
|
|
26643
|
-
const defaultCellType = section === "
|
|
26807
|
+
const defaultCellType = section === "body" ? "td" : "th";
|
|
26644
26808
|
const cellType = cell.title ? "th" : "td";
|
|
26645
26809
|
if (cellType !== defaultCellType) {
|
|
26646
26810
|
this.writeTableCellProperty("tableCellType", cellType);
|
|
@@ -27195,6 +27359,7 @@ var BitmarkGenerator = class extends AstWalkerGenerator {
|
|
|
27195
27359
|
this.writeNL();
|
|
27196
27360
|
this.writeTextOrValue(node.value, this.textFormat, TextLocation2.body);
|
|
27197
27361
|
}
|
|
27362
|
+
return false;
|
|
27198
27363
|
}
|
|
27199
27364
|
// bitmarkAst -> bits -> bitsValue -> body -> bodyValue -> gap -> solutions -> solution
|
|
27200
27365
|
// ? -> solutions -> solution
|
|
@@ -27276,11 +27441,12 @@ var BitmarkGenerator = class extends AstWalkerGenerator {
|
|
|
27276
27441
|
// bitmarkAst -> bits -> bitsValue -> cardNode -> questions -> questionsValue -> question
|
|
27277
27442
|
enter_question(node, route) {
|
|
27278
27443
|
const parent = this.getParentNode(route);
|
|
27279
|
-
if (parent?.key !== NodeType.questionsValue) return;
|
|
27444
|
+
if (parent?.key !== NodeType.questionsValue) return true;
|
|
27280
27445
|
if (node.value) {
|
|
27281
27446
|
this.writeNL();
|
|
27282
27447
|
this.writeTextOrValue(node.value, this.textFormat, TextLocation2.body);
|
|
27283
27448
|
}
|
|
27449
|
+
return false;
|
|
27284
27450
|
}
|
|
27285
27451
|
// bitmarkAst -> bits -> bitsValue -> cardNode -> flashcards -> flashcardsValue -> question
|
|
27286
27452
|
leaf_question(node, route) {
|
|
@@ -27341,7 +27507,8 @@ var BitmarkGenerator = class extends AstWalkerGenerator {
|
|
|
27341
27507
|
BitType.imageSeparator,
|
|
27342
27508
|
BitType.pageBanner,
|
|
27343
27509
|
BitType.imagesLogoGrave,
|
|
27344
|
-
BitType.prototypeImages
|
|
27510
|
+
BitType.prototypeImages,
|
|
27511
|
+
BitType.extractorImages
|
|
27345
27512
|
])) {
|
|
27346
27513
|
this.writeProperty("zoomDisabled", node.value, route, {
|
|
27347
27514
|
format: TagFormat.boolean,
|
|
@@ -28549,7 +28716,11 @@ var JsonGenerator = class extends AstWalkerGenerator {
|
|
|
28549
28716
|
}
|
|
28550
28717
|
resourceJson = wrapper;
|
|
28551
28718
|
}
|
|
28552
|
-
} else if (instance2.isOfBitType(bitType, [
|
|
28719
|
+
} else if (instance2.isOfBitType(bitType, [
|
|
28720
|
+
BitType.imagesLogoGrave,
|
|
28721
|
+
BitType.prototypeImages,
|
|
28722
|
+
BitType.extractorImages
|
|
28723
|
+
])) {
|
|
28553
28724
|
const images = [];
|
|
28554
28725
|
for (const r of resources) {
|
|
28555
28726
|
if (r.type === ResourceType.image) {
|
|
@@ -29126,7 +29297,11 @@ var JsonGenerator = class extends AstWalkerGenerator {
|
|
|
29126
29297
|
if (bitJson.resolvedDate == null) bitJson.resolvedDate = "";
|
|
29127
29298
|
if (bitJson.resolvedBy == null) bitJson.resolvedBy = "";
|
|
29128
29299
|
}
|
|
29129
|
-
if (instance2.isOfBitType(bitType, [
|
|
29300
|
+
if (instance2.isOfBitType(bitType, [
|
|
29301
|
+
BitType.imagesLogoGrave,
|
|
29302
|
+
BitType.prototypeImages,
|
|
29303
|
+
BitType.extractorImages
|
|
29304
|
+
])) {
|
|
29130
29305
|
if (bitType === BitType.imagesLogoGrave) {
|
|
29131
29306
|
if (bitJson.logos == null) {
|
|
29132
29307
|
bitJson.logos = [];
|
|
@@ -29554,7 +29729,7 @@ var JsonParser = class {
|
|
|
29554
29729
|
processResources(bitType, resource, images, logos) {
|
|
29555
29730
|
const nodes = [];
|
|
29556
29731
|
if (resource) nodes.push(resource);
|
|
29557
|
-
if (instance2.isOfBitType(bitType, [BitType.prototypeImages])) {
|
|
29732
|
+
if (instance2.isOfBitType(bitType, [BitType.prototypeImages, BitType.extractorImages])) {
|
|
29558
29733
|
if (Array.isArray(images)) {
|
|
29559
29734
|
for (const image of images) {
|
|
29560
29735
|
if (image) nodes.push(image);
|
|
@@ -31746,17 +31921,17 @@ function parsePronunciationTable(_context, _bitType, cardSet) {
|
|
|
31746
31921
|
}
|
|
31747
31922
|
function parseTable(context, _bitType, cardSet) {
|
|
31748
31923
|
const sectionRows = {
|
|
31749
|
-
|
|
31750
|
-
|
|
31751
|
-
|
|
31924
|
+
header: [],
|
|
31925
|
+
body: [],
|
|
31926
|
+
footer: []
|
|
31752
31927
|
};
|
|
31753
31928
|
const getNormalizedQualifier = (rawQualifier) => {
|
|
31754
31929
|
if (!rawQualifier) return void 0;
|
|
31755
31930
|
const normalized = rawQualifier.trim().toLowerCase();
|
|
31756
|
-
if (normalized === "
|
|
31757
|
-
|
|
31758
|
-
|
|
31759
|
-
context.addWarning(`Unknown table section qualifier '${rawQualifier}', defaulting to
|
|
31931
|
+
if (normalized === "table-header") return "header";
|
|
31932
|
+
if (normalized === "table-body") return "body";
|
|
31933
|
+
if (normalized === "table-footer") return "footer";
|
|
31934
|
+
context.addWarning(`Unknown table section qualifier '${rawQualifier}', defaulting to body.`);
|
|
31760
31935
|
return void 0;
|
|
31761
31936
|
};
|
|
31762
31937
|
const isLegacyHeadingRow = (card, cardIndex) => {
|
|
@@ -31793,7 +31968,7 @@ function parseTable(context, _bitType, cardSet) {
|
|
|
31793
31968
|
`Invalid table cell type '${raw}', using default for section '${section}'.`
|
|
31794
31969
|
);
|
|
31795
31970
|
}
|
|
31796
|
-
return section === "
|
|
31971
|
+
return section === "body" ? "td" : "th";
|
|
31797
31972
|
};
|
|
31798
31973
|
const normalizeSpan = (raw, kind) => {
|
|
31799
31974
|
if (raw == null) return 1;
|
|
@@ -31861,7 +32036,7 @@ function parseTable(context, _bitType, cardSet) {
|
|
|
31861
32036
|
for (let cardIdx = 0; cardIdx < cardSet.cards.length; cardIdx++) {
|
|
31862
32037
|
const card = cardSet.cards[cardIdx];
|
|
31863
32038
|
const qualifier = resolveSectionQualifier(card);
|
|
31864
|
-
const section = qualifier ? qualifier : isLegacyHeadingRow(card, cardIdx) ? "
|
|
32039
|
+
const section = qualifier ? qualifier : isLegacyHeadingRow(card, cardIdx) ? "header" : "body";
|
|
31865
32040
|
const cells = [];
|
|
31866
32041
|
for (const side of card.sides) {
|
|
31867
32042
|
for (const variant of side.variants) {
|
|
@@ -31873,28 +32048,28 @@ function parseTable(context, _bitType, cardSet) {
|
|
|
31873
32048
|
});
|
|
31874
32049
|
}
|
|
31875
32050
|
const table = {};
|
|
31876
|
-
const hasHeadRows = sectionRows.
|
|
31877
|
-
const hasBodyRows = sectionRows.
|
|
31878
|
-
const hasFootRows = sectionRows.
|
|
32051
|
+
const hasHeadRows = sectionRows.header.length > 0;
|
|
32052
|
+
const hasBodyRows = sectionRows.body.length > 0;
|
|
32053
|
+
const hasFootRows = sectionRows.footer.length > 0;
|
|
31879
32054
|
if (hasHeadRows) {
|
|
31880
|
-
table.
|
|
31881
|
-
rows: sectionRows.
|
|
32055
|
+
table.header = {
|
|
32056
|
+
rows: sectionRows.header
|
|
31882
32057
|
};
|
|
31883
32058
|
}
|
|
31884
32059
|
if (hasBodyRows) {
|
|
31885
32060
|
table.body = {
|
|
31886
|
-
rows: sectionRows.
|
|
32061
|
+
rows: sectionRows.body
|
|
31887
32062
|
};
|
|
31888
32063
|
}
|
|
31889
32064
|
if (hasFootRows) {
|
|
31890
|
-
table.
|
|
31891
|
-
rows: sectionRows.
|
|
32065
|
+
table.footer = {
|
|
32066
|
+
rows: sectionRows.footer
|
|
31892
32067
|
};
|
|
31893
32068
|
}
|
|
31894
32069
|
if (!hasHeadRows && !hasBodyRows && !hasFootRows) {
|
|
31895
|
-
table.
|
|
32070
|
+
table.header = { rows: [] };
|
|
31896
32071
|
table.body = { rows: [] };
|
|
31897
|
-
table.
|
|
32072
|
+
table.footer = { rows: [] };
|
|
31898
32073
|
}
|
|
31899
32074
|
return { table };
|
|
31900
32075
|
}
|