1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | var typescript_json_schema_1 = require("./typescript-json-schema");
|
4 | function run() {
|
5 | var helpText = "Usage: typescript-json-schema <path-to-typescript-files-or-tsconfig> <type>";
|
6 | var defaultArgs = typescript_json_schema_1.getDefaultArgs();
|
7 | var args = require("yargs")
|
8 | .usage(helpText)
|
9 | .demand(2)
|
10 | .boolean("refs").default("refs", defaultArgs.ref)
|
11 | .describe("refs", "Create shared ref definitions.")
|
12 | .boolean("aliasRefs").default("aliasRefs", defaultArgs.aliasRef)
|
13 | .describe("aliasRefs", "Create shared ref definitions for the type aliases.")
|
14 | .boolean("topRef").default("topRef", defaultArgs.topRef)
|
15 | .describe("topRef", "Create a top-level ref definition.")
|
16 | .boolean("titles").default("titles", defaultArgs.titles)
|
17 | .describe("titles", "Creates titles in the output schema.")
|
18 | .boolean("defaultProps").default("defaultProps", defaultArgs.defaultProps)
|
19 | .describe("defaultProps", "Create default properties definitions.")
|
20 | .boolean("noExtraProps").default("noExtraProps", defaultArgs.noExtraProps)
|
21 | .describe("noExtraProps", "Disable additional properties in objects by default.")
|
22 | .boolean("propOrder").default("propOrder", defaultArgs.propOrder)
|
23 | .describe("propOrder", "Create property order definitions.")
|
24 | .boolean("typeOfKeyword").default("typeOfKeyword", defaultArgs.typeOfKeyword)
|
25 | .describe("typeOfKeyword", "Use typeOf keyword (https://goo.gl/DC6sni) for functions.")
|
26 | .boolean("required").default("required", defaultArgs.required)
|
27 | .describe("required", "Create required array for non-optional properties.")
|
28 | .boolean("strictNullChecks").default("strictNullChecks", defaultArgs.strictNullChecks)
|
29 | .describe("strictNullChecks", "Make values non-nullable by default.")
|
30 | .boolean("ignoreErrors").default("ignoreErrors", defaultArgs.ignoreErrors)
|
31 | .describe("ignoreErrors", "Generate even if the program has errors.")
|
32 | .alias("out", "o")
|
33 | .describe("out", "The output file, defaults to using stdout")
|
34 | .array("validationKeywords").default("validationKeywords", defaultArgs.validationKeywords)
|
35 | .describe("validationKeywords", "Provide additional validation keywords to include.")
|
36 | .boolean("excludePrivate").default("excludePrivate", defaultArgs.excludePrivate)
|
37 | .describe("excludePrivate", "Exclude private members from the schema.")
|
38 | .boolean("uniqueNames").default("uniqueNames", defaultArgs.uniqueNames)
|
39 | .describe("uniqueNames", "Use unique names for type symbols.")
|
40 | .array("include").default("*", defaultArgs.include)
|
41 | .describe("include", "Further limit tsconfig to include only matching files.")
|
42 | .boolean("rejectDateType").default("rejectDateType", defaultArgs.rejectDateType)
|
43 | .describe("rejectDateType", "Rejects Date fields in type definitions.")
|
44 | .string("id").default("id", defaultArgs.id)
|
45 | .describe("id", "ID of schema.")
|
46 | .argv;
|
47 | typescript_json_schema_1.exec(args._[0], args._[1], {
|
48 | ref: args.refs,
|
49 | aliasRef: args.aliasRefs,
|
50 | topRef: args.topRef,
|
51 | titles: args.titles,
|
52 | defaultProps: args.defaultProps,
|
53 | noExtraProps: args.noExtraProps,
|
54 | propOrder: args.propOrder,
|
55 | typeOfKeyword: args.useTypeOfKeyword,
|
56 | required: args.required,
|
57 | strictNullChecks: args.strictNullChecks,
|
58 | ignoreErrors: args.ignoreErrors,
|
59 | out: args.out,
|
60 | validationKeywords: args.validationKeywords,
|
61 | include: args.include,
|
62 | excludePrivate: args.excludePrivate,
|
63 | uniqueNames: args.uniqueNames,
|
64 | rejectDateType: args.rejectDateType,
|
65 | id: args.id,
|
66 | });
|
67 | }
|
68 | exports.run = run;
|
69 | if (typeof window === "undefined" && require.main === module) {
|
70 | run();
|
71 | }
|
72 |
|
\ | No newline at end of file |