なんか書けそうだったので書きました。 JSONSchemaを書きつつTypescriptも書きつつで二重定義が辛かったのを解消してくれると思います。 使い方 import type { InferJSONSchema } from "@trkbt10/json-schema-type-inferrer"; const additionalProperties = { type: "object", properties: { item: { type: "string", }, }, additionalProperties: { type: "string", }, required: ["item"], } as const; const object: InferJSONSchema<typeof additionalProperties> = { item: "value", };