@sdkgen/typescript-generator 0.0.0-dev.20240112194550 → 0.0.0-dev.20240112200235
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/dist/browser-client.js +17 -13
- package/dist/helpers.js +48 -40
- package/dist/index.js +8 -5
- package/dist/interfaces.js +9 -5
- package/dist/node-client.js +18 -14
- package/dist/node-server.js +17 -13
- package/package.json +3 -3
package/dist/browser-client.js
CHANGED
|
@@ -1,25 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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) {
|
|
4
7
|
let code = "";
|
|
5
|
-
const hasErrorWithData = ast.errors.some(err => !(err.dataType instanceof VoidPrimitiveType));
|
|
8
|
+
const hasErrorWithData = ast.errors.some(err => !(err.dataType instanceof parser_1.VoidPrimitiveType));
|
|
6
9
|
code += `/* eslint-disable */
|
|
7
10
|
import { SdkgenError${hasErrorWithData ? ", SdkgenErrorWithData" : ""}, SdkgenHttpClient } from "@sdkgen/browser-runtime";
|
|
8
11
|
`;
|
|
9
|
-
if (hasType(ast, DecimalPrimitiveType)) {
|
|
12
|
+
if ((0, parser_1.hasType)(ast, parser_1.DecimalPrimitiveType)) {
|
|
10
13
|
code += `import { Decimal } from "decimal.js-light";\n`;
|
|
11
14
|
}
|
|
12
15
|
code += "\n";
|
|
13
16
|
for (const type of ast.enumTypes) {
|
|
14
|
-
code += generateTypescriptEnum(type);
|
|
17
|
+
code += (0, helpers_1.generateTypescriptEnum)(type);
|
|
15
18
|
code += "\n";
|
|
16
19
|
}
|
|
17
20
|
for (const type of ast.structTypes) {
|
|
18
|
-
code += generateTypescriptInterface(type, true);
|
|
21
|
+
code += (0, helpers_1.generateTypescriptInterface)(type, true);
|
|
19
22
|
code += "\n";
|
|
20
23
|
}
|
|
21
24
|
for (const error of ast.errors) {
|
|
22
|
-
code += generateTypescriptErrorClass(error, true);
|
|
25
|
+
code += (0, helpers_1.generateTypescriptErrorClass)(error, true);
|
|
23
26
|
code += "\n";
|
|
24
27
|
}
|
|
25
28
|
code += `export class ApiClient extends SdkgenHttpClient {
|
|
@@ -27,15 +30,16 @@ import { SdkgenError${hasErrorWithData ? ", SdkgenErrorWithData" : ""}, SdkgenHt
|
|
|
27
30
|
super(baseUrl, astJson, errClasses);
|
|
28
31
|
}
|
|
29
32
|
${ast.operations
|
|
30
|
-
.filter(op => op.annotations.every(ann => !(ann instanceof HiddenAnnotation)))
|
|
33
|
+
.filter(op => op.annotations.every(ann => !(ann instanceof parser_1.HiddenAnnotation)))
|
|
31
34
|
.map(op => `
|
|
32
35
|
${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 || {}); }`)
|
|
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 || {}); }`)
|
|
35
38
|
.join("")}
|
|
36
39
|
}\n\n`;
|
|
37
40
|
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`;
|
|
41
|
+
code += `const astJson = ${JSON.stringify((0, parser_1.astToJson)(ast), null, 4).replace(/"(?<key>\w+)":/gu, "$<key>:")} as const;\n`;
|
|
39
42
|
return code;
|
|
40
43
|
}
|
|
41
|
-
|
|
44
|
+
exports.generateBrowserClientSource = generateBrowserClientSource;
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3Nlci1jbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYnJvd3Nlci1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMkNBQStHO0FBRS9HLHVDQUEwSTtBQUUxSSxTQUFnQiwyQkFBMkIsQ0FBQyxHQUFZO0lBQ3RELElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUVkLE1BQU0sZ0JBQWdCLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsWUFBWSwwQkFBaUIsQ0FBQyxDQUFDLENBQUM7SUFFOUYsSUFBSSxJQUFJO3NCQUNZLGdCQUFnQixDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsRUFBRTtDQUNwRSxDQUFDO0lBRUEsSUFBSSxJQUFBLGdCQUFPLEVBQUMsR0FBRyxFQUFFLDZCQUFvQixDQUFDLEVBQUU7UUFDdEMsSUFBSSxJQUFJLCtDQUErQyxDQUFDO0tBQ3pEO0lBRUQsSUFBSSxJQUFJLElBQUksQ0FBQztJQUViLEtBQUssTUFBTSxJQUFJLElBQUksR0FBRyxDQUFDLFNBQVMsRUFBRTtRQUNoQyxJQUFJLElBQUksSUFBQSxnQ0FBc0IsRUFBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxJQUFJLElBQUksSUFBSSxDQUFDO0tBQ2Q7SUFFRCxLQUFLLE1BQU0sSUFBSSxJQUFJLEdBQUcsQ0FBQyxXQUFXLEVBQUU7UUFDbEMsSUFBSSxJQUFJLElBQUEscUNBQTJCLEVBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2hELElBQUksSUFBSSxJQUFJLENBQUM7S0FDZDtJQUVELEtBQUssTUFBTSxLQUFLLElBQUksR0FBRyxDQUFDLE1BQU0sRUFBRTtRQUM5QixJQUFJLElBQUksSUFBQSxzQ0FBNEIsRUFBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbEQsSUFBSSxJQUFJLElBQUksQ0FBQztLQUNkO0lBRUQsSUFBSSxJQUFJOzs7O0VBSVIsR0FBRyxDQUFDLFVBQVU7U0FDYixNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLFlBQVkseUJBQWdCLENBQUMsQ0FBQyxDQUFDO1NBQzdFLEdBQUcsQ0FDRixFQUFFLENBQUMsRUFBRSxDQUFDO01BQ0osRUFBRSxDQUFDLElBQUksUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxJQUFJO1NBQzFELEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLElBQUEsb0NBQTBCLEVBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDO1NBQ2pILElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxJQUFBLG9DQUEwQixFQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLGdDQUFnQyxFQUFFLENBQUMsSUFBSSxtQkFBbUIsQ0FDdEk7U0FDQSxJQUFJLENBQUMsRUFBRSxDQUFDO01BQ0wsQ0FBQztJQUVMLElBQUksSUFBSSx5QkFBeUIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDO0lBRWhHLElBQUksSUFBSSxtQkFBbUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFBLGtCQUFTLEVBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxTQUFTLENBQUMsY0FBYyxDQUFDO0lBRXhILE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQWxERCxrRUFrREMifQ==
|
package/dist/helpers.js
CHANGED
|
@@ -1,62 +1,67 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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) {
|
|
3
6
|
switch (type.constructor) {
|
|
4
|
-
case IntPrimitiveType:
|
|
5
|
-
case UIntPrimitiveType:
|
|
6
|
-
case MoneyPrimitiveType:
|
|
7
|
-
case FloatPrimitiveType:
|
|
7
|
+
case parser_1.IntPrimitiveType:
|
|
8
|
+
case parser_1.UIntPrimitiveType:
|
|
9
|
+
case parser_1.MoneyPrimitiveType:
|
|
10
|
+
case parser_1.FloatPrimitiveType:
|
|
8
11
|
return "number";
|
|
9
|
-
case BigIntPrimitiveType:
|
|
12
|
+
case parser_1.BigIntPrimitiveType:
|
|
10
13
|
return "bigint";
|
|
11
|
-
case DecimalPrimitiveType:
|
|
14
|
+
case parser_1.DecimalPrimitiveType:
|
|
12
15
|
return "Decimal";
|
|
13
|
-
case DatePrimitiveType:
|
|
14
|
-
case DateTimePrimitiveType:
|
|
16
|
+
case parser_1.DatePrimitiveType:
|
|
17
|
+
case parser_1.DateTimePrimitiveType:
|
|
15
18
|
return "Date";
|
|
16
|
-
case BoolPrimitiveType:
|
|
19
|
+
case parser_1.BoolPrimitiveType:
|
|
17
20
|
return "boolean";
|
|
18
|
-
case BytesPrimitiveType:
|
|
21
|
+
case parser_1.BytesPrimitiveType:
|
|
19
22
|
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:
|
|
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:
|
|
30
33
|
return "string";
|
|
31
|
-
case VoidPrimitiveType:
|
|
34
|
+
case parser_1.VoidPrimitiveType:
|
|
32
35
|
return "void";
|
|
33
|
-
case JsonPrimitiveType:
|
|
36
|
+
case parser_1.JsonPrimitiveType:
|
|
34
37
|
return "any";
|
|
35
|
-
case OptionalType:
|
|
38
|
+
case parser_1.OptionalType:
|
|
36
39
|
return `${generateTypescriptTypeName(type.base, isBrowser)} | null`;
|
|
37
|
-
case ArrayType: {
|
|
40
|
+
case parser_1.ArrayType: {
|
|
38
41
|
const { base } = type;
|
|
39
42
|
const baseGen = generateTypescriptTypeName(base, isBrowser);
|
|
40
|
-
if (base instanceof OptionalType) {
|
|
43
|
+
if (base instanceof parser_1.OptionalType) {
|
|
41
44
|
return `(${baseGen})[]`;
|
|
42
45
|
}
|
|
43
46
|
return `${baseGen}[]`;
|
|
44
47
|
}
|
|
45
|
-
case StructType:
|
|
46
|
-
case EnumType:
|
|
48
|
+
case parser_1.StructType:
|
|
49
|
+
case parser_1.EnumType:
|
|
47
50
|
return type.name;
|
|
48
|
-
case TypeReference:
|
|
51
|
+
case parser_1.TypeReference:
|
|
49
52
|
return generateTypescriptTypeName(type.type, isBrowser);
|
|
50
53
|
default:
|
|
51
54
|
throw new Error(`BUG: generateTypescriptTypeName with ${type.constructor.name}`);
|
|
52
55
|
}
|
|
53
56
|
}
|
|
54
|
-
|
|
57
|
+
exports.generateTypescriptTypeName = generateTypescriptTypeName;
|
|
58
|
+
function generateTypescriptInterface(type, isBrowser) {
|
|
55
59
|
return `export interface ${type.name} {
|
|
56
60
|
${type.fields.map(field => ` ${field.name}: ${generateTypescriptTypeName(field.type, isBrowser)}`).join("\n")}
|
|
57
61
|
}\n`;
|
|
58
62
|
}
|
|
59
|
-
|
|
63
|
+
exports.generateTypescriptInterface = generateTypescriptInterface;
|
|
64
|
+
function generateTypescriptEnum(type) {
|
|
60
65
|
if (type.hasStructValues) {
|
|
61
66
|
return `export type ${type.name} = ${type.values
|
|
62
67
|
.map(x => (x.struct ? `({tag: "${x.value}"} & ${x.struct.name})` : `{tag: "${x.value}"}`))
|
|
@@ -64,28 +69,30 @@ export function generateTypescriptEnum(type) {
|
|
|
64
69
|
}
|
|
65
70
|
return `export type ${type.name} = ${type.values.map(x => `"${x.value}"`).join(" | ")};\n`;
|
|
66
71
|
}
|
|
67
|
-
|
|
68
|
-
|
|
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`;
|
|
69
75
|
}
|
|
70
|
-
|
|
76
|
+
exports.generateTypescriptErrorClass = generateTypescriptErrorClass;
|
|
77
|
+
function clearForLogging(path, type) {
|
|
71
78
|
switch (type.constructor) {
|
|
72
|
-
case TypeReference:
|
|
79
|
+
case parser_1.TypeReference:
|
|
73
80
|
return clearForLogging(path, type.type);
|
|
74
|
-
case OptionalType: {
|
|
81
|
+
case parser_1.OptionalType: {
|
|
75
82
|
const code = clearForLogging(path, type.base);
|
|
76
83
|
if (code) {
|
|
77
84
|
return `if (${path} !== null && ${path} !== undefined) { ${code} }`;
|
|
78
85
|
}
|
|
79
86
|
return "";
|
|
80
87
|
}
|
|
81
|
-
case ArrayType: {
|
|
88
|
+
case parser_1.ArrayType: {
|
|
82
89
|
const code = clearForLogging("el", type.base);
|
|
83
90
|
if (code) {
|
|
84
91
|
return `for (const el of ${path}) { ${code} }`;
|
|
85
92
|
}
|
|
86
93
|
return "";
|
|
87
94
|
}
|
|
88
|
-
case StructType: {
|
|
95
|
+
case parser_1.StructType: {
|
|
89
96
|
const codes = [];
|
|
90
97
|
for (const field of type.fields) {
|
|
91
98
|
if (field.secret) {
|
|
@@ -104,4 +111,5 @@ export function clearForLogging(path, type) {
|
|
|
104
111
|
return "";
|
|
105
112
|
}
|
|
106
113
|
}
|
|
107
|
-
|
|
114
|
+
exports.clearForLogging = clearForLogging;
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDJDQTRCd0I7QUFFeEIsU0FBZ0IsMEJBQTBCLENBQUMsSUFBVSxFQUFFLFNBQWtCO0lBQ3ZFLFFBQVEsSUFBSSxDQUFDLFdBQVcsRUFBRTtRQUN4QixLQUFLLHlCQUFnQixDQUFDO1FBQ3RCLEtBQUssMEJBQWlCLENBQUM7UUFDdkIsS0FBSywyQkFBa0IsQ0FBQztRQUN4QixLQUFLLDJCQUFrQjtZQUNyQixPQUFPLFFBQVEsQ0FBQztRQUVsQixLQUFLLDRCQUFtQjtZQUN0QixPQUFPLFFBQVEsQ0FBQztRQUVsQixLQUFLLDZCQUFvQjtZQUN2QixPQUFPLFNBQVMsQ0FBQztRQUVuQixLQUFLLDBCQUFpQixDQUFDO1FBQ3ZCLEtBQUssOEJBQXFCO1lBQ3hCLE9BQU8sTUFBTSxDQUFDO1FBRWhCLEtBQUssMEJBQWlCO1lBQ3BCLE9BQU8sU0FBUyxDQUFDO1FBRW5CLEtBQUssMkJBQWtCO1lBQ3JCLE9BQU8sU0FBUyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUU5QyxLQUFLLDRCQUFtQixDQUFDO1FBQ3pCLEtBQUsseUJBQWdCLENBQUM7UUFDdEIsS0FBSywwQkFBaUIsQ0FBQztRQUN2QixLQUFLLDJCQUFrQixDQUFDO1FBQ3hCLEtBQUssMEJBQWlCLENBQUM7UUFDdkIsS0FBSyx5QkFBZ0IsQ0FBQztRQUN0QixLQUFLLDBCQUFpQixDQUFDO1FBQ3ZCLEtBQUsseUJBQWdCLENBQUM7UUFDdEIsS0FBSyw0QkFBbUIsQ0FBQztRQUN6QixLQUFLLHlCQUFnQjtZQUNuQixPQUFPLFFBQVEsQ0FBQztRQUVsQixLQUFLLDBCQUFpQjtZQUNwQixPQUFPLE1BQU0sQ0FBQztRQUVoQixLQUFLLDBCQUFpQjtZQUNwQixPQUFPLEtBQUssQ0FBQztRQUVmLEtBQUsscUJBQVk7WUFD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
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./browser-client"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./interfaces"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./node-client"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./node-server"), exports);
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkRBQWlDO0FBQ2pDLHVEQUE2QjtBQUM3Qix3REFBOEI7QUFDOUIsd0RBQThCIn0=
|
package/dist/interfaces.js
CHANGED
|
@@ -1,14 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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) {
|
|
3
6
|
let code = "";
|
|
4
7
|
for (const type of ast.enumTypes) {
|
|
5
|
-
code += generateTypescriptEnum(type);
|
|
8
|
+
code += (0, helpers_1.generateTypescriptEnum)(type);
|
|
6
9
|
}
|
|
7
10
|
code += "\n";
|
|
8
11
|
for (const type of ast.structTypes) {
|
|
9
|
-
code += generateTypescriptInterface(type, false);
|
|
12
|
+
code += (0, helpers_1.generateTypescriptInterface)(type, false);
|
|
10
13
|
code += "\n";
|
|
11
14
|
}
|
|
12
15
|
return code;
|
|
13
16
|
}
|
|
14
|
-
|
|
17
|
+
exports.generateTypescriptInterfaces = generateTypescriptInterfaces;
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLHVDQUFnRjtBQUVoRixTQUFnQiw0QkFBNEIsQ0FBQyxHQUFZO0lBQ3ZELElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUVkLEtBQUssTUFBTSxJQUFJLElBQUksR0FBRyxDQUFDLFNBQVMsRUFBRTtRQUNoQyxJQUFJLElBQUksSUFBQSxnQ0FBc0IsRUFBQyxJQUFJLENBQUMsQ0FBQztLQUN0QztJQUVELElBQUksSUFBSSxJQUFJLENBQUM7SUFFYixLQUFLLE1BQU0sSUFBSSxJQUFJLEdBQUcsQ0FBQyxXQUFXLEVBQUU7UUFDbEMsSUFBSSxJQUFJLElBQUEscUNBQTJCLEVBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2pELElBQUksSUFBSSxJQUFJLENBQUM7S0FDZDtJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQWZELG9FQWVDIn0=
|
package/dist/node-client.js
CHANGED
|
@@ -1,31 +1,34 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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) {
|
|
4
7
|
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);
|
|
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);
|
|
7
10
|
code += `/* eslint-disable */
|
|
8
11
|
import { Context, Fatal${hasErrorWithoutData ? ", SdkgenError" : ""}${hasErrorWithData ? ", SdkgenErrorWithData" : ""}, SdkgenHttpClient } from "@sdkgen/node-runtime";
|
|
9
12
|
import { PartialDeep } from "type-fest";
|
|
10
13
|
export { Fatal } from "@sdkgen/node-runtime";
|
|
11
14
|
`;
|
|
12
|
-
if (hasType(ast, DecimalPrimitiveType)) {
|
|
15
|
+
if ((0, parser_1.hasType)(ast, parser_1.DecimalPrimitiveType)) {
|
|
13
16
|
code += `import { Decimal } from "decimal.js";\n`;
|
|
14
17
|
}
|
|
15
18
|
code += "\n";
|
|
16
19
|
for (const type of ast.enumTypes) {
|
|
17
|
-
code += generateTypescriptEnum(type);
|
|
20
|
+
code += (0, helpers_1.generateTypescriptEnum)(type);
|
|
18
21
|
code += "\n";
|
|
19
22
|
}
|
|
20
23
|
for (const type of ast.structTypes) {
|
|
21
|
-
code += generateTypescriptInterface(type, false);
|
|
24
|
+
code += (0, helpers_1.generateTypescriptInterface)(type, false);
|
|
22
25
|
code += "\n";
|
|
23
26
|
}
|
|
24
27
|
for (const error of ast.errors) {
|
|
25
28
|
if (error.name === "Fatal") {
|
|
26
29
|
continue;
|
|
27
30
|
}
|
|
28
|
-
code += generateTypescriptErrorClass(error, false);
|
|
31
|
+
code += (0, helpers_1.generateTypescriptErrorClass)(error, false);
|
|
29
32
|
code += "\n";
|
|
30
33
|
}
|
|
31
34
|
code += `export class ApiClient extends SdkgenHttpClient {
|
|
@@ -33,15 +36,16 @@ export { Fatal } from "@sdkgen/node-runtime";
|
|
|
33
36
|
super(baseUrl, astJson, errClasses);
|
|
34
37
|
}
|
|
35
38
|
${ast.operations
|
|
36
|
-
.filter(op => op.annotations.every(ann => !(ann instanceof HiddenAnnotation)))
|
|
39
|
+
.filter(op => op.annotations.every(ann => !(ann instanceof parser_1.HiddenAnnotation)))
|
|
37
40
|
.map(op => `
|
|
38
41
|
${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); }`)
|
|
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); }`)
|
|
41
44
|
.join("")}
|
|
42
45
|
}\n\n`;
|
|
43
46
|
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`;
|
|
47
|
+
code += `const astJson = ${JSON.stringify((0, parser_1.astToJson)(ast), null, 4).replace(/"(?<key>\w+)":/gu, "$<key>:")} as const;\n`;
|
|
45
48
|
return code;
|
|
46
49
|
}
|
|
47
|
-
|
|
50
|
+
exports.generateNodeClientSource = generateNodeClientSource;
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1jbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbm9kZS1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMkNBQStHO0FBRS9HLHVDQUEwSTtBQUUxSSxTQUFnQix3QkFBd0IsQ0FBQyxHQUFZO0lBQ25ELElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUVkLE1BQU0sZ0JBQWdCLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsWUFBWSwwQkFBaUIsQ0FBQyxDQUFDLENBQUM7SUFDOUYsTUFBTSxtQkFBbUIsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsWUFBWSwwQkFBaUIsQ0FBQyxDQUFDO0lBRWxJLElBQUksSUFBSTt5QkFDZSxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQy9ELGdCQUFnQixDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsRUFDL0M7OztDQUdELENBQUM7SUFFQSxJQUFJLElBQUEsZ0JBQU8sRUFBQyxHQUFHLEVBQUUsNkJBQW9CLENBQUMsRUFBRTtRQUN0QyxJQUFJLElBQUkseUNBQXlDLENBQUM7S0FDbkQ7SUFFRCxJQUFJLElBQUksSUFBSSxDQUFDO0lBRWIsS0FBSyxNQUFNLElBQUksSUFBSSxHQUFHLENBQUMsU0FBUyxFQUFFO1FBQ2hDLElBQUksSUFBSSxJQUFBLGdDQUFzQixFQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLElBQUksSUFBSSxJQUFJLENBQUM7S0FDZDtJQUVELEtBQUssTUFBTSxJQUFJLElBQUksR0FBRyxDQUFDLFdBQVcsRUFBRTtRQUNsQyxJQUFJLElBQUksSUFBQSxxQ0FBMkIsRUFBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDakQsSUFBSSxJQUFJLElBQUksQ0FBQztLQUNkO0lBRUQsS0FBSyxNQUFNLEtBQUssSUFBSSxHQUFHLENBQUMsTUFBTSxFQUFFO1FBQzlCLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUU7WUFDMUIsU0FBUztTQUNWO1FBRUQsSUFBSSxJQUFJLElBQUEsc0NBQTRCLEVBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ25ELElBQUksSUFBSSxJQUFJLENBQUM7S0FDZDtJQUVELElBQUksSUFBSTs7OztFQUlSLEdBQUcsQ0FBQyxVQUFVO1NBQ2IsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxZQUFZLHlCQUFnQixDQUFDLENBQUMsQ0FBQztTQUM3RSxHQUFHLENBQ0YsRUFBRSxDQUFDLEVBQUUsQ0FBQztNQUNKLEVBQUUsQ0FBQyxJQUFJLDZDQUE2QyxFQUFFLENBQUMsSUFBSTtTQUMxRCxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxJQUFBLG9DQUEwQixFQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQztTQUNsSCxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBQSxvQ0FBMEIsRUFBQyxFQUFFLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxxQ0FBcUMsRUFBRSxDQUFDLElBQUksYUFBYSxDQUN0STtTQUNBLElBQUksQ0FBQyxFQUFFLENBQUM7TUFDTCxDQUFDO0lBRUwsSUFBSSxJQUFJLHlCQUF5QixHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7SUFFaEcsSUFBSSxJQUFJLG1CQUFtQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUEsa0JBQVMsRUFBQyxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLFNBQVMsQ0FBQyxjQUFjLENBQUM7SUFFeEgsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBM0RELDREQTJEQyJ9
|
package/dist/node-server.js
CHANGED
|
@@ -1,42 +1,45 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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) {
|
|
4
7
|
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);
|
|
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);
|
|
7
10
|
code += `/* eslint-disable */
|
|
8
11
|
import { BaseApiConfig, Context, Fatal${hasErrorWithoutData ? ", SdkgenError" : ""}${hasErrorWithData ? ", SdkgenErrorWithData" : ""} } from "@sdkgen/node-runtime";
|
|
9
12
|
export { Fatal } from "@sdkgen/node-runtime";
|
|
10
13
|
`;
|
|
11
|
-
if (hasType(ast, DecimalPrimitiveType)) {
|
|
14
|
+
if ((0, parser_1.hasType)(ast, parser_1.DecimalPrimitiveType)) {
|
|
12
15
|
code += `import { Decimal } from "decimal.js";\n`;
|
|
13
16
|
}
|
|
14
17
|
code += "\n";
|
|
15
18
|
for (const type of ast.enumTypes) {
|
|
16
|
-
code += generateTypescriptEnum(type);
|
|
19
|
+
code += (0, helpers_1.generateTypescriptEnum)(type);
|
|
17
20
|
code += "\n";
|
|
18
21
|
}
|
|
19
22
|
for (const type of ast.structTypes) {
|
|
20
|
-
code += generateTypescriptInterface(type, false);
|
|
23
|
+
code += (0, helpers_1.generateTypescriptInterface)(type, false);
|
|
21
24
|
code += "\n";
|
|
22
25
|
}
|
|
23
26
|
for (const error of ast.errors) {
|
|
24
27
|
if (error.name === "Fatal") {
|
|
25
28
|
continue;
|
|
26
29
|
}
|
|
27
|
-
code += generateTypescriptErrorClass(error, false);
|
|
30
|
+
code += (0, helpers_1.generateTypescriptErrorClass)(error, false);
|
|
28
31
|
code += "\n";
|
|
29
32
|
}
|
|
30
33
|
code += `export class ApiConfig<ExtraContextT> extends BaseApiConfig<ExtraContextT> {
|
|
31
34
|
declare fn: {${ast.operations
|
|
32
35
|
.map(op => `
|
|
33
36
|
${op.name}: (ctx: Context & ExtraContextT, args: {${op.args
|
|
34
|
-
.map(arg => `${arg.name}: ${generateTypescriptTypeName(arg.type, false)}`)
|
|
35
|
-
.join(", ")}}) => Promise<${generateTypescriptTypeName(op.returnType, false)}>`)
|
|
37
|
+
.map(arg => `${arg.name}: ${(0, helpers_1.generateTypescriptTypeName)(arg.type, false)}`)
|
|
38
|
+
.join(", ")}}) => Promise<${(0, helpers_1.generateTypescriptTypeName)(op.returnType, false)}>`)
|
|
36
39
|
.join("")}
|
|
37
40
|
}
|
|
38
41
|
|
|
39
|
-
astJson = ${JSON.stringify(astToJson(ast), null, 4)
|
|
42
|
+
astJson = ${JSON.stringify((0, parser_1.astToJson)(ast), null, 4)
|
|
40
43
|
.replace(/"(?<key>\w+)":/gu, "$<key>:")
|
|
41
44
|
.replace(/\n/gu, "\n ")} as const
|
|
42
45
|
}
|
|
@@ -45,4 +48,5 @@ export const api = new ApiConfig<{}>();
|
|
|
45
48
|
`;
|
|
46
49
|
return code;
|
|
47
50
|
}
|
|
48
|
-
|
|
51
|
+
exports.generateNodeServerSource = generateNodeServerSource;
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1zZXJ2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbm9kZS1zZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMkNBQTZGO0FBRTdGLHVDQUEwSTtBQUUxSSxTQUFnQix3QkFBd0IsQ0FBQyxHQUFZO0lBQ25ELElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUVkLE1BQU0sZ0JBQWdCLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsWUFBWSwwQkFBaUIsQ0FBQyxDQUFDLENBQUM7SUFDOUYsTUFBTSxtQkFBbUIsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsWUFBWSwwQkFBaUIsQ0FBQyxDQUFDO0lBRWxJLElBQUksSUFBSTt3Q0FDOEIsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUM5RSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLEVBQy9DOztDQUVELENBQUM7SUFFQSxJQUFJLElBQUEsZ0JBQU8sRUFBQyxHQUFHLEVBQUUsNkJBQW9CLENBQUMsRUFBRTtRQUN0QyxJQUFJLElBQUkseUNBQXlDLENBQUM7S0FDbkQ7SUFFRCxJQUFJLElBQUksSUFBSSxDQUFDO0lBRWIsS0FBSyxNQUFNLElBQUksSUFBSSxHQUFHLENBQUMsU0FBUyxFQUFFO1FBQ2hDLElBQUksSUFBSSxJQUFBLGdDQUFzQixFQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLElBQUksSUFBSSxJQUFJLENBQUM7S0FDZDtJQUVELEtBQUssTUFBTSxJQUFJLElBQUksR0FBRyxDQUFDLFdBQVcsRUFBRTtRQUNsQyxJQUFJLElBQUksSUFBQSxxQ0FBMkIsRUFBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDakQsSUFBSSxJQUFJLElBQUksQ0FBQztLQUNkO0lBRUQsS0FBSyxNQUFNLEtBQUssSUFBSSxHQUFHLENBQUMsTUFBTSxFQUFFO1FBQzlCLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUU7WUFDMUIsU0FBUztTQUNWO1FBRUQsSUFBSSxJQUFJLElBQUEsc0NBQTRCLEVBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ25ELElBQUksSUFBSSxJQUFJLENBQUM7S0FDZDtJQUVELElBQUksSUFBSTttQkFDUyxHQUFHLENBQUMsVUFBVTtTQUMxQixHQUFHLENBQ0YsRUFBRSxDQUFDLEVBQUUsQ0FBQztVQUNKLEVBQUUsQ0FBQyxJQUFJLDJDQUEyQyxFQUFFLENBQUMsSUFBSTtTQUN4RCxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxJQUFJLEtBQUssSUFBQSxvQ0FBMEIsRUFBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUM7U0FDekUsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsSUFBQSxvQ0FBMEIsRUFBQyxFQUFFLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQ2xGO1NBQ0EsSUFBSSxDQUFDLEVBQUUsQ0FBQzs7O2dCQUdDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBQSxrQkFBUyxFQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7U0FDaEQsT0FBTyxDQUFDLGtCQUFrQixFQUFFLFNBQVMsQ0FBQztTQUN0QyxPQUFPLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQzs7OztDQUkvQixDQUFDO0lBRUEsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBMURELDREQTBEQyJ9
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sdkgen/typescript-generator",
|
|
3
|
-
"version": "0.0.0-dev.
|
|
3
|
+
"version": "0.0.0-dev.20240112200235",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
},
|
|
32
32
|
"homepage": "https://github.com/sdkgen/sdkgen#readme",
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@sdkgen/parser": "^0.0.0-dev.
|
|
34
|
+
"@sdkgen/parser": "^0.0.0-dev.20240112200235"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@cubos/eslint-config": "^2.2.0",
|
|
@@ -68,5 +68,5 @@
|
|
|
68
68
|
"/node_modules/"
|
|
69
69
|
]
|
|
70
70
|
},
|
|
71
|
-
"gitHead": "
|
|
71
|
+
"gitHead": "20945d8bd6da5dc80463c6ed7f652805d60ca75a"
|
|
72
72
|
}
|