Skip to content

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

@DZ8540

Description

@DZ8540

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions