@pkmn/data 0.5.28 → 0.6.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.
package/build/index.d.ts CHANGED
@@ -8,7 +8,7 @@ export declare class Generations {
8
8
  private readonly exists;
9
9
  static DEFAULT_EXISTS: (d: Data) => boolean;
10
10
  constructor(dex: Dex, exists?: (d: Data) => boolean);
11
- get(gen: GenerationNum): Generation;
11
+ get(g: string | number): Generation;
12
12
  [Symbol.iterator](): Generator<Generation, void, unknown>;
13
13
  }
14
14
  export declare class Generation {
@@ -23,6 +23,7 @@ export declare class Generation {
23
23
  readonly stats: Stats;
24
24
  readonly dex: Dex;
25
25
  private readonly exists;
26
+ static get(dex: Dex, g: string | number, exists?: (d: Data) => boolean): Generation;
26
27
  constructor(dex: Dex, exists: BoundExistsFn);
27
28
  get num(): GenerationNum;
28
29
  toString(): string;
package/build/index.js CHANGED
@@ -52,7 +52,10 @@ class Generations {
52
52
  this.dex = dex;
53
53
  this.exists = exists;
54
54
  }
55
- get(gen) {
55
+ get(g) {
56
+ if (isNaN(+g))
57
+ throw new Error(`Invalid gen ${g}`);
58
+ const gen = g; // validated by forGen
56
59
  if (this.cache[gen])
57
60
  return this.cache[gen];
58
61
  return (this.cache[gen] = new Generation(this.dex.forGen(gen), d => this.exists(d, gen)));
@@ -79,6 +82,9 @@ class Generation {
79
82
  this.conditions = new Conditions(this.dex, this.exists);
80
83
  this.stats = new Stats(this.dex);
81
84
  }
85
+ static get(dex, g, exists = DEFAULT_EXISTS) {
86
+ return new Generations(dex, exists).get(g);
87
+ }
82
88
  get num() {
83
89
  return this.dex.gen;
84
90
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- var _this=this;function _defineProperties(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function _createClass(t,e,i){return e&&_defineProperties(t.prototype,e),i&&_defineProperties(t,i),Object.defineProperty(t,"prototype",{writable:!1}),t}!function(){"use strict";var t={},e=_this&&_this.__await||function(t){return this instanceof e?(this.v=t,this):new e(t)},i=_this&&_this.__asyncGenerator||function(t,i,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var s,r=n.apply(t,i||[]),o=[];return s={},a("next"),a("throw"),a("return"),s[Symbol.asyncIterator]=function(){return this},s;function a(t){r[t]&&(s[t]=function(e){return new Promise((function(i,n){o.push([t,e,i,n])>1||h(t,e)}))})}function h(t,i){try{(n=r[t](i)).value instanceof e?Promise.resolve(n.value.v).then(c,u):d(o[0][2],n)}catch(t){d(o[0][3],t)}var n}function c(t){h("next",t)}function u(t){h("throw",t)}function d(t,e){t(e),o.shift(),o.length&&h(o[0][0],o[0][1])}},n=_this&&_this.__asyncValues||function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,i=t[Symbol.asyncIterator];return i?i.call(t):(t="function"==typeof __values?__values(t):t[Symbol.iterator](),e={},n("next"),n("throw"),n("return"),e[Symbol.asyncIterator]=function(){return this},e);function n(i){e[i]=t[i]&&function(e){return new Promise((function(n,s){(function(t,e,i,n){Promise.resolve(n).then((function(e){t({value:e,done:i})}),e)})(n,s,(e=t[i](e)).done,e.value)}))}}};t.Stats=t.Learnsets=t.Type=t.Types=t.Natures=t.Conditions=t.Specie=t.Species=t.Moves=t.Items=t.Abilities=t.Generation=t.Generations=t.toID=void 0;var s=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e?(t>>>0)%2**e:t>>>0};function r(t,e,i){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&!i.has(n)&&(t[n]=e[n]);return t}function o(t){return(null==t?void 0:t.id)&&(t=t.id),"string"!=typeof t&&"number"!=typeof t?"":(""+t).toLowerCase().replace(/[^a-z0-9]+/g,"")}t.toID=o;var a=function(t){function e(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.DEFAULT_EXISTS;this.cache=Object.create(null),this.dex=t,this.exists=i}var i=e.prototype;return i.get=function(t){var e=this;return this.cache[t]?this.cache[t]:this.cache[t]=new h(this.dex.forGen(t),(function(i){return e.exists(i,t)}))},i[t]=function*(){for(var t=1;t<=8;t++)yield this.get(t)},e}(Symbol.iterator);t.Generations=a,a.DEFAULT_EXISTS=function(t){return!!t.exists&&((!("isNonstandard"in t)||!t.isNonstandard)&&(("Ability"!==t.kind||"noability"!==t.id)&&!("tier"in t&&["Illegal","Unreleased"].includes(t.tier))))};var h=function(){function t(t,e){this.dex=t,this.exists=e,this.abilities=new c(this.dex,this.exists),this.items=new u(this.dex,this.exists),this.moves=new d(this.dex,this.exists),this.species=new f(this.dex,this.exists),this.natures=new p(this.dex,this.exists),this.types=new y(this.dex,this.exists),this.learnsets=new k(this,this.dex,this.exists),this.conditions=new v(this.dex,this.exists),this.stats=new P(this.dex)}var e=t.prototype;return e.toString=function(){return"[Generation:"+this.num+"]"},e.toJSON=function(){return this.toString()},_createClass(t,[{key:"num",get:function(){return this.dex.gen}}]),t}();t.Generation=h;var c=function(t){function e(t,e){this.dex=t,this.exists=e}var i=e.prototype;return i.get=function(t){var e=this.dex.abilities.get(t);return this.exists(e)?e:void 0},i[t]=function*(){for(var t in this.dex.data.Abilities){var e=this.get(t);e&&(yield e)}},e}(Symbol.iterator);t.Abilities=c;var u=function(t){function e(t,e){this.dex=t,this.exists=e}var i=e.prototype;return i.get=function(t){var e=this.dex.items.get(t);return this.exists(e)?e:void 0},i[t]=function*(){for(var t in this.dex.data.Items){var e=this.get(t);e&&(yield e)}},e}(Symbol.iterator);t.Items=u;var d=function(t){function e(t,e){this.dex=t,this.exists=e}var i=e.prototype;return i.get=function(t){var e=this.dex.moves.get(t);return this.exists(e)?e:void 0},i[t]=function*(){for(var t in this.dex.data.Moves){var e=this.get(t);e&&(yield e)}},e}(Symbol.iterator);t.Moves=d;var f=function(t){function e(t,e){this.cache=Object.create(null),this.dex=t,this.exists=e}var i=e.prototype;return i.get=function(t){var e=this.dex.species.get(t);if(this.exists(e)){var i=e.speciesid||e.id,n=this.cache[i];return n||(this.cache[i]=new l(this.dex,this.exists,e))}},i[t]=function*(){for(var t in this.dex.data.Species){var e=this.get(t);e&&(yield e)}},e}(Symbol.iterator);t.Species=f;var l=function(){function t(e,i,n){var s,o,a,h,c,u,d,f,l,v=this;r(this,n,t.EXCLUDE),this.dex=e,this.dex.gen>=2?(this.gender=n.gender,this.genderRatio=n.genderRatio):this.genderRatio={M:0,F:0},this.dex.gen>=3?(this.abilities={0:n.abilities[0]},n.abilities[1]&&this.dex.abilities.get(n.abilities[1]).gen<=this.dex.gen&&(this.abilities[1]=n.abilities[1]),this.dex.gen>=5&&n.abilities.H&&(this.abilities.H=n.abilities.H),this.dex.gen>=7&&n.abilities.S&&(this.abilities.S=n.abilities.S)):this.abilities={0:""},this.evos=null===(s=n.evos)||void 0===s?void 0:s.filter((function(t){return i(v.dex.species.get(t))})),this.nfe=!!(null===(o=this.evos)||void 0===o?void 0:o.length),this.nfe||(this.evos=void 0),this.cosmeticFormes=null===(a=n.cosmeticFormes)||void 0===a?void 0:a.filter((function(t){return i(v.dex.species.get(t))})),(null===(h=this.cosmeticFormes)||void 0===h?void 0:h.length)||(this.cosmeticFormes=void 0),this.otherFormes=null===(c=n.otherFormes)||void 0===c?void 0:c.filter((function(t){return i(v.dex.species.get(t))})),(null===(u=this.otherFormes)||void 0===u?void 0:u.length)||(this.otherFormes=void 0),this.formeOrder=null===(d=n.formeOrder)||void 0===d?void 0:d.filter((function(t){return i(v.dex.species.get(t))})),(null===(f=this.formeOrder)||void 0===f?void 0:f.length)||(this.formeOrder=void 0),this.formes=null===(l=this.formeOrder)||void 0===l?void 0:l.filter((function(t){return"Gigantamax"!==v.dex.species.get(t).isNonstandard})),this.prevo=n.prevo&&i(this.dex.species.get(n.prevo))?n.prevo:void 0}var e=t.prototype;return e.toString=function(){return this.name},e.toJSON=function(){return r({},this,new Set(["dex"]))},_createClass(t,[{key:"formeNum",get:function(){var t=this;return this.baseSpecies===this.name?this.formeOrder?this.formeOrder.findIndex((function(e){return e===t.name})):0:this.dex.species.get(this.baseSpecies).formeOrder.findIndex((function(e){return e===("Gigantamax"===t.isNonstandard?t.baseSpecies:t.name)}))}}]),t}();t.Specie=l,l.EXCLUDE=new Set(["abilities","cosmeticFormes","evos","gender","genderRatio","nfe","otherFormes","prevo"]);var v=function(){function t(t,e){this.dex=t,this.exists=e}return t.prototype.get=function(t){var e=this.dex.conditions.get(t);return this.exists(e)?e:void 0},t}();t.Conditions=v;var p=function(t){function e(t,e){this.dex=t,this.exists=e}var i=e.prototype;return i.get=function(t){if(!(this.dex.gen<3)){var e=this.dex.natures.get(t);return this.exists(e)?e:void 0}},i[t]=function*(){for(var t in this.dex.data.Natures){var e=this.get(t);e&&(yield e)}},e}(Symbol.iterator);t.Natures=p;var g={"-3":.125,"-2":.25,"-1":.5,0:1,1:2,2:4,3:8},y=function(t){function e(t,e){this.cache=Object.create(null),this.dex=t,this.exists=e,this.unknown=new S({effectType:"Type",kind:"Type",id:"",name:"???",exists:t.gen<=4,gen:1,damageTaken:{},HPivs:{},HPdvs:{}},t,this)}var i=e.prototype;return i.get=function(t){if("???"===t)return this.unknown;var e=this.dex.types.get(t);if(this.exists(e)){var i=this.cache[e.id];return i||(this.cache[e.id]=new S(e,this.dex,this))}},i[t]=function*(){for(var t in this.dex.data.Types){var e=this.get(t);e&&(yield e)}this.dex.gen>=2&&this.dex.gen<=4&&(yield this.unknown)},i.getHiddenPower=function(t){return this.dex.getHiddenPower(t)},i.canDamage=function(t,e){return this.dex.getImmunity(t,e)},i.totalEffectiveness=function(t,e){if(!this.canDamage(t,e))return 0;var i=""+this.dex.getEffectiveness(t,e);return g[i]},e}(Symbol.iterator);t.Types=y;var x=[1,2,.5,0],m=["Fire","Water","Grass","Electric","Ice","Psychic","Dark","Dragon"],S=function(){function t(t,e,i){for(var n in Object.assign(this,t),this.types=i,this.category="Fairy"===this.name?void 0:m.includes(this.name)?"Special":"Physical",this.effectiveness={"???":1},e.data.Types){var s=n.charAt(0).toUpperCase()+n.slice(1);this.effectiveness[s]=x[e.data.Types[n].damageTaken[this.name]||0]}}var e=t.prototype;return e.canDamage=function(t){return this.types.canDamage(this.name,t)},e.totalEffectiveness=function(t){return this.types.totalEffectiveness(this.name,t)},e.toString=function(){return this.name},e.toJSON=function(){return r({},this,new Set(["types"]))},t}();t.Type=S;var b=new Set(["cut","fly","surf","strength","flash","rocksmash","waterfall","dive"]),w=new Set(["cut","fly","surf","strength","rocksmash","waterfall","rockclimb"]),k=function(t){function s(t,e,i){this.cache=Object.create(null),this.gen=t,this.dex=e,this.exists=i}var r=s.prototype;return r.get=async function(t){var e=await this.dex.learnsets.get(o(t));return this.exists(e)?e:void 0},r[t]=function(){return i(this,arguments,(function*(){for(var t in this.dex.data.Learnsets||(yield e(this.dex.learnsets.get("LOAD"))),this.dex.data.Learnsets){var i=yield e(this.get(t));i&&(yield yield e(i))}}))},r.all=function(t){return i(this,arguments,(function*(){var i=t.id,n=yield e(this.get(i));for(n||(i="string"==typeof t.battleOnly&&t.battleOnly!==t.baseSpecies?o(t.battleOnly):o(t.baseSpecies),n=yield e(this.get(i)));n&&(yield yield e(n),i="lycanrocdusk"===i||"rockruff"===t.id&&"rockruff"===i?"rockruffdusk":"gastrodoneast"===t.id?"gastrodon":"pumpkaboosuper"===t.id?"pumpkaboo":o(t.battleOnly||t.changesFrom||t.prevo));){var s=this.gen.species.get(i);if(!s)break;t=s,n=yield e(this.get(i))}}))},r.learnable=async function(t,e){var i,s,r=this,o=this.gen.species.get(t);if(o){if(!e){var a=this.cache[o.id];if(a)return a}var h={};try{for(var c,u=n(this.all(o));!(c=await u.next()).done;){var d=c.value;if(d.learnset)for(var f in d.learnset){var l=this.gen.moves.get(f);if(l){var v=d.learnset[f];if(this.isLegal(l,v,e||this.gen)){var p=v.filter((function(t){return+t.charAt(0)<=r.gen.num}));if(!p.length)continue;if(h[l.id]){var g,y=[];t:for(var x=0;x<p.length;x++){for(var m=p[x],S=m.slice(0,2),b=0,w=h[l.id];b<w.length;b++){if(w[b].startsWith(S))continue t}y.push(m)}(g=h[l.id]).push.apply(g,y)}else h[l.id]=p}}}}}catch(t){i={error:t}}finally{try{c&&!c.done&&(s=u.return)&&await s.call(u)}finally{if(i)throw i.error}}return e||(this.cache[o.id]=h),h}},r.canLearn=async function(t,e,i){var s,r,o,a=this.gen.species.get(t);if(!a)return!1;if("string"==typeof(e="string"==typeof e&&this.gen.moves.get(e)||e))return!1;try{for(var h,c=n(this.all(a));!(h=await c.next()).done;){var u=h.value;if(this.isLegal(e,null===(o=u.learnset)||void 0===o?void 0:o[e.id],i||this.gen))return!0}}catch(t){s={error:t}}finally{try{h&&!h.done&&(r=c.return)&&await r.call(c)}finally{if(s)throw s.error}}return!1},r.isLegal=function(t,e,i){if(e){var n=e.map((function(t){return Number(t[0])})),s=Math.min.apply(Math,n),r=7===s&&e.every((function(t){return"7"!==t[0]||"7V"===t}))||8===s&&e.every((function(t){return"8"!==t[0]||"8V"===t}));if("Pentagon"===i)return n.includes(6);if("Plus"===i)return n.includes(7)&&!r;if("Galar"===i)return n.includes(8)&&!r;if(this.gen.num>=3&&s<=4&&(b.has(t.id)||w.has(t.id))){var o="",a=!1;3===s&&(o+="3",a=!0),a&&(a=!b.has(t.id)),(a||n.includes(4))&&(o+="4",a=!0),a&&(a=!w.has(t.id));var h=a?5:Math.min.apply(Math,n.filter((function(t){return t>4})));return(o+="012345678".slice(h)).includes(""+i.num)}return"012345678".slice(s).includes(""+i.num)}},s}(Symbol.iterator);t.Learnsets=k;var D=["hp","atk","def","spe","spa","spd"],O={HP:"hp",hp:"hp",Attack:"atk",Atk:"atk",atk:"atk",Defense:"def",Def:"def",def:"def","Special Attack":"spa",SpA:"spa",SAtk:"spa",SpAtk:"spa",spa:"spa",Special:"spa",spc:"spa",Spc:"spa","Special Defense":"spd",SpD:"spd",SDef:"spd",SpDef:"spd",spd:"spd",Speed:"spe",Spe:"spe",Spd:"spe",spe:"spe"},_={hp:["HP","HP"],atk:["Atk","Attack"],def:["Def","Defense"],spa:["SpA","Special Attack"],spd:["SpD","Special Defense"],spe:["Spe","Speed"],spc:["Spc","Special"]},P=function(t){function e(t){this.dex=t}var i=e.prototype;return i.calc=function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:31,n=arguments.length>3?arguments[3]:void 0,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:100,o=arguments.length>5?arguments[5]:void 0;if(void 0===n&&(n=this.dex.gen<3?252:0),this.dex.gen<3&&(i=2*this.toDV(i),o=void 0),"hp"===t)return 1===e?e:s(s(2*e+i+s(n/4)+100)*r/100+10);var a=s(s(2*e+i+s(n/4))*r/100+5);if(void 0!==o){if(o.plus===t)return s(s(110*a,16)/100);if(o.minus===t)return s(s(90*a,16)/100)}return a},i.get=function(t){return O[t]},i.display=function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=O[t];return void 0===i?t:(1===this.dex.gen&&"spa"===i&&(i="spc"),_[i][+e])},i.fill=function(t,e){for(var i=0;i<D.length;i++){var n=D[i];n in t||(t[n]=e)}return t},i.getHPDV=function(t){return this.toDV(void 0===t.atk?31:t.atk)%2*8+this.toDV(void 0===t.def?31:t.def)%2*4+this.toDV(void 0===t.spe?31:t.spe)%2*2+this.toDV(void 0===t.spa?31:t.spa)%2},i[t]=function*(){for(var t=0;t<D.length;t++){var e=D[t];yield e}},i.toDV=function(t){return Math.floor(t/2)},i.toIV=function(t){return 2*t+1},e}(Symbol.iterator);t.Stats=P,window.Generations=t.Generations}();
1
+ var _this=this;function _defineProperties(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function _createClass(t,e,i){return e&&_defineProperties(t.prototype,e),i&&_defineProperties(t,i),Object.defineProperty(t,"prototype",{writable:!1}),t}!function(){"use strict";var t={},e=_this&&_this.__await||function(t){return this instanceof e?(this.v=t,this):new e(t)},i=_this&&_this.__asyncGenerator||function(t,i,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var s,r=n.apply(t,i||[]),o=[];return s={},a("next"),a("throw"),a("return"),s[Symbol.asyncIterator]=function(){return this},s;function a(t){r[t]&&(s[t]=function(e){return new Promise((function(i,n){o.push([t,e,i,n])>1||h(t,e)}))})}function h(t,i){try{(n=r[t](i)).value instanceof e?Promise.resolve(n.value.v).then(c,u):d(o[0][2],n)}catch(t){d(o[0][3],t)}var n}function c(t){h("next",t)}function u(t){h("throw",t)}function d(t,e){t(e),o.shift(),o.length&&h(o[0][0],o[0][1])}},n=_this&&_this.__asyncValues||function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,i=t[Symbol.asyncIterator];return i?i.call(t):(t="function"==typeof __values?__values(t):t[Symbol.iterator](),e={},n("next"),n("throw"),n("return"),e[Symbol.asyncIterator]=function(){return this},e);function n(i){e[i]=t[i]&&function(e){return new Promise((function(n,s){(function(t,e,i,n){Promise.resolve(n).then((function(e){t({value:e,done:i})}),e)})(n,s,(e=t[i](e)).done,e.value)}))}}};t.Stats=t.Learnsets=t.Type=t.Types=t.Natures=t.Conditions=t.Specie=t.Species=t.Moves=t.Items=t.Abilities=t.Generation=t.Generations=t.toID=void 0;var s=function(t){return!!t.exists&&((!("isNonstandard"in t)||!t.isNonstandard)&&(("Ability"!==t.kind||"noability"!==t.id)&&!("tier"in t&&["Illegal","Unreleased"].includes(t.tier))))},r=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e?(t>>>0)%2**e:t>>>0};function o(t,e,i){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&!i.has(n)&&(t[n]=e[n]);return t}function a(t){return(null==t?void 0:t.id)&&(t=t.id),"string"!=typeof t&&"number"!=typeof t?"":(""+t).toLowerCase().replace(/[^a-z0-9]+/g,"")}t.toID=a;var h=function(t){function e(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.DEFAULT_EXISTS;this.cache=Object.create(null),this.dex=t,this.exists=i}var i=e.prototype;return i.get=function(t){var e=this;if(isNaN(+t))throw new Error("Invalid gen "+t);var i=t;return this.cache[i]?this.cache[i]:this.cache[i]=new c(this.dex.forGen(i),(function(t){return e.exists(t,i)}))},i[t]=function*(){for(var t=1;t<=8;t++)yield this.get(t)},e}(Symbol.iterator);t.Generations=h,h.DEFAULT_EXISTS=s;var c=function(){function t(t,e){this.dex=t,this.exists=e,this.abilities=new u(this.dex,this.exists),this.items=new d(this.dex,this.exists),this.moves=new f(this.dex,this.exists),this.species=new l(this.dex,this.exists),this.natures=new g(this.dex,this.exists),this.types=new x(this.dex,this.exists),this.learnsets=new D(this,this.dex,this.exists),this.conditions=new p(this.dex,this.exists),this.stats=new I(this.dex)}t.get=function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:s;return new h(t,i).get(e)};var e=t.prototype;return e.toString=function(){return"[Generation:"+this.num+"]"},e.toJSON=function(){return this.toString()},_createClass(t,[{key:"num",get:function(){return this.dex.gen}}]),t}();t.Generation=c;var u=function(t){function e(t,e){this.dex=t,this.exists=e}var i=e.prototype;return i.get=function(t){var e=this.dex.abilities.get(t);return this.exists(e)?e:void 0},i[t]=function*(){for(var t in this.dex.data.Abilities){var e=this.get(t);e&&(yield e)}},e}(Symbol.iterator);t.Abilities=u;var d=function(t){function e(t,e){this.dex=t,this.exists=e}var i=e.prototype;return i.get=function(t){var e=this.dex.items.get(t);return this.exists(e)?e:void 0},i[t]=function*(){for(var t in this.dex.data.Items){var e=this.get(t);e&&(yield e)}},e}(Symbol.iterator);t.Items=d;var f=function(t){function e(t,e){this.dex=t,this.exists=e}var i=e.prototype;return i.get=function(t){var e=this.dex.moves.get(t);return this.exists(e)?e:void 0},i[t]=function*(){for(var t in this.dex.data.Moves){var e=this.get(t);e&&(yield e)}},e}(Symbol.iterator);t.Moves=f;var l=function(t){function e(t,e){this.cache=Object.create(null),this.dex=t,this.exists=e}var i=e.prototype;return i.get=function(t){var e=this.dex.species.get(t);if(this.exists(e)){var i=e.speciesid||e.id,n=this.cache[i];return n||(this.cache[i]=new v(this.dex,this.exists,e))}},i[t]=function*(){for(var t in this.dex.data.Species){var e=this.get(t);e&&(yield e)}},e}(Symbol.iterator);t.Species=l;var v=function(){function t(e,i,n){var s,r,a,h,c,u,d,f,l,v=this;o(this,n,t.EXCLUDE),this.dex=e,this.dex.gen>=2?(this.gender=n.gender,this.genderRatio=n.genderRatio):this.genderRatio={M:0,F:0},this.dex.gen>=3?(this.abilities={0:n.abilities[0]},n.abilities[1]&&this.dex.abilities.get(n.abilities[1]).gen<=this.dex.gen&&(this.abilities[1]=n.abilities[1]),this.dex.gen>=5&&n.abilities.H&&(this.abilities.H=n.abilities.H),this.dex.gen>=7&&n.abilities.S&&(this.abilities.S=n.abilities.S)):this.abilities={0:""},this.evos=null===(s=n.evos)||void 0===s?void 0:s.filter((function(t){return i(v.dex.species.get(t))})),this.nfe=!!(null===(r=this.evos)||void 0===r?void 0:r.length),this.nfe||(this.evos=void 0),this.cosmeticFormes=null===(a=n.cosmeticFormes)||void 0===a?void 0:a.filter((function(t){return i(v.dex.species.get(t))})),(null===(h=this.cosmeticFormes)||void 0===h?void 0:h.length)||(this.cosmeticFormes=void 0),this.otherFormes=null===(c=n.otherFormes)||void 0===c?void 0:c.filter((function(t){return i(v.dex.species.get(t))})),(null===(u=this.otherFormes)||void 0===u?void 0:u.length)||(this.otherFormes=void 0),this.formeOrder=null===(d=n.formeOrder)||void 0===d?void 0:d.filter((function(t){return i(v.dex.species.get(t))})),(null===(f=this.formeOrder)||void 0===f?void 0:f.length)||(this.formeOrder=void 0),this.formes=null===(l=this.formeOrder)||void 0===l?void 0:l.filter((function(t){return"Gigantamax"!==v.dex.species.get(t).isNonstandard})),this.prevo=n.prevo&&i(this.dex.species.get(n.prevo))?n.prevo:void 0}var e=t.prototype;return e.toString=function(){return this.name},e.toJSON=function(){return o({},this,new Set(["dex"]))},_createClass(t,[{key:"formeNum",get:function(){var t=this;return this.baseSpecies===this.name?this.formeOrder?this.formeOrder.findIndex((function(e){return e===t.name})):0:this.dex.species.get(this.baseSpecies).formeOrder.findIndex((function(e){return e===("Gigantamax"===t.isNonstandard?t.baseSpecies:t.name)}))}}]),t}();t.Specie=v,v.EXCLUDE=new Set(["abilities","cosmeticFormes","evos","gender","genderRatio","nfe","otherFormes","prevo"]);var p=function(){function t(t,e){this.dex=t,this.exists=e}return t.prototype.get=function(t){var e=this.dex.conditions.get(t);return this.exists(e)?e:void 0},t}();t.Conditions=p;var g=function(t){function e(t,e){this.dex=t,this.exists=e}var i=e.prototype;return i.get=function(t){if(!(this.dex.gen<3)){var e=this.dex.natures.get(t);return this.exists(e)?e:void 0}},i[t]=function*(){for(var t in this.dex.data.Natures){var e=this.get(t);e&&(yield e)}},e}(Symbol.iterator);t.Natures=g;var y={"-3":.125,"-2":.25,"-1":.5,0:1,1:2,2:4,3:8},x=function(t){function e(t,e){this.cache=Object.create(null),this.dex=t,this.exists=e,this.unknown=new b({effectType:"Type",kind:"Type",id:"",name:"???",exists:t.gen<=4,gen:1,damageTaken:{},HPivs:{},HPdvs:{}},t,this)}var i=e.prototype;return i.get=function(t){if("???"===t)return this.unknown;var e=this.dex.types.get(t);if(this.exists(e)){var i=this.cache[e.id];return i||(this.cache[e.id]=new b(e,this.dex,this))}},i[t]=function*(){for(var t in this.dex.data.Types){var e=this.get(t);e&&(yield e)}this.dex.gen>=2&&this.dex.gen<=4&&(yield this.unknown)},i.getHiddenPower=function(t){return this.dex.getHiddenPower(t)},i.canDamage=function(t,e){return this.dex.getImmunity(t,e)},i.totalEffectiveness=function(t,e){if(!this.canDamage(t,e))return 0;var i=""+this.dex.getEffectiveness(t,e);return y[i]},e}(Symbol.iterator);t.Types=x;var m=[1,2,.5,0],S=["Fire","Water","Grass","Electric","Ice","Psychic","Dark","Dragon"],b=function(){function t(t,e,i){for(var n in Object.assign(this,t),this.types=i,this.category="Fairy"===this.name?void 0:S.includes(this.name)?"Special":"Physical",this.effectiveness={"???":1},e.data.Types){var s=n.charAt(0).toUpperCase()+n.slice(1);this.effectiveness[s]=m[e.data.Types[n].damageTaken[this.name]||0]}}var e=t.prototype;return e.canDamage=function(t){return this.types.canDamage(this.name,t)},e.totalEffectiveness=function(t){return this.types.totalEffectiveness(this.name,t)},e.toString=function(){return this.name},e.toJSON=function(){return o({},this,new Set(["types"]))},t}();t.Type=b;var w=new Set(["cut","fly","surf","strength","flash","rocksmash","waterfall","dive"]),k=new Set(["cut","fly","surf","strength","rocksmash","waterfall","rockclimb"]),D=function(t){function s(t,e,i){this.cache=Object.create(null),this.gen=t,this.dex=e,this.exists=i}var r=s.prototype;return r.get=async function(t){var e=await this.dex.learnsets.get(a(t));return this.exists(e)?e:void 0},r[t]=function(){return i(this,arguments,(function*(){for(var t in this.dex.data.Learnsets||(yield e(this.dex.learnsets.get("LOAD"))),this.dex.data.Learnsets){var i=yield e(this.get(t));i&&(yield yield e(i))}}))},r.all=function(t){return i(this,arguments,(function*(){var i=t.id,n=yield e(this.get(i));for(n||(i="string"==typeof t.battleOnly&&t.battleOnly!==t.baseSpecies?a(t.battleOnly):a(t.baseSpecies),n=yield e(this.get(i)));n&&(yield yield e(n),i="lycanrocdusk"===i||"rockruff"===t.id&&"rockruff"===i?"rockruffdusk":"gastrodoneast"===t.id?"gastrodon":"pumpkaboosuper"===t.id?"pumpkaboo":a(t.battleOnly||t.changesFrom||t.prevo));){var s=this.gen.species.get(i);if(!s)break;t=s,n=yield e(this.get(i))}}))},r.learnable=async function(t,e){var i,s,r=this,o=this.gen.species.get(t);if(o){if(!e){var a=this.cache[o.id];if(a)return a}var h={};try{for(var c,u=n(this.all(o));!(c=await u.next()).done;){var d=c.value;if(d.learnset)for(var f in d.learnset){var l=this.gen.moves.get(f);if(l){var v=d.learnset[f];if(this.isLegal(l,v,e||this.gen)){var p=v.filter((function(t){return+t.charAt(0)<=r.gen.num}));if(!p.length)continue;if(h[l.id]){var g,y=[];t:for(var x=0;x<p.length;x++){for(var m=p[x],S=m.slice(0,2),b=0,w=h[l.id];b<w.length;b++){if(w[b].startsWith(S))continue t}y.push(m)}(g=h[l.id]).push.apply(g,y)}else h[l.id]=p}}}}}catch(t){i={error:t}}finally{try{c&&!c.done&&(s=u.return)&&await s.call(u)}finally{if(i)throw i.error}}return e||(this.cache[o.id]=h),h}},r.canLearn=async function(t,e,i){var s,r,o,a=this.gen.species.get(t);if(!a)return!1;if("string"==typeof(e="string"==typeof e&&this.gen.moves.get(e)||e))return!1;try{for(var h,c=n(this.all(a));!(h=await c.next()).done;){var u=h.value;if(this.isLegal(e,null===(o=u.learnset)||void 0===o?void 0:o[e.id],i||this.gen))return!0}}catch(t){s={error:t}}finally{try{h&&!h.done&&(r=c.return)&&await r.call(c)}finally{if(s)throw s.error}}return!1},r.isLegal=function(t,e,i){if(e){var n=e.map((function(t){return Number(t[0])})),s=Math.min.apply(Math,n),r=7===s&&e.every((function(t){return"7"!==t[0]||"7V"===t}))||8===s&&e.every((function(t){return"8"!==t[0]||"8V"===t}));if("Pentagon"===i)return n.includes(6);if("Plus"===i)return n.includes(7)&&!r;if("Galar"===i)return n.includes(8)&&!r;if(this.gen.num>=3&&s<=4&&(w.has(t.id)||k.has(t.id))){var o="",a=!1;3===s&&(o+="3",a=!0),a&&(a=!w.has(t.id)),(a||n.includes(4))&&(o+="4",a=!0),a&&(a=!k.has(t.id));var h=a?5:Math.min.apply(Math,n.filter((function(t){return t>4})));return(o+="012345678".slice(h)).includes(""+i.num)}return"012345678".slice(s).includes(""+i.num)}},s}(Symbol.iterator);t.Learnsets=D;var O=["hp","atk","def","spe","spa","spd"],_={HP:"hp",hp:"hp",Attack:"atk",Atk:"atk",atk:"atk",Defense:"def",Def:"def",def:"def","Special Attack":"spa",SpA:"spa",SAtk:"spa",SpAtk:"spa",spa:"spa",Special:"spa",spc:"spa",Spc:"spa","Special Defense":"spd",SpD:"spd",SDef:"spd",SpDef:"spd",spd:"spd",Speed:"spe",Spe:"spe",Spd:"spe",spe:"spe"},P={hp:["HP","HP"],atk:["Atk","Attack"],def:["Def","Defense"],spa:["SpA","Special Attack"],spd:["SpD","Special Defense"],spe:["Spe","Speed"],spc:["Spc","Special"]},I=function(t){function e(t){this.dex=t}var i=e.prototype;return i.calc=function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:31,n=arguments.length>3?arguments[3]:void 0,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:100,o=arguments.length>5?arguments[5]:void 0;if(void 0===n&&(n=this.dex.gen<3?252:0),this.dex.gen<3&&(i=2*this.toDV(i),o=void 0),"hp"===t)return 1===e?e:r(r(2*e+i+r(n/4)+100)*s/100+10);var a=r(r(2*e+i+r(n/4))*s/100+5);if(void 0!==o){if(o.plus===t)return r(r(110*a,16)/100);if(o.minus===t)return r(r(90*a,16)/100)}return a},i.get=function(t){return _[t]},i.display=function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=_[t];return void 0===i?t:(1===this.dex.gen&&"spa"===i&&(i="spc"),P[i][+e])},i.fill=function(t,e){for(var i=0;i<O.length;i++){var n=O[i];n in t||(t[n]=e)}return t},i.getHPDV=function(t){return this.toDV(void 0===t.atk?31:t.atk)%2*8+this.toDV(void 0===t.def?31:t.def)%2*4+this.toDV(void 0===t.spe?31:t.spe)%2*2+this.toDV(void 0===t.spa?31:t.spa)%2},i[t]=function*(){for(var t=0;t<O.length;t++){var e=O[t];yield e}},i.toDV=function(t){return Math.floor(t/2)},i.toIV=function(t){return 2*t+1},e}(Symbol.iterator);t.Stats=I,window.Generations=t.Generations}();
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../index.ts"],
4
+ "sourcesContent": ["import {\n AbilityName,\n Condition,\n Data,\n Dex,\n EggGroup,\n EvoType,\n FormeName,\n GenderName,\n GenerationNum,\n ID,\n ItemName,\n Move,\n MoveCategory,\n MoveName,\n MoveSource,\n Nature,\n Nonstandard,\n Species as DexSpecies,\n SpeciesAbility,\n SpeciesName,\n SpeciesTag,\n StatID,\n StatsTable,\n Tier,\n Type as DexType,\n TypeName,\n} from '@pkmn/dex-types';\n\nconst DEFAULT_EXISTS = (d: Data) => {\n if (!d.exists) return false;\n if ('isNonstandard' in d && d.isNonstandard) return false;\n if (d.kind === 'Ability' && d.id === 'noability') return false;\n return !('tier' in d && ['Illegal', 'Unreleased'].includes(d.tier));\n};\n\nconst tr = (num: number, bits = 0) => bits ? (num >>> 0) % (2 ** bits) : num >>> 0;\n\nexport type ExistsFn = (d: Data, g: GenerationNum) => boolean;\ntype BoundExistsFn = (d: Data) => boolean;\n\nfunction assignWithout(a: {[key: string]: any}, b: {[key: string]: any}, exclude: Set<string>) {\n for (const key in b) {\n if (Object.prototype.hasOwnProperty.call(b, key) && !exclude.has(key)) {\n a[key] = b[key];\n }\n }\n return a;\n}\n\nexport function toID(text: any): ID {\n if (text?.id) text = text.id;\n if (typeof text !== 'string' && typeof text !== 'number') return '';\n return ('' + text).toLowerCase().replace(/[^a-z0-9]+/g, '') as ID;\n}\n\nexport class Generations {\n private readonly cache = Object.create(null) as {[num: number]: Generation};\n\n private readonly dex: Dex;\n private readonly exists: ExistsFn;\n\n static DEFAULT_EXISTS = DEFAULT_EXISTS;\n\n constructor(dex: Dex, exists = Generations.DEFAULT_EXISTS) {\n this.dex = dex;\n this.exists = exists;\n }\n\n get(gen: GenerationNum) {\n if (this.cache[gen]) return this.cache[gen];\n return (this.cache[gen] = new Generation(this.dex.forGen(gen), d => this.exists(d, gen)));\n }\n\n *[Symbol.iterator]() {\n for (let gen = 1; gen <= 8; gen++) {\n yield this.get(gen as GenerationNum);\n }\n }\n}\n\nexport class Generation {\n readonly abilities: Abilities;\n readonly items: Items;\n readonly moves: Moves;\n readonly species: Species;\n readonly types: Types;\n readonly natures: Natures;\n readonly learnsets: Learnsets;\n readonly conditions: Conditions;\n readonly stats: Stats;\n\n readonly dex: Dex;\n\n private readonly exists: BoundExistsFn;\n\n constructor(dex: Dex, exists: BoundExistsFn) {\n this.dex = dex;\n this.exists = exists;\n\n this.abilities = new Abilities(this.dex, this.exists);\n this.items = new Items(this.dex, this.exists);\n this.moves = new Moves(this.dex, this.exists);\n this.species = new Species(this.dex, this.exists);\n this.natures = new Natures(this.dex, this.exists);\n this.types = new Types(this.dex, this.exists);\n this.learnsets = new Learnsets(this, this.dex, this.exists);\n this.conditions = new Conditions(this.dex, this.exists);\n this.stats = new Stats(this.dex);\n }\n\n get num() {\n return this.dex.gen;\n }\n\n toString() {\n return `[Generation:${this.num}]`;\n }\n\n toJSON() {\n return this.toString();\n }\n}\n\nexport class Abilities {\n private readonly dex: Dex;\n private readonly exists: BoundExistsFn;\n\n constructor(dex: Dex, exists: BoundExistsFn) {\n this.dex = dex;\n this.exists = exists;\n }\n\n get(name: string) {\n const ability = this.dex.abilities.get(name);\n return this.exists(ability) ? ability : undefined;\n }\n\n *[Symbol.iterator]() {\n for (const ability in this.dex.data.Abilities) {\n const a = this.get(ability);\n if (a) yield a;\n }\n }\n}\n\nexport class Items {\n private readonly dex: Dex;\n private readonly exists: BoundExistsFn;\n\n constructor(dex: Dex, exists: BoundExistsFn) {\n this.dex = dex;\n this.exists = exists;\n }\n\n get(name: string) {\n const item = this.dex.items.get(name);\n return this.exists(item) ? item : undefined;\n }\n\n *[Symbol.iterator]() {\n for (const item in this.dex.data.Items) {\n const i = this.get(item);\n if (i) yield i;\n }\n }\n}\n\nexport class Moves {\n private readonly dex: Dex;\n private readonly exists: BoundExistsFn;\n\n constructor(dex: Dex, exists: BoundExistsFn) {\n this.dex = dex;\n this.exists = exists;\n }\n\n get(name: string) {\n const move = this.dex.moves.get(name);\n return this.exists(move) ? move : undefined;\n }\n\n *[Symbol.iterator]() {\n for (const move in this.dex.data.Moves) {\n const m = this.get(move);\n if (m) yield m;\n }\n }\n}\n\nexport class Species {\n private readonly cache = Object.create(null) as { [id: string]: Specie };\n\n private readonly dex: Dex;\n private readonly exists: BoundExistsFn;\n\n constructor(dex: Dex, exists: BoundExistsFn) {\n this.dex = dex;\n this.exists = exists;\n }\n\n get(name: string) {\n const species = this.dex.species.get(name);\n if (!this.exists(species)) return undefined;\n const id = (species as any).speciesid || species.id; // FIXME Event-only ability hack\n const cached = this.cache[id];\n if (cached) return cached;\n return (this.cache[id] = new Specie(this.dex, this.exists, species));\n }\n\n *[Symbol.iterator]() {\n for (const species in this.dex.data.Species) {\n const s = this.get(species);\n if (s) yield s;\n }\n }\n}\n\nexport class Specie implements DexSpecies {\n readonly id!: ID;\n readonly name!: SpeciesName;\n readonly fullname!: string;\n readonly exists!: boolean;\n readonly num!: number;\n readonly gen!: GenerationNum;\n readonly shortDesc!: string;\n readonly desc!: string;\n readonly isNonstandard!: Nonstandard | null;\n readonly duration?: number;\n\n readonly effectType!: 'Pokemon';\n readonly kind!: 'Species';\n readonly baseStats!: StatsTable;\n readonly baseSpecies!: SpeciesName;\n readonly baseForme!: FormeName | '';\n readonly forme!: FormeName | '';\n readonly abilities!: SpeciesAbility<AbilityName | ''>;\n readonly types!: [TypeName] | [TypeName, TypeName];\n readonly prevo?: SpeciesName | '';\n readonly evos?: SpeciesName[];\n readonly nfe: boolean;\n readonly eggGroups!: EggGroup[];\n readonly weightkg!: number;\n readonly weighthg!: number;\n readonly tags!: SpeciesTag[];\n readonly unreleasedHidden!: boolean | 'Past';\n readonly maleOnlyHidden!: boolean;\n readonly inheritsFrom!: ID;\n readonly tier!: Tier.Singles | Tier.Other;\n readonly doublesTier!: Tier.Doubles;\n\n readonly evoMove?: MoveName;\n readonly changesFrom?: SpeciesName;\n readonly cosmeticFormes?: SpeciesName[];\n readonly otherFormes?: SpeciesName[];\n readonly formeOrder?: SpeciesName[];\n readonly formes?: SpeciesName[];\n readonly genderRatio: { M: number; F: number };\n readonly isMega?: boolean;\n readonly isPrimal?: boolean;\n readonly battleOnly?: SpeciesName | SpeciesName[];\n readonly isGigantamax?: MoveName;\n readonly requiredAbility?: AbilityName;\n readonly requiredItem?: ItemName;\n readonly requiredItems?: ItemName[];\n readonly requiredMove?: MoveName;\n readonly gender?: GenderName;\n readonly maxHP?: number;\n readonly evoLevel?: number;\n readonly evoCondition?: string;\n readonly evoItem?: string;\n readonly evoType?: EvoType;\n readonly condition?: Partial<Condition>;\n readonly canHatch!: boolean;\n\n private readonly dex: Dex;\n\n private static readonly EXCLUDE = new Set([\n 'abilities',\n 'cosmeticFormes',\n 'evos',\n 'gender',\n 'genderRatio',\n 'nfe',\n 'otherFormes',\n 'prevo',\n ]);\n\n constructor(dex: Dex, exists: BoundExistsFn, species: DexSpecies) {\n assignWithout(this, species, Specie.EXCLUDE);\n this.dex = dex;\n if (this.dex.gen >= 2) {\n this.gender = species.gender;\n this.genderRatio = species.genderRatio;\n } else {\n this.genderRatio = {M: 0, F: 0};\n }\n if (this.dex.gen >= 3) {\n this.abilities = {0: species.abilities[0]};\n // \"because PS\", Pokemon have the abilities that were added in Gen 4 in Gen 3 :bigthonk:\n if (species.abilities[1] &&\n this.dex.abilities.get(species.abilities[1]).gen <= this.dex.gen) {\n this.abilities[1] = species.abilities[1];\n }\n if (this.dex.gen >= 5 && species.abilities.H) this.abilities.H = species.abilities.H;\n if (this.dex.gen >= 7 && species.abilities.S) this.abilities.S = species.abilities.S;\n } else {\n this.abilities = {0: ''};\n }\n this.evos = species.evos?.filter(s => exists(this.dex.species.get(s)));\n this.nfe = !!this.evos?.length;\n if (!this.nfe) this.evos = undefined;\n this.cosmeticFormes = species.cosmeticFormes?.filter(s => exists(this.dex.species.get(s)));\n if (!this.cosmeticFormes?.length) this.cosmeticFormes = undefined;\n this.otherFormes = species.otherFormes?.filter(s => exists(this.dex.species.get(s)));\n if (!this.otherFormes?.length) this.otherFormes = undefined;\n this.formeOrder = species.formeOrder?.filter(s => exists(this.dex.species.get(s)));\n if (!this.formeOrder?.length) this.formeOrder = undefined;\n this.formes = this.formeOrder?.filter(s => !this.dex.species.get(s).isGigantamax);\n this.prevo =\n species.prevo && exists(this.dex.species.get(species.prevo)) ? species.prevo : undefined;\n }\n\n get formeNum() {\n return (this.baseSpecies === this.name\n ? this.formeOrder ? this.formeOrder.findIndex(name => name === this.name) : 0\n : this.dex.species.get(this.baseSpecies).formeOrder!.findIndex(\n name => name === (this.isGigantamax ? this.baseSpecies : this.name)\n ));\n }\n\n toString() {\n return this.name;\n }\n\n toJSON() {\n return assignWithout({}, this, new Set(['dex']));\n }\n}\n\nexport class Conditions {\n private readonly dex: Dex;\n private readonly exists: BoundExistsFn;\n\n constructor(dex: Dex, exists: BoundExistsFn) {\n this.dex = dex;\n this.exists = exists;\n }\n\n get(name: string) {\n const condition = this.dex.conditions.get(name);\n return this.exists(condition) ? condition : undefined;\n }\n}\n\nexport class Natures {\n private readonly dex: Dex;\n private readonly exists: BoundExistsFn;\n\n constructor(dex: Dex, exists: BoundExistsFn) {\n this.dex = dex;\n this.exists = exists;\n }\n\n get(name: string) {\n if (this.dex.gen < 3) return undefined;\n const nature = this.dex.natures.get(name);\n return this.exists(nature) ? nature : undefined;\n }\n\n *[Symbol.iterator]() {\n for (const nature in this.dex.data.Natures) {\n const n = this.get(nature);\n if (n) yield n;\n }\n }\n}\n\nconst EFFECTIVENESS = {\n '-3': 0.125,\n '-2': 0.25,\n '-1': 0.5,\n '0': 1,\n '1': 2,\n '2': 4,\n '3': 8,\n};\n\ntype TypeTarget = { getTypes: () => TypeName[] } | { types: TypeName[] } | TypeName[] | TypeName;\n\nexport class Types {\n private readonly cache = Object.create(null) as { [id: string]: Type };\n\n private readonly unknown: Type;\n private readonly dex: Dex;\n private readonly exists: BoundExistsFn;\n\n constructor(dex: Dex, exists: BoundExistsFn) {\n this.dex = dex;\n this.exists = exists;\n // PS doesn't contain data for the '???' type\n this.unknown = new Type({\n effectType: 'Type',\n kind: 'Type',\n // Regrettably PS ID's can't represent '???'\n id: '',\n name: '???',\n // Technically this only exists as a true type in Gens 2-4, but there are moves dealing\n // typeless damage in Gen 1 so we include it there.\n exists: dex.gen <= 4,\n gen: 1,\n // This gets filled in for us by Type's constructor\n damageTaken: {} as { [t in Exclude<TypeName, '???'>]: number },\n HPivs: {},\n HPdvs: {},\n }, dex, this);\n }\n\n get(name: string) {\n if (name === '???') return this.unknown;\n const type = this.dex.types.get(name);\n if (!this.exists(type)) return undefined;\n const cached = this.cache[type.id];\n if (cached) return cached;\n return (this.cache[type.id] = new Type(type, this.dex, this));\n }\n\n *[Symbol.iterator]() {\n for (const type in this.dex.data.Types) {\n const t = this.get(type);\n if (t) yield t;\n }\n if (this.dex.gen >= 2 && this.dex.gen <= 4) {\n yield this.unknown;\n }\n }\n\n getHiddenPower(ivs: StatsTable) {\n return this.dex.getHiddenPower(ivs);\n }\n\n canDamage(source: { type: TypeName } | TypeName, target: TypeTarget) {\n return this.dex.getImmunity(source, target);\n }\n\n totalEffectiveness(source: { type: TypeName } | TypeName, target: TypeTarget) {\n if (!this.canDamage(source, target)) return 0;\n const e = `${this.dex.getEffectiveness(source, target)}`;\n // convert from PS's ridiculous encoding to something usable\n return EFFECTIVENESS[e as keyof typeof EFFECTIVENESS];\n }\n}\n\nexport type TypeEffectiveness = 0 | 0.5 | 1 | 2;\n\nconst DAMAGE_TAKEN = [1, 2, 0.5, 0] as TypeEffectiveness[];\nconst SPECIAL = ['Fire', 'Water', 'Grass', 'Electric', 'Ice', 'Psychic', 'Dark', 'Dragon'];\n\nexport class Type {\n readonly id!: ID;\n readonly name!: TypeName;\n readonly effectType!: 'Type';\n readonly kind!: 'Type';\n readonly exists!: boolean;\n readonly gen!: GenerationNum;\n readonly effectiveness: { [t in TypeName]: TypeEffectiveness };\n readonly HPivs!: Partial<StatsTable>;\n readonly HPdvs!: Partial<StatsTable>;\n readonly category?: Exclude<MoveCategory, 'Status'>;\n\n private readonly types: Types;\n\n constructor(type: DexType, dex: Dex, types: Types) {\n Object.assign(this, type);\n this.types = types;\n this.category =\n this.name === 'Fairy' ? undefined : SPECIAL.includes(this.name) ? 'Special' : 'Physical';\n // convert from PS's ridiculous encoding to something usable (plus damage taken -> dealt)\n this.effectiveness = {'???': 1} as { [t in TypeName]: TypeEffectiveness };\n for (const k in dex.data.Types) {\n const t = k.charAt(0).toUpperCase() + k.slice(1) as Exclude<TypeName, '???'>;\n this.effectiveness[t] = DAMAGE_TAKEN[dex.data.Types[k].damageTaken[this.name] || 0];\n }\n }\n\n canDamage(target: TypeTarget) {\n return this.types.canDamage(this.name, target);\n }\n\n totalEffectiveness(target: TypeTarget) {\n return this.types.totalEffectiveness(this.name, target);\n }\n\n toString() {\n return this.name;\n }\n\n toJSON() {\n return assignWithout({}, this, new Set(['types']));\n }\n}\n\nconst GEN3_HMS =\n new Set(['cut', 'fly', 'surf', 'strength', 'flash', 'rocksmash', 'waterfall', 'dive'] as ID[]);\n// NOTE: Whirlpool and Defog are Gen 4 HMs but the HMs differ in DPPt vs. HGSS\nconst GEN4_HMS =\n new Set(['cut', 'fly', 'surf', 'strength', 'rocksmash', 'waterfall', 'rockclimb'] as ID[]);\n\ntype Restriction = 'Pentagon' | 'Plus' | 'Galar';\n\nexport class Learnsets {\n private readonly cache = Object.create(null) as {\n [speciesid: string]: {[moveid: string]: MoveSource[]};\n };\n\n private readonly gen: Generation;\n private readonly dex: Dex;\n private readonly exists: BoundExistsFn;\n\n constructor(gen: Generation, dex: Dex, exists: BoundExistsFn) {\n this.gen = gen;\n this.dex = dex;\n this.exists = exists;\n }\n\n async get(name: string) {\n const learnset = await this.dex.learnsets.get(toID(name));\n return this.exists(learnset) ? learnset : undefined;\n }\n\n async *[Symbol.iterator]() {\n if (!this.dex.data.Learnsets) await this.dex.learnsets.get('LOAD' as ID);\n for (const id in this.dex.data.Learnsets) {\n const l = await this.get(id);\n if (l) yield l;\n }\n }\n\n async* all(species: Specie) {\n let id = species.id;\n let learnset = await this.get(id);\n if (!learnset) {\n id = typeof species.battleOnly === 'string' && species.battleOnly !== species.baseSpecies\n ? toID(species.battleOnly)\n : toID(species.baseSpecies);\n learnset = await this.get(id);\n }\n\n while (learnset) {\n yield learnset;\n\n if (id === 'lycanrocdusk' || (species.id === 'rockruff' && id === 'rockruff')) {\n id = 'rockruffdusk' as ID;\n } else if (species.id === 'gastrodoneast') {\n id = 'gastrodon' as ID;\n } else if (species.id === 'pumpkaboosuper') {\n id = 'pumpkaboo' as ID;\n } else {\n id = toID(species.battleOnly || species.changesFrom || species.prevo);\n }\n\n if (!id) break;\n const s = this.gen.species.get(id);\n if (!s) break;\n species = s;\n learnset = await this.get(id);\n }\n }\n\n // BUG: this only covers what Pok\u00E9mon Showdown deems \"teambuilder legality\" - proper legality\n // checks/restriction enforcement requires @pkmn/sim's TeamValidator.\n async learnable(name: string, restriction?: Restriction) {\n const species = this.gen.species.get(name);\n if (!species) return undefined;\n\n if (!restriction) {\n const cached = this.cache[species.id];\n if (cached) return cached;\n }\n\n const moves: {[moveid: string]: MoveSource[]} = {};\n\n for await (const learnset of this.all(species)) {\n if (learnset.learnset) {\n for (const moveid in learnset.learnset) {\n const move = this.gen.moves.get(moveid);\n if (move) {\n const sources = learnset.learnset[moveid];\n if (this.isLegal(move, sources, restriction || this.gen)) {\n moves[move.id] = sources.filter(s => +s.charAt(0) <= this.gen.num);\n }\n }\n }\n }\n }\n\n if (!restriction) this.cache[species.id] = moves;\n return moves;\n }\n\n // BUG: this only covers what Pok\u00E9mon Showdown deems \"teambuilder legality\" - proper legality\n // checks/restriction enforcement requires @pkmn/sim's TeamValidator.\n async canLearn(name: string, move: Move | string, restriction?: Restriction) {\n const species = this.gen.species.get(name);\n if (!species) return false;\n\n move = typeof move === 'string' && this.gen.moves.get(move) || move;\n if (typeof move === 'string') return false;\n\n for await (const learnset of this.all(species)) {\n if (this.isLegal(move, learnset.learnset?.[move.id], restriction || this.gen)) {\n return true;\n }\n }\n\n return false;\n }\n\n // BUG: this only covers what Pok\u00E9mon Showdown deems \"teambuilder legality\" - proper legality\n // checks/restriction enforcement requires @pkmn/sim's TeamValidator.\n isLegal(move: Move, sources: MoveSource[] | undefined, gen: Generation | Restriction) {\n if (!sources) return undefined;\n\n const gens = sources.map(x => Number(x[0]));\n const minGen = Math.min(...gens);\n const vcOnly = (\n minGen === 7 && sources.every(x => x[0] !== '7' || x === '7V') ||\n minGen === 8 && sources.every(x => x[0] !== '8' || x === '8V')\n );\n\n if (gen === 'Pentagon') return gens.includes(6);\n if (gen === 'Plus') return gens.includes(7) && !vcOnly;\n if (gen === 'Galar') return gens.includes(8) && !vcOnly;\n\n if (this.gen.num >= 3 && minGen <= 4 && (GEN3_HMS.has(move.id) || GEN4_HMS.has(move.id))) {\n let legalGens = '';\n let available = false;\n\n if (minGen === 3) {\n legalGens += '3';\n available = true;\n }\n if (available) available = !GEN3_HMS.has(move.id);\n\n if (available || gens.includes(4)) {\n legalGens += '4';\n available = true;\n }\n if (available) available = !GEN4_HMS.has(move.id);\n\n const minUpperGen = available ? 5 : Math.min(...gens.filter(g => g > 4));\n legalGens += '012345678'.slice(minUpperGen);\n return legalGens.includes(`${gen.num}`);\n } else {\n return '012345678'.slice(minGen).includes(`${gen.num}`);\n }\n }\n}\n\nconst STATS = ['hp', 'atk', 'def', 'spe', 'spa', 'spd'] as const;\n\nconst NAMES: Readonly<{ [name: string]: StatID }> = {\n HP: 'hp', hp: 'hp',\n Attack: 'atk', Atk: 'atk', atk: 'atk',\n Defense: 'def', Def: 'def', def: 'def',\n 'Special Attack': 'spa', SpA: 'spa', SAtk: 'spa', SpAtk: 'spa', spa: 'spa',\n Special: 'spa', spc: 'spa', Spc: 'spa',\n 'Special Defense': 'spd', SpD: 'spd', SDef: 'spd', SpDef: 'spd', spd: 'spd',\n Speed: 'spe', Spe: 'spe', Spd: 'spe', spe: 'spe',\n};\n\nconst DISPLAY: Readonly<{ [stat: string]: Readonly<[string, string]> }> = {\n hp: ['HP', 'HP'],\n atk: ['Atk', 'Attack'],\n def: ['Def', 'Defense'],\n spa: ['SpA', 'Special Attack'],\n spd: ['SpD', 'Special Defense'],\n spe: ['Spe', 'Speed'],\n spc: ['Spc', 'Special'],\n};\n\nexport class Stats {\n private readonly dex: Dex;\n constructor(dex: Dex) {\n this.dex = dex;\n }\n\n calc(stat: StatID, base: number, iv = 31, ev?: number, level = 100, nature?: Nature) {\n if (ev === undefined) ev = this.dex.gen < 3 ? 252 : 0;\n if (this.dex.gen < 3) {\n iv = this.toDV(iv) * 2;\n nature = undefined;\n }\n if (stat === 'hp') {\n return base === 1 ? base : tr(tr(2 * base + iv + tr(ev / 4) + 100) * level / 100 + 10);\n } else {\n const val = tr(tr(2 * base + iv + tr(ev / 4)) * level / 100 + 5);\n if (nature !== undefined) {\n if (nature.plus === stat) return tr(tr(val * 110, 16) / 100);\n if (nature.minus === stat) return tr(tr(val * 90, 16) / 100);\n }\n return val;\n }\n }\n\n get(s: string): StatID | undefined {\n return NAMES[s];\n }\n\n display(str: string, full = false): string {\n let s: StatID | 'spc' | undefined = NAMES[str];\n if (s === undefined) return str;\n if (this.dex.gen === 1 && s === 'spa') s = 'spc';\n return DISPLAY[s][+full];\n }\n\n fill<T>(stats: Partial<StatsTable<T>>, val: T): StatsTable<T> {\n for (const stat of STATS) {\n if (!(stat in stats)) stats[stat] = val;\n }\n return stats as StatsTable<T>;\n }\n\n getHPDV(ivs: Partial<StatsTable>): number {\n return (\n (this.toDV(ivs.atk === undefined ? 31 : ivs.atk) % 2) * 8 +\n (this.toDV(ivs.def === undefined ? 31 : ivs.def) % 2) * 4 +\n (this.toDV(ivs.spe === undefined ? 31 : ivs.spe) % 2) * 2 +\n (this.toDV(ivs.spa === undefined ? 31 : ivs.spa) % 2)\n );\n }\n\n *[Symbol.iterator](): IterableIterator<StatID> {\n for (const s of STATS) {\n yield s;\n }\n }\n\n toDV(iv: number): number {\n return Math.floor(iv / 2);\n }\n\n toIV(dv: number): number {\n return dv * 2 + 1;\n }\n}\n\nexport {\n ID,\n As,\n Weather,\n FieldCondition,\n SideCondition,\n GenerationNum,\n GenderName,\n StatID,\n StatsTable,\n BoostID,\n BoostsTable,\n MoveCategory,\n MoveTarget,\n Nonstandard,\n EvoType,\n EggGroup,\n SideID,\n Player,\n GameType,\n HPColor,\n StatusName,\n NatureName,\n TypeName,\n HPTypeName,\n Tier,\n PokemonSet,\n AbilityName,\n ItemName,\n MoveName,\n SpeciesName,\n FormeName,\n EffectType,\n Effect,\n DataKind,\n Data,\n EffectData,\n HitEffect,\n SecondaryEffect,\n ConditionData,\n AbilityData,\n ItemData,\n MoveData,\n SpeciesData,\n MoveSource,\n EventInfoData,\n LearnsetData,\n TypeData,\n NatureData,\n BasicEffect,\n Condition,\n Ability,\n Item,\n Move,\n // Species,\n EventInfo,\n Learnset,\n // Type,\n Nature,\n GenID,\n Dex,\n} from '@pkmn/dex-types';\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1 @@
1
+ var _this=this;function _defineProperties(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function _createClass(t,e,i){return e&&_defineProperties(t.prototype,e),i&&_defineProperties(t,i),Object.defineProperty(t,"prototype",{writable:!1}),t}!function(){"use strict";var t={},e=_this&&_this.__await||function(t){return this instanceof e?(this.v=t,this):new e(t)},i=_this&&_this.__asyncGenerator||function(t,i,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var s,r=n.apply(t,i||[]),o=[];return s={},a("next"),a("throw"),a("return"),s[Symbol.asyncIterator]=function(){return this},s;function a(t){r[t]&&(s[t]=function(e){return new Promise((function(i,n){o.push([t,e,i,n])>1||h(t,e)}))})}function h(t,i){try{(n=r[t](i)).value instanceof e?Promise.resolve(n.value.v).then(c,u):d(o[0][2],n)}catch(t){d(o[0][3],t)}var n}function c(t){h("next",t)}function u(t){h("throw",t)}function d(t,e){t(e),o.shift(),o.length&&h(o[0][0],o[0][1])}},n=_this&&_this.__asyncValues||function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,i=t[Symbol.asyncIterator];return i?i.call(t):(t="function"==typeof __values?__values(t):t[Symbol.iterator](),e={},n("next"),n("throw"),n("return"),e[Symbol.asyncIterator]=function(){return this},e);function n(i){e[i]=t[i]&&function(e){return new Promise((function(n,s){(function(t,e,i,n){Promise.resolve(n).then((function(e){t({value:e,done:i})}),e)})(n,s,(e=t[i](e)).done,e.value)}))}}};t.Stats=t.Learnsets=t.Type=t.Types=t.Natures=t.Conditions=t.Specie=t.Species=t.Moves=t.Items=t.Abilities=t.Generation=t.Generations=t.toID=void 0;var s=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e?(t>>>0)%2**e:t>>>0};function r(t,e,i){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&!i.has(n)&&(t[n]=e[n]);return t}function o(t){return(null==t?void 0:t.id)&&(t=t.id),"string"!=typeof t&&"number"!=typeof t?"":(""+t).toLowerCase().replace(/[^a-z0-9]+/g,"")}t.toID=o;var a=function(t){function e(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.DEFAULT_EXISTS;this.cache=Object.create(null),this.dex=t,this.exists=i}var i=e.prototype;return i.get=function(t){var e=this;return this.cache[t]?this.cache[t]:this.cache[t]=new h(this.dex.forGen(t),(function(i){return e.exists(i,t)}))},i[t]=function*(){for(var t=1;t<=8;t++)yield this.get(t)},e}(Symbol.iterator);t.Generations=a,a.DEFAULT_EXISTS=function(t){return!!t.exists&&((!("isNonstandard"in t)||!t.isNonstandard)&&(("Ability"!==t.kind||"noability"!==t.id)&&!("tier"in t&&["Illegal","Unreleased"].includes(t.tier))))};var h=function(){function t(t,e){this.dex=t,this.exists=e,this.abilities=new c(this.dex,this.exists),this.items=new u(this.dex,this.exists),this.moves=new d(this.dex,this.exists),this.species=new f(this.dex,this.exists),this.natures=new p(this.dex,this.exists),this.types=new y(this.dex,this.exists),this.learnsets=new k(this,this.dex,this.exists),this.conditions=new v(this.dex,this.exists),this.stats=new P(this.dex)}var e=t.prototype;return e.toString=function(){return"[Generation:"+this.num+"]"},e.toJSON=function(){return this.toString()},_createClass(t,[{key:"num",get:function(){return this.dex.gen}}]),t}();t.Generation=h;var c=function(t){function e(t,e){this.dex=t,this.exists=e}var i=e.prototype;return i.get=function(t){var e=this.dex.abilities.get(t);return this.exists(e)?e:void 0},i[t]=function*(){for(var t in this.dex.data.Abilities){var e=this.get(t);e&&(yield e)}},e}(Symbol.iterator);t.Abilities=c;var u=function(t){function e(t,e){this.dex=t,this.exists=e}var i=e.prototype;return i.get=function(t){var e=this.dex.items.get(t);return this.exists(e)?e:void 0},i[t]=function*(){for(var t in this.dex.data.Items){var e=this.get(t);e&&(yield e)}},e}(Symbol.iterator);t.Items=u;var d=function(t){function e(t,e){this.dex=t,this.exists=e}var i=e.prototype;return i.get=function(t){var e=this.dex.moves.get(t);return this.exists(e)?e:void 0},i[t]=function*(){for(var t in this.dex.data.Moves){var e=this.get(t);e&&(yield e)}},e}(Symbol.iterator);t.Moves=d;var f=function(t){function e(t,e){this.cache=Object.create(null),this.dex=t,this.exists=e}var i=e.prototype;return i.get=function(t){var e=this.dex.species.get(t);if(this.exists(e)){var i=e.speciesid||e.id,n=this.cache[i];return n||(this.cache[i]=new l(this.dex,this.exists,e))}},i[t]=function*(){for(var t in this.dex.data.Species){var e=this.get(t);e&&(yield e)}},e}(Symbol.iterator);t.Species=f;var l=function(){function t(e,i,n){var s,o,a,h,c,u,d,f,l,v=this;r(this,n,t.EXCLUDE),this.dex=e,this.dex.gen>=2?(this.gender=n.gender,this.genderRatio=n.genderRatio):this.genderRatio={M:0,F:0},this.dex.gen>=3?(this.abilities={0:n.abilities[0]},n.abilities[1]&&this.dex.abilities.get(n.abilities[1]).gen<=this.dex.gen&&(this.abilities[1]=n.abilities[1]),this.dex.gen>=5&&n.abilities.H&&(this.abilities.H=n.abilities.H),this.dex.gen>=7&&n.abilities.S&&(this.abilities.S=n.abilities.S)):this.abilities={0:""},this.evos=null===(s=n.evos)||void 0===s?void 0:s.filter((function(t){return i(v.dex.species.get(t))})),this.nfe=!!(null===(o=this.evos)||void 0===o?void 0:o.length),this.nfe||(this.evos=void 0),this.cosmeticFormes=null===(a=n.cosmeticFormes)||void 0===a?void 0:a.filter((function(t){return i(v.dex.species.get(t))})),(null===(h=this.cosmeticFormes)||void 0===h?void 0:h.length)||(this.cosmeticFormes=void 0),this.otherFormes=null===(c=n.otherFormes)||void 0===c?void 0:c.filter((function(t){return i(v.dex.species.get(t))})),(null===(u=this.otherFormes)||void 0===u?void 0:u.length)||(this.otherFormes=void 0),this.formeOrder=null===(d=n.formeOrder)||void 0===d?void 0:d.filter((function(t){return i(v.dex.species.get(t))})),(null===(f=this.formeOrder)||void 0===f?void 0:f.length)||(this.formeOrder=void 0),this.formes=null===(l=this.formeOrder)||void 0===l?void 0:l.filter((function(t){return!v.dex.species.get(t).isGigantamax})),this.prevo=n.prevo&&i(this.dex.species.get(n.prevo))?n.prevo:void 0}var e=t.prototype;return e.toString=function(){return this.name},e.toJSON=function(){return r({},this,new Set(["dex"]))},_createClass(t,[{key:"formeNum",get:function(){var t=this;return this.baseSpecies===this.name?this.formeOrder?this.formeOrder.findIndex((function(e){return e===t.name})):0:this.dex.species.get(this.baseSpecies).formeOrder.findIndex((function(e){return e===(t.isGigantamax?t.baseSpecies:t.name)}))}}]),t}();t.Specie=l,l.EXCLUDE=new Set(["abilities","cosmeticFormes","evos","gender","genderRatio","nfe","otherFormes","prevo"]);var v=function(){function t(t,e){this.dex=t,this.exists=e}return t.prototype.get=function(t){var e=this.dex.conditions.get(t);return this.exists(e)?e:void 0},t}();t.Conditions=v;var p=function(t){function e(t,e){this.dex=t,this.exists=e}var i=e.prototype;return i.get=function(t){if(!(this.dex.gen<3)){var e=this.dex.natures.get(t);return this.exists(e)?e:void 0}},i[t]=function*(){for(var t in this.dex.data.Natures){var e=this.get(t);e&&(yield e)}},e}(Symbol.iterator);t.Natures=p;var g={"-3":.125,"-2":.25,"-1":.5,0:1,1:2,2:4,3:8},y=function(t){function e(t,e){this.cache=Object.create(null),this.dex=t,this.exists=e,this.unknown=new S({effectType:"Type",kind:"Type",id:"",name:"???",exists:t.gen<=4,gen:1,damageTaken:{},HPivs:{},HPdvs:{}},t,this)}var i=e.prototype;return i.get=function(t){if("???"===t)return this.unknown;var e=this.dex.types.get(t);if(this.exists(e)){var i=this.cache[e.id];return i||(this.cache[e.id]=new S(e,this.dex,this))}},i[t]=function*(){for(var t in this.dex.data.Types){var e=this.get(t);e&&(yield e)}this.dex.gen>=2&&this.dex.gen<=4&&(yield this.unknown)},i.getHiddenPower=function(t){return this.dex.getHiddenPower(t)},i.canDamage=function(t,e){return this.dex.getImmunity(t,e)},i.totalEffectiveness=function(t,e){if(!this.canDamage(t,e))return 0;var i=""+this.dex.getEffectiveness(t,e);return g[i]},e}(Symbol.iterator);t.Types=y;var x=[1,2,.5,0],m=["Fire","Water","Grass","Electric","Ice","Psychic","Dark","Dragon"],S=function(){function t(t,e,i){for(var n in Object.assign(this,t),this.types=i,this.category="Fairy"===this.name?void 0:m.includes(this.name)?"Special":"Physical",this.effectiveness={"???":1},e.data.Types){var s=n.charAt(0).toUpperCase()+n.slice(1);this.effectiveness[s]=x[e.data.Types[n].damageTaken[this.name]||0]}}var e=t.prototype;return e.canDamage=function(t){return this.types.canDamage(this.name,t)},e.totalEffectiveness=function(t){return this.types.totalEffectiveness(this.name,t)},e.toString=function(){return this.name},e.toJSON=function(){return r({},this,new Set(["types"]))},t}();t.Type=S;var b=new Set(["cut","fly","surf","strength","flash","rocksmash","waterfall","dive"]),w=new Set(["cut","fly","surf","strength","rocksmash","waterfall","rockclimb"]),k=function(t){function s(t,e,i){this.cache=Object.create(null),this.gen=t,this.dex=e,this.exists=i}var r=s.prototype;return r.get=async function(t){var e=await this.dex.learnsets.get(o(t));return this.exists(e)?e:void 0},r[t]=function(){return i(this,arguments,(function*(){for(var t in this.dex.data.Learnsets||(yield e(this.dex.learnsets.get("LOAD"))),this.dex.data.Learnsets){var i=yield e(this.get(t));i&&(yield yield e(i))}}))},r.all=function(t){return i(this,arguments,(function*(){var i=t.id,n=yield e(this.get(i));for(n||(i="string"==typeof t.battleOnly&&t.battleOnly!==t.baseSpecies?o(t.battleOnly):o(t.baseSpecies),n=yield e(this.get(i)));n&&(yield yield e(n),i="lycanrocdusk"===i||"rockruff"===t.id&&"rockruff"===i?"rockruffdusk":"gastrodoneast"===t.id?"gastrodon":"pumpkaboosuper"===t.id?"pumpkaboo":o(t.battleOnly||t.changesFrom||t.prevo));){var s=this.gen.species.get(i);if(!s)break;t=s,n=yield e(this.get(i))}}))},r.learnable=async function(t,e){var i,s,r=this,o=this.gen.species.get(t);if(o){if(!e){var a=this.cache[o.id];if(a)return a}var h={};try{for(var c,u=n(this.all(o));!(c=await u.next()).done;){var d=c.value;if(d.learnset)for(var f in d.learnset){var l=this.gen.moves.get(f);if(l){var v=d.learnset[f];this.isLegal(l,v,e||this.gen)&&(h[l.id]=v.filter((function(t){return+t.charAt(0)<=r.gen.num})))}}}}catch(t){i={error:t}}finally{try{c&&!c.done&&(s=u.return)&&await s.call(u)}finally{if(i)throw i.error}}return e||(this.cache[o.id]=h),h}},r.canLearn=async function(t,e,i){var s,r,o,a=this.gen.species.get(t);if(!a)return!1;if("string"==typeof(e="string"==typeof e&&this.gen.moves.get(e)||e))return!1;try{for(var h,c=n(this.all(a));!(h=await c.next()).done;){var u=h.value;if(this.isLegal(e,null===(o=u.learnset)||void 0===o?void 0:o[e.id],i||this.gen))return!0}}catch(t){s={error:t}}finally{try{h&&!h.done&&(r=c.return)&&await r.call(c)}finally{if(s)throw s.error}}return!1},r.isLegal=function(t,e,i){if(e){var n=e.map((function(t){return Number(t[0])})),s=Math.min.apply(Math,n),r=7===s&&e.every((function(t){return"7"!==t[0]||"7V"===t}))||8===s&&e.every((function(t){return"8"!==t[0]||"8V"===t}));if("Pentagon"===i)return n.includes(6);if("Plus"===i)return n.includes(7)&&!r;if("Galar"===i)return n.includes(8)&&!r;if(this.gen.num>=3&&s<=4&&(b.has(t.id)||w.has(t.id))){var o="",a=!1;3===s&&(o+="3",a=!0),a&&(a=!b.has(t.id)),(a||n.includes(4))&&(o+="4",a=!0),a&&(a=!w.has(t.id));var h=a?5:Math.min.apply(Math,n.filter((function(t){return t>4})));return(o+="012345678".slice(h)).includes(""+i.num)}return"012345678".slice(s).includes(""+i.num)}},s}(Symbol.iterator);t.Learnsets=k;var D=["hp","atk","def","spe","spa","spd"],O={HP:"hp",hp:"hp",Attack:"atk",Atk:"atk",atk:"atk",Defense:"def",Def:"def",def:"def","Special Attack":"spa",SpA:"spa",SAtk:"spa",SpAtk:"spa",spa:"spa",Special:"spa",spc:"spa",Spc:"spa","Special Defense":"spd",SpD:"spd",SDef:"spd",SpDef:"spd",spd:"spd",Speed:"spe",Spe:"spe",Spd:"spe",spe:"spe"},_={hp:["HP","HP"],atk:["Atk","Attack"],def:["Def","Defense"],spa:["SpA","Special Attack"],spd:["SpD","Special Defense"],spe:["Spe","Speed"],spc:["Spc","Special"]},P=function(t){function e(t){this.dex=t}var i=e.prototype;return i.calc=function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:31,n=arguments.length>3?arguments[3]:void 0,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:100,o=arguments.length>5?arguments[5]:void 0;if(void 0===n&&(n=this.dex.gen<3?252:0),this.dex.gen<3&&(i=2*this.toDV(i),o=void 0),"hp"===t)return 1===e?e:s(s(2*e+i+s(n/4)+100)*r/100+10);var a=s(s(2*e+i+s(n/4))*r/100+5);if(void 0!==o){if(o.plus===t)return s(s(110*a,16)/100);if(o.minus===t)return s(s(90*a,16)/100)}return a},i.get=function(t){return O[t]},i.display=function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=O[t];return void 0===i?t:(1===this.dex.gen&&"spa"===i&&(i="spc"),_[i][+e])},i.fill=function(t,e){for(var i=0;i<D.length;i++){var n=D[i];n in t||(t[n]=e)}return t},i.getHPDV=function(t){return this.toDV(void 0===t.atk?31:t.atk)%2*8+this.toDV(void 0===t.def?31:t.def)%2*4+this.toDV(void 0===t.spe?31:t.spe)%2*2+this.toDV(void 0===t.spa?31:t.spa)%2},i[t]=function*(){for(var t=0;t<D.length;t++){var e=D[t];yield e}},i.toDV=function(t){return Math.floor(t/2)},i.toIV=function(t){return 2*t+1},e}(Symbol.iterator);t.Stats=P,window.Generations=t.Generations}();
package/index.ts CHANGED
@@ -67,7 +67,9 @@ export class Generations {
67
67
  this.exists = exists;
68
68
  }
69
69
 
70
- get(gen: GenerationNum) {
70
+ get(g: string | number) {
71
+ if (isNaN(+g)) throw new Error(`Invalid gen ${g}`);
72
+ const gen = g as GenerationNum; // validated by forGen
71
73
  if (this.cache[gen]) return this.cache[gen];
72
74
  return (this.cache[gen] = new Generation(this.dex.forGen(gen), d => this.exists(d, gen)));
73
75
  }
@@ -94,6 +96,10 @@ export class Generation {
94
96
 
95
97
  private readonly exists: BoundExistsFn;
96
98
 
99
+ static get(dex: Dex, g: string | number, exists = DEFAULT_EXISTS) {
100
+ return new Generations(dex, exists).get(g);
101
+ }
102
+
97
103
  constructor(dex: Dex, exists: BoundExistsFn) {
98
104
  this.dex = dex;
99
105
  this.exists = exists;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pkmn/data",
3
- "version": "0.5.28",
3
+ "version": "0.6.1",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "unpkg": "build/production.min.js",
@@ -16,12 +16,12 @@
16
16
  "index.ts"
17
17
  ],
18
18
  "dependencies": {
19
- "@pkmn/dex-types": "^0.5.28"
19
+ "@pkmn/dex-types": "^0.6.1"
20
20
  },
21
21
  "devDependencies": {
22
- "@pkmn/dex": "^0.5.28",
23
- "@pkmn/mods": "^0.5.28",
24
- "@pkmn/sim": "^0.5.28",
22
+ "@pkmn/dex": "^0.6.1",
23
+ "@pkmn/mods": "^0.6.1",
24
+ "@pkmn/sim": "^0.6.1",
25
25
  "@smogon/calc": "^0.6.0"
26
26
  },
27
27
  "scripts": {