This commit adds a fallback to getProjectTypeMessage function to return a generic project type whenever it encounters an unknown project type, ensuring there are no errors when the new project types are added.
70 lines
1.6 KiB
TypeScript
70 lines
1.6 KiB
TypeScript
const projectTypeMessages = defineMessages({
|
|
datapack: {
|
|
id: 'project-type.datapack.singular',
|
|
defaultMessage: 'Data Pack',
|
|
},
|
|
datapacks: {
|
|
id: 'project-type.datapack.plural',
|
|
defaultMessage: 'Data Packs',
|
|
},
|
|
mod: {
|
|
id: 'project-type.mod.singular',
|
|
defaultMessage: 'Mod',
|
|
},
|
|
mods: {
|
|
id: 'project-type.mod.plural',
|
|
defaultMessage: 'Mods',
|
|
},
|
|
modpack: {
|
|
id: 'project-type.modpack.singular',
|
|
defaultMessage: 'Modpack',
|
|
},
|
|
modpacks: {
|
|
id: 'project-type.modpack.plural',
|
|
defaultMessage: 'Modpacks',
|
|
},
|
|
plugin: {
|
|
id: 'project-type.plugin.singular',
|
|
defaultMessage: 'Plugin',
|
|
},
|
|
plugins: {
|
|
id: 'project-type.plugin.plural',
|
|
defaultMessage: 'Plugins',
|
|
},
|
|
resourcepack: {
|
|
id: 'project-type.resourcepack.singular',
|
|
defaultMessage: 'Resource Pack',
|
|
},
|
|
resourcepacks: {
|
|
id: 'project-type.resourcepack.plural',
|
|
defaultMessage: 'Resource Packs',
|
|
},
|
|
shader: {
|
|
id: 'project-type.shader.singular',
|
|
defaultMessage: 'Shader',
|
|
},
|
|
shaders: {
|
|
id: 'project-type.shader.plural',
|
|
defaultMessage: 'Shaders',
|
|
},
|
|
project: {
|
|
id: 'project-type.project.singular',
|
|
defaultMessage: 'Project',
|
|
},
|
|
projects: {
|
|
id: 'project-type.project.plural',
|
|
defaultMessage: 'Projects',
|
|
},
|
|
})
|
|
|
|
type ExtractSingulars<K extends string> = K extends `${infer T}s` ? T : never
|
|
|
|
type ProjectType = ExtractSingulars<keyof typeof projectTypeMessages>
|
|
|
|
export function getProjectTypeMessage(type: ProjectType, plural = false) {
|
|
return (
|
|
projectTypeMessages[`${type}${plural ? 's' : ''}`] ??
|
|
projectTypeMessages[`project${plural ? 's' : ''}`]
|
|
)
|
|
}
|