@windrosetools/windrosedata 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +120 -0
  3. package/data/alchemy.json +31 -0
  4. package/data/ammo.json +32 -0
  5. package/data/backpack.json +23 -0
  6. package/data/buildingElement.json +1757 -0
  7. package/data/cannon.json +11 -0
  8. package/data/crewEquipment.json +12 -0
  9. package/data/food.json +127 -0
  10. package/data/hullModification.json +12 -0
  11. package/data/item.json +44 -0
  12. package/data/medicine.json +30 -0
  13. package/data/metal.json +12 -0
  14. package/data/miscellaneous.json +100 -0
  15. package/data/resource.json +243 -0
  16. package/data/tool.json +52 -0
  17. package/dist/daos/alchemy.d.ts +23 -0
  18. package/dist/daos/alchemy.d.ts.map +1 -0
  19. package/dist/daos/alchemy.js +27 -0
  20. package/dist/daos/alchemy.js.map +1 -0
  21. package/dist/daos/ammo.d.ts +23 -0
  22. package/dist/daos/ammo.d.ts.map +1 -0
  23. package/dist/daos/ammo.js +27 -0
  24. package/dist/daos/ammo.js.map +1 -0
  25. package/dist/daos/backpack.d.ts +23 -0
  26. package/dist/daos/backpack.d.ts.map +1 -0
  27. package/dist/daos/backpack.js +27 -0
  28. package/dist/daos/backpack.js.map +1 -0
  29. package/dist/daos/buildingElement.d.ts +37 -0
  30. package/dist/daos/buildingElement.d.ts.map +1 -0
  31. package/dist/daos/buildingElement.js +34 -0
  32. package/dist/daos/buildingElement.js.map +1 -0
  33. package/dist/daos/cannon.d.ts +21 -0
  34. package/dist/daos/cannon.d.ts.map +1 -0
  35. package/dist/daos/cannon.js +26 -0
  36. package/dist/daos/cannon.js.map +1 -0
  37. package/dist/daos/crewEquipment.d.ts +21 -0
  38. package/dist/daos/crewEquipment.d.ts.map +1 -0
  39. package/dist/daos/crewEquipment.js +26 -0
  40. package/dist/daos/crewEquipment.js.map +1 -0
  41. package/dist/daos/food.d.ts +23 -0
  42. package/dist/daos/food.d.ts.map +1 -0
  43. package/dist/daos/food.js +27 -0
  44. package/dist/daos/food.js.map +1 -0
  45. package/dist/daos/helpers.d.ts +11 -0
  46. package/dist/daos/helpers.d.ts.map +1 -0
  47. package/dist/daos/helpers.js +34 -0
  48. package/dist/daos/helpers.js.map +1 -0
  49. package/dist/daos/hullModification.d.ts +21 -0
  50. package/dist/daos/hullModification.d.ts.map +1 -0
  51. package/dist/daos/hullModification.js +26 -0
  52. package/dist/daos/hullModification.js.map +1 -0
  53. package/dist/daos/item.d.ts +23 -0
  54. package/dist/daos/item.d.ts.map +1 -0
  55. package/dist/daos/item.js +27 -0
  56. package/dist/daos/item.js.map +1 -0
  57. package/dist/daos/medicine.d.ts +23 -0
  58. package/dist/daos/medicine.d.ts.map +1 -0
  59. package/dist/daos/medicine.js +27 -0
  60. package/dist/daos/medicine.js.map +1 -0
  61. package/dist/daos/metal.d.ts +19 -0
  62. package/dist/daos/metal.d.ts.map +1 -0
  63. package/dist/daos/metal.js +20 -0
  64. package/dist/daos/metal.js.map +1 -0
  65. package/dist/daos/metals.d.ts +19 -0
  66. package/dist/daos/metals.d.ts.map +1 -0
  67. package/dist/daos/metals.js +19 -0
  68. package/dist/daos/metals.js.map +1 -0
  69. package/dist/daos/miscellaneous.d.ts +23 -0
  70. package/dist/daos/miscellaneous.d.ts.map +1 -0
  71. package/dist/daos/miscellaneous.js +27 -0
  72. package/dist/daos/miscellaneous.js.map +1 -0
  73. package/dist/daos/requirements.d.ts +48 -0
  74. package/dist/daos/requirements.d.ts.map +1 -0
  75. package/dist/daos/requirements.js +242 -0
  76. package/dist/daos/requirements.js.map +1 -0
  77. package/dist/daos/resource.d.ts +23 -0
  78. package/dist/daos/resource.d.ts.map +1 -0
  79. package/dist/daos/resource.js +30 -0
  80. package/dist/daos/resource.js.map +1 -0
  81. package/dist/daos/resources.d.ts +24 -0
  82. package/dist/daos/resources.d.ts.map +1 -0
  83. package/dist/daos/resources.js +49 -0
  84. package/dist/daos/resources.js.map +1 -0
  85. package/dist/daos/tool.d.ts +23 -0
  86. package/dist/daos/tool.d.ts.map +1 -0
  87. package/dist/daos/tool.js +30 -0
  88. package/dist/daos/tool.js.map +1 -0
  89. package/dist/daos/tools.d.ts +24 -0
  90. package/dist/daos/tools.d.ts.map +1 -0
  91. package/dist/daos/tools.js +23 -0
  92. package/dist/daos/tools.js.map +1 -0
  93. package/dist/daos/validation.d.ts +2 -0
  94. package/dist/daos/validation.d.ts.map +1 -0
  95. package/dist/daos/validation.js +32 -0
  96. package/dist/daos/validation.js.map +1 -0
  97. package/dist/daos/versions.d.ts +18 -0
  98. package/dist/daos/versions.d.ts.map +1 -0
  99. package/dist/daos/versions.js +33 -0
  100. package/dist/daos/versions.js.map +1 -0
  101. package/dist/index.d.ts +25 -0
  102. package/dist/index.d.ts.map +1 -0
  103. package/dist/index.js +24 -0
  104. package/dist/index.js.map +1 -0
  105. package/dist/languages.d.ts +1757 -0
  106. package/dist/languages.d.ts.map +1 -0
  107. package/dist/languages.js +44 -0
  108. package/dist/languages.js.map +1 -0
  109. package/dist/types/BuildingElement.d.ts +7 -0
  110. package/dist/types/BuildingElement.d.ts.map +1 -0
  111. package/dist/types/BuildingElement.js +8 -0
  112. package/dist/types/BuildingElement.js.map +1 -0
  113. package/dist/types/Rarity.d.ts +3 -0
  114. package/dist/types/Rarity.d.ts.map +1 -0
  115. package/dist/types/Rarity.js +4 -0
  116. package/dist/types/Rarity.js.map +1 -0
  117. package/dist/unifiedItems.d.ts +27 -0
  118. package/dist/unifiedItems.d.ts.map +1 -0
  119. package/dist/unifiedItems.js +47 -0
  120. package/dist/unifiedItems.js.map +1 -0
  121. package/dist/versions.d.ts +21 -0
  122. package/dist/versions.d.ts.map +1 -0
  123. package/dist/versions.js +36 -0
  124. package/dist/versions.js.map +1 -0
  125. package/languages/source/alchemy.json +36 -0
  126. package/languages/source/ammo.json +36 -0
  127. package/languages/source/backpack.json +18 -0
  128. package/languages/source/buildingElement.json +1567 -0
  129. package/languages/source/cannon.json +10 -0
  130. package/languages/source/crewEquipment.json +11 -0
  131. package/languages/source/food.json +164 -0
  132. package/languages/source/hullModification.json +10 -0
  133. package/languages/source/item.json +50 -0
  134. package/languages/source/medicine.json +39 -0
  135. package/languages/source/metal.json +11 -0
  136. package/languages/source/miscellaneous.json +147 -0
  137. package/languages/source/resource.json +300 -0
  138. package/languages/source/tool.json +44 -0
  139. package/package.json +41 -0
@@ -0,0 +1,23 @@
1
+ import medicineData from "../../data/medicine.json";
2
+ import { Rarity } from "../types/Rarity";
3
+ import { MultiVersion } from "../versions";
4
+ import { RequirementEntry } from "./requirements";
5
+ type MedicineKey = keyof typeof medicineData;
6
+ type MedicineData<TRequired = number> = {
7
+ rarity: Rarity;
8
+ stackLimit: number;
9
+ required: Record<string, TRequired>;
10
+ };
11
+ type MedicineResolvedData = MedicineData<RequirementEntry>;
12
+ type MedicinesByVersion = MultiVersion<MedicineKey, Medicine>;
13
+ export declare class Medicine {
14
+ id: string;
15
+ rarity: Rarity;
16
+ stackLimit: number;
17
+ required: Record<string, RequirementEntry>;
18
+ constructor(id: string, data: MedicineResolvedData);
19
+ static loadMedicinesByVersion(): MedicinesByVersion;
20
+ }
21
+ export declare const Medicines: MedicinesByVersion;
22
+ export {};
23
+ //# sourceMappingURL=medicine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"medicine.d.ts","sourceRoot":"","sources":["../../src/daos/medicine.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,YAAY,EAAW,MAAM,aAAa,CAAC;AAEpD,OAAO,EAAE,gBAAgB,EAAoB,MAAM,gBAAgB,CAAC;AAEpE,KAAK,WAAW,GAAG,MAAM,OAAO,YAAY,CAAC;AAC7C,KAAK,YAAY,CAAC,SAAS,GAAG,MAAM,IAAI;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CACvC,CAAC;AAGF,KAAK,oBAAoB,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC;AAC3D,KAAK,kBAAkB,GAAG,YAAY,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AAE9D,qBAAa,QAAQ;IACV,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;gBAEtC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB;IAOlD,MAAM,CAAC,sBAAsB,IAAI,kBAAkB;CA6BtD;AAED,eAAO,MAAM,SAAS,EAAE,kBAAsD,CAAC"}
@@ -0,0 +1,27 @@
1
+ import medicineData from "../../data/medicine.json";
2
+ import { createVersionedRawStore, instantiateVersionedEntries, resolveVersionedRequirements } from "./helpers";
3
+ import { RequirementUtils } from "./requirements";
4
+ export class Medicine {
5
+ constructor(id, data) {
6
+ this.id = id;
7
+ this.rarity = data.rarity;
8
+ this.stackLimit = data.stackLimit;
9
+ this.required = data.required;
10
+ }
11
+ static loadMedicinesByVersion() {
12
+ const rawByVersion = createVersionedRawStore(medicineData);
13
+ const medicinesByVersion = instantiateVersionedEntries(rawByVersion, (id, data) => {
14
+ const { required: _required, ...baseData } = data;
15
+ return new Medicine(id, { ...baseData, required: {} });
16
+ });
17
+ RequirementUtils.registerLookupContext({
18
+ getMedicine: (id, version) => medicinesByVersion[version][id],
19
+ });
20
+ resolveVersionedRequirements(rawByVersion, medicinesByVersion, (data) => data.required, (medicine, required) => {
21
+ medicine.required = required ?? {};
22
+ }, RequirementUtils.createDefaultRequirementResolvers());
23
+ return medicinesByVersion;
24
+ }
25
+ }
26
+ export const Medicines = Medicine.loadMedicinesByVersion();
27
+ //# sourceMappingURL=medicine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"medicine.js","sourceRoot":"","sources":["../../src/daos/medicine.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,0BAA0B,CAAC;AAGpD,OAAO,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAC;AAC/G,OAAO,EAAoB,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAapE,MAAM,OAAO,QAAQ;IAMjB,YAAY,EAAU,EAAE,IAA0B;QAC9C,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAClC,CAAC;IAED,MAAM,CAAC,sBAAsB;QACzB,MAAM,YAAY,GAAG,uBAAuB,CACxC,YAA8E,CACjF,CAAC;QACF,MAAM,kBAAkB,GAAG,2BAA2B,CAClD,YAAY,EACZ,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE;YACT,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC;YAElD,OAAO,IAAI,QAAQ,CAAC,EAAE,EAAE,EAAE,GAAG,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3D,CAAC,CACkB,CAAC;QAExB,gBAAgB,CAAC,qBAAqB,CAAC;YACnC,WAAW,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,EAAiB,CAAC;SAC/E,CAAC,CAAC;QAEH,4BAA4B,CACxB,YAAY,EACZ,kBAAkB,EAClB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EACvB,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE;YACnB,QAAQ,CAAC,QAAQ,GAAG,QAAQ,IAAI,EAAE,CAAC;QACvC,CAAC,EACD,gBAAgB,CAAC,iCAAiC,EAAE,CACvD,CAAC;QAEF,OAAO,kBAAkB,CAAC;IAC9B,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,SAAS,GAAuB,QAAQ,CAAC,sBAAsB,EAAE,CAAC"}
@@ -0,0 +1,19 @@
1
+ import metalsData from "../../data/metal.json";
2
+ import { Rarity } from "../types/Rarity";
3
+ import { MultiVersion } from "../versions";
4
+ type MetalKey = keyof typeof metalsData;
5
+ type MetalData = {
6
+ rarity: Rarity;
7
+ stackLimit: number;
8
+ };
9
+ type MetalsByVersion = MultiVersion<MetalKey, Metal>;
10
+ export declare class Metal {
11
+ id: string;
12
+ rarity: Rarity;
13
+ stackLimit: number;
14
+ constructor(id: string, data: MetalData);
15
+ static loadMetalsByVersion(): MetalsByVersion;
16
+ }
17
+ export declare const Metals: MetalsByVersion;
18
+ export {};
19
+ //# sourceMappingURL=metal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metal.d.ts","sourceRoot":"","sources":["../../src/daos/metal.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,YAAY,EAAW,MAAM,aAAa,CAAC;AAIpD,KAAK,QAAQ,GAAG,MAAM,OAAO,UAAU,CAAC;AACxC,KAAK,SAAS,GAAG;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,KAAK,eAAe,GAAG,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAErD,qBAAa,KAAK;IACP,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;gBAEd,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS;IAMvC,MAAM,CAAC,mBAAmB,IAAI,eAAe;CAehD;AAED,eAAO,MAAM,MAAM,EAAE,eAA6C,CAAC"}
@@ -0,0 +1,20 @@
1
+ import metalsData from "../../data/metal.json";
2
+ import { createVersionedRawStore, instantiateVersionedEntries } from "./helpers";
3
+ import { RequirementUtils } from "./requirements";
4
+ export class Metal {
5
+ constructor(id, data) {
6
+ this.id = id;
7
+ this.rarity = data.rarity;
8
+ this.stackLimit = data.stackLimit;
9
+ }
10
+ static loadMetalsByVersion() {
11
+ const rawByVersion = createVersionedRawStore(metalsData);
12
+ const metalsByVersion = instantiateVersionedEntries(rawByVersion, (id, data) => new Metal(id, { ...data }));
13
+ RequirementUtils.registerLookupContext({
14
+ getMetal: (id, version) => metalsByVersion[version][id],
15
+ });
16
+ return metalsByVersion;
17
+ }
18
+ }
19
+ export const Metals = Metal.loadMetalsByVersion();
20
+ //# sourceMappingURL=metal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metal.js","sourceRoot":"","sources":["../../src/daos/metal.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAG/C,OAAO,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAUlD,MAAM,OAAO,KAAK;IAKd,YAAY,EAAU,EAAE,IAAe;QACnC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACtC,CAAC;IAED,MAAM,CAAC,mBAAmB;QACtB,MAAM,YAAY,GAAG,uBAAuB,CACxC,UAAmE,CACtE,CAAC;QACF,MAAM,eAAe,GAAG,2BAA2B,CAC/C,YAAY,EACZ,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,CACxB,CAAC;QAErB,gBAAgB,CAAC,qBAAqB,CAAC;YACnC,QAAQ,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,EAAc,CAAC;SACtE,CAAC,CAAC;QAEH,OAAO,eAAe,CAAC;IAC3B,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,MAAM,GAAoB,KAAK,CAAC,mBAAmB,EAAE,CAAC"}
@@ -0,0 +1,19 @@
1
+ import metalsData from "../../data/metal.json";
2
+ import { Rarity } from "../types/Rarity";
3
+ import { MultiVersion } from "../versions";
4
+ type MetalKey = keyof typeof metalsData;
5
+ type MetalData = {
6
+ rarity: Rarity;
7
+ stackLimit: number;
8
+ };
9
+ type MetalsByVersion = MultiVersion<MetalKey, Metal>;
10
+ export declare class Metal {
11
+ id: string;
12
+ rarity: Rarity;
13
+ stackLimit: number;
14
+ constructor(id: string, data: MetalData);
15
+ static loadMetalsByVersion(): MetalsByVersion;
16
+ }
17
+ export declare const Metals: MetalsByVersion;
18
+ export {};
19
+ //# sourceMappingURL=metals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metals.d.ts","sourceRoot":"","sources":["../../src/daos/metals.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAqB,YAAY,EAAc,MAAM,aAAa,CAAC;AAG1E,KAAK,QAAQ,GAAG,MAAM,OAAO,UAAU,CAAC;AACxC,KAAK,SAAS,GAAG;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,KAAK,eAAe,GAAG,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAErD,qBAAa,KAAK;IACP,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;gBAEd,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS;IAMvC,MAAM,CAAC,mBAAmB,IAAI,eAAe;CAYhD;AAED,eAAO,MAAM,MAAM,EAAE,eAA6C,CAAC"}
@@ -0,0 +1,19 @@
1
+ import metalsData from "../../data/metal.json";
2
+ import { loadVersionedData } from "../versions";
3
+ import { RequirementUtils } from "./requirements";
4
+ export class Metal {
5
+ constructor(id, data) {
6
+ this.id = id;
7
+ this.rarity = data.rarity;
8
+ this.stackLimit = data.stackLimit;
9
+ }
10
+ static loadMetalsByVersion() {
11
+ const metalsByVersion = loadVersionedData(metalsData, (id, data) => new Metal(id, { ...data }));
12
+ RequirementUtils.registerLookupContext({
13
+ getMetal: (id, version) => metalsByVersion[version][id],
14
+ });
15
+ return metalsByVersion;
16
+ }
17
+ }
18
+ export const Metals = Metal.loadMetalsByVersion();
19
+ //# sourceMappingURL=metals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metals.js","sourceRoot":"","sources":["../../src/daos/metals.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAE/C,OAAO,EAAE,iBAAiB,EAA4B,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAUlD,MAAM,OAAO,KAAK;IAKd,YAAY,EAAU,EAAE,IAAe;QACnC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACtC,CAAC;IAED,MAAM,CAAC,mBAAmB;QACtB,MAAM,eAAe,GAAG,iBAAiB,CACrC,UAAsE,EACtE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,CACxB,CAAC;QAErB,gBAAgB,CAAC,qBAAqB,CAAC;YACnC,QAAQ,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,EAAc,CAAC;SACtE,CAAC,CAAC;QAEH,OAAO,eAAe,CAAC;IAC3B,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,MAAM,GAAoB,KAAK,CAAC,mBAAmB,EAAE,CAAC"}
@@ -0,0 +1,23 @@
1
+ import miscellaneousData from "../../data/miscellaneous.json";
2
+ import { Rarity } from "../types/Rarity";
3
+ import { MultiVersion } from "../versions";
4
+ import { RequirementEntry } from "./requirements";
5
+ type MiscellaneousKey = keyof typeof miscellaneousData;
6
+ type MiscellaneousData<TRequired = number> = {
7
+ rarity: Rarity;
8
+ stackLimit: number;
9
+ required?: Record<string, TRequired>;
10
+ };
11
+ type MiscellaneousResolvedData = MiscellaneousData<RequirementEntry>;
12
+ type MiscellaneousItemsByVersion = MultiVersion<MiscellaneousKey, Miscellanies>;
13
+ export declare class Miscellanies {
14
+ id: string;
15
+ rarity: Rarity;
16
+ stackLimit: number;
17
+ required?: Record<string, RequirementEntry>;
18
+ constructor(id: string, data: MiscellaneousResolvedData);
19
+ static loadMiscellaneousItemsByVersion(): MiscellaneousItemsByVersion;
20
+ }
21
+ export declare const Miscellaneous: MiscellaneousItemsByVersion;
22
+ export {};
23
+ //# sourceMappingURL=miscellaneous.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"miscellaneous.d.ts","sourceRoot":"","sources":["../../src/daos/miscellaneous.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,YAAY,EAAW,MAAM,aAAa,CAAC;AAEpD,OAAO,EAAE,gBAAgB,EAAoB,MAAM,gBAAgB,CAAC;AAEpE,KAAK,gBAAgB,GAAG,MAAM,OAAO,iBAAiB,CAAC;AACvD,KAAK,iBAAiB,CAAC,SAAS,GAAG,MAAM,IAAI;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CACxC,CAAC;AAGF,KAAK,yBAAyB,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;AACrE,KAAK,2BAA2B,GAAG,YAAY,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;AAEhF,qBAAa,YAAY;IACd,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;gBAEvC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,yBAAyB;IAOvD,MAAM,CAAC,+BAA+B,IAAI,2BAA2B;CA6BxE;AAED,eAAO,MAAM,aAAa,EAAE,2BAA4E,CAAC"}
@@ -0,0 +1,27 @@
1
+ import miscellaneousData from "../../data/miscellaneous.json";
2
+ import { createVersionedRawStore, instantiateVersionedEntries, resolveVersionedRequirements } from "./helpers";
3
+ import { RequirementUtils } from "./requirements";
4
+ export class Miscellanies {
5
+ constructor(id, data) {
6
+ this.id = id;
7
+ this.rarity = data.rarity;
8
+ this.stackLimit = data.stackLimit;
9
+ this.required = data.required;
10
+ }
11
+ static loadMiscellaneousItemsByVersion() {
12
+ const rawByVersion = createVersionedRawStore(miscellaneousData);
13
+ const miscellaneousItemsByVersion = instantiateVersionedEntries(rawByVersion, (id, data) => {
14
+ const { required: _required, ...baseData } = data;
15
+ return new Miscellanies(id, baseData);
16
+ });
17
+ RequirementUtils.registerLookupContext({
18
+ getMiscellaneous: (id, version) => miscellaneousItemsByVersion[version][id],
19
+ });
20
+ resolveVersionedRequirements(rawByVersion, miscellaneousItemsByVersion, (data) => data.required, (miscellaneousItem, required) => {
21
+ miscellaneousItem.required = required;
22
+ }, RequirementUtils.createDefaultRequirementResolvers());
23
+ return miscellaneousItemsByVersion;
24
+ }
25
+ }
26
+ export const Miscellaneous = Miscellanies.loadMiscellaneousItemsByVersion();
27
+ //# sourceMappingURL=miscellaneous.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"miscellaneous.js","sourceRoot":"","sources":["../../src/daos/miscellaneous.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,+BAA+B,CAAC;AAG9D,OAAO,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAC;AAC/G,OAAO,EAAoB,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAapE,MAAM,OAAO,YAAY;IAMrB,YAAY,EAAU,EAAE,IAA+B;QACnD,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAClC,CAAC;IAED,MAAM,CAAC,+BAA+B;QAClC,MAAM,YAAY,GAAG,uBAAuB,CACxC,iBAA6F,CAChG,CAAC;QACF,MAAM,2BAA2B,GAAG,2BAA2B,CAC3D,YAAY,EACZ,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE;YACT,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC;YAElD,OAAO,IAAI,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC1C,CAAC,CAC2B,CAAC;QAEjC,gBAAgB,CAAC,qBAAqB,CAAC;YACnC,gBAAgB,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC,EAAsB,CAAC;SAClG,CAAC,CAAC;QAEH,4BAA4B,CACxB,YAAY,EACZ,2BAA2B,EAC3B,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EACvB,CAAC,iBAAiB,EAAE,QAAQ,EAAE,EAAE;YAC5B,iBAAiB,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC1C,CAAC,EACD,gBAAgB,CAAC,iCAAiC,EAAE,CACvD,CAAC;QAEF,OAAO,2BAA2B,CAAC;IACvC,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,aAAa,GAAgC,YAAY,CAAC,+BAA+B,EAAE,CAAC"}
@@ -0,0 +1,48 @@
1
+ import { MultiVersion, Version } from "../versions";
2
+ export type ResolvedRequirement = {
3
+ type: string;
4
+ value: unknown;
5
+ };
6
+ export type RequirementResolver = (id: string, version: Version) => ResolvedRequirement | undefined;
7
+ type RequirementLookupContext = {
8
+ getMetal?: (id: string, version: Version) => unknown;
9
+ getResource?: (id: string, version: Version) => unknown;
10
+ getTool?: (id: string, version: Version) => unknown;
11
+ getAlchemy?: (id: string, version: Version) => unknown;
12
+ getAmmo?: (id: string, version: Version) => unknown;
13
+ getBackpack?: (id: string, version: Version) => unknown;
14
+ getBuildingElement?: (id: string, version: Version) => unknown;
15
+ getCannon?: (id: string, version: Version) => unknown;
16
+ getCrewEquipment?: (id: string, version: Version) => unknown;
17
+ getFood?: (id: string, version: Version) => unknown;
18
+ getHullModification?: (id: string, version: Version) => unknown;
19
+ getItem?: (id: string, version: Version) => unknown;
20
+ getMedicine?: (id: string, version: Version) => unknown;
21
+ getMiscellaneous?: (id: string, version: Version) => unknown;
22
+ };
23
+ type CircularDependencyNode = {
24
+ id: string;
25
+ required?: Record<string, RequirementEntry>;
26
+ };
27
+ type CircularDependencyCollection = {
28
+ type: string;
29
+ entriesByVersion: MultiVersion<any, CircularDependencyNode>;
30
+ };
31
+ export type RequirementEntry = {
32
+ id: string;
33
+ amount: number;
34
+ resolved?: ResolvedRequirement;
35
+ };
36
+ export declare class RequirementUtils {
37
+ private static lookupContext;
38
+ private static trackedRequirementEntries;
39
+ static registerLookupContext(context: RequirementLookupContext): void;
40
+ static createDefaultRequirementResolvers(): RequirementResolver[];
41
+ static assertNoCircularDependencies(collections: CircularDependencyCollection[]): void;
42
+ static resolveRequirement(id: string, version: Version, resolvers: RequirementResolver[]): ResolvedRequirement | undefined;
43
+ static resolveRequiredEntries(required: Record<string, number>, version: Version, resolvers: RequirementResolver[]): Record<string, RequirementEntry>;
44
+ private static refreshTrackedRequirementEntries;
45
+ private static isCircularDependencyNode;
46
+ }
47
+ export {};
48
+ //# sourceMappingURL=requirements.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requirements.d.ts","sourceRoot":"","sources":["../../src/daos/requirements.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,242 @@
1
+ export class RequirementUtils {
2
+ static registerLookupContext(context) {
3
+ RequirementUtils.lookupContext = {
4
+ ...RequirementUtils.lookupContext,
5
+ ...context,
6
+ };
7
+ RequirementUtils.refreshTrackedRequirementEntries();
8
+ }
9
+ static createDefaultRequirementResolvers() {
10
+ return [
11
+ (id, version) => {
12
+ const metal = RequirementUtils.lookupContext.getMetal?.(id, version);
13
+ if (!metal) {
14
+ return undefined;
15
+ }
16
+ return {
17
+ type: "metal",
18
+ value: metal,
19
+ };
20
+ },
21
+ (id, version) => {
22
+ const resource = RequirementUtils.lookupContext.getResource?.(id, version);
23
+ if (!resource) {
24
+ return undefined;
25
+ }
26
+ return {
27
+ type: "resource",
28
+ value: resource,
29
+ };
30
+ },
31
+ (id, version) => {
32
+ const tool = RequirementUtils.lookupContext.getTool?.(id, version);
33
+ if (!tool) {
34
+ return undefined;
35
+ }
36
+ return {
37
+ type: "tool",
38
+ value: tool,
39
+ };
40
+ },
41
+ (id, version) => {
42
+ const alchemy = RequirementUtils.lookupContext.getAlchemy?.(id, version);
43
+ if (!alchemy) {
44
+ return undefined;
45
+ }
46
+ return {
47
+ type: "alchemy",
48
+ value: alchemy,
49
+ };
50
+ },
51
+ (id, version) => {
52
+ const ammo = RequirementUtils.lookupContext.getAmmo?.(id, version);
53
+ if (!ammo) {
54
+ return undefined;
55
+ }
56
+ return {
57
+ type: "ammo",
58
+ value: ammo,
59
+ };
60
+ },
61
+ (id, version) => {
62
+ const backpack = RequirementUtils.lookupContext.getBackpack?.(id, version);
63
+ if (!backpack) {
64
+ return undefined;
65
+ }
66
+ return {
67
+ type: "backpack",
68
+ value: backpack,
69
+ };
70
+ },
71
+ (id, version) => {
72
+ const buildingElement = RequirementUtils.lookupContext.getBuildingElement?.(id, version);
73
+ if (!buildingElement) {
74
+ return undefined;
75
+ }
76
+ return {
77
+ type: "buildingElement",
78
+ value: buildingElement,
79
+ };
80
+ },
81
+ (id, version) => {
82
+ const cannon = RequirementUtils.lookupContext.getCannon?.(id, version);
83
+ if (!cannon) {
84
+ return undefined;
85
+ }
86
+ return {
87
+ type: "cannon",
88
+ value: cannon,
89
+ };
90
+ },
91
+ (id, version) => {
92
+ const crewEquipment = RequirementUtils.lookupContext.getCrewEquipment?.(id, version);
93
+ if (!crewEquipment) {
94
+ return undefined;
95
+ }
96
+ return {
97
+ type: "crewEquipment",
98
+ value: crewEquipment,
99
+ };
100
+ },
101
+ (id, version) => {
102
+ const food = RequirementUtils.lookupContext.getFood?.(id, version);
103
+ if (!food) {
104
+ return undefined;
105
+ }
106
+ return {
107
+ type: "food",
108
+ value: food,
109
+ };
110
+ },
111
+ (id, version) => {
112
+ const hullModification = RequirementUtils.lookupContext.getHullModification?.(id, version);
113
+ if (!hullModification) {
114
+ return undefined;
115
+ }
116
+ return {
117
+ type: "hullModification",
118
+ value: hullModification,
119
+ };
120
+ },
121
+ (id, version) => {
122
+ const item = RequirementUtils.lookupContext.getItem?.(id, version);
123
+ if (!item) {
124
+ return undefined;
125
+ }
126
+ return {
127
+ type: "item",
128
+ value: item,
129
+ };
130
+ },
131
+ (id, version) => {
132
+ const medicine = RequirementUtils.lookupContext.getMedicine?.(id, version);
133
+ if (!medicine) {
134
+ return undefined;
135
+ }
136
+ return {
137
+ type: "medicine",
138
+ value: medicine,
139
+ };
140
+ },
141
+ (id, version) => {
142
+ const miscellaneous = RequirementUtils.lookupContext.getMiscellaneous?.(id, version);
143
+ if (!miscellaneous) {
144
+ return undefined;
145
+ }
146
+ return {
147
+ type: "miscellaneous",
148
+ value: miscellaneous,
149
+ };
150
+ },
151
+ ];
152
+ }
153
+ static assertNoCircularDependencies(collections) {
154
+ const versions = new Set();
155
+ for (const collection of collections) {
156
+ for (const version of Object.keys(collection.entriesByVersion)) {
157
+ versions.add(version);
158
+ }
159
+ }
160
+ for (const version of versions) {
161
+ const collectionsByType = new Map(collections.map((collection) => [collection.type, collection.entriesByVersion[version] ?? {}]));
162
+ const visited = new Set();
163
+ const visiting = new Set();
164
+ const path = [];
165
+ const visitNode = (type, node) => {
166
+ const key = `${type}:${node.id}`;
167
+ if (visiting.has(key)) {
168
+ const cycleStart = path.indexOf(key);
169
+ const cyclePath = [...path.slice(cycleStart), key].join(" -> ");
170
+ throw new Error(`Circular requirement dependency detected for ${version}: ${cyclePath}`);
171
+ }
172
+ if (visited.has(key)) {
173
+ return;
174
+ }
175
+ visiting.add(key);
176
+ path.push(key);
177
+ for (const entry of Object.values(node.required ?? {})) {
178
+ const resolved = entry.resolved;
179
+ if (!resolved || !RequirementUtils.isCircularDependencyNode(resolved.value)) {
180
+ continue;
181
+ }
182
+ const targetEntries = collectionsByType.get(resolved.type);
183
+ const targetNode = targetEntries?.[resolved.value.id];
184
+ if (targetNode) {
185
+ visitNode(resolved.type, targetNode);
186
+ }
187
+ }
188
+ path.pop();
189
+ visiting.delete(key);
190
+ visited.add(key);
191
+ };
192
+ for (const collection of collections) {
193
+ for (const node of Object.values(collection.entriesByVersion[version] ?? {})) {
194
+ if (node) {
195
+ visitNode(collection.type, node);
196
+ }
197
+ }
198
+ }
199
+ }
200
+ }
201
+ static resolveRequirement(id, version, resolvers) {
202
+ for (const resolver of resolvers) {
203
+ const resolved = resolver(id, version);
204
+ if (resolved) {
205
+ return resolved;
206
+ }
207
+ }
208
+ return undefined;
209
+ }
210
+ static resolveRequiredEntries(required, version, resolvers) {
211
+ const resolvedRequired = {};
212
+ for (const [id, amount] of Object.entries(required)) {
213
+ resolvedRequired[id] = {
214
+ id,
215
+ amount,
216
+ resolved: RequirementUtils.resolveRequirement(id, version, resolvers),
217
+ };
218
+ }
219
+ RequirementUtils.trackedRequirementEntries.push({
220
+ version,
221
+ entries: resolvedRequired,
222
+ });
223
+ return resolvedRequired;
224
+ }
225
+ static refreshTrackedRequirementEntries() {
226
+ const resolvers = RequirementUtils.createDefaultRequirementResolvers();
227
+ for (const tracked of RequirementUtils.trackedRequirementEntries) {
228
+ for (const entry of Object.values(tracked.entries)) {
229
+ entry.resolved = RequirementUtils.resolveRequirement(entry.id, tracked.version, resolvers);
230
+ }
231
+ }
232
+ }
233
+ static isCircularDependencyNode(value) {
234
+ return typeof value === "object"
235
+ && value !== null
236
+ && "id" in value
237
+ && typeof value.id === "string";
238
+ }
239
+ }
240
+ RequirementUtils.lookupContext = {};
241
+ RequirementUtils.trackedRequirementEntries = [];
242
+ //# sourceMappingURL=requirements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requirements.js","sourceRoot":"","sources":["../../src/daos/requirements.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import resourcesData from "../../data/resource.json";
2
+ import { Rarity } from "../types/Rarity";
3
+ import { MultiVersion } from "../versions";
4
+ import { RequirementEntry } from "./requirements";
5
+ type ResourceKey = keyof typeof resourcesData;
6
+ type ResourceData<TRequired = number> = {
7
+ rarity: Rarity;
8
+ stackLimit: number;
9
+ required?: Record<string, TRequired>;
10
+ };
11
+ type ResourceResolvedData = ResourceData<RequirementEntry>;
12
+ type ResourcesByVersion = MultiVersion<ResourceKey, Resource>;
13
+ export declare class Resource {
14
+ id: string;
15
+ rarity: Rarity;
16
+ stackLimit: number;
17
+ required?: Record<string, RequirementEntry>;
18
+ constructor(id: string, data: ResourceResolvedData);
19
+ static loadResourcesByVersion(): ResourcesByVersion;
20
+ }
21
+ export declare const Resources: ResourcesByVersion;
22
+ export {};
23
+ //# sourceMappingURL=resource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/daos/resource.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,YAAY,EAAW,MAAM,aAAa,CAAC;AAEpD,OAAO,EAAE,gBAAgB,EAAoB,MAAM,gBAAgB,CAAC;AAEpE,KAAK,WAAW,GAAG,MAAM,OAAO,aAAa,CAAC;AAC9C,KAAK,YAAY,CAAC,SAAS,GAAG,MAAM,IAAI;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CACrC,CAAC;AAEF,KAAK,oBAAoB,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC;AAE3D,KAAK,kBAAkB,GAAG,YAAY,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AAE9D,qBAAa,QAAQ;IACb,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;gBAEvC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB;IAOlD,MAAM,CAAC,sBAAsB,IAAI,kBAAkB;CAiCnD;AAED,eAAO,MAAM,SAAS,EAAE,kBAAsD,CAAC"}
@@ -0,0 +1,30 @@
1
+ import resourcesData from "../../data/resource.json";
2
+ import { createVersionedRawStore, instantiateVersionedEntries, resolveVersionedRequirements } from "./helpers";
3
+ import { RequirementUtils } from "./requirements";
4
+ export class Resource {
5
+ constructor(id, data) {
6
+ this.id = id;
7
+ this.rarity = data.rarity;
8
+ this.stackLimit = data.stackLimit;
9
+ this.required = data.required;
10
+ }
11
+ static loadResourcesByVersion() {
12
+ const rawByVersion = createVersionedRawStore(resourcesData);
13
+ const resourcesByVersion = instantiateVersionedEntries(rawByVersion, (id, data) => {
14
+ const { required: _required, ...baseData } = data;
15
+ return new Resource(id, baseData);
16
+ });
17
+ RequirementUtils.registerLookupContext({
18
+ getResource: (id, version) => resourcesByVersion[version][id],
19
+ });
20
+ const resolvers = [
21
+ ...RequirementUtils.createDefaultRequirementResolvers(),
22
+ ];
23
+ resolveVersionedRequirements(rawByVersion, resourcesByVersion, (data) => data.required, (resource, required) => {
24
+ resource.required = required;
25
+ }, resolvers);
26
+ return resourcesByVersion;
27
+ }
28
+ }
29
+ export const Resources = Resource.loadResourcesByVersion();
30
+ //# sourceMappingURL=resource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource.js","sourceRoot":"","sources":["../../src/daos/resource.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,0BAA0B,CAAC;AAGrD,OAAO,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAC;AAC/G,OAAO,EAAoB,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAapE,MAAM,OAAO,QAAQ;IAMpB,YAAY,EAAU,EAAE,IAA0B;QACjD,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,sBAAsB;QAC5B,MAAM,YAAY,GAAG,uBAAuB,CAC3C,aAA+E,CAC/E,CAAC;QACF,MAAM,kBAAkB,GAAG,2BAA2B,CACrD,YAAY,EACZ,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE;YACZ,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC;YAElD,OAAO,IAAI,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QACnC,CAAC,CACqB,CAAC;QAExB,gBAAgB,CAAC,qBAAqB,CAAC;YACtC,WAAW,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,EAAiB,CAAC;SAC5E,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG;YACjB,GAAG,gBAAgB,CAAC,iCAAiC,EAAE;SACvD,CAAC;QAEF,4BAA4B,CAC3B,YAAY,EACZ,kBAAkB,EAClB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EACvB,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE;YACtB,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC9B,CAAC,EACD,SAAS,CACT,CAAC;QAEF,OAAO,kBAAkB,CAAC;IAC3B,CAAC;CACD;AAED,MAAM,CAAC,MAAM,SAAS,GAAuB,QAAQ,CAAC,sBAAsB,EAAE,CAAC"}
@@ -0,0 +1,24 @@
1
+ import resourcesData from "../../data/resource.json";
2
+ import { Rarity } from "../types/Rarity";
3
+ import "./metals";
4
+ import { MultiVersion } from "../versions";
5
+ import { RequirementEntry } from "./requirements";
6
+ type ResourceKey = keyof typeof resourcesData;
7
+ type ResourceData<TRequired = number> = {
8
+ rarity: Rarity;
9
+ stackLimit: number;
10
+ required?: Record<string, TRequired>;
11
+ };
12
+ type ResourceResolvedData = ResourceData<RequirementEntry>;
13
+ type ResourcesByVersion = MultiVersion<ResourceKey, Resource>;
14
+ export declare class Resource {
15
+ id: string;
16
+ rarity: Rarity;
17
+ stackLimit: number;
18
+ required?: Record<string, RequirementEntry>;
19
+ constructor(id: string, data: ResourceResolvedData);
20
+ static loadResourcesByVersion(): ResourcesByVersion;
21
+ }
22
+ export declare const Resources: ResourcesByVersion;
23
+ export {};
24
+ //# sourceMappingURL=resources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../src/daos/resources.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,UAAU,CAAC;AAClB,OAAO,EAAqB,YAAY,EAAc,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAoB,MAAM,gBAAgB,CAAC;AAEpE,KAAK,WAAW,GAAG,MAAM,OAAO,aAAa,CAAC;AAC9C,KAAK,YAAY,CAAC,SAAS,GAAG,MAAM,IAAI;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CACrC,CAAC;AAEF,KAAK,oBAAoB,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC;AAM3D,KAAK,kBAAkB,GAAG,YAAY,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AAE9D,qBAAa,QAAQ;IACb,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;gBAEvC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB;IAOlD,MAAM,CAAC,sBAAsB,IAAI,kBAAkB;CAgDnD;AAED,eAAO,MAAM,SAAS,EAAE,kBAAsD,CAAC"}