ts-proto 1.181.2 → 2.0.0
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/build/protos/google/protobuf/compiler/plugin.d.ts +185 -0
- package/build/protos/google/protobuf/compiler/plugin.js +501 -0
- package/build/protos/google/protobuf/descriptor.d.ts +1155 -0
- package/build/protos/google/protobuf/descriptor.js +4237 -0
- package/build/protos/index.d.ts +2 -0
- package/build/protos/index.js +18 -0
- package/build/{case.js → src/case.js} +6 -7
- package/build/{context.js → src/context.js} +1 -2
- package/build/{encode.js → src/encode.js} +2 -3
- package/build/{enums.js → src/enums.js} +5 -6
- package/build/{generate-async-iterable.js → src/generate-async-iterable.js} +2 -3
- package/build/{generate-generic-service-definition.js → src/generate-generic-service-definition.js} +1 -2
- package/build/{generate-grpc-js.js → src/generate-grpc-js.js} +1 -2
- package/build/{generate-grpc-web.js → src/generate-grpc-web.js} +4 -5
- package/build/{generate-nestjs.js → src/generate-nestjs.js} +3 -4
- package/build/{generate-nice-grpc.js → src/generate-nice-grpc.js} +1 -2
- package/build/{generate-services.js → src/generate-services.js} +11 -12
- package/build/{generate-struct-wrappers.js → src/generate-struct-wrappers.js} +5 -6
- package/build/{generate-type-registry.js → src/generate-type-registry.js} +5 -7
- package/build/{main.d.ts → src/main.d.ts} +1 -3
- package/build/{main.js → src/main.js} +69 -84
- package/build/{options.js → src/options.js} +5 -5
- package/build/{schema.js → src/schema.js} +5 -7
- package/build/{types.js → src/types.js} +51 -53
- package/build/{utils.d.ts → src/utils.d.ts} +0 -2
- package/build/{utils.js → src/utils.js} +28 -28
- package/build/{visit.js → src/visit.js} +2 -3
- package/package.json +12 -10
- /package/build/{case.d.ts → src/case.d.ts} +0 -0
- /package/build/{context.d.ts → src/context.d.ts} +0 -0
- /package/build/{encode.d.ts → src/encode.d.ts} +0 -0
- /package/build/{enums.d.ts → src/enums.d.ts} +0 -0
- /package/build/{generate-async-iterable.d.ts → src/generate-async-iterable.d.ts} +0 -0
- /package/build/{generate-generic-service-definition.d.ts → src/generate-generic-service-definition.d.ts} +0 -0
- /package/build/{generate-grpc-js.d.ts → src/generate-grpc-js.d.ts} +0 -0
- /package/build/{generate-grpc-web.d.ts → src/generate-grpc-web.d.ts} +0 -0
- /package/build/{generate-nestjs.d.ts → src/generate-nestjs.d.ts} +0 -0
- /package/build/{generate-nice-grpc.d.ts → src/generate-nice-grpc.d.ts} +0 -0
- /package/build/{generate-services.d.ts → src/generate-services.d.ts} +0 -0
- /package/build/{generate-struct-wrappers.d.ts → src/generate-struct-wrappers.d.ts} +0 -0
- /package/build/{generate-type-registry.d.ts → src/generate-type-registry.d.ts} +0 -0
- /package/build/{index.d.ts → src/index.d.ts} +0 -0
- /package/build/{index.js → src/index.js} +0 -0
- /package/build/{options.d.ts → src/options.d.ts} +0 -0
- /package/build/{plugin.d.ts → src/plugin.d.ts} +0 -0
- /package/build/{plugin.js → src/plugin.js} +0 -0
- /package/build/{schema.d.ts → src/schema.d.ts} +0 -0
- /package/build/{sourceInfo.d.ts → src/sourceInfo.d.ts} +0 -0
- /package/build/{sourceInfo.js → src/sourceInfo.js} +0 -0
- /package/build/{types.d.ts → src/types.d.ts} +0 -0
- /package/build/{visit.d.ts → src/visit.d.ts} +0 -0
|
@@ -0,0 +1,18 @@
|
|
|
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("./google/protobuf/descriptor"), exports);
|
|
18
|
+
__exportStar(require("./google/protobuf/compiler/plugin"), exports);
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.maybeSnakeToCamel = maybeSnakeToCamel;
|
|
4
|
+
exports.snakeToCamel = snakeToCamel;
|
|
5
|
+
exports.camelToSnake = camelToSnake;
|
|
6
|
+
exports.capitalize = capitalize;
|
|
7
|
+
exports.uncapitalize = uncapitalize;
|
|
8
|
+
exports.camelCaseGrpc = camelCaseGrpc;
|
|
4
9
|
const case_anything_1 = require("case-anything");
|
|
5
10
|
/** Converts `key` to TS/JS camel-case idiom, unless overridden not to. */
|
|
6
11
|
function maybeSnakeToCamel(key, options) {
|
|
@@ -11,7 +16,6 @@ function maybeSnakeToCamel(key, options) {
|
|
|
11
16
|
return key;
|
|
12
17
|
}
|
|
13
18
|
}
|
|
14
|
-
exports.maybeSnakeToCamel = maybeSnakeToCamel;
|
|
15
19
|
function snakeToCamel(s) {
|
|
16
20
|
const hasLowerCase = !!s.match(/[a-z]/);
|
|
17
21
|
return s
|
|
@@ -23,7 +27,6 @@ function snakeToCamel(s) {
|
|
|
23
27
|
})
|
|
24
28
|
.join("");
|
|
25
29
|
}
|
|
26
|
-
exports.snakeToCamel = snakeToCamel;
|
|
27
30
|
function camelToSnake(s) {
|
|
28
31
|
return (s
|
|
29
32
|
// any number or little-char -> big char
|
|
@@ -32,15 +35,12 @@ function camelToSnake(s) {
|
|
|
32
35
|
.replace(/[A-Z]([A-Z][a-z])/g, (m) => m[0] + "_" + m.substring(1))
|
|
33
36
|
.toUpperCase());
|
|
34
37
|
}
|
|
35
|
-
exports.camelToSnake = camelToSnake;
|
|
36
38
|
function capitalize(s) {
|
|
37
39
|
return s.substring(0, 1).toUpperCase() + s.substring(1);
|
|
38
40
|
}
|
|
39
|
-
exports.capitalize = capitalize;
|
|
40
41
|
function uncapitalize(s) {
|
|
41
42
|
return s.substring(0, 1).toLowerCase() + s.substring(1);
|
|
42
43
|
}
|
|
43
|
-
exports.uncapitalize = uncapitalize;
|
|
44
44
|
/* This function uses the exact same semantics found inside the grpc
|
|
45
45
|
* nodejs library. Camel case splitting must be done by word i.e
|
|
46
46
|
* GetAPIValue must become getApiValue (notice the API becomes Api).
|
|
@@ -49,4 +49,3 @@ exports.uncapitalize = uncapitalize;
|
|
|
49
49
|
function camelCaseGrpc(s) {
|
|
50
50
|
return (0, case_anything_1.camelCase)(s);
|
|
51
51
|
}
|
|
52
|
-
exports.camelCaseGrpc = camelCaseGrpc;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createFileContext =
|
|
3
|
+
exports.createFileContext = createFileContext;
|
|
4
4
|
function createFileContext(file) {
|
|
5
5
|
return { isProto3Syntax: file.syntax === "proto3" };
|
|
6
6
|
}
|
|
7
|
-
exports.createFileContext = createFileContext;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.generateEncoder = generateEncoder;
|
|
4
|
+
exports.generateDecoder = generateDecoder;
|
|
4
5
|
const ts_poet_1 = require("ts-poet");
|
|
5
6
|
const types_1 = require("./types");
|
|
6
7
|
const options_1 = require("./options");
|
|
@@ -50,7 +51,6 @@ function generateEncoder(ctx, typeName) {
|
|
|
50
51
|
}
|
|
51
52
|
throw new Error(`unknown wrapper type: ${name}`);
|
|
52
53
|
}
|
|
53
|
-
exports.generateEncoder = generateEncoder;
|
|
54
54
|
function generateDecoder(ctx, typeName) {
|
|
55
55
|
const { options } = ctx;
|
|
56
56
|
let name = (0, types_1.wrapperTypeName)(typeName);
|
|
@@ -75,4 +75,3 @@ function generateDecoder(ctx, typeName) {
|
|
|
75
75
|
TypeValue = (0, utils_1.impProto)(ctx.options, "google/protobuf/wrappers", name);
|
|
76
76
|
return (0, ts_poet_1.code) `${TypeValue}.decode(value).value`;
|
|
77
77
|
}
|
|
78
|
-
exports.generateDecoder = generateDecoder;
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.generateEnum = generateEnum;
|
|
4
|
+
exports.generateEnumFromJson = generateEnumFromJson;
|
|
5
|
+
exports.generateEnumToJson = generateEnumToJson;
|
|
6
|
+
exports.generateEnumToNumber = generateEnumToNumber;
|
|
7
|
+
exports.getMemberName = getMemberName;
|
|
4
8
|
const ts_poet_1 = require("ts-poet");
|
|
5
9
|
const utils_1 = require("./utils");
|
|
6
10
|
const case_1 = require("./case");
|
|
@@ -66,7 +70,6 @@ function generateEnum(ctx, fullName, enumDesc, sourceInfo) {
|
|
|
66
70
|
}
|
|
67
71
|
return (0, ts_poet_1.joinCode)(chunks, { on: "\n" });
|
|
68
72
|
}
|
|
69
|
-
exports.generateEnum = generateEnum;
|
|
70
73
|
/** Generates a function with a big switch statement to decode JSON -> our enum. */
|
|
71
74
|
function generateEnumFromJson(ctx, fullName, enumDesc, unrecognizedEnum) {
|
|
72
75
|
const { options, utils } = ctx;
|
|
@@ -110,7 +113,6 @@ function generateEnumFromJson(ctx, fullName, enumDesc, unrecognizedEnum) {
|
|
|
110
113
|
chunks.push((0, ts_poet_1.code) `}`);
|
|
111
114
|
return (0, ts_poet_1.joinCode)(chunks, { on: "\n" });
|
|
112
115
|
}
|
|
113
|
-
exports.generateEnumFromJson = generateEnumFromJson;
|
|
114
116
|
/** Generates a function with a big switch statement to encode our enum -> JSON. */
|
|
115
117
|
function generateEnumToJson(ctx, fullName, enumDesc, unrecognizedEnum) {
|
|
116
118
|
const { options, utils } = ctx;
|
|
@@ -170,7 +172,6 @@ function generateEnumToJson(ctx, fullName, enumDesc, unrecognizedEnum) {
|
|
|
170
172
|
chunks.push((0, ts_poet_1.code) `}`);
|
|
171
173
|
return (0, ts_poet_1.joinCode)(chunks, { on: "\n" });
|
|
172
174
|
}
|
|
173
|
-
exports.generateEnumToJson = generateEnumToJson;
|
|
174
175
|
/** Generates a function with a big switch statement to encode our string enum -> int value. */
|
|
175
176
|
function generateEnumToNumber(ctx, fullName, enumDesc, unrecognizedEnum) {
|
|
176
177
|
const { options, utils } = ctx;
|
|
@@ -207,14 +208,12 @@ function generateEnumToNumber(ctx, fullName, enumDesc, unrecognizedEnum) {
|
|
|
207
208
|
chunks.push((0, ts_poet_1.code) `}`);
|
|
208
209
|
return (0, ts_poet_1.joinCode)(chunks, { on: "\n" });
|
|
209
210
|
}
|
|
210
|
-
exports.generateEnumToNumber = generateEnumToNumber;
|
|
211
211
|
function getMemberName(ctx, enumDesc, valueDesc) {
|
|
212
212
|
if (ctx.options.removeEnumPrefix) {
|
|
213
213
|
return valueDesc.name.replace(`${(0, case_1.camelToSnake)(enumDesc.name)}_`, "");
|
|
214
214
|
}
|
|
215
215
|
return valueDesc.name;
|
|
216
216
|
}
|
|
217
|
-
exports.getMemberName = getMemberName;
|
|
218
217
|
function getValueName(ctx, fullName, valueDesc) {
|
|
219
218
|
return valueDesc.name;
|
|
220
219
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.generateEncodeTransform = generateEncodeTransform;
|
|
4
|
+
exports.generateDecodeTransform = generateDecodeTransform;
|
|
4
5
|
const ts_poet_1 = require("ts-poet");
|
|
5
6
|
/** Creates a function to transform a message Source to a Uint8Array Source. */
|
|
6
7
|
function generateEncodeTransform(utils, fullName) {
|
|
@@ -22,7 +23,6 @@ function generateEncodeTransform(utils, fullName) {
|
|
|
22
23
|
}
|
|
23
24
|
`;
|
|
24
25
|
}
|
|
25
|
-
exports.generateEncodeTransform = generateEncodeTransform;
|
|
26
26
|
/** Creates a function to transform a Uint8Array Source to a message Source. */
|
|
27
27
|
function generateDecodeTransform(utils, fullName) {
|
|
28
28
|
return (0, ts_poet_1.code) `
|
|
@@ -43,4 +43,3 @@ function generateDecodeTransform(utils, fullName) {
|
|
|
43
43
|
}
|
|
44
44
|
`;
|
|
45
45
|
}
|
|
46
|
-
exports.generateDecodeTransform = generateDecodeTransform;
|
package/build/{generate-generic-service-definition.js → src/generate-generic-service-definition.js}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.generateGenericServiceDefinition =
|
|
3
|
+
exports.generateGenericServiceDefinition = generateGenericServiceDefinition;
|
|
4
4
|
const ts_poet_1 = require("ts-poet");
|
|
5
5
|
const ts_proto_descriptors_1 = require("ts-proto-descriptors");
|
|
6
6
|
const case_1 = require("./case");
|
|
@@ -41,7 +41,6 @@ function generateGenericServiceDefinition(ctx, fileDesc, sourceInfo, serviceDesc
|
|
|
41
41
|
`);
|
|
42
42
|
return (0, ts_poet_1.joinCode)(chunks, { on: "\n" });
|
|
43
43
|
}
|
|
44
|
-
exports.generateGenericServiceDefinition = generateGenericServiceDefinition;
|
|
45
44
|
function generateMethodDefinition(ctx, methodDesc) {
|
|
46
45
|
const inputType = (0, types_1.messageToTypeName)(ctx, methodDesc.inputType, { keepValueType: true });
|
|
47
46
|
const outputType = (0, types_1.messageToTypeName)(ctx, methodDesc.outputType, { keepValueType: true });
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.generateGrpcJsService =
|
|
3
|
+
exports.generateGrpcJsService = generateGrpcJsService;
|
|
4
4
|
const ts_poet_1 = require("ts-poet");
|
|
5
5
|
const sourceInfo_1 = require("./sourceInfo");
|
|
6
6
|
const types_1 = require("./types");
|
|
@@ -37,7 +37,6 @@ function generateGrpcJsService(ctx, fileDesc, sourceInfo, serviceDesc) {
|
|
|
37
37
|
}
|
|
38
38
|
return (0, ts_poet_1.joinCode)(chunks, { on: "\n\n" });
|
|
39
39
|
}
|
|
40
|
-
exports.generateGrpcJsService = generateGrpcJsService;
|
|
41
40
|
function generateServiceDefinition(ctx, fileDesc, sourceInfo, serviceDesc) {
|
|
42
41
|
const chunks = [];
|
|
43
42
|
(0, utils_1.maybeAddComment)(ctx.options, sourceInfo, chunks, serviceDesc.options?.deprecated);
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.generateGrpcClientImpl = generateGrpcClientImpl;
|
|
4
|
+
exports.generateGrpcServiceDesc = generateGrpcServiceDesc;
|
|
5
|
+
exports.generateGrpcMethodDesc = generateGrpcMethodDesc;
|
|
6
|
+
exports.addGrpcWebMisc = addGrpcWebMisc;
|
|
4
7
|
const types_1 = require("./types");
|
|
5
8
|
const ts_poet_1 = require("ts-poet");
|
|
6
9
|
const utils_1 = require("./utils");
|
|
@@ -35,7 +38,6 @@ function generateGrpcClientImpl(ctx, _fileDesc, serviceDesc) {
|
|
|
35
38
|
chunks.push((0, ts_poet_1.code) `}`);
|
|
36
39
|
return (0, ts_poet_1.joinCode)(chunks, { trim: false, on: "\n" });
|
|
37
40
|
}
|
|
38
|
-
exports.generateGrpcClientImpl = generateGrpcClientImpl;
|
|
39
41
|
/** Creates the RPC methods that client code actually calls. */
|
|
40
42
|
function generateRpcMethod(ctx, serviceDesc, methodDesc) {
|
|
41
43
|
(0, utils_1.assertInstanceOf)(methodDesc, utils_1.FormattedMethodDescriptor);
|
|
@@ -79,7 +81,6 @@ function generateGrpcServiceDesc(fileDesc, serviceDesc) {
|
|
|
79
81
|
};
|
|
80
82
|
`;
|
|
81
83
|
}
|
|
82
|
-
exports.generateGrpcServiceDesc = generateGrpcServiceDesc;
|
|
83
84
|
/**
|
|
84
85
|
* Creates the method descriptor that grpc-web needs at runtime to make `unary` calls.
|
|
85
86
|
*
|
|
@@ -130,7 +131,6 @@ function generateGrpcMethodDesc(ctx, serviceDesc, methodDesc) {
|
|
|
130
131
|
};
|
|
131
132
|
`;
|
|
132
133
|
}
|
|
133
|
-
exports.generateGrpcMethodDesc = generateGrpcMethodDesc;
|
|
134
134
|
function methodDescName(serviceDesc, methodDesc) {
|
|
135
135
|
return `${serviceDesc.name}${methodDesc.name}Desc`;
|
|
136
136
|
}
|
|
@@ -146,7 +146,6 @@ function addGrpcWebMisc(ctx, hasStreamingMethods) {
|
|
|
146
146
|
chunks.push(generateGrpcWebImpl(ctx, options.returnObservable, hasStreamingMethods));
|
|
147
147
|
return (0, ts_poet_1.joinCode)(chunks, { on: "\n\n" });
|
|
148
148
|
}
|
|
149
|
-
exports.addGrpcWebMisc = addGrpcWebMisc;
|
|
150
149
|
/** Makes an `Rpc` interface to decouple from the low-level grpc-web `grpc.invoke and grpc.unary`/etc. methods. */
|
|
151
150
|
function generateGrpcWebRpcType(ctx, returnObservable, hasStreamingMethods) {
|
|
152
151
|
const chunks = [];
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.generateNestjsServiceController = generateNestjsServiceController;
|
|
4
|
+
exports.generateNestjsServiceClient = generateNestjsServiceClient;
|
|
5
|
+
exports.generateNestjsGrpcServiceMethodsDecorator = generateNestjsGrpcServiceMethodsDecorator;
|
|
4
6
|
const ts_poet_1 = require("ts-poet");
|
|
5
7
|
const types_1 = require("./types");
|
|
6
8
|
const sourceInfo_1 = require("./sourceInfo");
|
|
@@ -67,7 +69,6 @@ function generateNestjsServiceController(ctx, fileDesc, sourceInfo, serviceDesc)
|
|
|
67
69
|
chunks.push((0, ts_poet_1.code) `}`);
|
|
68
70
|
return (0, ts_poet_1.joinCode)(chunks, { on: "\n\n" });
|
|
69
71
|
}
|
|
70
|
-
exports.generateNestjsServiceController = generateNestjsServiceController;
|
|
71
72
|
function generateNestjsServiceClient(ctx, fileDesc, sourceInfo, serviceDesc) {
|
|
72
73
|
const { options } = ctx;
|
|
73
74
|
const chunks = [];
|
|
@@ -117,7 +118,6 @@ function generateNestjsServiceClient(ctx, fileDesc, sourceInfo, serviceDesc) {
|
|
|
117
118
|
chunks.push((0, ts_poet_1.code) `}`);
|
|
118
119
|
return (0, ts_poet_1.joinCode)(chunks, { on: "\n\n" });
|
|
119
120
|
}
|
|
120
|
-
exports.generateNestjsServiceClient = generateNestjsServiceClient;
|
|
121
121
|
function generateNestjsGrpcServiceMethodsDecorator(ctx, serviceDesc) {
|
|
122
122
|
const { options } = ctx;
|
|
123
123
|
const GrpcMethod = (0, ts_poet_1.imp)("GrpcMethod@@nestjs/microservices");
|
|
@@ -153,4 +153,3 @@ function generateNestjsGrpcServiceMethodsDecorator(ctx, serviceDesc) {
|
|
|
153
153
|
}
|
|
154
154
|
`;
|
|
155
155
|
}
|
|
156
|
-
exports.generateNestjsGrpcServiceMethodsDecorator = generateNestjsGrpcServiceMethodsDecorator;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.generateNiceGrpcService =
|
|
3
|
+
exports.generateNiceGrpcService = generateNiceGrpcService;
|
|
4
4
|
const ts_poet_1 = require("ts-poet");
|
|
5
5
|
const case_1 = require("./case");
|
|
6
6
|
const sourceInfo_1 = require("./sourceInfo");
|
|
@@ -17,7 +17,6 @@ function generateNiceGrpcService(ctx, fileDesc, sourceInfo, serviceDesc) {
|
|
|
17
17
|
chunks.push(generateClientStub(ctx, sourceInfo, serviceDesc));
|
|
18
18
|
return (0, ts_poet_1.joinCode)(chunks, { on: "\n\n" });
|
|
19
19
|
}
|
|
20
|
-
exports.generateNiceGrpcService = generateNiceGrpcService;
|
|
21
20
|
function generateServerStub(ctx, sourceInfo, serviceDesc) {
|
|
22
21
|
const chunks = [];
|
|
23
22
|
const maybeSuffix = serviceDesc.name.endsWith("Service") ? "" : "Service";
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.generateService = generateService;
|
|
4
|
+
exports.generateServiceClientImpl = generateServiceClientImpl;
|
|
5
|
+
exports.generateRpcType = generateRpcType;
|
|
6
|
+
exports.generateDataLoadersType = generateDataLoadersType;
|
|
7
|
+
exports.generateDataLoaderOptionsType = generateDataLoaderOptionsType;
|
|
4
8
|
const ts_poet_1 = require("ts-poet");
|
|
5
9
|
const types_1 = require("./types");
|
|
6
10
|
const utils_1 = require("./utils");
|
|
@@ -70,11 +74,10 @@ function generateService(ctx, fileDesc, sourceInfo, serviceDesc) {
|
|
|
70
74
|
chunks.push((0, ts_poet_1.code) `}`);
|
|
71
75
|
return (0, ts_poet_1.joinCode)(chunks, { on: "\n" });
|
|
72
76
|
}
|
|
73
|
-
exports.generateService = generateService;
|
|
74
77
|
function generateRegularRpcMethod(ctx, methodDesc) {
|
|
75
78
|
(0, utils_1.assertInstanceOf)(methodDesc, utils_1.FormattedMethodDescriptor);
|
|
76
79
|
const { options } = ctx;
|
|
77
|
-
const
|
|
80
|
+
const BinaryReader = (0, ts_poet_1.imp)("BinaryReader@@bufbuild/protobuf/wire");
|
|
78
81
|
const rawInputType = (0, types_1.rawRequestType)(ctx, methodDesc, { keepValueType: true });
|
|
79
82
|
const inputType = (0, types_1.requestType)(ctx, methodDesc);
|
|
80
83
|
const rawOutputType = (0, types_1.responseType)(ctx, methodDesc, { keepValueType: true });
|
|
@@ -105,10 +108,10 @@ function generateRegularRpcMethod(ctx, methodDesc) {
|
|
|
105
108
|
else if (methodDesc.clientStreaming && options.rpcBeforeRequest) {
|
|
106
109
|
encode = (0, ts_poet_1.code) `{const encodedRequest = ${encode}; ${generateBeforeRequest(methodDesc.name, "encodedRequest")}; return encodedRequest}`;
|
|
107
110
|
}
|
|
108
|
-
let decode = (0, ts_poet_1.code) `${rawOutputType}.decode(${
|
|
111
|
+
let decode = (0, ts_poet_1.code) `${rawOutputType}.decode(new ${BinaryReader}(data))`;
|
|
109
112
|
if (options.rpcAfterResponse) {
|
|
110
113
|
decode = (0, ts_poet_1.code) `
|
|
111
|
-
const response = ${rawOutputType}.decode(${
|
|
114
|
+
const response = ${rawOutputType}.decode(new ${BinaryReader}(data));
|
|
112
115
|
if (this.rpc.afterResponse) {
|
|
113
116
|
this.rpc.afterResponse(this.service, "${methodDesc.name}", response);
|
|
114
117
|
}
|
|
@@ -116,7 +119,7 @@ function generateRegularRpcMethod(ctx, methodDesc) {
|
|
|
116
119
|
`;
|
|
117
120
|
}
|
|
118
121
|
// if (options.useDate && rawOutputType.toString().includes("Timestamp")) {
|
|
119
|
-
// decode = code`data => ${utils.fromTimestamp}(${rawOutputType}.decode(${
|
|
122
|
+
// decode = code`data => ${utils.fromTimestamp}(${rawOutputType}.decode(new ${BinaryReader}(data)))`;
|
|
120
123
|
// }
|
|
121
124
|
if (methodDesc.clientStreaming) {
|
|
122
125
|
if (options.useAsyncIterable) {
|
|
@@ -239,7 +242,6 @@ function generateServiceClientImpl(ctx, fileDesc, serviceDesc) {
|
|
|
239
242
|
chunks.push((0, ts_poet_1.code) `}`);
|
|
240
243
|
return (0, ts_poet_1.code) `${chunks}`;
|
|
241
244
|
}
|
|
242
|
-
exports.generateServiceClientImpl = generateServiceClientImpl;
|
|
243
245
|
/** We've found a BatchXxx method, create a synthetic GetXxx method that calls it. */
|
|
244
246
|
function generateBatchingRpcMethod(ctx, batchMethod) {
|
|
245
247
|
const { methodDesc, singleMethodName, inputFieldName, inputType, outputFieldName, outputType, mapType, uniqueIdentifier, } = batchMethod;
|
|
@@ -292,13 +294,13 @@ function generateCachingRpcMethod(ctx, fileDesc, serviceDesc, methodDesc) {
|
|
|
292
294
|
const inputType = (0, types_1.requestType)(ctx, methodDesc);
|
|
293
295
|
const outputType = (0, types_1.responseType)(ctx, methodDesc);
|
|
294
296
|
const uniqueIdentifier = `${(0, utils_1.maybePrefixPackage)(fileDesc, serviceDesc.name)}.${methodDesc.name}`;
|
|
295
|
-
const
|
|
297
|
+
const BinaryReader = (0, ts_poet_1.imp)("BinaryReader@@bufbuild/protobuf/wire");
|
|
296
298
|
const lambda = (0, ts_poet_1.code) `
|
|
297
299
|
(requests) => {
|
|
298
300
|
const responses = requests.map(async request => {
|
|
299
301
|
const data = ${inputType}.encode(request).finish()
|
|
300
302
|
const response = await this.rpc.request(ctx, "${(0, utils_1.maybePrefixPackage)(fileDesc, serviceDesc.name)}", "${methodDesc.name}", data);
|
|
301
|
-
return ${outputType}.decode(${
|
|
303
|
+
return ${outputType}.decode(new ${BinaryReader}(response));
|
|
302
304
|
});
|
|
303
305
|
return Promise.all(responses);
|
|
304
306
|
}
|
|
@@ -376,7 +378,6 @@ function generateRpcType(ctx, hasStreamingMethods) {
|
|
|
376
378
|
chunks.push((0, ts_poet_1.code) ` }`);
|
|
377
379
|
return (0, ts_poet_1.joinCode)(chunks, { on: "\n" });
|
|
378
380
|
}
|
|
379
|
-
exports.generateRpcType = generateRpcType;
|
|
380
381
|
function generateDataLoadersType() {
|
|
381
382
|
// TODO Maybe should be a generic `Context.get<T>(id, () => T): T` method
|
|
382
383
|
return (0, ts_poet_1.code) `
|
|
@@ -386,7 +387,6 @@ function generateDataLoadersType() {
|
|
|
386
387
|
}
|
|
387
388
|
`;
|
|
388
389
|
}
|
|
389
|
-
exports.generateDataLoadersType = generateDataLoadersType;
|
|
390
390
|
function generateDataLoaderOptionsType() {
|
|
391
391
|
return (0, ts_poet_1.code) `
|
|
392
392
|
export interface DataLoaderOptions {
|
|
@@ -394,4 +394,3 @@ function generateDataLoaderOptionsType() {
|
|
|
394
394
|
}
|
|
395
395
|
`;
|
|
396
396
|
}
|
|
397
|
-
exports.generateDataLoaderOptionsType = generateDataLoaderOptionsType;
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.isWrapperType = isWrapperType;
|
|
4
|
+
exports.generateWrapDeep = generateWrapDeep;
|
|
5
|
+
exports.generateUnwrapDeep = generateUnwrapDeep;
|
|
6
|
+
exports.generateWrapShallow = generateWrapShallow;
|
|
7
|
+
exports.generateUnwrapShallow = generateUnwrapShallow;
|
|
4
8
|
const ts_poet_1 = require("ts-poet");
|
|
5
9
|
const types_1 = require("./types");
|
|
6
10
|
const options_1 = require("./options");
|
|
@@ -11,7 +15,6 @@ function isWrapperType(fullProtoTypeName) {
|
|
|
11
15
|
(0, types_1.isListValueTypeName)(fullProtoTypeName) ||
|
|
12
16
|
(0, types_1.isFieldMaskTypeName)(fullProtoTypeName));
|
|
13
17
|
}
|
|
14
|
-
exports.isWrapperType = isWrapperType;
|
|
15
18
|
/**
|
|
16
19
|
* Converts ts-proto's idiomatic Struct/Value/ListValue representation to the proto messages.
|
|
17
20
|
*
|
|
@@ -78,7 +81,6 @@ function generateWrapDeep(ctx, fullProtoTypeName, fieldNames) {
|
|
|
78
81
|
}
|
|
79
82
|
return chunks;
|
|
80
83
|
}
|
|
81
|
-
exports.generateWrapDeep = generateWrapDeep;
|
|
82
84
|
/**
|
|
83
85
|
* Converts proto's Struct/Value?listValue messages to ts-proto's idiomatic representation.
|
|
84
86
|
*
|
|
@@ -145,7 +147,6 @@ function generateUnwrapDeep(ctx, fullProtoTypeName, fieldNames) {
|
|
|
145
147
|
}
|
|
146
148
|
return chunks;
|
|
147
149
|
}
|
|
148
|
-
exports.generateUnwrapDeep = generateUnwrapDeep;
|
|
149
150
|
/**
|
|
150
151
|
* Converts ts-proto's idiomatic Struct/Value/ListValue representation to the proto messages.
|
|
151
152
|
*
|
|
@@ -255,7 +256,6 @@ function generateWrapShallow(ctx, fullProtoTypeName, fieldNames) {
|
|
|
255
256
|
}
|
|
256
257
|
return chunks;
|
|
257
258
|
}
|
|
258
|
-
exports.generateWrapShallow = generateWrapShallow;
|
|
259
259
|
/**
|
|
260
260
|
* Converts proto's Struct/Value?listValue messages to ts-proto's idiomatic representation.
|
|
261
261
|
*
|
|
@@ -345,7 +345,6 @@ function generateUnwrapShallow(ctx, fullProtoTypeName, fieldNames) {
|
|
|
345
345
|
}
|
|
346
346
|
return chunks;
|
|
347
347
|
}
|
|
348
|
-
exports.generateUnwrapShallow = generateUnwrapShallow;
|
|
349
348
|
function generateFieldMaskUnwrap(ctx) {
|
|
350
349
|
const returnType = ctx.options.useOptionals === "all" ? "string[] | undefined" : "string[]";
|
|
351
350
|
const pathModifier = ctx.options.useOptionals === "all" ? "?" : "";
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.generateTypeRegistry =
|
|
3
|
+
exports.generateTypeRegistry = generateTypeRegistry;
|
|
4
4
|
const ts_poet_1 = require("ts-poet");
|
|
5
|
-
const utils_1 = require("./utils");
|
|
6
5
|
const options_1 = require("./options");
|
|
7
6
|
function generateTypeRegistry(ctx) {
|
|
8
7
|
const chunks = [];
|
|
@@ -23,7 +22,6 @@ function generateTypeRegistry(ctx) {
|
|
|
23
22
|
chunks.push((0, ts_poet_1.code) ` ${ctx.utils.Builtin.ifUsed} ${ctx.utils.DeepPartial.ifUsed}`);
|
|
24
23
|
return (0, ts_poet_1.joinCode)(chunks, { on: "\n\n" });
|
|
25
24
|
}
|
|
26
|
-
exports.generateTypeRegistry = generateTypeRegistry;
|
|
27
25
|
function generateMessageType(ctx) {
|
|
28
26
|
const chunks = [];
|
|
29
27
|
chunks.push((0, ts_poet_1.code) `export interface MessageType<Message extends UnknownMessage = UnknownMessage> {`);
|
|
@@ -34,10 +32,10 @@ function generateMessageType(ctx) {
|
|
|
34
32
|
chunks.push((0, ts_poet_1.code) `$type: string;`);
|
|
35
33
|
}
|
|
36
34
|
if (ctx.options.outputEncodeMethods) {
|
|
37
|
-
const
|
|
38
|
-
const
|
|
39
|
-
chunks.push((0, ts_poet_1.code) `encode(message: Message, writer?: ${
|
|
40
|
-
chunks.push((0, ts_poet_1.code) `decode(input: ${
|
|
35
|
+
const BinaryReader = (0, ts_poet_1.imp)("BinaryReader@@bufbuild/protobuf/wire");
|
|
36
|
+
const BinaryWriter = (0, ts_poet_1.imp)("BinaryWriter@@bufbuild/protobuf/wire");
|
|
37
|
+
chunks.push((0, ts_poet_1.code) `encode(message: Message, writer?: ${BinaryWriter}): ${BinaryWriter};`);
|
|
38
|
+
chunks.push((0, ts_poet_1.code) `decode(input: ${BinaryReader} | Uint8Array, length?: number): Message;`);
|
|
41
39
|
}
|
|
42
40
|
if (ctx.options.outputJsonMethods) {
|
|
43
41
|
chunks.push((0, ts_poet_1.code) `fromJSON(object: any): Message;`);
|
|
@@ -10,9 +10,7 @@ export declare function makeUtils(options: Options): Utils;
|
|
|
10
10
|
declare function makeLongUtils(options: Options, bytes: ReturnType<typeof makeByteUtils>): {
|
|
11
11
|
numberToLong: ConditionalOutput;
|
|
12
12
|
longToNumber: ConditionalOutput;
|
|
13
|
-
|
|
14
|
-
longToBigint: ConditionalOutput;
|
|
15
|
-
Long: ConditionalOutput;
|
|
13
|
+
Long: import("ts-poet").Import;
|
|
16
14
|
};
|
|
17
15
|
declare function makeByteUtils(options: Options): {
|
|
18
16
|
globalThis: ConditionalOutput;
|