@adeficior/data-modifier 1.0.0-rc.13 → 1.0.0-rc.15

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.
Files changed (96) hide show
  1. package/dist/emit/data/recipe.d.ts +6 -5
  2. package/dist/emit/data/recipe.js +16 -8
  3. package/dist/emit/data/recipe.js.map +1 -1
  4. package/dist/emit/rule/recipe.d.ts +4 -4
  5. package/dist/emit/rule/recipe.js.map +1 -1
  6. package/dist/loader/recipe.d.ts +3 -3
  7. package/dist/loader/recipe.js +4 -5
  8. package/dist/loader/recipe.js.map +1 -1
  9. package/dist/parser/index.d.ts +1 -1
  10. package/dist/parser/index.js +1 -1
  11. package/dist/parser/index.js.map +1 -1
  12. package/dist/parser/recipe/adAstra/conversion.d.ts +3 -3
  13. package/dist/parser/recipe/adAstra/conversion.js +5 -5
  14. package/dist/parser/recipe/adAstra/conversion.js.map +1 -1
  15. package/dist/parser/recipe/adAstra/inputOutput.d.ts +4 -4
  16. package/dist/parser/recipe/adAstra/inputOutput.js +5 -5
  17. package/dist/parser/recipe/adAstra/inputOutput.js.map +1 -1
  18. package/dist/parser/recipe/adAstra/spaceStation.d.ts +3 -3
  19. package/dist/parser/recipe/adAstra/spaceStation.js +5 -5
  20. package/dist/parser/recipe/adAstra/spaceStation.js.map +1 -1
  21. package/dist/parser/recipe/botania/apothecary.d.ts +3 -3
  22. package/dist/parser/recipe/botania/apothecary.js +5 -5
  23. package/dist/parser/recipe/botania/apothecary.js.map +1 -1
  24. package/dist/parser/recipe/botania/blocks.js +1 -1
  25. package/dist/parser/recipe/botania/blocks.js.map +1 -1
  26. package/dist/parser/recipe/botania/brew.d.ts +3 -3
  27. package/dist/parser/recipe/botania/brew.js +5 -5
  28. package/dist/parser/recipe/botania/brew.js.map +1 -1
  29. package/dist/parser/recipe/botania/elvenTrade.js +1 -1
  30. package/dist/parser/recipe/botania/elvenTrade.js.map +1 -1
  31. package/dist/parser/recipe/botania/gogWrapper.d.ts +5 -7
  32. package/dist/parser/recipe/botania/gogWrapper.js +5 -5
  33. package/dist/parser/recipe/botania/gogWrapper.js.map +1 -1
  34. package/dist/parser/recipe/botania/manaInfusion.d.ts +3 -3
  35. package/dist/parser/recipe/botania/manaInfusion.js +5 -5
  36. package/dist/parser/recipe/botania/manaInfusion.js.map +1 -1
  37. package/dist/parser/recipe/botania/nbtWrapper.d.ts +5 -7
  38. package/dist/parser/recipe/botania/nbtWrapper.js +5 -5
  39. package/dist/parser/recipe/botania/nbtWrapper.js.map +1 -1
  40. package/dist/parser/recipe/botania/runicAltar.js +1 -1
  41. package/dist/parser/recipe/botania/runicAltar.js.map +1 -1
  42. package/dist/parser/recipe/create/assembly.d.ts +3 -3
  43. package/dist/parser/recipe/create/assembly.js +5 -5
  44. package/dist/parser/recipe/create/assembly.js.map +1 -1
  45. package/dist/parser/recipe/farmersdelight/cooking.d.ts +3 -3
  46. package/dist/parser/recipe/farmersdelight/cooking.js +5 -5
  47. package/dist/parser/recipe/farmersdelight/cooking.js.map +1 -1
  48. package/dist/parser/recipe/farmersdelight/cutting.d.ts +3 -4
  49. package/dist/parser/recipe/farmersdelight/cutting.js +5 -5
  50. package/dist/parser/recipe/farmersdelight/cutting.js.map +1 -1
  51. package/dist/parser/recipe/forge/conditional.d.ts +6 -8
  52. package/dist/parser/recipe/forge/conditional.js +7 -7
  53. package/dist/parser/recipe/forge/conditional.js.map +1 -1
  54. package/dist/parser/recipe/index.d.ts +26 -8
  55. package/dist/parser/recipe/index.js +38 -6
  56. package/dist/parser/recipe/index.js.map +1 -1
  57. package/dist/parser/recipe/manyToMany.d.ts +3 -3
  58. package/dist/parser/recipe/manyToMany.js +5 -5
  59. package/dist/parser/recipe/manyToMany.js.map +1 -1
  60. package/dist/parser/recipe/manyToOne.d.ts +3 -3
  61. package/dist/parser/recipe/manyToOne.js +5 -5
  62. package/dist/parser/recipe/manyToOne.js.map +1 -1
  63. package/dist/parser/recipe/oneToOne.d.ts +3 -3
  64. package/dist/parser/recipe/oneToOne.js +5 -5
  65. package/dist/parser/recipe/oneToOne.js.map +1 -1
  66. package/dist/parser/recipe/roots/component.d.ts +3 -3
  67. package/dist/parser/recipe/roots/component.js +5 -5
  68. package/dist/parser/recipe/roots/component.js.map +1 -1
  69. package/dist/parser/recipe/roots/ritual.d.ts +3 -4
  70. package/dist/parser/recipe/roots/ritual.js +5 -5
  71. package/dist/parser/recipe/roots/ritual.js.map +1 -1
  72. package/dist/parser/recipe/thermal/catalyst.d.ts +3 -3
  73. package/dist/parser/recipe/thermal/catalyst.js +5 -5
  74. package/dist/parser/recipe/thermal/catalyst.js.map +1 -1
  75. package/dist/parser/recipe/thermal/fuel.d.ts +3 -3
  76. package/dist/parser/recipe/thermal/fuel.js +5 -5
  77. package/dist/parser/recipe/thermal/fuel.js.map +1 -1
  78. package/dist/parser/recipe/thermal/index.d.ts +3 -3
  79. package/dist/parser/recipe/thermal/index.js +5 -5
  80. package/dist/parser/recipe/thermal/index.js.map +1 -1
  81. package/dist/parser/recipe/thermal/treeExtraction.d.ts +3 -3
  82. package/dist/parser/recipe/thermal/treeExtraction.js +5 -5
  83. package/dist/parser/recipe/thermal/treeExtraction.js.map +1 -1
  84. package/dist/parser/recipe/vanilla/shaped.d.ts +4 -5
  85. package/dist/parser/recipe/vanilla/shaped.js +5 -5
  86. package/dist/parser/recipe/vanilla/shaped.js.map +1 -1
  87. package/dist/parser/recipe/vanilla/smelting.d.ts +3 -3
  88. package/dist/parser/recipe/vanilla/smelting.js +5 -5
  89. package/dist/parser/recipe/vanilla/smelting.js.map +1 -1
  90. package/dist/parser/recipe/vanilla/smithing.d.ts +3 -3
  91. package/dist/parser/recipe/vanilla/smithing.js +5 -5
  92. package/dist/parser/recipe/vanilla/smithing.js.map +1 -1
  93. package/dist/parser/recipe/vanilla/stonecutting.d.ts +3 -3
  94. package/dist/parser/recipe/vanilla/stonecutting.js +5 -5
  95. package/dist/parser/recipe/vanilla/stonecutting.js.map +1 -1
  96. package/package.json +1 -1
@@ -7,8 +7,7 @@ import { type CommonTest, type Predicate } from "../../common/predicates.js";
7
7
  import type { ResultTest } from "../../common/result/filter.js";
8
8
  import type { ResultInput } from "../../common/result/input.js";
9
9
  import type { PackContext } from "../../loader/context.js";
10
- import type { RecipeSerializer } from "../../parser/recipe/index.js";
11
- import { Recipe } from "../../parser/recipe/index.js";
10
+ import { RecipeHolder, type Recipe, type RecipeSerializer } from "../../parser/recipe/index.js";
12
11
  import type { RecipeDefinition } from "../../schema/data/recipe.js";
13
12
  import type { ClearableEmitter, RegistryProvider } from "../index.js";
14
13
  export type RecipeTest = Readonly<{
@@ -22,7 +21,9 @@ export type RecipeTest = Readonly<{
22
21
  export interface RecipeRules {
23
22
  replaceResult(test: ResultTest, value: ResultInput, additionalTests?: RecipeTest): void;
24
23
  replaceIngredient(test: IngredientTest, value: IngredientInput, additionalTests?: RecipeTest): void;
25
- add(id: IdInput, value: RecipeDefinition | Recipe): void;
24
+ add(id: IdInput, value: RecipeDefinition): void;
25
+ add(id: IdInput, value: RecipeHolder): void;
26
+ add(id: IdInput, type: NormalizedId<RecipeSerializerId>, value: Recipe): void;
26
27
  remove(test: RecipeTest): void;
27
28
  }
28
29
  export declare const EMPTY_RECIPE: RecipeDefinition;
@@ -33,13 +34,13 @@ export default class RecipeEmitter implements RecipeRules, ClearableEmitter {
33
34
  private readonly serializer;
34
35
  private readonly custom;
35
36
  private readonly ruled;
36
- constructor(logger: Logger, registry: RegistryProvider<Recipe>, context: PackContext, serializer: RecipeSerializer);
37
+ constructor(logger: Logger, registry: RegistryProvider<RecipeHolder>, context: PackContext, serializer: RecipeSerializer);
37
38
  private recipePath;
38
39
  emit(acceptor: Acceptor): Promise<void>;
39
40
  resolveIngredientTest(test?: IngredientTest): Predicate<IngredientInput>;
40
41
  resolveResultTest(test?: ResultTest): Predicate<ResultInput>;
41
42
  private resolveRecipeTest;
42
- add(id: IdInput, value: RecipeDefinition | Recipe): void;
43
+ add(id: IdInput, arg: RecipeDefinition | RecipeHolder | NormalizedId<RecipeSerializerId>, arg2?: Recipe): void;
43
44
  private addRule;
44
45
  remove(test: RecipeTest): void;
45
46
  replaceResult(test: ResultTest, input: ResultInput, additionalTest?: RecipeTest): void;
@@ -4,7 +4,7 @@ import resolveIngredientTest from "../../common/ingredient/filter.js";
4
4
  import { resolveIDTest, } from "../../common/predicates.js";
5
5
  import resolveResultTest from "../../common/result/filter.js";
6
6
  import { isAtLeastVersion } from "../../packFormat.js";
7
- import { createReplacer, Recipe } from "../../parser/recipe/index.js";
7
+ import { createReplacer, RecipeHolder, } from "../../parser/recipe/index.js";
8
8
  import CustomEmitter from "../custom.js";
9
9
  import RecipeRule from "../rule/recipe.js";
10
10
  import RuledEmitter from "../ruled.js";
@@ -75,13 +75,21 @@ export default class RecipeEmitter {
75
75
  ingredient.push(this.resolveIngredientTest(test.input));
76
76
  return { id, type, ingredient, result };
77
77
  }
78
- add(id, value) {
79
- if (this.custom.has(id))
80
- this.logger.error(`Overwriting custom recipe with ID ${encodeId(id)}`);
81
- if (value instanceof Recipe)
82
- this.custom.add(id, this.serializer.serialize(value));
83
- else
84
- this.custom.add(id, value);
78
+ add(id, arg, arg2) {
79
+ if (typeof arg === "string") {
80
+ const type = arg;
81
+ const recipe = arg2;
82
+ this.add(id, new RecipeHolder({ type }, recipe));
83
+ }
84
+ else {
85
+ const value = arg;
86
+ if (this.custom.has(id))
87
+ this.logger.error(`Overwriting custom recipe with ID ${encodeId(id)}`);
88
+ if (value instanceof RecipeHolder)
89
+ this.custom.add(id, this.serializer.serialize(value));
90
+ else
91
+ this.custom.add(id, value);
92
+ }
85
93
  }
86
94
  addRule(shape, modifier, recipeTest = {}, ingredientTests = {}) {
87
95
  const recipePredicates = this.resolveRecipeTest(recipeTest ?? {});
@@ -1 +1 @@
1
- {"version":3,"file":"recipe.js","sourceRoot":"","sources":["../../../src/emit/data/recipe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recipe.js","sourceRoot":"","sources":["../../../src/emit/data/recipe.ts"],"names":[],"mappings":"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"}
@@ -3,16 +3,16 @@ import type { Id } from "../../common/id.js";
3
3
  import type { IngredientInput } from "../../common/ingredient/input.js";
4
4
  import type { Predicate } from "../../common/predicates.js";
5
5
  import type { ResultInput } from "../../common/result/input.js";
6
- import type { Recipe } from "../../parser/recipe/index.js";
6
+ import type { RecipeHolder } from "../../parser/recipe/index.js";
7
7
  import type { Modifier } from "./index.js";
8
8
  import Rule from "./index.js";
9
- export default class RecipeRule extends Rule<Recipe> {
9
+ export default class RecipeRule extends Rule<RecipeHolder> {
10
10
  private readonly shape;
11
11
  private readonly idsTests;
12
12
  private readonly typeTests;
13
13
  private readonly ingredientTests;
14
14
  private readonly resultTests;
15
- constructor(shape: unknown[], idsTests: Predicate<Id>[], typeTests: Predicate<Id>[], ingredientTests: Predicate<IngredientInput>[], resultTests: Predicate<ResultInput>[], modifier: Modifier<Recipe>);
16
- matches(id: Id, recipe: Recipe, logger: Logger): boolean;
15
+ constructor(shape: unknown[], idsTests: Predicate<Id>[], typeTests: Predicate<Id>[], ingredientTests: Predicate<IngredientInput>[], resultTests: Predicate<ResultInput>[], modifier: Modifier<RecipeHolder>);
16
+ matches(id: Id, recipe: RecipeHolder, logger: Logger): boolean;
17
17
  printWarning(logger: Logger): void;
18
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"recipe.js","sourceRoot":"","sources":["../../../src/emit/rule/recipe.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAM9C,OAAO,IAAI,MAAM,YAAY,CAAC;AAE9B,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,IAAY;IAE/B;IACA;IACA;IACA;IACA;IALnB,YACmB,KAAgB,EAChB,QAAyB,EACzB,SAA0B,EAC1B,eAA6C,EAC7C,WAAqC,EACtD,QAA0B;QAE1B,KAAK,CAAC,QAAQ,CAAC,CAAC;QAPC,UAAK,GAAL,KAAK,CAAW;QAChB,aAAQ,GAAR,QAAQ,CAAiB;QACzB,cAAS,GAAT,SAAS,CAAiB;QAC1B,oBAAe,GAAf,eAAe,CAA8B;QAC7C,gBAAW,GAAX,WAAW,CAA0B;IAIxD,CAAC;IAED,OAAO,CAAC,EAAM,EAAE,MAAc,EAAE,MAAc;QAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE9C,OAAO,CACL,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAC/C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5D,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAClC,MAAM,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CACvD;YACD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAC9B,MAAM,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CACnD,CACF,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,MAAc;QACzB,MAAM,CAAC,KAAK,CACV,qCAAqC,EACrC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAC7B,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"recipe.js","sourceRoot":"","sources":["../../../src/emit/rule/recipe.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAM9C,OAAO,IAAI,MAAM,YAAY,CAAC;AAE9B,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,IAAkB;IAErC;IACA;IACA;IACA;IACA;IALnB,YACmB,KAAgB,EAChB,QAAyB,EACzB,SAA0B,EAC1B,eAA6C,EAC7C,WAAqC,EACtD,QAAgC;QAEhC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAPC,UAAK,GAAL,KAAK,CAAW;QAChB,aAAQ,GAAR,QAAQ,CAAiB;QACzB,cAAS,GAAT,SAAS,CAAiB;QAC1B,oBAAe,GAAf,eAAe,CAA8B;QAC7C,gBAAW,GAAX,WAAW,CAA0B;IAIxD,CAAC;IAED,OAAO,CAAC,EAAM,EAAE,MAAoB,EAAE,MAAc;QAClD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE9C,OAAO,CACL,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAC/C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5D,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAClC,MAAM,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CACvD;YACD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAC9B,MAAM,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CACnD,CACF,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,MAAc;QACzB,MAAM,CAAC,KAAK,CACV,qCAAqC,EACrC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAC7B,CAAC;IACJ,CAAC;CACF"}
@@ -1,6 +1,6 @@
1
1
  import type { Logger } from "@adeficior/pack-resolver";
2
2
  import type RecipeParser from "../parser/recipe/index.js";
3
- import type { Recipe, RecipeSerializer } from "../parser/recipe/index.js";
3
+ import { RecipeHolder, type Recipe, type RecipeSerializer } from "../parser/recipe/index.js";
4
4
  import type { RecipeDefinition } from "../schema/data/recipe.js";
5
5
  import type { PackContext } from "./context.js";
6
6
  import { JsonLoader } from "./index.js";
@@ -9,7 +9,7 @@ export interface RecipeLoaderAccessor {
9
9
  registerParser(recipeType: string, parser: RecipeParser<RecipeDefinition, Recipe>): void;
10
10
  ignoreType(recipeType: string): void;
11
11
  }
12
- export default class RecipeLoader extends JsonLoader<Recipe> implements RecipeLoaderAccessor {
12
+ export default class RecipeLoader extends JsonLoader<RecipeHolder> implements RecipeLoaderAccessor {
13
13
  private readonly serializers;
14
14
  private readonly recipeParsers;
15
15
  private readonly ignoredRecipeTypes;
@@ -23,7 +23,7 @@ export default class RecipeLoader extends JsonLoader<Recipe> implements RecipeLo
23
23
  }>[];
24
24
  private recipeParseContext;
25
25
  serializer(logger: Logger): RecipeSerializer;
26
- parse(logger: Logger, definition: RecipeDefinition): Recipe | null;
26
+ parse(logger: Logger, definition: RecipeDefinition): RecipeHolder | null;
27
27
  registerParser(recipeType: string, parser: RecipeParser<RecipeDefinition, Recipe>): void;
28
28
  clear(): void;
29
29
  }
@@ -7,6 +7,7 @@ import { GrindstonePolishingParser, ShapedParser, ShapelessParser, SmeltingParse
7
7
  import CookingRecipeParser from "../parser/recipe/farmersdelight/cooking.js";
8
8
  import CuttingRecipeParser from "../parser/recipe/farmersdelight/cutting.js";
9
9
  import ForgeConditionalRecipeParser from "../parser/recipe/forge/conditional.js";
10
+ import { RecipeHolder, } from "../parser/recipe/index.js";
10
11
  import { RootComponentRecipeParser, RootRitualRecipeParser, } from "../parser/roots.js";
11
12
  import { ThermalCatalystRecipeParser, ThermalFuelRecipeParser, ThermalRecipeParser, TreeExtractionRecipeParser, } from "../parser/thermal.js";
12
13
  import { JsonLoader } from "./index.js";
@@ -160,11 +161,9 @@ export default class RecipeLoader extends JsonLoader {
160
161
  throw new IllegalShapeError("unable to deserialize recipe", it);
161
162
  },
162
163
  serialize: (recipe) => {
164
+ // TODO group logger?
163
165
  const context = this.recipeParseContext(logger);
164
- return {
165
- ...recipe.definition,
166
- ...recipe.serialize(context),
167
- };
166
+ return recipe.serialize(context);
168
167
  },
169
168
  };
170
169
  return recipes;
@@ -189,7 +188,7 @@ export default class RecipeLoader extends JsonLoader {
189
188
  // TODO not really needed anymore
190
189
  // parsed.getResults().forEach((it) => createResult(it));
191
190
  // parsed.getIngredients().forEach((it) => createIngredient(it));
192
- return parsed;
191
+ return new RecipeHolder(definition, parsed);
193
192
  }
194
193
  registerParser(recipeType, parser) {
195
194
  this.recipeParsers.set(recipeType, parser);
@@ -1 +1 @@
1
- {"version":3,"file":"recipe.js","sourceRoot":"","sources":["../../src/loader/recipe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recipe.js","sourceRoot":"","sources":["../../src/loader/recipe.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export { Recipe, default as RecipeParser } from "./recipe/index.js";
1
+ export { Recipe, RecipeHolder, default as RecipeParser, type RecipeModifier, type RecipeParseContext, type RecipeSerializer, } from "./recipe/index.js";
2
2
  export * from "./recipe/sullys/polishing.js";
3
3
  export * from "./recipe/vanilla/shaped.js";
4
4
  export * from "./recipe/vanilla/shapeless.js";
@@ -1,4 +1,4 @@
1
- export { Recipe, default as RecipeParser } from "./recipe/index.js";
1
+ export { Recipe, RecipeHolder, default as RecipeParser, } from "./recipe/index.js";
2
2
  export * from "./recipe/sullys/polishing.js";
3
3
  export * from "./recipe/vanilla/shaped.js";
4
4
  export * from "./recipe/vanilla/shapeless.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACpE,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,YAAY,EACZ,OAAO,IAAI,YAAY,GAIxB,MAAM,mBAAmB,CAAC;AAC3B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { type Ingredient } from "../../../common/ingredient/index.js";
2
2
  import type { Result } from "../../../common/result/index.js";
3
3
  import type { RecipeDefinition } from "../../../schema/data/recipe.js";
4
- import type { RecipeParseContext, Replacer } from "../index.js";
4
+ import type { RecipeModifier, RecipeParseContext } from "../index.js";
5
5
  import RecipeParser, { Recipe } from "../index.js";
6
6
  export type FluidConversionRecipeDefinition = RecipeDefinition & Readonly<{
7
7
  input: unknown;
@@ -10,10 +10,10 @@ export type FluidConversionRecipeDefinition = RecipeDefinition & Readonly<{
10
10
  export declare class FluidConversionRecipe extends Recipe {
11
11
  private readonly ingredient;
12
12
  private readonly result;
13
- constructor(definition: RecipeDefinition, ingredient: Ingredient, result: Result);
13
+ constructor(ingredient: Ingredient, result: Result);
14
14
  getIngredients(): Ingredient[];
15
15
  getResults(): Result[];
16
- replace(ingredientReplacer: Replacer<Ingredient>, resultReplacer: Replacer<Result>): FluidConversionRecipe;
16
+ replace(modifier: RecipeModifier): FluidConversionRecipe;
17
17
  serialize(context: RecipeParseContext): Partial<FluidConversionRecipeDefinition>;
18
18
  }
19
19
  export declare class FluidConversionRecipeParser extends RecipeParser<FluidConversionRecipeDefinition, FluidConversionRecipe> {
@@ -6,8 +6,8 @@ import RecipeParser, { Recipe } from "../index.js";
6
6
  export class FluidConversionRecipe extends Recipe {
7
7
  ingredient;
8
8
  result;
9
- constructor(definition, ingredient, result) {
10
- super(definition);
9
+ constructor(ingredient, result) {
10
+ super();
11
11
  this.ingredient = ingredient;
12
12
  this.result = result;
13
13
  }
@@ -17,8 +17,8 @@ export class FluidConversionRecipe extends Recipe {
17
17
  getResults() {
18
18
  return [this.result];
19
19
  }
20
- replace(ingredientReplacer, resultReplacer) {
21
- return new FluidConversionRecipe(this.definition, ingredientReplacer(this.ingredient), resultReplacer(this.result));
20
+ replace(modifier) {
21
+ return new FluidConversionRecipe(modifier.ingredient(this.ingredient), modifier.result(this.result));
22
22
  }
23
23
  serialize(context) {
24
24
  if (!(this.result instanceof FluidIngredient)) {
@@ -34,7 +34,7 @@ export class FluidConversionRecipeParser extends RecipeParser {
34
34
  deserialize(definition, context) {
35
35
  const ingredient = context.ingredients.create(definition.input);
36
36
  const result = context.results.validated(new FluidResult(definition.output, -1));
37
- return new FluidConversionRecipe(definition, ingredient, result);
37
+ return new FluidConversionRecipe(ingredient, result);
38
38
  }
39
39
  }
40
40
  //# sourceMappingURL=conversion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"conversion.js","sourceRoot":"","sources":["../../../../src/parser/recipe/adAstra/conversion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EACL,eAAe,GAEhB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,YAAY,EAAE,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAQnD,MAAM,OAAO,qBAAsB,SAAQ,MAAM;IAG5B;IACA;IAHnB,YACE,UAA4B,EACX,UAAsB,EACtB,MAAc;QAE/B,KAAK,CAAC,UAAU,CAAC,CAAC;QAHD,eAAU,GAAV,UAAU,CAAY;QACtB,WAAM,GAAN,MAAM,CAAQ;IAGjC,CAAC;IAED,cAAc;QACZ,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3B,CAAC;IAED,UAAU;QACR,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAEQ,OAAO,CACd,kBAAwC,EACxC,cAAgC;QAEhC,OAAO,IAAI,qBAAqB,CAC9B,IAAI,CAAC,UAAU,EACf,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,EACnC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAC5B,CAAC;IACJ,CAAC;IAEQ,SAAS,CAChB,OAA2B;QAE3B,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,YAAY,eAAe,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,iBAAiB,CACzB,gDAAgD,EAChD,IAAI,CAAC,MAAM,CACZ,CAAC;QACJ,CAAC;QAED,OAAO;YACL,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;YACrD,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;SACjC,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,2BAA4B,SAAQ,YAGhD;IACC,WAAW,CACT,UAA2C,EAC3C,OAA2B;QAE3B,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CACtC,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CACvC,CAAC;QACF,OAAO,IAAI,qBAAqB,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IACnE,CAAC;CACF"}
1
+ {"version":3,"file":"conversion.js","sourceRoot":"","sources":["../../../../src/parser/recipe/adAstra/conversion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EACL,eAAe,GAEhB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,YAAY,EAAE,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAQnD,MAAM,OAAO,qBAAsB,SAAQ,MAAM;IAE5B;IACA;IAFnB,YACmB,UAAsB,EACtB,MAAc;QAE/B,KAAK,EAAE,CAAC;QAHS,eAAU,GAAV,UAAU,CAAY;QACtB,WAAM,GAAN,MAAM,CAAQ;IAGjC,CAAC;IAED,cAAc;QACZ,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3B,CAAC;IAED,UAAU;QACR,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAEQ,OAAO,CAAC,QAAwB;QACvC,OAAO,IAAI,qBAAqB,CAC9B,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EACpC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAC7B,CAAC;IACJ,CAAC;IAEQ,SAAS,CAChB,OAA2B;QAE3B,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,YAAY,eAAe,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,iBAAiB,CACzB,gDAAgD,EAChD,IAAI,CAAC,MAAM,CACZ,CAAC;QACJ,CAAC;QAED,OAAO;YACL,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;YACrD,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;SACjC,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,2BAA4B,SAAQ,YAGhD;IACC,WAAW,CACT,UAA2C,EAC3C,OAA2B;QAE3B,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CACtC,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CACvC,CAAC;QACF,OAAO,IAAI,qBAAqB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACvD,CAAC;CACF"}
@@ -1,7 +1,7 @@
1
1
  import type { Ingredient } from "../../../common/ingredient/index.js";
2
- import { ItemResult, type Result } from "../../../common/result/index.js";
2
+ import { ItemResult } from "../../../common/result/index.js";
3
3
  import type { RecipeDefinition } from "../../../schema/data/recipe.js";
4
- import RecipeParser, { Recipe, type RecipeParseContext, type Replacer } from "../index.js";
4
+ import RecipeParser, { Recipe, type RecipeModifier, type RecipeParseContext } from "../index.js";
5
5
  import { OneToOneRecipe } from "../oneToOne.js";
6
6
  export type InputOutputRecipeDefinition = RecipeDefinition & Readonly<{
7
7
  input: unknown;
@@ -10,10 +10,10 @@ export type InputOutputRecipeDefinition = RecipeDefinition & Readonly<{
10
10
  export declare class InputOutputRecipe extends Recipe {
11
11
  protected readonly ingredient: Ingredient;
12
12
  protected readonly result: ItemResult;
13
- constructor(definition: RecipeDefinition, ingredient: Ingredient, result: ItemResult);
13
+ constructor(ingredient: Ingredient, result: ItemResult);
14
14
  getIngredients(): Ingredient[];
15
15
  getResults(): ItemResult[];
16
- replace(ingredientReplacer: Replacer<Ingredient>, resultReplacer: Replacer<Result>): OneToOneRecipe;
16
+ replace(modifier: RecipeModifier): OneToOneRecipe;
17
17
  serialize(context: RecipeParseContext): Partial<InputOutputRecipeDefinition>;
18
18
  }
19
19
  export declare class InputOutputRecipeParser extends RecipeParser<InputOutputRecipeDefinition, InputOutputRecipe> {
@@ -19,8 +19,8 @@ function serializeIdResult(result) {
19
19
  export class InputOutputRecipe extends Recipe {
20
20
  ingredient;
21
21
  result;
22
- constructor(definition, ingredient, result) {
23
- super(definition);
22
+ constructor(ingredient, result) {
23
+ super();
24
24
  this.ingredient = ingredient;
25
25
  this.result = result;
26
26
  }
@@ -30,8 +30,8 @@ export class InputOutputRecipe extends Recipe {
30
30
  getResults() {
31
31
  return [this.result];
32
32
  }
33
- replace(ingredientReplacer, resultReplacer) {
34
- return new OneToOneRecipe(this.definition, ingredientReplacer(this.ingredient), resultReplacer(this.result));
33
+ replace(modifier) {
34
+ return new OneToOneRecipe(modifier.ingredient(this.ingredient), modifier.result(this.result));
35
35
  }
36
36
  serialize(context) {
37
37
  return {
@@ -44,7 +44,7 @@ export class InputOutputRecipeParser extends RecipeParser {
44
44
  deserialize(definition, context) {
45
45
  const ingredient = context.ingredients.create(definition.input);
46
46
  const result = deserializeIdResult(context.ingredients, definition.output);
47
- return new InputOutputRecipe(definition, ingredient, result);
47
+ return new InputOutputRecipe(ingredient, result);
48
48
  }
49
49
  }
50
50
  //# sourceMappingURL=inputOutput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inputOutput.js","sourceRoot":"","sources":["../../../../src/parser/recipe/adAstra/inputOutput.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAG3D,OAAO,EAAE,UAAU,EAAe,MAAM,iCAAiC,CAAC;AAE1E,OAAO,YAAY,EAAE,EACnB,MAAM,GAGP,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,8DAA8D;AAC9D,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,EAAE,EAAE,QAAQ;IACZ,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AAEH,SAAS,mBAAmB,CAC1B,WAAiC,EACjC,KAAc;IAEd,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAClD,OAAO,WAAW,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAkB;IAC3C,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IAC7B,OAAO,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;AACrC,CAAC;AAQD,MAAM,OAAO,iBAAkB,SAAQ,MAAM;IAGtB;IACA;IAHrB,YACE,UAA4B,EACT,UAAsB,EACtB,MAAkB;QAErC,KAAK,CAAC,UAAU,CAAC,CAAC;QAHC,eAAU,GAAV,UAAU,CAAY;QACtB,WAAM,GAAN,MAAM,CAAY;IAGvC,CAAC;IAED,cAAc;QACZ,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3B,CAAC;IAED,UAAU;QACR,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAEQ,OAAO,CACd,kBAAwC,EACxC,cAAgC;QAEhC,OAAO,IAAI,cAAc,CACvB,IAAI,CAAC,UAAU,EACf,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,EACnC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAC5B,CAAC;IACJ,CAAC;IAEQ,SAAS,CAChB,OAA2B;QAE3B,OAAO;YACL,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;YACrD,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC;SACvC,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,uBAAwB,SAAQ,YAG5C;IACC,WAAW,CACT,UAAuC,EACvC,OAA2B;QAE3B,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,mBAAmB,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QAC3E,OAAO,IAAI,iBAAiB,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAC/D,CAAC;CACF"}
1
+ {"version":3,"file":"inputOutput.js","sourceRoot":"","sources":["../../../../src/parser/recipe/adAstra/inputOutput.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAG3D,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE7D,OAAO,YAAY,EAAE,EACnB,MAAM,GAGP,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,8DAA8D;AAC9D,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,EAAE,EAAE,QAAQ;IACZ,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AAEH,SAAS,mBAAmB,CAC1B,WAAiC,EACjC,KAAc;IAEd,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAClD,OAAO,WAAW,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAkB;IAC3C,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IAC7B,OAAO,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;AACrC,CAAC;AAQD,MAAM,OAAO,iBAAkB,SAAQ,MAAM;IAEtB;IACA;IAFrB,YACqB,UAAsB,EACtB,MAAkB;QAErC,KAAK,EAAE,CAAC;QAHW,eAAU,GAAV,UAAU,CAAY;QACtB,WAAM,GAAN,MAAM,CAAY;IAGvC,CAAC;IAED,cAAc;QACZ,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3B,CAAC;IAED,UAAU;QACR,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAEQ,OAAO,CAAC,QAAwB;QACvC,OAAO,IAAI,cAAc,CACvB,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EACpC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAC7B,CAAC;IACJ,CAAC;IAEQ,SAAS,CAChB,OAA2B;QAE3B,OAAO;YACL,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;YACrD,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC;SACvC,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,uBAAwB,SAAQ,YAG5C;IACC,WAAW,CACT,UAAuC,EACvC,OAA2B;QAE3B,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,mBAAmB,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QAC3E,OAAO,IAAI,iBAAiB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC;CACF"}
@@ -1,6 +1,6 @@
1
1
  import { type Ingredient } from "../../../common/ingredient/index.js";
2
2
  import type { RecipeDefinition } from "../../../schema/data/recipe.js";
3
- import type { RecipeParseContext, Replacer } from "../index.js";
3
+ import type { RecipeModifier, RecipeParseContext } from "../index.js";
4
4
  import RecipeParser, { Recipe } from "../index.js";
5
5
  export type SpaceStationRecipeDefinition = RecipeDefinition & Readonly<{
6
6
  ingredients: unknown[];
@@ -9,10 +9,10 @@ export type SpaceStationRecipeDefinition = RecipeDefinition & Readonly<{
9
9
  }>;
10
10
  export declare class SpaceStationRecipe extends Recipe {
11
11
  private readonly ingredients;
12
- constructor(definition: RecipeDefinition, ingredients: Ingredient[]);
12
+ constructor(ingredients: Ingredient[]);
13
13
  getIngredients(): Ingredient[];
14
14
  getResults(): never[];
15
- replace(ingredientReplacer: Replacer<Ingredient>): SpaceStationRecipe;
15
+ replace(modifier: RecipeModifier): SpaceStationRecipe;
16
16
  serialize(context: RecipeParseContext): Partial<SpaceStationRecipeDefinition>;
17
17
  }
18
18
  export declare class SpaceStationRecipeParser extends RecipeParser<SpaceStationRecipeDefinition, SpaceStationRecipe> {
@@ -9,8 +9,8 @@ const WrappedIngredientSchema = z.object({
9
9
  });
10
10
  export class SpaceStationRecipe extends Recipe {
11
11
  ingredients;
12
- constructor(definition, ingredients) {
13
- super(definition);
12
+ constructor(ingredients) {
13
+ super();
14
14
  this.ingredients = ingredients;
15
15
  }
16
16
  getIngredients() {
@@ -19,8 +19,8 @@ export class SpaceStationRecipe extends Recipe {
19
19
  getResults() {
20
20
  return [];
21
21
  }
22
- replace(ingredientReplacer) {
23
- return new SpaceStationRecipe(this.definition, this.ingredients.map(ingredientReplacer));
22
+ replace(modifier) {
23
+ return new SpaceStationRecipe(this.ingredients.map(modifier.ingredient));
24
24
  }
25
25
  serialize(context) {
26
26
  return {
@@ -40,7 +40,7 @@ export class SpaceStationRecipeParser extends RecipeParser {
40
40
  const ingredients = context.ingredients.createList(definition.ingredients
41
41
  .map((it) => WrappedIngredientSchema.parse(it))
42
42
  .map((it) => ({ ...it.ingredient, count: it.count })));
43
- return new SpaceStationRecipe(definition, ingredients);
43
+ return new SpaceStationRecipe(ingredients);
44
44
  }
45
45
  }
46
46
  //# sourceMappingURL=spaceStation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spaceStation.js","sourceRoot":"","sources":["../../../../src/parser/recipe/adAstra/spaceStation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EACL,cAAc,EACd,iBAAiB,GAElB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,YAAY,EAAE,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAEnD,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IAC7C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AASH,MAAM,OAAO,kBAAmB,SAAQ,MAAM;IAGzB;IAFnB,YACE,UAA4B,EACX,WAAyB;QAE1C,KAAK,CAAC,UAAU,CAAC,CAAC;QAFD,gBAAW,GAAX,WAAW,CAAc;IAG5C,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,UAAU;QACR,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,CAAC,kBAAwC;QAC9C,OAAO,IAAI,kBAAkB,CAC3B,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,kBAAkB,CAAC,CACzC,CAAC;IACJ,CAAC;IAED,SAAS,CACP,OAA2B;QAE3B,OAAO;YACL,WAAW,EAAE,OAAO,CAAC,WAAW;iBAC7B,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC;iBAC/B,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;gBACV,IAAI,EAAE,YAAY,cAAc,IAAI,EAAE,YAAY,iBAAiB,EAAE,CAAC;oBACpE,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC;gBAC5D,CAAC;gBAED,MAAM,IAAI,iBAAiB,CACzB,qDAAqD,EACrD,EAAE,CACH,CAAC;YACJ,CAAC,CAAC;SACL,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,wBAAyB,SAAQ,YAG7C;IACC,WAAW,CACT,UAAwC,EACxC,OAA2B;QAE3B,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,UAAU,CAChD,UAAU,CAAC,WAAW;aACnB,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,uBAAuB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aAC9C,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CACxD,CAAC;QAEF,OAAO,IAAI,kBAAkB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IACzD,CAAC;CACF"}
1
+ {"version":3,"file":"spaceStation.js","sourceRoot":"","sources":["../../../../src/parser/recipe/adAstra/spaceStation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EACL,cAAc,EACd,iBAAiB,GAElB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,YAAY,EAAE,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAEnD,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IAC7C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AASH,MAAM,OAAO,kBAAmB,SAAQ,MAAM;IACf;IAA7B,YAA6B,WAAyB;QACpD,KAAK,EAAE,CAAC;QADmB,gBAAW,GAAX,WAAW,CAAc;IAEtD,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,UAAU;QACR,OAAO,EAAE,CAAC;IACZ,CAAC;IAEQ,OAAO,CAAC,QAAwB;QACvC,OAAO,IAAI,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,SAAS,CACP,OAA2B;QAE3B,OAAO;YACL,WAAW,EAAE,OAAO,CAAC,WAAW;iBAC7B,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC;iBAC/B,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;gBACV,IAAI,EAAE,YAAY,cAAc,IAAI,EAAE,YAAY,iBAAiB,EAAE,CAAC;oBACpE,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC;gBAC5D,CAAC;gBAED,MAAM,IAAI,iBAAiB,CACzB,qDAAqD,EACrD,EAAE,CACH,CAAC;YACJ,CAAC,CAAC;SACL,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,wBAAyB,SAAQ,YAG7C;IACC,WAAW,CACT,UAAwC,EACxC,OAA2B;QAE3B,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,UAAU,CAChD,UAAU,CAAC,WAAW;aACnB,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,uBAAuB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aAC9C,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CACxD,CAAC;QAEF,OAAO,IAAI,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC7C,CAAC;CACF"}
@@ -1,7 +1,7 @@
1
1
  import type { Ingredient } from "../../../common/ingredient/index.js";
2
2
  import type { Result } from "../../../common/result/index.js";
3
3
  import type { RecipeDefinition } from "../../../schema/data/recipe.js";
4
- import RecipeParser, { Recipe, type RecipeParseContext, type Replacer } from "../index.js";
4
+ import RecipeParser, { Recipe, type RecipeModifier, type RecipeParseContext } from "../index.js";
5
5
  export type ApothecaryRecipeDefinition = RecipeDefinition & Readonly<{
6
6
  ingredients: unknown[];
7
7
  output: unknown;
@@ -11,10 +11,10 @@ export declare class ApothecaryRecipe extends Recipe {
11
11
  protected readonly ingredients: Ingredient[];
12
12
  protected readonly result: Result;
13
13
  protected readonly reagent: Ingredient;
14
- constructor(definition: RecipeDefinition, ingredients: Ingredient[], result: Result, reagent: Ingredient);
14
+ constructor(ingredients: Ingredient[], result: Result, reagent: Ingredient);
15
15
  getIngredients(): Ingredient[];
16
16
  getResults(): Result[];
17
- replace(ingredientReplacer: Replacer<Ingredient>, resultReplacer: Replacer<Result>): ApothecaryRecipe;
17
+ replace(modifier: RecipeModifier): ApothecaryRecipe;
18
18
  serialize(context: RecipeParseContext): Partial<ApothecaryRecipeDefinition>;
19
19
  }
20
20
  export declare class ApothecaryRecipeParser extends RecipeParser<ApothecaryRecipeDefinition, ApothecaryRecipe> {
@@ -3,8 +3,8 @@ export class ApothecaryRecipe extends Recipe {
3
3
  ingredients;
4
4
  result;
5
5
  reagent;
6
- constructor(definition, ingredients, result, reagent) {
7
- super(definition);
6
+ constructor(ingredients, result, reagent) {
7
+ super();
8
8
  this.ingredients = ingredients;
9
9
  this.result = result;
10
10
  this.reagent = reagent;
@@ -15,8 +15,8 @@ export class ApothecaryRecipe extends Recipe {
15
15
  getResults() {
16
16
  return [this.result];
17
17
  }
18
- replace(ingredientReplacer, resultReplacer) {
19
- return new ApothecaryRecipe(this.definition, this.ingredients.map(ingredientReplacer), resultReplacer(this.result), ingredientReplacer(this.reagent));
18
+ replace(modifier) {
19
+ return new ApothecaryRecipe(this.ingredients.map(modifier.ingredient), modifier.result(this.result), modifier.ingredient(this.reagent));
20
20
  }
21
21
  serialize(context) {
22
22
  return {
@@ -31,7 +31,7 @@ export class ApothecaryRecipeParser extends RecipeParser {
31
31
  const ingredients = context.ingredients.createList(definition.ingredients);
32
32
  const result = context.results.create(definition.output);
33
33
  const reagent = context.ingredients.create(definition.ingredients);
34
- return new ApothecaryRecipe(definition, ingredients, result, reagent);
34
+ return new ApothecaryRecipe(ingredients, result, reagent);
35
35
  }
36
36
  }
37
37
  //# sourceMappingURL=apothecary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"apothecary.js","sourceRoot":"","sources":["../../../../src/parser/recipe/botania/apothecary.ts"],"names":[],"mappings":"AAGA,OAAO,YAAY,EAAE,EACnB,MAAM,GAGP,MAAM,aAAa,CAAC;AASrB,MAAM,OAAO,gBAAiB,SAAQ,MAAM;IAGrB;IACA;IACA;IAJrB,YACE,UAA4B,EACT,WAAyB,EACzB,MAAc,EACd,OAAmB;QAEtC,KAAK,CAAC,UAAU,CAAC,CAAC;QAJC,gBAAW,GAAX,WAAW,CAAc;QACzB,WAAM,GAAN,MAAM,CAAQ;QACd,YAAO,GAAP,OAAO,CAAY;IAGxC,CAAC;IAEQ,cAAc;QACrB,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAEQ,UAAU;QACjB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAEQ,OAAO,CACd,kBAAwC,EACxC,cAAgC;QAEhC,OAAO,IAAI,gBAAgB,CACzB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,kBAAkB,CAAC,EACxC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAC3B,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CACjC,CAAC;IACJ,CAAC;IAEQ,SAAS,CAChB,OAA2B;QAE3B,OAAO;YACL,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC;YAChE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;YAC9C,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;SACrD,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,sBAAuB,SAAQ,YAG3C;IACC,WAAW,CACT,UAAsC,EACtC,OAA2B;QAE3B,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC3E,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACnE,OAAO,IAAI,gBAAgB,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACxE,CAAC;CACF"}
1
+ {"version":3,"file":"apothecary.js","sourceRoot":"","sources":["../../../../src/parser/recipe/botania/apothecary.ts"],"names":[],"mappings":"AAGA,OAAO,YAAY,EAAE,EACnB,MAAM,GAGP,MAAM,aAAa,CAAC;AASrB,MAAM,OAAO,gBAAiB,SAAQ,MAAM;IAErB;IACA;IACA;IAHrB,YACqB,WAAyB,EACzB,MAAc,EACd,OAAmB;QAEtC,KAAK,EAAE,CAAC;QAJW,gBAAW,GAAX,WAAW,CAAc;QACzB,WAAM,GAAN,MAAM,CAAQ;QACd,YAAO,GAAP,OAAO,CAAY;IAGxC,CAAC;IAEQ,cAAc;QACrB,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAEQ,UAAU;QACjB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAEQ,OAAO,CAAC,QAAwB;QACvC,OAAO,IAAI,gBAAgB,CACzB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,EACzC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAC5B,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAClC,CAAC;IACJ,CAAC;IAEQ,SAAS,CAChB,OAA2B;QAE3B,OAAO;YACL,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC;YAChE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;YAC9C,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;SACrD,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,sBAAuB,SAAQ,YAG3C;IACC,WAAW,CACT,UAAsC,EACtC,OAA2B;QAE3B,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC3E,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACnE,OAAO,IAAI,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;CACF"}
@@ -71,7 +71,7 @@ export default class BotaniaBlockRecipeParser extends RecipeParser {
71
71
  deserialize(definition, context) {
72
72
  const ingredient = deserializeBlockInput(context.ingredients, definition.input);
73
73
  const result = deserializeBlockOutput(context.results, definition.output);
74
- return new BotaniaBlockRecipe(definition, ingredient, result);
74
+ return new BotaniaBlockRecipe(ingredient, result);
75
75
  }
76
76
  }
77
77
  //# sourceMappingURL=blocks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"blocks.js","sourceRoot":"","sources":["../../../../src/parser/recipe/botania/blocks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blocks.js","sourceRoot":"","sources":["../../../../src/parser/recipe/botania/blocks.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { Ingredient } from "../../../common/ingredient/index.js";
2
2
  import type { RecipeDefinition } from "../../../schema/data/recipe.js";
3
- import type { RecipeParseContext, Replacer } from "../index.js";
3
+ import type { RecipeModifier, RecipeParseContext } from "../index.js";
4
4
  import RecipeParser, { Recipe } from "../index.js";
5
5
  export type BrewRecipeDefinition = RecipeDefinition & Readonly<{
6
6
  ingredients: unknown[];
@@ -8,10 +8,10 @@ export type BrewRecipeDefinition = RecipeDefinition & Readonly<{
8
8
  }>;
9
9
  export declare class BrewRecipe extends Recipe {
10
10
  private readonly ingredients;
11
- constructor(definition: RecipeDefinition, ingredients: Ingredient[]);
11
+ constructor(ingredients: Ingredient[]);
12
12
  getIngredients(): Ingredient[];
13
13
  getResults(): never[];
14
- replace(ingredientReplacer: Replacer<Ingredient>): BrewRecipe;
14
+ replace(modifier: RecipeModifier): BrewRecipe;
15
15
  serialize(context: RecipeParseContext): Partial<BrewRecipeDefinition>;
16
16
  }
17
17
  export declare class BrewRecipeParser extends RecipeParser<BrewRecipeDefinition, BrewRecipe> {
@@ -1,8 +1,8 @@
1
1
  import RecipeParser, { Recipe } from "../index.js";
2
2
  export class BrewRecipe extends Recipe {
3
3
  ingredients;
4
- constructor(definition, ingredients) {
5
- super(definition);
4
+ constructor(ingredients) {
5
+ super();
6
6
  this.ingredients = ingredients;
7
7
  }
8
8
  getIngredients() {
@@ -11,8 +11,8 @@ export class BrewRecipe extends Recipe {
11
11
  getResults() {
12
12
  return [];
13
13
  }
14
- replace(ingredientReplacer) {
15
- return new BrewRecipe(this.definition, this.ingredients.map(ingredientReplacer));
14
+ replace(modifier) {
15
+ return new BrewRecipe(this.ingredients.map(modifier.ingredient));
16
16
  }
17
17
  serialize(context) {
18
18
  return {
@@ -23,7 +23,7 @@ export class BrewRecipe extends Recipe {
23
23
  export class BrewRecipeParser extends RecipeParser {
24
24
  deserialize(definition, context) {
25
25
  const ingredients = context.ingredients.createList(definition.ingredients);
26
- return new BrewRecipe(definition, ingredients);
26
+ return new BrewRecipe(ingredients);
27
27
  }
28
28
  }
29
29
  //# sourceMappingURL=brew.js.map