bingo-stratum 0.6.0 → 0.6.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":"assertNoDuplicateBlocks.d.ts","sourceRoot":"","sources":["../../src/creators/assertNoDuplicateBlocks.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,wBAAgB,uBAAuB,CAAC,OAAO,SAAS,MAAM,EAC7D,gBAAgB,EAAE,gBAAgB,CAAC,OAAO,CAAC,QAY3C"}
1
+ {"version":3,"file":"assertNoDuplicateBlocks.d.ts","sourceRoot":"","sources":["../../src/creators/assertNoDuplicateBlocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD,wBAAgB,uBAAuB,CAAC,OAAO,SAAS,MAAM,EAC7D,gBAAgB,EAAE,gBAAgB,CAAC,OAAO,CAAC,QAY3C"}
@@ -1,3 +1,4 @@
1
+ import { getName } from "../utils/getName.js";
1
2
  export function assertNoDuplicateBlocks(presetDefinition) {
2
3
  const presetName = getName(presetDefinition);
3
4
  const seen = new Set();
@@ -7,7 +8,4 @@ export function assertNoDuplicateBlocks(presetDefinition) {
7
8
  }
8
9
  }
9
10
  }
10
- function getName(value) {
11
- return value.about?.name ?? "(anonymous)";
12
- }
13
11
  //# sourceMappingURL=assertNoDuplicateBlocks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"assertNoDuplicateBlocks.js","sourceRoot":"","sources":["../../src/creators/assertNoDuplicateBlocks.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,uBAAuB,CACtC,gBAA2C;IAE3C,MAAM,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;IAEvB,KAAK,MAAM,KAAK,IAAI,gBAAgB,CAAC,MAAM,EAAE,CAAC;QAC7C,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACd,UAAU,UAAU,yBAAyB,OAAO,CAAC,KAAK,CAAC,EAAE,CAC7D,CAAC;QACH,CAAC;IACF,CAAC;AACF,CAAC;AAED,SAAS,OAAO,CAAC,KAA4B;IAC5C,OAAO,KAAK,CAAC,KAAK,EAAE,IAAI,IAAI,aAAa,CAAC;AAC3C,CAAC"}
1
+ {"version":3,"file":"assertNoDuplicateBlocks.js","sourceRoot":"","sources":["../../src/creators/assertNoDuplicateBlocks.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,MAAM,UAAU,uBAAuB,CACtC,gBAA2C;IAE3C,MAAM,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;IAEvB,KAAK,MAAM,KAAK,IAAI,gBAAgB,CAAC,MAAM,EAAE,CAAC;QAC7C,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACd,UAAU,UAAU,yBAAyB,OAAO,CAAC,KAAK,CAAC,EAAE,CAC7D,CAAC;QACH,CAAC;IACF,CAAC;AACF,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare function mergeAddonsIfUpdated<T extends object>(existingAddons: T, newAddons: T): Error | T | undefined;
1
+ export declare function mergeAddonsIfUpdated<T extends object>(existingAddons: T, newAddons: T, path?: string[]): Error | T | undefined;
2
2
  //# sourceMappingURL=mergeAddonsIfUpdated.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mergeAddonsIfUpdated.d.ts","sourceRoot":"","sources":["../../src/mergers/mergeAddonsIfUpdated.ts"],"names":[],"mappings":"AAEA,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EACpD,cAAc,EAAE,CAAC,EACjB,SAAS,EAAE,CAAC,GACV,KAAK,GAAG,CAAC,GAAG,SAAS,CAwEvB"}
1
+ {"version":3,"file":"mergeAddonsIfUpdated.d.ts","sourceRoot":"","sources":["../../src/mergers/mergeAddonsIfUpdated.ts"],"names":[],"mappings":"AAGA,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EACpD,cAAc,EAAE,CAAC,EACjB,SAAS,EAAE,CAAC,EACZ,IAAI,GAAE,MAAM,EAAO,GACjB,KAAK,GAAG,CAAC,GAAG,SAAS,CAwEvB"}
@@ -1,18 +1,20 @@
1
1
  import hashObject from "hash-object";
2
- export function mergeAddonsIfUpdated(existingAddons, newAddons) {
2
+ import { inspect } from "node:util";
3
+ export function mergeAddonsIfUpdated(existingAddons, newAddons, path = []) {
3
4
  if (Array.isArray(existingAddons)) {
4
5
  if (!Array.isArray(newAddons)) {
5
- return new Error("Mismatched merging addons (Array.isArray).");
6
+ return createMismatchError(path, existingAddons, newAddons);
6
7
  }
7
8
  return mergeAddonsArraysIfUpdated(existingAddons, newAddons);
8
9
  }
9
10
  else if (Array.isArray(newAddons)) {
10
- return new Error("Mismatched merging addons (Array.isArray).");
11
+ return createMismatchError(path, existingAddons, newAddons);
11
12
  }
12
13
  const newEntries = Object.entries(newAddons);
13
14
  const result = { ...existingAddons };
14
15
  let updated = newEntries.length !== Object.keys(existingAddons).length;
15
16
  for (const [key, value] of newEntries) {
17
+ const keyPath = [...path, key];
16
18
  if (!(key in result) || result[key] == null) {
17
19
  updated = true;
18
20
  result[key] = value;
@@ -23,7 +25,7 @@ export function mergeAddonsIfUpdated(existingAddons, newAddons) {
23
25
  }
24
26
  if (Array.isArray(result[key])) {
25
27
  if (!Array.isArray(value)) {
26
- return new Error("Mismatched merging addons (Array.isArray).");
28
+ return createMismatchError(keyPath, result[key], value);
27
29
  }
28
30
  const existingElementKeys = new Set(result[key].map((value) => createHash(value)));
29
31
  for (const newElement of value) {
@@ -38,9 +40,9 @@ export function mergeAddonsIfUpdated(existingAddons, newAddons) {
38
40
  }
39
41
  if (typeof result[key] === "object") {
40
42
  if (typeof value !== "object") {
41
- return new Error("Mismatched merging addons (typeof object).");
43
+ return createMismatchError(keyPath, result[key], value);
42
44
  }
43
- const nestedMerge = mergeAddonsIfUpdated(result[key], value);
45
+ const nestedMerge = mergeAddonsIfUpdated(result[key], value, keyPath);
44
46
  if (nestedMerge) {
45
47
  if (nestedMerge instanceof Error) {
46
48
  return nestedMerge;
@@ -51,7 +53,7 @@ export function mergeAddonsIfUpdated(existingAddons, newAddons) {
51
53
  continue;
52
54
  }
53
55
  if (result[key] !== value) {
54
- return new Error(`Mismatched merging addons (${result[key]} vs. ${value}).`);
56
+ return createMismatchError(keyPath, result[key], value);
55
57
  }
56
58
  }
57
59
  return updated ? result : undefined;
@@ -61,6 +63,12 @@ function createHash(value) {
61
63
  ? hashObject(value)
62
64
  : String(value);
63
65
  }
66
+ function createMismatchError(path, existingValue, newValue) {
67
+ const location = path.length ? ` at '${path.join(".")}'` : "";
68
+ const existing = inspect(existingValue, { breakLength: Infinity });
69
+ const updated = inspect(newValue, { breakLength: Infinity });
70
+ return new Error(`Mismatched addons${location}: existing ${existing} vs. new ${updated}.`);
71
+ }
64
72
  function mergeAddonsArraysIfUpdated(existingAddons, newAddons) {
65
73
  const result = [...existingAddons];
66
74
  const hashes = new Set(existingAddons.map(createHash));
@@ -1 +1 @@
1
- {"version":3,"file":"mergeAddonsIfUpdated.js","sourceRoot":"","sources":["../../src/mergers/mergeAddonsIfUpdated.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mergeAddonsIfUpdated.js","sourceRoot":"","sources":["../../src/mergers/mergeAddonsIfUpdated.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import { describe, expect, it } from "vitest";
2
2
  import { mergeAddonsIfUpdated } from "./mergeAddonsIfUpdated.js";
3
- describe("mergeArgsIfUpdated", () => {
3
+ describe("mergeAddonsIfUpdated", () => {
4
4
  it.each([
5
5
  [{}, {}, undefined],
6
6
  [[], [], undefined],
7
- [[], {}, new Error("Mismatched merging addons (Array.isArray).")],
8
- [{}, [], new Error("Mismatched merging addons (Array.isArray).")],
7
+ [[], {}, new Error("Mismatched addons: existing [] vs. new {}.")],
8
+ [{}, [], new Error("Mismatched addons: existing {} vs. new [].")],
9
9
  [["a"], ["a"], undefined],
10
10
  [["a"], ["b"], ["a", "b"]],
11
11
  [{ a: true }, {}, { a: true }],
@@ -14,17 +14,22 @@ describe("mergeArgsIfUpdated", () => {
14
14
  [
15
15
  { a: true },
16
16
  { a: false },
17
- new Error("Mismatched merging addons (true vs. false)."),
17
+ new Error("Mismatched addons at 'a': existing true vs. new false."),
18
18
  ],
19
19
  [
20
20
  { a: [] },
21
21
  { a: false },
22
- new Error("Mismatched merging addons (Array.isArray)."),
22
+ new Error("Mismatched addons at 'a': existing [] vs. new false."),
23
23
  ],
24
24
  [
25
25
  { a: {} },
26
26
  { a: false },
27
- new Error("Mismatched merging addons (typeof object)."),
27
+ new Error("Mismatched addons at 'a': existing {} vs. new false."),
28
+ ],
29
+ [
30
+ { a: {} },
31
+ { a: [] },
32
+ new Error("Mismatched addons at 'a': existing {} vs. new []."),
28
33
  ],
29
34
  [{ a: true }, { b: true }, { a: true, b: true }],
30
35
  [{}, { b: true }, { b: true }],
@@ -38,7 +43,12 @@ describe("mergeArgsIfUpdated", () => {
38
43
  [
39
44
  { a: { a1: true } },
40
45
  { a: { a1: false } },
41
- new Error("Mismatched merging addons (true vs. false)."),
46
+ new Error("Mismatched addons at 'a.a1': existing true vs. new false."),
47
+ ],
48
+ [
49
+ { a: { a1: "b" } },
50
+ { a: { a1: "c" } },
51
+ new Error("Mismatched addons at 'a.a1': existing 'b' vs. new 'c'."),
42
52
  ],
43
53
  [{ a: { a1: ["a2"] } }, { a: { a1: ["a2"] } }, undefined],
44
54
  [{ a: { a1: ["a2"] } }, { a: { a1: ["a3"] } }, { a: { a1: ["a2", "a3"] } }],
@@ -1 +1 @@
1
- {"version":3,"file":"mergeAddonsIfUpdated.test.js","sourceRoot":"","sources":["../../src/mergers/mergeAddonsIfUpdated.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mergeAddonsIfUpdated.test.js","sourceRoot":"","sources":["../../src/mergers/mergeAddonsIfUpdated.test.ts"],"names":[],"mappings":"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"}
@@ -5,5 +5,5 @@ export interface BlockProduction<Addons extends object | undefined> {
5
5
  addons: Addons;
6
6
  creation?: Partial<Creation>;
7
7
  }
8
- export declare function getUpdatedBlockAddons<Options extends object>(allowedBlocks: Set<Block<object | undefined, Options>>, blockProductions: Map<Block<object | undefined, Options>, BlockProduction<object>>, newBlockAddons?: CreatedBlockAddons<object, Options>[]): [BlockWithAddons<object, Options>, object][];
8
+ export declare function getUpdatedBlockAddons<Options extends object>(allowedBlocks: Set<Block<object | undefined, Options>>, blockProductions: Map<Block<object | undefined, Options>, BlockProduction<object>>, producingBlock: Block<object | undefined, Options>, newBlockAddons?: CreatedBlockAddons<object, Options>[]): [BlockWithAddons<object, Options>, object][];
9
9
  //# sourceMappingURL=getUpdatedBlockAddons.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getUpdatedBlockAddons.d.ts","sourceRoot":"","sources":["../../src/producers/getUpdatedBlockAddons.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGjC,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,WAAW,eAAe,CAAC,MAAM,SAAS,MAAM,GAAG,SAAS;IACjE,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC7B;AAED,wBAAgB,qBAAqB,CAAC,OAAO,SAAS,MAAM,EAC3D,aAAa,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,CAAC,EACtD,gBAAgB,EAAE,GAAG,CACpB,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,EAClC,eAAe,CAAC,MAAM,CAAC,CACvB,EACD,cAAc,GAAE,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,EAAO,gDAyB1D"}
1
+ {"version":3,"file":"getUpdatedBlockAddons.d.ts","sourceRoot":"","sources":["../../src/producers/getUpdatedBlockAddons.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGjC,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAG3D,MAAM,WAAW,eAAe,CAAC,MAAM,SAAS,MAAM,GAAG,SAAS;IACjE,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC7B;AAED,wBAAgB,qBAAqB,CAAC,OAAO,SAAS,MAAM,EAC3D,aAAa,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,CAAC,EACtD,gBAAgB,EAAE,GAAG,CACpB,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,EAClC,eAAe,CAAC,MAAM,CAAC,CACvB,EACD,cAAc,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,EAClD,cAAc,GAAE,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,EAAO,gDA+B1D"}
@@ -1,5 +1,6 @@
1
1
  import { mergeAddonsIfUpdated } from "../mergers/mergeAddonsIfUpdated.js";
2
- export function getUpdatedBlockAddons(allowedBlocks, blockProductions, newBlockAddons = []) {
2
+ import { getName } from "../utils/getName.js";
3
+ export function getUpdatedBlockAddons(allowedBlocks, blockProductions, producingBlock, newBlockAddons = []) {
3
4
  const updated = [];
4
5
  for (const newAddons of newBlockAddons) {
5
6
  if (!allowedBlocks.has(newAddons.block)) {
@@ -11,6 +12,9 @@ export function getUpdatedBlockAddons(allowedBlocks, blockProductions, newBlockA
11
12
  continue;
12
13
  }
13
14
  const updatedAddons = mergeAddonsIfUpdated(existingProduction.addons, newAddons.addons);
15
+ if (updatedAddons instanceof Error) {
16
+ throw new Error(`Could not merge addons from Block ${getName(producingBlock)} into Block ${getName(newAddons.block)}. ${updatedAddons.message}`);
17
+ }
14
18
  if (updatedAddons) {
15
19
  updated.push([newAddons.block, updatedAddons]);
16
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getUpdatedBlockAddons.js","sourceRoot":"","sources":["../../src/producers/getUpdatedBlockAddons.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAS1E,MAAM,UAAU,qBAAqB,CACpC,aAAsD,EACtD,gBAGC,EACD,iBAAwD,EAAE;IAE1D,MAAM,OAAO,GAAiD,EAAE,CAAC;IAEjE,KAAK,MAAM,SAAS,IAAI,cAAc,EAAE,CAAC;QACxC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,SAAS;QACV,CAAC;QAED,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACjE,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;YAClD,SAAS;QACV,CAAC;QAED,MAAM,aAAa,GAAG,oBAAoB,CACzC,kBAAkB,CAAC,MAAM,EACzB,SAAS,CAAC,MAAM,CAChB,CAAC;QACF,IAAI,aAAa,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;QAChD,CAAC;IACF,CAAC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"getUpdatedBlockAddons.js","sourceRoot":"","sources":["../../src/producers/getUpdatedBlockAddons.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAG1E,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAO9C,MAAM,UAAU,qBAAqB,CACpC,aAAsD,EACtD,gBAGC,EACD,cAAkD,EAClD,iBAAwD,EAAE;IAE1D,MAAM,OAAO,GAAiD,EAAE,CAAC;IAEjE,KAAK,MAAM,SAAS,IAAI,cAAc,EAAE,CAAC;QACxC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,SAAS;QACV,CAAC;QAED,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACjE,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;YAClD,SAAS;QACV,CAAC;QAED,MAAM,aAAa,GAAG,oBAAoB,CACzC,kBAAkB,CAAC,MAAM,EACzB,SAAS,CAAC,MAAM,CAChB,CAAC;QACF,IAAI,aAAa,YAAY,KAAK,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CACd,qCAAqC,OAAO,CAAC,cAAc,CAAC,eAAe,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,aAAa,CAAC,OAAO,EAAE,CAC/H,CAAC;QACH,CAAC;QAED,IAAI,aAAa,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;QAChD,CAAC;IACF,CAAC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"produceBlocks.d.ts","sourceRoot":"","sources":["../../src/producers/produceBlocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG3C,OAAO,EAAE,KAAK,EAAmB,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAO3D,MAAM,WAAW,qBAAqB,CAAC,OAAO,SAAS,MAAM;IAC5D,WAAW,CAAC,EAAE,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACpD,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CACjB;AAED,wBAAgB,aAAa,CAAC,OAAO,SAAS,MAAM,EACnD,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,EAC5C,EACC,WAAW,EACX,KAAU,EACV,IAAI,EACJ,OAAO,EACP,OAAO,GACP,EAAE,qBAAqB,CAAC,OAAO,CAAC,MAqFjC"}
1
+ {"version":3,"file":"produceBlocks.d.ts","sourceRoot":"","sources":["../../src/producers/produceBlocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG3C,OAAO,EAAE,KAAK,EAAmB,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAO3D,MAAM,WAAW,qBAAqB,CAAC,OAAO,SAAS,MAAM;IAC5D,WAAW,CAAC,EAAE,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACpD,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CACjB;AAED,wBAAgB,aAAa,CAAC,OAAO,SAAS,MAAM,EACnD,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,EAC5C,EACC,WAAW,EACX,KAAU,EACV,IAAI,EACJ,OAAO,EACP,OAAO,GACP,EAAE,qBAAqB,CAAC,OAAO,CAAC,MAuFjC"}
@@ -47,8 +47,9 @@ export function produceBlocks(blocks, { blockAddons, files = {}, mode, offline,
47
47
  creation: blockCreation,
48
48
  });
49
49
  // 3.4. If the Block specified new addons for any defined Blocks:
50
- const updatedBlockAddons = getUpdatedBlockAddons(allowedBlocks, blockProductions, blockCreation.addons);
51
- // 3.4.1: Add those Blocks to the queue to re-run
50
+ // 3.4.1: Merge those Addons into the Blocks' existing Addons, throwing an error if any values conflict
51
+ const updatedBlockAddons = getUpdatedBlockAddons(allowedBlocks, blockProductions, currentBlock, blockCreation.addons);
52
+ // 3.4.2: Add those Blocks to the queue to re-run
52
53
  for (const [updatedBlock, updatedAddons] of updatedBlockAddons) {
53
54
  const addedBlockPreviousProduction = blockProductions.get(updatedBlock);
54
55
  blockProductions.set(updatedBlock, {
@@ -1 +1 @@
1
- {"version":3,"file":"produceBlocks.js","sourceRoot":"","sources":["../../src/producers/produceBlocks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"produceBlocks.js","sourceRoot":"","sources":["../../src/producers/produceBlocks.ts"],"names":[],"mappings":"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"}
@@ -153,6 +153,100 @@ describe("produceBlocks", () => {
153
153
  },
154
154
  });
155
155
  });
156
+ it("merges addons produced by a Block into another Block's existing addons", () => {
157
+ const blockReceiving = base.createBlock({
158
+ about: {
159
+ name: "Receiving Block",
160
+ },
161
+ addons: {
162
+ lines: z.array(z.string()).default([]),
163
+ },
164
+ produce({ addons }) {
165
+ return {
166
+ files: { "README.md": addons.lines.join("\n") },
167
+ };
168
+ },
169
+ });
170
+ const blockProducing = base.createBlock({
171
+ about: {
172
+ name: "Producing Block",
173
+ },
174
+ produce() {
175
+ return {
176
+ addons: [blockReceiving({ lines: ["b", "c"] })],
177
+ };
178
+ },
179
+ });
180
+ const result = produceBlocks([blockReceiving, blockProducing], {
181
+ blockAddons: [blockReceiving({ lines: ["a", "b"] })],
182
+ options: { value: "Hello, world!" },
183
+ });
184
+ expect(result).toEqual({
185
+ addons: [blockReceiving({ lines: ["b", "c"] })],
186
+ files: {
187
+ "README.md": "a\nb\nc",
188
+ },
189
+ });
190
+ });
191
+ it("throws an error when a Block produces addons that conflict with another Block's existing addons", () => {
192
+ const blockReceiving = base.createBlock({
193
+ about: {
194
+ name: "Receiving Block",
195
+ },
196
+ addons: {
197
+ nested: z.object({ value: z.string() }).optional(),
198
+ },
199
+ produce({ addons }) {
200
+ return {
201
+ files: { "README.md": addons.nested?.value },
202
+ };
203
+ },
204
+ });
205
+ const blockProducingFirst = base.createBlock({
206
+ about: {
207
+ name: "First Producing Block",
208
+ },
209
+ produce() {
210
+ return {
211
+ addons: [blockReceiving({ nested: { value: "a" } })],
212
+ };
213
+ },
214
+ });
215
+ const blockProducingSecond = base.createBlock({
216
+ about: {
217
+ name: "Second Producing Block",
218
+ },
219
+ produce() {
220
+ return {
221
+ addons: [blockReceiving({ nested: { value: "b" } })],
222
+ };
223
+ },
224
+ });
225
+ expect(() => produceBlocks([blockReceiving, blockProducingFirst, blockProducingSecond], { options: { value: "Hello, world!" } })).toThrowError(`Could not merge addons from Block Second Producing Block into Block Receiving Block. Mismatched addons at 'nested.value': existing 'a' vs. new 'b'.`);
226
+ });
227
+ it("describes Blocks as anonymous in merge errors when they don't have names", () => {
228
+ const blockReceiving = base.createBlock({
229
+ addons: {
230
+ value: z.string().optional(),
231
+ },
232
+ produce({ addons }) {
233
+ return {
234
+ files: { "README.md": addons.value },
235
+ };
236
+ },
237
+ });
238
+ const blockProducing = base.createBlock({
239
+ produce() {
240
+ return {
241
+ addons: [blockReceiving({ value: "b" })],
242
+ };
243
+ },
244
+ });
245
+ expect(() => produceBlocks([blockReceiving, blockProducing], {
246
+ blockAddons: [blockReceiving({ value: "a" })],
247
+ options: { value: "Hello, world!" },
248
+ })).toThrowError(`Could not merge addons from Block (anonymous) into Block (anonymous). Mismatched addons at 'value': existing 'a' vs. new 'b'.`);
249
+ });
156
250
  describe("modes", () => {
157
251
  const block = base.createBlock({
158
252
  about: {
@@ -1 +1 @@
1
- {"version":3,"file":"produceBlocks.test.js","sourceRoot":"","sources":["../../src/producers/produceBlocks.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACxD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,IAAI,GAAG,UAAU,CAAC;IACvB,OAAO,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;KACjB;CACD,CAAC,CAAC;AAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC9B,IAAI,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;YAC9B,KAAK,EAAE;gBACN,IAAI,EAAE,eAAe;aACrB;YACD,OAAO,CAAC,EAAE,OAAO,EAAE;gBAClB,OAAO;oBACN,KAAK,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,KAAK,EAAE;iBACrC,CAAC;YACH,CAAC;SACD,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,KAAK,CAAC,EAAE;YACrC,OAAO,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE;SACnC,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACtB,KAAK,EAAE;gBACN,WAAW,EAAE,eAAe;aAC5B;SACD,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;YAC9B,KAAK,EAAE;gBACN,IAAI,EAAE,eAAe;aACrB;YACD,MAAM,EAAE;gBACP,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aAC5B;YACD,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE;gBAC1B,OAAO;oBACN,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;iBAChE,CAAC;YACH,CAAC;SACD,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,KAAK,CAAC,EAAE;YACrC,WAAW,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACvC,OAAO,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE;SACnC,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACtB,KAAK,EAAE;gBACN,WAAW,EAAE,qBAAqB;aAClC;SACD,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;YAC9B,KAAK,EAAE;gBACN,IAAI,EAAE,eAAe;aACrB;YACD,MAAM,EAAE;gBACP,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aAC5B;YACD,MAAM,CAAC,EAAE,KAAK,EAAE;gBACf,OAAO;oBACN,KAAK,EAAG,KAAK,CAAC,WAAW,CAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;iBACpE,CAAC;YACH,CAAC;YACD,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE;gBAC1B,OAAO;oBACN,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;iBAChE,CAAC;YACH,CAAC;SACD,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,KAAK,CAAC,EAAE;YACrC,KAAK,EAAE;gBACN,WAAW,EAAE,CAAC,cAAc,CAAC;aAC7B;YACD,OAAO,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE;SACnC,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACtB,KAAK,EAAE;gBACN,WAAW,EAAE,qBAAqB;aAClC;SACD,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QAC3E,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;YAC9B,KAAK,EAAE;gBACN,IAAI,EAAE,eAAe;aACrB;YACD,MAAM,EAAE;gBACP,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBACxB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBACxB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aACxB;YACD,MAAM;gBACL,OAAO;oBACN,CAAC,EAAE,QAAQ;oBACX,CAAC,EAAE,QAAQ;iBACX,CAAC;YACH,CAAC;YACD,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE;gBAC1B,OAAO;oBACN,KAAK,EAAE;wBACN,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAC9D,IAAI,CACJ;qBACD;iBACD,CAAC;YACH,CAAC;SACD,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,KAAK,CAAC,EAAE;YACrC,WAAW,EAAE;gBACZ,KAAK,CAAC;oBACL,CAAC,EAAE,UAAU;oBACb,CAAC,EAAE,UAAU;iBACb,CAAC;aACF;YACD,OAAO,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE;SACnC,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACtB,KAAK,EAAE;gBACN,WAAW,EAAE,2CAA2C;aACxD;SACD,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;YACnC,KAAK,EAAE;gBACN,IAAI,EAAE,aAAa;aACnB;YACD,OAAO,CAAC,EAAE,OAAO,EAAE;gBAClB,OAAO;oBACN,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;oBACzC,KAAK,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,KAAK,EAAE;iBACrC,CAAC;YACH,CAAC;SACD,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC;YACrC,KAAK,EAAE;gBACN,IAAI,EAAE,eAAe;aACrB;YACD,MAAM,EAAE;gBACP,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aAC5B;YACD,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;SAChB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,UAAU,CAAC,EAAE;YAC1C,OAAO,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE;SACnC,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACtB,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACzC,KAAK,EAAE;gBACN,WAAW,EAAE,eAAe;aAC5B;SACD,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;YAC9B,KAAK,EAAE;gBACN,IAAI,EAAE,eAAe;aACrB;YACD,OAAO,CAAC,EAAE,OAAO,EAAE;gBAClB,OAAO;oBACN,KAAK,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,KAAK,EAAE;iBACrC,CAAC;YACH,CAAC;YACD,KAAK,CAAC,EAAE,OAAO,EAAE;gBAChB,OAAO;oBACN,KAAK,EAAE;wBACN,UAAU,EAAE,OAAO,CAAC,KAAK;qBACzB;iBACD,CAAC;YACH,CAAC;YACD,UAAU;gBACT,OAAO;oBACN,OAAO,EAAE,CAAC,YAAY,CAAC;iBACvB,CAAC;YACH,CAAC;SACD,CAAC,CAAC;QAEH,EAAE,CAAC,0FAA0F,EAAE,GAAG,EAAE;YACnG,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,KAAK,CAAC,EAAE;gBACrC,OAAO,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE;aACnC,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACtB,KAAK,EAAE;oBACN,WAAW,EAAE,eAAe;iBAC5B;aACD,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;YACzE,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,KAAK,CAAC,EAAE;gBACrC,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE;aACnC,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACtB,KAAK,EAAE;oBACN,UAAU,EAAE,eAAe;oBAC3B,WAAW,EAAE,eAAe;iBAC5B;aACD,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0EAA0E,EAAE,GAAG,EAAE;YACnF,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,KAAK,CAAC,EAAE;gBACrC,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE;aACnC,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACtB,KAAK,EAAE;oBACN,WAAW,EAAE,eAAe;iBAC5B;gBACD,OAAO,EAAE,CAAC,YAAY,CAAC;aACvB,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"produceBlocks.test.js","sourceRoot":"","sources":["../../src/producers/produceBlocks.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { AboutBase } from "bingo";
2
+ export declare function getName(value: {
3
+ about?: AboutBase;
4
+ }): string;
5
+ //# sourceMappingURL=getName.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getName.d.ts","sourceRoot":"","sources":["../../src/utils/getName.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,wBAAgB,OAAO,CAAC,KAAK,EAAE;IAAE,KAAK,CAAC,EAAE,SAAS,CAAA;CAAE,UAEnD"}
@@ -0,0 +1,4 @@
1
+ export function getName(value) {
2
+ return value.about?.name ?? "(anonymous)";
3
+ }
4
+ //# sourceMappingURL=getName.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getName.js","sourceRoot":"","sources":["../../src/utils/getName.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,OAAO,CAAC,KAA4B;IACnD,OAAO,KAAK,CAAC,KAAK,EAAE,IAAI,IAAI,aAAa,CAAC;AAC3C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bingo-stratum",
3
- "version": "0.6.0",
3
+ "version": "0.6.1",
4
4
  "description": "Highly composable, customizable templating engine for Bingo. 🏭",
5
5
  "homepage": "https://www.create.bingo/engines/stratum/packages/bingo-stratum",
6
6
  "repository": {
@@ -29,14 +29,14 @@
29
29
  "devDependencies": {
30
30
  "@types/node": "24.10.1",
31
31
  "zod": "^4.4.3",
32
- "bingo": "^0.11.0",
33
- "bingo-fs": "^0.5.6",
34
- "bingo-systems": "^0.6.0"
32
+ "bingo-systems": "^0.6.0",
33
+ "bingo": "^0.11.2",
34
+ "bingo-fs": "^0.5.7"
35
35
  },
36
36
  "peerDependencies": {
37
37
  "zod": "^4.4.3",
38
- "bingo": "^0.11.0",
39
- "bingo-fs": "^0.5.6",
38
+ "bingo": "^0.11.2",
39
+ "bingo-fs": "^0.5.7",
40
40
  "bingo-systems": "^0.6.0"
41
41
  },
42
42
  "engines": {