将 re-reselect 从 5.x 升级到 6.x
根据 TypeScript 类型自动比较 re-reselect 5.1.1 与 6.0.0 的公开 API。签名变化表示可能存在不兼容变更,并非确定结论。
概要
| 已删除的导入路径 | 0 |
|---|---|
| 已删除的导出 | 11 |
| 已修改的签名 | 4 |
| 已删除的类或接口成员 | 0 |
| 已修改的类或接口成员 | 3 |
| 新增弃用 | 0 |
| 要求变化(engines、peer 依赖) | 1 |
| 新增导出 | 3 |
已删除的导出
| import | export | kind | 之前 |
|---|---|---|---|
re-reselect | Selector | type | (state: S) => R |
re-reselect | OutputSelector | type | Selector<S, R> & { resultFunc: C; dependencies: D; recomputations: () => number; resetRecomputations: () => number; } |
re-reselect | ParametricSelector | type | (state: S, props: P, ...args: any[]) => R |
re-reselect | ParametricKeySelector | type | (state: S, props: P, ...args: any[]) => any |
re-reselect | CreateSelectorInstance | type | { [x: string]: any; [x: number]: any; [x: symbol]: any; } |
re-reselect | OutputParametricSelector | type | ParametricSelector<S, P, R> & { resultFunc: C; dependencies: D; recomputations: () => number; resetRecomputations: () => number; } |
re-reselect | OptionalParametricSelector | type | (state: S, props?: P | undefined, ...args: any[]) => R |
re-reselect | ParametricKeySelectorCreator | type | (selectorInputs: { inputSelectors: D; resultFunc: C; keySelector: ParametricKeySelector<S, P>; }) => ParametricKeySelector<S, P> |
re-reselect | OutputParametricCachedSelector | type | (options: ParametricKeySelector<S, P> | ParametricOptions<S, P, C, D>) => ParametricSelector<S, P, R> & { resultFunc: C; dependencies: D; recomputations: () => number; resetRecomputations: () => number; } & { getMatchingSelector: (state: S, props: P, ...args: any[]) => OutputParametricSelector<S, P, R, C, D>; removeMatchingSelector: (state: S, props: P, ...args: any[]) => void; clearCache: () => void; cache: ICacheObject; keySelector: ParametricKeySelector<S, P>; } |
re-reselect | OutputOptionalParametricSelector | type | OptionalParametricSelector<S, P, R> & { resultFunc: C; dependencies: D; recomputations: () => number; resetRecomputations: () => number; } |
re-reselect | OutputOptionalParametricCachedSelector | type | (options: ParametricKeySelector<S, P> | ParametricOptions<S, P, C, D>) => OptionalParametricSelector<S, P, R> & { resultFunc: C; dependencies: D; recomputations: () => number; resetRecomputations: () => number; } & { getMatchingSelector: (state: S, props?: P | undefined, ...args: any[]) => OutputOptionalParametricSelector<S, P, R, C, D>; removeMatchingSelector: (state: S, props?: P | undefined, ...args: any[]) => void; clearCache: () => void; cache: ICacheObject; keySelector: ParametricKeySelector<S, P>; } |
已修改的签名
| export | 之前 | 之后 |
|---|---|---|
re-reselect · KeySelectorCreator | (selectorInputs: { inputSelectors: D; resultFunc: C; keySelector: KeySelector<S>; }) => KeySelector<S> | (selectorInputs: { inputSelectors: InputSelectors; resultFunc: Combiner<InputSelectors, Result>; keySelector?: TypedKeySelector<InputSelectors> | undefined; }) => TypedKeySelector<InputSelectors> |
re-reselect · OutputCachedSelector | (options: KeySelector<S> | Options<S, C, D>) => Selector<S, R> & { resultFunc: C; dependencies: D; recomputations: () => number; resetRecomputations: () => number; } & { getMatchingSelector: (state: S, ...args: any[]) => OutputSelector<S, R, C, D>; removeMatchingSelector: (state: S, ...args: any[]) => void; clearCache: () => void; cache: ICacheObject; keySelector: KeySelector<S>; } | any |
re-reselect · createCachedSelector | <S, R1, T>(selector: Selector<S, R1>, combiner: (res: R1) => T, createSelectorOptions?: any): OutputCachedSelector<S, T, (res: R1) => T, [Selector<S, R1>]> | <S, P, R1, T>(selector: ParametricSelector<S, P, R1>, combiner: (res: R1) => T, createSelectorOptions?: any): OutputParametricCachedSelector<S, P, T, (res: R1) => T, [ParametricSelector<S, P, R1>]> | <S, R1, R2, T>(selector1: Selector<S, R1>, selector2: Selector<S, R2>, combiner: (res1: R1, res2: R2) => T, createSelectorOptions?: any): OutputCachedSelector<S, T, (res1: R1, res2: R2) => T, [Selector<S, R1>, Selector<S, R2>]> | <S, P, R1, R… | <InputSelectors extends SelectorArray<any>, Result>(...createSelectorArgs: [...inputSelectors: InputSelectors, combiner: Combiner<InputSelectors, Result>]): (polymorphicOptions: PolymorphicCachedOptions<InputSelectors, Result>) => any | <InputSelectors extends SelectorArray<any>, Result>(...createSelectorArgs: [...inputSelectors: InputSelectors, combiner: Combiner<InputSelectors, Result>, createSelectorOptions: CreateSelectorOptions]): (polymorphicOptions: PolymorphicCachedOptions<InputSelectors, Result>) => any | <InputSelectors extends SelectorArray<any>, Result>(inputSelectors: [...InputSel… |
re-reselect · createStructuredCachedSelector | <T extends { [key: string]: (state: any, ...args: any[]) => any; }, S = $Values<{ [K in keyof T]: Parameters<T[K]>[0]; }>, P = Exclude<$Values<{ [K in keyof T]: Parameters<T[K]>[1]; }>, undefined>, R = { [K in keyof T]: ReturnType<T[K]>; }>(selectors: T): StructuredIsParametric<T> extends false ? OutputCachedSelector<S, R, (...args: $Values<R>[]) => R, Selector<S, $Values<R>>[]> : StructuredHasRequiredProps<T> extends true ? OutputParametricCachedSelector<S, P, R, (...args: $Values<R>[]) => R, ParametricSelector<S, P, $Values<R>>[]> : OutputOptionalParametricCachedSelector<S, P, R, (...args: $… | <InputSelectorsObject extends SelectorsObject<any>>(selectors: InputSelectorsObject): StructuredCachedSelector<InputSelectorsObject> |
已删除的类或接口成员
未发现。
已修改的类或接口成员
| member | 之前 | 之后 |
|---|---|---|
LruObjectCache.isValidCacheKey | (key: ObjectCacheKey): boolean | (cacheKey: ObjectCacheKey): boolean |
FifoObjectCache.isValidCacheKey | (key: ObjectCacheKey): boolean | (cacheKey: ObjectCacheKey): boolean |
FlatObjectCache.isValidCacheKey | (key: ObjectCacheKey): boolean | (cacheKey: ObjectCacheKey): boolean |
新增弃用
未发现。
要求变化(engines、peer 依赖)
| 之前 | 之后 | |
|---|---|---|
peerDependencies.reselect | ^5.0.0 | ^5.1.0 |
新增导出 (3)
| import | export | kind |
|---|---|---|
re-reselect | TypedKeySelector | type |
re-reselect | CreateCachedSelector | interface |
re-reselect | CreateCachedSelectorOptions | type |
把这些数据交给你的 AI 智能体
Vigia 是免费的 MCP 服务器:你的编程智能体在写代码之前就能检查版本、不兼容变更和安全漏洞。无需注册,无需 API 密钥。
claude mcp add --transport http vigia https://vigia.coredls.cloud/mcp
添加到 Cursor添加到 VS Code★ 在 GitHub 上加星
任何其他 MCP 客户端
{ "mcpServers": { "vigia": { "url": "https://vigia.coredls.cloud/mcp" } } }常见问题
将 re-reselect 从 5 升级到 6 有哪些不兼容变更?
在 re-reselect 5.1.1 与 6.0.0 之间,Vigia 发现 11 个已删除的导出、4 个已修改的签名,以及 3 个已删除或修改的类或接口成员。
re-reselect 6 中弃用了哪些内容?
re-reselect 6.0.0 中有 0 个导出或成员新被标记为弃用。
供智能体使用
GET https://vigia.coredls.cloud/v1/packages/npm/re-reselect/upgrade?from=5.1.1&to=6.0.0