'use strict'
// For JSDoc only
/**
* @typedef {Object} DXPlusErrorCodes
* @property {'RankPriorityUsed'} RankPriorityUsed - The priority of the rank is already used by another rank.
* @property {'RankNotFound'} RankNotFound - The rank was not found in the guild.
* @property {'AchievementInvalidProgress'} AchievementInvalidProgress - The progress of the achievement is not valid.
* @property {'AchievementNegativeProgress'} AchievementNegativeProgress - The progress of the achievement is negative.
* @property {'AchievementGraterProgress'} AchievementGraterProgress - The first element of the progress array must be less than the second element.
* @property {'DuplicatedAchievement'} DuplicatedAchievement - The achievement is already in the guild.
* @property {'AchievementNotFound'} AchievementNotFound - The achievement was not found in the guild.
* @property {'BuilderInvalidNumber'} BuilderInvalidNumber - The number must be a positive integer.
* @property {'EventMissingProperty'} EventMissingProperty - The event must have the required property.
* @property {'InvalidValue'} InvalidValue - The value of the property is not valid.
* @property {'InvalidDataArgument'} InvalidDataArgument - The data argument must be a object.
* @property {'MissingArgument'} MissingArgument - The argument is missing.
* @property {'MissingProperty'} MissingProperty - The property is missing.
*/
/** @type {DXPlusErrorCodes} */
const ErrorCodes = {
// Rank Errors
RankPriorityUsed: 'RankPriorityUsed',
RankNotFound: 'RankNotFound',
// Achievement Errors
AchievementInvalidProgress: 'AchievementInvalidProgress',
AchievementNegativeProgress: 'AchievementNegativeProgress',
AchievementGraterProgress: 'AchievementGraterProgress',
DuplicateAchievement: 'DuplicateAchievement',
AchievementNotFound: 'AchievementNotFound',
// Builders
BuilderInvalidNumber: 'BuilderInvalidNumber',
// LevelManager Events
EventMissingProperty: 'EventMissingProperty',
// General
InvalidValue: 'InvalidValue',
InvalidDataArgument: 'InvalidDataArgument',
MissingArgument: 'MissingArgument',
MissingProperty: 'MissingProperty'
}
module.exports = { ErrorCodes }