@gmb/bitmark-parser-generator 4.10.0 → 4.12.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.
@@ -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 [16 Sep 2025 at 04:52]</title>
6
+ <title>@gmb/bitmark-parser-generator [29 Sep 2025 at 21:27]</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":1153399,"parsedSize":502152,"gzipSize":97989,"groups":[{"label":"dist/browser/cjs","path":"./dist/browser/cjs","statSize":1146419,"groups":[{"id":922,"label":"index.cjs","path":"./dist/browser/cjs/index.cjs","statSize":1146419,"parsedSize":502048,"gzipSize":97989}],"parsedSize":502048,"gzipSize":97989},{"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}}];
34
+ window.chartData = [{"label":"bitmark-parser-generator.min.js","isAsset":true,"statSize":1158380,"parsedSize":505238,"gzipSize":98404,"groups":[{"label":"dist/browser/cjs","path":"./dist/browser/cjs","statSize":1151400,"groups":[{"id":922,"label":"index.cjs","path":"./dist/browser/cjs/index.cjs","statSize":1151400,"parsedSize":505134,"gzipSize":98404}],"parsedSize":505134,"gzipSize":98404},{"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>
@@ -1101,6 +1101,7 @@ var groupKeys = {
1101
1101
  group_mark: "group_mark",
1102
1102
  group_bookCommon: "group_bookCommon",
1103
1103
  group_learningPathCommon: "group_learningPathCommon",
1104
+ group_advertisingCommon: "group_advertisingCommon",
1104
1105
  group_quizCommon: "group_quizCommon",
1105
1106
  group_resourceBitTags: "group_resourceBitTags",
1106
1107
  group_resourceCommon: "group_resourceCommon",
@@ -1144,6 +1145,7 @@ var propertyKeys = {
1144
1145
  property_action: "@action",
1145
1146
  property_activityType: "@activityType",
1146
1147
  property_additionalSolutions: "@additionalSolutions",
1148
+ property_advertisingClickUrl: "@advertisingClickUrl",
1147
1149
  property_ageRange: "@ageRange",
1148
1150
  property_aiGenerated: "@aiGenerated",
1149
1151
  property_allowedBit: "@allowedBit",
@@ -1308,6 +1310,7 @@ var propertyKeys = {
1308
1310
  property_siteName: "@siteName",
1309
1311
  property_size: "@size",
1310
1312
  property_slug: "@slug",
1313
+ property_sourceDocument: "@sourceDocument",
1311
1314
  property_spaceId: "@spaceId",
1312
1315
  property_src1x: "@src1x",
1313
1316
  property_src2x: "@src2x",
@@ -2860,7 +2863,7 @@ var GROUPS = {
2860
2863
  },
2861
2864
  [ConfigKey.group_standardItemLeadInstructionHint]: {
2862
2865
  type: GroupConfigType.standard,
2863
- description: "Standard group for item, lead, page number, margin number, instruction and hint tags",
2866
+ description: "Standard group for item, lead, page number, source page number, margin number, instruction and hint tags",
2864
2867
  tags: [
2865
2868
  {
2866
2869
  key: ConfigKey.tag_item,
@@ -2868,8 +2871,8 @@ var GROUPS = {
2868
2871
  chain: [
2869
2872
  {
2870
2873
  key: ConfigKey.tag_item,
2871
- description: "The lead, page number, and margin number for the bit",
2872
- maxCount: 3
2874
+ description: "The lead, page number, source page number, and margin number for the bit",
2875
+ maxCount: 4
2873
2876
  }
2874
2877
  ]
2875
2878
  },
@@ -3264,6 +3267,11 @@ var GROUPS = {
3264
3267
  key: ConfigKey.property_maxTocChapterLevel,
3265
3268
  description: "The maximum table of contents chapter level",
3266
3269
  format: TagFormat.number
3270
+ },
3271
+ {
3272
+ key: ConfigKey.property_sourceDocument,
3273
+ description: "Url of the source document for the book (for example, a PDF file)",
3274
+ format: TagFormat.plainText
3267
3275
  }
3268
3276
  ]
3269
3277
  },
@@ -3342,6 +3350,17 @@ var GROUPS = {
3342
3350
  }
3343
3351
  ]
3344
3352
  },
3353
+ [ConfigKey.group_advertisingCommon]: {
3354
+ type: GroupConfigType.standard,
3355
+ description: "Common advertising tags",
3356
+ tags: [
3357
+ {
3358
+ key: ConfigKey.property_advertisingClickUrl,
3359
+ description: "The URL to which the advertisement should link",
3360
+ format: TagFormat.plainText
3361
+ }
3362
+ ]
3363
+ },
3345
3364
  [ConfigKey.group_quizCommon]: {
3346
3365
  type: GroupConfigType.standard,
3347
3366
  description: "Common quiz tags",
@@ -5254,67 +5273,145 @@ var BITS = {
5254
5273
  [BitType.advertising]: {
5255
5274
  since: "4.2.0",
5256
5275
  baseBitType: BitType.article,
5257
- description: "General advertising content bit"
5276
+ description: "General advertising content bit",
5277
+ tags: [
5278
+ {
5279
+ key: ConfigKey.group_advertisingCommon,
5280
+ description: "Common advertising tags"
5281
+ }
5282
+ ]
5258
5283
  },
5259
5284
  [BitType.advertisingAdvertorial]: {
5260
5285
  since: "4.2.0",
5261
5286
  baseBitType: BitType.article,
5262
- description: "Advertorial content bit (sponsored article)"
5287
+ description: "Advertorial content bit (sponsored article)",
5288
+ tags: [
5289
+ {
5290
+ key: ConfigKey.group_advertisingCommon,
5291
+ description: "Common advertising tags"
5292
+ }
5293
+ ]
5263
5294
  },
5264
5295
  [BitType.advertisingCallToAction]: {
5265
5296
  since: "4.2.0",
5266
5297
  baseBitType: BitType.callToAction,
5267
- description: "Call-to-action for advertising"
5298
+ description: "Call-to-action for advertising",
5299
+ tags: [
5300
+ {
5301
+ key: ConfigKey.group_advertisingCommon,
5302
+ description: "Common advertising tags"
5303
+ }
5304
+ ]
5268
5305
  },
5269
5306
  [BitType.advertisingCallToActionMeeting]: {
5270
5307
  since: "4.2.0",
5271
5308
  baseBitType: BitType.callToAction,
5272
- description: "Call-to-action for meeting or appointment"
5309
+ description: "Call-to-action for meeting or appointment",
5310
+ tags: [
5311
+ {
5312
+ key: ConfigKey.group_advertisingCommon,
5313
+ description: "Common advertising tags"
5314
+ }
5315
+ ]
5273
5316
  },
5274
5317
  [BitType.advertisingBanner]: {
5275
5318
  since: "4.2.0",
5276
5319
  baseBitType: BitType.image,
5277
- description: "Banner advertisement bit"
5320
+ description: "Banner advertisement bit",
5321
+ tags: [
5322
+ {
5323
+ key: ConfigKey.group_advertisingCommon,
5324
+ description: "Common advertising tags"
5325
+ }
5326
+ ]
5278
5327
  },
5279
5328
  [BitType.advertisingSkyscraper]: {
5280
5329
  since: "4.2.0",
5281
5330
  baseBitType: BitType.image,
5282
- description: "Skyscraper (vertical) advertisement bit"
5331
+ description: "Skyscraper (vertical) advertisement bit",
5332
+ tags: [
5333
+ {
5334
+ key: ConfigKey.group_advertisingCommon,
5335
+ description: "Common advertising tags"
5336
+ }
5337
+ ]
5283
5338
  },
5284
5339
  [BitType.advertisingRectangle]: {
5285
5340
  since: "4.2.0",
5286
5341
  baseBitType: BitType.image,
5287
- description: "Rectangle advertisement bit"
5342
+ description: "Rectangle advertisement bit",
5343
+ tags: [
5344
+ {
5345
+ key: ConfigKey.group_advertisingCommon,
5346
+ description: "Common advertising tags"
5347
+ }
5348
+ ]
5288
5349
  },
5289
5350
  [BitType.advertisingFullPage]: {
5290
5351
  since: "4.2.0",
5291
5352
  baseBitType: BitType.image,
5292
- description: "Full-page advertisement bit"
5353
+ description: "Full-page advertisement bit",
5354
+ tags: [
5355
+ {
5356
+ key: ConfigKey.group_advertisingCommon,
5357
+ description: "Common advertising tags"
5358
+ }
5359
+ ]
5293
5360
  },
5294
5361
  [BitType.advertisingHalfPage]: {
5295
5362
  since: "4.2.0",
5296
5363
  baseBitType: BitType.image,
5297
- description: "Half-page advertisement bit"
5364
+ description: "Half-page advertisement bit",
5365
+ tags: [
5366
+ {
5367
+ key: ConfigKey.group_advertisingCommon,
5368
+ description: "Common advertising tags"
5369
+ }
5370
+ ]
5298
5371
  },
5299
5372
  [BitType.advertisingQuarterPage]: {
5300
5373
  since: "4.2.0",
5301
5374
  baseBitType: BitType.image,
5302
- description: "Quarter-page advertisement bit"
5375
+ description: "Quarter-page advertisement bit",
5376
+ tags: [
5377
+ {
5378
+ key: ConfigKey.group_advertisingCommon,
5379
+ description: "Common advertising tags"
5380
+ }
5381
+ ]
5303
5382
  },
5304
5383
  [BitType.advertisingClassifiedPage]: {
5305
5384
  since: "4.2.0",
5306
5385
  baseBitType: BitType.image,
5307
- description: "Classifieds advertisement page bit"
5386
+ description: "Classifieds advertisement page bit",
5387
+ tags: [
5388
+ {
5389
+ key: ConfigKey.group_advertisingCommon,
5390
+ description: "Common advertising tags"
5391
+ }
5392
+ ]
5308
5393
  },
5309
5394
  [BitType.advertisingLandscape]: {
5310
5395
  since: "4.2.0",
5311
5396
  baseBitType: BitType.image,
5312
- description: "Landscape format advertisement bit"
5397
+ description: "Landscape format advertisement bit",
5398
+ tags: [
5399
+ {
5400
+ key: ConfigKey.group_advertisingCommon,
5401
+ description: "Common advertising tags"
5402
+ }
5403
+ ]
5313
5404
  },
5314
5405
  [BitType.advertisingPortrait]: {
5315
5406
  since: "4.2.0",
5316
5407
  baseBitType: BitType.image,
5317
- description: "Portrait format advertisement bit"
5408
+ description: "Portrait format advertisement bit",
5409
+ tags: [
5410
+ {
5411
+ key: ConfigKey.group_advertisingCommon,
5412
+ description: "Common advertising tags"
5413
+ }
5414
+ ]
5318
5415
  },
5319
5416
  [BitType.cookPreparation]: {
5320
5417
  since: "1.3.0",
@@ -9171,7 +9268,7 @@ var instance2 = new Config();
9171
9268
  // src/generated/package_info.ts
9172
9269
  var PACKAGE_INFO = {
9173
9270
  "name": "@gmb/bitmark-parser-generator",
9174
- "version": "4.10.0",
9271
+ "version": "4.12.0",
9175
9272
  "author": "Get More Brain Ltd",
9176
9273
  "license": "ISC",
9177
9274
  "description": "A bitmark parser and generator using Peggy.js"
@@ -9513,6 +9610,8 @@ var NodeType = (0, import_superenum20.superenum)({
9513
9610
  activityTypeValue: "activityTypeValue",
9514
9611
  additionalSolutions: "additionalSolutions",
9515
9612
  additionalSolutionsValue: "additionalSolutionsValue",
9613
+ advertisingClickUrl: "advertisingClickUrl",
9614
+ advertisingClickUrlValue: "advertisingClickUrlValue",
9516
9615
  ageRange: "ageRange",
9517
9616
  ageRangeValue: "ageRangeValue",
9518
9617
  aiGenerated: "aiGenerated",
@@ -9579,8 +9678,6 @@ var NodeType = (0, import_superenum20.superenum)({
9579
9678
  botValue: "botValue",
9580
9679
  bubbleTag: "bubbleTag",
9581
9680
  bubbleTagValue: "bubbleTagValue",
9582
- extractorTag: "extractorTag",
9583
- extractorTagValue: "extractorTagValue",
9584
9681
  buttonCaption: "buttonCaption",
9585
9682
  buttonCaptionValue: "buttonCaptionValue",
9586
9683
  callToActionUrl: "callToActionUrl",
@@ -9678,6 +9775,8 @@ var NodeType = (0, import_superenum20.superenum)({
9678
9775
  externalIdValue: "externalIdValue",
9679
9776
  externalLink: "externalLink",
9680
9777
  externalLinkText: "externalLinkText",
9778
+ extractorTag: "extractorTag",
9779
+ extractorTagValue: "extractorTagValue",
9681
9780
  extraProperties: "extraProperties",
9682
9781
  feedback: "feedback",
9683
9782
  feedbackEngine: "feedbackEngine",
@@ -9962,15 +10061,18 @@ var NodeType = (0, import_superenum20.superenum)({
9962
10061
  solution: "solution",
9963
10062
  solutions: "solutions",
9964
10063
  solutionsValue: "solutionsValue",
10064
+ sourceDocument: "sourceDocument",
10065
+ sourceDocumentValue: "sourceDocumentValue",
10066
+ sourcePageNumber: "sourcePageNumber",
9965
10067
  spaceId: "spaceId",
9966
10068
  spaceIdValue: "spaceIdValue",
9967
10069
  src: "src",
9968
- srcAlt: "srcAlt",
9969
- srcAltValue: "srcAltValue",
9970
10070
  src1x: "src1x",
9971
10071
  src2x: "src2x",
9972
10072
  src3x: "src3x",
9973
10073
  src4x: "src4x",
10074
+ srcAlt: "srcAlt",
10075
+ srcAltValue: "srcAltValue",
9974
10076
  start: "start",
9975
10077
  statement: "statement",
9976
10078
  statements: "statements",
@@ -22913,6 +23015,12 @@ var Builder = class extends BaseBuilder {
22913
23015
  data.callToActionUrl,
22914
23016
  options
22915
23017
  ),
23018
+ advertisingClickUrl: this.toAstProperty(
23019
+ bitType,
23020
+ ConfigKey.property_advertisingClickUrl,
23021
+ data.advertisingClickUrl,
23022
+ options
23023
+ ),
22916
23024
  caption: this.handleJsonText(context, TextLocation2.tag, data.caption),
22917
23025
  quotedPerson: this.toAstProperty(
22918
23026
  bitType,
@@ -22970,6 +23078,12 @@ var Builder = class extends BaseBuilder {
22970
23078
  data.maxTocChapterLevel,
22971
23079
  options
22972
23080
  ),
23081
+ sourceDocument: this.toAstProperty(
23082
+ bitType,
23083
+ ConfigKey.property_sourceDocument,
23084
+ data.sourceDocument,
23085
+ options
23086
+ ),
22973
23087
  tocResource: this.toAstProperty(
22974
23088
  bitType,
22975
23089
  ConfigKey.property_tocResource,
@@ -23054,6 +23168,7 @@ var Builder = class extends BaseBuilder {
23054
23168
  item: this.handleJsonText(context, TextLocation2.tag, data.item),
23055
23169
  lead: this.handleJsonText(context, TextLocation2.tag, data.lead),
23056
23170
  pageNumber: this.handleJsonText(context, TextLocation2.tag, data.pageNumber),
23171
+ sourcePageNumber: this.handleJsonText(context, TextLocation2.tag, data.sourcePageNumber),
23057
23172
  marginNumber: this.handleJsonText(context, TextLocation2.tag, data.marginNumber),
23058
23173
  hint: this.handleJsonText(context, TextLocation2.tag, data.hint),
23059
23174
  instruction: this.handleJsonText(context, TextLocation2.tag, data.instruction),
@@ -23156,7 +23271,15 @@ var Builder = class extends BaseBuilder {
23156
23271
  objectUtils.removeUnwantedProperties(node, {
23157
23272
  ignoreAllFalse: true,
23158
23273
  ignoreUndefined: ["example"],
23159
- ignoreEmptyArrays: ["item", "lead", "pageNumber", "marginNumber", "hint", "instruction"]
23274
+ ignoreEmptyArrays: [
23275
+ "item",
23276
+ "lead",
23277
+ "pageNumber",
23278
+ "sourcePageNumber",
23279
+ "marginNumber",
23280
+ "hint",
23281
+ "instruction"
23282
+ ]
23160
23283
  });
23161
23284
  return nodeValidator.validateBit(node);
23162
23285
  }
@@ -25469,6 +25592,7 @@ var BitmarkGenerator = class extends AstWalkerGenerator {
25469
25592
  if (this.isEmptyText(item)) return false;
25470
25593
  if (!this.isEmptyText(parent?.value?.lead)) return true;
25471
25594
  if (!this.isEmptyText(parent?.value?.pageNumber)) return true;
25595
+ if (!this.isEmptyText(parent?.value?.sourcePageNumber)) return true;
25472
25596
  if (!this.isEmptyText(parent?.value?.marginNumber)) return true;
25473
25597
  this.writeNL_IfNotChain(route);
25474
25598
  this.writeOPC();
@@ -25482,6 +25606,7 @@ var BitmarkGenerator = class extends AstWalkerGenerator {
25482
25606
  const parent = this.getParentNode(route);
25483
25607
  if (this.isEmptyText(lead)) return false;
25484
25608
  if (!this.isEmptyText(parent?.value?.pageNumber)) return true;
25609
+ if (!this.isEmptyText(parent?.value?.sourcePageNumber)) return true;
25485
25610
  if (!this.isEmptyText(parent?.value?.marginNumber)) return true;
25486
25611
  this.writeNL_IfNotChain(route);
25487
25612
  this.writeOPC();
@@ -25497,6 +25622,7 @@ var BitmarkGenerator = class extends AstWalkerGenerator {
25497
25622
  const pageNumber = node.value;
25498
25623
  const parent = this.getParentNode(route);
25499
25624
  if (this.isEmptyText(pageNumber)) return false;
25625
+ if (!this.isEmptyText(parent?.value?.sourcePageNumber)) return true;
25500
25626
  if (!this.isEmptyText(parent?.value?.marginNumber)) return true;
25501
25627
  this.writeNL_IfNotChain(route);
25502
25628
  this.writeOPC();
@@ -25510,6 +25636,31 @@ var BitmarkGenerator = class extends AstWalkerGenerator {
25510
25636
  this.writeCL();
25511
25637
  return true;
25512
25638
  }
25639
+ // bitmarkAst -> bits -> bitsValue -> sourcePageNumber
25640
+ enter_sourcePageNumber(node, route) {
25641
+ const sourcePageNumber = node.value;
25642
+ const parent = this.getParentNode(route);
25643
+ if (this.isEmptyText(sourcePageNumber)) return false;
25644
+ if (!this.isEmptyText(parent?.value?.marginNumber)) return true;
25645
+ this.writeNL_IfNotChain(route);
25646
+ this.writeOPC();
25647
+ this.writeTextOrValue(parent?.value?.item ?? "", TextFormat2.bitmarkText, TextLocation2.tag);
25648
+ this.writeCL();
25649
+ this.writeOPC();
25650
+ this.writeTextOrValue(parent?.value?.lead ?? "", TextFormat2.bitmarkText, TextLocation2.tag);
25651
+ this.writeCL();
25652
+ this.writeOPC();
25653
+ this.writeTextOrValue(
25654
+ parent?.value?.pageNumber ?? "",
25655
+ TextFormat2.bitmarkText,
25656
+ TextLocation2.tag
25657
+ );
25658
+ this.writeCL();
25659
+ this.writeOPC();
25660
+ this.writeTextOrValue(sourcePageNumber ?? "", TextFormat2.bitmarkText, TextLocation2.tag);
25661
+ this.writeCL();
25662
+ return true;
25663
+ }
25513
25664
  // bitmarkAst -> bits -> bitsValue -> marginNumber
25514
25665
  enter_marginNumber(node, route) {
25515
25666
  const marginNumber = node.value;
@@ -25530,6 +25681,13 @@ var BitmarkGenerator = class extends AstWalkerGenerator {
25530
25681
  );
25531
25682
  this.writeCL();
25532
25683
  this.writeOPC();
25684
+ this.writeTextOrValue(
25685
+ parent?.value?.sourcePageNumber ?? "",
25686
+ TextFormat2.bitmarkText,
25687
+ TextLocation2.tag
25688
+ );
25689
+ this.writeCL();
25690
+ this.writeOPC();
25533
25691
  this.writeTextOrValue(marginNumber, TextFormat2.bitmarkText, TextLocation2.tag);
25534
25692
  this.writeCL();
25535
25693
  return true;
@@ -27354,6 +27512,10 @@ var JsonGenerator = class extends AstWalkerGenerator {
27354
27512
  enter_pageNumber(node, route) {
27355
27513
  return this.standardHandler(node, route, NodeType.bitsValue, { array: true });
27356
27514
  }
27515
+ // bitmarkAst -> bits -> bitsValue -> sourcePageNumber
27516
+ enter_sourcePageNumber(node, route) {
27517
+ return this.standardHandler(node, route, NodeType.bitsValue, { array: true });
27518
+ }
27357
27519
  // bitmarkAst -> bits -> bitsValue -> marginNumber
27358
27520
  enter_marginNumber(node, route) {
27359
27521
  return this.standardHandler(node, route, NodeType.bitsValue, { array: true });
@@ -28076,6 +28238,7 @@ var JsonGenerator = class extends AstWalkerGenerator {
28076
28238
  delete bitJson.item;
28077
28239
  delete bitJson.lead;
28078
28240
  delete bitJson.pageNumber;
28241
+ delete bitJson.sourcePageNumber;
28079
28242
  delete bitJson.marginNumber;
28080
28243
  delete bitJson.hint;
28081
28244
  delete bitJson.instruction;
@@ -28087,6 +28250,8 @@ var JsonGenerator = class extends AstWalkerGenerator {
28087
28250
  if (bitJson.lead == null || bitJson.lead?.length === 0) delete bitJson.lead;
28088
28251
  if (bitJson.pageNumber == null || bitJson.pageNumber?.length === 0)
28089
28252
  delete bitJson.pageNumber;
28253
+ if (bitJson.sourcePageNumber == null || bitJson.sourcePageNumber?.length === 0)
28254
+ delete bitJson.sourcePageNumber;
28090
28255
  if (bitJson.marginNumber == null || bitJson.marginNumber?.length === 0)
28091
28256
  delete bitJson.marginNumber;
28092
28257
  if (bitJson.hint == null || bitJson.hint?.length === 0) delete bitJson.hint;
@@ -28098,6 +28263,7 @@ var JsonGenerator = class extends AstWalkerGenerator {
28098
28263
  if (bitJson.hint == null) bitJson.hint = this.textDefault;
28099
28264
  if (bitJson.instruction == null) bitJson.instruction = this.textDefault;
28100
28265
  if (bitJson.pageNumber == null) bitJson.pageNumber = this.textDefault;
28266
+ if (bitJson.sourcePageNumber == null) bitJson.sourcePageNumber = this.textDefault;
28101
28267
  if (bitJson.marginNumber == null) bitJson.marginNumber = this.textDefault;
28102
28268
  }
28103
28269
  if (bitJson.body == null) bitJson.body = this.bodyDefault;
@@ -32537,7 +32703,8 @@ var BitmarkPegParserProcessor = class {
32537
32703
  if (l > 0) result.item = result.itemLead[0];
32538
32704
  if (l > 1) result.lead = result.itemLead[1];
32539
32705
  if (l > 2) result.pageNumber = result.itemLead[2];
32540
- if (l > 3) result.marginNumber = result.itemLead[l - 1];
32706
+ if (l > 3) result.sourcePageNumber = result.itemLead[3];
32707
+ if (l > 4) result.marginNumber = result.itemLead[l - 1];
32541
32708
  }
32542
32709
  if (inBit) {
32543
32710
  result.body = instance11.process(