From 280a1054e960e090969b2f0ac855d79103dc7e1f Mon Sep 17 00:00:00 2001 From: FranzFlueckiger Date: Sat, 27 Mar 2021 22:39:56 +0100 Subject: [PATCH 1/2] Add generic type for NodeGroup from incoming data This PR allows typescript users to directly have the type of the incoming data array inferred in all the following functions: keyAccessor, start, enter, update and leave. If this PR is accepted, nothing will change from the user's perspective except that they will enjoy code completion where they might expect it to be. --- src/NodeGroup/index.d.ts | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/src/NodeGroup/index.d.ts b/src/NodeGroup/index.d.ts index c2a2e44..ca4249b 100644 --- a/src/NodeGroup/index.d.ts +++ b/src/NodeGroup/index.d.ts @@ -1,17 +1,19 @@ -import * as React from "react"; +import * as React from 'react' import { HashMap, GetInterpolator } from '..' -export interface INodeGroupProps { - data: Array; - keyAccessor: (data: any, index: number) => string | number; - interpolation?: GetInterpolator; - start: (data: any, index: number) => HashMap; - enter?: (data: any, index: number) => (HashMap | Array); - update?: (data: any, index: number) => (HashMap | Array); - leave?: (data: any, index: number) => (HashMap | Array); - children: (nodes: Array) => React.ReactElement; +export interface INodeGroupProps { + data: Array + keyAccessor: (data: T, index: number) => string | number + interpolation?: GetInterpolator + start: (data: T, index: number) => HashMap + enter?: (data: T, index: number) => HashMap | Array + update?: (data: T, index: number) => HashMap | Array + leave?: (data: T, index: number) => HashMap | Array + children: (nodes: Array) => React.ReactElement } -export declare class INodeGroup extends React.Component { } +export declare class INodeGroup extends React.Component< + INodeGroupProps +> {} -export default INodeGroup \ No newline at end of file +export default INodeGroup From 448d899e6f4e0bf688bf2e963634b59283391504 Mon Sep 17 00:00:00 2001 From: FranzFlueckiger Date: Sat, 27 Mar 2021 22:44:31 +0100 Subject: [PATCH 2/2] Adapt to coding style --- src/NodeGroup/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NodeGroup/index.d.ts b/src/NodeGroup/index.d.ts index ca4249b..70b83ed 100644 --- a/src/NodeGroup/index.d.ts +++ b/src/NodeGroup/index.d.ts @@ -1,4 +1,4 @@ -import * as React from 'react' +import * as React from "react" import { HashMap, GetInterpolator } from '..' export interface INodeGroupProps {