@adeficior/data-modifier-loot 2.1.0 → 2.1.2

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/emitter.d.ts CHANGED
@@ -1,6 +1,8 @@
1
- import type { IdInput, LoaderContext, RegistryLookup, RegistryProvider, SemVerInput } from "@adeficior/data-modifier-core";
1
+ import type { IdInput, LoaderContext, RegistryLookup, SemVerInput } from "@adeficior/data-modifier-core";
2
2
  import { SimpleEmitter } from "@adeficior/data-modifier-core";
3
3
  import type { IngredientFilter, Predicates } from "@adeficior/data-modifier-ingredients";
4
+ import type { Logger } from "@adeficior/pack-resolver";
5
+ import type { LootTableRegistry } from "./registry";
4
6
  import type { LootTableFilter, LootTableRules } from "./rule";
5
7
  import type { LootItemInput, LootModifier, LootTable } from "./schema";
6
8
  export declare const EMPTY_LOOT_TABLE: LootTable;
@@ -19,7 +21,7 @@ export declare class LootEmitterImpl extends SimpleEmitter<LootTable, LootTable>
19
21
  private readonly predicates;
20
22
  private readonly rules;
21
23
  private readonly customModifiers;
22
- constructor(packFormat: SemVerInput, registry: RegistryProvider<LootTable>, lookup: RegistryLookup, predicates: Predicates, rules: LootTableRules);
24
+ constructor(packFormat: SemVerInput, registry: LootTableRegistry, logger: Logger, lookup: RegistryLookup, predicates: Predicates, rules: LootTableRules);
23
25
  resolver(context: LoaderContext): import("@adeficior/pack-resolver").Resolver<import("@adeficior/pack-resolver").Acceptable, import("@adeficior/pack-resolver").BaseContext>;
24
26
  clear(): void;
25
27
  add(id: IdInput, value: LootTable): void;
package/dist/emitter.js CHANGED
@@ -15,8 +15,8 @@ export class LootEmitterImpl extends SimpleEmitter {
15
15
  predicates;
16
16
  rules;
17
17
  customModifiers = new CustomEmitter((id) => `data/${id.namespace}/loot_modifiers/${id.path}.json`);
18
- constructor(packFormat, registry, lookup, predicates, rules) {
19
- super("loot tables", registry, (it) => lootTablePath(packFormat, it), EMPTY_LOOT_TABLE);
18
+ constructor(packFormat, registry, logger, lookup, predicates, rules) {
19
+ super("loot tables", registry, logger, (it) => lootTablePath(packFormat, it), EMPTY_LOOT_TABLE);
20
20
  this.lookup = lookup;
21
21
  this.predicates = predicates;
22
22
  this.rules = rules;
@@ -29,7 +29,7 @@ export class LootEmitterImpl extends SimpleEmitter {
29
29
  this.customModifiers.clear();
30
30
  }
31
31
  add(id, value) {
32
- this.custom.add(id, LootTableSchema.parse(value));
32
+ this.addCustom(id, LootTableSchema.parse(value));
33
33
  }
34
34
  disable(filter) {
35
35
  this.ruled.addRemoval(this.rules.resolve(filter), { filter });
@@ -1 +1 @@
1
- {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../src/emitter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../src/emitter.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -2,5 +2,6 @@ export { EMPTY_LOOT_MODIFIER, EMPTY_LOOT_TABLE, type LootEmitter, } from "./emit
2
2
  export type * from "./helper";
3
3
  export type * from "./loader";
4
4
  export { default } from "./module";
5
+ export type * from "./registry";
5
6
  export type { LootTableFilter, LootTableRules } from "./rule";
6
7
  export type { EmptyLootEntry, LootEntry, LootEntryBase, LootItemInput, LootModifier, LootPool, LootTable, } from "./schema";
package/dist/module.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import type { LootEmitter } from "./emitter";
2
2
  import { LootTableLoader } from "./loader";
3
+ import type { LootTableRegistry } from "./registry";
3
4
  import type { LootTableRules } from "./rule";
4
5
  declare const _default: import("@adeficior/data-modifier-core").ModuleConfig<{
5
6
  loaders: {
@@ -10,6 +11,7 @@ declare const _default: import("@adeficior/data-modifier-core").ModuleConfig<{
10
11
  };
11
12
  services: {
12
13
  "rules:loot": LootTableRules;
14
+ "registry:loot": LootTableRegistry;
13
15
  };
14
16
  }>;
15
17
  export default _default;
package/dist/module.js CHANGED
@@ -1,4 +1,4 @@
1
- import { defineModule } from "@adeficior/data-modifier-core";
1
+ import { defineModule, PatchedRegistry } from "@adeficior/data-modifier-core";
2
2
  import { name } from "../package.json";
3
3
  import { LootEmitterImpl } from "./emitter";
4
4
  import { lootTableFolder, lootTablePattern } from "./helper";
@@ -20,13 +20,15 @@ export default defineModule({
20
20
  },
21
21
  services: {
22
22
  "rules:loot": "LootTableRules",
23
+ "registry:loot": "LootTableRegistry",
23
24
  },
24
25
  },
25
26
  promote: [{ key: "loot", service: "emitter:loot" }],
26
27
  setup(instance) {
27
28
  const loader = instance.loader("loot", () => new LootTableLoader(lootTableFolder(instance.options.packFormat)), lootTablePattern(instance.options.packFormat));
28
29
  const rules = instance.service("rules:loot", (container) => new LootTableRulesImpl(container.get("predicates")));
29
- instance.emitter("loot", (container) => new LootEmitterImpl(instance.options.packFormat, loader(), container.get("registries"), container.get("predicates"), rules()));
30
+ const registry = instance.service("registry:loot", () => new PatchedRegistry(loader()));
31
+ instance.emitter("loot", (container) => new LootEmitterImpl(instance.options.packFormat, registry(), container.get("logger"), container.get("registries"), container.get("predicates"), rules()));
30
32
  },
31
33
  });
32
34
  //# sourceMappingURL=module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAG5C,eAAe,YAAY,CAUxB;IACD,YAAY,EAAE,IAAI;IAClB,YAAY,EAAE;QACZ,sCAAsC,EAAE,UAAU;QAClD,sBAAsB;QACtB,+BAA+B,EAAE,UAAU;KAC5C;IACD,KAAK,EAAE;QACL,OAAO,EAAE;YACP,IAAI,EAAE,iBAAiB;SACxB;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,aAAa;SACpB;QACD,QAAQ,EAAE;YACR,YAAY,EAAE,gBAAgB;SAC/B;KACF;IACD,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;IACnD,KAAK,CAAC,QAAQ;QACZ,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAC5B,MAAM,EACN,GAAG,EAAE,CAAC,IAAI,eAAe,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,EACvE,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAC9C,CAAC;QAEF,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAC5B,YAAY,EACZ,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,kBAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CACnE,CAAC;QAEF,QAAQ,CAAC,OAAO,CACd,MAAM,EACN,CAAC,SAAS,EAAE,EAAE,CACZ,IAAI,eAAe,CACjB,QAAQ,CAAC,OAAO,CAAC,UAAU,EAC3B,MAAM,EAAE,EACR,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,EAC3B,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,EAC3B,KAAK,EAAE,CACR,CACJ,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAE5C,eAAe,YAAY,CAWxB;IACD,YAAY,EAAE,IAAI;IAClB,YAAY,EAAE;QACZ,sCAAsC,EAAE,UAAU;QAClD,sBAAsB;QACtB,+BAA+B,EAAE,UAAU;KAC5C;IACD,KAAK,EAAE;QACL,OAAO,EAAE;YACP,IAAI,EAAE,iBAAiB;SACxB;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,aAAa;SACpB;QACD,QAAQ,EAAE;YACR,YAAY,EAAE,gBAAgB;YAC9B,eAAe,EAAE,mBAAmB;SACrC;KACF;IACD,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;IACnD,KAAK,CAAC,QAAQ;QACZ,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAC5B,MAAM,EACN,GAAG,EAAE,CAAC,IAAI,eAAe,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,EACvE,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAC9C,CAAC;QAEF,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAC5B,YAAY,EACZ,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,kBAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CACnE,CAAC;QAEF,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAC/B,eAAe,EACf,GAAG,EAAE,CAAC,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC,CACpC,CAAC;QAEF,QAAQ,CAAC,OAAO,CACd,MAAM,EACN,CAAC,SAAS,EAAE,EAAE,CACZ,IAAI,eAAe,CACjB,QAAQ,CAAC,OAAO,CAAC,UAAU,EAC3B,QAAQ,EAAE,EACV,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EACvB,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,EAC3B,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,EAC3B,KAAK,EAAE,CACR,CACJ,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Registry } from "@adeficior/data-modifier-core";
2
+ import type { LootTable } from "./schema";
3
+ export type LootTableRegistry = Registry<LootTable>;
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":""}
package/dist/rule.js CHANGED
@@ -41,7 +41,7 @@ export class LootTableRulesImpl {
41
41
  const id = [];
42
42
  const output = [];
43
43
  if (test.id)
44
- id.push(this.predicates.id(test.id, "minecraft:item"));
44
+ id.push(this.predicates.id(test.id));
45
45
  if (test.output)
46
46
  output.push(this.predicates.ingredient(test.output));
47
47
  return { id, output };
package/dist/rule.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"rule.js","sourceRoot":"","sources":["../src/rule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rule.js","sourceRoot":"","sources":["../src/rule.ts"],"names":[],"mappings":"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"}
@@ -32,8 +32,8 @@ export function setupLootEmitter(version, options) {
32
32
  const tags = setupTagRegistry(version, options);
33
33
  const predicates = setupPredicates(lookup, tags, setupIngredientSerializer(version, lookup));
34
34
  const rules = new LootTableRulesImpl(predicates);
35
- const emitter = new LootEmitterImpl(packFormatOf(version), loader, lookup, predicates, rules);
36
35
  const logger = createTestLogger();
36
+ const emitter = new LootEmitterImpl(packFormatOf(version), loader, logger, lookup, predicates, rules);
37
37
  const resolver = emitter.resolver({ logger });
38
38
  afterEach(() => {
39
39
  emitter.clear();
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/testing/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EACL,yBAAyB,EACzB,eAAe,GAChB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEpE,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAM7C,MAAM,UAAU,eAAe,CAC7B,OAAe,EACf,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,eAAe,KAA4B,EAAE;IAE7D,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE;QACzE,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC;KAC7B,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAElC,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,OAAO,EAAE;YACrD,OAAO,EAAE,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAChD,MAAM;YACN,GAAG,eAAe;SACnB,CAAC,CAAC;QACH,MAAM,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,GAAG,EAAE;QACZ,MAAM,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,OAAe,EACf,OAA+B;IAE/B,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAErD,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,eAAe,CAChC,MAAM,EACN,IAAI,EACJ,yBAAyB,CAAC,OAAO,EAAE,MAAM,CAAC,CAC3C,CAAC;IACF,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAEjD,MAAM,OAAO,GAAG,IAAI,eAAe,CACjC,YAAY,CAAC,OAAO,CAAC,EACrB,MAAM,EACN,MAAM,EACN,UAAU,EACV,KAAK,CACN,CAAC;IAEF,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAE9C,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,MAAM,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/testing/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EACL,yBAAyB,EACzB,eAAe,GAChB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEpE,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAM7C,MAAM,UAAU,eAAe,CAC7B,OAAe,EACf,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,eAAe,KAA4B,EAAE;IAE7D,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE;QACzE,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC;KAC7B,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAElC,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,OAAO,EAAE;YACrD,OAAO,EAAE,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAChD,MAAM;YACN,GAAG,eAAe;SACnB,CAAC,CAAC;QACH,MAAM,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,GAAG,EAAE;QACZ,MAAM,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,OAAe,EACf,OAA+B;IAE/B,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAErD,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,eAAe,CAChC,MAAM,EACN,IAAI,EACJ,yBAAyB,CAAC,OAAO,EAAE,MAAM,CAAC,CAC3C,CAAC;IACF,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAEjD,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAElC,MAAM,OAAO,GAAG,IAAI,eAAe,CACjC,YAAY,CAAC,OAAO,CAAC,EACrB,MAAM,EACN,MAAM,EACN,MAAM,EACN,UAAU,EACV,KAAK,CACN,CAAC;IAEF,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAE9C,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,MAAM,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AAC/C,CAAC"}
package/package.json CHANGED
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "name": "@adeficior/data-modifier-loot",
3
3
  "description": "data-modifier module for loot",
4
- "version": "2.1.0",
4
+ "version": "2.1.2",
5
5
  "exports": { ".": "./dist/index.js", "./testing": "./dist/testing/index.js" },
6
6
  "type": "module",
7
- "devDependencies": { "@adeficior/data-modifier-ingredients": "^2.0.3" },
7
+ "devDependencies": { "@adeficior/data-modifier-ingredients": "^2.0.5" },
8
8
  "peerDependencies": {
9
9
  "@adeficior/pack-resolver": "^2.0.1",
10
10
  "typescript": "^5",
11
11
  "zod": "^4.4.3",
12
- "@adeficior/data-modifier-core": "^2.1.0",
13
- "@adeficior/data-modifier-ingredients": "^2.0.3",
14
- "@adeficior/data-modifier-tags": "^2.0.3"
12
+ "@adeficior/data-modifier-core": "^2.2.1",
13
+ "@adeficior/data-modifier-ingredients": "^2.0.5",
14
+ "@adeficior/data-modifier-tags": "^2.0.5"
15
15
  },
16
16
  "typesVersions": { "*": { "./testing": ["./dist/testing/index.d.ts"] } },
17
17
  "types": "./dist/index.d.ts",