As of TypeScript 3.7, it's no longer necessary to use the workaround in this package for defining valid JSON structures.
This small snippet is all that is required now:
type Json =
| string
| number
| boolean
| null
| Record<string, Json>
| Json[];
JSON TypeScript Definitions
A simple typescript definition module that simplifies type checking for valid JSON objects. Useful for defining interfaces and parameter type checking.
npm i json-types
import {
Primitive,
JSONEntry,
JSONArray,
JSONMap,
JSONData
} from '../json-types'
import {
Primitive,
JSONEntry,
JSONArray,
JSONMap,
JSONData
} from '../json-types'
interface QueryString {
[key: string]: Primitive | undefined
}
interface APIResponse extends JSONMap {
address: {
house_no: number
street: string
}
name: string,
has_website: false
files: JSONArray
metadata: JSONEntry
}
function httpGet (url: string): Promise<JSONData> {
return requestPromise(url, {
json: true
})
}