1 | import {parse} from "./parser";
|
2 | import {print} from "./printer";
|
3 | import {transform} from "./transformer";
|
4 |
|
5 | export interface JsonTsOptions {
|
6 | namespace?: string
|
7 | flow?: boolean
|
8 | prefix?: string
|
9 | rootName?: string
|
10 | }
|
11 |
|
12 | export const defaults = {
|
13 | prefix: "I",
|
14 | rootName: "RootObject"
|
15 | };
|
16 |
|
17 | export 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 |
|
28 | export {
|
29 | parse,
|
30 | print,
|
31 | transform
|
32 | }
|
33 |
|
34 | declare var window;
|
35 | if ((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 |