/Knowledge/sources/honojs__hono/examples/durable-objects-src-counter-ts--397c76c3d1ea.md

Example: durable-objects/src/counter.ts - hono-docs

Example: durable objects/src/counter.ts Source evidence: /Sources/honojs hono/provenance.md Canonical citation: https://raw.githubusercontent.com/honojs/exam...

Example: durable-objects/src/counter.ts

Source evidence: /Sources/honojs__hono/provenance.md Canonical citation: https://raw.githubusercontent.com/honojs/examples/main/durable-objects/src/counter.ts

Summary

import { DurableObject } from 'cloudflare:workers' export class Counter extends DurableObject { async getCounterValue() { let value = (await this.ctx.storage.get('value')) || 0 return value } async increment(amount = 1) { let value: numb...

Content

import { DurableObject } from 'cloudflare:workers'

export class Counter extends DurableObject { async getCounterValue() { let value = (await this.ctx.storage.get('value')) || 0 return value }

async increment(amount = 1) { let value: number = (await this.ctx.storage.get('value')) || 0 value += amount await this.ctx.storage.put('value', value) return value }

async decrement(amount = 1) { let value: number = (await this.ctx.storage.get('value')) || 0 value -= amount await this.ctx.storage.put('value', value) return value } }

Metadata

{
  "chunk_index": 0,
  "citation": "https://raw.githubusercontent.com/honojs/examples/main/durable-objects/src/counter.ts",
  "coverage_role": "examples",
  "qualified_title": "Hono / examples / durable-objects/src/counter.ts",
  "repo_path": "durable-objects/src/counter.ts",
  "retrieved_at": "2026-07-02T05:51:01Z",
  "section_index": 0,
  "source_id": "/honojs/hono",
  "source_type": "examples",
  "target_label": "examples",
  "title": "Example: durable-objects/src/counter.ts",
  "upstream_url": "https://raw.githubusercontent.com/honojs/examples/main/durable-objects/src/counter.ts",
  "version": "2026"
}