Skip to content
New issue

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

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

Already on GitHub? Sign in 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.

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

No branches or pull requests

1 participant