proskomma-core 0.10.4 → 0.10.6

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.4";
15989
+ const version = "0.10.6";
15990
15990
  const description$b = "A Scripture Runtime Engine";
15991
15991
  const files = [
15992
15992
  "dist"
@@ -16001,10 +16001,10 @@ const exports$1 = {
16001
16001
  };
16002
16002
  const scripts = {
16003
16003
  build: "rm -fr dist && vite build",
16004
- test: 'export PKSRC=dist && bash -c "tape -r @babel/register test/code/**/*.cjs | node_modules/tap-summary/bin/cmd.js"',
16005
- "win:test": 'set PKSRC=dist&& bash -c "tape -r @babel/register test/code/**/*.cjs | node_modules/tap-summary/bin/cmd.js"',
16006
- rawTest: 'export PKSRC=dist && bash -c "tape -r @babel/register test/code/*.cjs"',
16007
- oneTest: 'bash -c "tape -r @babel/register test/code/$TESTSCRIPT.cjs"',
16004
+ test: 'rm -fr dist && vite build && export PKSRC=dist && bash -c "tape -r @babel/register test/code/**/*.cjs | node_modules/tap-summary/bin/cmd.js"',
16005
+ "win:test": 'rm -fr dist && vite build && set PKSRC=dist&& bash -c "tape -r @babel/register test/code/**/*.cjs | node_modules/tap-summary/bin/cmd.js"',
16006
+ rawTest: 'rm -fr dist && vite build && export PKSRC=dist && bash -c "tape -r @babel/register test/code/**/*.cjs"',
16007
+ oneTest: 'rm -fr dist && vite build && export PKSRC=dist && bash -c "tape -r @babel/register test/code/$TESTSCRIPT.cjs"',
16008
16008
  prepublishOnly: "npm run build"
16009
16009
  };
16010
16010
  const repository = {
@@ -16052,11 +16052,11 @@ const devDependencies = {
16052
16052
  "@babel/register": "^7.18.9",
16053
16053
  "@esbuild-plugins/node-globals-polyfill": "^0.2.3",
16054
16054
  events: "^3.3.0",
16055
- parcel: "^2.8.3",
16055
+ parcel: "^2.12.0",
16056
16056
  process: "^0.11.10",
16057
16057
  "stream-browserify": "^3.0.0",
16058
16058
  "tap-summary": "^4.0.0",
16059
- tape: "^5.6.0",
16059
+ tape: "^5.7.5",
16060
16060
  typescript: "^4.9.5",
16061
16061
  vite: "^4.1.4"
16062
16062
  };
@@ -38478,8 +38478,20 @@ const Sequence = class {
38478
38478
  const canBeEmpty = ["blockTag/b", "blockTag/ib"].concat(customCanBeEmpty);
38479
38479
  const emptyBlocks = [];
38480
38480
  let changed = false;
38481
+ const emptyMilestones = (blockItems) => {
38482
+ const milestoneScopes = blockItems.filter((i) => i.type === "scope" && i.payload.startsWith("milestone"));
38483
+ const startMilestones = /* @__PURE__ */ new Set([]);
38484
+ for (const milestoneScope of milestoneScopes) {
38485
+ if (milestoneScope.subType === "start") {
38486
+ startMilestones.add(milestoneScope.payload);
38487
+ } else if (startMilestones.has(milestoneScope.payload)) {
38488
+ return true;
38489
+ }
38490
+ }
38491
+ return false;
38492
+ };
38481
38493
  for (const blockRecord of this.blocks.entries()) {
38482
- if (blockRecord[1].tokens().length === 0 && !canBeEmpty.includes(blockRecord[1].bs.payload)) {
38494
+ if (blockRecord[1].tokens().length === 0 && !emptyMilestones(blockRecord[1].items) && !canBeEmpty.includes(blockRecord[1].bs.payload)) {
38483
38495
  emptyBlocks.push(blockRecord);
38484
38496
  }
38485
38497
  }
@@ -44694,15 +44706,19 @@ const do_chapter_cv = (root, context, mainSequence, chapterN, includeContext) =>
44694
44706
  const ci = root.chapterIndex(chapterN);
44695
44707
  if (ci) {
44696
44708
  const block2 = mainSequence.blocks[ci.startBlock];
44697
- return [
44698
- [
44699
- updatedOpenScopes(
44700
- context.docSet.unsuccinctifyScopes(block2.os).map((s) => s[2]),
44701
- context.docSet.unsuccinctifyItems(block2.c, {}, 0, []).slice(0, ci.startItem + 1).filter((i) => i[0] === "scope")
44702
- ),
44703
- context.docSet.itemsByIndex(mainSequence, ci, includeContext || false).reduce((a, b) => a.concat([["token", "lineSpace", " "]].concat(b)))
44704
- ]
44705
- ];
44709
+ if (block2) {
44710
+ return [
44711
+ [
44712
+ updatedOpenScopes(
44713
+ context.docSet.unsuccinctifyScopes(block2.os).map((s) => s[2]),
44714
+ context.docSet.unsuccinctifyItems(block2.c, {}, 0, []).slice(0, ci.startItem + 1).filter((i) => i[0] === "scope")
44715
+ ),
44716
+ context.docSet.itemsByIndex(mainSequence, ci, includeContext || false).reduce((a, b) => a.concat([["token", "lineSpace", " "]].concat(b)))
44717
+ ]
44718
+ ];
44719
+ } else {
44720
+ return [];
44721
+ }
44706
44722
  } else {
44707
44723
  return [];
44708
44724
  }
@@ -44771,8 +44787,8 @@ const do_chapter_verse_array = (root, context, mainSequence, chapterN, verses, i
44771
44787
  for (const [chapter, verse] of chapterVerses) {
44772
44788
  if (cvis[chapter]) {
44773
44789
  let retItems = [];
44774
- let firstStartBlock;
44775
- let firstStartItem;
44790
+ let firstStartBlock = 0;
44791
+ let firstStartItem = 0;
44776
44792
  if (cvis[chapter][verse]) {
44777
44793
  for (const ve of cvis[chapter][verse]) {
44778
44794
  if (!firstStartBlock) {
@@ -44786,13 +44802,13 @@ const do_chapter_verse_array = (root, context, mainSequence, chapterN, verses, i
44786
44802
  );
44787
44803
  }
44788
44804
  const block2 = documentMainSequence.blocks[firstStartBlock];
44789
- retItemGroups.push([
44805
+ retItemGroups.push(block2 ? [
44790
44806
  updatedOpenScopes(
44791
44807
  docSet.unsuccinctifyScopes(block2.os).map((s) => s[2]),
44792
44808
  docSet.unsuccinctifyItems(block2.c, {}, 0, []).slice(0, firstStartItem + 1).filter((i) => i[0] === "scope")
44793
44809
  ),
44794
44810
  retItems
44795
- ]);
44811
+ ] : []);
44796
44812
  }
44797
44813
  }
44798
44814
  }
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.4";
15987
+ const version = "0.10.6";
15988
15988
  const description$b = "A Scripture Runtime Engine";
15989
15989
  const files = [
15990
15990
  "dist"
@@ -15999,10 +15999,10 @@ const exports = {
15999
15999
  };
16000
16000
  const scripts = {
16001
16001
  build: "rm -fr dist && vite build",
16002
- test: 'export PKSRC=dist && bash -c "tape -r @babel/register test/code/**/*.cjs | node_modules/tap-summary/bin/cmd.js"',
16003
- "win:test": 'set PKSRC=dist&& bash -c "tape -r @babel/register test/code/**/*.cjs | node_modules/tap-summary/bin/cmd.js"',
16004
- rawTest: 'export PKSRC=dist && bash -c "tape -r @babel/register test/code/*.cjs"',
16005
- oneTest: 'bash -c "tape -r @babel/register test/code/$TESTSCRIPT.cjs"',
16002
+ test: 'rm -fr dist && vite build && export PKSRC=dist && bash -c "tape -r @babel/register test/code/**/*.cjs | node_modules/tap-summary/bin/cmd.js"',
16003
+ "win:test": 'rm -fr dist && vite build && set PKSRC=dist&& bash -c "tape -r @babel/register test/code/**/*.cjs | node_modules/tap-summary/bin/cmd.js"',
16004
+ rawTest: 'rm -fr dist && vite build && export PKSRC=dist && bash -c "tape -r @babel/register test/code/**/*.cjs"',
16005
+ oneTest: 'rm -fr dist && vite build && export PKSRC=dist && bash -c "tape -r @babel/register test/code/$TESTSCRIPT.cjs"',
16006
16006
  prepublishOnly: "npm run build"
16007
16007
  };
16008
16008
  const repository = {
@@ -16050,11 +16050,11 @@ const devDependencies = {
16050
16050
  "@babel/register": "^7.18.9",
16051
16051
  "@esbuild-plugins/node-globals-polyfill": "^0.2.3",
16052
16052
  events: "^3.3.0",
16053
- parcel: "^2.8.3",
16053
+ parcel: "^2.12.0",
16054
16054
  process: "^0.11.10",
16055
16055
  "stream-browserify": "^3.0.0",
16056
16056
  "tap-summary": "^4.0.0",
16057
- tape: "^5.6.0",
16057
+ tape: "^5.7.5",
16058
16058
  typescript: "^4.9.5",
16059
16059
  vite: "^4.1.4"
16060
16060
  };
@@ -38476,8 +38476,20 @@ const Sequence = class {
38476
38476
  const canBeEmpty = ["blockTag/b", "blockTag/ib"].concat(customCanBeEmpty);
38477
38477
  const emptyBlocks = [];
38478
38478
  let changed = false;
38479
+ const emptyMilestones = (blockItems) => {
38480
+ const milestoneScopes = blockItems.filter((i) => i.type === "scope" && i.payload.startsWith("milestone"));
38481
+ const startMilestones = /* @__PURE__ */ new Set([]);
38482
+ for (const milestoneScope of milestoneScopes) {
38483
+ if (milestoneScope.subType === "start") {
38484
+ startMilestones.add(milestoneScope.payload);
38485
+ } else if (startMilestones.has(milestoneScope.payload)) {
38486
+ return true;
38487
+ }
38488
+ }
38489
+ return false;
38490
+ };
38479
38491
  for (const blockRecord of this.blocks.entries()) {
38480
- if (blockRecord[1].tokens().length === 0 && !canBeEmpty.includes(blockRecord[1].bs.payload)) {
38492
+ if (blockRecord[1].tokens().length === 0 && !emptyMilestones(blockRecord[1].items) && !canBeEmpty.includes(blockRecord[1].bs.payload)) {
38481
38493
  emptyBlocks.push(blockRecord);
38482
38494
  }
38483
38495
  }
@@ -44692,15 +44704,19 @@ const do_chapter_cv = (root, context, mainSequence, chapterN, includeContext) =>
44692
44704
  const ci = root.chapterIndex(chapterN);
44693
44705
  if (ci) {
44694
44706
  const block2 = mainSequence.blocks[ci.startBlock];
44695
- return [
44696
- [
44697
- updatedOpenScopes(
44698
- context.docSet.unsuccinctifyScopes(block2.os).map((s) => s[2]),
44699
- context.docSet.unsuccinctifyItems(block2.c, {}, 0, []).slice(0, ci.startItem + 1).filter((i) => i[0] === "scope")
44700
- ),
44701
- context.docSet.itemsByIndex(mainSequence, ci, includeContext || false).reduce((a, b) => a.concat([["token", "lineSpace", " "]].concat(b)))
44702
- ]
44703
- ];
44707
+ if (block2) {
44708
+ return [
44709
+ [
44710
+ updatedOpenScopes(
44711
+ context.docSet.unsuccinctifyScopes(block2.os).map((s) => s[2]),
44712
+ context.docSet.unsuccinctifyItems(block2.c, {}, 0, []).slice(0, ci.startItem + 1).filter((i) => i[0] === "scope")
44713
+ ),
44714
+ context.docSet.itemsByIndex(mainSequence, ci, includeContext || false).reduce((a, b) => a.concat([["token", "lineSpace", " "]].concat(b)))
44715
+ ]
44716
+ ];
44717
+ } else {
44718
+ return [];
44719
+ }
44704
44720
  } else {
44705
44721
  return [];
44706
44722
  }
@@ -44769,8 +44785,8 @@ const do_chapter_verse_array = (root, context, mainSequence, chapterN, verses, i
44769
44785
  for (const [chapter, verse] of chapterVerses) {
44770
44786
  if (cvis[chapter]) {
44771
44787
  let retItems = [];
44772
- let firstStartBlock;
44773
- let firstStartItem;
44788
+ let firstStartBlock = 0;
44789
+ let firstStartItem = 0;
44774
44790
  if (cvis[chapter][verse]) {
44775
44791
  for (const ve of cvis[chapter][verse]) {
44776
44792
  if (!firstStartBlock) {
@@ -44784,13 +44800,13 @@ const do_chapter_verse_array = (root, context, mainSequence, chapterN, verses, i
44784
44800
  );
44785
44801
  }
44786
44802
  const block2 = documentMainSequence.blocks[firstStartBlock];
44787
- retItemGroups.push([
44803
+ retItemGroups.push(block2 ? [
44788
44804
  updatedOpenScopes(
44789
44805
  docSet.unsuccinctifyScopes(block2.os).map((s) => s[2]),
44790
44806
  docSet.unsuccinctifyItems(block2.c, {}, 0, []).slice(0, firstStartItem + 1).filter((i) => i[0] === "scope")
44791
44807
  ),
44792
44808
  retItems
44793
- ]);
44809
+ ] : []);
44794
44810
  }
44795
44811
  }
44796
44812
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "proskomma-core",
3
- "version": "0.10.4",
3
+ "version": "0.10.6",
4
4
  "description": "A Scripture Runtime Engine",
5
5
  "files": [
6
6
  "dist"
@@ -15,10 +15,10 @@
15
15
  },
16
16
  "scripts": {
17
17
  "build": "rm -fr dist && vite build",
18
- "test": "export PKSRC=dist && bash -c \"tape -r @babel/register test/code/**/*.cjs | node_modules/tap-summary/bin/cmd.js\"",
19
- "win:test": "set PKSRC=dist&& bash -c \"tape -r @babel/register test/code/**/*.cjs | node_modules/tap-summary/bin/cmd.js\"",
20
- "rawTest": "export PKSRC=dist && bash -c \"tape -r @babel/register test/code/*.cjs\"",
21
- "oneTest": "bash -c \"tape -r @babel/register test/code/$TESTSCRIPT.cjs\"",
18
+ "test": "rm -fr dist && vite build && export PKSRC=dist && bash -c \"tape -r @babel/register test/code/**/*.cjs | node_modules/tap-summary/bin/cmd.js\"",
19
+ "win:test": "rm -fr dist && vite build && set PKSRC=dist&& bash -c \"tape -r @babel/register test/code/**/*.cjs | node_modules/tap-summary/bin/cmd.js\"",
20
+ "rawTest": "rm -fr dist && vite build && export PKSRC=dist && bash -c \"tape -r @babel/register test/code/**/*.cjs\"",
21
+ "oneTest": "rm -fr dist && vite build && export PKSRC=dist && bash -c \"tape -r @babel/register test/code/$TESTSCRIPT.cjs\"",
22
22
  "prepublishOnly": "npm run build"
23
23
  },
24
24
  "repository": {
@@ -66,11 +66,11 @@
66
66
  "@babel/register": "^7.18.9",
67
67
  "@esbuild-plugins/node-globals-polyfill": "^0.2.3",
68
68
  "events": "^3.3.0",
69
- "parcel": "^2.8.3",
69
+ "parcel": "^2.12.0",
70
70
  "process": "^0.11.10",
71
71
  "stream-browserify": "^3.0.0",
72
72
  "tap-summary": "^4.0.0",
73
- "tape": "^5.6.0",
73
+ "tape": "^5.7.5",
74
74
  "typescript": "^4.9.5",
75
75
  "vite": "^4.1.4"
76
76
  }