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-5/

{
  "context": "Criteria evaluate whether the solution wraps components while relying on hoist-non-react-statics to preserve symbol-keyed metadata as described in the spec. Scoring focuses purely on deliberate use of hoist-non-react-statics to copy symbol statics, honor exclusions, and leverage its handling of inherited properties and descriptors.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Uses hoist helper",
      "description": "Implementation calls hoistNonReactStatics (the default export from hoist-non-react-statics) to transfer statics from the base component to the wrapper instead of reimplementing manual copying.",
      "max_score": 30
    },
    {
      "name": "Symbol statics kept",
      "description": "hoistNonReactStatics is applied so symbol-keyed statics on the base component are present on the wrapper with identical references/values, demonstrating the library's symbol support.",
      "max_score": 25
    },
    {
      "name": "Exclusions handled",
      "description": "Options.excludeSymbols are converted into the exclusion map passed to hoistNonReactStatics, ensuring specified symbol keys are omitted during hoisting while other statics remain.",
      "max_score": 20
    },
    {
      "name": "Prototype symbols",
      "description": "hoistNonReactStatics is invoked on the base component (not just its own properties) so inherited symbol statics from the prototype chain are hoisted as the library provides.",
      "max_score": 15
    },
    {
      "name": "Hoist placement",
      "description": "hoistNonReactStatics is called after the wrapper component is defined and before it is returned/exported, ensuring symbol statics are attached to the returned wrapper rather than left on the base component only.",
      "max_score": 10
    }
  ]
}

Install with Tessl CLI

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

tile.json