@sdkgen/typescript-generator 0.0.0-dev.20231008144512 → 0.0.0-dev.20231221180829

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.eslintrc.json ADDED
@@ -0,0 +1,3 @@
1
+ {
2
+ "extends": ["@cubos"]
3
+ }
package/.prettierrc ADDED
@@ -0,0 +1,12 @@
1
+ {
2
+ "arrowParens": "avoid",
3
+ "bracketSpacing": true,
4
+ "endOfLine": "lf",
5
+ "parser": "typescript",
6
+ "printWidth": 150,
7
+ "semi": true,
8
+ "singleQuote": false,
9
+ "tabWidth": 2,
10
+ "trailingComma": "all",
11
+ "useTabs": false
12
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ const parser = __importStar(require("@sdkgen/parser"));
27
+ const helpers_1 = require("../src/helpers");
28
+ describe("helpers.ts", () => {
29
+ test("generateTypescriptInterface", () => {
30
+ const structType = new parser.StructType([]);
31
+ structType.fields = [
32
+ new parser.Field("int", new parser.IntPrimitiveType()),
33
+ new parser.Field("bigint", new parser.BigIntPrimitiveType()),
34
+ new parser.Field("date", new parser.DatePrimitiveType()),
35
+ new parser.Field("bool", new parser.BoolPrimitiveType()),
36
+ new parser.Field("bytes", new parser.BytesPrimitiveType()),
37
+ new parser.Field("uuid", new parser.UuidPrimitiveType()),
38
+ new parser.Field("void", new parser.VoidPrimitiveType()),
39
+ new parser.Field("json", new parser.JsonPrimitiveType()),
40
+ new parser.Field("optionalStrArray", new parser.OptionalType(new parser.ArrayType(new parser.StringPrimitiveType()))),
41
+ ];
42
+ structType.name = "awesomeInterface";
43
+ expect((0, helpers_1.generateTypescriptInterface)(structType, false)).toBe(`export interface awesomeInterface {
44
+ int: number
45
+ bigint: bigint
46
+ date: Date
47
+ bool: boolean
48
+ bytes: Buffer
49
+ uuid: string
50
+ void: void
51
+ json: any
52
+ optionalStrArray: string[] | null
53
+ }
54
+ `);
55
+ });
56
+ test("generateTypescriptTypeName: IntPrimitiveType", () => {
57
+ const type = new parser.IntPrimitiveType();
58
+ expect((0, helpers_1.generateTypescriptTypeName)(type, false)).toBe("number");
59
+ });
60
+ test("generateTypescriptTypeName: UIntPrimitiveType", () => {
61
+ const type = new parser.UIntPrimitiveType();
62
+ expect((0, helpers_1.generateTypescriptTypeName)(type, false)).toBe("number");
63
+ });
64
+ test("generateTypescriptTypeName: MoneyPrimitiveType", () => {
65
+ const type = new parser.MoneyPrimitiveType();
66
+ expect((0, helpers_1.generateTypescriptTypeName)(type, false)).toBe("number");
67
+ });
68
+ test("generateTypescriptTypeName: FloatPrimitiveType", () => {
69
+ const type = new parser.FloatPrimitiveType();
70
+ expect((0, helpers_1.generateTypescriptTypeName)(type, false)).toBe("number");
71
+ });
72
+ test("generateTypescriptTypeName: DateTimePrimitiveType", () => {
73
+ const type = new parser.DateTimePrimitiveType();
74
+ expect((0, helpers_1.generateTypescriptTypeName)(type, false)).toBe("Date");
75
+ });
76
+ test("generateTypescriptTypeName: StringPrimitiveType", () => {
77
+ const type = new parser.StringPrimitiveType();
78
+ expect((0, helpers_1.generateTypescriptTypeName)(type, false)).toBe("string");
79
+ });
80
+ test("generateTypescriptTypeName: CpfPrimitiveType", () => {
81
+ const type = new parser.CpfPrimitiveType();
82
+ expect((0, helpers_1.generateTypescriptTypeName)(type, false)).toBe("string");
83
+ });
84
+ test("generateTypescriptTypeName: CnpjPrimitiveType", () => {
85
+ const type = new parser.CnpjPrimitiveType();
86
+ expect((0, helpers_1.generateTypescriptTypeName)(type, false)).toBe("string");
87
+ });
88
+ test("generateTypescriptTypeName: EmailPrimitiveType", () => {
89
+ const type = new parser.EmailPrimitiveType();
90
+ expect((0, helpers_1.generateTypescriptTypeName)(type, false)).toBe("string");
91
+ });
92
+ test("generateTypescriptTypeName: HtmlPrimitiveType", () => {
93
+ const type = new parser.HtmlPrimitiveType();
94
+ expect((0, helpers_1.generateTypescriptTypeName)(type, false)).toBe("string");
95
+ });
96
+ test("generateTypescriptTypeName: UrlPrimitiveType", () => {
97
+ const type = new parser.UrlPrimitiveType();
98
+ expect((0, helpers_1.generateTypescriptTypeName)(type, false)).toBe("string");
99
+ });
100
+ test("generateTypescriptTypeName: HexPrimitiveType", () => {
101
+ const type = new parser.HexPrimitiveType();
102
+ expect((0, helpers_1.generateTypescriptTypeName)(type, false)).toBe("string");
103
+ });
104
+ test("generateTypescriptTypeName: Base64PrimitiveType", () => {
105
+ const type = new parser.Base64PrimitiveType();
106
+ expect((0, helpers_1.generateTypescriptTypeName)(type, false)).toBe("string");
107
+ });
108
+ test("generateTypescriptTypeName: XmlPrimitiveType", () => {
109
+ const type = new parser.XmlPrimitiveType();
110
+ expect((0, helpers_1.generateTypescriptTypeName)(type, false)).toBe("string");
111
+ });
112
+ test("generateTypescriptTypeName: StructType", () => {
113
+ const structType = new parser.StructType([
114
+ new parser.Field("int", new parser.IntPrimitiveType()),
115
+ new parser.Field("bigint", new parser.BigIntPrimitiveType()),
116
+ ]);
117
+ structType.name = "simpleInterface";
118
+ expect((0, helpers_1.generateTypescriptTypeName)(structType, false)).toBe(structType.name);
119
+ });
120
+ test("generateTypescriptTypeName: EnumType", () => {
121
+ const enumType = new parser.EnumType([new parser.EnumValue("value1")]);
122
+ enumType.name = "simpleEnum";
123
+ expect((0, helpers_1.generateTypescriptTypeName)(enumType, false)).toBe(enumType.name);
124
+ });
125
+ test("generateTypescriptTypeName: TypeReference", () => {
126
+ const enumType = new parser.TypeReference("typeRef");
127
+ enumType.type = new parser.HexPrimitiveType();
128
+ expect((0, helpers_1.generateTypescriptTypeName)(enumType, false)).toBe("string");
129
+ });
130
+ test("generateTypescriptTypeName: unknown PrimitiveType error", () => {
131
+ class UnknownType extends parser.Type {
132
+ constructor() {
133
+ super(...arguments);
134
+ this.name = "UnknownType";
135
+ }
136
+ }
137
+ const newUnknownType = new UnknownType();
138
+ expect(() => (0, helpers_1.generateTypescriptTypeName)(newUnknownType, false)).toThrowError(`BUG: generateTypescriptTypeName with ${newUnknownType.name}`);
139
+ });
140
+ });
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateBrowserClientSource = void 0;
4
+ const parser_1 = require("@sdkgen/parser");
5
+ const helpers_1 = require("./helpers");
6
+ function generateBrowserClientSource(ast) {
7
+ let code = "";
8
+ const hasErrorWithData = ast.errors.some(err => !(err.dataType instanceof parser_1.VoidPrimitiveType));
9
+ code += `/* eslint-disable */
10
+ import { SdkgenError${hasErrorWithData ? ", SdkgenErrorWithData" : ""}, SdkgenHttpClient } from "@sdkgen/browser-runtime";
11
+ `;
12
+ if ((0, parser_1.hasType)(ast, parser_1.DecimalPrimitiveType)) {
13
+ code += `import { Decimal } from "decimal.js-light";\n`;
14
+ }
15
+ code += "\n";
16
+ for (const type of ast.enumTypes) {
17
+ code += (0, helpers_1.generateTypescriptEnum)(type);
18
+ code += "\n";
19
+ }
20
+ for (const type of ast.structTypes) {
21
+ code += (0, helpers_1.generateTypescriptInterface)(type, true);
22
+ code += "\n";
23
+ }
24
+ for (const error of ast.errors) {
25
+ code += (0, helpers_1.generateTypescriptErrorClass)(error, true);
26
+ code += "\n";
27
+ }
28
+ code += `export class ApiClient extends SdkgenHttpClient {
29
+ constructor(baseUrl: string) {
30
+ super(baseUrl, astJson, errClasses);
31
+ }
32
+ ${ast.operations
33
+ .filter(op => op.annotations.every(ann => !(ann instanceof parser_1.HiddenAnnotation)))
34
+ .map(op => `
35
+ ${op.name}(args${op.args.length === 0 ? "?" : ""}: {${op.args
36
+ .map(arg => `${arg.name}${arg.type.name.endsWith("?") ? "?" : ""}: ${(0, helpers_1.generateTypescriptTypeName)(arg.type, true)}`)
37
+ .join(", ")}}): Promise<${(0, helpers_1.generateTypescriptTypeName)(op.returnType, true)}> { return this.makeRequest("${op.name}", args || {}); }`)
38
+ .join("")}
39
+ }\n\n`;
40
+ code += `const errClasses = {\n${ast.errors.map(err => ` ${err.name}`).join(",\n")}\n};\n\n`;
41
+ code += `const astJson = ${JSON.stringify((0, parser_1.astToJson)(ast), null, 4).replace(/"(?<key>\w+)":/gu, "$<key>:")} as const;\n`;
42
+ return code;
43
+ }
44
+ exports.generateBrowserClientSource = generateBrowserClientSource;
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.clearForLogging = exports.generateTypescriptErrorClass = exports.generateTypescriptEnum = exports.generateTypescriptInterface = exports.generateTypescriptTypeName = void 0;
4
+ const parser_1 = require("@sdkgen/parser");
5
+ function generateTypescriptTypeName(type, isBrowser) {
6
+ switch (type.constructor) {
7
+ case parser_1.IntPrimitiveType:
8
+ case parser_1.UIntPrimitiveType:
9
+ case parser_1.MoneyPrimitiveType:
10
+ case parser_1.FloatPrimitiveType:
11
+ return "number";
12
+ case parser_1.BigIntPrimitiveType:
13
+ return "bigint";
14
+ case parser_1.DecimalPrimitiveType:
15
+ return "Decimal";
16
+ case parser_1.DatePrimitiveType:
17
+ case parser_1.DateTimePrimitiveType:
18
+ return "Date";
19
+ case parser_1.BoolPrimitiveType:
20
+ return "boolean";
21
+ case parser_1.BytesPrimitiveType:
22
+ return isBrowser ? "ArrayBuffer" : "Buffer";
23
+ case parser_1.StringPrimitiveType:
24
+ case parser_1.CpfPrimitiveType:
25
+ case parser_1.CnpjPrimitiveType:
26
+ case parser_1.EmailPrimitiveType:
27
+ case parser_1.HtmlPrimitiveType:
28
+ case parser_1.UrlPrimitiveType:
29
+ case parser_1.UuidPrimitiveType:
30
+ case parser_1.HexPrimitiveType:
31
+ case parser_1.Base64PrimitiveType:
32
+ case parser_1.XmlPrimitiveType:
33
+ return "string";
34
+ case parser_1.VoidPrimitiveType:
35
+ return "void";
36
+ case parser_1.JsonPrimitiveType:
37
+ return "any";
38
+ case parser_1.OptionalType:
39
+ return `${generateTypescriptTypeName(type.base, isBrowser)} | null`;
40
+ case parser_1.ArrayType: {
41
+ const { base } = type;
42
+ const baseGen = generateTypescriptTypeName(base, isBrowser);
43
+ if (base instanceof parser_1.OptionalType) {
44
+ return `(${baseGen})[]`;
45
+ }
46
+ return `${baseGen}[]`;
47
+ }
48
+ case parser_1.StructType:
49
+ case parser_1.EnumType:
50
+ return type.name;
51
+ case parser_1.TypeReference:
52
+ return generateTypescriptTypeName(type.type, isBrowser);
53
+ default:
54
+ throw new Error(`BUG: generateTypescriptTypeName with ${type.constructor.name}`);
55
+ }
56
+ }
57
+ exports.generateTypescriptTypeName = generateTypescriptTypeName;
58
+ function generateTypescriptInterface(type, isBrowser) {
59
+ return `export interface ${type.name} {
60
+ ${type.fields.map(field => ` ${field.name}: ${generateTypescriptTypeName(field.type, isBrowser)}`).join("\n")}
61
+ }\n`;
62
+ }
63
+ exports.generateTypescriptInterface = generateTypescriptInterface;
64
+ function generateTypescriptEnum(type) {
65
+ if (type.hasStructValues) {
66
+ return `export type ${type.name} = ${type.values
67
+ .map(x => (x.struct ? `({tag: "${x.value}"} & ${x.struct.name})` : `{tag: "${x.value}"}`))
68
+ .join(" | ")};\n`;
69
+ }
70
+ return `export type ${type.name} = ${type.values.map(x => `"${x.value}"`).join(" | ")};\n`;
71
+ }
72
+ exports.generateTypescriptEnum = generateTypescriptEnum;
73
+ function generateTypescriptErrorClass(error, isBrowser) {
74
+ return `export class ${error.name} extends ${error.dataType instanceof parser_1.VoidPrimitiveType ? "SdkgenError" : `SdkgenErrorWithData<${generateTypescriptTypeName(error.dataType, isBrowser)}>`} {}\n`;
75
+ }
76
+ exports.generateTypescriptErrorClass = generateTypescriptErrorClass;
77
+ function clearForLogging(path, type) {
78
+ switch (type.constructor) {
79
+ case parser_1.TypeReference:
80
+ return clearForLogging(path, type.type);
81
+ case parser_1.OptionalType: {
82
+ const code = clearForLogging(path, type.base);
83
+ if (code) {
84
+ return `if (${path} !== null && ${path} !== undefined) { ${code} }`;
85
+ }
86
+ return "";
87
+ }
88
+ case parser_1.ArrayType: {
89
+ const code = clearForLogging("el", type.base);
90
+ if (code) {
91
+ return `for (const el of ${path}) { ${code} }`;
92
+ }
93
+ return "";
94
+ }
95
+ case parser_1.StructType: {
96
+ const codes = [];
97
+ for (const field of type.fields) {
98
+ if (field.secret) {
99
+ codes.push(`${path}.${field.name} = "<secret>";`);
100
+ }
101
+ else {
102
+ const code = clearForLogging(`${path}.${field.name}`, field.type);
103
+ if (code) {
104
+ codes.push(code);
105
+ }
106
+ }
107
+ }
108
+ return codes.join(" ");
109
+ }
110
+ default:
111
+ return "";
112
+ }
113
+ }
114
+ exports.clearForLogging = clearForLogging;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./browser-client"), exports);
18
+ __exportStar(require("./interfaces"), exports);
19
+ __exportStar(require("./node-client"), exports);
20
+ __exportStar(require("./node-server"), exports);
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateTypescriptInterfaces = void 0;
4
+ const helpers_1 = require("./helpers");
5
+ function generateTypescriptInterfaces(ast) {
6
+ let code = "";
7
+ for (const type of ast.enumTypes) {
8
+ code += (0, helpers_1.generateTypescriptEnum)(type);
9
+ }
10
+ code += "\n";
11
+ for (const type of ast.structTypes) {
12
+ code += (0, helpers_1.generateTypescriptInterface)(type, false);
13
+ code += "\n";
14
+ }
15
+ return code;
16
+ }
17
+ exports.generateTypescriptInterfaces = generateTypescriptInterfaces;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateNodeClientSource = void 0;
4
+ const parser_1 = require("@sdkgen/parser");
5
+ const helpers_1 = require("./helpers");
6
+ function generateNodeClientSource(ast) {
7
+ let code = "";
8
+ const hasErrorWithData = ast.errors.some(err => !(err.dataType instanceof parser_1.VoidPrimitiveType));
9
+ const hasErrorWithoutData = ast.errors.filter(err => err.name !== "Fatal").some(err => err.dataType instanceof parser_1.VoidPrimitiveType);
10
+ code += `/* eslint-disable */
11
+ import { Context, Fatal${hasErrorWithoutData ? ", SdkgenError" : ""}${hasErrorWithData ? ", SdkgenErrorWithData" : ""}, SdkgenHttpClient } from "@sdkgen/node-runtime";
12
+ import { PartialDeep } from "type-fest";
13
+ export { Fatal } from "@sdkgen/node-runtime";
14
+ `;
15
+ if ((0, parser_1.hasType)(ast, parser_1.DecimalPrimitiveType)) {
16
+ code += `import { Decimal } from "decimal.js";\n`;
17
+ }
18
+ code += "\n";
19
+ for (const type of ast.enumTypes) {
20
+ code += (0, helpers_1.generateTypescriptEnum)(type);
21
+ code += "\n";
22
+ }
23
+ for (const type of ast.structTypes) {
24
+ code += (0, helpers_1.generateTypescriptInterface)(type, false);
25
+ code += "\n";
26
+ }
27
+ for (const error of ast.errors) {
28
+ if (error.name === "Fatal") {
29
+ continue;
30
+ }
31
+ code += (0, helpers_1.generateTypescriptErrorClass)(error, false);
32
+ code += "\n";
33
+ }
34
+ code += `export class ApiClient extends SdkgenHttpClient {
35
+ constructor(baseUrl: string) {
36
+ super(baseUrl, astJson, errClasses);
37
+ }
38
+ ${ast.operations
39
+ .filter(op => op.annotations.every(ann => !(ann instanceof parser_1.HiddenAnnotation)))
40
+ .map(op => `
41
+ ${op.name}(ctx: PartialDeep<Context> | null, args: {${op.args
42
+ .map(arg => `${arg.name}${arg.type.name.endsWith("?") ? "?" : ""}: ${(0, helpers_1.generateTypescriptTypeName)(arg.type, false)}`)
43
+ .join(", ")}}): Promise<${(0, helpers_1.generateTypescriptTypeName)(op.returnType, false)}> { return this.makeRequest(ctx, "${op.name}", args); }`)
44
+ .join("")}
45
+ }\n\n`;
46
+ code += `const errClasses = {\n${ast.errors.map(err => ` ${err.name}`).join(",\n")}\n};\n\n`;
47
+ code += `const astJson = ${JSON.stringify((0, parser_1.astToJson)(ast), null, 4).replace(/"(?<key>\w+)":/gu, "$<key>:")} as const;\n`;
48
+ return code;
49
+ }
50
+ exports.generateNodeClientSource = generateNodeClientSource;
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateNodeServerSource = void 0;
4
+ const parser_1 = require("@sdkgen/parser");
5
+ const helpers_1 = require("./helpers");
6
+ function generateNodeServerSource(ast) {
7
+ let code = "";
8
+ const hasErrorWithData = ast.errors.some(err => !(err.dataType instanceof parser_1.VoidPrimitiveType));
9
+ const hasErrorWithoutData = ast.errors.filter(err => err.name !== "Fatal").some(err => err.dataType instanceof parser_1.VoidPrimitiveType);
10
+ code += `/* eslint-disable */
11
+ import { BaseApiConfig, Context, Fatal${hasErrorWithoutData ? ", SdkgenError" : ""}${hasErrorWithData ? ", SdkgenErrorWithData" : ""} } from "@sdkgen/node-runtime";
12
+ export { Fatal } from "@sdkgen/node-runtime";
13
+ `;
14
+ if ((0, parser_1.hasType)(ast, parser_1.DecimalPrimitiveType)) {
15
+ code += `import { Decimal } from "decimal.js";\n`;
16
+ }
17
+ code += "\n";
18
+ for (const type of ast.enumTypes) {
19
+ code += (0, helpers_1.generateTypescriptEnum)(type);
20
+ code += "\n";
21
+ }
22
+ for (const type of ast.structTypes) {
23
+ code += (0, helpers_1.generateTypescriptInterface)(type, false);
24
+ code += "\n";
25
+ }
26
+ for (const error of ast.errors) {
27
+ if (error.name === "Fatal") {
28
+ continue;
29
+ }
30
+ code += (0, helpers_1.generateTypescriptErrorClass)(error, false);
31
+ code += "\n";
32
+ }
33
+ code += `export class ApiConfig<ExtraContextT> extends BaseApiConfig<ExtraContextT> {
34
+ declare fn: {${ast.operations
35
+ .map(op => `
36
+ ${op.name}: (ctx: Context & ExtraContextT, args: {${op.args
37
+ .map(arg => `${arg.name}: ${(0, helpers_1.generateTypescriptTypeName)(arg.type, false)}`)
38
+ .join(", ")}}) => Promise<${(0, helpers_1.generateTypescriptTypeName)(op.returnType, false)}>`)
39
+ .join("")}
40
+ }
41
+
42
+ astJson = ${JSON.stringify((0, parser_1.astToJson)(ast), null, 4)
43
+ .replace(/"(?<key>\w+)":/gu, "$<key>:")
44
+ .replace(/\n/gu, "\n ")} as const
45
+ }
46
+
47
+ export const api = new ApiConfig<{}>();
48
+ `;
49
+ return code;
50
+ }
51
+ exports.generateNodeServerSource = generateNodeServerSource;
@@ -0,0 +1 @@
1
+ {"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.dom.iterable.d.ts","../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../node_modules/typescript/lib/lib.scripthost.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/typescript/lib/lib.es2017.full.d.ts","../node_modules/@sdkgen/parser/src/token.ts","../node_modules/@sdkgen/parser/src/ast.ts","../node_modules/@sdkgen/parser/src/compatibility/index.ts","../node_modules/@sdkgen/parser/src/semantic/visitor.ts","../node_modules/@sdkgen/parser/src/semantic/01_check_multiple_declaration.ts","../node_modules/@sdkgen/parser/src/semantic/transformer.ts","../node_modules/@sdkgen/parser/src/semantic/02_give_struct_and_enum_names.ts","../node_modules/@sdkgen/parser/src/semantic/03_match_type_definitions.ts","../node_modules/@sdkgen/parser/src/semantic/04_check_dont_return_secret.ts","../node_modules/@sdkgen/parser/src/semantic/05_expand_spreads.ts","../node_modules/@sdkgen/parser/src/semantic/06_check_empty_struct_or_enum.ts","../node_modules/@sdkgen/parser/src/semantic/07_validate_recursive_types.ts","../node_modules/@sdkgen/parser/src/semantic/08_collect_struct_and_enum_types.ts","../node_modules/@sdkgen/parser/src/semantic/09_validate_annotations.ts","../node_modules/@sdkgen/parser/src/semantic/10_check_duplicate_members_on_enum.ts","../node_modules/@sdkgen/parser/src/semantic/analyser.ts","../node_modules/@sdkgen/parser/src/utils.ts","../node_modules/@sdkgen/parser/src/json.ts","../node_modules/@sdkgen/parser/src/lexer.ts","../node_modules/@sdkgen/parser/src/restparser.ts","../node_modules/@sdkgen/parser/src/parser.ts","../node_modules/@sdkgen/parser/src/helpers.ts","../node_modules/@sdkgen/parser/src/index.ts","../src/helpers.ts","../spec/helpers.spec.ts","../src/browser-client.ts","../src/interfaces.ts","../src/node-client.ts","../src/node-server.ts","../src/index.ts","../node_modules/@babel/types/lib/index.d.ts","../node_modules/@types/babel__generator/index.d.ts","../node_modules/@babel/parser/typings/babel-parser.d.ts","../node_modules/@types/babel__template/index.d.ts","../node_modules/@types/babel__traverse/index.d.ts","../node_modules/@types/babel__core/index.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/@types/graceful-fs/index.d.ts","../node_modules/@types/istanbul-lib-coverage/index.d.ts","../node_modules/@types/istanbul-lib-report/index.d.ts","../node_modules/@types/istanbul-reports/index.d.ts","../node_modules/@jest/expect-utils/build/index.d.ts","../node_modules/chalk/index.d.ts","../node_modules/@sinclair/typebox/typebox.d.ts","../node_modules/@jest/schemas/build/index.d.ts","../node_modules/pretty-format/build/index.d.ts","../node_modules/jest-diff/build/index.d.ts","../node_modules/jest-matcher-utils/build/index.d.ts","../node_modules/expect/build/index.d.ts","../node_modules/@types/jest/index.d.ts","../node_modules/@types/json-schema/index.d.ts","../node_modules/@types/json5/index.d.ts","../node_modules/@types/semver/classes/semver.d.ts","../node_modules/@types/semver/functions/parse.d.ts","../node_modules/@types/semver/functions/valid.d.ts","../node_modules/@types/semver/functions/clean.d.ts","../node_modules/@types/semver/functions/inc.d.ts","../node_modules/@types/semver/functions/diff.d.ts","../node_modules/@types/semver/functions/major.d.ts","../node_modules/@types/semver/functions/minor.d.ts","../node_modules/@types/semver/functions/patch.d.ts","../node_modules/@types/semver/functions/prerelease.d.ts","../node_modules/@types/semver/functions/compare.d.ts","../node_modules/@types/semver/functions/rcompare.d.ts","../node_modules/@types/semver/functions/compare-loose.d.ts","../node_modules/@types/semver/functions/compare-build.d.ts","../node_modules/@types/semver/functions/sort.d.ts","../node_modules/@types/semver/functions/rsort.d.ts","../node_modules/@types/semver/functions/gt.d.ts","../node_modules/@types/semver/functions/lt.d.ts","../node_modules/@types/semver/functions/eq.d.ts","../node_modules/@types/semver/functions/neq.d.ts","../node_modules/@types/semver/functions/gte.d.ts","../node_modules/@types/semver/functions/lte.d.ts","../node_modules/@types/semver/functions/cmp.d.ts","../node_modules/@types/semver/functions/coerce.d.ts","../node_modules/@types/semver/classes/comparator.d.ts","../node_modules/@types/semver/classes/range.d.ts","../node_modules/@types/semver/functions/satisfies.d.ts","../node_modules/@types/semver/ranges/max-satisfying.d.ts","../node_modules/@types/semver/ranges/min-satisfying.d.ts","../node_modules/@types/semver/ranges/to-comparators.d.ts","../node_modules/@types/semver/ranges/min-version.d.ts","../node_modules/@types/semver/ranges/valid.d.ts","../node_modules/@types/semver/ranges/outside.d.ts","../node_modules/@types/semver/ranges/gtr.d.ts","../node_modules/@types/semver/ranges/ltr.d.ts","../node_modules/@types/semver/ranges/intersects.d.ts","../node_modules/@types/semver/ranges/simplify.d.ts","../node_modules/@types/semver/ranges/subset.d.ts","../node_modules/@types/semver/internals/identifiers.d.ts","../node_modules/@types/semver/index.d.ts","../node_modules/@types/stack-utils/index.d.ts","../node_modules/@types/yargs-parser/index.d.ts","../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"3aafcb693fe5b5c3bd277bd4c3a617b53db474fe498fc5df067c5603b1eebde7","affectsGlobalScope":true},{"version":"f3d4da15233e593eacb3965cde7960f3fddf5878528d882bcedd5cbaba0193c7","affectsGlobalScope":true},{"version":"7fac8cb5fc820bc2a59ae11ef1c5b38d3832c6d0dfaec5acdb5569137d09a481","affectsGlobalScope":true},{"version":"097a57355ded99c68e6df1b738990448e0bf170e606707df5a7c0481ff2427cd","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},"d2f31f19e1ba6ed59be9259d660a239d9a3fcbbc8e038c6b2009bde34b175fed","0d1b618fb1d31b44a3e77e0940199cc12099b7e448ff596481039c5439160c5d","851153ecb19fe760635a2b8e54dad62a99c245a22abb116c781680cb3505a02e","e18aa16baef58d63b8a342de5e72edf39f2369970b42171a25d743d0ce4afc06","50ba5c02af36d9f80c7da35962cb61d1088a7af05ef5930d417981baccfbc9c3","fb06e8dde3cf19ccc0e47762be6242ec990d659557dbbe14c63113478adc2444","397d74c2f4c02a687edae40df94680f66d7a2ce96dce5dd15e8278006d07e946","7fa0685b27b50b8ef1604f5d71772ad6846b1996b4d9e4c396baef7aa6539b2a","df2bd579b982728787d31c4d8e40a8f442a9eb67e8973196d77e86968cf657a3","fbb4995857b44355618c8a61cb5e086462821cc282fc638cc3a94a2b814bc633","82fa765db527609317ea5ad4dc0fb366f1b57b4d7b226e18b3948e255c42274e","0f2e58dd677c3842b6ba89bbc80c30ff6ee38f49d93a12d765585963aebf3852","1e3ad408c7a5cbf4a401b53e5e0760bbb75d237a206a474e874d600345372a82","f1ebcaadc20f1aec3895b8e4a0b88d5de640d7892d57fbd0b5c9b14c78f6192e","dc203171e94764adb6341cc3336073e1d447932460dfeb81214d1946f2b6d5b2","dbd05088d511c6ce1811b5f24dfbd13bc483a01778d8cac7592a79c0316802b9","52100f9bfc215f16eb0a58af18050b27f4c2c307679f137d000882fe942a324a","314dc2eb5d1d6e583cf6eb3759fb5329a18b2c4db94a50e00d6225968c6e9c25","96f8d22597cd9bcb11728c4ff1724c0f664cd69f883487dc28bcfa21f0f01e71","f6725bcf9cc6c70f311aabd5ef3b7839535e416eea8e3c548e2dd99136f47489","31b7510503d7ed5a8a7c45c1f0e7ab1c9eedd0c674131fd797b371d4285ed518","674f4367342c630e9e181902750fd7765cf714dc917ff01ecf5418cd4bfbfac7","7cfa60d9e9948d1d9fbc67bbe7b742f8b913cbc043581dbca1a4b97475d69f07","b3fb528e7589083ed8f80ad73bd30695b9cd00d1cdce5859977b60feefabb347",{"version":"3f990e30f389975ef7d7ffb0f48348af4d8d39ec9152cbc85d01ec6cbf8c51d4","signature":"2695e1e73b22725416cf6705576e4c0dbc58738e3988603e16f2306e07273d1e"},{"version":"d0f8e05688a899871fa25687727f7fb2adf850ed0a277f2bd797e647dcf6427f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4e9b890f949155756f7d0b74e01cb1f22e7f8c365611d2c8115374743b6bc0a9","signature":"45c433fbf4968e78bb8a88d15f9c6a9223a826ededfba6d4f0877c1f74092337"},{"version":"0fd8a52882b307735e124ed414f24c1da596f6fac19fc3f80573e1c9ad7a6177","signature":"6cc14f89a7803677d0414be104c73e0aca07036c6a835f5fd8709f36e5fcaab4"},{"version":"86ac546e8ee59691a0123790874f0cb79024cee78df024878767c343d15af70f","signature":"9fad415f07cdb2481d24da5e33a8f42b95c3cd64a337c5fb176ee3cf10c76636"},{"version":"b60c23ceab8aa01252c02846a4f4227e9b48ea4c0470f622967d19f74dd756be","signature":"5acd09360c8a620edc713ac6c5ba409967eee51b7b30c0ba130624f8223b69cc"},"5f3739885cd11b1c002f79665b1252a51f3b25f1631e6bdb5e5ee012043275cd","923c136dcbf20f140c369078a7eb56f6697889d104397d694f70e21dd08b1810","2c8e55457aaf4902941dfdba4061935922e8ee6e120539c9801cd7b400fae050","8041cfce439ff29d339742389de04c136e3029d6b1817f07b2d7fcbfb7534990","670a76db379b27c8ff42f1ba927828a22862e2ab0b0908e38b671f0e912cc5ed","29a46d003ca3c721e6405f00dee7e3de91b14e09701eba5d887bf76fb2d47d38","069bebfee29864e3955378107e243508b163e77ab10de6a5ee03ae06939f0bb9","5b3cd03ae354ea96eff1f74d7c410fe4852e6382227e8b0ecf87ab5e3a5bbcd4","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419",{"version":"e44ea2d6b7b853f6c81482416db43dafc11944561b810e469ae423085511ce7e","affectsGlobalScope":true},"f51b4042a3ac86f1f707500a9768f88d0b0c1fc3f3e45a73333283dea720cdc6",{"version":"27e6182a94e1e0b526d54bc7f222ea114327ec8a8e0b30666147390abe59f221","affectsGlobalScope":true},"45c831238c6dac21c72da5f335747736a56a3847192bf03c84b958a7e9ec93e2","132ca47da601c60141dd6f10bd08c70d0620177e5638439df2464ec3945b6d98",{"version":"8f387a4ea108cefa8842d015ca988cf11b9a240f0d3eee3cf15d95e7da83f0cd","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","648503b763db5c1fafd8e1fd28b8b2fc150573364f1df5e4cc7f980882ee0fa7","7a3a0899d386f209a6e8c649aa028df88c49753b990d0e0f4701137e7b05f5d3","7693b90b3075deaccafd5efb467bf9f2b747a3075be888652ef73e64396d8628","a9d543f20fbb7b7e3eb4cae702168c111495b8ccf0554b52423d9828a5618da8","562b73833a6056449ace10691103b3cba32d40731d43e5b78edb9072fda27d50","5f20d20b7607174caf1a6da9141aeb9f2142159ae2410ca30c7a0fccd1d19c99",{"version":"a0c0e3bf3e8dc9454cdca64c6234c1a698a4368f2a461a7153ce274db0e96ecc","affectsGlobalScope":true},"e4f38f155b8f55db7a7678fc4246d74872489424470a5b0d42d7db6de40b12ce","9bba37424094688c4663c177a1379b229f919b8912889a472f32fdc5f08ddb4d","ba52968b8c871f757d19aa879011749e022e2cbb9727623c6904aa8e2755b6df","1f972e38400a2a7e97b3627f4e52d36b7b8d3d62e16bd4c692d247c8683bae8b","bf268a0aea37ad4ae3b7a9b58559190b6fc01ea16a31e35cd05817a0a60f895a","f238f3c4409b45a3fda3de9723a7ff8ec62dfd7f47eb09e67cf0aa6bda78780d",{"version":"d7dad6db394a3d9f7b49755e4b610fbf8ed6eb0c9810ae5f1a119f6b5d76de45","affectsGlobalScope":true},"8058b50d648acc321cf77fedea9f56947441f9f1c2fcccdb7d841745fb7ecb54","bf755525c4e6f85a970b98c4755d98e8aa1b6dbd83a5d8fcc57d3d497351b936","dd67d2b5e4e8a182a38de8e69fb736945eaa4588e0909c14e01a14bd3cc1fd1e",{"version":"28084e15b63e6211769db2fe646d8bc5c4c6776321e0deffe2d12eefd52cb6b9","affectsGlobalScope":true},{"version":"66049e66398c94c1d2056c7465259b156467a952008b9e2e21e9e592bbd36483","affectsGlobalScope":true},"cc6ef5733d4ea6d2e06310a32dffd2c16418b467c5033d49cecc4f3a25de7497","94768454c3348b6ebe48e45fbad8c92e2bb7af4a35243edbe2b90823d0bd7f9a","0be79b3ff0f16b6c2f9bc8c4cc7097ea417d8d67f8267f7e1eec8e32b548c2ff","1c61ffa3a71b77363b30d19832c269ef62fba787f5610cac7254728d3b69ab2e","84da3c28344e621fd1d591f2c09e9595292d2b70018da28a553268ac122597d4","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","6e191fea1db6e9e4fa828259cf489e820ec9170effff57fb081a2f3295db4722","09d801ff4a303d4976d4b9cb94af3a9097c4a70345e662d176975872d2998e51","c8558b01389b5f7610ac293aa612ccea2ae64d83af43b49f8142f190be1f414c","c40fdf7b2e18df49ce0568e37f0292c12807a0748be79e272745e7216bed2606",{"version":"e933de8143e1d12dd51d89b398760fd5a9081896be366dad88a922d0b29f3c69","affectsGlobalScope":true},"4e228e78c1e9b0a75c70588d59288f63a6258e8b1fe4a67b0c53fe03461421d9","0fe1cbee115a49de6e9a871528bfb36aebe9e686514d6040d66fc62d116b3527","205d50c24359ead003dc537b9b65d2a64208dfdffe368f403cf9e0357831db9e","1265fddcd0c68be9d2a3b29805d0280484c961264dd95e0b675f7bd91f777e78",{"version":"eba1e3d7c9bf7c9d9a23877e1e5d29b81063c217af79fd8671bb701dc5c66544","affectsGlobalScope":true},{"version":"df90b9d0e9980762da8daf8adf6ffa0c853e76bfd269c377be0d07a9ad87acd2","affectsGlobalScope":true},"39f0808e5be3cb38674726c21fe2eb453c55e48a901679b4ce30fef85549b892","1d65d4798df9c2df008884035c41d3e67731f29db5ecb64cd7378797c7c53a2f","1cab96b37d5614aa6f22874894170ffd7fe886a98887be74daad1f7ef2d95c5b","c6c01ea1c42508edf11a36d13b70f6e35774f74355ba5d358354d4a77cc67ea1","867f95abf1df444aab146b19847391fc2f922a55f6a970a27ed8226766cee29f",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"41e3968eb33a5bae4b9072ee87652289007d45190c1cb269985d4325a5b24da0","afe73051ff6a03a9565cbd8ebb0e956ee3df5e913ad5c1ded64218aabfa3dcb5","035a5df183489c2e22f3cf59fc1ed2b043d27f357eecc0eb8d8e840059d44245","a4809f4d92317535e6b22b01019437030077a76fec1d93b9881c9ed4738fcc54","5f53fa0bd22096d2a78533f94e02c899143b8f0f9891a46965294ee8b91a9434","cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec",{"version":"46894b2a21a60f8449ca6b2b7223b7179bba846a61b1434bed77b34b2902c306","affectsGlobalScope":true},"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","5b5337f28573ffdbc95c3653c4a7961d0f02fdf4788888253bf74a3b5a05443e","9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","85f8ebd7f245e8bf29da270e8b53dcdd17528826ffd27176c5fc7e426213ef5a","ab82804a14454734010dcdcd43f564ff7b0389bee4c5692eec76ff5b30d4cf66","bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","5d30d04a14ed8527ac5d654dc345a4db11b593334c11a65efb6e4facc5484a0e"],"options":{"composite":true,"declaration":true,"esModuleInterop":true,"module":1,"outDir":"./","strict":true,"target":4},"fileIdsList":[[77],[141],[47],[48],[48,50],[47,48,49,50,64,65,67,68],[48,62,63],[47,48,62,63,65,66],[48,50,52],[48,50,69],[48,51,53,54,55,56,57,58,59,60,61],[77,78,79,80,81],[77,79],[99,134],[136],[137],[143,146],[83],[86],[87,92,118],[88,98,99,106,115,126],[88,89,98,106],[90,127],[91,92,99,107],[92,115,123],[93,95,98,106],[94],[95,96],[97,98],[86,98],[98,99,100,115,126],[98,99,100,115],[98,101,106,115,126],[98,99,101,102,106,115,123,126],[101,103,115,123,126],[83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133],[98,104],[105,126,131],[95,98,106,115],[107],[108],[86,109],[110,125,131],[111],[112],[98,113],[113,114,127,129],[87,98,115,116,117],[87,115,117],[115,116],[118],[119],[98,121,122],[121,122],[92,106,123],[124],[106,125],[87,101,112,126],[92,127],[115,128],[129],[130],[87,92,98,100,109,115,126,129,131],[115,132],[150,189],[150,174,189],[189],[150],[150,175,189],[150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188],[175,189],[191],[139,145],[143],[140,144],[142],[69,70],[69],[72,73,74,75]],"referencedMap":[[79,1],[142,2],[48,3],[49,4],[68,5],[69,6],[64,7],[65,3],[67,8],[66,4],[51,5],[53,9],[54,5],[55,5],[56,10],[57,5],[58,5],[59,5],[60,5],[61,5],[62,11],[52,4],[50,4],[63,4],[82,12],[78,1],[80,13],[81,1],[135,14],[137,15],[138,16],[147,17],[83,18],[84,18],[86,19],[87,20],[88,21],[89,22],[90,23],[91,24],[92,25],[93,26],[94,27],[95,28],[96,28],[97,29],[98,30],[99,31],[100,32],[101,33],[102,34],[103,35],[134,36],[104,37],[105,38],[106,39],[107,40],[108,41],[109,42],[110,43],[111,44],[112,45],[113,46],[114,47],[115,48],[117,49],[116,50],[118,51],[119,52],[121,53],[122,54],[123,55],[124,56],[125,57],[126,58],[127,59],[128,60],[129,61],[130,62],[131,63],[132,64],[174,65],[175,66],[150,67],[153,67],[172,65],[173,65],[163,65],[162,68],[160,65],[155,65],[168,65],[166,65],[170,65],[154,65],[167,65],[171,65],[156,65],[157,65],[169,65],[151,65],[158,65],[159,65],[161,65],[165,65],[176,69],[164,65],[152,65],[189,70],[183,69],[185,71],[184,69],[177,69],[178,69],[180,69],[182,69],[186,71],[187,71],[179,71],[181,71],[192,72],[146,73],[144,74],[145,75],[143,76],[71,77],[72,77],[70,78],[76,79],[73,77],[74,77],[75,77]],"exportedModulesMap":[[79,1],[142,2],[48,3],[49,4],[68,5],[69,6],[64,7],[65,3],[67,8],[66,4],[51,5],[53,9],[54,5],[55,5],[56,10],[57,5],[58,5],[59,5],[60,5],[61,5],[62,11],[52,4],[50,4],[63,4],[82,12],[78,1],[80,13],[81,1],[135,14],[137,15],[138,16],[147,17],[83,18],[84,18],[86,19],[87,20],[88,21],[89,22],[90,23],[91,24],[92,25],[93,26],[94,27],[95,28],[96,28],[97,29],[98,30],[99,31],[100,32],[101,33],[102,34],[103,35],[134,36],[104,37],[105,38],[106,39],[107,40],[108,41],[109,42],[110,43],[111,44],[112,45],[113,46],[114,47],[115,48],[117,49],[116,50],[118,51],[119,52],[121,53],[122,54],[123,55],[124,56],[125,57],[126,58],[127,59],[128,60],[129,61],[130,62],[131,63],[132,64],[174,65],[175,66],[150,67],[153,67],[172,65],[173,65],[163,65],[162,68],[160,65],[155,65],[168,65],[166,65],[170,65],[154,65],[167,65],[171,65],[156,65],[157,65],[169,65],[151,65],[158,65],[159,65],[161,65],[165,65],[176,69],[164,65],[152,65],[189,70],[183,69],[185,71],[184,69],[177,69],[178,69],[180,69],[182,69],[186,71],[187,71],[179,71],[181,71],[192,72],[146,73],[144,74],[145,75],[143,76],[72,78],[70,78],[76,79],[73,78],[74,78],[75,78]],"semanticDiagnosticsPerFile":[79,77,139,142,48,49,68,69,64,65,67,66,51,53,54,55,56,57,58,59,60,61,62,52,50,47,63,141,82,78,80,81,135,136,137,138,147,148,149,83,84,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,85,133,101,102,103,134,104,105,106,107,108,109,110,111,112,113,114,115,117,116,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,174,175,150,153,172,173,163,162,160,155,168,166,170,154,167,171,156,157,169,151,158,159,161,165,176,164,152,189,188,183,185,184,177,178,180,182,186,187,179,181,190,191,192,140,146,144,145,143,8,9,13,12,2,14,15,16,17,18,19,20,21,3,4,46,25,22,23,24,26,27,28,5,29,30,31,32,6,36,33,34,35,37,7,38,43,44,39,40,41,42,1,45,11,10,71,72,70,76,73,74,75],"latestChangedDtsFile":"./src/index.d.ts"},"version":"4.9.5"}
package/package.json CHANGED
@@ -1,15 +1,8 @@
1
1
  {
2
2
  "name": "@sdkgen/typescript-generator",
3
- "version": "0.0.0-dev.20231008144512",
3
+ "version": "0.0.0-dev.20231221180829",
4
4
  "description": "",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
7
- "directories": {
8
- "lib": "dist"
9
- },
10
- "files": [
11
- "dist"
12
- ],
5
+ "main": "dist/src/index.js",
13
6
  "scripts": {
14
7
  "test": "jest --passWithNoTests",
15
8
  "eslint:fix": "eslint --fix '{src,spec}/**/*.ts'",
@@ -26,32 +19,20 @@
26
19
  "url": "https://github.com/sdkgen/sdkgen/issues"
27
20
  },
28
21
  "publishConfig": {
29
- "access": "public",
30
- "provenance": true
22
+ "access": "public"
31
23
  },
32
24
  "homepage": "https://github.com/sdkgen/sdkgen#readme",
33
- "dependencies": {
34
- "@sdkgen/parser": "^0.0.0-dev.20231008144512"
35
- },
36
25
  "devDependencies": {
37
26
  "@cubos/eslint-config": "^2.2.0",
38
- "@types/jest": "^29.5.5",
27
+ "@types/jest": "^29.0.0",
39
28
  "@types/node": "^16.7.0",
40
- "jest": "^29.7.0",
41
- "ts-jest": "^29.1.1",
29
+ "jest": "^29.0.0",
30
+ "ts-jest": "^29.0.0",
42
31
  "type-fest": "^3.0.0",
43
- "typescript": "^5.2.2"
32
+ "typescript": "^4.3.5"
44
33
  },
45
34
  "jest": {
46
35
  "transform": {
47
- "^.+\\.js$": [
48
- "babel-jest",
49
- {
50
- "plugins": [
51
- "@babel/plugin-transform-modules-commonjs"
52
- ]
53
- }
54
- ],
55
36
  "^.+\\.tsx?$": "ts-jest"
56
37
  },
57
38
  "transformIgnorePatterns": [
@@ -68,5 +49,8 @@
68
49
  "/node_modules/"
69
50
  ]
70
51
  },
71
- "gitHead": "25b12b7d01e2e955f0b382a9ff1e3e3178c29c4c"
52
+ "dependencies": {
53
+ "@sdkgen/parser": "0.0.0-dev.20231221180829"
54
+ },
55
+ "types": "dist/src/index.d.ts"
72
56
  }
@@ -1,41 +0,0 @@
1
- import { astToJson, DecimalPrimitiveType, HiddenAnnotation, VoidPrimitiveType, hasType } from "@sdkgen/parser";
2
- import { generateTypescriptEnum, generateTypescriptErrorClass, generateTypescriptInterface, generateTypescriptTypeName } from "./helpers";
3
- export function generateBrowserClientSource(ast) {
4
- let code = "";
5
- const hasErrorWithData = ast.errors.some(err => !(err.dataType instanceof VoidPrimitiveType));
6
- code += `/* eslint-disable */
7
- import { SdkgenError${hasErrorWithData ? ", SdkgenErrorWithData" : ""}, SdkgenHttpClient } from "@sdkgen/browser-runtime";
8
- `;
9
- if (hasType(ast, DecimalPrimitiveType)) {
10
- code += `import { Decimal } from "decimal.js-light";\n`;
11
- }
12
- code += "\n";
13
- for (const type of ast.enumTypes) {
14
- code += generateTypescriptEnum(type);
15
- code += "\n";
16
- }
17
- for (const type of ast.structTypes) {
18
- code += generateTypescriptInterface(type, true);
19
- code += "\n";
20
- }
21
- for (const error of ast.errors) {
22
- code += generateTypescriptErrorClass(error, true);
23
- code += "\n";
24
- }
25
- code += `export class ApiClient extends SdkgenHttpClient {
26
- constructor(baseUrl: string) {
27
- super(baseUrl, astJson, errClasses);
28
- }
29
- ${ast.operations
30
- .filter(op => op.annotations.every(ann => !(ann instanceof HiddenAnnotation)))
31
- .map(op => `
32
- ${op.name}(args${op.args.length === 0 ? "?" : ""}: {${op.args
33
- .map(arg => `${arg.name}${arg.type.name.endsWith("?") ? "?" : ""}: ${generateTypescriptTypeName(arg.type, true)}`)
34
- .join(", ")}}): Promise<${generateTypescriptTypeName(op.returnType, true)}> { return this.makeRequest("${op.name}", args || {}); }`)
35
- .join("")}
36
- }\n\n`;
37
- code += `const errClasses = {\n${ast.errors.map(err => ` ${err.name}`).join(",\n")}\n};\n\n`;
38
- code += `const astJson = ${JSON.stringify(astToJson(ast), null, 4).replace(/"(?<key>\w+)":/gu, "$<key>:")} as const;\n`;
39
- return code;
40
- }
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3Nlci1jbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYnJvd3Nlci1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsNEJBQTRCLEVBQUUsMkJBQTJCLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFMUksTUFBTSxVQUFVLDJCQUEyQixDQUFDLEdBQVk7SUFDdEQsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRWQsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxZQUFZLGlCQUFpQixDQUFDLENBQUMsQ0FBQztJQUU5RixJQUFJLElBQUk7c0JBQ1ksZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxFQUFFO0NBQ3BFLENBQUM7SUFFQSxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLENBQUMsRUFBRTtRQUN0QyxJQUFJLElBQUksK0NBQStDLENBQUM7S0FDekQ7SUFFRCxJQUFJLElBQUksSUFBSSxDQUFDO0lBRWIsS0FBSyxNQUFNLElBQUksSUFBSSxHQUFHLENBQUMsU0FBUyxFQUFFO1FBQ2hDLElBQUksSUFBSSxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxJQUFJLElBQUksSUFBSSxDQUFDO0tBQ2Q7SUFFRCxLQUFLLE1BQU0sSUFBSSxJQUFJLEdBQUcsQ0FBQyxXQUFXLEVBQUU7UUFDbEMsSUFBSSxJQUFJLDJCQUEyQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNoRCxJQUFJLElBQUksSUFBSSxDQUFDO0tBQ2Q7SUFFRCxLQUFLLE1BQU0sS0FBSyxJQUFJLEdBQUcsQ0FBQyxNQUFNLEVBQUU7UUFDOUIsSUFBSSxJQUFJLDRCQUE0QixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNsRCxJQUFJLElBQUksSUFBSSxDQUFDO0tBQ2Q7SUFFRCxJQUFJLElBQUk7Ozs7RUFJUixHQUFHLENBQUMsVUFBVTtTQUNiLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsWUFBWSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7U0FDN0UsR0FBRyxDQUNGLEVBQUUsQ0FBQyxFQUFFLENBQUM7TUFDSixFQUFFLENBQUMsSUFBSSxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLElBQUk7U0FDMUQsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssMEJBQTBCLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDO1NBQ2pILElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSwwQkFBMEIsQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxnQ0FBZ0MsRUFBRSxDQUFDLElBQUksbUJBQW1CLENBQ3RJO1NBQ0EsSUFBSSxDQUFDLEVBQUUsQ0FBQztNQUNMLENBQUM7SUFFTCxJQUFJLElBQUkseUJBQXlCLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsT0FBTyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQztJQUVoRyxJQUFJLElBQUksbUJBQW1CLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsU0FBUyxDQUFDLGNBQWMsQ0FBQztJQUV4SCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMifQ==
package/dist/helpers.js DELETED
@@ -1,107 +0,0 @@
1
- import { ArrayType, Base64PrimitiveType, BigIntPrimitiveType, BoolPrimitiveType, BytesPrimitiveType, CnpjPrimitiveType, CpfPrimitiveType, DatePrimitiveType, DateTimePrimitiveType, DecimalPrimitiveType, EmailPrimitiveType, EnumType, FloatPrimitiveType, HexPrimitiveType, HtmlPrimitiveType, IntPrimitiveType, JsonPrimitiveType, MoneyPrimitiveType, OptionalType, StringPrimitiveType, StructType, TypeReference, UIntPrimitiveType, UrlPrimitiveType, UuidPrimitiveType, VoidPrimitiveType, XmlPrimitiveType, } from "@sdkgen/parser";
2
- export function generateTypescriptTypeName(type, isBrowser) {
3
- switch (type.constructor) {
4
- case IntPrimitiveType:
5
- case UIntPrimitiveType:
6
- case MoneyPrimitiveType:
7
- case FloatPrimitiveType:
8
- return "number";
9
- case BigIntPrimitiveType:
10
- return "bigint";
11
- case DecimalPrimitiveType:
12
- return "Decimal";
13
- case DatePrimitiveType:
14
- case DateTimePrimitiveType:
15
- return "Date";
16
- case BoolPrimitiveType:
17
- return "boolean";
18
- case BytesPrimitiveType:
19
- return isBrowser ? "ArrayBuffer" : "Buffer";
20
- case StringPrimitiveType:
21
- case CpfPrimitiveType:
22
- case CnpjPrimitiveType:
23
- case EmailPrimitiveType:
24
- case HtmlPrimitiveType:
25
- case UrlPrimitiveType:
26
- case UuidPrimitiveType:
27
- case HexPrimitiveType:
28
- case Base64PrimitiveType:
29
- case XmlPrimitiveType:
30
- return "string";
31
- case VoidPrimitiveType:
32
- return "void";
33
- case JsonPrimitiveType:
34
- return "any";
35
- case OptionalType:
36
- return `${generateTypescriptTypeName(type.base, isBrowser)} | null`;
37
- case ArrayType: {
38
- const { base } = type;
39
- const baseGen = generateTypescriptTypeName(base, isBrowser);
40
- if (base instanceof OptionalType) {
41
- return `(${baseGen})[]`;
42
- }
43
- return `${baseGen}[]`;
44
- }
45
- case StructType:
46
- case EnumType:
47
- return type.name;
48
- case TypeReference:
49
- return generateTypescriptTypeName(type.type, isBrowser);
50
- default:
51
- throw new Error(`BUG: generateTypescriptTypeName with ${type.constructor.name}`);
52
- }
53
- }
54
- export function generateTypescriptInterface(type, isBrowser) {
55
- return `export interface ${type.name} {
56
- ${type.fields.map(field => ` ${field.name}: ${generateTypescriptTypeName(field.type, isBrowser)}`).join("\n")}
57
- }\n`;
58
- }
59
- export function generateTypescriptEnum(type) {
60
- if (type.hasStructValues) {
61
- return `export type ${type.name} = ${type.values
62
- .map(x => (x.struct ? `({tag: "${x.value}"} & ${x.struct.name})` : `{tag: "${x.value}"}`))
63
- .join(" | ")};\n`;
64
- }
65
- return `export type ${type.name} = ${type.values.map(x => `"${x.value}"`).join(" | ")};\n`;
66
- }
67
- export function generateTypescriptErrorClass(error, isBrowser) {
68
- return `export class ${error.name} extends ${error.dataType instanceof VoidPrimitiveType ? "SdkgenError" : `SdkgenErrorWithData<${generateTypescriptTypeName(error.dataType, isBrowser)}>`} {}\n`;
69
- }
70
- export function clearForLogging(path, type) {
71
- switch (type.constructor) {
72
- case TypeReference:
73
- return clearForLogging(path, type.type);
74
- case OptionalType: {
75
- const code = clearForLogging(path, type.base);
76
- if (code) {
77
- return `if (${path} !== null && ${path} !== undefined) { ${code} }`;
78
- }
79
- return "";
80
- }
81
- case ArrayType: {
82
- const code = clearForLogging("el", type.base);
83
- if (code) {
84
- return `for (const el of ${path}) { ${code} }`;
85
- }
86
- return "";
87
- }
88
- case StructType: {
89
- const codes = [];
90
- for (const field of type.fields) {
91
- if (field.secret) {
92
- codes.push(`${path}.${field.name} = "<secret>";`);
93
- }
94
- else {
95
- const code = clearForLogging(`${path}.${field.name}`, field.type);
96
- if (code) {
97
- codes.push(code);
98
- }
99
- }
100
- }
101
- return codes.join(" ");
102
- }
103
- default:
104
- return "";
105
- }
106
- }
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsbUJBQW1CLEVBQ25CLG1CQUFtQixFQUNuQixpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ2xCLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLHFCQUFxQixFQUNyQixvQkFBb0IsRUFDcEIsa0JBQWtCLEVBQ2xCLFFBQVEsRUFDUixrQkFBa0IsRUFDbEIsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQixZQUFZLEVBQ1osbUJBQW1CLEVBQ25CLFVBQVUsRUFDVixhQUFhLEVBQ2IsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLGdCQUFnQixHQUNqQixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE1BQU0sVUFBVSwwQkFBMEIsQ0FBQyxJQUFVLEVBQUUsU0FBa0I7SUFDdkUsUUFBUSxJQUFJLENBQUMsV0FBVyxFQUFFO1FBQ3hCLEtBQUssZ0JBQWdCLENBQUM7UUFDdEIsS0FBSyxpQkFBaUIsQ0FBQztRQUN2QixLQUFLLGtCQUFrQixDQUFDO1FBQ3hCLEtBQUssa0JBQWtCO1lBQ3JCLE9BQU8sUUFBUSxDQUFDO1FBRWxCLEtBQUssbUJBQW1CO1lBQ3RCLE9BQU8sUUFBUSxDQUFDO1FBRWxCLEtBQUssb0JBQW9CO1lBQ3ZCLE9BQU8sU0FBUyxDQUFDO1FBRW5CLEtBQUssaUJBQWlCLENBQUM7UUFDdkIsS0FBSyxxQkFBcUI7WUFDeEIsT0FBTyxNQUFNLENBQUM7UUFFaEIsS0FBSyxpQkFBaUI7WUFDcEIsT0FBTyxTQUFTLENBQUM7UUFFbkIsS0FBSyxrQkFBa0I7WUFDckIsT0FBTyxTQUFTLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENB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
package/dist/index.js DELETED
@@ -1,5 +0,0 @@
1
- export * from "./browser-client";
2
- export * from "./interfaces";
3
- export * from "./node-client";
4
- export * from "./node-server";
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGVBQWUsQ0FBQyJ9
@@ -1,14 +0,0 @@
1
- import { generateTypescriptEnum, generateTypescriptInterface } from "./helpers";
2
- export function generateTypescriptInterfaces(ast) {
3
- let code = "";
4
- for (const type of ast.enumTypes) {
5
- code += generateTypescriptEnum(type);
6
- }
7
- code += "\n";
8
- for (const type of ast.structTypes) {
9
- code += generateTypescriptInterface(type, false);
10
- code += "\n";
11
- }
12
- return code;
13
- }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVoRixNQUFNLFVBQVUsNEJBQTRCLENBQUMsR0FBWTtJQUN2RCxJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7SUFFZCxLQUFLLE1BQU0sSUFBSSxJQUFJLEdBQUcsQ0FBQyxTQUFTLEVBQUU7UUFDaEMsSUFBSSxJQUFJLHNCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3RDO0lBRUQsSUFBSSxJQUFJLElBQUksQ0FBQztJQUViLEtBQUssTUFBTSxJQUFJLElBQUksR0FBRyxDQUFDLFdBQVcsRUFBRTtRQUNsQyxJQUFJLElBQUksMkJBQTJCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2pELElBQUksSUFBSSxJQUFJLENBQUM7S0FDZDtJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyJ9
@@ -1,47 +0,0 @@
1
- import { DecimalPrimitiveType, astToJson, HiddenAnnotation, VoidPrimitiveType, hasType } from "@sdkgen/parser";
2
- import { generateTypescriptEnum, generateTypescriptErrorClass, generateTypescriptInterface, generateTypescriptTypeName } from "./helpers";
3
- export function generateNodeClientSource(ast) {
4
- let code = "";
5
- const hasErrorWithData = ast.errors.some(err => !(err.dataType instanceof VoidPrimitiveType));
6
- const hasErrorWithoutData = ast.errors.filter(err => err.name !== "Fatal").some(err => err.dataType instanceof VoidPrimitiveType);
7
- code += `/* eslint-disable */
8
- import { Context, Fatal${hasErrorWithoutData ? ", SdkgenError" : ""}${hasErrorWithData ? ", SdkgenErrorWithData" : ""}, SdkgenHttpClient } from "@sdkgen/node-runtime";
9
- import { PartialDeep } from "type-fest";
10
- export { Fatal } from "@sdkgen/node-runtime";
11
- `;
12
- if (hasType(ast, DecimalPrimitiveType)) {
13
- code += `import { Decimal } from "decimal.js";\n`;
14
- }
15
- code += "\n";
16
- for (const type of ast.enumTypes) {
17
- code += generateTypescriptEnum(type);
18
- code += "\n";
19
- }
20
- for (const type of ast.structTypes) {
21
- code += generateTypescriptInterface(type, false);
22
- code += "\n";
23
- }
24
- for (const error of ast.errors) {
25
- if (error.name === "Fatal") {
26
- continue;
27
- }
28
- code += generateTypescriptErrorClass(error, false);
29
- code += "\n";
30
- }
31
- code += `export class ApiClient extends SdkgenHttpClient {
32
- constructor(baseUrl: string) {
33
- super(baseUrl, astJson, errClasses);
34
- }
35
- ${ast.operations
36
- .filter(op => op.annotations.every(ann => !(ann instanceof HiddenAnnotation)))
37
- .map(op => `
38
- ${op.name}(ctx: PartialDeep<Context> | null, args: {${op.args
39
- .map(arg => `${arg.name}${arg.type.name.endsWith("?") ? "?" : ""}: ${generateTypescriptTypeName(arg.type, false)}`)
40
- .join(", ")}}): Promise<${generateTypescriptTypeName(op.returnType, false)}> { return this.makeRequest(ctx, "${op.name}", args); }`)
41
- .join("")}
42
- }\n\n`;
43
- code += `const errClasses = {\n${ast.errors.map(err => ` ${err.name}`).join(",\n")}\n};\n\n`;
44
- code += `const astJson = ${JSON.stringify(astToJson(ast), null, 4).replace(/"(?<key>\w+)":/gu, "$<key>:")} as const;\n`;
45
- return code;
46
- }
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1jbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbm9kZS1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsNEJBQTRCLEVBQUUsMkJBQTJCLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFMUksTUFBTSxVQUFVLHdCQUF3QixDQUFDLEdBQVk7SUFDbkQsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRWQsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxZQUFZLGlCQUFpQixDQUFDLENBQUMsQ0FBQztJQUM5RixNQUFNLG1CQUFtQixHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxZQUFZLGlCQUFpQixDQUFDLENBQUM7SUFFbEksSUFBSSxJQUFJO3lCQUNlLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FDL0QsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxFQUMvQzs7O0NBR0QsQ0FBQztJQUVBLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxFQUFFO1FBQ3RDLElBQUksSUFBSSx5Q0FBeUMsQ0FBQztLQUNuRDtJQUVELElBQUksSUFBSSxJQUFJLENBQUM7SUFFYixLQUFLLE1BQU0sSUFBSSxJQUFJLEdBQUcsQ0FBQyxTQUFTLEVBQUU7UUFDaEMsSUFBSSxJQUFJLHNCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLElBQUksSUFBSSxJQUFJLENBQUM7S0FDZDtJQUVELEtBQUssTUFBTSxJQUFJLElBQUksR0FBRyxDQUFDLFdBQVcsRUFBRTtRQUNsQyxJQUFJLElBQUksMkJBQTJCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2pELElBQUksSUFBSSxJQUFJLENBQUM7S0FDZDtJQUVELEtBQUssTUFBTSxLQUFLLElBQUksR0FBRyxDQUFDLE1BQU0sRUFBRTtRQUM5QixJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFO1lBQzFCLFNBQVM7U0FDVjtRQUVELElBQUksSUFBSSw0QkFBNEIsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbkQsSUFBSSxJQUFJLElBQUksQ0FBQztLQUNkO0lBRUQsSUFBSSxJQUFJOzs7O0VBSVIsR0FBRyxDQUFDLFVBQVU7U0FDYixNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLFlBQVksZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1NBQzdFLEdBQUcsQ0FDRixFQUFFLENBQUMsRUFBRSxDQUFDO01BQ0osRUFBRSxDQUFDLElBQUksNkNBQTZDLEVBQUUsQ0FBQyxJQUFJO1NBQzFELEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLDBCQUEwQixDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQztTQUNsSCxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsMEJBQTBCLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMscUNBQXFDLEVBQUUsQ0FBQyxJQUFJLGFBQWEsQ0FDdEk7U0FDQSxJQUFJLENBQUMsRUFBRSxDQUFDO01BQ0wsQ0FBQztJQUVMLElBQUksSUFBSSx5QkFBeUIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDO0lBRWhHLElBQUksSUFBSSxtQkFBbUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxTQUFTLENBQUMsY0FBYyxDQUFDO0lBRXhILE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyJ9
@@ -1,48 +0,0 @@
1
- import { DecimalPrimitiveType, astToJson, VoidPrimitiveType, hasType } from "@sdkgen/parser";
2
- import { generateTypescriptEnum, generateTypescriptErrorClass, generateTypescriptInterface, generateTypescriptTypeName } from "./helpers";
3
- export function generateNodeServerSource(ast) {
4
- let code = "";
5
- const hasErrorWithData = ast.errors.some(err => !(err.dataType instanceof VoidPrimitiveType));
6
- const hasErrorWithoutData = ast.errors.filter(err => err.name !== "Fatal").some(err => err.dataType instanceof VoidPrimitiveType);
7
- code += `/* eslint-disable */
8
- import { BaseApiConfig, Context, Fatal${hasErrorWithoutData ? ", SdkgenError" : ""}${hasErrorWithData ? ", SdkgenErrorWithData" : ""} } from "@sdkgen/node-runtime";
9
- export { Fatal } from "@sdkgen/node-runtime";
10
- `;
11
- if (hasType(ast, DecimalPrimitiveType)) {
12
- code += `import { Decimal } from "decimal.js";\n`;
13
- }
14
- code += "\n";
15
- for (const type of ast.enumTypes) {
16
- code += generateTypescriptEnum(type);
17
- code += "\n";
18
- }
19
- for (const type of ast.structTypes) {
20
- code += generateTypescriptInterface(type, false);
21
- code += "\n";
22
- }
23
- for (const error of ast.errors) {
24
- if (error.name === "Fatal") {
25
- continue;
26
- }
27
- code += generateTypescriptErrorClass(error, false);
28
- code += "\n";
29
- }
30
- code += `export class ApiConfig<ExtraContextT> extends BaseApiConfig<ExtraContextT> {
31
- declare fn: {${ast.operations
32
- .map(op => `
33
- ${op.name}: (ctx: Context & ExtraContextT, args: {${op.args
34
- .map(arg => `${arg.name}: ${generateTypescriptTypeName(arg.type, false)}`)
35
- .join(", ")}}) => Promise<${generateTypescriptTypeName(op.returnType, false)}>`)
36
- .join("")}
37
- }
38
-
39
- astJson = ${JSON.stringify(astToJson(ast), null, 4)
40
- .replace(/"(?<key>\w+)":/gu, "$<key>:")
41
- .replace(/\n/gu, "\n ")} as const
42
- }
43
-
44
- export const api = new ApiConfig<{}>();
45
- `;
46
- return code;
47
- }
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1zZXJ2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbm9kZS1zZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsNEJBQTRCLEVBQUUsMkJBQTJCLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFMUksTUFBTSxVQUFVLHdCQUF3QixDQUFDLEdBQVk7SUFDbkQsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRWQsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxZQUFZLGlCQUFpQixDQUFDLENBQUMsQ0FBQztJQUM5RixNQUFNLG1CQUFtQixHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxZQUFZLGlCQUFpQixDQUFDLENBQUM7SUFFbEksSUFBSSxJQUFJO3dDQUM4QixtQkFBbUIsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQzlFLGdCQUFnQixDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsRUFDL0M7O0NBRUQsQ0FBQztJQUVBLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxFQUFFO1FBQ3RDLElBQUksSUFBSSx5Q0FBeUMsQ0FBQztLQUNuRDtJQUVELElBQUksSUFBSSxJQUFJLENBQUM7SUFFYixLQUFLLE1BQU0sSUFBSSxJQUFJLEdBQUcsQ0FBQyxTQUFTLEVBQUU7UUFDaEMsSUFBSSxJQUFJLHNCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLElBQUksSUFBSSxJQUFJLENBQUM7S0FDZDtJQUVELEtBQUssTUFBTSxJQUFJLElBQUksR0FBRyxDQUFDLFdBQVcsRUFBRTtRQUNsQyxJQUFJLElBQUksMkJBQTJCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2pELElBQUksSUFBSSxJQUFJLENBQUM7S0FDZDtJQUVELEtBQUssTUFBTSxLQUFLLElBQUksR0FBRyxDQUFDLE1BQU0sRUFBRTtRQUM5QixJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFO1lBQzFCLFNBQVM7U0FDVjtRQUVELElBQUksSUFBSSw0QkFBNEIsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbkQsSUFBSSxJQUFJLElBQUksQ0FBQztLQUNkO0lBRUQsSUFBSSxJQUFJO21CQUNTLEdBQUcsQ0FBQyxVQUFVO1NBQzFCLEdBQUcsQ0FDRixFQUFFLENBQUMsRUFBRSxDQUFDO1VBQ0osRUFBRSxDQUFDLElBQUksMkNBQTJDLEVBQUUsQ0FBQyxJQUFJO1NBQ3hELEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLElBQUksS0FBSywwQkFBMEIsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUM7U0FDekUsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsMEJBQTBCLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUNsRjtTQUNBLElBQUksQ0FBQyxFQUFFLENBQUM7OztnQkFHQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ2hELE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxTQUFTLENBQUM7U0FDdEMsT0FBTyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUM7Ozs7Q0FJL0IsQ0FBQztJQUVBLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyJ9
File without changes
File without changes
File without changes
File without changes
File without changes