@digitalcloud.no/jsonschema-ts-helper
v0.1.1
Published
Generate TypeScript types from JSON Schema.
Maintainers
Readme
@digitalcloud.no/jsonschema-ts-helper
Generate TypeScript types from JSON Schema.
Installation
npm install @digitalcloud.no/jsonschema-ts-helperFeatures
- ✅ Convert JSON Schema to TypeScript interfaces
- ✅ Support for common JSON Schema types
- ✅ Nested object support
- ✅ Array type handling
- ✅ CLI tool included
- ✅ Programmatic API
Usage
CLI
# Generate TypeScript types from JSON Schema file
npx jsonschema-ts input.json output.ts
# Or if installed globally
jsonschema-ts schema.json types.tsProgrammatic API
import { generateTypes } from '@digitalcloud.no/jsonschema-ts-helper';
const schema = {
type: 'object',
properties: {
id: { type: 'number' },
name: { type: 'string' },
email: { type: 'string' },
active: { type: 'boolean' }
},
required: ['id', 'name']
};
const typescript = generateTypes(schema, 'User');
console.log(typescript);
// Output:
// export interface User {
// id: number;
// name: string;
// email?: string;
// active?: boolean;
// }API
generateTypes(schema, interfaceName?)
Generates TypeScript interface from JSON Schema.
Parameters:
schema: JSON Schema objectinterfaceName: Name for the generated interface (default: 'GeneratedType')
Returns: TypeScript interface as string
Supported JSON Schema Types
string→stringnumber→numberinteger→numberboolean→booleanarray→Array<T>object→ nested interfacenull→null
Example
Input JSON Schema:
{
"type": "object",
"properties": {
"user": {
"type": "object",
"properties": {
"id": { "type": "number" },
"tags": {
"type": "array",
"items": { "type": "string" }
}
}
}
}
}Output TypeScript:
export interface GeneratedType {
user?: {
id?: number;
tags?: string[];
};
}Contributing
Contributions are welcome! This package is part of the npm-packages monorepo.
License
MIT © digitalcloud.no
