bingo-stratum 0.5.0 → 0.5.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":"createBase.d.ts","sourceRoot":"","sources":["../../src/creators/createBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,QAAQ,EAAkB,MAAM,OAAO,CAAC;AAInE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAiBzD,wBAAgB,UAAU,CAAC,YAAY,SAAS,QAAQ,EACvD,cAAc,EAAE,cAAc,CAAC,YAAY,CAAC,GAC1C,IAAI,CAAC,YAAY,CAAC,CAiFpB"}
1
+ {"version":3,"file":"createBase.d.ts","sourceRoot":"","sources":["../../src/creators/createBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,QAAQ,EAAkB,MAAM,OAAO,CAAC;AAEnE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAazD,wBAAgB,UAAU,CAAC,YAAY,SAAS,QAAQ,EACvD,cAAc,EAAE,cAAc,CAAC,YAAY,CAAC,GAC1C,IAAI,CAAC,YAAY,CAAC,CAoDpB"}
@@ -1,7 +1,6 @@
1
- import { z } from "zod";
2
- import { produceStratumTemplate } from "../producers/produceStratumTemplate.js";
3
- import { assertNoDuplicateBlocks } from "./assertNoDuplicateBlocks.js";
4
1
  import { assertNoPresetOption } from "./assertNoPresetOption.js";
2
+ import { createPreset } from "./createPreset.js";
3
+ import { createStratumTemplate } from "./createStratumTemplate.js";
5
4
  import { applyZodDefaults, isDefinitionWithAddons } from "./utils.js";
6
5
  export function createBase(baseDefinition) {
7
6
  assertNoPresetOption(baseDefinition);
@@ -25,33 +24,11 @@ export function createBase(baseDefinition) {
25
24
  };
26
25
  return block;
27
26
  }
28
- function createPreset(presetDefinition) {
29
- assertNoDuplicateBlocks(presetDefinition);
30
- return {
31
- ...presetDefinition,
32
- base,
33
- };
34
- }
35
- function createStratumTemplate(templateDefinition) {
36
- const template = {
37
- ...templateDefinition,
38
- base,
39
- options: {
40
- ...base.options,
41
- preset: z.string().describe("Which starting set of tooling to use."),
42
- },
43
- prepare: base.prepare,
44
- produce(context) {
45
- return produceStratumTemplate(template, context);
46
- },
47
- };
48
- return template;
49
- }
50
27
  const base = {
51
28
  ...baseDefinition,
52
29
  createBlock,
53
- createPreset,
54
- createStratumTemplate,
30
+ createPreset: (presetDefinition) => createPreset(base, presetDefinition),
31
+ createStratumTemplate: (templateDefinition) => createStratumTemplate(base, templateDefinition),
55
32
  };
56
33
  return base;
57
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createBase.js","sourceRoot":"","sources":["../../src/creators/createBase.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAchF,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEtE,MAAM,UAAU,UAAU,CACzB,cAA4C;IAI5C,oBAAoB,CAAC,cAAc,CAAC,CAAC;IAQrC,SAAS,WAAW,CACnB,eAEwC;QAExC,sDAAsD;QACtD,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC,EAAE,CAAC;YAC9C,OAAO,eAAe,CAAC;QACxB,CAAC;QAED,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC;QAI5C,4DAA4D;QAC5D,SAAS,KAAK,CAAC,MAAc;YAC5B,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAC1B,CAAC;QAED,0DAA0D;QAC1D,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;QAEtC,KAAK,CAAC,OAAO,GAAG,CAAC,OAAgD,EAAE,EAAE;YACpE,OAAO,eAAe,CAAC,OAAO,CAAC;gBAC9B,GAAG,OAAO;gBACV,MAAM,EAAE,gBAAgB,CAAC,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC;aACtD,CAAC,CAAC;QACJ,CAAC,CAAC;QAEF,OAAO,KAAyC,CAAC;IAClD,CAAC;IAED,SAAS,YAAY,CACpB,gBAA2C;QAE3C,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;QAE1C,OAAO;YACN,GAAG,gBAAgB;YACnB,IAAI;SACJ,CAAC;IACH,CAAC;IAED,SAAS,qBAAqB,CAC7B,kBAA2D;QAE3D,MAAM,QAAQ,GAAkC;YAC/C,GAAG,kBAAkB;YACrB,IAAI;YACJ,OAAO,EAAE;gBACR,GAAG,IAAI,CAAC,OAAO;gBACf,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;aACpE;YACD,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,CAAC,OAAO;gBACd,OAAO,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAClD,CAAC;SACD,CAAC;QAEF,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,MAAM,IAAI,GAAuB;QAChC,GAAG,cAAc;QACjB,WAAW;QACX,YAAY;QACZ,qBAAqB;KACrB,CAAC;IAEF,OAAO,IAAI,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"createBase.js","sourceRoot":"","sources":["../../src/creators/createBase.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEtE,MAAM,UAAU,UAAU,CACzB,cAA4C;IAI5C,oBAAoB,CAAC,cAAc,CAAC,CAAC;IAQrC,SAAS,WAAW,CACnB,eAEwC;QAExC,sDAAsD;QACtD,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC,EAAE,CAAC;YAC9C,OAAO,eAAe,CAAC;QACxB,CAAC;QAED,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC;QAI5C,4DAA4D;QAC5D,SAAS,KAAK,CAAC,MAAc;YAC5B,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAC1B,CAAC;QAED,0DAA0D;QAC1D,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;QAEtC,KAAK,CAAC,OAAO,GAAG,CAAC,OAAgD,EAAE,EAAE;YACpE,OAAO,eAAe,CAAC,OAAO,CAAC;gBAC9B,GAAG,OAAO;gBACV,MAAM,EAAE,gBAAgB,CAAC,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC;aACtD,CAAC,CAAC;QACJ,CAAC,CAAC;QAEF,OAAO,KAAyC,CAAC;IAClD,CAAC;IAED,MAAM,IAAI,GAAuB;QAChC,GAAG,cAAc;QACjB,WAAW;QACX,YAAY,EAAE,CAAC,gBAAgB,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,gBAAgB,CAAC;QACxE,qBAAqB,EAAE,CAAC,kBAAkB,EAAE,EAAE,CAC7C,qBAAqB,CAAC,IAAI,EAAE,kBAAkB,CAAC;KAChD,CAAC;IAEF,OAAO,IAAI,CAAC;AACb,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { AnyShape, InferredObject } from "bingo";
2
+ import { Base } from "../types/bases.js";
3
+ import { Preset, PresetDefinition } from "../types/presets.js";
4
+ export declare function createPreset<OptionsShape extends AnyShape>(base: Base<OptionsShape>, presetDefinition: PresetDefinition<InferredObject<OptionsShape>>): Preset<OptionsShape>;
5
+ //# sourceMappingURL=createPreset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createPreset.d.ts","sourceRoot":"","sources":["../../src/creators/createPreset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEjD,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAG/D,wBAAgB,YAAY,CAAC,YAAY,SAAS,QAAQ,EACzD,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,EACxB,gBAAgB,EAAE,gBAAgB,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,GAC9D,MAAM,CAAC,YAAY,CAAC,CAOtB"}
@@ -0,0 +1,9 @@
1
+ import { assertNoDuplicateBlocks } from "./assertNoDuplicateBlocks.js";
2
+ export function createPreset(base, presetDefinition) {
3
+ assertNoDuplicateBlocks(presetDefinition);
4
+ return {
5
+ ...presetDefinition,
6
+ base,
7
+ };
8
+ }
9
+ //# sourceMappingURL=createPreset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createPreset.js","sourceRoot":"","sources":["../../src/creators/createPreset.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,MAAM,UAAU,YAAY,CAC3B,IAAwB,EACxB,gBAAgE;IAEhE,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;IAE1C,OAAO;QACN,GAAG,gBAAgB;QACnB,IAAI;KACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { AnyShape } from "bingo";
2
+ import { Base } from "../types/bases.js";
3
+ import { StratumTemplate, StratumTemplateDefinition } from "../types/templates.js";
4
+ export declare function createStratumTemplate<OptionsShape extends AnyShape>(base: Base<OptionsShape>, templateDefinition: StratumTemplateDefinition<OptionsShape>): StratumTemplate<OptionsShape>;
5
+ //# sourceMappingURL=createStratumTemplate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createStratumTemplate.d.ts","sourceRoot":"","sources":["../../src/creators/createStratumTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAIjC,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EACN,eAAe,EACf,yBAAyB,EAEzB,MAAM,uBAAuB,CAAC;AAG/B,wBAAgB,qBAAqB,CAAC,YAAY,SAAS,QAAQ,EAClE,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,EACxB,kBAAkB,EAAE,yBAAyB,CAAC,YAAY,CAAC,GACzD,eAAe,CAAC,YAAY,CAAC,CA2B/B"}
@@ -0,0 +1,23 @@
1
+ import { z } from "zod";
2
+ import { produceStratumTemplate } from "../producers/produceStratumTemplate.js";
3
+ import { slugifyPresetName } from "../utils.ts/slugifyPresetName.js";
4
+ export function createStratumTemplate(base, templateDefinition) {
5
+ const presetOption = z
6
+ .union(templateDefinition.presets.map((preset) => z.literal(slugifyPresetName(preset.about.name))))
7
+ .describe("starting set of tooling to use");
8
+ const template = {
9
+ ...templateDefinition,
10
+ base,
11
+ options: {
12
+ ...base.options,
13
+ preset: presetOption.default(slugifyPresetName((templateDefinition.suggested ?? templateDefinition.presets[0]).about
14
+ .name)), // TODO: why don't the types allow a ZodDefault here?
15
+ },
16
+ prepare: base.prepare,
17
+ produce(context) {
18
+ return produceStratumTemplate(template, context);
19
+ },
20
+ };
21
+ return template;
22
+ }
23
+ //# sourceMappingURL=createStratumTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createStratumTemplate.js","sourceRoot":"","sources":["../../src/creators/createStratumTemplate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAOhF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAErE,MAAM,UAAU,qBAAqB,CACpC,IAAwB,EACxB,kBAA2D;IAE3D,MAAM,YAAY,GAAG,CAAC;SACpB,KAAK,CACL,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACzC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CACtB,CAC1B;SACA,QAAQ,CAAC,gCAAgC,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAkC;QAC/C,GAAG,kBAAkB;QACrB,IAAI;QACJ,OAAO,EAAE;YACR,GAAG,IAAI,CAAC,OAAO;YACf,MAAM,EAAE,YAAY,CAAC,OAAO,CAC3B,iBAAiB,CAChB,CAAC,kBAAkB,CAAC,SAAS,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;iBACnE,IAAI,CACN,CAC+C,EAAE,qDAAqD;SACxG;QACD,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,CAAC,OAAO;YACd,OAAO,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClD,CAAC;KACD,CAAC;IAEF,OAAO,QAAQ,CAAC;AACjB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { applyMerger, mergeCreations } from "bingo";
1
+ import { mergeCreations } from "bingo";
2
2
  import { withoutUndefinedProperties } from "without-undefined-properties";
3
3
  import { mergeAddons } from "./mergeAddons.js";
4
4
  export function mergeBlockCreations(first, second) {
@@ -7,4 +7,10 @@ export function mergeBlockCreations(first, second) {
7
7
  addons: applyMerger(first.addons, second.addons, mergeAddons),
8
8
  });
9
9
  }
10
+ function applyMerger(first, second, merger) {
11
+ if (first == null || second == null) {
12
+ return second ?? first ?? undefined;
13
+ }
14
+ return merger(first, second);
15
+ }
10
16
  //# sourceMappingURL=mergeBlockCreations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mergeBlockCreations.js","sourceRoot":"","sources":["../../src/mergers/mergeBlockCreations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAG1E,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,UAAU,mBAAmB,CAClC,KAAsC,EACtC,MAAuC;IAEvC,OAAO,0BAA0B,CAAC;QACjC,GAAG,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC;QAChC,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC;KAC7D,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"mergeBlockCreations.js","sourceRoot":"","sources":["../../src/mergers/mergeBlockCreations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAG1E,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,UAAU,mBAAmB,CAClC,KAAsC,EACtC,MAAuC;IAEvC,OAAO,0BAA0B,CAAC;QACjC,GAAG,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC;QAChC,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC;KAC7D,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CACnB,KAAoB,EACpB,MAAqB,EACrB,MAAkC;IAElC,IAAI,KAAK,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACrC,OAAO,MAAM,IAAI,KAAK,IAAI,SAAS,CAAC;IACrC,CAAC;IAED,OAAO,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC9B,CAAC"}
@@ -18,9 +18,14 @@ export interface StratumTemplateDefinition<OptionsShape extends AnyShape = AnySh
18
18
  suggested?: Preset<OptionsShape>;
19
19
  }
20
20
  export interface StratumTemplateOptionsShape {
21
- preset: z.ZodString;
21
+ preset: z.ZodUnion<ZodPresetNameLiterals>;
22
22
  }
23
23
  export type StratumTemplateProduce<Options extends object> = (context: TemplateContext<Options & {
24
24
  preset: string;
25
25
  }>) => Partial<BlockCreation<Options>>;
26
+ export type ZodPresetNameLiterals = [
27
+ z.ZodLiteral<string>,
28
+ z.ZodLiteral<string>,
29
+ ...z.ZodLiteral<string>[]
30
+ ];
26
31
  //# sourceMappingURL=templates.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/types/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,QAAQ,EACR,cAAc,EACd,aAAa,EACb,eAAe,EACf,eAAe,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,MAAM,WAAW,eAAe,CAAC,YAAY,SAAS,QAAQ,GAAG,QAAQ;IACxE,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACzB,OAAO,EAAE,YAAY,GAAG,2BAA2B,CAAC;IACpD,OAAO,CAAC,EAAE,eAAe,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;IACxD,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;IAChC,OAAO,EAAE,sBAAsB,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;CAC9D;AAED,MAAM,WAAW,yBAAyB,CACzC,YAAY,SAAS,QAAQ,GAAG,QAAQ;IAExC,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,OAAO,CAAC,EAAE,eAAe,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;IACxD,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,2BAA2B;IAC3C,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC;CACpB;AAED,MAAM,MAAM,sBAAsB,CAAC,OAAO,SAAS,MAAM,IAAI,CAC5D,OAAO,EAAE,eAAe,CAAC,OAAO,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,KAClD,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/types/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,QAAQ,EACR,cAAc,EACd,aAAa,EACb,eAAe,EACf,eAAe,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,MAAM,WAAW,eAAe,CAAC,YAAY,SAAS,QAAQ,GAAG,QAAQ;IACxE,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACzB,OAAO,EAAE,YAAY,GAAG,2BAA2B,CAAC;IACpD,OAAO,CAAC,EAAE,eAAe,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;IACxD,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;IAChC,OAAO,EAAE,sBAAsB,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;CAC9D;AAED,MAAM,WAAW,yBAAyB,CACzC,YAAY,SAAS,QAAQ,GAAG,QAAQ;IAExC,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,OAAO,CAAC,EAAE,eAAe,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;IACxD,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,2BAA2B;IAC3C,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;CAC1C;AAED,MAAM,MAAM,sBAAsB,CAAC,OAAO,SAAS,MAAM,IAAI,CAC5D,OAAO,EAAE,eAAe,CAAC,OAAO,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,KAClD,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;AAErC,MAAM,MAAM,qBAAqB,GAAG;IACnC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;IACpB,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;IACpB,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;CACzB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getPresetByName.d.ts","sourceRoot":"","sources":["../../src/utils.ts/getPresetByName.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGjC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,wBAAgB,eAAe,CAAC,YAAY,SAAS,QAAQ,EAC5D,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,EAC/B,SAAS,EAAE,MAAM,gCAmBjB"}
1
+ {"version":3,"file":"getPresetByName.d.ts","sourceRoot":"","sources":["../../src/utils.ts/getPresetByName.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAG7C,wBAAgB,eAAe,CAAC,YAAY,SAAS,QAAQ,EAC5D,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,EAC/B,SAAS,EAAE,MAAM,gCAcjB"}
@@ -1,13 +1,7 @@
1
- import slugify from "slugify";
1
+ import { slugifyPresetName } from "./slugifyPresetName.js";
2
2
  export function getPresetByName(presets, requested) {
3
- const presetsByName = new Map(Array.from(presets.map((preset) => [
4
- // @ts-expect-error -- https://github.com/simov/slugify/issues/196
5
- slugify(preset.about.name, { lower: true }),
6
- preset,
7
- ])));
8
- return (
9
- // @ts-expect-error -- https://github.com/simov/slugify/issues/196
10
- presetsByName.get(slugify(requested, { lower: true })) ??
3
+ const presetsByName = new Map(Array.from(presets.map((preset) => [slugifyPresetName(preset.about.name), preset])));
4
+ return (presetsByName.get(slugifyPresetName(requested)) ??
11
5
  new Error(`${requested} is not one of: ${Array.from(presetsByName.keys()).join(", ")}`));
12
6
  }
13
7
  //# sourceMappingURL=getPresetByName.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getPresetByName.js","sourceRoot":"","sources":["../../src/utils.ts/getPresetByName.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,SAAS,CAAC;AAI9B,MAAM,UAAU,eAAe,CAC9B,OAA+B,EAC/B,SAAiB;IAEjB,MAAM,aAAa,GAAG,IAAI,GAAG,CAC5B,KAAK,CAAC,IAAI,CACT,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QACvB,kEAAkE;QAClE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC3C,MAAM;KACN,CAAC,CACF,CACD,CAAC;IAEF,OAAO;IACN,kEAAkE;IAClE,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,IAAI,KAAK,CACR,GAAG,SAAS,mBAAmB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC5E,CACD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"getPresetByName.js","sourceRoot":"","sources":["../../src/utils.ts/getPresetByName.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,UAAU,eAAe,CAC9B,OAA+B,EAC/B,SAAiB;IAEjB,MAAM,aAAa,GAAG,IAAI,GAAG,CAC5B,KAAK,CAAC,IAAI,CACT,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CACvE,CACD,CAAC;IAEF,OAAO,CACN,aAAa,CAAC,GAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,KAAK,CACR,GAAG,SAAS,mBAAmB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC5E,CACD,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function slugifyPresetName(original: string): string;
2
+ //# sourceMappingURL=slugifyPresetName.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slugifyPresetName.d.ts","sourceRoot":"","sources":["../../src/utils.ts/slugifyPresetName.ts"],"names":[],"mappings":"AAEA,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAEJ,MAAM,CACnD"}
@@ -0,0 +1,6 @@
1
+ import slugify from "slugify";
2
+ export function slugifyPresetName(original) {
3
+ // @ts-expect-error -- https://github.com/simov/slugify/issues/196
4
+ return slugify(original, { lower: true });
5
+ }
6
+ //# sourceMappingURL=slugifyPresetName.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slugifyPresetName.js","sourceRoot":"","sources":["../../src/utils.ts/slugifyPresetName.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IACjD,kEAAkE;IAClE,OAAO,OAAO,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAW,CAAC;AACrD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bingo-stratum",
3
- "version": "0.5.0",
3
+ "version": "0.5.1",
4
4
  "description": "Highly composable, customizable templating engine for Bingo. 🏭",
5
5
  "repository": {
6
6
  "type": "git",
@@ -28,13 +28,13 @@
28
28
  },
29
29
  "devDependencies": {
30
30
  "@types/node": "22.13.4",
31
- "bingo": "^0.5.0"
31
+ "bingo": "^0.5.1"
32
32
  },
33
33
  "peerDependencies": {
34
- "bingo": "^0.5.0",
35
- "bingo-fs": "^0.5.0",
36
- "bingo-systems": "^0.5.0",
37
- "zod": "^3.24.2"
34
+ "zod": "^3.24.2",
35
+ "bingo": "^0.5.1",
36
+ "bingo-systems": "^0.5.1",
37
+ "bingo-fs": "^0.5.1"
38
38
  },
39
39
  "engines": {
40
40
  "node": ">=18"