Я хочу, чтобы создать свою собственные типизации DefinitelyTyped для рейтинга проекта (https://github.com/maxcnunes/ranking)Как я должен сделать, чтобы создать свою собственные типизации DefinitelyTyped, которые имеют по умолчанию как класс
Я попробовать реализацию следующей ...
declare module 'ranking' {
interface RankingPlayer {
position: number
score: number
playerId: any
}
interface Ranking {
maxScore: number
branchFactor: number
players: any
find(query);
findOne(query);
setScore(player: RankingPlayer);
addPlayerPoints(player: RankingPlayer);
}
interface RankingStatic {
(config: any): Ranking;
}
var ranking: RankingStatic;
export = ranking;
}
Когда я пытаюсь с кодом
import Ranking from 'ranking'
...
console.log(Ranking) // This out '[Function: Ranking]'
const ranking = new Ranking({}) // This Error 'Cannot call a class as a function'
Так что я снова попробовать со следующими кодами ...
declare module 'ranking' {
interface RankingPlayer {
position: number
score: number
playerId: any
}
export default class Ranking {
maxScore: number
branchFactor: number
players: any
constructor(config: any)
find(query)
findOne(query)
setScore(player: RankingPlayer)
addPlayerPoints(player: RankingPlayer)
}
}
И попробуйте с кодом
import Ranking from 'ranking'
...
console.log(Ranking) // This out 'undefined'
const ranking = new Ranking({}) // This Error 'ranking_1.default is not a constructor'
Не знаю, что нужно сделать, чтобы это реализовать :(
Я думаю, что это не проблема с вашей типизацией, а не с процессом сборки. Можете ли вы добавить это, пожалуйста? –
@SebastianSebald Я не знаю, что такое процесс сборки? –
Поскольку ваш код должен быть переведен на JavaScript, я думаю, у вас есть какой-то процесс для этого. Или это ошибка, показанная в вашей среде IDE? –