proskomma-core 0.10.6 → 0.10.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -15986,7 +15986,7 @@ var bitset = {
15986
15986
  })(bitset, bitsetExports);
15987
15987
  const BitSet = /* @__PURE__ */ getDefaultExportFromCjs(bitsetExports);
15988
15988
  const name = "proskomma-core";
15989
- const version = "0.10.6";
15989
+ const version = "0.10.7";
15990
15990
  const description$b = "A Scripture Runtime Engine";
15991
15991
  const files = [
15992
15992
  "dist"
@@ -50476,11 +50476,11 @@ class Proskomma {
50476
50476
  this.docSets[docSetId].docIds.push(doc.id);
50477
50477
  this.docSets[docSetId].buildEnumIndexes();
50478
50478
  }
50479
- loadSuccinctDocSet(succinctOb) {
50479
+ loadSuccinctDocSet(succinctOb, bookCodes2) {
50480
50480
  const succinctId = succinctOb.id;
50481
- if (succinctId in this.docSets) {
50481
+ if (succinctId in this.docSets && !bookCodes2) {
50482
50482
  throw new Error(
50483
- `Attempting to succinct load docSet ${succinctId} which is already loaded`
50483
+ `Attempting to succinct load docSet ${succinctId} which is already loaded, without bookCodes argument`
50484
50484
  );
50485
50485
  }
50486
50486
  const docSet = new DocSet(this, null, null, succinctOb);
@@ -50503,13 +50503,28 @@ class Proskomma {
50503
50503
  }
50504
50504
  docSet.buildPreEnums();
50505
50505
  const docs = [];
50506
- for (const docId of Object.keys(succinctOb.docs)) {
50506
+ const selectDocs = (dId) => !bookCodes2 || bookCodes2.includes(succinctOb.docs[dId].headers.bookCode);
50507
+ for (const docId of Object.keys(succinctOb.docs).filter(selectDocs)) {
50507
50508
  let doc = this.newDocumentFromSuccinct(docId, succinctOb);
50508
50509
  docs.push(doc);
50509
50510
  }
50510
50511
  docSet.preEnums = {};
50511
50512
  return docs;
50512
50513
  }
50514
+ augmentSuccinctDocSet(succinctOb, bookCodes2) {
50515
+ if (!bookCodes2 || bookCodes2.length === 0) {
50516
+ throw new Error("bookCodes argument must be present and contain at least one element in augmentSuccinctDocSet");
50517
+ }
50518
+ const selectDocs = (dId) => bookCodes2.includes(succinctOb.docs[dId]).headers.bookCode;
50519
+ if (!this.docSets[succinctOb.id]) {
50520
+ throw new Error(`docSet id '${succinctOb.id}' not found in Proskomma when using augmentSuccinctDocSet. Load it first with optional bookCodes argument`);
50521
+ }
50522
+ for (const docId of Object.keys(succinctOb.docs).filter(selectDocs)) {
50523
+ if (!this.documents[docId]) {
50524
+ this.newDocumentFromSuccinct(docId, succinctOb);
50525
+ }
50526
+ }
50527
+ }
50513
50528
  newDocumentFromSuccinct(docId, succinctOb) {
50514
50529
  const doc = new Document(this, succinctOb.id);
50515
50530
  doc.id = docId;
package/dist/index.mjs CHANGED
@@ -15984,7 +15984,7 @@ var bitset = {
15984
15984
  })(bitset, bitsetExports);
15985
15985
  const BitSet = /* @__PURE__ */ getDefaultExportFromCjs(bitsetExports);
15986
15986
  const name = "proskomma-core";
15987
- const version = "0.10.6";
15987
+ const version = "0.10.7";
15988
15988
  const description$b = "A Scripture Runtime Engine";
15989
15989
  const files = [
15990
15990
  "dist"
@@ -50474,11 +50474,11 @@ class Proskomma {
50474
50474
  this.docSets[docSetId].docIds.push(doc.id);
50475
50475
  this.docSets[docSetId].buildEnumIndexes();
50476
50476
  }
50477
- loadSuccinctDocSet(succinctOb) {
50477
+ loadSuccinctDocSet(succinctOb, bookCodes2) {
50478
50478
  const succinctId = succinctOb.id;
50479
- if (succinctId in this.docSets) {
50479
+ if (succinctId in this.docSets && !bookCodes2) {
50480
50480
  throw new Error(
50481
- `Attempting to succinct load docSet ${succinctId} which is already loaded`
50481
+ `Attempting to succinct load docSet ${succinctId} which is already loaded, without bookCodes argument`
50482
50482
  );
50483
50483
  }
50484
50484
  const docSet = new DocSet(this, null, null, succinctOb);
@@ -50501,13 +50501,28 @@ class Proskomma {
50501
50501
  }
50502
50502
  docSet.buildPreEnums();
50503
50503
  const docs = [];
50504
- for (const docId of Object.keys(succinctOb.docs)) {
50504
+ const selectDocs = (dId) => !bookCodes2 || bookCodes2.includes(succinctOb.docs[dId].headers.bookCode);
50505
+ for (const docId of Object.keys(succinctOb.docs).filter(selectDocs)) {
50505
50506
  let doc = this.newDocumentFromSuccinct(docId, succinctOb);
50506
50507
  docs.push(doc);
50507
50508
  }
50508
50509
  docSet.preEnums = {};
50509
50510
  return docs;
50510
50511
  }
50512
+ augmentSuccinctDocSet(succinctOb, bookCodes2) {
50513
+ if (!bookCodes2 || bookCodes2.length === 0) {
50514
+ throw new Error("bookCodes argument must be present and contain at least one element in augmentSuccinctDocSet");
50515
+ }
50516
+ const selectDocs = (dId) => bookCodes2.includes(succinctOb.docs[dId]).headers.bookCode;
50517
+ if (!this.docSets[succinctOb.id]) {
50518
+ throw new Error(`docSet id '${succinctOb.id}' not found in Proskomma when using augmentSuccinctDocSet. Load it first with optional bookCodes argument`);
50519
+ }
50520
+ for (const docId of Object.keys(succinctOb.docs).filter(selectDocs)) {
50521
+ if (!this.documents[docId]) {
50522
+ this.newDocumentFromSuccinct(docId, succinctOb);
50523
+ }
50524
+ }
50525
+ }
50511
50526
  newDocumentFromSuccinct(docId, succinctOb) {
50512
50527
  const doc = new Document(this, succinctOb.id);
50513
50528
  doc.id = docId;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "proskomma-core",
3
- "version": "0.10.6",
3
+ "version": "0.10.7",
4
4
  "description": "A Scripture Runtime Engine",
5
5
  "files": [
6
6
  "dist"