@gmb/bitmark-parser-generator 5.9.1 → 5.11.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 [9 Feb 2026 at 22:23]</title>
6
+ <title>@gmb/bitmark-parser-generator [16 Feb 2026 at 02:33]</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":1266521,"parsedSize":552991,"gzipSize":107399,"groups":[{"label":"dist/browser/cjs","path":"./dist/browser/cjs","statSize":1260459,"groups":[{"id":922,"label":"index.cjs","path":"./dist/browser/cjs/index.cjs","statSize":1260459,"parsedSize":552887,"gzipSize":107399}],"parsedSize":552887,"gzipSize":107399},{"label":"node_modules/@ncoderz/superenum/dist","path":"./node_modules/@ncoderz/superenum/dist","statSize":6062,"groups":[{"id":722,"label":"index.cjs","path":"./node_modules/@ncoderz/superenum/dist/index.cjs","statSize":6062}],"parsedSize":0,"gzipSize":0}],"isInitialByEntrypoint":{"main":true}}];
34
+ window.chartData = [{"label":"bitmark-parser-generator.min.js","isAsset":true,"statSize":1266630,"parsedSize":552831,"gzipSize":107433,"groups":[{"label":"dist/browser/cjs","path":"./dist/browser/cjs","statSize":1260568,"groups":[{"id":922,"label":"index.cjs","path":"./dist/browser/cjs/index.cjs","statSize":1260568,"parsedSize":552727,"gzipSize":107433}],"parsedSize":552727,"gzipSize":107433},{"label":"node_modules/@ncoderz/superenum/dist","path":"./node_modules/@ncoderz/superenum/dist","statSize":6062,"groups":[{"id":722,"label":"index.cjs","path":"./node_modules/@ncoderz/superenum/dist/index.cjs","statSize":6062}],"parsedSize":0,"gzipSize":0}],"isInitialByEntrypoint":{"main":true}}];
35
35
  window.entrypoints = ["main"];
36
36
  window.defaultSizes = "stat";
37
37
  window.compressionAlgorithm = "gzip";
@@ -738,8 +738,10 @@ var TagFormat = {
738
738
  // If the value is treated as a number
739
739
  boolean: "boolean",
740
740
  // If the value is treated as a boolean
741
- invertedBoolean: "invertedBoolean"
741
+ invertedBoolean: "invertedBoolean",
742
742
  // If the value is treated as a boolean with the value inverted (e.g. isLongAnswer ==> isShortAnswer = false)
743
+ enumeration: "enumeration"
744
+ // If the value is treated as an enumeration (the value is a string that must be one of a predefined set of values)
743
745
  };
744
746
 
745
747
  // src/model/enum/TextFormat.ts
@@ -883,9 +885,12 @@ var PropertyTagConfig = class extends AbstractTagConfig {
883
885
  // If the property is treated as an array rather than a single value
884
886
  __publicField(this, "format");
885
887
  // How the property is formatted
888
+ __publicField(this, "values");
889
+ // If the format is an enumeration, the possible values of the property
886
890
  __publicField(this, "defaultValue");
887
891
  this.array = params.maxCount === Count.infinity || params.maxCount > 1;
888
892
  this.format = params.format;
893
+ this.values = params.values;
889
894
  this.defaultValue = params.defaultValue;
890
895
  }
891
896
  toString(options) {
@@ -897,6 +902,7 @@ var PropertyTagConfig = class extends AbstractTagConfig {
897
902
  if (this.minCount != null) s += `, min=${this.minCount}`;
898
903
  if (this.array != null) s += `, arr=${this.array}`;
899
904
  if (this.format != null) s += `, fmt=${this.format}`;
905
+ if (this.values != null) s += `, vals=[${this.values.join(",")}]`;
900
906
  if (this.defaultValue != null) s += `, def=${this.defaultValue}`;
901
907
  if (this.jsonKey != null) s += `, json=${this.jsonKey}`;
902
908
  }
@@ -1190,7 +1196,6 @@ var propertyKeys = {
1190
1196
  property_aiGenerated: "@aiGenerated",
1191
1197
  property_allowedBit: "@allowedBit",
1192
1198
  property_allowPrint: "@allowPrint",
1193
- property_allowPrintEnforceSpaceConfiguration: "@allowPrintEnforceSpaceConfiguration",
1194
1199
  property_allowSubtitles: "@allowSubtitles",
1195
1200
  property_alt: "@alt",
1196
1201
  property_altLangTag: "@altLangTag",
@@ -3471,14 +3476,9 @@ var GROUPS = {
3471
3476
  {
3472
3477
  key: ConfigKey.property_allowPrint,
3473
3478
  description: "If true, the book allows printing",
3474
- format: TagFormat.boolean,
3475
- defaultValue: "false"
3476
- },
3477
- {
3478
- key: ConfigKey.property_allowPrintEnforceSpaceConfiguration,
3479
- description: "If true, enforces space configuration for printing regardless of the allowPrint setting",
3480
- format: TagFormat.boolean,
3481
- defaultValue: "false"
3479
+ format: TagFormat.enumeration,
3480
+ values: ["enforceFalse", "enforceTrue", "useSpaceConfiguration"],
3481
+ defaultValue: "useSpaceConfiguration"
3482
3482
  },
3483
3483
  {
3484
3484
  key: ConfigKey.property_hasPrintRestriction,
@@ -4454,6 +4454,7 @@ var ConfigHydrator = class {
4454
4454
  chain: _chain,
4455
4455
  deprecated,
4456
4456
  format,
4457
+ values,
4457
4458
  defaultValue,
4458
4459
  jsonKey
4459
4460
  } = _tag;
@@ -4472,6 +4473,7 @@ var ConfigHydrator = class {
4472
4473
  chain,
4473
4474
  jsonKey,
4474
4475
  format,
4476
+ values,
4475
4477
  defaultValue,
4476
4478
  deprecated
4477
4479
  });
@@ -10447,7 +10449,7 @@ var instance2 = new Config();
10447
10449
  // src/generated/package_info.ts
10448
10450
  var PACKAGE_INFO = {
10449
10451
  "name": "@gmb/bitmark-parser-generator",
10450
- "version": "5.9.1",
10452
+ "version": "5.11.0",
10451
10453
  "author": "Get More Brain Ltd",
10452
10454
  "license": "ISC",
10453
10455
  "description": "A bitmark parser and generator using Peggy.js"
@@ -11068,6 +11070,8 @@ var NodeType = {
11068
11070
  indexValue: "indexValue",
11069
11071
  ingredients: "ingredients",
11070
11072
  ingredientsValue: "ingredientsValue",
11073
+ ingredient: "ingredient",
11074
+ ingredientValue: "ingredientValue",
11071
11075
  instruction: "instruction",
11072
11076
  instructionValue: "instructionValue",
11073
11077
  internalComment: "internalComment",
@@ -11380,6 +11384,7 @@ var NodeType = {
11380
11384
  srcAltValue: "srcAltValue",
11381
11385
  start: "start",
11382
11386
  statement: "statement",
11387
+ statementValue: "statementValue",
11383
11388
  statements: "statements",
11384
11389
  statementsValue: "statementsValue",
11385
11390
  statementText: "statementText",
@@ -25010,12 +25015,6 @@ var Builder = class extends BaseBuilder {
25010
25015
  data.allowPrint,
25011
25016
  options
25012
25017
  ),
25013
- allowPrintEnforceSpaceConfiguration: this.toAstProperty(
25014
- bitType,
25015
- ConfigKey.property_allowPrintEnforceSpaceConfiguration,
25016
- data.allowPrintEnforceSpaceConfiguration,
25017
- options
25018
- ),
25019
25018
  printParentChapterLevel: this.toAstProperty(
25020
25019
  bitType,
25021
25020
  ConfigKey.property_printParentChapterLevel,
@@ -27388,7 +27387,6 @@ var BitmarkGenerator = class extends AstWalkerGenerator {
27388
27387
  if (parent?.key !== NodeType.bitsValue) return true;
27389
27388
  for (const gt of groupTag) {
27390
27389
  const { name, tags: tags2 } = gt;
27391
- this.writeNL();
27392
27390
  this.writeProperty("groupTag", name, route, {
27393
27391
  format: TagFormat.plainText,
27394
27392
  writeEmpty: true
@@ -27397,7 +27395,8 @@ var BitmarkGenerator = class extends AstWalkerGenerator {
27397
27395
  for (const t of tags2) {
27398
27396
  this.writeProperty("tag", t, route, {
27399
27397
  format: TagFormat.plainText,
27400
- writeEmpty: true
27398
+ writeEmpty: true,
27399
+ forceChain: true
27401
27400
  });
27402
27401
  }
27403
27402
  }
@@ -27405,7 +27404,7 @@ var BitmarkGenerator = class extends AstWalkerGenerator {
27405
27404
  return false;
27406
27405
  }
27407
27406
  // bitmarkAst -> bits -> bitsValue -> labelTrue / labelFalse
27408
- enter_labelTrue(node, route) {
27407
+ leaf_labelTrue(node, route) {
27409
27408
  const value = node.value;
27410
27409
  const parent = this.getParentNode(route);
27411
27410
  if (parent?.key !== NodeType.bitsValue) return true;
@@ -27418,16 +27417,18 @@ var BitmarkGenerator = class extends AstWalkerGenerator {
27418
27417
  }
27419
27418
  if (haveTrue)
27420
27419
  this.writeProperty("labelTrue", value, route, {
27421
- format: TagFormat.plainText
27420
+ format: TagFormat.plainText,
27421
+ forceChain: true
27422
27422
  });
27423
27423
  if (haveFalse)
27424
27424
  this.writeProperty("labelFalse", bit.labelFalse, route, {
27425
- format: TagFormat.plainText
27425
+ format: TagFormat.plainText,
27426
+ forceChain: true
27426
27427
  });
27427
27428
  }
27428
27429
  return false;
27429
27430
  }
27430
- enter_labelFalse(_node, _route) {
27431
+ leaf_labelFalse(_node, _route) {
27431
27432
  return true;
27432
27433
  }
27433
27434
  // bitmarkAst -> bits -> bitsValue -> imageSource
@@ -27436,26 +27437,29 @@ var BitmarkGenerator = class extends AstWalkerGenerator {
27436
27437
  const parent = this.getParentNode(route);
27437
27438
  if (parent?.key !== NodeType.bitsValue) return true;
27438
27439
  const { url, mockupId, size, format, trim } = imageSource;
27439
- this.writeNL();
27440
27440
  this.writeProperty("imageSource", url, route, {
27441
27441
  format: TagFormat.plainText
27442
27442
  });
27443
27443
  if (url) {
27444
27444
  if (mockupId)
27445
27445
  this.writeProperty("mockupId", mockupId, route, {
27446
- format: TagFormat.plainText
27446
+ format: TagFormat.plainText,
27447
+ forceChain: true
27447
27448
  });
27448
27449
  if (size)
27449
27450
  this.writeProperty("size", size, route, {
27450
- format: TagFormat.plainText
27451
+ format: TagFormat.plainText,
27452
+ forceChain: true
27451
27453
  });
27452
27454
  if (format)
27453
27455
  this.writeProperty("format", format, route, {
27454
- format: TagFormat.plainText
27456
+ format: TagFormat.plainText,
27457
+ forceChain: true
27455
27458
  });
27456
27459
  if (instance5.isBoolean(trim))
27457
27460
  this.writeProperty("trim", trim, route, {
27458
- format: TagFormat.plainText
27461
+ format: TagFormat.plainText,
27462
+ forceChain: true
27459
27463
  });
27460
27464
  }
27461
27465
  return false;
@@ -27466,13 +27470,13 @@ var BitmarkGenerator = class extends AstWalkerGenerator {
27466
27470
  const parent = this.getParentNode(route);
27467
27471
  if (parent?.key !== NodeType.bitsValue) return true;
27468
27472
  const { technicalTerm, lang } = nodeValue;
27469
- this.writeNL();
27470
27473
  this.writeProperty("technicalTerm", technicalTerm, route, {
27471
27474
  format: TagFormat.plainText
27472
27475
  });
27473
27476
  if (lang != null) {
27474
27477
  this.writeProperty("lang", lang, route, {
27475
- format: TagFormat.plainText
27478
+ format: TagFormat.plainText,
27479
+ forceChain: true
27476
27480
  });
27477
27481
  }
27478
27482
  return false;
@@ -27483,28 +27487,31 @@ var BitmarkGenerator = class extends AstWalkerGenerator {
27483
27487
  const parent = this.getParentNode(route);
27484
27488
  if (parent?.key !== NodeType.bitsValue) return true;
27485
27489
  const { servings, unit, unitAbbr, decimalPlaces, disableCalculation, hint } = nodeValue;
27486
- this.writeNL();
27487
27490
  this.writeProperty("servings", servings, route, {
27488
27491
  format: TagFormat.plainText
27489
27492
  });
27490
27493
  if (unit != null) {
27491
27494
  this.writeProperty("unit", unit, route, {
27492
- format: TagFormat.plainText
27495
+ format: TagFormat.plainText,
27496
+ forceChain: true
27493
27497
  });
27494
27498
  }
27495
27499
  if (unitAbbr != null) {
27496
27500
  this.writeProperty("unitAbbr", unitAbbr, route, {
27497
- format: TagFormat.plainText
27501
+ format: TagFormat.plainText,
27502
+ forceChain: true
27498
27503
  });
27499
27504
  }
27500
27505
  if (decimalPlaces != null) {
27501
27506
  this.writeProperty("decimalPlaces", decimalPlaces, route, {
27502
- format: TagFormat.plainText
27507
+ format: TagFormat.plainText,
27508
+ forceChain: true
27503
27509
  });
27504
27510
  }
27505
27511
  if (disableCalculation != null) {
27506
27512
  this.writeProperty("disableCalculation", disableCalculation, route, {
27507
- format: TagFormat.plainText
27513
+ format: TagFormat.plainText,
27514
+ forceChain: true
27508
27515
  });
27509
27516
  }
27510
27517
  if (hint != null) {
@@ -27520,13 +27527,13 @@ var BitmarkGenerator = class extends AstWalkerGenerator {
27520
27527
  const parent = this.getParentNode(route);
27521
27528
  if (parent?.key !== NodeType.bitsValue) return true;
27522
27529
  const { name, title, avatarImage } = person;
27523
- this.writeNL();
27524
27530
  this.writeProperty("person", name, route, {
27525
27531
  format: TagFormat.plainText
27526
27532
  });
27527
27533
  if (title) {
27528
27534
  this.writeProperty("title", title, route, {
27529
- format: TagFormat.plainText
27535
+ format: TagFormat.plainText,
27536
+ forceChain: true
27530
27537
  });
27531
27538
  }
27532
27539
  if (avatarImage) {
@@ -27574,7 +27581,6 @@ var BitmarkGenerator = class extends AstWalkerGenerator {
27574
27581
  if (parent.key !== NodeType.term && parent.key !== NodeType.definition && parent.key !== NodeType.alternativeDefinitionsValue && parent.key !== NodeType.question && parent.key !== NodeType.answer && parent.key !== NodeType.alternativeAnswersValue) {
27575
27582
  return true;
27576
27583
  }
27577
- this.writeNL();
27578
27584
  this.writeResource(ResourceType.icon, resource.image.src);
27579
27585
  return true;
27580
27586
  }
@@ -27602,13 +27608,13 @@ var BitmarkGenerator = class extends AstWalkerGenerator {
27602
27608
  if (parent?.key !== NodeType.bitsValue) return true;
27603
27609
  const { level, label } = n;
27604
27610
  const levelKey = node.key === NodeType.ratingLevelStart ? "ratingLevelStart" : "ratingLevelEnd";
27605
- this.writeNL();
27606
27611
  this.writeProperty(levelKey, level, route, {
27607
27612
  format: TagFormat.plainText
27608
27613
  });
27609
27614
  if (label) {
27610
27615
  this.writeProperty("label", label, route, {
27611
- format: TagFormat.bitmarkText
27616
+ format: TagFormat.bitmarkText,
27617
+ forceChain: true
27612
27618
  });
27613
27619
  }
27614
27620
  return false;
@@ -27630,12 +27636,14 @@ var BitmarkGenerator = class extends AstWalkerGenerator {
27630
27636
  });
27631
27637
  if (color) {
27632
27638
  this.writeProperty("color", color, route, {
27633
- format: TagFormat.plainText
27639
+ format: TagFormat.plainText,
27640
+ forceChain: true
27634
27641
  });
27635
27642
  }
27636
27643
  if (emphasis) {
27637
27644
  this.writeProperty("emphasis", emphasis, route, {
27638
- format: TagFormat.plainText
27645
+ format: TagFormat.plainText,
27646
+ forceChain: true
27639
27647
  });
27640
27648
  }
27641
27649
  }
@@ -27644,7 +27652,6 @@ var BitmarkGenerator = class extends AstWalkerGenerator {
27644
27652
  // bitmarkAst -> bits -> bitsValue -> partialAnswer
27645
27653
  enter_partialAnswer(node, route) {
27646
27654
  if (node.value) {
27647
- this.writeNL();
27648
27655
  this.writeProperty("partialAnswer", node.value, route, {
27649
27656
  format: TagFormat.plainText
27650
27657
  });
@@ -27654,7 +27661,6 @@ var BitmarkGenerator = class extends AstWalkerGenerator {
27654
27661
  // bitmarkAst -> bits -> bitsValue -> questions -> questionsValue -> partialAnswer
27655
27662
  leaf_partialAnswer(node, route) {
27656
27663
  if (node.value) {
27657
- this.writeNL();
27658
27664
  this.writeProperty("partialAnswer", node.value, route, {
27659
27665
  format: TagFormat.plainText
27660
27666
  });
@@ -27665,7 +27671,6 @@ var BitmarkGenerator = class extends AstWalkerGenerator {
27665
27671
  // bitmarkAst -> bits -> bitsValue -> questions -> questionsValue -> sampleSolution
27666
27672
  enter_sampleSolution(node, route) {
27667
27673
  if (node.value) {
27668
- this.writeNL();
27669
27674
  this.writeProperty("sampleSolution", node.value, route, {
27670
27675
  format: TagFormat.plainText
27671
27676
  });
@@ -27674,7 +27679,6 @@ var BitmarkGenerator = class extends AstWalkerGenerator {
27674
27679
  }
27675
27680
  leaf_sampleSolution(node, route) {
27676
27681
  if (node.value) {
27677
- this.writeNL();
27678
27682
  this.writeProperty("sampleSolution", node.value, route, {
27679
27683
  format: TagFormat.plainText
27680
27684
  });
@@ -27684,7 +27688,6 @@ var BitmarkGenerator = class extends AstWalkerGenerator {
27684
27688
  // bitmarkAst -> bits -> bitsValue -> reasonableNumOfChars
27685
27689
  // bitmarkAst -> bits -> bitsValue -> questions -> questionsValue -> reasonableNumOfChars
27686
27690
  leaf_reasonableNumOfChars(node, route) {
27687
- this.writeNL();
27688
27691
  this.writeProperty("reasonableNumOfChars", node.value, route, {
27689
27692
  format: TagFormat.plainText
27690
27693
  });
@@ -28691,7 +28694,6 @@ var BitmarkGenerator = class extends AstWalkerGenerator {
28691
28694
  // bitmarkAst -> bits -> bitsValue -> * -> lang
28692
28695
  leaf_lang(node, route) {
28693
28696
  if (!node.value) return;
28694
- this.writeNL();
28695
28697
  this.writeProperty("lang", node.value, route, {
28696
28698
  format: TagFormat.boolean
28697
28699
  });
@@ -28699,7 +28701,6 @@ var BitmarkGenerator = class extends AstWalkerGenerator {
28699
28701
  // bitmarkAst -> bits -> bitsValue -> * -> refAuthor
28700
28702
  enter_refAuthor(node, route) {
28701
28703
  if (!node.value) return;
28702
- this.writeNL();
28703
28704
  this.writeProperty("refAuthor", node.value, route, {
28704
28705
  format: TagFormat.plainText,
28705
28706
  array: true
@@ -28708,7 +28709,6 @@ var BitmarkGenerator = class extends AstWalkerGenerator {
28708
28709
  // bitmarkAst -> bits -> bitsValue -> * -> refBookTitle
28709
28710
  leaf_refBookTitle(node, route) {
28710
28711
  if (!node.value) return;
28711
- this.writeNL();
28712
28712
  this.writeProperty("refBookTitle", node.value, route, {
28713
28713
  format: TagFormat.plainText,
28714
28714
  array: true
@@ -28717,7 +28717,6 @@ var BitmarkGenerator = class extends AstWalkerGenerator {
28717
28717
  // bitmarkAst -> bits -> bitsValue -> * -> refPublisher
28718
28718
  enter_refPublisher(node, route) {
28719
28719
  if (!node.value) return;
28720
- this.writeNL();
28721
28720
  this.writeProperty("refPublisher", node.value, route, {
28722
28721
  format: TagFormat.plainText,
28723
28722
  array: true
@@ -28726,7 +28725,6 @@ var BitmarkGenerator = class extends AstWalkerGenerator {
28726
28725
  // bitmarkAst -> bits -> bitsValue -> * -> refPublicationYear
28727
28726
  leaf_refPublicationYear(node, route) {
28728
28727
  if (!node.value) return;
28729
- this.writeNL();
28730
28728
  this.writeProperty("refPublicationYear", node.value, route, {
28731
28729
  format: TagFormat.plainText
28732
28730
  });
@@ -28734,7 +28732,6 @@ var BitmarkGenerator = class extends AstWalkerGenerator {
28734
28732
  // bitmarkAst -> bits -> bitsValue -> * -> citationStyle
28735
28733
  leaf_citationStyle(node, route) {
28736
28734
  if (!node.value) return;
28737
- this.writeNL();
28738
28735
  this.writeProperty("citationStyle", node.value, route, {
28739
28736
  format: TagFormat.plainText
28740
28737
  });
@@ -29066,7 +29063,6 @@ var BitmarkGenerator = class extends AstWalkerGenerator {
29066
29063
  const config = instance2.getBitConfig(bitType);
29067
29064
  const propertyConfig = instance2.getTagConfigForTag(config.tags, propertyConfigKey);
29068
29065
  if (!propertyConfig) return;
29069
- this.writeNL_IfNotChain(route);
29070
29066
  this.writeProperty(propertyConfig.tag, node.value, route, {
29071
29067
  format: propertyConfig.format ?? TagFormat.plainText,
29072
29068
  array: propertyConfig.array ?? false,
@@ -29450,7 +29446,7 @@ var BitmarkGenerator = class extends AstWalkerGenerator {
29450
29446
  if (options.ignoreFalse && val === false) continue;
29451
29447
  if (options.ignoreTrue && val === true) continue;
29452
29448
  if (!options.writeEmpty && val === "") continue;
29453
- if (propertyIndex > 0) this.writeNL_IfNotChain(route);
29449
+ if (!options.forceChain && propertyIndex === 0) this.writeNL_IfNotChain(route);
29454
29450
  this.writeOPA();
29455
29451
  this.writeTagKey(name);
29456
29452
  this.writeColon();
@@ -30723,7 +30719,7 @@ var JsonGenerator = class extends AstWalkerGenerator {
30723
30719
  }
30724
30720
  if (instance2.isOfBitType(bitType, BitType.book)) {
30725
30721
  if (bitJson.maxTocChapterLevel == null) bitJson.maxTocChapterLevel = -1;
30726
- if (bitJson.allowPrint == null) bitJson.allowPrint = false;
30722
+ if (bitJson.allowPrint == null) bitJson.allowPrint = "useSpaceConfiguration";
30727
30723
  if (bitJson.hasPrintRestriction == null) bitJson.hasPrintRestriction = true;
30728
30724
  if (bitJson.enforceUpdateOverUserInput == null) bitJson.enforceUpdateOverUserInput = false;
30729
30725
  if (bitJson.hasMarkAsDone == null) bitJson.hasMarkAsDone = false;
@@ -34447,6 +34443,7 @@ function propertyContentProcessor(context, contentDepth, tagsConfig, content, ta
34447
34443
  chain: void 0,
34448
34444
  jsonKey: void 0,
34449
34445
  format: TagFormat.bitmarkText,
34446
+ values: void 0,
34450
34447
  defaultValue: void 0,
34451
34448
  deprecated: void 0
34452
34449
  })