npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

json-tsc

v1.0.4

Published

<p align="center"> <h1 align="center">JSON-TSC</h1> <p align="center">A plugin that makes it easier to convert JSON to Typescript types.</p> </p> <p align="center"> <a href="https://www.npmjs.com/package/json-tsc"><img src="https://img.shields.io/npm/v/js

Downloads

1

Readme

Features

  • 🌈 Simple - Provides the easiest API to convert JSON into Typescript interaface.
  • 🎉 Ts Supported - Support TypeScript & type checked & type inference.

Usage

npm i json-tsc -D

Import JSON_TSC into the file you want to convert.

import { JSON_TSC } from "json-tsc";

const JSON_TEST = {
  "a": 0,
  "b": {
    "c": "string",
    "d": [1, 2, 3],
    "e": {
      "f": true,
      "g": null,
    },
  },
};

const json_tsc = new JSON_TSC({
  prependWithO: true,
  sortAlphabetically: false,
  prependExport: true,
  useArrayGeneric: false,
  optionalFields: false,
  prefix: "",
});

const result = json_tsc.transform(JSON_TEST);

// result
type JSON_TSC = ORootObject;
export interface ORootObject {
  a: number;
  b: OB;
}
export interface OB {
  c: string;
  d: number[];
  e: OE;
}
export interface OE {
  f: boolean;
  g: any;
}

Config

export interface JSON_TSC_CONFIG {
  /** 
   * zh-CN: 是否在生成的类型前面加上 O
   * en: Whether to add O in front of the generated type
   */
  prependWithO: boolean
  /** 
   * zh-CN: 是否按照字母顺序排序
   * en: Whether to sort in alphabetical order
   */
  sortAlphabetically: boolean
  /** 
   * zh-CN: 是否在生成的类型前面加上 export
   * en: Whether to add export in front of the generated type
   */
  prependExport: boolean
  /** 
   * zh-CN: 是否使用 ''Array<T>'' 代替 ''T[]'
   * en: Whether to use ''Array<T>'' instead of ''T[]''
  */
  useArrayGeneric: boolean
  /** 
   * zh-CN: 是否将所有字段设置为可选
   * en: Whether to set all fields to optional
   */
  optionalFields: boolean
  /** 
   * zh-CN: 生成的类型前面的前缀
   * en: Prefix in front of generated type
   */
  prefix: string
  /** 
   * zh-CN: 生成的类型后面的后缀
   * en: Suffix behind generated type
   */
  rootObjectName: string
}

Use it Now

image

Development

You can see the preview of the following commands:

npm run build

Then you can run playground to see the result.

npm run play

If you want start the dev server, you can run:

npm run dev

License

MIT License © 2022 yzh990918