CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-hoist-non-react-statics

Copies non-react specific statics from a child component to a parent component

95

1.09x
Overview
Eval results
Files

rubric.jsonevals/scenario-3/

{
  "context": "Evaluates how the solution uses hoist-non-react-statics to expose inherited static properties on a wrapper component as required by the spec. Focuses on proper invocation to preserve wrapper-defined statics and descriptor fidelity.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Imports library",
      "description": "Imports and references `hoistNonReactStatics` from `hoist-non-react-statics` instead of reimplementing static copying manually.",
      "max_score": 20
    },
    {
      "name": "Correct hoist call",
      "description": "Invokes `hoistNonReactStatics(wrapper, Component, exclusions?)` so statics from the wrapped component (including inherited ones) are applied to the wrapper; wrapper is the target and the wrapped component is the source.",
      "max_score": 30
    },
    {
      "name": "Wrapper statics kept",
      "description": "Ensures wrapper-defined statics (e.g., an existing `tag`) remain intact after hoisting, by setting them before calling `hoistNonReactStatics` and relying on the library's non-overwrite behavior.",
      "max_score": 20
    },
    {
      "name": "Descriptors & symbols",
      "description": "Uses the library (not manual assignment) so getter/setter statics and symbol-named statics from ancestors are preserved on the wrapper with their descriptors intact.",
      "max_score": 15
    },
    {
      "name": "Exclusion support",
      "description": "If exclusions/options are supplied, passes them through the third argument to `hoistNonReactStatics` to skip specified statics while hoisting inherited ones.",
      "max_score": 15
    }
  ]
}

Install with Tessl CLI

npx tessl i tessl/npm-hoist-non-react-statics

tile.json