有没有办法为 Svelte 商店的更新定义一个泛型?

Is there a way to define a generic for Svelte store's Update?

我正在查看这部分 here 关于 svelte 中的打字稿泛型,它提到了

Svelte stores support generics out of the box

在我的项目中,我像这样向商店项目添加了一个泛型

interface Car {
  x: number;
  y: number;
}

export const cars = writable<Array<Car>>([])

但是,当我这样使用update

      cars.update(c) => [
        ...c,
        {      
          x: 1,
          y: 2,
          BAD: "BAD"
        },
      ]);

Typescript 没有抱怨。 set 也会发生这种情况,该方法只有一个 any 类型。

啊,作为 @Tholle pointed out ala this article,由于 Typescripts 结构类型,我需要更加明确,所以为了获得预期的结果,我必须像这样输入我的 return。

 cars.update(c): Array<Car> => [
        ...c,
        {      
          x: 1,
          y: 2,
          BAD: "BAD"
        },
      ]);