@datasworn-community/build-tools 0.2.13 → 0.3.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"semantic-validators.d.ts","sourceRoot":"","sources":["../src/semantic-validators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAK1D,sEAAsE;AACtE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,SAAS,GAAG,IAAI,CAMlE;AAED,0DAA0D;AAC1D,wBAAgB,yBAAyB,CACxC,GAAG,EAAE,SAAS,CAAC,iBAAiB,GAC9B,IAAI,CAGN;AAgBD,4EAA4E;AAC5E,wBAAgB,sBAAsB,CACrC,MAAM,EAAE,SAAS,CAAC,cAAc,GAC9B,IAAI,CA6BN;AAuCD,+EAA+E;AAC/E,wBAAgB,wBAAwB,CACvC,UAAU,EAAE,SAAS,CAAC,gBAAgB,GACpC,IAAI,CAqBN;AAED,mFAAmF;AACnF,eAAO,MAAM,UAAU;;;CAGb,CAAA"}
1
+ {"version":3,"file":"semantic-validators.d.ts","sourceRoot":"","sources":["../src/semantic-validators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAK1D,sEAAsE;AACtE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,SAAS,GAAG,IAAI,CAMlE;AAED,0DAA0D;AAC1D,wBAAgB,yBAAyB,CACxC,GAAG,EAAE,SAAS,CAAC,iBAAiB,GAC9B,IAAI,CAGN;AAgBD,4EAA4E;AAC5E,wBAAgB,sBAAsB,CACrC,MAAM,EAAE,SAAS,CAAC,cAAc,GAC9B,IAAI,CAmDN;AAuCD,+EAA+E;AAC/E,wBAAgB,wBAAwB,CACvC,UAAU,EAAE,SAAS,CAAC,gBAAgB,GACpC,IAAI,CAqBN;AAED,mFAAmF;AACnF,eAAO,MAAM,UAAU;;;CAGb,CAAA"}
@@ -40,6 +40,22 @@ export function validateOracleRollable(oracle) {
40
40
  if (previous != null && row.roll.min !== previous.roll.max + 1)
41
41
  throw new Error(`@ index ${index}: Roll range (${row.roll.min}-${row.roll.max}) is not sequential with previous numbered row (${previous.roll.min}-${previous.roll.max}).`);
42
42
  }
43
+ // The two ends. Everything above constrains rows against each other or
44
+ // against the bounds individually, and none of it can see a table that is
45
+ // internally consistent but stops short: 1-50, 51-99 on a 1d100 is in
46
+ // bounds and sequential, and a roll of 100 selects nothing.
47
+ //
48
+ // Skipped when nothing is numbered. Rows without a roll are legitimate --
49
+ // table_shared_rolls children carry text and inherit their ranges -- so
50
+ // asserting coverage there would reject valid content.
51
+ if (numberedRows.length > 0) {
52
+ const first = numberedRows[0].row.roll;
53
+ const last = numberedRows[numberedRows.length - 1].row.roll;
54
+ if (first.min !== possible.min)
55
+ throw new Error(`first numbered row starts at ${first.min}, but the minimum possible roll of ${oracle.dice} is ${possible.min}`);
56
+ if (last.max !== possible.max)
57
+ throw new Error(`last numbered row ends at ${last.max}, but the maximum possible roll of ${oracle.dice} is ${possible.max}`);
58
+ }
43
59
  return true;
44
60
  }
45
61
  function compareParallelRows(contents, equal, description) {
@@ -1 +1 @@
1
- {"version":3,"file":"semantic-validators.js","sourceRoot":"","sources":["../src/semantic-validators.ts"],"names":[],"mappings":"AAEA,MAAM,qBAAqB,GAC1B,4EAA4E,CAAA;AAE7E,sEAAsE;AACtE,MAAM,UAAU,iBAAiB,CAAC,KAA0B;IAC3D,IAAI,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG;QACxB,MAAM,IAAI,KAAK,CACd,kBAAkB,KAAK,CAAC,GAAG,0BAA0B,KAAK,CAAC,GAAG,GAAG,CACjE,CAAA;IACF,OAAO,IAAI,CAAA;AACZ,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,yBAAyB,CACxC,GAAgC;IAEhC,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI;QAAE,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACjD,OAAO,IAAI,CAAA;AACZ,CAAC;AAED,SAAS,SAAS,CAAC,UAAoC;IACtD,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC7D,IAAI,MAAM,IAAI,IAAI;QACjB,MAAM,IAAI,KAAK,CAAC,mBAAmB,UAAU,wBAAwB,CAAC,CAAA;IAEvE,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAClC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACtE,OAAO;QACN,GAAG,EAAE,KAAK,GAAG,QAAQ;QACrB,GAAG,EAAE,KAAK,GAAG,KAAK,GAAG,QAAQ;KAC7B,CAAA;AACF,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,sBAAsB,CACrC,MAAgC;IAEhC,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACvC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI;SAC9B,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;SACrC,MAAM,CACN,CAAC,KAAK,EAAkE,EAAE,CACzE,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CACvB,CAAA;IAEF,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;QACnE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;QAC7C,yBAAyB,CAAC,GAAG,CAAC,CAAA;QAC9B,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG;YAC9B,MAAM,IAAI,KAAK,CACd,WAAW,KAAK,eAAe,GAAG,CAAC,IAAI,CAAC,GAAG,+CAA+C,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,GAAG,GAAG,CACzH,CAAA;QACF,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG;YAC9B,MAAM,IAAI,KAAK,CACd,WAAW,KAAK,eAAe,GAAG,CAAC,IAAI,CAAC,GAAG,kDAAkD,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,GAAG,GAAG,CAC5H,CAAA;QAEF,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,GAAG,CAAA;QAChD,IAAI,QAAQ,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;YAC7D,MAAM,IAAI,KAAK,CACd,WAAW,KAAK,iBAAiB,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,mDAAmD,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAC1J,CAAA;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACZ,CAAC;AAID,SAAS,mBAAmB,CAC3B,QAAkD,EAClD,KAAqD,EACrD,WAAmB;IAEnB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IACxC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,OAAM;IAE9B,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IACxC,KAAK,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,MAAM;YAChD,MAAM,IAAI,KAAK,CACd,GAAG,WAAW,MAAM,YAAY,SAAS,SAAS,CAAC,IAAI,CAAC,MAAM,mBAAmB,OAAO,CAAC,IAAI,CAAC,MAAM,cAAc,UAAU,GAAG,CAC/H,CAAA;QACF,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YAC1D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrD,MAAM,IAAI,KAAK,CACd,GAAG,WAAW,SAAS,KAAK,QAAQ,YAAY,qBAAqB,UAAU,GAAG,CAClF,CAAA;QACH,CAAC;IACF,CAAC;AACF,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAe,EAAE,KAAgB;IAC1D,OAAO,IAAI,CAAC,IAAI,EAAE,GAAG,KAAK,KAAK,CAAC,IAAI,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,GAAG,KAAK,KAAK,CAAC,IAAI,EAAE,GAAG,CAAA;AAChF,CAAC;AAED,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAU,CAAA;AAE1D,SAAS,gBAAgB,CAAC,IAAe,EAAE,KAAgB;IAC1D,MAAM,UAAU,GAAG,IAA0C,CAAA;IAC7D,MAAM,WAAW,GAAG,KAA2C,CAAA;IAC/D,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,WAAW,CAAC,GAAG,CAAC,CAAC,CAAA;AAC3E,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,wBAAwB,CACvC,UAAsC;IAEtC,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,IAAI,EAAE,CAAA;IAC1C,QAAQ,UAAU,CAAC,WAAW,EAAE,CAAC;QAChC,KAAK,oBAAoB;YACxB,mBAAmB,CAClB,QAAQ,EACR,gBAAgB,EAChB,0GAA0G,CAC1G,CAAA;YACD,MAAK;QACN,KAAK,mBAAmB,CAAC;QACzB,KAAK,oBAAoB,CAAC;QAC1B,KAAK,oBAAoB;YACxB,mBAAmB,CAClB,QAAQ,EACR,gBAAgB,EAChB,GAAG,UAAU,CAAC,WAAW,yFAAyF,CAClH,CAAA;YACD,MAAK;IACP,CAAC;IACD,OAAO,IAAI,CAAA;AACZ,CAAC;AAED,mFAAmF;AACnF,MAAM,CAAC,MAAM,UAAU,GAAG;IACzB,eAAe,EAAE,sBAAsB;IACvC,iBAAiB,EAAE,wBAAwB;CAClC,CAAA"}
1
+ {"version":3,"file":"semantic-validators.js","sourceRoot":"","sources":["../src/semantic-validators.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datasworn-community/build-tools",
3
- "version": "0.2.13",
3
+ "version": "0.3.1",
4
4
  "description": "Build and migration tools for Datasworn source packages.",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -54,10 +54,10 @@
54
54
  "yaml": "^2.9.0"
55
55
  },
56
56
  "peerDependencies": {
57
- "@datasworn-community/core": "0.2.13"
57
+ "@datasworn-community/core": "0.3.1"
58
58
  },
59
59
  "devDependencies": {
60
- "@datasworn-community/core": "0.2.13",
60
+ "@datasworn-community/core": "0.3.1",
61
61
  "json-schema": "^0.4.0",
62
62
  "json-schema-library": "^11.6.2",
63
63
  "type-fest": "^5.9.0"
@@ -59,6 +59,12 @@ const RulesPackageBase = Type.Object({
59
59
  description: 'A dictionary object of truth categories.'
60
60
  })
61
61
  ),
62
+ worlds: Type.Optional(
63
+ Generic.Dictionary(Type.Ref('World'), {
64
+ description:
65
+ 'A dictionary object of named worlds and their associated setting truths.'
66
+ })
67
+ ),
62
68
  rarities: Type.Optional(
63
69
  Generic.Dictionary(Type.Ref('Rarity'), {
64
70
  description:
@@ -6,6 +6,24 @@ import { EntityPrompt } from './entities/EntityPrompt.js'
6
6
  import * as Generic from './Generic.js'
7
7
  import { EmbeddedOracleRollable } from './oracles/EmbeddedOracleRollable.js'
8
8
 
9
+ export const World = Generic.NonCollectableNode(
10
+ Type.Object({
11
+ truths: Type.Array(Type.Ref('TruthId'), {
12
+ minItems: 1,
13
+ uniqueItems: true,
14
+ description:
15
+ 'The set of setting truths that make up this world, in presentation order.'
16
+ })
17
+ }),
18
+ 'world',
19
+ {
20
+ $id: 'World',
21
+ description: 'A named world and its associated set of setting truths.'
22
+ }
23
+ )
24
+
25
+ export type World = Static<typeof World>
26
+
9
27
  export type TruthOption = Static<typeof TruthOption>
10
28
 
11
29
  export const TruthOption = Generic.IdNode(