mirror of
https://github.com/Kvan7/Exiled-Exchange-2.git
synced 2026-08-24 06:26:33 +00:00
formatter
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user