@tenno-companion/core 0.2.0 → 0.2.2

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.
@@ -0,0 +1 @@
1
+ var T=["MT_ASSASSINATION","MT_EXTERMINATION","MT_SURVIVAL","MT_RESCUE","MT_SABOTAGE","MT_CAPTURE","MT_COUNTER_INTEL","MT_INTEL","MT_DEFENSE","MT_MOBILE_DEFENSE","MT_PVP","MT_MASTERY","MT_RECOVERY","MT_TERRITORY","MT_RETRIEVAL","MT_HIVE","MT_SALVAGE","MT_EXCAVATE","MT_RAID","MT_PURGE","MT_GENERIC","MT_PURIFY","MT_ARENA","MT_JUNCTION","MT_PURSUIT","MT_RACE","MT_ASSAULT","MT_EVACUATION","MT_LANDSCAPE","MT_RESOURCE_THEFT","MT_ENDLESS_EXTERMINATION","MT_ENDLESS_DUVIRI","MT_RAILJACK","MT_ARTIFACT","MT_CORRUPTION","MT_VOID_CASCADE","MT_ARMAGEDDON","MT_VAULTS","MT_ALCHEMY","MT_ASCENSION","MT_ENDLESS_CAPTURE","MT_OFFERING","MT_PVPVE","MT_DESCENT","MT_TAU_WAR","MT_PAINT_FLOOD"],E=["FC_GRINEER","FC_CORPUS","FC_INFESTATION","FC_OROKIN","FC_RED_VEIL","FC_SENTIENT","FC_NARMER","FC_MITW","FC_SCALDRA","FC_TECHROT","FC_DUVIRI","FC_TENNO"],_=["DT_IMPACT","DT_PUNCTURE","DT_SLASH","DT_FIRE","DT_FREEZE","DT_ELECTRICITY","DT_POISON","DT_RADIATION","DT_CORROSIVE","DT_MAGNETIC","DT_VIRAL","DT_GAS","DT_EXPLOSION","DT_RADIANT"],A=["LWPT_AMP_OCULUS","LWPT_AMP_CORE","LWPT_AMP_BRACE"],N=["LWPT_ZANUKA_HEAD","LWPT_ZANUKA_BODY","LWPT_ZANUKA_LEG","LWPT_ZANUKA_TAIL"],S=["LWPT_HB_DECK","LWPT_HB_ENGINE","LWPT_HB_FRONT","LWPT_HB_JET"],R=["LWPT_GUN_BARREL","LWPT_GUN_CLIP","LWPT_GUN_PRIMARY_HANDLE","LWPT_GUN_SECONDARY_HANDLE"],I=["LWPT_MOA_ENGINE","LWPT_MOA_PAYLOAD","LWPT_MOA_HEAD","LWPT_MOA_LEG"],L=["LWPT_CATBROW_ANTIGEN","LWPT_KUBROW_ANTIGEN"],O=["LWPT_CATBROW_MUTAGEN","LWPT_KUBROW_MUTAGEN"],M=["LWPT_HILT_WEIGHT","LWPT_HILT","LWPT_BLADE"],P=["ALARMING","SILENT"],C=["AUTO","SEMI","BURST","HELD","DUPLEX","CHARGE","ACTIVE","Auto Burst"],D=["VT_VARIANT","VT_NORMAL","VT_PRIME","VT_STARTER","VT_SYNDICATE","VT_KUVA"],t=["RIFLE","SHOTGUN","SNIPER","WIDE_RIFLE","SMG","BOW","ARM_MOUNTED"],o=["ARM_MOUNTED","SMG"],s=["MELEE","STAFF","FIST","TONFA","SHORT_MELEE","DUAL_SHORT_MELEE","LEFT_FOREARM_MOUNTED","HIP_MELEE","DUAL_MELEE","CLAWS","PUNCH_SLASH_KICK","ARM_MOUNTED","DUAL_HIP_MELEE"],U=["MELEE","FIST","STAFF"],W=["RIFLE","SHOTGUN"],G=["RIFLE","SHOTGUN","MELEE","SNIPER"],H=["MELEE","BOW","SMG","FIST","STAFF","SNIPER","ARM_MOUNTED"],c=["DUAL_MELEE","MELEE","HIP_MELEE","LEFT_FOREARM_MOUNTED"],n=["ASSAULT_AMMO","PROJECTILE","AOE","SEMI_AUTO","SINGLESHOT","SNIPER_AMMO","Vectis","ATTICA","CROSSBOW","BATTERY","IMPACTEXPLODE","BEAM","ZHUGE","INFBOW","DAIKYU","OMICRUS","SYNDICATEMODBLOCKED","INFCERNOS","MITER","GRNBOW","CRPBOW"],Y=["PROJECTILE","SECONDARYSHOTGUN","SEMI_AUTO","AOE","BEAM","THROWN","DEPLOYABLE","SINGLESHOT","TNJETTURBINEPISTOL","BATTERY"],B=["SWORDS_STANCE","HAMMERS_STANCE","FIST_STANCE","TONFA_STANCE","HEAVY SCYTHE_STANCE","DAGGERS_STANCE","WHIPS_STANCE","WARFAN_STANCE","SWORDS_AND_SHIELD_STANCE","NIKANAS_STANCE","RAPIER_STANCE","LONG_KATANA_STANCE","BLADE_AND_WHIP_STANCE","HEAVY_BLADE_STANCE","DUAL_DAGGERS_STANCE","DUAL_SWORDS_STANCE","MACHETES_STANCE","STAVES_STANCE","SCYTHES_STANCE","CLAWS_STANCE_STANCE","NUNCHAKU_STANCE","SPARRING_STANCE","POLEARMS_STANCE","GUNBLADE_STANCE","GLAIVES_STANCE","BLADESAW_STANCE","DUAL_KATANAS_STANCE","BAYONET"],F=["BATTERY"],V=["PROJECTILE","SEMI_AUTO"],e=["BEAM","ASSAULT_AMMO","SENTINEL_WEAPON","PROJECTILE","AOE","SINGLESHOT","SNIPER_AMMO","HOUND_WEAPON"],r=["POWER_WEAPON","PROJECTILE","AOE","POWER_WEAPON_LITE","NO_SLIDE","NO_FINISHER","NO_ATTACK_SPEED","CLAWS_STANCE_STANCE","SEMI_AUTO","SNIPER_AMMO","BATTERY","NO_HEAVY_ATTACK","NO_AIM"],p=["DUAL_SWORDS_STANCE","HAMMERS_STANCE","POLEARMS_STANCE","NIKANAS_STANCE","LONG_KATANA_STANCE","SWORDS_AND_SHIELD_STANCE"],x=["LWPT_AMP_BRACE","LWPT_AMP_CORE","LWPT_ZANUKA_BODY","LWPT_ZANUKA_LEG","LWPT_ZANUKA_TAIL","LWPT_CATBROW_MUTAGEN","LWPT_KUBROW_MUTAGEN","LWPT_CATBROW_ANTIGEN","LWPT_KUBROW_ANTIGEN","LWPT_MOA_PAYLOAD","LWPT_MOA_ENGINE","LWPT_MOA_LEG","LWPT_HB_ENGINE","LWPT_HB_FRONT","LWPT_HB_JET","LWPT_GUN_CLIP","LWPT_GUN_PRIMARY_HANDLE","LWPT_GUN_SECONDARY_HANDLE","LWPT_HILT","LWPT_HILT_WEIGHT"];export{T as a,E as b,_ as c,A as d,N as e,S as f,R as g,I as h,L as i,O as j,M as k,P as l,C as m,D as n,t as o,o as p,s as q,U as r,W as s,G as t,H as u,c as v,n as w,Y as x,B as y,F as z,V as A,e as B,r as C,p as D,x as E};
@@ -0,0 +1 @@
1
+ import{E as m,d as a,e as l,f as p,g as u,h as c,k as d}from"./chunk-CVH7OE4T.mjs";import{b as g}from"./chunk-STFT6SKY.mjs";function T(i){let t="partType"in i?i.partType:void 0,{uniqueName:e}=i;return!(t&&m.includes(t)||t==="LWPT_BLADE"&&e.includes("PvPVariant")||e.includes("TnDoppelgangerGrimoire")||e.includes("TnBayonetMeleeWeapon"))}var s=class{constructor(t,e){this.items=t;this.locale=e}items;locale;getFiltered(t,e){return this.filter(r=>e(r)?t.masterable?T(r):!0:!1)}getAll(){return Object.values(this.items)}getByUniqueName(t){return this.items[t]??null}filter(t){let e=[];for(let r of Object.values(this.items))t(r)&&e.push(r);return e}};var y=class extends s{},f=class extends s{},F=class extends s{},S=class extends s{getStarChart(t={}){let e=this.getAll();return t.masterable&&(e=e.filter(r=>!["MT_RAILJACK","MT_PVP"].includes(r.missionType)&&r.nodeType!==3&&!r.hidden)),e.map(r=>({...r,masteryExp:r.missionType==="MT_JUNCTION"?1e3:r.masteryExp})).reduce((r,n)=>(r[n.systemIndex]={systemName:n.systemName,nodes:[...r[n.systemIndex]?.nodes??[],n]},r),{})}},h=class extends s{},x=class extends s{getPrimes(){return this.filter(t=>t.variantType==="VT_PRIME")}},O=class extends s{},A=class extends s{},P=class extends s{getPrimaries(t={}){return this.getFiltered(t,e=>e.productCategory==="LongGuns")}getSecondaries(t={}){return this.getFiltered(t,e=>e.productCategory==="Pistols"&&!("partType"in e))}getMelees(t={}){return this.getFiltered(t,e=>e.productCategory==="Melee")}getArchguns(t={}){return this.getFiltered(t,e=>e.productCategory==="SpaceGuns")}getArchmelees(t={}){return this.getFiltered(t,e=>e.productCategory==="SpaceMelee")}getAmps(t={}){return this.getFiltered(t,e=>{let r=e.productCategory==="OperatorAmps",n="partType"in e&&a.includes(e.partType);return r||n})}getRobotics(t={}){return this.getFiltered(t,e=>e.productCategory==="SentinelWeapons")}getKDrives(t={}){return this.getFiltered(t,e=>"partType"in e&&p.includes(e.partType))}getKitguns(t={}){return this.getFiltered(t,e=>"partType"in e&&u.includes(e.partType))}getZaws(t={}){return this.getFiltered(t,e=>"partType"in e&&d.includes(e.partType))}},_=class extends s{getSentinels(t={}){return this.getFiltered(t,e=>e.productCategory==="Sentinels")}getMOAs(t={}){return this.getFiltered(t,e=>"partType"in e&&c.includes(e.partType))}getHounds(t={}){return this.getFiltered(t,e=>"partType"in e&&l.includes(e.partType))}getBeasts(t={}){let{includeSpecial:e=!1}=t,r=this.getFiltered(t,n=>n.productCategory==="KubrowPets");if(e){let n=this.getFiltered(t,o=>o.productCategory==="SpecialItems"&&"exalted"in o);return g([...r,...n],{locale:this.locale})}return r}getSentinelWeapons(t={}){return this.getFiltered(t,e=>e.productCategory==="SentinelWeapons")}};export{y as a,f as b,F as c,S as d,h as e,x as f,O as g,A as h,P as i,_ as j};
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { BaseItem, Archwing, Faction, MissionType, Necramech, Sentinel, Weapon, MOA, Hound, KubrowPet, SpecialItem, SentinelWeapon, Intrinsic, Region, Warframe, PrimaryWeapon, SecondaryWeapon, Melee, Archgun, Archmelee, Amp, KDrive, Kitgun, Zaw } from './types/index.mjs';
2
- import { D as Data } from './internal-DDFPKiUV.mjs';
2
+ import { D as Data, F as FilterOptions } from './internal-w-h4vnIB.mjs';
3
3
  import './lib/constants.mjs';
4
4
  import '@tenno-companion/shared/locales';
5
5
 
@@ -7,15 +7,16 @@ declare abstract class BaseClient<T extends BaseItem> {
7
7
  protected items: Data<T>;
8
8
  protected locale: string;
9
9
  constructor(items: Data<T>, locale: string);
10
+ /**
11
+ * Generic filter runner that applies the masterable logic if requested
12
+ */
13
+ protected getFiltered<E extends T>(options: FilterOptions, predicate: (w: T) => w is E): E[];
10
14
  getAll(): T[];
11
15
  getByUniqueName(uniqueName: string): T | null;
12
16
  filter<S extends T>(predicate: (item: T) => item is S): S[];
13
17
  filter(predicate: (item: T) => boolean): T[];
14
18
  }
15
19
 
16
- type FilterOptions = {
17
- masterable?: boolean;
18
- };
19
20
  declare class Factions extends BaseClient<Faction> {
20
21
  }
21
22
  declare class MissionTypes extends BaseClient<MissionType> {
@@ -23,6 +24,10 @@ declare class MissionTypes extends BaseClient<MissionType> {
23
24
  declare class RailjackIntrinsics extends BaseClient<Intrinsic> {
24
25
  }
25
26
  declare class Regions extends BaseClient<Region> {
27
+ getStarChart(options?: FilterOptions): Record<number, {
28
+ systemName: string;
29
+ nodes: Region[];
30
+ }>;
26
31
  }
27
32
  declare class Sentinels extends BaseClient<Sentinel> {
28
33
  }
@@ -34,10 +39,6 @@ declare class Archwings extends BaseClient<Archwing> {
34
39
  declare class Necramechs extends BaseClient<Necramech> {
35
40
  }
36
41
  declare class Weapons extends BaseClient<Weapon> {
37
- /**
38
- * Generic filter runner that applies the masterable logic if requested
39
- */
40
- private getFiltered;
41
42
  getPrimaries(options?: FilterOptions): PrimaryWeapon[];
42
43
  getSecondaries(options?: FilterOptions): SecondaryWeapon[];
43
44
  getMelees(options?: FilterOptions): Melee[];
@@ -50,10 +51,6 @@ declare class Weapons extends BaseClient<Weapon> {
50
51
  getZaws(options?: FilterOptions): Zaw[];
51
52
  }
52
53
  declare class Pets extends BaseClient<Sentinel | Weapon> {
53
- /**
54
- * Generic filter runner that applies the masterable logic if requested
55
- */
56
- private getFiltered;
57
54
  /**
58
55
  * Returns Sentinels (Dethcube, Taxon, etc.)
59
56
  */
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { BaseItem, Archwing, Faction, MissionType, Necramech, Sentinel, Weapon, MOA, Hound, KubrowPet, SpecialItem, SentinelWeapon, Intrinsic, Region, Warframe, PrimaryWeapon, SecondaryWeapon, Melee, Archgun, Archmelee, Amp, KDrive, Kitgun, Zaw } from './types/index.js';
2
- import { D as Data } from './internal-DDFPKiUV.js';
2
+ import { D as Data, F as FilterOptions } from './internal-w-h4vnIB.js';
3
3
  import './lib/constants.js';
4
4
  import '@tenno-companion/shared/locales';
5
5
 
@@ -7,15 +7,16 @@ declare abstract class BaseClient<T extends BaseItem> {
7
7
  protected items: Data<T>;
8
8
  protected locale: string;
9
9
  constructor(items: Data<T>, locale: string);
10
+ /**
11
+ * Generic filter runner that applies the masterable logic if requested
12
+ */
13
+ protected getFiltered<E extends T>(options: FilterOptions, predicate: (w: T) => w is E): E[];
10
14
  getAll(): T[];
11
15
  getByUniqueName(uniqueName: string): T | null;
12
16
  filter<S extends T>(predicate: (item: T) => item is S): S[];
13
17
  filter(predicate: (item: T) => boolean): T[];
14
18
  }
15
19
 
16
- type FilterOptions = {
17
- masterable?: boolean;
18
- };
19
20
  declare class Factions extends BaseClient<Faction> {
20
21
  }
21
22
  declare class MissionTypes extends BaseClient<MissionType> {
@@ -23,6 +24,10 @@ declare class MissionTypes extends BaseClient<MissionType> {
23
24
  declare class RailjackIntrinsics extends BaseClient<Intrinsic> {
24
25
  }
25
26
  declare class Regions extends BaseClient<Region> {
27
+ getStarChart(options?: FilterOptions): Record<number, {
28
+ systemName: string;
29
+ nodes: Region[];
30
+ }>;
26
31
  }
27
32
  declare class Sentinels extends BaseClient<Sentinel> {
28
33
  }
@@ -34,10 +39,6 @@ declare class Archwings extends BaseClient<Archwing> {
34
39
  declare class Necramechs extends BaseClient<Necramech> {
35
40
  }
36
41
  declare class Weapons extends BaseClient<Weapon> {
37
- /**
38
- * Generic filter runner that applies the masterable logic if requested
39
- */
40
- private getFiltered;
41
42
  getPrimaries(options?: FilterOptions): PrimaryWeapon[];
42
43
  getSecondaries(options?: FilterOptions): SecondaryWeapon[];
43
44
  getMelees(options?: FilterOptions): Melee[];
@@ -50,10 +51,6 @@ declare class Weapons extends BaseClient<Weapon> {
50
51
  getZaws(options?: FilterOptions): Zaw[];
51
52
  }
52
53
  declare class Pets extends BaseClient<Sentinel | Weapon> {
53
- /**
54
- * Generic filter runner that applies the masterable logic if requested
55
- */
56
- private getFiltered;
57
54
  /**
58
55
  * Returns Sentinels (Dethcube, Taxon, etc.)
59
56
  */