Skip to content

Commit

Permalink
fix: unknown job undefined issue
Browse files Browse the repository at this point in the history
  • Loading branch information
dsrkafuu committed Dec 8, 2021
1 parent 6b6b118 commit 74e2c09
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 17 deletions.
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "ffxiv-overlay-api",
"version": "4.1.2",
"version": "4.1.3",
"description": "Build your own modern FFXIV overlay with npm & TypeScript support.",
"keywords": [
"ffxiv",
Expand Down
28 changes: 15 additions & 13 deletions src/modules/injectExtendData.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import { getPctNum, getInt } from '../utils/getter';
/**
* parse job type
*/
function parseJob(jobName: string): JobType {
function parseJob(jobName: string): { name: string; type: JobType } {
jobName = jobName.toLowerCase();

const dps = [
Expand Down Expand Up @@ -63,17 +63,17 @@ function parseJob(jobName: string): JobType {
const land = ['bot', 'fsh', 'min'];

if (dps.includes(jobName)) {
return 'dps';
return { name: jobName, type: 'dps' };
} else if (healer.includes(jobName)) {
return 'healer';
return { name: jobName, type: 'healer' };
} else if (tank.includes(jobName)) {
return 'tank';
return { name: jobName, type: 'tank' };
} else if (hand.includes(jobName)) {
return 'hand';
return { name: jobName, type: 'hand' };
} else if (land.includes(jobName)) {
return 'land';
return { name: jobName, type: 'land' };
} else {
return 'unknown';
return { name: jobName || 'unknown', type: 'unknown' };
}
}

Expand All @@ -82,23 +82,25 @@ function parseJob(jobName: string): JobType {
*/
function parsePlayer(data: any): CombatantData {
let [maxHit, maxHitDamage] = ['', 0];
const maxHitData = data.maxhit.split('-');
const maxHitData = (data.maxhit || '').split('-');
if (maxHitData.length > 1) {
maxHit = maxHitData[0];
maxHitDamage = getInt(maxHitData[1]);
}
let [maxHeal, maxHealDamage] = ['', 0];
const maxHealData = data.maxheal.split('-');
const maxHealData = (data.maxheal || '').split('-');
if (maxHealData.length > 1) {
maxHeal = maxHealData[0];
maxHealDamage = getInt(maxHealData[1]);
}

const jobParsed = parseJob(data.Job || '');

return {
name: data.name,

job: data.Job.toLowerCase(),
jobType: parseJob(data.Job),
job: jobParsed.name,
jobType: jobParsed.type,

dps: getInt(data.encdps),
last10DPS: getInt(data.Last10DPS),
Expand Down Expand Up @@ -167,12 +169,12 @@ function parseEncounter(data: any): EncounterData {
*/
function parseLimitBreak(data: any): LimitBreakData {
let maxHit = '';
const maxHitData = data.maxhit.split('-');
const maxHitData = (data.maxhit || '').split('-');
if (maxHitData.length > 1) {
maxHit = maxHitData[0];
}
let maxHeal = '';
const maxHealData = data.maxheal.split('-');
const maxHealData = (data.maxheal || '').split('-');
if (maxHealData.length > 1) {
maxHeal = maxHealData[0];
}
Expand Down
2 changes: 1 addition & 1 deletion src/utils/getter.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export function getInt(input: string | number) {
const toInt = Number.parseInt || window.parseInt;
return toInt(`${input}`);
return toInt(`${input}`) || 0;
}

/**
Expand Down

0 comments on commit 74e2c09

Please sign in to comment.