29 lines
729 B
TypeScript
29 lines
729 B
TypeScript
export type DLC = {
|
|
id: string;
|
|
name: string | null;
|
|
dlcIds: {
|
|
steam: string;
|
|
epic: string;
|
|
grdk: string;
|
|
};
|
|
};
|
|
|
|
export const getFileName = (iconFilePath: string): string => {
|
|
const base = iconFilePath.split('/').pop() ?? '';
|
|
return base.split('.')[0];
|
|
};
|
|
|
|
export const cleanFolderName = (name: string): string =>
|
|
name.replace(/[\\/:*?"<>|]/g, '_');
|
|
|
|
export const isKiller = (idx: number): boolean => idx >= 268435456;
|
|
|
|
export const isNamedDLC = (dlc: DLC): dlc is DLC & { name: string } =>
|
|
!!dlc.name && !dlc.name.startsWith('@');
|
|
|
|
export const randInRange = (min: number, max: number) => {
|
|
const lo = Math.min(min, max);
|
|
const hi = Math.max(min, max);
|
|
return Math.floor(Math.random() * (hi - lo + 1)) + lo;
|
|
};
|