UNPKG

923 BPlain TextView Raw
1import {parse} from "./parser";
2import {print} from "./printer";
3import {transform} from "./transformer";
4
5export interface JsonTsOptions {
6 namespace?: string
7 flow?: boolean
8 prefix?: string
9 rootName?: string
10}
11
12export const defaults = {
13 prefix: "I",
14 rootName: "RootObject"
15};
16
17export function json2ts(validJsonString: string, options: JsonTsOptions = {}): string {
18 const merged = {
19 ...defaults,
20 ...options
21 };
22 const parsed = parse(validJsonString, merged);
23 const transformed = transform(parsed, merged);
24 const printed = print(transformed, merged);
25 return printed;
26}
27
28export {
29 parse,
30 print,
31 transform
32}
33
34declare var window;
35if ((typeof window !== 'undefined') && ((typeof window.json2ts) === 'undefined')) {
36 window.json2ts = json2ts;
37 window.json2ts.parse = parse;
38 window.json2ts.transform = transform;
39 window.json2ts.print = print;
40}
\No newline at end of file