Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Пользовательское расширение контекста без потери типизации #557

Open
DZ8540 opened this issue Oct 15, 2023 · 1 comment
Labels
package: vk-io Issues related to vk-io

Comments

@DZ8540
Copy link

DZ8540 commented Oct 15, 2023

What did you do?

Создал интерфейс своего базового контекста, который содержит сессию и сцены, так как в своем проекте предполагаю, что они всегда подключены и доступны

export type BaseContext = MessageContext & {
  session: Session,
  scene: SceneContext,
}

What did you expect to happen?

Тайпскрипт показывает any для любого не декларированного свойства контекста.

What was the actual result?

В целом подсказки все есть, проблема здесь в том, что если при использовании контекста (в сценах или в обычных Middleware) приписывать к контексту не декларированные свойства, то тайпскрипт жаловаться не будет, что очень критично.

Additional Info

Скорее всего это происходит из-за этого.

Versions

package version
vk-io 4.8.3
TypeScript 4.6
@DZ8540 DZ8540 added the package: vk-io Issues related to vk-io label Oct 15, 2023
@DZ8540
Copy link
Author

DZ8540 commented Oct 16, 2023

В сценах та же самая проблема с потерей типизации в сессиях сцен (ctx.scene.session.example выдает any, это свойство нигде не декларировано). Хотелось бы, чтобы исправили в этом же issue.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
package: vk-io Issues related to vk-io
Projects
None yet
Development

No branches or pull requests

1 participant