mirror of
https://github.com/sp-tarkov/server.git
synced 2025-02-13 09:50:43 -05:00
Biome Linting Issues
Fixed some instances of: - Unordered imports - Reassigning function parameters - Modifying values in assignment/return statements - Array.forEach being used instead of for...of - Simplified control logic
This commit is contained in:
parent
d0ed738c0b
commit
34121182a1
@ -2,11 +2,11 @@ import crypto from "node:crypto";
|
||||
import fs from "node:fs/promises";
|
||||
import os from "node:os";
|
||||
import path from "node:path";
|
||||
import pkg from "@yao-pkg/pkg";
|
||||
import pkgfetch from "@yao-pkg/pkg-fetch";
|
||||
import gulp from "gulp";
|
||||
import { exec } from "gulp-execa";
|
||||
import rename from "gulp-rename";
|
||||
import pkg from "@yao-pkg/pkg";
|
||||
import pkgfetch from "@yao-pkg/pkg-fetch";
|
||||
import * as ResEdit from "resedit";
|
||||
import manifest from "./package.json" assert { type: "json" };
|
||||
|
||||
|
@ -207,7 +207,7 @@ export class RagfairController
|
||||
{
|
||||
offerPool = offers;
|
||||
}
|
||||
else if ((!this.isLinkedSearch(searchRequest) && !this.isRequiredSearch(searchRequest)))
|
||||
else if ((!(this.isLinkedSearch(searchRequest) || this.isRequiredSearch(searchRequest))))
|
||||
{
|
||||
// Get all categories
|
||||
offerPool = this.ragfairOfferService.getOffers();
|
||||
@ -509,16 +509,14 @@ export class RagfairController
|
||||
{
|
||||
if (!offerRequest?.items || offerRequest.items.length === 0)
|
||||
{
|
||||
errorMessage = this.localisationService.getText("ragfair-invalid_player_offer_request");
|
||||
this.logger.error(errorMessage);
|
||||
this.logger.error(this.localisationService.getText("ragfair-invalid_player_offer_request"));
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!offerRequest.requirements)
|
||||
{
|
||||
errorMessage = this.localisationService.getText("ragfair-unable_to_place_offer_with_no_requirements");
|
||||
this.logger.error(errorMessage);
|
||||
this.logger.error(this.localisationService.getText("ragfair-unable_to_place_offer_with_no_requirements"));
|
||||
|
||||
return false;
|
||||
}
|
||||
@ -725,7 +723,11 @@ export class RagfairController
|
||||
{
|
||||
const count = playerOffers[playerOfferIndex].sellInOnePiece
|
||||
? 1
|
||||
: playerOffers[playerOfferIndex].items.reduce((sum, item) => sum += item.upd.StackObjectsCount, 0);
|
||||
: playerOffers[playerOfferIndex].items.reduce((sum, item) =>
|
||||
{
|
||||
return sum + item.upd.StackObjectsCount;
|
||||
}, 0);
|
||||
|
||||
const tax = this.ragfairTaxService.calculateTax(
|
||||
playerOffers[playerOfferIndex].items[0],
|
||||
this.profileHelper.getPmcProfile(sessionId),
|
||||
|
@ -276,11 +276,11 @@ export class RepeatableQuestController
|
||||
{
|
||||
element._id = this.objectId.generate();
|
||||
const conditions = element.conditions.AvailableForFinish;
|
||||
for (const element of conditions)
|
||||
for (const condition of conditions)
|
||||
{
|
||||
if ("counter" in element._props)
|
||||
if ("counter" in condition._props)
|
||||
{
|
||||
element._props.counter.id = this.objectId.generate();
|
||||
condition._props.counter.id = this.objectId.generate();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -202,7 +202,6 @@ export class ProfileHelper
|
||||
level = expTable.length - 1;
|
||||
}
|
||||
|
||||
// TODO: Replace with exp = expTable.slice(0, level).reduce((acc, curr) => acc + curr.exp, 0);
|
||||
for (let i = 0; i < level; i++)
|
||||
{
|
||||
exp += expTable[i].exp;
|
||||
@ -413,7 +412,6 @@ export class ProfileHelper
|
||||
if (!profileSkills)
|
||||
{
|
||||
this.logger.warning(`Unable to add ${pointsToAdd} points to ${skill}, profile has no skills`);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@ -421,7 +419,6 @@ export class ProfileHelper
|
||||
if (!profileSkill)
|
||||
{
|
||||
this.logger.error(this.localisationService.getText("quest-no_skill_found", skill));
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@ -429,7 +426,7 @@ export class ProfileHelper
|
||||
{
|
||||
const globals = this.databaseServer.getTables().globals;
|
||||
const skillProgressRate = globals.config.SkillsSettings.SkillProgressRate;
|
||||
pointsToAdd = skillProgressRate * pointsToAdd;
|
||||
pointsToAdd *= skillProgressRate;
|
||||
}
|
||||
|
||||
profileSkill.Progress += pointsToAdd;
|
||||
|
@ -327,7 +327,7 @@ export class RagfairOfferHelper
|
||||
|
||||
if (!offer.sellInOnePiece)
|
||||
{
|
||||
totalItemsCount = offer.items.reduce((sum: number, item) => sum += item.upd.StackObjectsCount, 0);
|
||||
totalItemsCount = offer.items.reduce((sum: number, item) => sum + item.upd.StackObjectsCount, 0);
|
||||
boughtAmount = offer.sellResult[0].amount;
|
||||
}
|
||||
|
||||
@ -729,6 +729,16 @@ export class RagfairOfferHelper
|
||||
return true;
|
||||
}
|
||||
|
||||
public isDisplayableOfferThatNeedsItem(searchRequest: ISearchRequestData, offer: IRagfairOffer): boolean
|
||||
{
|
||||
if (offer.requirements.some((requirement) => requirement._tpl === searchRequest.neededSearchId))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Does the passed in item have a condition property
|
||||
* @param item Item to check
|
||||
|
@ -573,24 +573,16 @@ export class RepairService
|
||||
|
||||
/**
|
||||
* Ensure multiplier is between 1 and 0.01
|
||||
* @param receiveDurabilityMaxPercent Max durabiltiy percent
|
||||
* @param receiveDurabilityMaxPercent Max durability percent
|
||||
* @param receiveDurabilityPercent current durability percent
|
||||
* @returns durability multipler value
|
||||
* @returns durability multiplier value
|
||||
*/
|
||||
protected getDurabilityMultiplier(receiveDurabilityMaxPercent: number, receiveDurabilityPercent: number): number
|
||||
{
|
||||
receiveDurabilityMaxPercent = (receiveDurabilityMaxPercent > 0) ? receiveDurabilityMaxPercent : 0.01;
|
||||
const num = receiveDurabilityPercent / receiveDurabilityMaxPercent;
|
||||
if (num > 1)
|
||||
{
|
||||
return 1.0;
|
||||
}
|
||||
if (num < 0.01)
|
||||
{
|
||||
return 0.01;
|
||||
}
|
||||
|
||||
return num;
|
||||
// Ensure the max percent is at least 0.01
|
||||
const validMaxPercent = Math.max(0.01, receiveDurabilityMaxPercent);
|
||||
// Calculate the ratio and constrain it between 0.01 and 1
|
||||
return Math.min(1, Math.max(0.01, receiveDurabilityPercent / validMaxPercent));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -22,9 +22,14 @@ export class MathUtil
|
||||
*/
|
||||
public arrayCumsum(values: number[]): number[]
|
||||
{
|
||||
// curried function for cumulative sum: (cum, x) => cum += x
|
||||
// and 0 being the initial value for the map
|
||||
return values.map(((cum) => (x) => cum += x)(0));
|
||||
const cumsumArray = [];
|
||||
let sum = 0;
|
||||
for (let i = 0; i < values.length; i++)
|
||||
{
|
||||
sum += values[i];
|
||||
cumsumArray[i] = sum;
|
||||
}
|
||||
return cumsumArray;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -17,7 +17,8 @@ export class ObjectId
|
||||
|
||||
public incGlobalCounter(): number
|
||||
{
|
||||
return (this.globalCounter = (this.globalCounter + 1) % 0xffffff);
|
||||
this.globalCounter = (this.globalCounter + 1) % 0xffffff;
|
||||
return this.globalCounter;
|
||||
}
|
||||
|
||||
public toHexString(byteArray: string | any[] | Buffer): string
|
||||
|
@ -206,9 +206,9 @@ export class RandomUtil
|
||||
|
||||
public getInt(min: number, max: number): number
|
||||
{
|
||||
min = Math.ceil(min);
|
||||
max = Math.floor(max);
|
||||
return (max > min) ? Math.floor(Math.random() * (max - min + 1) + min) : min;
|
||||
const minimum = Math.ceil(min);
|
||||
const maximum = Math.floor(max);
|
||||
return (maximum > minimum) ? Math.floor(Math.random() * (maximum - minimum + 1) + minimum) : minimum;
|
||||
}
|
||||
|
||||
public getIntEx(max: number): number
|
||||
@ -302,7 +302,7 @@ export class RandomUtil
|
||||
return this.getFloat(0.01, mean * 2);
|
||||
}
|
||||
|
||||
return this.getNormallyDistributedRandomNumber(mean, sigma, attempt++);
|
||||
return this.getNormallyDistributedRandomNumber(mean, sigma, attempt + 1);
|
||||
}
|
||||
|
||||
return valueDrawn;
|
||||
@ -329,15 +329,16 @@ export class RandomUtil
|
||||
* Draw a random element of the provided list N times to return an array of N random elements
|
||||
* Drawing can be with or without replacement
|
||||
* @param {array} list The array we want to draw randomly from
|
||||
* @param {integer} count The number of times we want to draw
|
||||
* @param {boolean} replacement Draw with or without replacement from the input array(defult true)
|
||||
* @param {integer} count The number of times we want to draw
|
||||
* @param {boolean} replacement Draw with or without replacement from the input array(default true)
|
||||
* @return {array} Array consisting of N random elements
|
||||
*/
|
||||
public drawRandomFromList<T>(list: Array<T>, count = 1, replacement = true): Array<T>
|
||||
public drawRandomFromList<T>(originalList: Array<T>, count = 1, replacement = true): Array<T>
|
||||
{
|
||||
let list = originalList;
|
||||
if (!replacement)
|
||||
{
|
||||
list = this.jsonUtil.clone(list);
|
||||
list = this.jsonUtil.clone(originalList);
|
||||
}
|
||||
|
||||
const results = [];
|
||||
|
@ -397,7 +397,10 @@ describe("InsuranceController", () =>
|
||||
// Add all items to the toDelete set. Not realistic, but it's fine for this test.
|
||||
const mockProcessRegularItems = vi.fn((insured, toDelete) =>
|
||||
{
|
||||
insured.items.forEach((item) => toDelete.add(item._id));
|
||||
for (const item of insured.items)
|
||||
{
|
||||
toDelete.add(item._id);
|
||||
}
|
||||
});
|
||||
vi.spyOn(insuranceController, "processRegularItems").mockImplementation(mockProcessRegularItems);
|
||||
|
||||
@ -462,12 +465,18 @@ describe("InsuranceController", () =>
|
||||
// Add all items to the toDelete set. Not realistic, but it's fine for this test.
|
||||
const mockProcessRegularItems = vi.fn((insured, toDelete) =>
|
||||
{
|
||||
insured.items.forEach((item) => toDelete.add(item._id));
|
||||
for (const item of insured.items)
|
||||
{
|
||||
toDelete.add(item._id);
|
||||
}
|
||||
});
|
||||
vi.spyOn(insuranceController, "processRegularItems").mockImplementation(mockProcessRegularItems);
|
||||
const mockProcessAttachments = vi.fn((parentAttachmentsMap, itemsMap, traderId, toDelete) =>
|
||||
{
|
||||
insured.items.forEach((item) => toDelete.add(item._id));
|
||||
for (const item of insured.items)
|
||||
{
|
||||
toDelete.add(item._id);
|
||||
}
|
||||
});
|
||||
vi.spyOn(insuranceController, "processAttachments").mockImplementation(mockProcessAttachments);
|
||||
|
||||
@ -526,12 +535,18 @@ describe("InsuranceController", () =>
|
||||
// Add all items to the toDelete set. Not realistic, but it's fine for this test.
|
||||
const mockProcessRegularItems = vi.fn((insured, toDelete) =>
|
||||
{
|
||||
insured.items.forEach((item) => toDelete.add(item._id));
|
||||
for (const item of insured.items)
|
||||
{
|
||||
toDelete.add(item._id);
|
||||
}
|
||||
});
|
||||
vi.spyOn(insuranceController, "processRegularItems").mockImplementation(mockProcessRegularItems);
|
||||
const mockProcessAttachments = vi.fn((parentAttachmentsMap, itemsMap, traderId, toDelete) =>
|
||||
{
|
||||
insured.items.forEach((item) => toDelete.add(item._id));
|
||||
for (const item of insured.items)
|
||||
{
|
||||
toDelete.add(item._id);
|
||||
}
|
||||
});
|
||||
vi.spyOn(insuranceController, "processAttachments").mockImplementation(mockProcessAttachments);
|
||||
|
||||
@ -572,11 +587,11 @@ describe("InsuranceController", () =>
|
||||
"9f8d7880a6e0a47a211ec5d3",
|
||||
"db2ef9442178910eba985b51",
|
||||
];
|
||||
validAttachmentTemplates.forEach((value) =>
|
||||
for (const value of validAttachmentTemplates)
|
||||
{
|
||||
// Verify that each template is present in the array of attachments.
|
||||
expect(gun.some((item) => item._id === value)).toBe(true);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
it("should ignore gun accessories that cannot be modified in-raid", () =>
|
||||
@ -602,10 +617,11 @@ describe("InsuranceController", () =>
|
||||
"402b4086535a50ef7d9cef88",
|
||||
"566335b3df586f34b47f5e35",
|
||||
];
|
||||
invalidAttachmentTemplates.forEach((value) =>
|
||||
for (const value of invalidAttachmentTemplates)
|
||||
{
|
||||
// Verify that each template is not present in the array of attachments.
|
||||
expect(gun.every((item) => item._id !== value)).toBe(true);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
it("should correctly map helmet to all of its attachments", () =>
|
||||
@ -632,11 +648,11 @@ describe("InsuranceController", () =>
|
||||
"ac134d7cf6c9d8e25edd0015",
|
||||
"22274b895ecc80d51c3cba1c",
|
||||
];
|
||||
validAttachmentTemplates.forEach((value) =>
|
||||
for (const value of validAttachmentTemplates)
|
||||
{
|
||||
// Verify that each template is present in the array of attachments.
|
||||
expect(gun.some((item) => item._id === value)).toBe(true);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
it("should correctly map gun to all of its attachments when gun is within a container", () =>
|
||||
@ -900,10 +916,10 @@ describe("InsuranceController", () =>
|
||||
|
||||
// Verify that the attachments with null maxPrice are at the bottom of the list
|
||||
const nullPriceAttachments = sortedAttachments.slice(-2);
|
||||
nullPriceAttachments.forEach((attachment) =>
|
||||
for (const attachment of nullPriceAttachments)
|
||||
{
|
||||
expect(attachment.maxPrice).toBeNull();
|
||||
});
|
||||
}
|
||||
|
||||
// Verify that the rest of the attachments are sorted by maxPrice in descending order
|
||||
for (let i = 1; i < sortedAttachments.length - 2; i++)
|
||||
@ -1078,10 +1094,10 @@ describe("InsuranceController", () =>
|
||||
insuranceController.removeItemsFromInsurance(insured, toDelete);
|
||||
|
||||
// Ensure that the items in the toDelete set are not present in the insured items array.
|
||||
toDelete.forEach((toDeleteId) =>
|
||||
for (const toDeleteId of toDelete)
|
||||
{
|
||||
expect(insured.items.some((item) => item._id === toDeleteId)).toBe(false);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
it("should not remove any items if toDelete set is empty", () =>
|
||||
@ -1102,7 +1118,10 @@ describe("InsuranceController", () =>
|
||||
const insured = insuranceFixture[0];
|
||||
const originalCount = insured.items.length;
|
||||
const toDelete = new Set<string>();
|
||||
insured.items.forEach((item) => toDelete.add(item._id));
|
||||
for (const item of insured.items)
|
||||
{
|
||||
toDelete.add(item._id);
|
||||
}
|
||||
|
||||
// All of the items should be added to the toDelete set.
|
||||
expect(originalCount).toBe(toDelete.size);
|
||||
|
Loading…
x
Reference in New Issue
Block a user