/Knowledge/sources/honojs__hono/examples/blog-src-model-ts--2ef88802a7e3.md

Example: blog/src/model.ts - hono-docs

Example: blog/src/model.ts Source evidence: /Sources/honojs hono/provenance.md Canonical citation: https://raw.githubusercontent.com/honojs/examples/main/blo...

Example: blog/src/model.ts

Source evidence: /Sources/honojs__hono/provenance.md Canonical citation: https://raw.githubusercontent.com/honojs/examples/main/blog/src/model.ts

Summary

const PREFIX = 'v1:post:' declare global { interface Crypto { randomUUID(): string } } export interface Post { id: string title: string body: string } export type Param = { title: string body: string } const generateID = (key: string) =>...

Content

const PREFIX = 'v1:post:'

declare global { interface Crypto { randomUUID(): string } }

export interface Post { id: string title: string body: string }

export type Param = { title: string body: string }

const generateID = (key: string) => { return ${PREFIX}${key} }

export const getPosts = async (KV: KVNamespace): Promise<Post[]> => { const list = await KV.list({ prefix: PREFIX }) const keys = list.keys const posts: Post[] = []

const len = keys.length for (let i = 0; i < len; i++) { const value = await KV.get(keys[i].name) if (value) { const post: Post = JSON.parse(value) posts.push(post) } }

return posts }

export const getPost = async (KV: KVNamespace, id: string): Promise<Post | undefined> => { const value = await KV.get(generateID(id)) if (!value) return const post: Post = JSON.parse(value) return post }

Metadata

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