Ответы пользователя по тегу TypeScript
  • Property 'createMessageComponentCollector' does not exist on type 'TextChannel'. Как исправить?

    @kttotto
    пофиг на чем писать
    Вы бы показали сам тип Message. Я так понимаю он имеет метод createMessageComponentCollector().
    Вся штука в том, что await message.reply() возвращает не тип Message, поэтому он этот метод найти и не может. Точнее имена полей и их типы могут совпадать, а вот метода не будет, он с сервера не приходит.
    Поэтому, в этом случае, думаю нужно создать экземпляр руками, а потом смапить поля. Что-то типа этого
    reply = await message.reply();
    const message = new Message();
    message.property1 = reply.property1;
    message.property2 = reply.property2;
    ...
    message.createMessageComponentCollector();
    Ответ написан
  • Как типизировать огромный объект в typescript?

    @kttotto
    пофиг на чем писать
    Декомпозировать или словарь.
    Ответ написан
    Комментировать
  • Как правильно описать объект в модели на TypeScript?

    @kttotto
    пофиг на чем писать
    export default class Model {
        _total: { [key: string]: any } = {};
    
        constructor() {
            super();
            this._total['value'] = 1;
            this._total['btn'] = {
                    add: true,
                    rem: false
            };
        }
    }


    Если все будете превращать в any, то толку от typescript не будет. Поэтому лучше типизируйте свои свойства как то так
    class Total {
        value: number,
        btn: {
            add: boolean,
            rem: boolean
        }
    };
    
    export default class Model {
        _total: Total;
    
        constructor() {
            super();
            this._total= new Total {
                value: 1,
                btn: {
                    add: true,
                    rem: false
                }
            };
        }
    }
    Ответ написан
    Комментировать