Почему значение машинописного текста становится типом «любой»

Так что кажется, что по какой-то причине, не уверен, кто виноват - тип машинописного текста не распознается...

В качестве примера я использую пакет npm " pinia@next ", и вот простой демонстрационный код:

(Это единственный файл в папке вместе с одним установленным пакетом npm install pinia@next)

      import { defineStore, Store } from "pinia";

export type State = {
  anyProperty: string
};

export const useAccountStore = defineStore("account", {
  state: () => ({} as State),
});

var test = useAccountStore() as Store<"account", State>;

И в этом фрагменте кода:

  1. «useAccountStore» имеет правильный тип
  2. Тип «StoreDefinition» — это функция, которая возвращает «Store» в качестве возвращаемого типа:
  3. VS Code считает, что возвращает тип «любой»:

  1. Даже когда я явно привожу его к типу «Магазин», это приводит к «любому»
  • Версия кода VS: 1.64.1
  • Версия машинописного текста VS Code: 4.5.5

Любые идеи, что может происходить?

  • Похоже, это не проблема с самим пакетом, так как я не нашел подобных проблем в Интернете, а также в учебниках на YouTube. Я вижу, что люди получают сильный шрифт без каких-либо дополнительных шагов... Таким образом, это должна быть проблема с моей конфигурацией/версией Typescript или что-то в этом роде?
  • Я обновил свой код Visual Studio до последней версии
  • В инструментах разработки Visual Studio Code - я не вижу ни предупреждений, ни ошибок, связанных с машинописным текстом

1 ответ

Storeопределяется в файле type.js пинии как

      export type Store<
  Id extends string = string,
  S extends StateTree = {},
  G /* extends GettersTree<S>*/ = {},
  // has the actions without the context (this) for typings
  A /* extends ActionsTree */ = {}
> = _StoreWithState<Id, S, G, A> &
  UnwrapRef<S> &
  _StoreWithGetters<G> &
  // StoreWithActions<A> &
  (_ActionsTree extends A ? {} : A) &
  PiniaCustomProperties<Id, S, G, A> &
  PiniaCustomStateProperties<S>

Если какой-либо из них решает anyтогда все получится.

Другие вопросы по тегам