@dchighs/dc-config-mapper 0.1.4 → 0.2.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 (38) hide show
  1. package/dist/enums/reward-acronym.enum.d.ts +29 -0
  2. package/dist/enums/reward-acronym.enum.js +33 -0
  3. package/dist/enums/reward-type.enum.d.ts +10 -0
  4. package/dist/enums/reward-type.enum.js +14 -0
  5. package/dist/mappers/chest.mapper.d.ts +7 -7
  6. package/dist/mappers/heroic-races.mapper.d.ts +9 -9
  7. package/dist/mappers/index.d.ts +1 -0
  8. package/dist/mappers/index.js +1 -0
  9. package/dist/mappers/maze-islands.mapper.d.ts +10 -16
  10. package/dist/mappers/tower-islands.mapper.d.ts +102 -0
  11. package/dist/mappers/tower-islands.mapper.js +33 -0
  12. package/dist/schemas/chests/chest.schema.d.ts +21 -21
  13. package/dist/schemas/chests/reward.schema.d.ts +7 -8
  14. package/dist/schemas/chests/reward.schema.js +2 -48
  15. package/dist/schemas/islands/heroic-races/reward.schema.d.ts +9 -10
  16. package/dist/schemas/islands/heroic-races/reward.schema.js +2 -17
  17. package/dist/schemas/islands/maze-islands/island.schema.d.ts +1 -0
  18. package/dist/schemas/islands/maze-islands/island.schema.js +1 -0
  19. package/dist/schemas/islands/maze-islands/node.schema.d.ts +9 -17
  20. package/dist/schemas/islands/maze-islands/node.schema.js +2 -29
  21. package/dist/schemas/islands/tower-islands/floor.schema.d.ts +29 -0
  22. package/dist/schemas/islands/tower-islands/floor.schema.js +25 -0
  23. package/dist/schemas/islands/tower-islands/island.schema.d.ts +98 -0
  24. package/dist/schemas/islands/tower-islands/island.schema.js +71 -0
  25. package/dist/schemas/islands/tower-islands/reward.schema.d.ts +25 -0
  26. package/dist/schemas/islands/tower-islands/reward.schema.js +23 -0
  27. package/dist/schemas/islands/tower-islands/square.schema.d.ts +51 -0
  28. package/dist/schemas/islands/tower-islands/square.schema.js +34 -0
  29. package/dist/schemas/items/building.schema.js +2 -24
  30. package/dist/schemas/items/deco.schema.js +2 -24
  31. package/dist/schemas/items/dragon.schema.js +6 -28
  32. package/dist/utils/index.d.ts +2 -0
  33. package/dist/utils/index.js +2 -0
  34. package/dist/utils/process-price.util.d.ts +4 -0
  35. package/dist/utils/process-price.util.js +25 -0
  36. package/dist/utils/process-rewards.util.d.ts +17 -0
  37. package/dist/utils/process-rewards.util.js +67 -0
  38. package/package.json +2 -1
@@ -0,0 +1,29 @@
1
+ export declare enum RewardAcronym {
2
+ Chest = "chest",
3
+ Dragon = "egg",
4
+ Gold = "g",
5
+ Gem = "c",
6
+ Food = "f",
7
+ Building = "b",
8
+ TerraToken = "e_token",
9
+ FlameToken = "f_token",
10
+ SeaToken = "w_token",
11
+ NatureToken = "p_token",
12
+ ElectricToken = "el_token",
13
+ IceToken = "i_token",
14
+ MetalToken = "m_token",
15
+ DarkToken = "d_token",
16
+ LightToken = "li_token",
17
+ WarToken = "wr_token",
18
+ PureToken = "pu_token",
19
+ LegendToken = "l_token",
20
+ PrimalToken = "pr_token",
21
+ WindToken = "wd_token",
22
+ TimeToken = "ti_token",
23
+ HappyToken = "hp_token",
24
+ ChaosToken = "ch_token",
25
+ MagicToken = "mg_token",
26
+ SoulToken = "so_token",
27
+ BeautyToken = "bt_token",
28
+ DreamToken = "dr_token"
29
+ }
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RewardAcronym = void 0;
4
+ var RewardAcronym;
5
+ (function (RewardAcronym) {
6
+ RewardAcronym["Chest"] = "chest";
7
+ RewardAcronym["Dragon"] = "egg";
8
+ RewardAcronym["Gold"] = "g";
9
+ RewardAcronym["Gem"] = "c";
10
+ RewardAcronym["Food"] = "f";
11
+ RewardAcronym["Building"] = "b";
12
+ RewardAcronym["TerraToken"] = "e_token";
13
+ RewardAcronym["FlameToken"] = "f_token";
14
+ RewardAcronym["SeaToken"] = "w_token";
15
+ RewardAcronym["NatureToken"] = "p_token";
16
+ RewardAcronym["ElectricToken"] = "el_token";
17
+ RewardAcronym["IceToken"] = "i_token";
18
+ RewardAcronym["MetalToken"] = "m_token";
19
+ RewardAcronym["DarkToken"] = "d_token";
20
+ RewardAcronym["LightToken"] = "li_token";
21
+ RewardAcronym["WarToken"] = "wr_token";
22
+ RewardAcronym["PureToken"] = "pu_token";
23
+ RewardAcronym["LegendToken"] = "l_token";
24
+ RewardAcronym["PrimalToken"] = "pr_token";
25
+ RewardAcronym["WindToken"] = "wd_token";
26
+ RewardAcronym["TimeToken"] = "ti_token";
27
+ RewardAcronym["HappyToken"] = "hp_token";
28
+ RewardAcronym["ChaosToken"] = "ch_token";
29
+ RewardAcronym["MagicToken"] = "mg_token";
30
+ RewardAcronym["SoulToken"] = "so_token";
31
+ RewardAcronym["BeautyToken"] = "bt_token";
32
+ RewardAcronym["DreamToken"] = "dr_token";
33
+ })(RewardAcronym || (exports.RewardAcronym = RewardAcronym = {}));
@@ -0,0 +1,10 @@
1
+ export declare enum RewardType {
2
+ Chest = "chest",
3
+ Dragon = "dragon",
4
+ Building = "building",
5
+ Gold = "gold",
6
+ Gem = "gem",
7
+ Food = "food",
8
+ HabitatToken = "habitat_token",
9
+ IslandCoin = "island_coin"
10
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RewardType = void 0;
4
+ var RewardType;
5
+ (function (RewardType) {
6
+ RewardType["Chest"] = "chest";
7
+ RewardType["Dragon"] = "dragon";
8
+ RewardType["Building"] = "building";
9
+ RewardType["Gold"] = "gold";
10
+ RewardType["Gem"] = "gem";
11
+ RewardType["Food"] = "food";
12
+ RewardType["HabitatToken"] = "habitat_token";
13
+ RewardType["IslandCoin"] = "island_coin";
14
+ })(RewardType || (exports.RewardType = RewardType = {}));
@@ -12,13 +12,13 @@ export declare class ChestsMapper {
12
12
  id: number;
13
13
  reward: {
14
14
  resource: {
15
- type: import("../enums/reward-resource-type.enum").RewardResourceType;
16
- amount: number;
17
- element?: undefined;
18
- } | {
19
- type: import("../enums/reward-resource-type.enum").RewardResourceType;
20
- element: import("@dchighs/dc-core").DragonElement;
21
- amount: never;
15
+ type: import("../enums/reward-type.enum").RewardType;
16
+ element?: import("@dchighs/dc-core").DragonElement;
17
+ amount?: number;
18
+ chest_id?: number;
19
+ dragon_id?: number;
20
+ dragon_ids?: number[];
21
+ building_id?: number;
22
22
  } | undefined;
23
23
  building_ids: number[] | undefined;
24
24
  eggs_ids: number[] | undefined;
@@ -32,15 +32,15 @@ export declare class HeroicRacesMapper {
32
32
  rewards: {
33
33
  id: number;
34
34
  positions: number[];
35
- rewards: ({
36
- type: import("../enums/reward-resource-type.enum").RewardResourceType;
37
- amount: number;
38
- dragon_ids?: undefined;
39
- } | {
40
- type: import("../enums/reward-resource-type.enum").RewardResourceType;
41
- dragon_ids: number[];
42
- amount?: undefined;
43
- })[];
35
+ reward: {
36
+ type: import("../enums/reward-type.enum").RewardType;
37
+ element?: import("@dchighs/dc-core").DragonElement;
38
+ amount?: number;
39
+ chest_id?: number;
40
+ dragon_id?: number;
41
+ dragon_ids?: number[];
42
+ building_id?: number;
43
+ }[];
44
44
  }[];
45
45
  encounters: {
46
46
  id: number;
@@ -3,3 +3,4 @@ export * from "./items.mapper";
3
3
  export * from "./skills.mapper";
4
4
  export * from "./heroic-races.mapper";
5
5
  export * from "./maze-islands.mapper";
6
+ export * from "./tower-islands.mapper";
@@ -19,3 +19,4 @@ __exportStar(require("./items.mapper"), exports);
19
19
  __exportStar(require("./skills.mapper"), exports);
20
20
  __exportStar(require("./heroic-races.mapper"), exports);
21
21
  __exportStar(require("./maze-islands.mapper"), exports);
22
+ __exportStar(require("./tower-islands.mapper"), exports);
@@ -86,6 +86,7 @@ export declare class MazeIslandsMapper {
86
86
  islands: import("@dchighs/dc-localization/dist/types").Translated<{
87
87
  id: number;
88
88
  name: string;
89
+ name_key: string;
89
90
  availability: {
90
91
  from: string;
91
92
  to: string;
@@ -105,22 +106,15 @@ export declare class MazeIslandsMapper {
105
106
  nodes: import("@dchighs/dc-localization/dist/types").Translated<{
106
107
  id: number;
107
108
  cost: number;
108
- rewards: ({
109
- type: import("../enums/reward-resource-type.enum").RewardResourceType;
110
- amount: number;
111
- chest_id?: undefined;
112
- building_id?: undefined;
113
- } | {
114
- type: import("../enums/reward-resource-type.enum").RewardResourceType;
115
- chest_id: number;
116
- amount?: undefined;
117
- building_id?: undefined;
118
- } | {
119
- type: import("../enums/reward-resource-type.enum").RewardResourceType;
120
- building_id: number;
121
- amount?: undefined;
122
- chest_id?: undefined;
123
- })[] | undefined;
109
+ rewards: {
110
+ type: import("../enums/reward-type.enum").RewardType;
111
+ element?: import("@dchighs/dc-core").DragonElement;
112
+ amount?: number;
113
+ chest_id?: number;
114
+ dragon_id?: number;
115
+ dragon_ids?: number[];
116
+ building_id?: number;
117
+ }[] | undefined;
124
118
  is_highlighted: boolean | undefined;
125
119
  key_path_id: number | undefined;
126
120
  encounter_id: number | undefined;
@@ -0,0 +1,102 @@
1
+ import { Localization } from "@dchighs/dc-localization";
2
+ import { GameConfigDto } from "@dchighs/dc-config";
3
+ export type TowerIslandsDto = GameConfigDto["game_data"]["config"]["tower_island"];
4
+ export declare class TowerIslandsMapper {
5
+ readonly localization: Localization;
6
+ constructor(localization: Localization);
7
+ map(data: TowerIslandsDto): {
8
+ islands: import("@dchighs/dc-localization/dist/types").Translated<{
9
+ id: number;
10
+ name_key: string;
11
+ availability: {
12
+ from: string;
13
+ to: string;
14
+ };
15
+ initial_square_id: number;
16
+ pool: {
17
+ size: number;
18
+ time: number;
19
+ };
20
+ initial_points: number;
21
+ currency_id: number;
22
+ min_level: number;
23
+ tower_size: number[];
24
+ zip_file_name: string;
25
+ sound_tag: string;
26
+ max_die_roll: number;
27
+ help_view_id: number;
28
+ square_ids: number[];
29
+ floor_ids: number[];
30
+ }>[];
31
+ floors: import("@dchighs/dc-localization/dist/types").Translated<{
32
+ id: number;
33
+ y: number;
34
+ x_flip: boolean;
35
+ floor_image: string;
36
+ area: number;
37
+ roll_die_price: number;
38
+ }>[];
39
+ squares: import("@dchighs/dc-localization/dist/types").Translated<{
40
+ id: number;
41
+ type: string;
42
+ is_highlight: boolean;
43
+ x: number;
44
+ y: number;
45
+ ixy: string;
46
+ rewards: {
47
+ type: import("../enums/reward-type.enum").RewardType;
48
+ element?: import("@dchighs/dc-core").DragonElement;
49
+ amount?: number;
50
+ chest_id?: number;
51
+ dragon_id?: number;
52
+ dragon_ids?: number[];
53
+ building_id?: number;
54
+ }[] | null;
55
+ wall: string | undefined;
56
+ catapult_destination_square_id: number | undefined;
57
+ piece_reward_id: number | undefined;
58
+ }>[];
59
+ rewards: import("@dchighs/dc-localization/dist/types").Translated<{
60
+ id: number;
61
+ dragon_id: number;
62
+ last_piece_cost: number;
63
+ pieces_count: number;
64
+ show_new_badge: boolean;
65
+ area: number;
66
+ }>[];
67
+ happy_hours: import("@dchighs/dc-localization/dist/types").Translated<{
68
+ id: number;
69
+ availability: {
70
+ from: number;
71
+ to: number;
72
+ };
73
+ island_id: number;
74
+ discount: number;
75
+ }>[];
76
+ parameters: import("@dchighs/dc-localization/dist/types").Translated<{
77
+ id: number;
78
+ name: string;
79
+ value: any;
80
+ }>[];
81
+ currencies: import("@dchighs/dc-localization/dist/types").Translated<{
82
+ id: number;
83
+ tid_name: string;
84
+ actions: Array<number>;
85
+ }>[];
86
+ actions: import("@dchighs/dc-localization/dist/types").Translated<{
87
+ id: number;
88
+ type: string;
89
+ tid_name: string;
90
+ image: string;
91
+ pool_percent: number;
92
+ max_points: number;
93
+ extra_parameters?: {
94
+ max_time?: number;
95
+ cooldown?: number;
96
+ max_control_level?: number;
97
+ max_production?: number;
98
+ max_level?: number;
99
+ };
100
+ }>[];
101
+ };
102
+ }
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TowerIslandsMapper = void 0;
4
+ const island_schema_1 = require("../schemas/islands/tower-islands/island.schema");
5
+ const square_schema_1 = require("../schemas/islands/tower-islands/square.schema");
6
+ const floor_schema_1 = require("../schemas/islands/tower-islands/floor.schema");
7
+ const reward_schema_1 = require("../schemas/islands/tower-islands/reward.schema");
8
+ class TowerIslandsMapper {
9
+ constructor(localization) {
10
+ this.localization = localization;
11
+ }
12
+ map(data) {
13
+ return {
14
+ islands: data.islands.map(island => {
15
+ const squareIds = data.squares.filter(square => square.island_id === island.id).map(square => square.id);
16
+ const floorIds = data.floors.filter(floor => floor.island_id === island.id).map(floor => floor.id);
17
+ return this.localization.translate(island_schema_1.towerIslandSchema.parse({
18
+ ...island,
19
+ square_ids: squareIds,
20
+ floor_ids: floorIds
21
+ }));
22
+ }),
23
+ floors: data.floors.map(floor => this.localization.translate(floor_schema_1.towerIslandsFloorSchema.parse(floor))),
24
+ squares: data.squares.map(square => this.localization.translate(square_schema_1.towerIslandsSquareSchema.parse(square))),
25
+ rewards: data.rewards.map(reward => this.localization.translate(reward_schema_1.towerIslandsRewardSchema.parse(reward))),
26
+ happy_hours: data.happy_hours.map(happyHour => this.localization.translate(happyHour)),
27
+ parameters: data.parameters.map(parameter => this.localization.translate(parameter)),
28
+ currencies: data.currencies.map(currency => this.localization.translate(currency)),
29
+ actions: data.actions.map(action => this.localization.translate(action)),
30
+ };
31
+ }
32
+ }
33
+ exports.TowerIslandsMapper = TowerIslandsMapper;
@@ -49,13 +49,13 @@ export declare const chestSchema: z.ZodPipe<z.ZodObject<{
49
49
  id: number;
50
50
  reward: {
51
51
  resource: {
52
- type: import("../../enums/reward-resource-type.enum").RewardResourceType;
53
- amount: number;
54
- element?: undefined;
55
- } | {
56
- type: import("../../enums/reward-resource-type.enum").RewardResourceType;
57
- element: import("@dchighs/dc-core").DragonElement;
58
- amount: never;
52
+ type: import("../../enums/reward-type.enum").RewardType;
53
+ element?: import("@dchighs/dc-core").DragonElement;
54
+ amount?: number;
55
+ chest_id?: number;
56
+ dragon_id?: number;
57
+ dragon_ids?: number[];
58
+ building_id?: number;
59
59
  } | undefined;
60
60
  building_ids: number[] | undefined;
61
61
  eggs_ids: number[] | undefined;
@@ -137,13 +137,13 @@ export declare const chestSchema: z.ZodPipe<z.ZodObject<{
137
137
  id: number;
138
138
  reward: {
139
139
  resource: {
140
- type: import("../../enums/reward-resource-type.enum").RewardResourceType;
141
- amount: number;
142
- element?: undefined;
143
- } | {
144
- type: import("../../enums/reward-resource-type.enum").RewardResourceType;
145
- element: import("@dchighs/dc-core").DragonElement;
146
- amount: never;
140
+ type: import("../../enums/reward-type.enum").RewardType;
141
+ element?: import("@dchighs/dc-core").DragonElement;
142
+ amount?: number;
143
+ chest_id?: number;
144
+ dragon_id?: number;
145
+ dragon_ids?: number[];
146
+ building_id?: number;
147
147
  } | undefined;
148
148
  building_ids: number[] | undefined;
149
149
  eggs_ids: number[] | undefined;
@@ -181,13 +181,13 @@ export declare const chestSchema: z.ZodPipe<z.ZodObject<{
181
181
  id: number;
182
182
  reward: {
183
183
  resource: {
184
- type: import("../../enums/reward-resource-type.enum").RewardResourceType;
185
- amount: number;
186
- element?: undefined;
187
- } | {
188
- type: import("../../enums/reward-resource-type.enum").RewardResourceType;
189
- element: import("@dchighs/dc-core").DragonElement;
190
- amount: never;
184
+ type: import("../../enums/reward-type.enum").RewardType;
185
+ element?: import("@dchighs/dc-core").DragonElement;
186
+ amount?: number;
187
+ chest_id?: number;
188
+ dragon_id?: number;
189
+ dragon_ids?: number[];
190
+ building_id?: number;
191
191
  } | undefined;
192
192
  building_ids: number[] | undefined;
193
193
  eggs_ids: number[] | undefined;
@@ -1,5 +1,4 @@
1
1
  import { z } from "zod";
2
- import { RewardResourceType } from "../../enums/reward-resource-type.enum";
3
2
  export declare const chestRewardSchema: z.ZodPipe<z.ZodObject<{
4
3
  id: z.ZodNumber;
5
4
  reward: z.ZodObject<{
@@ -47,13 +46,13 @@ export declare const chestRewardSchema: z.ZodPipe<z.ZodObject<{
47
46
  id: number;
48
47
  reward: {
49
48
  resource: {
50
- type: RewardResourceType;
51
- amount: number;
52
- element?: undefined;
53
- } | {
54
- type: RewardResourceType;
55
- element: import("@dchighs/dc-core").DragonElement;
56
- amount: never;
49
+ type: import("../../enums/reward-type.enum").RewardType;
50
+ element?: import("@dchighs/dc-core").DragonElement;
51
+ amount?: number;
52
+ chest_id?: number;
53
+ dragon_id?: number;
54
+ dragon_ids?: number[];
55
+ building_id?: number;
57
56
  } | undefined;
58
57
  building_ids: number[] | undefined;
59
58
  eggs_ids: number[] | undefined;
@@ -2,53 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.chestRewardSchema = void 0;
4
4
  const zod_1 = require("zod");
5
- const reward_resource_type_enum_1 = require("../../enums/reward-resource-type.enum");
6
- const element_map_util_1 = require("../../utils/element-map.util");
7
- function processReward(rewardResource) {
8
- if (!rewardResource) {
9
- return;
10
- }
11
- if (rewardResource === null || rewardResource === void 0 ? void 0 : rewardResource.c) {
12
- return {
13
- type: reward_resource_type_enum_1.RewardResourceType.Gem,
14
- amount: rewardResource.c,
15
- };
16
- }
17
- if (rewardResource === null || rewardResource === void 0 ? void 0 : rewardResource.f) {
18
- return {
19
- type: reward_resource_type_enum_1.RewardResourceType.Food,
20
- amount: rewardResource.f,
21
- };
22
- }
23
- if (rewardResource === null || rewardResource === void 0 ? void 0 : rewardResource.g) {
24
- return {
25
- type: reward_resource_type_enum_1.RewardResourceType.Gold,
26
- amount: rewardResource.g,
27
- };
28
- }
29
- const tokenKey = Object.keys(rewardResource).find((key) => key.endsWith("_token"));
30
- if (tokenKey) {
31
- const elementAcronym = tokenKey.replace("_token", "");
32
- return {
33
- type: reward_resource_type_enum_1.RewardResourceType.HabitatToken,
34
- element: element_map_util_1.elementMap[elementAcronym],
35
- amount: rewardResource[tokenKey],
36
- };
37
- }
38
- if (rewardResource === null || rewardResource === void 0 ? void 0 : rewardResource.ep) {
39
- return {
40
- type: reward_resource_type_enum_1.RewardResourceType.IslandCoin,
41
- amount: rewardResource.ep,
42
- };
43
- }
44
- if (rewardResource === null || rewardResource === void 0 ? void 0 : rewardResource.x) {
45
- return {
46
- type: reward_resource_type_enum_1.RewardResourceType.Xp,
47
- amount: rewardResource.x,
48
- };
49
- }
50
- throw new Error(`Invalid reward resource: ${JSON.stringify(rewardResource)}`);
51
- }
5
+ const utils_1 = require("../../utils");
52
6
  exports.chestRewardSchema = zod_1.z.object({
53
7
  id: zod_1.z.number(),
54
8
  reward: zod_1.z.object({
@@ -94,7 +48,7 @@ exports.chestRewardSchema = zod_1.z.object({
94
48
  weight: zod_1.z.number(),
95
49
  }).strict().transform((data) => {
96
50
  const reward = {
97
- resource: data.reward.resource ? processReward(data.reward.resource) : undefined,
51
+ resource: data.reward.resource ? (0, utils_1.processRewards)([data.reward.resource])[0] : undefined,
98
52
  building_ids: data.reward.buildings,
99
53
  eggs_ids: data.reward.eggs,
100
54
  seeds: data.reward.seeds,
@@ -1,5 +1,4 @@
1
1
  import { z } from "zod";
2
- import { RewardResourceType } from "../../../enums/reward-resource-type.enum";
3
2
  export declare const heroicRacesRewardSchema: z.ZodPipe<z.ZodObject<{
4
3
  id: z.ZodNumber;
5
4
  positions: z.ZodArray<z.ZodNumber>;
@@ -10,15 +9,15 @@ export declare const heroicRacesRewardSchema: z.ZodPipe<z.ZodObject<{
10
9
  }, z.core.$strict>, z.ZodTransform<{
11
10
  id: number;
12
11
  positions: number[];
13
- rewards: ({
14
- type: RewardResourceType;
15
- amount: number;
16
- dragon_ids?: undefined;
17
- } | {
18
- type: RewardResourceType;
19
- dragon_ids: number[];
20
- amount?: undefined;
21
- })[];
12
+ reward: {
13
+ type: import("../../../enums/reward-type.enum").RewardType;
14
+ element?: import("@dchighs/dc-core").DragonElement;
15
+ amount?: number;
16
+ chest_id?: number;
17
+ dragon_id?: number;
18
+ dragon_ids?: number[];
19
+ building_id?: number;
20
+ }[];
22
21
  }, {
23
22
  id: number;
24
23
  positions: number[];
@@ -2,22 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.heroicRacesRewardSchema = void 0;
4
4
  const zod_1 = require("zod");
5
- const reward_resource_type_enum_1 = require("../../../enums/reward-resource-type.enum");
6
- function processReward(reward) {
7
- if (reward.c) {
8
- return {
9
- type: reward_resource_type_enum_1.RewardResourceType.Gem,
10
- amount: reward.c,
11
- };
12
- }
13
- if (reward.egg) {
14
- return {
15
- type: reward_resource_type_enum_1.RewardResourceType.Dragon,
16
- dragon_ids: reward.egg,
17
- };
18
- }
19
- throw new Error(`Invalid reward: ${JSON.stringify(reward)}`);
20
- }
5
+ const utils_1 = require("../../../utils");
21
6
  exports.heroicRacesRewardSchema = zod_1.z.object({
22
7
  id: zod_1.z.number(),
23
8
  positions: zod_1.z.array(zod_1.z.number()),
@@ -29,6 +14,6 @@ exports.heroicRacesRewardSchema = zod_1.z.object({
29
14
  return {
30
15
  id: data.id,
31
16
  positions: data.positions,
32
- rewards: data.rewards.map(processReward),
17
+ reward: (0, utils_1.processRewards)(data.rewards),
33
18
  };
34
19
  });
@@ -37,6 +37,7 @@ export declare const mazeIslandSchema: z.ZodPipe<z.ZodObject<{
37
37
  }, z.core.$strict>, z.ZodTransform<{
38
38
  id: number;
39
39
  name: string;
40
+ name_key: string;
40
41
  availability: {
41
42
  from: string;
42
43
  to: string;
@@ -45,6 +45,7 @@ exports.mazeIslandSchema = zod_1.z.object({
45
45
  return {
46
46
  id: data.id,
47
47
  name: data.name,
48
+ name_key: data.tid_name,
48
49
  availability: {
49
50
  from: new Date(data.availability.from * 1000).toISOString(),
50
51
  to: new Date(data.availability.to * 1000).toISOString(),
@@ -1,5 +1,4 @@
1
1
  import { z } from "zod";
2
- import { RewardResourceType } from "../../../enums/reward-resource-type.enum";
3
2
  export declare const mazeIslandsNodeSchema: z.ZodPipe<z.ZodObject<{
4
3
  id: z.ZodNumber;
5
4
  position: z.ZodArray<z.ZodNumber>;
@@ -22,22 +21,15 @@ export declare const mazeIslandsNodeSchema: z.ZodPipe<z.ZodObject<{
22
21
  }, z.core.$strict>, z.ZodTransform<{
23
22
  id: number;
24
23
  cost: number;
25
- rewards: ({
26
- type: RewardResourceType;
27
- amount: number;
28
- chest_id?: undefined;
29
- building_id?: undefined;
30
- } | {
31
- type: RewardResourceType;
32
- chest_id: number;
33
- amount?: undefined;
34
- building_id?: undefined;
35
- } | {
36
- type: RewardResourceType;
37
- building_id: number;
38
- amount?: undefined;
39
- chest_id?: undefined;
40
- })[] | undefined;
24
+ rewards: {
25
+ type: import("../../../enums/reward-type.enum").RewardType;
26
+ element?: import("@dchighs/dc-core").DragonElement;
27
+ amount?: number;
28
+ chest_id?: number;
29
+ dragon_id?: number;
30
+ dragon_ids?: number[];
31
+ building_id?: number;
32
+ }[] | undefined;
41
33
  is_highlighted: boolean | undefined;
42
34
  key_path_id: number | undefined;
43
35
  encounter_id: number | undefined;
@@ -2,34 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.mazeIslandsNodeSchema = void 0;
4
4
  const zod_1 = require("zod");
5
- const reward_resource_type_enum_1 = require("../../../enums/reward-resource-type.enum");
6
- function processReward(reward) {
7
- if (reward === null || reward === void 0 ? void 0 : reward.f) {
8
- return {
9
- type: reward_resource_type_enum_1.RewardResourceType.Food,
10
- amount: reward.f,
11
- };
12
- }
13
- if (reward === null || reward === void 0 ? void 0 : reward.g) {
14
- return {
15
- type: reward_resource_type_enum_1.RewardResourceType.Gold,
16
- amount: reward.g,
17
- };
18
- }
19
- if (reward === null || reward === void 0 ? void 0 : reward.chest) {
20
- return {
21
- type: reward_resource_type_enum_1.RewardResourceType.Chest,
22
- chest_id: reward.chest,
23
- };
24
- }
25
- if (reward === null || reward === void 0 ? void 0 : reward.b) {
26
- return {
27
- type: reward_resource_type_enum_1.RewardResourceType.Building,
28
- building_id: reward.b,
29
- };
30
- }
31
- throw new Error(`Invalid reward: ${JSON.stringify(reward)}`);
32
- }
5
+ const utils_1 = require("../../../utils");
33
6
  exports.mazeIslandsNodeSchema = zod_1.z.object({
34
7
  id: zod_1.z.number(),
35
8
  position: zod_1.z.array(zod_1.z.number()).length(2),
@@ -54,7 +27,7 @@ exports.mazeIslandsNodeSchema = zod_1.z.object({
54
27
  return {
55
28
  id: data.id,
56
29
  cost: (_b = (_a = data.cost) === null || _a === void 0 ? void 0 : _a.ep) !== null && _b !== void 0 ? _b : 0,
57
- rewards: data.reward ? data.reward.map(processReward) : undefined,
30
+ rewards: data.reward ? (0, utils_1.processRewards)(data.reward) : undefined,
58
31
  is_highlighted: data.highlighted,
59
32
  key_path_id: data.key,
60
33
  encounter_id: data.encounter,