@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.
- package/dist/emit/data/recipe.d.ts +6 -5
- package/dist/emit/data/recipe.js +16 -8
- package/dist/emit/data/recipe.js.map +1 -1
- package/dist/emit/rule/recipe.d.ts +4 -4
- package/dist/emit/rule/recipe.js.map +1 -1
- package/dist/loader/recipe.d.ts +3 -3
- package/dist/loader/recipe.js +4 -5
- package/dist/loader/recipe.js.map +1 -1
- package/dist/parser/index.d.ts +1 -1
- package/dist/parser/index.js +1 -1
- package/dist/parser/index.js.map +1 -1
- package/dist/parser/recipe/adAstra/conversion.d.ts +3 -3
- package/dist/parser/recipe/adAstra/conversion.js +5 -5
- package/dist/parser/recipe/adAstra/conversion.js.map +1 -1
- package/dist/parser/recipe/adAstra/inputOutput.d.ts +4 -4
- package/dist/parser/recipe/adAstra/inputOutput.js +5 -5
- package/dist/parser/recipe/adAstra/inputOutput.js.map +1 -1
- package/dist/parser/recipe/adAstra/spaceStation.d.ts +3 -3
- package/dist/parser/recipe/adAstra/spaceStation.js +5 -5
- package/dist/parser/recipe/adAstra/spaceStation.js.map +1 -1
- package/dist/parser/recipe/botania/apothecary.d.ts +3 -3
- package/dist/parser/recipe/botania/apothecary.js +5 -5
- package/dist/parser/recipe/botania/apothecary.js.map +1 -1
- package/dist/parser/recipe/botania/blocks.js +1 -1
- package/dist/parser/recipe/botania/blocks.js.map +1 -1
- package/dist/parser/recipe/botania/brew.d.ts +3 -3
- package/dist/parser/recipe/botania/brew.js +5 -5
- package/dist/parser/recipe/botania/brew.js.map +1 -1
- package/dist/parser/recipe/botania/elvenTrade.js +1 -1
- package/dist/parser/recipe/botania/elvenTrade.js.map +1 -1
- package/dist/parser/recipe/botania/gogWrapper.d.ts +5 -7
- package/dist/parser/recipe/botania/gogWrapper.js +5 -5
- package/dist/parser/recipe/botania/gogWrapper.js.map +1 -1
- package/dist/parser/recipe/botania/manaInfusion.d.ts +3 -3
- package/dist/parser/recipe/botania/manaInfusion.js +5 -5
- package/dist/parser/recipe/botania/manaInfusion.js.map +1 -1
- package/dist/parser/recipe/botania/nbtWrapper.d.ts +5 -7
- package/dist/parser/recipe/botania/nbtWrapper.js +5 -5
- package/dist/parser/recipe/botania/nbtWrapper.js.map +1 -1
- package/dist/parser/recipe/botania/runicAltar.js +1 -1
- package/dist/parser/recipe/botania/runicAltar.js.map +1 -1
- package/dist/parser/recipe/create/assembly.d.ts +3 -3
- package/dist/parser/recipe/create/assembly.js +5 -5
- package/dist/parser/recipe/create/assembly.js.map +1 -1
- package/dist/parser/recipe/farmersdelight/cooking.d.ts +3 -3
- package/dist/parser/recipe/farmersdelight/cooking.js +5 -5
- package/dist/parser/recipe/farmersdelight/cooking.js.map +1 -1
- package/dist/parser/recipe/farmersdelight/cutting.d.ts +3 -4
- package/dist/parser/recipe/farmersdelight/cutting.js +5 -5
- package/dist/parser/recipe/farmersdelight/cutting.js.map +1 -1
- package/dist/parser/recipe/forge/conditional.d.ts +6 -8
- package/dist/parser/recipe/forge/conditional.js +7 -7
- package/dist/parser/recipe/forge/conditional.js.map +1 -1
- package/dist/parser/recipe/index.d.ts +26 -8
- package/dist/parser/recipe/index.js +38 -6
- package/dist/parser/recipe/index.js.map +1 -1
- package/dist/parser/recipe/manyToMany.d.ts +3 -3
- package/dist/parser/recipe/manyToMany.js +5 -5
- package/dist/parser/recipe/manyToMany.js.map +1 -1
- package/dist/parser/recipe/manyToOne.d.ts +3 -3
- package/dist/parser/recipe/manyToOne.js +5 -5
- package/dist/parser/recipe/manyToOne.js.map +1 -1
- package/dist/parser/recipe/oneToOne.d.ts +3 -3
- package/dist/parser/recipe/oneToOne.js +5 -5
- package/dist/parser/recipe/oneToOne.js.map +1 -1
- package/dist/parser/recipe/roots/component.d.ts +3 -3
- package/dist/parser/recipe/roots/component.js +5 -5
- package/dist/parser/recipe/roots/component.js.map +1 -1
- package/dist/parser/recipe/roots/ritual.d.ts +3 -4
- package/dist/parser/recipe/roots/ritual.js +5 -5
- package/dist/parser/recipe/roots/ritual.js.map +1 -1
- package/dist/parser/recipe/thermal/catalyst.d.ts +3 -3
- package/dist/parser/recipe/thermal/catalyst.js +5 -5
- package/dist/parser/recipe/thermal/catalyst.js.map +1 -1
- package/dist/parser/recipe/thermal/fuel.d.ts +3 -3
- package/dist/parser/recipe/thermal/fuel.js +5 -5
- package/dist/parser/recipe/thermal/fuel.js.map +1 -1
- package/dist/parser/recipe/thermal/index.d.ts +3 -3
- package/dist/parser/recipe/thermal/index.js +5 -5
- package/dist/parser/recipe/thermal/index.js.map +1 -1
- package/dist/parser/recipe/thermal/treeExtraction.d.ts +3 -3
- package/dist/parser/recipe/thermal/treeExtraction.js +5 -5
- package/dist/parser/recipe/thermal/treeExtraction.js.map +1 -1
- package/dist/parser/recipe/vanilla/shaped.d.ts +4 -5
- package/dist/parser/recipe/vanilla/shaped.js +5 -5
- package/dist/parser/recipe/vanilla/shaped.js.map +1 -1
- package/dist/parser/recipe/vanilla/smelting.d.ts +3 -3
- package/dist/parser/recipe/vanilla/smelting.js +5 -5
- package/dist/parser/recipe/vanilla/smelting.js.map +1 -1
- package/dist/parser/recipe/vanilla/smithing.d.ts +3 -3
- package/dist/parser/recipe/vanilla/smithing.js +5 -5
- package/dist/parser/recipe/vanilla/smithing.js.map +1 -1
- package/dist/parser/recipe/vanilla/stonecutting.d.ts +3 -3
- package/dist/parser/recipe/vanilla/stonecutting.js +5 -5
- package/dist/parser/recipe/vanilla/stonecutting.js.map +1 -1
- 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
|
|
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
|
|
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<
|
|
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,
|
|
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;
|
package/dist/emit/data/recipe.js
CHANGED
|
@@ -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,
|
|
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,
|
|
79
|
-
if (
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
this.
|
|
83
|
-
|
|
84
|
-
|
|
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":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,qBAAqB,MAAM,mCAAmC,CAAC;AAGtE,OAAO,EACL,aAAa,GAGd,MAAM,4BAA4B,CAAC;AAEpC,OAAO,iBAAiB,MAAM,+BAA+B,CAAC;AAI9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;
|
|
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 {
|
|
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<
|
|
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<
|
|
16
|
-
matches(id: Id, recipe:
|
|
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,
|
|
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"}
|
package/dist/loader/recipe.d.ts
CHANGED
|
@@ -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
|
|
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<
|
|
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):
|
|
26
|
+
parse(logger: Logger, definition: RecipeDefinition): RecipeHolder | null;
|
|
27
27
|
registerParser(recipeType: string, parser: RecipeParser<RecipeDefinition, Recipe>): void;
|
|
28
28
|
clear(): void;
|
|
29
29
|
}
|
package/dist/loader/recipe.js
CHANGED
|
@@ -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":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EACL,2BAA2B,EAC3B,qBAAqB,EACrB,uBAAuB,EACvB,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,yBAAyB,EACzB,YAAY,EACZ,eAAe,EACf,cAAc,EACd,cAAc,EACd,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,mBAAmB,MAAM,4CAA4C,CAAC;AAC7E,OAAO,mBAAmB,MAAM,4CAA4C,CAAC;AAC7E,OAAO,4BAA4B,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"recipe.js","sourceRoot":"","sources":["../../src/loader/recipe.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EACL,2BAA2B,EAC3B,qBAAqB,EACrB,uBAAuB,EACvB,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,yBAAyB,EACzB,YAAY,EACZ,eAAe,EACf,cAAc,EACd,cAAc,EACd,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,mBAAmB,MAAM,4CAA4C,CAAC;AAC7E,OAAO,mBAAmB,MAAM,4CAA4C,CAAC;AAC7E,OAAO,4BAA4B,MAAM,uCAAuC,CAAC;AAEjF,OAAO,EACL,YAAY,GAGb,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,2BAA2B,EAC3B,uBAAuB,EACvB,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAWxC,MAAM,CAAC,OAAO,OAAO,YACnB,SAAQ,UAAwB;IAYb;IATF,aAAa,GAAG,IAAI,GAAG,EAGrC,CAAC;IAEa,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,mBAAmB,GAAG,IAAI,GAAG,EAA4B,CAAC;IAE3E,YACmB,WAAyD;QAE1E,KAAK,EAAE,CAAC;QAFS,gBAAW,GAAX,WAAW,CAA8C;QAI1E,IAAI,CAAC,cAAc,CAAC,2BAA2B,EAAE,IAAI,YAAY,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,cAAc,CAAC,8BAA8B,EAAE,IAAI,eAAe,EAAE,CAAC,CAAC;QAC3E,IAAI,CAAC,cAAc,CAAC,oBAAoB,EAAE,IAAI,cAAc,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE,IAAI,cAAc,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,cAAc,CAAC,oBAAoB,EAAE,IAAI,cAAc,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,cAAc,CAAC,4BAA4B,EAAE,IAAI,cAAc,EAAE,CAAC,CAAC;QACxE,IAAI,CAAC,cAAc,CAAC,oBAAoB,EAAE,IAAI,cAAc,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,cAAc,CAAC,wBAAwB,EAAE,IAAI,kBAAkB,EAAE,CAAC,CAAC;QAExE,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,IAAI,4BAA4B,EAAE,CAAC,CAAC;QACzE,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,IAAI,4BAA4B,EAAE,CAAC,CAAC;QAC3E,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,IAAI,4BAA4B,EAAE,CAAC,CAAC;QAC3E,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,IAAI,4BAA4B,EAAE,CAAC,CAAC;QAC3E,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,IAAI,4BAA4B,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,cAAc,CACjB,mBAAmB,EACnB,IAAI,4BAA4B,EAAE,CACnC,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,IAAI,4BAA4B,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,IAAI,4BAA4B,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,cAAc,CACjB,yBAAyB,EACzB,IAAI,4BAA4B,EAAE,CACnC,CAAC;QACF,IAAI,CAAC,cAAc,CACjB,4BAA4B,EAC5B,IAAI,4BAA4B,EAAE,CACnC,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE,IAAI,4BAA4B,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE,IAAI,4BAA4B,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,IAAI,4BAA4B,EAAE,CAAC,CAAC;QAC3E,IAAI,CAAC,cAAc,CAAC,4BAA4B,EAAE,IAAI,YAAY,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC,cAAc,CACjB,2BAA2B,EAC3B,IAAI,oBAAoB,EAAE,CAC3B,CAAC;QAEF,IAAI,CAAC,cAAc,CAAC,wBAAwB,EAAE,IAAI,mBAAmB,EAAE,CAAC,CAAC;QACzE,IAAI,CAAC,cAAc,CAAC,wBAAwB,EAAE,IAAI,mBAAmB,EAAE,CAAC,CAAC;QACzE,IAAI,CAAC,cAAc,CAAC,wBAAwB,EAAE,IAAI,mBAAmB,EAAE,CAAC,CAAC;QAEzE,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,IAAI,mBAAmB,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,cAAc,CAAC,oBAAoB,EAAE,IAAI,mBAAmB,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,IAAI,mBAAmB,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE,IAAI,mBAAmB,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,cAAc,CAAC,sBAAsB,EAAE,IAAI,mBAAmB,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,IAAI,mBAAmB,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE,IAAI,mBAAmB,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,cAAc,CACjB,4BAA4B,EAC5B,IAAI,2BAA2B,EAAE,CAClC,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,IAAI,mBAAmB,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,cAAc,CAAC,oBAAoB,EAAE,IAAI,mBAAmB,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,cAAc,CACjB,4BAA4B,EAC5B,IAAI,mBAAmB,EAAE,CAC1B,CAAC;QACF,IAAI,CAAC,cAAc,CACjB,6BAA6B,EAC7B,IAAI,2BAA2B,EAAE,CAClC,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE,IAAI,mBAAmB,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE,IAAI,mBAAmB,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,IAAI,mBAAmB,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,IAAI,mBAAmB,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,cAAc,CAAC,yBAAyB,EAAE,IAAI,mBAAmB,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,cAAc,CACjB,0BAA0B,EAC1B,IAAI,2BAA2B,EAAE,CAClC,CAAC;QACF,IAAI,CAAC,cAAc,CACjB,wBAAwB,EACxB,IAAI,0BAA0B,EAAE,CACjC,CAAC;QACF,IAAI,CAAC,cAAc,CACjB,0BAA0B,EAC1B,IAAI,uBAAuB,EAAE,CAC9B,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,uBAAuB,EAAE,IAAI,uBAAuB,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC,cAAc,CAAC,uBAAuB,EAAE,IAAI,uBAAuB,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC,cAAc,CACjB,yBAAyB,EACzB,IAAI,uBAAuB,EAAE,CAC9B,CAAC;QAEF,IAAI,CAAC,cAAc,CACjB,4BAA4B,EAC5B,IAAI,sBAAsB,EAAE,CAC7B,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,IAAI,mBAAmB,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,cAAc,CAAC,uBAAuB,EAAE,IAAI,mBAAmB,EAAE,CAAC,CAAC;QACxE,IAAI,CAAC,cAAc,CAAC,uBAAuB,EAAE,IAAI,mBAAmB,EAAE,CAAC,CAAC;QACxE,IAAI,CAAC,cAAc,CAAC,oBAAoB,EAAE,IAAI,qBAAqB,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,cAAc,CACjB,kCAAkC,EAClC,IAAI,qBAAqB,EAAE,CAC5B,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,sBAAsB,EAAE,IAAI,YAAY,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,cAAc,CACjB,sCAAsC,EACtC,IAAI,YAAY,EAAE,CACnB,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE,IAAI,sBAAsB,EAAE,CAAC,CAAC;QACzE,IAAI,CAAC,cAAc,CACjB,0BAA0B,EAC1B,IAAI,sBAAsB,EAAE,CAC7B,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE,IAAI,sBAAsB,EAAE,CAAC,CAAC;QACzE,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE,IAAI,sBAAsB,EAAE,CAAC,CAAC;QACzE,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,IAAI,gBAAgB,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE,IAAI,YAAY,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,cAAc,CACjB,uBAAuB,EACvB,IAAI,wBAAwB,EAAE,CAC/B,CAAC;QACF,IAAI,CAAC,cAAc,CACjB,gCAAgC,EAChC,IAAI,eAAe,EAAE,CACtB,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,uBAAuB,EAAE,IAAI,YAAY,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,cAAc,CACjB,yBAAyB,EACzB,IAAI,sBAAsB,EAAE,CAC7B,CAAC;QACF,IAAI,CAAC,cAAc,CACjB,0BAA0B,EAC1B,IAAI,sBAAsB,EAAE,CAC7B,CAAC;QAEF,IAAI,CAAC,cAAc,CAAC,0BAA0B,EAAE,IAAI,YAAY,EAAE,CAAC,CAAC;QAEpE,IAAI,CAAC,cAAc,CACjB,mBAAmB,EACnB,IAAI,4BAA4B,EAAE,CACnC,CAAC;QAEF,IAAI,CAAC,cAAc,CACjB,gCAAgC,EAChC,IAAI,yBAAyB,EAAE,CAChC,CAAC;QAEF,IAAI,CAAC,cAAc,CAAC,oBAAoB,EAAE,IAAI,qBAAqB,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,cAAc,CACjB,+BAA+B,EAC/B,IAAI,2BAA2B,EAAE,CAClC,CAAC;QACF,IAAI,CAAC,cAAc,CACjB,0BAA0B,EAC1B,IAAI,2BAA2B,EAAE,CAClC,CAAC;QACF,IAAI,CAAC,cAAc,CACjB,4BAA4B,EAC5B,IAAI,2BAA2B,EAAE,CAClC,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,sBAAsB,EAAE,IAAI,uBAAuB,EAAE,CAAC,CAAC;QAC3E,IAAI,CAAC,cAAc,CACjB,qCAAqC,EACrC,IAAI,YAAY,EAAE,CACnB,CAAC;QACF,IAAI,CAAC,cAAc,CACjB,yBAAyB,EACzB,IAAI,yBAAyB,EAAE,CAChC,CAAC;QACF,IAAI,CAAC,cAAc,CACjB,wBAAwB,EACxB,IAAI,wBAAwB,EAAE,CAC/B,CAAC;QAEF,IAAI,CAAC,cAAc,CACjB,iCAAiC,EACjC,IAAI,eAAe,EAAE,CACtB,CAAC;QAEF,IAAI,CAAC,cAAc,CAAC,kCAAkC,EAAE,IAAI,YAAY,EAAE,CAAC,CAAC;QAE5E,IAAI,CAAC,cAAc,CACjB,wBAAwB,EACxB,IAAI,yBAAyB,EAAE,CAChC,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE,IAAI,sBAAsB,EAAE,CAAC,CAAC;QAEzE,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;QACxC,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;QAExC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAClC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QAEnC,IAAI,CAAC,UAAU,CAAC,4CAA4C,CAAC,CAAC;QAE9D,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QAEpC,IAAI,CAAC,UAAU,CAAC,iCAAiC,CAAC,CAAC;QACnD,IAAI,CAAC,UAAU,CAAC,+BAA+B,CAAC,CAAC;QACjD,IAAI,CAAC,UAAU,CAAC,+BAA+B,CAAC,CAAC;QACjD,IAAI,CAAC,UAAU,CAAC,mCAAmC,CAAC,CAAC;QACrD,IAAI,CAAC,UAAU,CAAC,6BAA6B,CAAC,CAAC;QAC/C,IAAI,CAAC,UAAU,CAAC,gCAAgC,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC;QAC7C,IAAI,CAAC,UAAU,CAAC,kCAAkC,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,CAAC,sCAAsC,CAAC,CAAC;QACxD,IAAI,CAAC,UAAU,CAAC,sCAAsC,CAAC,CAAC;QACxD,IAAI,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU,CAAC,mCAAmC,CAAC,CAAC;QACrD,IAAI,CAAC,UAAU,CAAC,qCAAqC,CAAC,CAAC;QACvD,IAAI,CAAC,UAAU,CAAC,qCAAqC,CAAC,CAAC;QAEvD,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;QACzC,IAAI,CAAC,UAAU,CAAC,0BAA0B,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;QAEvC,8BAA8B;QAC9B,IAAI,CAAC,UAAU,CAAC,gCAAgC,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU,CAAC,wCAAwC,CAAC,CAAC;QAC1D,IAAI,CAAC,UAAU,CAAC,yCAAyC,CAAC,CAAC;QAC3D,IAAI,CAAC,UAAU,CAAC,wCAAwC,CAAC,CAAC;QAC1D,IAAI,CAAC,UAAU,CAAC,mCAAmC,CAAC,CAAC;QACrD,IAAI,CAAC,UAAU,CAAC,uCAAuC,CAAC,CAAC;QAEzD,IAAI,CAAC,UAAU,CAAC,6BAA6B,CAAC,CAAC;QAC/C,IAAI,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU,CAAC,gCAAgC,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU,CAAC,kCAAkC,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,CAAC,+BAA+B,CAAC,CAAC;QACjD,IAAI,CAAC,UAAU,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAED,gCAAgC;IAChC,UAAU,CAAC,UAAkB;QAC3B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC;IAED,kBAAkB;QAChB,OAAO,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC;IAChD,CAAC;IAEO,kBAAkB,CAAC,MAAc;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACxC,OAAO,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;IAC1C,CAAC;IAED,6CAA6C;IAC7C,UAAU,CAAC,MAAc;QACvB,MAAM,OAAO,GAAqB;YAChC,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE;gBAClB,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAC5C,IAAI,YAAY;oBAAE,OAAO,YAAY,CAAC;gBACtC,sBAAsB;gBACtB,MAAM,IAAI,iBAAiB,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAC;YAClE,CAAC;YACD,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE;gBACpB,qBAAqB;gBACrB,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;gBAChD,OAAO,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACnC,CAAC;SACF,CAAC;QAEF,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,MAAc,EAAE,UAA4B;QAChD,IAAI,CAAC,UAAU,CAAC,IAAI;YAClB,MAAM,IAAI,iBAAiB,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAEjE,IAAI,CAAC,CAAC,MAAM,IAAI,UAAU,CAAC;YACzB,MAAM,IAAI,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;QAErD,IAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAE9D,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBAE1D,MAAM,IAAI,iBAAiB,CACzB,yBAAyB,UAAU,CAAC,IAAI,GAAG,EAC3C,UAAU,CACX,CAAC;YACJ,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAC/B,UAAU,EACV,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAChC,CAAC;QAEF,uBAAuB;QACvB,iCAAiC;QACjC,yDAAyD;QACzD,iEAAiE;QAEjE,OAAO,IAAI,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,cAAc,CACZ,UAAkB,EAClB,MAA8C;QAE9C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK;QACH,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;IACnC,CAAC;CACF"}
|
package/dist/parser/index.d.ts
CHANGED
|
@@ -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";
|
package/dist/parser/index.js
CHANGED
|
@@ -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";
|
package/dist/parser/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
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 {
|
|
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(
|
|
13
|
+
constructor(ingredient: Ingredient, result: Result);
|
|
14
14
|
getIngredients(): Ingredient[];
|
|
15
15
|
getResults(): Result[];
|
|
16
|
-
replace(
|
|
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(
|
|
10
|
-
super(
|
|
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(
|
|
21
|
-
return new FluidConversionRecipe(
|
|
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(
|
|
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;
|
|
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
|
|
2
|
+
import { ItemResult } from "../../../common/result/index.js";
|
|
3
3
|
import type { RecipeDefinition } from "../../../schema/data/recipe.js";
|
|
4
|
-
import RecipeParser, { Recipe, type
|
|
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(
|
|
13
|
+
constructor(ingredient: Ingredient, result: ItemResult);
|
|
14
14
|
getIngredients(): Ingredient[];
|
|
15
15
|
getResults(): ItemResult[];
|
|
16
|
-
replace(
|
|
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(
|
|
23
|
-
super(
|
|
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(
|
|
34
|
-
return new OneToOneRecipe(
|
|
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(
|
|
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,
|
|
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 {
|
|
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(
|
|
12
|
+
constructor(ingredients: Ingredient[]);
|
|
13
13
|
getIngredients(): Ingredient[];
|
|
14
14
|
getResults(): never[];
|
|
15
|
-
replace(
|
|
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(
|
|
13
|
-
super(
|
|
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(
|
|
23
|
-
return new SpaceStationRecipe(this.
|
|
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(
|
|
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;
|
|
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
|
|
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(
|
|
14
|
+
constructor(ingredients: Ingredient[], result: Result, reagent: Ingredient);
|
|
15
15
|
getIngredients(): Ingredient[];
|
|
16
16
|
getResults(): Result[];
|
|
17
|
-
replace(
|
|
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(
|
|
7
|
-
super(
|
|
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(
|
|
19
|
-
return new ApothecaryRecipe(this.
|
|
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(
|
|
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;
|
|
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(
|
|
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 {
|
|
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(
|
|
11
|
+
constructor(ingredients: Ingredient[]);
|
|
12
12
|
getIngredients(): Ingredient[];
|
|
13
13
|
getResults(): never[];
|
|
14
|
-
replace(
|
|
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(
|
|
5
|
-
super(
|
|
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(
|
|
15
|
-
return new BrewRecipe(this.
|
|
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(
|
|
26
|
+
return new BrewRecipe(ingredients);
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
//# sourceMappingURL=brew.js.map
|