formatter

This commit is contained in:
STSchiff
2025-12-20 19:56:54 +01:00
parent 1928fd47da
commit eb05596dd0
5 changed files with 45 additions and 27 deletions
+7 -7
View File
@@ -35,10 +35,10 @@ export class TestItem implements ParsedItem {
quality?: number | undefined;
runeSockets?:
| {
empty: number;
current: number;
normal: number;
}
empty: number;
current: number;
normal: number;
}
| undefined;
gemSockets?: { number: number; linked?: number; white: number } | undefined;
@@ -59,9 +59,9 @@ export class TestItem implements ParsedItem {
unknownModifiers: Array<{ text: string; type: ModifierType }> = [];
heist?:
| {
wingsRevealed?: number;
target?: "Enchants" | "Trinkets" | "Gems" | "Replicas";
}
wingsRevealed?: number;
target?: "Enchants" | "Trinkets" | "Gems" | "Replicas";
}
| undefined;
note?: string;
+22 -7
View File
@@ -14,7 +14,10 @@ import {
import { loadForLang } from "@/assets/data";
import { ParsedItem } from "@/parser";
function findAndParseRequirementsSection(sections: string[][], parsedItem: ParsedItem) {
function findAndParseRequirementsSection(
sections: string[][],
parsedItem: ParsedItem,
) {
for (const section of sections) {
if (section[0].startsWith("Requires: ")) {
return __testExports.parseRequirements(section, parsedItem);
@@ -60,7 +63,9 @@ describe("parseWeapon", () => {
// console.log(sections);
expect(res).toBe("SECTION_PARSED");
expect(findAndParseRequirementsSection(sections, parsedItem)).toBe("SECTION_PARSED");
expect(findAndParseRequirementsSection(sections, parsedItem)).toBe(
"SECTION_PARSED",
);
expect(parsedItem.weaponPHYSICAL).toBe(MagicItem.weaponPHYSICAL);
expect(parsedItem.weaponELEMENTAL).toBe(MagicItem.weaponELEMENTAL);
expect(parsedItem.weaponAS).toBe(MagicItem.weaponAS);
@@ -75,7 +80,9 @@ describe("parseWeapon", () => {
const res = __testExports.parseWeapon(sections[1], parsedItem);
expect(res).toBe("SECTION_PARSED");
expect(findAndParseRequirementsSection(sections, parsedItem)).toBe("SECTION_PARSED");
expect(findAndParseRequirementsSection(sections, parsedItem)).toBe(
"SECTION_PARSED",
);
expect(parsedItem.weaponPHYSICAL).toBe(RareItem.weaponPHYSICAL);
expect(parsedItem.weaponELEMENTAL).toBe(RareItem.weaponELEMENTAL);
expect(parsedItem.weaponAS).toBe(RareItem.weaponAS);
@@ -92,7 +99,9 @@ describe("parseWeapon", () => {
const res = __testExports.parseWeapon(sections[1], parsedItem);
expect(res).toBe("SECTION_PARSED");
expect(findAndParseRequirementsSection(sections, parsedItem)).toBe("SECTION_PARSED");
expect(findAndParseRequirementsSection(sections, parsedItem)).toBe(
"SECTION_PARSED",
);
expect(parsedItem.weaponPHYSICAL).toBe(HighDamageRareItem.weaponPHYSICAL);
expect(parsedItem.weaponELEMENTAL).toBe(HighDamageRareItem.weaponELEMENTAL);
expect(parsedItem.weaponAS).toBe(HighDamageRareItem.weaponAS);
@@ -115,7 +124,9 @@ describe("parseArmour", () => {
const res = __testExports.parseArmour(sections[1], parsedItem);
expect(res).toBe("SECTION_PARSED");
expect(findAndParseRequirementsSection(sections, parsedItem)).toBe("SECTION_PARSED");
expect(findAndParseRequirementsSection(sections, parsedItem)).toBe(
"SECTION_PARSED",
);
expect(parsedItem.armourAR).toBe(NormalItem.armourAR);
expect(parsedItem.armourEV).toBe(NormalItem.armourEV);
expect(parsedItem.armourES).toBe(NormalItem.armourES);
@@ -130,7 +141,9 @@ describe("parseArmour", () => {
const res = __testExports.parseArmour(sections[1], parsedItem);
expect(res).toBe("SECTION_PARSED");
expect(findAndParseRequirementsSection(sections, parsedItem)).toBe("SECTION_PARSED");
expect(findAndParseRequirementsSection(sections, parsedItem)).toBe(
"SECTION_PARSED",
);
expect(parsedItem.armourAR).toBe(UniqueItem.armourAR);
expect(parsedItem.armourEV).toBe(UniqueItem.armourEV);
expect(parsedItem.armourES).toBe(UniqueItem.armourES);
@@ -147,7 +160,9 @@ describe("parseArmour", () => {
const res = __testExports.parseArmour(sections[1], parsedItem);
expect(res).toBe("SECTION_PARSED");
expect(findAndParseRequirementsSection(sections, parsedItem)).toBe("SECTION_PARSED");
expect(findAndParseRequirementsSection(sections, parsedItem)).toBe(
"SECTION_PARSED",
);
expect(parsedItem.armourAR).toBe(ArmourHighValueRareItem.armourAR);
expect(parsedItem.armourEV).toBe(ArmourHighValueRareItem.armourEV);
expect(parsedItem.armourES).toBe(ArmourHighValueRareItem.armourES);
+10 -11
View File
@@ -580,36 +580,35 @@ function parseItemLevel(section: string[], item: ParsedItem) {
}
function parseRequirements(section: string[], item: ParsedItem) {
if (
section[0].startsWith(_$.REQUIREMENTS)) {
if (section[0].startsWith(_$.REQUIREMENTS)) {
return "SECTION_PARSED";
}
if (section[0].startsWith(_$.REQUIRES)) {
// TODO: Add translation support for Requires line
try {
let text = section[0].replace('Requires: ', '');
let parts = text.split(', ');
let text = section[0].replace("Requires: ", "");
let parts = text.split(", ");
for (const part of parts) {
if (part.startsWith('Level')) {
if (part.startsWith("Level")) {
item.requires = {
...item.requires,
level: parseInt(part.slice(6)),
};
} else if (part.endsWith('Str')) {
let number = parseInt(part.split(' ')[0]);
} else if (part.endsWith("Str")) {
let number = parseInt(part.split(" ")[0]);
item.requires = {
...item.requires,
str: number,
};
} else if (part.endsWith('Dex')) {
let number = parseInt(part.split(' ')[0]);
} else if (part.endsWith("Dex")) {
let number = parseInt(part.split(" ")[0]);
item.requires = {
...item.requires,
dex: number,
};
} else if (part.endsWith('Int')) {
let number = parseInt(part.split(' ')[0]);
} else if (part.endsWith("Int")) {
let number = parseInt(part.split(" ")[0]);
item.requires = {
...item.requires,
int: number,
@@ -94,7 +94,7 @@ export interface ItemFilters {
str?: FilterNumeric;
dex?: FilterNumeric;
int?: FilterNumeric;
}
};
}
export interface FilterNumeric {
@@ -433,7 +433,11 @@ export function createTradeRequest(
}
}
if (filters.requires && filters.requires.level && !filters.requires.level.disabled) {
if (
filters.requires &&
filters.requires.level &&
!filters.requires.level.disabled
) {
propSet(
query.filters,
"req_filters.filters.lvl.max",