CachedAssetsManager
Index
Constructors
Properties
Methods
- _downloadCacheZip
- _getExcelData
- activateAutoCacheUpdater
- cacheDirectorySetup
- checkForUpdates
- deactivateAutoCacheUpdater
- fetchAllContents
- fetchLanguageData
- formatExcel
- getExcelData
- getJSONDataPath
- getLanguageData
- getLanguageDataPath
- getObjectKeysManager
- hasAllContents
- refreshAllData
- removeUnusedTextData
- updateContents
Constructors
constructor
Parameters
client: StarRail
Returns CachedAssetsManager
Properties
_cacheUpdater
readonly_excels
_githubCache
_isFetching
readonly_langs
List of supported languages
cacheDirectoryPath
Path of directory where StarRail cache data is stored
readonlyclient
The client that instantiated this
readonlydefaultCacheDirectoryPath
Default path of StarRail cache data directory
Methods
_downloadCacheZip
Download the zip file, which contains StarRail cache data, from https://raw.githubusercontent.com/yuko1101/starrail.js/main/cache.zip
Parameters
options: { ghproxy?: boolean } = {}
Returns Promise<void>
_getExcelData
Type parameters
- T: AvatarConfig | ItemConfigAvatar | DamageType | AvatarBaseType | AvatarSkillConfig | AvatarSkillTreeConfig | AvatarRankConfig | AvatarPromotionConfig | EquipmentConfig | ItemConfigEquipment | EquipmentExpType | EquipmentSkillConfig | EquipmentPromotionConfig | RelicConfig | ItemConfigRelic | RelicExpType | RelicMainAffixConfig | RelicSubAffixConfig | RelicSetConfig | RelicSetSkillConfig | RelicBaseType | AvatarPropertyConfig | ItemConfigAvatarPlayerIcon | AvatarPlayerIcon | ItemPlayerCard | PlayerIcon
Parameters
excel: T
without extensions (.json)
Returns SingleBy<{ AvatarBaseType: readonly [readonly [ID, Unknown]]; AvatarConfig: readonly [AvatarID]; AvatarPlayerIcon: readonly [ID]; AvatarPromotionConfig: readonly [AvatarID, readonly [Promotion, 0]]; AvatarPropertyConfig: readonly [PropertyType]; AvatarRankConfig: readonly [RankID]; AvatarSkillConfig: readonly [SkillID, Level]; AvatarSkillTreeConfig: readonly [PointID, Level]; DamageType: readonly [ID]; EquipmentConfig: readonly [EquipmentID]; EquipmentExpType: readonly [ExpType, Level]; EquipmentPromotionConfig: readonly [EquipmentID, readonly [Promotion, 0]]; EquipmentSkillConfig: readonly [SkillID, Level]; ItemConfigAvatar: readonly [ID]; ItemConfigAvatarPlayerIcon: readonly [ID]; ItemConfigEquipment: readonly [ID]; ItemConfigRelic: readonly [ID]; ItemPlayerCard: readonly [ID]; PlayerIcon: readonly [ID]; RelicBaseType: readonly [readonly [Type, All]]; RelicConfig: readonly [ID]; RelicExpType: readonly [TypeID, readonly [Level, 0]]; RelicMainAffixConfig: readonly [GroupID, AffixID]; RelicSetConfig: readonly [SetID]; RelicSetSkillConfig: readonly [SetID, RequireNum]; RelicSubAffixConfig: readonly [GroupID, AffixID] }[T]>
activateAutoCacheUpdater
Parameters
options: { ghproxy?: boolean; instant?: boolean; onError?: (error: Error) => Promise<void>; onUpdateEnd?: () => Promise<void>; onUpdateStart?: () => Promise<void>; timeout?: number; useRawStarRailData?: boolean } = {}
Returns void
cacheDirectorySetup
Create the necessary folders and files, and if the directory cacheDirectoryPath did not exist, move the cache files from the default path.
Returns Promise<void>
checkForUpdates
Parameters
useRawStarRailData: boolean = false
Whether to fetch from gitlab repo (https://gitlab.com/Dimbreath/turnbasedgamedata) instead of downloading cache.zip
Returns Promise<boolean>
Whether the game data update is available or not.
deactivateAutoCacheUpdater
Disables the updater activated by activateAutoCacheUpdater
Returns void
fetchAllContents
Parameters
options: { ghproxy?: boolean; useRawStarRailData?: boolean }
Returns Promise<void>
fetchLanguageData
Obtains a text map for a specific language.
Parameters
lang: chs | cht | de | en | es | fr | id | jp | kr | pt | ru | th | vi
Returns Promise<{}>
formatExcel
Type parameters
- T: AvatarConfig | ItemConfigAvatar | DamageType | AvatarBaseType | AvatarSkillConfig | AvatarSkillTreeConfig | AvatarRankConfig | AvatarPromotionConfig | EquipmentConfig | ItemConfigEquipment | EquipmentExpType | EquipmentSkillConfig | EquipmentPromotionConfig | RelicConfig | ItemConfigRelic | RelicExpType | RelicMainAffixConfig | RelicSubAffixConfig | RelicSetConfig | RelicSetSkillConfig | RelicBaseType | AvatarPropertyConfig | ItemConfigAvatarPlayerIcon | AvatarPlayerIcon | ItemPlayerCard | PlayerIcon
Parameters
excel: T
data: JsonObject[]
Returns SingleBy<{ AvatarBaseType: readonly [readonly [ID, Unknown]]; AvatarConfig: readonly [AvatarID]; AvatarPlayerIcon: readonly [ID]; AvatarPromotionConfig: readonly [AvatarID, readonly [Promotion, 0]]; AvatarPropertyConfig: readonly [PropertyType]; AvatarRankConfig: readonly [RankID]; AvatarSkillConfig: readonly [SkillID, Level]; AvatarSkillTreeConfig: readonly [PointID, Level]; DamageType: readonly [ID]; EquipmentConfig: readonly [EquipmentID]; EquipmentExpType: readonly [ExpType, Level]; EquipmentPromotionConfig: readonly [EquipmentID, readonly [Promotion, 0]]; EquipmentSkillConfig: readonly [SkillID, Level]; ItemConfigAvatar: readonly [ID]; ItemConfigAvatarPlayerIcon: readonly [ID]; ItemConfigEquipment: readonly [ID]; ItemConfigRelic: readonly [ID]; ItemPlayerCard: readonly [ID]; PlayerIcon: readonly [ID]; RelicBaseType: readonly [readonly [Type, All]]; RelicConfig: readonly [ID]; RelicExpType: readonly [TypeID, readonly [Level, 0]]; RelicMainAffixConfig: readonly [GroupID, AffixID]; RelicSetConfig: readonly [SetID]; RelicSetSkillConfig: readonly [SetID, RequireNum]; RelicSubAffixConfig: readonly [GroupID, AffixID] }[T]>
getExcelData
Type parameters
- T: AvatarConfig | ItemConfigAvatar | DamageType | AvatarBaseType | AvatarSkillConfig | AvatarSkillTreeConfig | AvatarRankConfig | AvatarPromotionConfig | EquipmentConfig | ItemConfigEquipment | EquipmentExpType | EquipmentSkillConfig | EquipmentPromotionConfig | RelicConfig | ItemConfigRelic | RelicExpType | RelicMainAffixConfig | RelicSubAffixConfig | RelicSetConfig | RelicSetSkillConfig | RelicBaseType | AvatarPropertyConfig | ItemConfigAvatarPlayerIcon | AvatarPlayerIcon | ItemPlayerCard | PlayerIcon
- U: (string | number)[]
Parameters
excel: T
without extension (.json)
rest...keys: U
Returns IndexBy<SingleBy<{ AvatarBaseType: readonly [readonly [ID, Unknown]]; AvatarConfig: readonly [AvatarID]; AvatarPlayerIcon: readonly [ID]; AvatarPromotionConfig: readonly [AvatarID, readonly [Promotion, 0]]; AvatarPropertyConfig: readonly [PropertyType]; AvatarRankConfig: readonly [RankID]; AvatarSkillConfig: readonly [SkillID, Level]; AvatarSkillTreeConfig: readonly [PointID, Level]; DamageType: readonly [ID]; EquipmentConfig: readonly [EquipmentID]; EquipmentExpType: readonly [ExpType, Level]; EquipmentPromotionConfig: readonly [EquipmentID, readonly [Promotion, 0]]; EquipmentSkillConfig: readonly [SkillID, Level]; ItemConfigAvatar: readonly [ID]; ItemConfigAvatarPlayerIcon: readonly [ID]; ItemConfigEquipment: readonly [ID]; ItemConfigRelic: readonly [ID]; ItemPlayerCard: readonly [ID]; PlayerIcon: readonly [ID]; RelicBaseType: readonly [readonly [Type, All]]; RelicConfig: readonly [ID]; RelicExpType: readonly [TypeID, readonly [Level, 0]]; RelicMainAffixConfig: readonly [GroupID, AffixID]; RelicSetConfig: readonly [SetID]; RelicSetSkillConfig: readonly [SetID, RequireNum]; RelicSubAffixConfig: readonly [GroupID, AffixID] }[T]>, U>
getJSONDataPath
Parameters
name: string
without extensions (.json)
Returns string
excel bin file path
getLanguageData
Parameters
lang: chs | cht | de | en | es | fr | id | jp | kr | pt | ru | th | vi
Returns {}
text map for a specific language
[key string]: string
getLanguageDataPath
Parameters
lang: chs | cht | de | en | es | fr | id | jp | kr | pt | ru | th | vi
Returns string
text map file path for a specific language
getObjectKeysManager
Returns ObjectKeysManager
ObjectKeysManager of this
hasAllContents
Returns boolean
whether all StarRail cache data files exist.
refreshAllData
Clean memory of cache data. Then reload data that was loaded before the clean if
reload
is true. Ifreload
is false, load each file as needed.Parameters
reload: boolean = false
Returns void
removeUnusedTextData
Remove all unused text map entries
Parameters
data: LoadedExcelDataMap
langsData: LoadedLanguageMap
showLog: boolean = true
Returns LoadedLanguageMap
updateContents
Parameters
options: { ghproxy?: boolean; onUpdateEnd?: () => Promise<void>; onUpdateStart?: () => Promise<void>; useRawStarRailData?: boolean } = {}
Returns Promise<void>
true if there were any updates, false if there were no updates.
List of the names of the files this library uses