0.0.1 • Published 2 years ago

@developedbyant/j2t v0.0.1

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

Generate TypeScript interfaces from JSON

Import functions

import { j2tFromFile,j2tFromObject,j2tFromJson } from "@developedbyant/j2t"

Or just use npx

npx @developedbyant/j2t --file=fileName.json

Using JavaScript Object

const userObject = {
    name:"Tony",
    age:24,
    jobs:[ "developer","singer" ],
    posts:[
        { id:1, title:"How to cook", tags:["cook"] },
        { id:2, title:"How to drive", tags:["drive"] }
    ]
}
// User = Interface name
console.log( j2tFromObject(userObject,"User") )

Using json file

// UserFromJsonFile = Interface name
const jsonFilePath = "test/user.json"
console.log( j2tFromFile(jsonFilePath,"UserFromJsonFile") )

Using json string

// UserFromJsonString = Interface name
const jsonString = JSON.stringify(userObject)
console.log( j2tFromJson(jsonString,"UserFromJsonString") )

Outputs

export interface User{
    name:string
    age:number
    jobs:string[]
    posts:{
        id:number
        title:string
        tags:string[]
    }
}
export interface UserFromJsonFile{
    name:string
    age:number
    jobs:string[]
    posts:{
        id:number
        title:string
        tags:string[]
    }
}
export interface UserFromJsonString{
    name:string
    age:number
    jobs:string[]
    posts:{
        id:number
        title:string
        tags:string[]
    }
}

TODO: WORK ON MULTIPLE OBJECT INSIDE LIST