CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-temporal-polyfill

A lightweight polyfill for Temporal, successor to the JavaScript Date object

Overall
score

96%

Evaluation96%

1.19x

Agent success when using this tile

Overview
Eval results
Files

rubric.jsonevals/scenario-3/

{
  "context": "Evaluates whether the solution leverages temporal-polyfill's Temporal namespace to normalize ISO timestamp segments into a target zone, compute accurate durations across offsets and daylight shifts, and derive day-based summaries from those zone-aware values.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "ISO parsing",
      "description": "Inputs with offset and zone are parsed via Temporal.ZonedDateTime.from (or Temporal.Instant.from followed by toZonedDateTimeISO) rather than manual string slicing or Date; parsing preserves the annotated time zone.",
      "max_score": 20
    },
    {
      "name": "Zone conversion",
      "description": "Segment times are converted to the target zone using Temporal zoning helpers such as withTimeZone or toInstant().toZonedDateTimeISO(targetTimeZone), producing bracketed zone-aware ISO strings at minute precision.",
      "max_score": 20
    },
    {
      "name": "Duration math",
      "description": "Elapsed minutes come from Temporal math (e.g., start.until(end, { smallestUnit: 'minute' }) or Temporal.Duration.from(...) with total('minutes')/round({ smallestUnit: 'minute' })) instead of arithmetic on epoch milliseconds or string differences.",
      "max_score": 20
    },
    {
      "name": "DST handling",
      "description": "Daylight-saving gaps/folds are handled implicitly by using ZonedDateTime/Instant arithmetic rather than custom offsets, yielding correct offsets on each side and matching durationISO outputs.",
      "max_score": 20
    },
    {
      "name": "Day grouping",
      "description": "Daily summaries derive dates from target-zone Temporal objects (e.g., toPlainDate()) and earliest/latest timestamps from the same zone-aware values, not by slicing strings or assuming UTC.",
      "max_score": 20
    }
  ]
}

Install with Tessl CLI

npx tessl i tessl/npm-temporal-polyfill

tile.json