@adeficior/data-modifier 1.0.0-rc.38 → 1.0.0-rc.39

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 (97) hide show
  1. package/dist/common/ingredient/index.d.ts +6 -0
  2. package/dist/common/ingredient/index.js +13 -0
  3. package/dist/common/ingredient/index.js.map +1 -1
  4. package/dist/common/result/index.d.ts +6 -0
  5. package/dist/common/result/index.js +13 -0
  6. package/dist/common/result/index.js.map +1 -1
  7. package/dist/index.d.ts +2 -0
  8. package/dist/index.js +2 -0
  9. package/dist/index.js.map +1 -1
  10. package/dist/loader/context.d.ts +2 -2
  11. package/dist/loader/pack.d.ts +1 -1
  12. package/dist/loader/pack.js +4 -4
  13. package/dist/loader/pack.js.map +1 -1
  14. package/dist/loader/recipe.js +9 -5
  15. package/dist/loader/recipe.js.map +1 -1
  16. package/dist/parser/recipe/adAstra/inputOutput.js +1 -0
  17. package/dist/parser/recipe/adAstra/inputOutput.js.map +1 -1
  18. package/dist/parser/recipe/botania/blocks.d.ts +14 -8
  19. package/dist/parser/recipe/botania/blocks.js +39 -62
  20. package/dist/parser/recipe/botania/blocks.js.map +1 -1
  21. package/dist/parser/recipe/botania/gogWrapper.d.ts +2 -2
  22. package/dist/parser/recipe/botania/manaInfusion.d.ts +3 -0
  23. package/dist/parser/recipe/botania/manaInfusion.js +6 -5
  24. package/dist/parser/recipe/botania/manaInfusion.js.map +1 -1
  25. package/dist/parser/recipe/botania/nbtWrapper.d.ts +2 -2
  26. package/dist/parser/recipe/botania/pureDaisy.d.ts +4 -0
  27. package/dist/parser/recipe/botania/pureDaisy.js +15 -0
  28. package/dist/parser/recipe/botania/pureDaisy.js.map +1 -1
  29. package/dist/parser/recipe/create/assembly.d.ts +1 -0
  30. package/dist/parser/recipe/create/assembly.js +5 -2
  31. package/dist/parser/recipe/create/assembly.js.map +1 -1
  32. package/dist/parser/recipe/forge/conditional.d.ts +2 -2
  33. package/dist/parser/recipe/index.d.ts +9 -3
  34. package/dist/parser/recipe/index.js +17 -2
  35. package/dist/parser/recipe/index.js.map +1 -1
  36. package/dist/parser/recipe/ingredientMap.d.ts +2 -5
  37. package/dist/parser/recipe/ingredientMap.js +0 -3
  38. package/dist/parser/recipe/ingredientMap.js.map +1 -1
  39. package/dist/parser/recipe/thermal/index.d.ts +3 -0
  40. package/dist/parser/recipe/thermal/index.js +5 -3
  41. package/dist/parser/recipe/thermal/index.js.map +1 -1
  42. package/dist/parser/recipe/thermal/module.d.ts +4 -0
  43. package/dist/parser/recipe/thermal/module.js +36 -0
  44. package/dist/parser/recipe/thermal/module.js.map +1 -0
  45. package/dist/parser/recipe/vanilla/shaped.d.ts +1 -1
  46. package/dist/parser/recipe/vanilla/shaped.js +2 -2
  47. package/dist/parser/recipe/vanilla/shaped.js.map +1 -1
  48. package/dist/serializer/checks.d.ts +2 -0
  49. package/dist/serializer/checks.js +13 -0
  50. package/dist/serializer/checks.js.map +1 -0
  51. package/dist/serializer/index.d.ts +23 -0
  52. package/dist/serializer/index.js +19 -0
  53. package/dist/serializer/index.js.map +1 -0
  54. package/dist/serializer/ingredients/15.d.ts +2 -0
  55. package/dist/{common/ingredient/serializer.js → serializer/ingredients/15.js} +9 -26
  56. package/dist/serializer/ingredients/15.js.map +1 -0
  57. package/dist/serializer/ingredients/44.d.ts +2 -0
  58. package/dist/serializer/ingredients/44.js +46 -0
  59. package/dist/serializer/ingredients/44.js.map +1 -0
  60. package/dist/serializer/ingredients/common.d.ts +3 -0
  61. package/dist/serializer/ingredients/common.js +13 -0
  62. package/dist/serializer/ingredients/common.js.map +1 -0
  63. package/dist/serializer/ingredients/index.d.ts +20 -0
  64. package/dist/serializer/ingredients/index.js +36 -0
  65. package/dist/serializer/ingredients/index.js.map +1 -0
  66. package/dist/serializer/module.d.ts +23 -0
  67. package/dist/serializer/module.js +42 -0
  68. package/dist/serializer/module.js.map +1 -0
  69. package/dist/serializer/results/15.d.ts +2 -0
  70. package/dist/{common/result/serializer.js → serializer/results/15.js} +9 -14
  71. package/dist/serializer/results/15.js.map +1 -0
  72. package/dist/serializer/results/44.d.ts +2 -0
  73. package/dist/serializer/results/44.js +21 -0
  74. package/dist/serializer/results/44.js.map +1 -0
  75. package/dist/serializer/results/common.d.ts +3 -0
  76. package/dist/serializer/results/common.js +6 -0
  77. package/dist/serializer/results/common.js.map +1 -0
  78. package/dist/serializer/results/index.d.ts +6 -0
  79. package/dist/serializer/results/index.js +21 -0
  80. package/dist/serializer/results/index.js.map +1 -0
  81. package/dist/serializer/versioned.d.ts +19 -0
  82. package/dist/serializer/versioned.js +55 -0
  83. package/dist/serializer/versioned.js.map +1 -0
  84. package/dist/serializer/wrapped.d.ts +12 -0
  85. package/dist/serializer/wrapped.js +32 -0
  86. package/dist/serializer/wrapped.js.map +1 -0
  87. package/package.json +1 -1
  88. package/dist/common/ingredient/serializer.d.ts +0 -9
  89. package/dist/common/ingredient/serializer.js.map +0 -1
  90. package/dist/common/result/serializer.d.ts +0 -7
  91. package/dist/common/result/serializer.js.map +0 -1
  92. package/dist/common/serializer.d.ts +0 -35
  93. package/dist/common/serializer.js +0 -110
  94. package/dist/common/serializer.js.map +0 -1
  95. package/dist/parser/recipe/thermal/ingredient.d.ts +0 -4
  96. package/dist/parser/recipe/thermal/ingredient.js +0 -51
  97. package/dist/parser/recipe/thermal/ingredient.js.map +0 -1
@@ -67,3 +67,9 @@ export declare class ToolActionIngredient extends Ingredient {
67
67
  asResult(): Result;
68
68
  idsFor(): never[];
69
69
  }
70
+ export declare class IgnoredIngredient extends Ingredient {
71
+ readonly raw: unknown;
72
+ constructor(raw: unknown);
73
+ asResult(): Result;
74
+ idsFor(): never[];
75
+ }
@@ -125,4 +125,17 @@ export class ToolActionIngredient extends Ingredient {
125
125
  return [];
126
126
  }
127
127
  }
128
+ export class IgnoredIngredient extends Ingredient {
129
+ raw;
130
+ constructor(raw) {
131
+ super();
132
+ this.raw = raw;
133
+ }
134
+ asResult() {
135
+ throw new Error("ignored ingredient cannot be transformed into a result");
136
+ }
137
+ idsFor() {
138
+ return [];
139
+ }
140
+ }
128
141
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/ingredient/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/ingredient/index.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,QAAQ,EACR,KAAK,GAIN,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAe,MAAM,WAAW,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,MAAM,OAAgB,UAAU;IAC9B,QAAQ,CAAC,CAAiB,IAAS,CAAC;CAKrC;AAED,MAAM,OAAgB,aAAc,SAAQ,UAAU;IAKlC;IAJF,GAAG,CAAQ;IAE3B,YACE,KAAc,EACE,QAAkC;QAElD,KAAK,EAAE,CAAC;QAFQ,aAAQ,GAAR,QAAQ,CAA0B;QAGlD,2CAA2C;QAC3C,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAEQ,MAAM,CAAC,QAAkC;QAChD,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ;YAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClD,OAAO,EAAE,CAAC;IACZ,CAAC;IAEQ,QAAQ;QACf,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,aAAa;IAGhC;IAFlB,YACE,GAAY,EACI,QAAQ,CAAC;QAEzB,KAAK,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;QAFb,UAAK,GAAL,KAAK,CAAI;IAG3B,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,aAAa;IAGjC;IAFlB,YACE,GAAY,EACI,SAAS,MAAM;QAE/B,KAAK,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;QAFd,WAAM,GAAN,MAAM,CAAS;IAGjC,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,aAAa;IACnD,YAAY,GAAY;QACtB,KAAK,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;IAChC,CAAC;CACF;AAED,MAAM,OAAgB,uBAEpB,SAAQ,UAAU;IAKA;IAJF,EAAE,CAAkB;IAEpC,YACE,KAAiB,EACD,QAAkC;QAElD,KAAK,EAAE,CAAC;QAFQ,aAAQ,GAAR,QAAQ,CAA0B;QAGlD,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAEQ,MAAM,CAAC,QAAkC;QAChD,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjD,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,uBAA+B;IAG/C;IAFlB,YACE,EAAmB,EACH,QAAQ,CAAC;QAEzB,KAAK,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;QAFZ,UAAK,GAAL,KAAK,CAAI;IAG3B,CAAC;IAEQ,QAAQ,CAAC,MAAsB;QACtC,MAAM,CAAC,aAAa,CAAC,gBAAgB,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC;IAEQ,QAAQ;QACf,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,uBAAgC;IAGjD;IACA;IAHlB,YACE,EAAoB,EACJ,SAAS,MAAM,EACf,MAAe;QAE/B,KAAK,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC;QAHb,WAAM,GAAN,MAAM,CAAS;QACf,WAAM,GAAN,MAAM,CAAS;IAGjC,CAAC;IAEQ,QAAQ,CAAC,MAAsB;QACtC,MAAM,CAAC,aAAa,CAAC,iBAAiB,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC;IAEQ,QAAQ;QACf,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,uBAAgC;IAGjD;IAFlB,YACE,EAAoB,EACJ,MAAe;QAE/B,KAAK,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC;QAFb,WAAM,GAAN,MAAM,CAAS;IAGjC,CAAC;IAEQ,QAAQ,CAAC,MAAsB;QACtC,MAAM,CAAC,aAAa,CAAC,iBAAiB,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC;IAEQ,QAAQ;QACf,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,UAAU;IAChB;IAA5B,YAA4B,OAAqB;QAC/C,KAAK,EAAE,CAAC;QADkB,YAAO,GAAP,OAAO,CAAc;IAEjD,CAAC;IAEQ,QAAQ,CAAC,MAAsB;QACtC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACpD,CAAC;IAEQ,MAAM,CAAC,QAAkC;QAChD,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3D,CAAC;IAEQ,QAAQ;QACf,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;CACF;AAMD,MAAM,OAAO,oBAAqB,SAAQ,UAAU;IACtB;IAA5B,YAA4B,MAAc;QACxC,KAAK,EAAE,CAAC;QADkB,WAAM,GAAN,MAAM,CAAQ;IAE1C,CAAC;IAEQ,QAAQ;QACf,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;IACJ,CAAC;IAEQ,MAAM;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,UAAU;IACnB;IAA5B,YAA4B,GAAY;QACtC,KAAK,EAAE,CAAC;QADkB,QAAG,GAAH,GAAG,CAAS;IAExC,CAAC;IAEQ,QAAQ;QACf,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IAEQ,MAAM;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;CACF"}
@@ -33,3 +33,9 @@ export declare class BlockResult extends RegistryEntryResult<BlockId> {
33
33
  validate(lookup: RegistryLookup): void;
34
34
  asIngredient(): BlockIngredient;
35
35
  }
36
+ export declare class IgnoredResult extends Result {
37
+ readonly raw: unknown;
38
+ constructor(raw: unknown);
39
+ asIngredient(): Ingredient;
40
+ idsFor(): never[];
41
+ }
@@ -59,4 +59,17 @@ export class BlockResult extends RegistryEntryResult {
59
59
  return new BlockIngredient(this.id);
60
60
  }
61
61
  }
62
+ export class IgnoredResult extends Result {
63
+ raw;
64
+ constructor(raw) {
65
+ super();
66
+ this.raw = raw;
67
+ }
68
+ asIngredient() {
69
+ throw new Error("ignored result cannot be transformed into a ingredient");
70
+ }
71
+ idsFor() {
72
+ return [];
73
+ }
74
+ }
62
75
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/result/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,QAAQ,EAAmC,MAAM,OAAO,CAAC;AAClE,OAAO,EACL,eAAe,EACf,eAAe,EACf,cAAc,GAEf,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,MAAM,OAAgB,MAAM;IAC1B,QAAQ,CAAC,CAAiB,IAAS,CAAC;CAKrC;AAED,MAAM,OAAgB,mBAAsC,SAAQ,MAAM;IAKrD;IAJH,EAAE,CAAkB;IAEpC,YACE,KAAiB,EACA,QAAkC;QAEnD,KAAK,EAAE,CAAC;QAFS,aAAQ,GAAR,QAAQ,CAA0B;QAGnD,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAEQ,MAAM,CAAC,QAAkC;QAChD,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjD,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AAED,MAAM,OAAO,UAAW,SAAQ,mBAA2B;IAGvC;IACA;IAHlB,YACE,EAAmB,EACH,QAAQ,CAAC,EACT,MAAe;QAE/B,KAAK,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;QAHZ,UAAK,GAAL,KAAK,CAAI;QACT,WAAM,GAAN,MAAM,CAAS;IAGjC,CAAC;IAEQ,QAAQ,CAAC,MAAsB;QACtC,MAAM,CAAC,aAAa,CAAC,gBAAgB,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC;IAEQ,YAAY;QACnB,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,mBAA4B;IAGzC;IACA;IAHlB,YACE,EAAoB,EACJ,SAAiB,MAAM,EACvB,MAAe;QAE/B,KAAK,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC;QAHb,WAAM,GAAN,MAAM,CAAiB;QACvB,WAAM,GAAN,MAAM,CAAS;IAGjC,CAAC;IAEQ,QAAQ,CAAC,MAAsB;QACtC,MAAM,CAAC,aAAa,CAAC,iBAAiB,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC;IAEQ,YAAY;QACnB,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,mBAA4B;IAC3D,YAAY,EAAoB;QAC9B,KAAK,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC;IAC/B,CAAC;IAEQ,QAAQ,CAAC,MAAsB;QACtC,MAAM,CAAC,aAAa,CAAC,iBAAiB,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC;IAEQ,YAAY;QACnB,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;CACF"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/result/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,QAAQ,EAAmC,MAAM,OAAO,CAAC;AAClE,OAAO,EACL,eAAe,EACf,eAAe,EACf,cAAc,GAEf,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,MAAM,OAAgB,MAAM;IAC1B,QAAQ,CAAC,CAAiB,IAAS,CAAC;CAKrC;AAED,MAAM,OAAgB,mBAAsC,SAAQ,MAAM;IAKrD;IAJH,EAAE,CAAkB;IAEpC,YACE,KAAiB,EACA,QAAkC;QAEnD,KAAK,EAAE,CAAC;QAFS,aAAQ,GAAR,QAAQ,CAA0B;QAGnD,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAEQ,MAAM,CAAC,QAAkC;QAChD,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjD,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AAED,MAAM,OAAO,UAAW,SAAQ,mBAA2B;IAGvC;IACA;IAHlB,YACE,EAAmB,EACH,QAAQ,CAAC,EACT,MAAe;QAE/B,KAAK,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;QAHZ,UAAK,GAAL,KAAK,CAAI;QACT,WAAM,GAAN,MAAM,CAAS;IAGjC,CAAC;IAEQ,QAAQ,CAAC,MAAsB;QACtC,MAAM,CAAC,aAAa,CAAC,gBAAgB,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC;IAEQ,YAAY;QACnB,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,mBAA4B;IAGzC;IACA;IAHlB,YACE,EAAoB,EACJ,SAAiB,MAAM,EACvB,MAAe;QAE/B,KAAK,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC;QAHb,WAAM,GAAN,MAAM,CAAiB;QACvB,WAAM,GAAN,MAAM,CAAS;IAGjC,CAAC;IAEQ,QAAQ,CAAC,MAAsB;QACtC,MAAM,CAAC,aAAa,CAAC,iBAAiB,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC;IAEQ,YAAY;QACnB,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,mBAA4B;IAC3D,YAAY,EAAoB;QAC9B,KAAK,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC;IAC/B,CAAC;IAEQ,QAAQ,CAAC,MAAsB;QACtC,MAAM,CAAC,aAAa,CAAC,iBAAiB,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC;IAEQ,YAAY;QACnB,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,MAAM;IACX;IAA5B,YAA4B,GAAY;QACtC,KAAK,EAAE,CAAC;QADkB,QAAG,GAAH,GAAG,CAAS;IAExC,CAAC;IAEQ,YAAY;QACnB,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IAEQ,MAAM;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;CACF"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  export { createId, encodeId, prefix, suffix, type Id, type IdInput, type NormalizedId, type TagInput, } from "./common/id.js";
2
+ export * from "./common/ingredient/index.js";
2
3
  export { default as Registry } from "./common/registry.js";
4
+ export * from "./common/result/index.js";
3
5
  export type { BlockstateRules } from "./emit/assets/blockstates.js";
4
6
  export type { ModelRules, ModelRulesGroup } from "./emit/assets/models.js";
5
7
  export type { BlockDefinitionOptions, BlockDefinitionRules, } from "./emit/content/blockDefinition.js";
package/dist/index.js CHANGED
@@ -1,5 +1,7 @@
1
1
  export { createId, encodeId, prefix, suffix, } from "./common/id.js";
2
+ export * from "./common/ingredient/index.js";
2
3
  export { default as Registry } from "./common/registry.js";
4
+ export * from "./common/result/index.js";
3
5
  export { default as CustomEmitter } from "./emit/custom.js";
4
6
  export { EMPTY_LOOT_MODIFIER, EMPTY_LOOT_TABLE, } from "./emit/data/loot.js";
5
7
  export { EMPTY_RECIPE } from "./emit/data/recipe.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,MAAM,GAKP,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAY3D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EACL,mBAAmB,EACnB,gBAAgB,GAEjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAOrD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEzD,cAAc,iBAAiB,CAAC;AAehC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,MAAM,GAKP,MAAM,gBAAgB,CAAC;AACxB,cAAc,8BAA8B,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC3D,cAAc,0BAA0B,CAAC;AAYzC,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EACL,mBAAmB,EACnB,gBAAgB,GAEjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAOrD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEzD,cAAc,iBAAiB,CAAC;AAehC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC"}
@@ -1,6 +1,6 @@
1
- import type IngredientSerializer from "../common/ingredient/serializer";
2
- import type ResultSerializer from "../common/result/serializer";
3
1
  import type { SemVerInput } from "../packFormat";
2
+ import type { IngredientSerializer } from "../serializer/ingredients";
3
+ import type { ResultSerializer } from "../serializer/results";
4
4
  import type RegistryLookup from "./registry";
5
5
  import type { TagRegistryHolder } from "./tags";
6
6
  export type PackContext = {
@@ -51,7 +51,7 @@ export default class PackLoader implements Loader {
51
51
  }>;
52
52
  get recipeLoader(): RecipeLoaderAccessor;
53
53
  get registries(): RegistryLookup;
54
- resolveIngredientTest(test: IngredientFilter): import("../common/filters.js").Predicate<import("../common/ingredient/index.js").Ingredient>;
54
+ resolveIngredientTest(test: IngredientFilter): import("../common/filters.js").Predicate<import("../index.js").Ingredient>;
55
55
  loadFromMultiple(resolvers: Resolver[]): Promise<void>;
56
56
  loadFrom(resolver: Resolver): Promise<void>;
57
57
  loadRegistryDump(resolver: Resolver): Promise<void>;
@@ -1,8 +1,6 @@
1
1
  import { combineResolvers, distributedAcceptor, extendContext, filterAcceptor, } from "@adeficior/pack-resolver";
2
2
  import { createMergingAcceptor } from "@adeficior/resource-merger";
3
3
  import createIngredientPredicate, {} from "../common/ingredient/filter.js";
4
- import IngredientSerializer from "../common/ingredient/serializer.js";
5
- import ResultSerializer from "../common/result/serializer.js";
6
4
  import BlockstateEmitter from "../emit/assets/blockstates.js";
7
5
  import LangEmitter from "../emit/assets/lang.js";
8
6
  import ModelEmitter from "../emit/assets/models.js";
@@ -14,6 +12,8 @@ import RecipeEmitter from "../emit/data/recipe.js";
14
12
  import TagEmitter from "../emit/data/tags.js";
15
13
  import PolytoneTabsEmitter from "../emit/polytoneTabs.js";
16
14
  import { lootTableFolder, recipeFolder, } from "../packFormat.js";
15
+ import { createIngredientSerializer, } from "../serializer/ingredients";
16
+ import { createResultSerializer, } from "../serializer/results";
17
17
  import LangLoader from "./lang.js";
18
18
  import LootTableLoader from "./loot.js";
19
19
  import RecipeLoader from "./recipe.js";
@@ -51,8 +51,8 @@ export default class PackLoader {
51
51
  this.lootLoader = new LootTableLoader();
52
52
  this.langLoader = new LangLoader();
53
53
  this.tags = this.registerEmitter(new TagEmitter(this.tagLoader, options));
54
- this.results = new ResultSerializer(options.packFormat, this.lookup);
55
- this.ingredients = new IngredientSerializer(options.packFormat, this.lookup);
54
+ this.results = createResultSerializer(options.packFormat, this.lookup);
55
+ this.ingredients = createIngredientSerializer(options.packFormat, this.lookup);
56
56
  this.context = {
57
57
  tags: this.tagLoader,
58
58
  ingredients: this.ingredients,
@@ -1 +1 @@
1
- {"version":3,"file":"pack.js","sourceRoot":"","sources":["../../src/loader/pack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pack.js","sourceRoot":"","sources":["../../src/loader/pack.ts"],"names":[],"mappings":"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"}
@@ -115,11 +115,15 @@ export default class RecipeLoader extends JsonLoader {
115
115
  unknownRecipeTypes() {
116
116
  return [...this._unknownRecipeTypes.values()];
117
117
  }
118
- recipeParseContext() {
119
- return { ...this.serializers, recipes: this };
118
+ recipeParseContext(parser) {
119
+ return {
120
+ recipes: this,
121
+ ingredients: this.serializers.ingredients.selectModule(parser.ingredientModules()),
122
+ results: this.serializers.results.selectModule(parser.resultModules()),
123
+ };
120
124
  }
121
125
  serialize(recipe) {
122
- const context = this.recipeParseContext();
126
+ const context = this.recipeParseContext(recipe);
123
127
  return recipe.serialize(context);
124
128
  }
125
129
  deserialize(definition) {
@@ -134,8 +138,8 @@ export default class RecipeLoader extends JsonLoader {
134
138
  }
135
139
  throw new IllegalShapeError(`unknown recipe type: '${definition.type}'`, definition);
136
140
  }
137
- const parsed = parser.deserialize(definition, this.recipeParseContext());
138
- return new RecipeHolder(definition, parsed);
141
+ const parsed = parser.deserialize(definition, this.recipeParseContext(parser));
142
+ return new RecipeHolder(definition, parsed, parser);
139
143
  }
140
144
  parse(definition) {
141
145
  if (this.ignoredRecipeTypePatterns.some((it) => minimatch(definition.type, it)))
@@ -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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"}
@@ -8,6 +8,7 @@ const IdResultSchema = z.object({
8
8
  id: IdSchema,
9
9
  count: z.number().optional(),
10
10
  });
11
+ // TODO create serializer module
11
12
  function deserializeIdResult(results, input) {
12
13
  const { id, count } = IdResultSchema.parse(input);
13
14
  return results.validated(new ItemResult(id, count));
@@ -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;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAG7D,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,OAAyB,EACzB,KAAc;IAEd,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAClD,OAAO,OAAO,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;AACtD,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,MAAM,CAAC,QAAwB;QACtC,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,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,mBAAmB,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QACvE,OAAO,IAAI,iBAAiB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACnD,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;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAG7D,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,gCAAgC;AAEhC,SAAS,mBAAmB,CAC1B,OAAyB,EACzB,KAAc;IAEd,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAClD,OAAO,OAAO,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;AACtD,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,MAAM,CAAC,QAAwB;QACtC,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,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,mBAAmB,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QACvE,OAAO,IAAI,iBAAiB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC;CACF"}
@@ -1,21 +1,27 @@
1
- import type { BlockLikeIngredient, Ingredient } from "../../../common/ingredient/index.js";
2
- import type IngredientSerializer from "../../../common/ingredient/serializer.js";
1
+ import type { Ingredient } from "../../../common/ingredient/index.js";
3
2
  import type { Result } from "../../../common/result/index.js";
4
- import type ResultSerializer from "../../../common/result/serializer.js";
5
3
  import type { RecipeDefinition } from "../../../schema/data/recipe.js";
6
4
  import RecipeParser, { type RecipeParseContext } from "../index.js";
7
5
  import { OneToOneRecipe } from "../oneToOne.js";
8
- export declare function serializeBlockInput(ingredient: Ingredient): unknown;
9
- export declare function serializeBlockOutput(result: Result | Ingredient): unknown;
10
- export declare function deserializeBlockInput(ingredients: IngredientSerializer, input: unknown): BlockLikeIngredient;
11
- export declare function deserializeBlockOutput(results: ResultSerializer, output: unknown): Result;
12
6
  export type BotaniaBlockRecipeDefinition = RecipeDefinition & Readonly<{
13
7
  input: unknown;
14
8
  output: unknown;
15
9
  }>;
16
10
  export declare class BotaniaBlockRecipe extends OneToOneRecipe {
17
- serialize(): Partial<BotaniaBlockRecipeDefinition>;
11
+ serialize(context: RecipeParseContext): Partial<BotaniaBlockRecipeDefinition>;
18
12
  }
13
+ export declare const resultSerializerModules: {
14
+ 15: import("../../../serializer/module.js").SerializerModule<Result, unknown>;
15
+ };
16
+ export declare const ingredientSerializerModules: {
17
+ 15: import("../../../serializer/module.js").SerializerModule<Ingredient, unknown>;
18
+ };
19
19
  export default class BotaniaBlockRecipeParser<TDefinition extends BotaniaBlockRecipeDefinition> extends RecipeParser<TDefinition, BotaniaBlockRecipe> {
20
+ resultModules(): {
21
+ 15: import("../../../serializer/module.js").SerializerModule<Result, unknown>;
22
+ };
23
+ ingredientModules(): {
24
+ 15: import("../../../serializer/module.js").SerializerModule<Ingredient, unknown>;
25
+ };
20
26
  deserialize(definition: TDefinition, context: RecipeParseContext): BotaniaBlockRecipe;
21
27
  }
@@ -1,77 +1,54 @@
1
1
  import z from "zod";
2
- import { encodeId, IdSchema } from "../../../common/id.js";
2
+ import { IdSchema } from "../../../common/id.js";
3
3
  import { BlockIngredient, BlockTagIngredient, } from "../../../common/ingredient/index.js";
4
4
  import { BlockResult } from "../../../common/result/index.js";
5
- import { IllegalShapeError } from "../../../error.js";
5
+ import { hasType } from "../../../serializer/checks.js";
6
+ import { createSerializerModule } from "../../../serializer/module.js";
6
7
  import RecipeParser, {} from "../index.js";
7
8
  import { OneToOneRecipe } from "../oneToOne.js";
8
- const BlockOutputSchema = z
9
- .object({
10
- type: z.literal("block"),
11
- block: IdSchema,
12
- })
13
- .or(IdSchema);
14
- const BlockInputSchema = z
15
- .object({
16
- type: z.literal("block"),
17
- block: IdSchema,
18
- })
19
- .or(z.object({
20
- type: z.literal("tag"),
21
- tag: IdSchema,
22
- }));
23
- export function serializeBlockInput(ingredient) {
24
- if (ingredient instanceof BlockIngredient)
25
- return {
26
- type: "block",
27
- block: encodeId(ingredient.id),
28
- };
29
- if (ingredient instanceof BlockTagIngredient)
30
- return {
31
- type: "tag",
32
- tag: encodeId(ingredient.tag),
33
- };
34
- throw new IllegalShapeError("invalid botania block input ingredient", ingredient);
35
- }
36
- export function serializeBlockOutput(result) {
37
- if (result instanceof BlockResult)
38
- return {
39
- name: encodeId(result.id),
40
- };
41
- if (result instanceof BlockIngredient)
42
- return {
43
- name: encodeId(result.id),
44
- };
45
- throw new IllegalShapeError("invalid botania block output result", result);
46
- }
47
- export function deserializeBlockInput(ingredients, input) {
48
- const parsed = BlockInputSchema.parse(input);
49
- switch (parsed.type) {
50
- case "block":
51
- return ingredients.validated(new BlockIngredient(parsed.block));
52
- case "tag":
53
- return ingredients.validated(new BlockTagIngredient(parsed.tag));
54
- default:
55
- throw new IllegalShapeError(`invalid block input type`, input);
56
- }
57
- }
58
- export function deserializeBlockOutput(results, output) {
59
- const parsed = BlockOutputSchema.parse(output);
60
- const id = typeof parsed === "string" ? parsed : parsed.block;
61
- return results.deserialize(new BlockResult(id));
62
- }
9
+ const ingredientSerializer15 = createSerializerModule((builder) => {
10
+ const blockType = "block";
11
+ builder.register(BlockIngredient, hasType(blockType), z.object({
12
+ type: z.literal(blockType),
13
+ block: IdSchema,
14
+ }), ({ block }) => new BlockIngredient(block), ({ id }) => ({ block: id, type: blockType }));
15
+ const tagType = "tag";
16
+ builder.register(BlockTagIngredient, hasType(tagType), z.object({
17
+ type: z.literal(tagType),
18
+ tag: IdSchema,
19
+ }), ({ tag }) => new BlockTagIngredient(tag), ({ tag }) => ({ tag, type: tagType }));
20
+ });
21
+ const resultSerializer15 = createSerializerModule((builder) => {
22
+ const blockType = "block";
23
+ builder.register(BlockResult, hasType(blockType), z.object({
24
+ type: z.literal(blockType),
25
+ block: IdSchema,
26
+ }), ({ block }) => new BlockResult(block), ({ id }) => ({ block: id, type: blockType }));
27
+ });
63
28
  export class BotaniaBlockRecipe extends OneToOneRecipe {
64
- serialize() {
29
+ serialize(context) {
65
30
  return {
66
- output: serializeBlockOutput(this.result),
67
- input: serializeBlockOutput(this.ingredient),
31
+ output: context.results.serialize(this.result),
32
+ input: context.ingredients.serialize(this.ingredient),
68
33
  };
69
34
  }
70
35
  }
36
+ export const resultSerializerModules = {
37
+ 15: resultSerializer15,
38
+ };
39
+ export const ingredientSerializerModules = {
40
+ 15: ingredientSerializer15,
41
+ };
71
42
  export default class BotaniaBlockRecipeParser extends RecipeParser {
43
+ resultModules() {
44
+ return resultSerializerModules;
45
+ }
46
+ ingredientModules() {
47
+ return ingredientSerializerModules;
48
+ }
72
49
  deserialize(definition, context) {
73
- const ingredient = deserializeBlockInput(context.ingredients, definition.input);
74
- const result = deserializeBlockOutput(context.results, definition.output);
50
+ const ingredient = context.ingredients.deserialize(definition.input);
51
+ const result = context.results.deserialize(definition.output);
75
52
  return new BotaniaBlockRecipe(ingredient, result);
76
53
  }
77
54
  }
@@ -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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"}
@@ -10,8 +10,8 @@ export declare class GogWrapperRecipe extends Recipe {
10
10
  private readonly base;
11
11
  private readonly gog;
12
12
  constructor(base: RecipeHolder, gog: RecipeHolder);
13
- getIngredients(): import("../../../common/ingredient/index.js").Ingredient[];
14
- getResults(): import("../../../common/result/index.js").Result[];
13
+ getIngredients(): import("../../../index.js").Ingredient[];
14
+ getResults(): import("../../../index.js").Result[];
15
15
  modify(modifier: RecipeModifier): GogWrapperRecipe;
16
16
  serialize(context: RecipeParseContext): Partial<GogWrapperRecipeDefinition>;
17
17
  }
@@ -20,5 +20,8 @@ export declare class ManaInfusionRecipe extends Recipe {
20
20
  serialize(context: RecipeParseContext): Partial<ManaInfusionRecipeDefinition>;
21
21
  }
22
22
  export declare class ManaInfusionRecipeParser extends RecipeParser<ManaInfusionRecipeDefinition, ManaInfusionRecipe> {
23
+ ingredientModules(): {
24
+ 15: import("../../../serializer/module.js").SerializerModule<Ingredient, unknown>;
25
+ };
23
26
  deserialize(definition: ManaInfusionRecipeDefinition, context: RecipeParseContext): ManaInfusionRecipe;
24
27
  }
@@ -1,6 +1,6 @@
1
1
  import { exists } from "@adeficior/pack-resolver";
2
2
  import RecipeParser, { Recipe } from "../index.js";
3
- import { deserializeBlockInput, serializeBlockInput } from "./blocks.js";
3
+ import { ingredientSerializerModules } from "./blocks.js";
4
4
  export class ManaInfusionRecipe extends Recipe {
5
5
  ingredient;
6
6
  result;
@@ -24,15 +24,16 @@ export class ManaInfusionRecipe extends Recipe {
24
24
  return {
25
25
  input: context.ingredients.serialize(this.ingredient),
26
26
  output: context.results.serialize(this.result),
27
- catalyst: this.catalyst && serializeBlockInput(this.catalyst),
27
+ catalyst: context.ingredients.serializeOptional(this.catalyst),
28
28
  };
29
29
  }
30
30
  }
31
31
  export class ManaInfusionRecipeParser extends RecipeParser {
32
+ ingredientModules() {
33
+ return ingredientSerializerModules;
34
+ }
32
35
  deserialize(definition, context) {
33
- const catalyst = definition.catalyst === undefined
34
- ? undefined
35
- : deserializeBlockInput(context.ingredients, definition.catalyst);
36
+ const catalyst = context.ingredients.deserializeOptional(definition.catalyst);
36
37
  const ingredient = context.ingredients.deserialize(definition.input);
37
38
  const result = context.results.deserialize(definition.output);
38
39
  return new ManaInfusionRecipe(ingredient, result, catalyst);
@@ -1 +1 @@
1
- {"version":3,"file":"manaInfusion.js","sourceRoot":"","sources":["../../../../src/parser/recipe/botania/manaInfusion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAKlD,OAAO,YAAY,EAAE,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAUzE,MAAM,OAAO,kBAAmB,SAAQ,MAAM;IAEzB;IACA;IACA;IAHnB,YACmB,UAAsB,EACtB,MAAc,EACd,QAAqB;QAEtC,KAAK,EAAE,CAAC;QAJS,eAAU,GAAV,UAAU,CAAY;QACtB,WAAM,GAAN,MAAM,CAAQ;QACd,aAAQ,GAAR,QAAQ,CAAa;IAGxC,CAAC;IAED,cAAc;QACZ,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzD,CAAC;IAED,UAAU;QACR,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAEQ,MAAM,CAAC,QAAwB;QACtC,OAAO,IAAI,kBAAkB,CAC3B,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EACpC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAC5B,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CACpD,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,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;YAC9C,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC;SAC9D,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,wBAAyB,SAAQ,YAG7C;IACC,WAAW,CACT,UAAwC,EACxC,OAA2B;QAE3B,MAAM,QAAQ,GACZ,UAAU,CAAC,QAAQ,KAAK,SAAS;YAC/B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC9D,OAAO,IAAI,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC9D,CAAC;CACF"}
1
+ {"version":3,"file":"manaInfusion.js","sourceRoot":"","sources":["../../../../src/parser/recipe/botania/manaInfusion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAKlD,OAAO,YAAY,EAAE,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAU1D,MAAM,OAAO,kBAAmB,SAAQ,MAAM;IAEzB;IACA;IACA;IAHnB,YACmB,UAAsB,EACtB,MAAc,EACd,QAAqB;QAEtC,KAAK,EAAE,CAAC;QAJS,eAAU,GAAV,UAAU,CAAY;QACtB,WAAM,GAAN,MAAM,CAAQ;QACd,aAAQ,GAAR,QAAQ,CAAa;IAGxC,CAAC;IAED,cAAc;QACZ,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzD,CAAC;IAED,UAAU;QACR,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAEQ,MAAM,CAAC,QAAwB;QACtC,OAAO,IAAI,kBAAkB,CAC3B,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EACpC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAC5B,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CACpD,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,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;YAC9C,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC;SAC/D,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,wBAAyB,SAAQ,YAG7C;IACU,iBAAiB;QACxB,OAAO,2BAA2B,CAAC;IACrC,CAAC;IAED,WAAW,CACT,UAAwC,EACxC,OAA2B;QAE3B,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,mBAAmB,CACtD,UAAU,CAAC,QAAQ,CACpB,CAAC;QACF,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC9D,OAAO,IAAI,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC9D,CAAC;CACF"}
@@ -8,8 +8,8 @@ export type NbtWrapperRecipeDefinition = RecipeDefinition & Readonly<{
8
8
  export declare class NbtWrapperRecipe extends Recipe {
9
9
  private readonly recipe;
10
10
  constructor(recipe: RecipeHolder);
11
- getIngredients(): import("../../../common/ingredient/index.js").Ingredient[];
12
- getResults(): import("../../../common/result/index.js").Result[];
11
+ getIngredients(): import("../../../index.js").Ingredient[];
12
+ getResults(): import("../../../index.js").Result[];
13
13
  modify(modifier: RecipeModifier): NbtWrapperRecipe;
14
14
  serialize(context: RecipeParseContext): Partial<NbtWrapperRecipeDefinition>;
15
15
  }
@@ -1,4 +1,8 @@
1
+ import { type Result } from "../../../common/result/index.js";
1
2
  import BotaniaBlockRecipeParser, { type BotaniaBlockRecipeDefinition } from "./blocks.js";
2
3
  export type PureDaisyRecipeDefinition = BotaniaBlockRecipeDefinition;
3
4
  export declare class PureDaisyRecipeParser extends BotaniaBlockRecipeParser<PureDaisyRecipeDefinition> {
5
+ resultModules(): {
6
+ 15: import("../../../serializer/module.js").SerializerModule<Result, unknown>;
7
+ };
4
8
  }
@@ -1,4 +1,19 @@
1
+ import z from "zod";
2
+ import { IdSchema } from "../../../common/id.js";
3
+ import { BlockResult } from "../../../common/result/index.js";
4
+ import { isObjectWith } from "../../../serializer/checks.js";
5
+ import { createSerializerModule } from "../../../serializer/module.js";
1
6
  import BotaniaBlockRecipeParser, {} from "./blocks.js";
7
+ const resultSerializer15 = createSerializerModule((builder) => {
8
+ builder.register(BlockResult, isObjectWith("name"), z.object({
9
+ name: IdSchema,
10
+ }), ({ name }) => new BlockResult(name), ({ id }) => ({ name: id }));
11
+ });
2
12
  export class PureDaisyRecipeParser extends BotaniaBlockRecipeParser {
13
+ resultModules() {
14
+ return {
15
+ 15: resultSerializer15,
16
+ };
17
+ }
3
18
  }
4
19
  //# sourceMappingURL=pureDaisy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pureDaisy.js","sourceRoot":"","sources":["../../../../src/parser/recipe/botania/pureDaisy.ts"],"names":[],"mappings":"AAAA,OAAO,wBAAwB,EAAE,EAEhC,MAAM,aAAa,CAAC;AAIrB,MAAM,OAAO,qBAAsB,SAAQ,wBAAmD;CAAG"}
1
+ {"version":3,"file":"pureDaisy.js","sourceRoot":"","sources":["../../../../src/parser/recipe/botania/pureDaisy.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAe,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,wBAAwB,EAAE,EAEhC,MAAM,aAAa,CAAC;AAIrB,MAAM,kBAAkB,GAAG,sBAAsB,CAAS,CAAC,OAAO,EAAE,EAAE;IACpE,OAAO,CAAC,QAAQ,CACd,WAAW,EACX,YAAY,CAAC,MAAM,CAAC,EACpB,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,QAAQ;KACf,CAAC,EACF,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,EACnC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAC3B,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,OAAO,qBAAsB,SAAQ,wBAAmD;IACnF,aAAa;QACpB,OAAO;YACL,EAAE,EAAE,kBAAkB;SACvB,CAAC;IACJ,CAAC;CACF"}
@@ -6,6 +6,7 @@ import RecipeParser, { Recipe } from "../index.js";
6
6
  export type AssemblyRecipeDefinition = RecipeDefinition & Readonly<{
7
7
  ingredient: unknown;
8
8
  transitionalItem: unknown;
9
+ transitional_item: unknown;
9
10
  results: unknown[];
10
11
  loops?: number;
11
12
  sequence: RecipeDefinition[];
@@ -27,7 +27,7 @@ export class AssemblyRecipe extends Recipe {
27
27
  serialize(context) {
28
28
  return {
29
29
  ingredient: context.ingredients.serialize(this.ingredient),
30
- transitionalItem: context.ingredients.serialize(this.transitionalItem),
30
+ transitionalItem: context.results.serialize(this.transitionalItem.asResult()),
31
31
  results: context.results.serializeList(this.results),
32
32
  sequence: this.sequence.map((it) => context.recipes.serialize(it)),
33
33
  };
@@ -36,7 +36,10 @@ export class AssemblyRecipe extends Recipe {
36
36
  export class AssemblyRecipeParser extends RecipeParser {
37
37
  deserialize(definition, context) {
38
38
  const ingredient = context.ingredients.deserialize(definition.ingredient);
39
- const transitionalItem = context.ingredients.deserialize(definition.transitionalItem);
39
+ const rawTransitionalItem = definition.transitionalItem ?? definition.transitional_item;
40
+ const transitionalItem = context.results
41
+ .deserialize(rawTransitionalItem)
42
+ .asIngredient();
40
43
  const results = context.results.deserializeList(definition.results);
41
44
  const sequence = definition.sequence.map((it) => context.recipes.deserialize(it));
42
45
  return new AssemblyRecipe(ingredient, transitionalItem, results, sequence);