@robsonbittencourt/calc 0.10.0

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 (144) hide show
  1. package/.eslintignore +2 -0
  2. package/.eslintrc +12 -0
  3. package/bundle +107 -0
  4. package/dist/adaptable.d.ts +6 -0
  5. package/dist/adaptable.js +28 -0
  6. package/dist/adaptable.js.map +1 -0
  7. package/dist/calc.d.ts +6 -0
  8. package/dist/calc.js +26 -0
  9. package/dist/calc.js.map +1 -0
  10. package/dist/data/abilities.d.ts +15 -0
  11. package/dist/data/abilities.js +448 -0
  12. package/dist/data/abilities.js.map +1 -0
  13. package/dist/data/index.d.ts +2 -0
  14. package/dist/data/index.js +30 -0
  15. package/dist/data/index.js.map +1 -0
  16. package/dist/data/interface.d.ts +150 -0
  17. package/dist/data/interface.js +3 -0
  18. package/dist/data/interface.js.map +1 -0
  19. package/dist/data/items.d.ts +24 -0
  20. package/dist/data/items.js +708 -0
  21. package/dist/data/items.js.map +1 -0
  22. package/dist/data/moves.d.ts +86 -0
  23. package/dist/data/moves.js +5014 -0
  24. package/dist/data/moves.js.map +1 -0
  25. package/dist/data/natures.d.ts +17 -0
  26. package/dist/data/natures.js +127 -0
  27. package/dist/data/natures.js.map +1 -0
  28. package/dist/data/production.min.js +1 -0
  29. package/dist/data/species.d.ts +48 -0
  30. package/dist/data/species.js +10126 -0
  31. package/dist/data/species.js.map +1 -0
  32. package/dist/data/types.d.ts +23 -0
  33. package/dist/data/types.js +538 -0
  34. package/dist/data/types.js.map +1 -0
  35. package/dist/desc.d.ts +65 -0
  36. package/dist/desc.js +866 -0
  37. package/dist/desc.js.map +1 -0
  38. package/dist/field.d.ts +49 -0
  39. package/dist/field.js +111 -0
  40. package/dist/field.js.map +1 -0
  41. package/dist/index.d.ts +44 -0
  42. package/dist/index.js +99 -0
  43. package/dist/index.js.map +1 -0
  44. package/dist/items.d.ts +13 -0
  45. package/dist/items.js +434 -0
  46. package/dist/items.js.map +1 -0
  47. package/dist/mechanics/gen12.d.ts +6 -0
  48. package/dist/mechanics/gen12.js +271 -0
  49. package/dist/mechanics/gen12.js.map +1 -0
  50. package/dist/mechanics/gen3.d.ts +11 -0
  51. package/dist/mechanics/gen3.js +371 -0
  52. package/dist/mechanics/gen3.js.map +1 -0
  53. package/dist/mechanics/gen4.d.ts +11 -0
  54. package/dist/mechanics/gen4.js +596 -0
  55. package/dist/mechanics/gen4.js.map +1 -0
  56. package/dist/mechanics/gen56.d.ts +13 -0
  57. package/dist/mechanics/gen56.js +836 -0
  58. package/dist/mechanics/gen56.js.map +1 -0
  59. package/dist/mechanics/gen789.d.ts +14 -0
  60. package/dist/mechanics/gen789.js +1325 -0
  61. package/dist/mechanics/gen789.js.map +1 -0
  62. package/dist/mechanics/util.d.ts +39 -0
  63. package/dist/mechanics/util.js +675 -0
  64. package/dist/mechanics/util.js.map +1 -0
  65. package/dist/move.d.ts +50 -0
  66. package/dist/move.js +324 -0
  67. package/dist/move.js.map +1 -0
  68. package/dist/pokemon.d.ts +55 -0
  69. package/dist/pokemon.js +240 -0
  70. package/dist/pokemon.js.map +1 -0
  71. package/dist/production.min.js +1 -0
  72. package/dist/result.d.ts +34 -0
  73. package/dist/result.js +94 -0
  74. package/dist/result.js.map +1 -0
  75. package/dist/state.d.ts +77 -0
  76. package/dist/state.js +3 -0
  77. package/dist/state.js.map +1 -0
  78. package/dist/stats.d.ts +26 -0
  79. package/dist/stats.js +183 -0
  80. package/dist/stats.js.map +1 -0
  81. package/dist/test/calc.test.d.ts +1 -0
  82. package/dist/test/calc.test.js +1297 -0
  83. package/dist/test/calc.test.js.map +1 -0
  84. package/dist/test/data.test.d.ts +1 -0
  85. package/dist/test/data.test.js +368 -0
  86. package/dist/test/data.test.js.map +1 -0
  87. package/dist/test/gen.d.ts +135 -0
  88. package/dist/test/gen.js +636 -0
  89. package/dist/test/gen.js.map +1 -0
  90. package/dist/test/helper.d.ts +55 -0
  91. package/dist/test/helper.js +174 -0
  92. package/dist/test/helper.js.map +1 -0
  93. package/dist/test/move.test.d.ts +1 -0
  94. package/dist/test/move.test.js +14 -0
  95. package/dist/test/move.test.js.map +1 -0
  96. package/dist/test/pokemon.test.d.ts +1 -0
  97. package/dist/test/pokemon.test.js +102 -0
  98. package/dist/test/pokemon.test.js.map +1 -0
  99. package/dist/test/stats.test.d.ts +1 -0
  100. package/dist/test/stats.test.js +64 -0
  101. package/dist/test/stats.test.js.map +1 -0
  102. package/dist/test/utils.test.d.ts +1 -0
  103. package/dist/test/utils.test.js +19 -0
  104. package/dist/test/utils.test.js.map +1 -0
  105. package/dist/util.d.ts +17 -0
  106. package/dist/util.js +115 -0
  107. package/dist/util.js.map +1 -0
  108. package/jest.config.js +11 -0
  109. package/package.json +40 -0
  110. package/src/adaptable.ts +12 -0
  111. package/src/calc.ts +40 -0
  112. package/src/data/abilities.ts +383 -0
  113. package/src/data/index.ts +36 -0
  114. package/src/data/interface.ts +176 -0
  115. package/src/data/items.ts +632 -0
  116. package/src/data/moves.ts +5028 -0
  117. package/src/data/natures.ts +65 -0
  118. package/src/data/species.ts +10098 -0
  119. package/src/data/types.ts +478 -0
  120. package/src/desc.ts +1063 -0
  121. package/src/field.ts +124 -0
  122. package/src/index.ts +156 -0
  123. package/src/items.ts +423 -0
  124. package/src/mechanics/gen12.ts +297 -0
  125. package/src/mechanics/gen3.ts +444 -0
  126. package/src/mechanics/gen4.ts +702 -0
  127. package/src/mechanics/gen56.ts +1134 -0
  128. package/src/mechanics/gen789.ts +1788 -0
  129. package/src/mechanics/util.ts +676 -0
  130. package/src/move.ts +337 -0
  131. package/src/pokemon.ts +244 -0
  132. package/src/result.ts +106 -0
  133. package/src/state.ts +81 -0
  134. package/src/stats.ts +213 -0
  135. package/src/test/calc.test.ts +1588 -0
  136. package/src/test/data.test.ts +129 -0
  137. package/src/test/gen.ts +514 -0
  138. package/src/test/helper.ts +185 -0
  139. package/src/test/move.test.ts +13 -0
  140. package/src/test/pokemon.test.ts +121 -0
  141. package/src/test/stats.test.ts +84 -0
  142. package/src/test/utils.test.ts +18 -0
  143. package/src/util.ts +153 -0
  144. package/tsconfig.json +10 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calc.test.js","sourceRoot":"","sources":["../../src/test/calc.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,368 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __values = (this && this.__values) || function(o) {
26
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
27
+ if (m) return m.call(o);
28
+ if (o && typeof o.length === "number") return {
29
+ next: function () {
30
+ if (o && i >= o.length) o = void 0;
31
+ return { value: o && o[i++], done: !o };
32
+ }
33
+ };
34
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
35
+ };
36
+ var __read = (this && this.__read) || function (o, n) {
37
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
38
+ if (!m) return o;
39
+ var i = m.call(o), r, ar = [], e;
40
+ try {
41
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
42
+ }
43
+ catch (error) { e = { error: error }; }
44
+ finally {
45
+ try {
46
+ if (r && !r.done && (m = i["return"])) m.call(i);
47
+ }
48
+ finally { if (e) throw e.error; }
49
+ }
50
+ return ar;
51
+ };
52
+ exports.__esModule = true;
53
+ var adaptable_1 = require("../adaptable");
54
+ var calc = __importStar(require("../index"));
55
+ var dex_1 = require("@pkmn/dex");
56
+ var gen_1 = require("./gen");
57
+ var pkmn = { Generations: new gen_1.Generations(dex_1.Dex) };
58
+ var gens = [1, 2, 3, 4, 5, 6, 7, 8, 9];
59
+ describe('Generations', function () {
60
+ test('abilities', function () {
61
+ var e_1, _a, e_2, _b, e_3, _c;
62
+ try {
63
+ for (var gens_1 = __values(gens), gens_1_1 = gens_1.next(); !gens_1_1.done; gens_1_1 = gens_1.next()) {
64
+ var gen = gens_1_1.value;
65
+ var p = Array.from(pkmn.Generations.get(gen).abilities);
66
+ var c = new Map();
67
+ try {
68
+ for (var _d = (e_2 = void 0, __values(calc.Generations.get(gen).abilities)), _e = _d.next(); !_e.done; _e = _d.next()) {
69
+ var ability = _e.value;
70
+ c.set(ability.id, ability);
71
+ }
72
+ }
73
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
74
+ finally {
75
+ try {
76
+ if (_e && !_e.done && (_b = _d["return"])) _b.call(_d);
77
+ }
78
+ finally { if (e_2) throw e_2.error; }
79
+ }
80
+ expect(Array.from(c.values()).map(function (s) { return s.name; }).sort()).toEqual(p.map(function (s) { return s.name; }).sort());
81
+ try {
82
+ for (var p_1 = (e_3 = void 0, __values(p)), p_1_1 = p_1.next(); !p_1_1.done; p_1_1 = p_1.next()) {
83
+ var ability = p_1_1.value;
84
+ expect(c.get(ability.id)).toEqual(ability);
85
+ c["delete"](ability.id);
86
+ }
87
+ }
88
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
89
+ finally {
90
+ try {
91
+ if (p_1_1 && !p_1_1.done && (_c = p_1["return"])) _c.call(p_1);
92
+ }
93
+ finally { if (e_3) throw e_3.error; }
94
+ }
95
+ expect(c.size).toBe(0);
96
+ }
97
+ }
98
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
99
+ finally {
100
+ try {
101
+ if (gens_1_1 && !gens_1_1.done && (_a = gens_1["return"])) _a.call(gens_1);
102
+ }
103
+ finally { if (e_1) throw e_1.error; }
104
+ }
105
+ });
106
+ test('items', function () {
107
+ var e_4, _a, e_5, _b, e_6, _c;
108
+ try {
109
+ for (var gens_2 = __values(gens), gens_2_1 = gens_2.next(); !gens_2_1.done; gens_2_1 = gens_2.next()) {
110
+ var gen = gens_2_1.value;
111
+ var p = Array.from(pkmn.Generations.get(gen).items);
112
+ var c = new Map();
113
+ try {
114
+ for (var _d = (e_5 = void 0, __values(calc.Generations.get(gen).items)), _e = _d.next(); !_e.done; _e = _d.next()) {
115
+ var item = _e.value;
116
+ c.set(item.id, item);
117
+ }
118
+ }
119
+ catch (e_5_1) { e_5 = { error: e_5_1 }; }
120
+ finally {
121
+ try {
122
+ if (_e && !_e.done && (_b = _d["return"])) _b.call(_d);
123
+ }
124
+ finally { if (e_5) throw e_5.error; }
125
+ }
126
+ expect(Array.from(c.values()).map(function (s) { return s.name; }).sort()).toEqual(p.map(function (s) { return s.name; }).sort());
127
+ try {
128
+ for (var p_2 = (e_6 = void 0, __values(p)), p_2_1 = p_2.next(); !p_2_1.done; p_2_1 = p_2.next()) {
129
+ var item = p_2_1.value;
130
+ expect(c.get(item.id)).toEqual(item);
131
+ c["delete"](item.id);
132
+ }
133
+ }
134
+ catch (e_6_1) { e_6 = { error: e_6_1 }; }
135
+ finally {
136
+ try {
137
+ if (p_2_1 && !p_2_1.done && (_c = p_2["return"])) _c.call(p_2);
138
+ }
139
+ finally { if (e_6) throw e_6.error; }
140
+ }
141
+ expect(c.size).toBe(0);
142
+ }
143
+ }
144
+ catch (e_4_1) { e_4 = { error: e_4_1 }; }
145
+ finally {
146
+ try {
147
+ if (gens_2_1 && !gens_2_1.done && (_a = gens_2["return"])) _a.call(gens_2);
148
+ }
149
+ finally { if (e_4) throw e_4.error; }
150
+ }
151
+ });
152
+ test('moves', function () {
153
+ var e_7, _a, e_8, _b, e_9, _c, e_10, _d;
154
+ try {
155
+ for (var gens_3 = __values(gens), gens_3_1 = gens_3.next(); !gens_3_1.done; gens_3_1 = gens_3.next()) {
156
+ var gen = gens_3_1.value;
157
+ var p = Array.from(pkmn.Generations.get(gen).moves);
158
+ var c = new Map();
159
+ try {
160
+ for (var _e = (e_8 = void 0, __values(calc.Generations.get(gen).moves)), _f = _e.next(); !_f.done; _f = _e.next()) {
161
+ var move = _f.value;
162
+ c.set(move.id, move);
163
+ }
164
+ }
165
+ catch (e_8_1) { e_8 = { error: e_8_1 }; }
166
+ finally {
167
+ try {
168
+ if (_f && !_f.done && (_b = _e["return"])) _b.call(_e);
169
+ }
170
+ finally { if (e_8) throw e_8.error; }
171
+ }
172
+ expect(Array.from(c.values()).map(function (s) { return s.name; }).sort()).toEqual(p.map(function (s) { return s.name; }).sort());
173
+ try {
174
+ for (var p_3 = (e_9 = void 0, __values(p)), p_3_1 = p_3.next(); !p_3_1.done; p_3_1 = p_3.next()) {
175
+ var move = p_3_1.value;
176
+ try {
177
+ for (var _g = (e_10 = void 0, __values(Object.entries(move))), _h = _g.next(); !_h.done; _h = _g.next()) {
178
+ var _j = __read(_h.value, 2), k = _j[0], v = _j[1];
179
+ if (v === undefined) {
180
+ delete move[k];
181
+ }
182
+ }
183
+ }
184
+ catch (e_10_1) { e_10 = { error: e_10_1 }; }
185
+ finally {
186
+ try {
187
+ if (_h && !_h.done && (_d = _g["return"])) _d.call(_g);
188
+ }
189
+ finally { if (e_10) throw e_10.error; }
190
+ }
191
+ expect(c.get(move.id)).toMatchObject(move);
192
+ c["delete"](move.id);
193
+ }
194
+ }
195
+ catch (e_9_1) { e_9 = { error: e_9_1 }; }
196
+ finally {
197
+ try {
198
+ if (p_3_1 && !p_3_1.done && (_c = p_3["return"])) _c.call(p_3);
199
+ }
200
+ finally { if (e_9) throw e_9.error; }
201
+ }
202
+ expect(c.size).toBe(0);
203
+ }
204
+ }
205
+ catch (e_7_1) { e_7 = { error: e_7_1 }; }
206
+ finally {
207
+ try {
208
+ if (gens_3_1 && !gens_3_1.done && (_a = gens_3["return"])) _a.call(gens_3);
209
+ }
210
+ finally { if (e_7) throw e_7.error; }
211
+ }
212
+ });
213
+ test('species', function () {
214
+ var e_11, _a, e_12, _b, e_13, _c;
215
+ try {
216
+ for (var gens_4 = __values(gens), gens_4_1 = gens_4.next(); !gens_4_1.done; gens_4_1 = gens_4.next()) {
217
+ var gen = gens_4_1.value;
218
+ var p = Array.from(pkmn.Generations.get(gen).species);
219
+ var c = new Map();
220
+ try {
221
+ for (var _d = (e_12 = void 0, __values(calc.Generations.get(gen).species)), _e = _d.next(); !_e.done; _e = _d.next()) {
222
+ var specie = _e.value;
223
+ c.set(specie.id, specie);
224
+ }
225
+ }
226
+ catch (e_12_1) { e_12 = { error: e_12_1 }; }
227
+ finally {
228
+ try {
229
+ if (_e && !_e.done && (_b = _d["return"])) _b.call(_d);
230
+ }
231
+ finally { if (e_12) throw e_12.error; }
232
+ }
233
+ expect(Array.from(c.values()).map(function (s) { return s.name; }).sort()).toEqual(p.map(function (s) { return s.name; }).sort());
234
+ try {
235
+ for (var p_4 = (e_13 = void 0, __values(p)), p_4_1 = p_4.next(); !p_4_1.done; p_4_1 = p_4.next()) {
236
+ var specie = p_4_1.value;
237
+ expect(c.get(specie.id)).toEqual(specie);
238
+ c["delete"](specie.id);
239
+ }
240
+ }
241
+ catch (e_13_1) { e_13 = { error: e_13_1 }; }
242
+ finally {
243
+ try {
244
+ if (p_4_1 && !p_4_1.done && (_c = p_4["return"])) _c.call(p_4);
245
+ }
246
+ finally { if (e_13) throw e_13.error; }
247
+ }
248
+ expect(c.size).toBe(0);
249
+ }
250
+ }
251
+ catch (e_11_1) { e_11 = { error: e_11_1 }; }
252
+ finally {
253
+ try {
254
+ if (gens_4_1 && !gens_4_1.done && (_a = gens_4["return"])) _a.call(gens_4);
255
+ }
256
+ finally { if (e_11) throw e_11.error; }
257
+ }
258
+ });
259
+ test('types', function () {
260
+ var e_14, _a, e_15, _b, e_16, _c;
261
+ try {
262
+ for (var gens_5 = __values(gens), gens_5_1 = gens_5.next(); !gens_5_1.done; gens_5_1 = gens_5.next()) {
263
+ var gen = gens_5_1.value;
264
+ var p = Array.from(pkmn.Generations.get(gen).types);
265
+ var c = new Map();
266
+ try {
267
+ for (var _d = (e_15 = void 0, __values(calc.Generations.get(gen).types)), _e = _d.next(); !_e.done; _e = _d.next()) {
268
+ var type = _e.value;
269
+ c.set(type.id, type);
270
+ }
271
+ }
272
+ catch (e_15_1) { e_15 = { error: e_15_1 }; }
273
+ finally {
274
+ try {
275
+ if (_e && !_e.done && (_b = _d["return"])) _b.call(_d);
276
+ }
277
+ finally { if (e_15) throw e_15.error; }
278
+ }
279
+ expect(Array.from(c.values()).map(function (s) { return s.name; }).sort()).toEqual(p.map(function (s) { return s.name; }).sort());
280
+ try {
281
+ for (var p_5 = (e_16 = void 0, __values(p)), p_5_1 = p_5.next(); !p_5_1.done; p_5_1 = p_5.next()) {
282
+ var type = p_5_1.value;
283
+ expect(c.get(type.id)).toEqual(type);
284
+ c["delete"](type.id);
285
+ }
286
+ }
287
+ catch (e_16_1) { e_16 = { error: e_16_1 }; }
288
+ finally {
289
+ try {
290
+ if (p_5_1 && !p_5_1.done && (_c = p_5["return"])) _c.call(p_5);
291
+ }
292
+ finally { if (e_16) throw e_16.error; }
293
+ }
294
+ expect(c.size).toBe(0);
295
+ }
296
+ }
297
+ catch (e_14_1) { e_14 = { error: e_14_1 }; }
298
+ finally {
299
+ try {
300
+ if (gens_5_1 && !gens_5_1.done && (_a = gens_5["return"])) _a.call(gens_5);
301
+ }
302
+ finally { if (e_14) throw e_14.error; }
303
+ }
304
+ });
305
+ test('natures', function () {
306
+ var e_17, _a, e_18, _b, e_19, _c;
307
+ try {
308
+ for (var gens_6 = __values(gens), gens_6_1 = gens_6.next(); !gens_6_1.done; gens_6_1 = gens_6.next()) {
309
+ var gen = gens_6_1.value;
310
+ var p = Array.from(pkmn.Generations.get(gen).natures);
311
+ var c = new Map();
312
+ try {
313
+ for (var _d = (e_18 = void 0, __values(calc.Generations.get(gen).natures)), _e = _d.next(); !_e.done; _e = _d.next()) {
314
+ var nature = _e.value;
315
+ c.set(nature.id, nature);
316
+ }
317
+ }
318
+ catch (e_18_1) { e_18 = { error: e_18_1 }; }
319
+ finally {
320
+ try {
321
+ if (_e && !_e.done && (_b = _d["return"])) _b.call(_d);
322
+ }
323
+ finally { if (e_18) throw e_18.error; }
324
+ }
325
+ expect(Array.from(c.values()).map(function (s) { return s.name; }).sort()).toEqual(p.map(function (s) { return s.name; }).sort());
326
+ try {
327
+ for (var p_6 = (e_19 = void 0, __values(p)), p_6_1 = p_6.next(); !p_6_1.done; p_6_1 = p_6.next()) {
328
+ var nature = p_6_1.value;
329
+ expect(c.get(nature.id)).toEqual(nature);
330
+ c["delete"](nature.id);
331
+ }
332
+ }
333
+ catch (e_19_1) { e_19 = { error: e_19_1 }; }
334
+ finally {
335
+ try {
336
+ if (p_6_1 && !p_6_1.done && (_c = p_6["return"])) _c.call(p_6);
337
+ }
338
+ finally { if (e_19) throw e_19.error; }
339
+ }
340
+ expect(c.size).toBe(0);
341
+ }
342
+ }
343
+ catch (e_17_1) { e_17 = { error: e_17_1 }; }
344
+ finally {
345
+ try {
346
+ if (gens_6_1 && !gens_6_1.done && (_a = gens_6["return"])) _a.call(gens_6);
347
+ }
348
+ finally { if (e_17) throw e_17.error; }
349
+ }
350
+ });
351
+ });
352
+ describe('Adaptable', function () {
353
+ test('usage', function () {
354
+ var gen = pkmn.Generations.get(5);
355
+ var result = (0, adaptable_1.calculate)(gen, new adaptable_1.Pokemon(gen, 'Gengar', {
356
+ item: 'Choice Specs',
357
+ nature: 'Timid',
358
+ evs: { spa: 252 },
359
+ boosts: { spa: 1 }
360
+ }), new adaptable_1.Pokemon(gen, 'Chansey', {
361
+ item: 'Eviolite',
362
+ nature: 'Calm',
363
+ evs: { hp: 252, spd: 252 }
364
+ }), new adaptable_1.Move(gen, 'Focus Blast'));
365
+ expect(result.range()).toEqual([274, 324]);
366
+ });
367
+ });
368
+ //# sourceMappingURL=data.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.test.js","sourceRoot":"","sources":["../../src/test/data.test.ts"],"names":[],"mappings":"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"}