@lazycatcloud/sdk 0.1.144 → 0.1.145

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.
Files changed (49) hide show
  1. package/dist/package.json +5 -1
  2. package/package.json +5 -1
  3. package/common/box.ts +0 -545
  4. package/common/browseronly.ts +0 -520
  5. package/common/end_device.ts +0 -635
  6. package/common/file_handler.ts +0 -485
  7. package/common/filetrans.ts +0 -1936
  8. package/common/gateway.ts +0 -663
  9. package/common/media_meta.ts +0 -319
  10. package/common/message.ts +0 -242
  11. package/common/peripheral_device.ts +0 -783
  12. package/common/security_context.ts +0 -729
  13. package/common/users.ts +0 -1044
  14. package/dlna/dlna.ts +0 -895
  15. package/docs/contribute.md +0 -40
  16. package/docs/extentions/AppCommon.md +0 -30
  17. package/extentions/app_common.ts +0 -63
  18. package/extentions/base.ts +0 -459
  19. package/extentions/index.ts +0 -27
  20. package/extentions/safe_app.ts +0 -60
  21. package/extentions/unsafe_app.ts +0 -107
  22. package/google/protobuf/descriptor.ts +0 -3778
  23. package/google/protobuf/empty.ts +0 -64
  24. package/google/protobuf/timestamp.ts +0 -214
  25. package/grpcweb.ts +0 -106
  26. package/index.ts +0 -204
  27. package/lanforward/lanforward.ts +0 -301
  28. package/localdevice/clipboard.ts +0 -499
  29. package/localdevice/config.ts +0 -268
  30. package/localdevice/device.ts +0 -218
  31. package/localdevice/dialog.ts +0 -707
  32. package/localdevice/local-launch.ts +0 -954
  33. package/localdevice/network.ts +0 -273
  34. package/localdevice/permission.ts +0 -733
  35. package/localdevice/photo.ts +0 -1497
  36. package/ssdp/ssdp.ts +0 -332
  37. package/sys/OS_daemon.ts +0 -325
  38. package/sys/OS_snapshot.ts +0 -1714
  39. package/sys/OS_upgrader.ts +0 -782
  40. package/sys/btrfs.ts +0 -530
  41. package/sys/devopt.ts +0 -250
  42. package/sys/event.ts +0 -787
  43. package/sys/hc-core/hc-core.ts +0 -1582
  44. package/sys/ingress.ts +0 -953
  45. package/sys/network_manager.ts +0 -874
  46. package/sys/package_manager.ts +0 -1931
  47. package/sys/portal-server/portal-server.ts +0 -2934
  48. package/sys/snapd.ts +0 -861
  49. package/tsconfig.json +0 -15
@@ -1,707 +0,0 @@
1
- /* eslint-disable */
2
- import { grpc } from "@improbable-eng/grpc-web";
3
- import { BrowserHeaders } from "browser-headers";
4
- import _m0 from "protobufjs/minimal";
5
- import { Empty } from "../google/protobuf/empty";
6
-
7
- export interface QuestionRequest {
8
- title: string;
9
- text: string;
10
- defaultCancel: boolean;
11
- }
12
-
13
- export interface QuestionResult {
14
- yes: boolean;
15
- }
16
-
17
- export interface MessageBoxRequest {
18
- title: string;
19
- text: string;
20
- }
21
-
22
- export interface PasswordRequest {
23
- title: string;
24
- text: string;
25
- }
26
-
27
- export interface PasswordResult {
28
- password: string;
29
- ok: boolean;
30
- }
31
-
32
- export interface OpenFileSeletorRequest {
33
- /** 选择类型 */
34
- type: OpenFileSeletorRequest_SelectType;
35
- /** 是否多选(多选在SelectType 为Dir时无效) */
36
- isSingle: boolean;
37
- /**
38
- * 文件后缀过滤器
39
- * PC 只能支持单个过滤器语法 jpg , 使用多个后缀默认使用第一个后缀
40
- * android 支持多个过滤器, 使用英文逗号,分割 ex: jpb,png,gif
41
- */
42
- filter: string;
43
- }
44
-
45
- export enum OpenFileSeletorRequest_SelectType {
46
- Dir = 0,
47
- File = 1,
48
- UNRECOGNIZED = -1,
49
- }
50
-
51
- export function openFileSeletorRequest_SelectTypeFromJSON(object: any): OpenFileSeletorRequest_SelectType {
52
- switch (object) {
53
- case 0:
54
- case "Dir":
55
- return OpenFileSeletorRequest_SelectType.Dir;
56
- case 1:
57
- case "File":
58
- return OpenFileSeletorRequest_SelectType.File;
59
- case -1:
60
- case "UNRECOGNIZED":
61
- default:
62
- return OpenFileSeletorRequest_SelectType.UNRECOGNIZED;
63
- }
64
- }
65
-
66
- export function openFileSeletorRequest_SelectTypeToJSON(object: OpenFileSeletorRequest_SelectType): string {
67
- switch (object) {
68
- case OpenFileSeletorRequest_SelectType.Dir:
69
- return "Dir";
70
- case OpenFileSeletorRequest_SelectType.File:
71
- return "File";
72
- case OpenFileSeletorRequest_SelectType.UNRECOGNIZED:
73
- default:
74
- return "UNRECOGNIZED";
75
- }
76
- }
77
-
78
- export interface OpenFileSeletorResult {
79
- /** 文件或者目录的路径 */
80
- path: string[];
81
- }
82
-
83
- function createBaseQuestionRequest(): QuestionRequest {
84
- return { title: "", text: "", defaultCancel: false };
85
- }
86
-
87
- export const QuestionRequest = {
88
- encode(message: QuestionRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
89
- if (message.title !== "") {
90
- writer.uint32(10).string(message.title);
91
- }
92
- if (message.text !== "") {
93
- writer.uint32(18).string(message.text);
94
- }
95
- if (message.defaultCancel === true) {
96
- writer.uint32(24).bool(message.defaultCancel);
97
- }
98
- return writer;
99
- },
100
-
101
- decode(input: _m0.Reader | Uint8Array, length?: number): QuestionRequest {
102
- const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
103
- let end = length === undefined ? reader.len : reader.pos + length;
104
- const message = createBaseQuestionRequest();
105
- while (reader.pos < end) {
106
- const tag = reader.uint32();
107
- switch (tag >>> 3) {
108
- case 1:
109
- message.title = reader.string();
110
- break;
111
- case 2:
112
- message.text = reader.string();
113
- break;
114
- case 3:
115
- message.defaultCancel = reader.bool();
116
- break;
117
- default:
118
- reader.skipType(tag & 7);
119
- break;
120
- }
121
- }
122
- return message;
123
- },
124
-
125
- fromJSON(object: any): QuestionRequest {
126
- return {
127
- title: isSet(object.title) ? String(object.title) : "",
128
- text: isSet(object.text) ? String(object.text) : "",
129
- defaultCancel: isSet(object.defaultCancel) ? Boolean(object.defaultCancel) : false,
130
- };
131
- },
132
-
133
- toJSON(message: QuestionRequest): unknown {
134
- const obj: any = {};
135
- message.title !== undefined && (obj.title = message.title);
136
- message.text !== undefined && (obj.text = message.text);
137
- message.defaultCancel !== undefined && (obj.defaultCancel = message.defaultCancel);
138
- return obj;
139
- },
140
-
141
- fromPartial<I extends Exact<DeepPartial<QuestionRequest>, I>>(object: I): QuestionRequest {
142
- const message = createBaseQuestionRequest();
143
- message.title = object.title ?? "";
144
- message.text = object.text ?? "";
145
- message.defaultCancel = object.defaultCancel ?? false;
146
- return message;
147
- },
148
- };
149
-
150
- function createBaseQuestionResult(): QuestionResult {
151
- return { yes: false };
152
- }
153
-
154
- export const QuestionResult = {
155
- encode(message: QuestionResult, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
156
- if (message.yes === true) {
157
- writer.uint32(8).bool(message.yes);
158
- }
159
- return writer;
160
- },
161
-
162
- decode(input: _m0.Reader | Uint8Array, length?: number): QuestionResult {
163
- const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
164
- let end = length === undefined ? reader.len : reader.pos + length;
165
- const message = createBaseQuestionResult();
166
- while (reader.pos < end) {
167
- const tag = reader.uint32();
168
- switch (tag >>> 3) {
169
- case 1:
170
- message.yes = reader.bool();
171
- break;
172
- default:
173
- reader.skipType(tag & 7);
174
- break;
175
- }
176
- }
177
- return message;
178
- },
179
-
180
- fromJSON(object: any): QuestionResult {
181
- return { yes: isSet(object.yes) ? Boolean(object.yes) : false };
182
- },
183
-
184
- toJSON(message: QuestionResult): unknown {
185
- const obj: any = {};
186
- message.yes !== undefined && (obj.yes = message.yes);
187
- return obj;
188
- },
189
-
190
- fromPartial<I extends Exact<DeepPartial<QuestionResult>, I>>(object: I): QuestionResult {
191
- const message = createBaseQuestionResult();
192
- message.yes = object.yes ?? false;
193
- return message;
194
- },
195
- };
196
-
197
- function createBaseMessageBoxRequest(): MessageBoxRequest {
198
- return { title: "", text: "" };
199
- }
200
-
201
- export const MessageBoxRequest = {
202
- encode(message: MessageBoxRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
203
- if (message.title !== "") {
204
- writer.uint32(10).string(message.title);
205
- }
206
- if (message.text !== "") {
207
- writer.uint32(18).string(message.text);
208
- }
209
- return writer;
210
- },
211
-
212
- decode(input: _m0.Reader | Uint8Array, length?: number): MessageBoxRequest {
213
- const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
214
- let end = length === undefined ? reader.len : reader.pos + length;
215
- const message = createBaseMessageBoxRequest();
216
- while (reader.pos < end) {
217
- const tag = reader.uint32();
218
- switch (tag >>> 3) {
219
- case 1:
220
- message.title = reader.string();
221
- break;
222
- case 2:
223
- message.text = reader.string();
224
- break;
225
- default:
226
- reader.skipType(tag & 7);
227
- break;
228
- }
229
- }
230
- return message;
231
- },
232
-
233
- fromJSON(object: any): MessageBoxRequest {
234
- return {
235
- title: isSet(object.title) ? String(object.title) : "",
236
- text: isSet(object.text) ? String(object.text) : "",
237
- };
238
- },
239
-
240
- toJSON(message: MessageBoxRequest): unknown {
241
- const obj: any = {};
242
- message.title !== undefined && (obj.title = message.title);
243
- message.text !== undefined && (obj.text = message.text);
244
- return obj;
245
- },
246
-
247
- fromPartial<I extends Exact<DeepPartial<MessageBoxRequest>, I>>(object: I): MessageBoxRequest {
248
- const message = createBaseMessageBoxRequest();
249
- message.title = object.title ?? "";
250
- message.text = object.text ?? "";
251
- return message;
252
- },
253
- };
254
-
255
- function createBasePasswordRequest(): PasswordRequest {
256
- return { title: "", text: "" };
257
- }
258
-
259
- export const PasswordRequest = {
260
- encode(message: PasswordRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
261
- if (message.title !== "") {
262
- writer.uint32(10).string(message.title);
263
- }
264
- if (message.text !== "") {
265
- writer.uint32(18).string(message.text);
266
- }
267
- return writer;
268
- },
269
-
270
- decode(input: _m0.Reader | Uint8Array, length?: number): PasswordRequest {
271
- const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
272
- let end = length === undefined ? reader.len : reader.pos + length;
273
- const message = createBasePasswordRequest();
274
- while (reader.pos < end) {
275
- const tag = reader.uint32();
276
- switch (tag >>> 3) {
277
- case 1:
278
- message.title = reader.string();
279
- break;
280
- case 2:
281
- message.text = reader.string();
282
- break;
283
- default:
284
- reader.skipType(tag & 7);
285
- break;
286
- }
287
- }
288
- return message;
289
- },
290
-
291
- fromJSON(object: any): PasswordRequest {
292
- return {
293
- title: isSet(object.title) ? String(object.title) : "",
294
- text: isSet(object.text) ? String(object.text) : "",
295
- };
296
- },
297
-
298
- toJSON(message: PasswordRequest): unknown {
299
- const obj: any = {};
300
- message.title !== undefined && (obj.title = message.title);
301
- message.text !== undefined && (obj.text = message.text);
302
- return obj;
303
- },
304
-
305
- fromPartial<I extends Exact<DeepPartial<PasswordRequest>, I>>(object: I): PasswordRequest {
306
- const message = createBasePasswordRequest();
307
- message.title = object.title ?? "";
308
- message.text = object.text ?? "";
309
- return message;
310
- },
311
- };
312
-
313
- function createBasePasswordResult(): PasswordResult {
314
- return { password: "", ok: false };
315
- }
316
-
317
- export const PasswordResult = {
318
- encode(message: PasswordResult, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
319
- if (message.password !== "") {
320
- writer.uint32(10).string(message.password);
321
- }
322
- if (message.ok === true) {
323
- writer.uint32(16).bool(message.ok);
324
- }
325
- return writer;
326
- },
327
-
328
- decode(input: _m0.Reader | Uint8Array, length?: number): PasswordResult {
329
- const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
330
- let end = length === undefined ? reader.len : reader.pos + length;
331
- const message = createBasePasswordResult();
332
- while (reader.pos < end) {
333
- const tag = reader.uint32();
334
- switch (tag >>> 3) {
335
- case 1:
336
- message.password = reader.string();
337
- break;
338
- case 2:
339
- message.ok = reader.bool();
340
- break;
341
- default:
342
- reader.skipType(tag & 7);
343
- break;
344
- }
345
- }
346
- return message;
347
- },
348
-
349
- fromJSON(object: any): PasswordResult {
350
- return {
351
- password: isSet(object.password) ? String(object.password) : "",
352
- ok: isSet(object.ok) ? Boolean(object.ok) : false,
353
- };
354
- },
355
-
356
- toJSON(message: PasswordResult): unknown {
357
- const obj: any = {};
358
- message.password !== undefined && (obj.password = message.password);
359
- message.ok !== undefined && (obj.ok = message.ok);
360
- return obj;
361
- },
362
-
363
- fromPartial<I extends Exact<DeepPartial<PasswordResult>, I>>(object: I): PasswordResult {
364
- const message = createBasePasswordResult();
365
- message.password = object.password ?? "";
366
- message.ok = object.ok ?? false;
367
- return message;
368
- },
369
- };
370
-
371
- function createBaseOpenFileSeletorRequest(): OpenFileSeletorRequest {
372
- return { type: 0, isSingle: false, filter: "" };
373
- }
374
-
375
- export const OpenFileSeletorRequest = {
376
- encode(message: OpenFileSeletorRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
377
- if (message.type !== 0) {
378
- writer.uint32(8).int32(message.type);
379
- }
380
- if (message.isSingle === true) {
381
- writer.uint32(16).bool(message.isSingle);
382
- }
383
- if (message.filter !== "") {
384
- writer.uint32(26).string(message.filter);
385
- }
386
- return writer;
387
- },
388
-
389
- decode(input: _m0.Reader | Uint8Array, length?: number): OpenFileSeletorRequest {
390
- const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
391
- let end = length === undefined ? reader.len : reader.pos + length;
392
- const message = createBaseOpenFileSeletorRequest();
393
- while (reader.pos < end) {
394
- const tag = reader.uint32();
395
- switch (tag >>> 3) {
396
- case 1:
397
- message.type = reader.int32() as any;
398
- break;
399
- case 2:
400
- message.isSingle = reader.bool();
401
- break;
402
- case 3:
403
- message.filter = reader.string();
404
- break;
405
- default:
406
- reader.skipType(tag & 7);
407
- break;
408
- }
409
- }
410
- return message;
411
- },
412
-
413
- fromJSON(object: any): OpenFileSeletorRequest {
414
- return {
415
- type: isSet(object.type) ? openFileSeletorRequest_SelectTypeFromJSON(object.type) : 0,
416
- isSingle: isSet(object.isSingle) ? Boolean(object.isSingle) : false,
417
- filter: isSet(object.filter) ? String(object.filter) : "",
418
- };
419
- },
420
-
421
- toJSON(message: OpenFileSeletorRequest): unknown {
422
- const obj: any = {};
423
- message.type !== undefined && (obj.type = openFileSeletorRequest_SelectTypeToJSON(message.type));
424
- message.isSingle !== undefined && (obj.isSingle = message.isSingle);
425
- message.filter !== undefined && (obj.filter = message.filter);
426
- return obj;
427
- },
428
-
429
- fromPartial<I extends Exact<DeepPartial<OpenFileSeletorRequest>, I>>(object: I): OpenFileSeletorRequest {
430
- const message = createBaseOpenFileSeletorRequest();
431
- message.type = object.type ?? 0;
432
- message.isSingle = object.isSingle ?? false;
433
- message.filter = object.filter ?? "";
434
- return message;
435
- },
436
- };
437
-
438
- function createBaseOpenFileSeletorResult(): OpenFileSeletorResult {
439
- return { path: [] };
440
- }
441
-
442
- export const OpenFileSeletorResult = {
443
- encode(message: OpenFileSeletorResult, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
444
- for (const v of message.path) {
445
- writer.uint32(10).string(v!);
446
- }
447
- return writer;
448
- },
449
-
450
- decode(input: _m0.Reader | Uint8Array, length?: number): OpenFileSeletorResult {
451
- const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
452
- let end = length === undefined ? reader.len : reader.pos + length;
453
- const message = createBaseOpenFileSeletorResult();
454
- while (reader.pos < end) {
455
- const tag = reader.uint32();
456
- switch (tag >>> 3) {
457
- case 1:
458
- message.path.push(reader.string());
459
- break;
460
- default:
461
- reader.skipType(tag & 7);
462
- break;
463
- }
464
- }
465
- return message;
466
- },
467
-
468
- fromJSON(object: any): OpenFileSeletorResult {
469
- return { path: Array.isArray(object?.path) ? object.path.map((e: any) => String(e)) : [] };
470
- },
471
-
472
- toJSON(message: OpenFileSeletorResult): unknown {
473
- const obj: any = {};
474
- if (message.path) {
475
- obj.path = message.path.map((e) => e);
476
- } else {
477
- obj.path = [];
478
- }
479
- return obj;
480
- },
481
-
482
- fromPartial<I extends Exact<DeepPartial<OpenFileSeletorResult>, I>>(object: I): OpenFileSeletorResult {
483
- const message = createBaseOpenFileSeletorResult();
484
- message.path = object.path?.map((e) => e) || [];
485
- return message;
486
- },
487
- };
488
-
489
- export interface DialogManager {
490
- Question(request: DeepPartial<QuestionRequest>, metadata?: grpc.Metadata): Promise<QuestionResult>;
491
- MessageBox(request: DeepPartial<MessageBoxRequest>, metadata?: grpc.Metadata): Promise<Empty>;
492
- Password(request: DeepPartial<PasswordRequest>, metadata?: grpc.Metadata): Promise<PasswordResult>;
493
- OpenFileSeletor(
494
- request: DeepPartial<OpenFileSeletorRequest>,
495
- metadata?: grpc.Metadata,
496
- ): Promise<OpenFileSeletorResult>;
497
- }
498
-
499
- export class DialogManagerClientImpl implements DialogManager {
500
- private readonly rpc: Rpc;
501
-
502
- constructor(rpc: Rpc) {
503
- this.rpc = rpc;
504
- this.Question = this.Question.bind(this);
505
- this.MessageBox = this.MessageBox.bind(this);
506
- this.Password = this.Password.bind(this);
507
- this.OpenFileSeletor = this.OpenFileSeletor.bind(this);
508
- }
509
-
510
- Question(request: DeepPartial<QuestionRequest>, metadata?: grpc.Metadata): Promise<QuestionResult> {
511
- return this.rpc.unary(DialogManagerQuestionDesc, QuestionRequest.fromPartial(request), metadata);
512
- }
513
-
514
- MessageBox(request: DeepPartial<MessageBoxRequest>, metadata?: grpc.Metadata): Promise<Empty> {
515
- return this.rpc.unary(DialogManagerMessageBoxDesc, MessageBoxRequest.fromPartial(request), metadata);
516
- }
517
-
518
- Password(request: DeepPartial<PasswordRequest>, metadata?: grpc.Metadata): Promise<PasswordResult> {
519
- return this.rpc.unary(DialogManagerPasswordDesc, PasswordRequest.fromPartial(request), metadata);
520
- }
521
-
522
- OpenFileSeletor(
523
- request: DeepPartial<OpenFileSeletorRequest>,
524
- metadata?: grpc.Metadata,
525
- ): Promise<OpenFileSeletorResult> {
526
- return this.rpc.unary(DialogManagerOpenFileSeletorDesc, OpenFileSeletorRequest.fromPartial(request), metadata);
527
- }
528
- }
529
-
530
- export const DialogManagerDesc = { serviceName: "cloud.lazycat.apis.localdevice.DialogManager" };
531
-
532
- export const DialogManagerQuestionDesc: UnaryMethodDefinitionish = {
533
- methodName: "Question",
534
- service: DialogManagerDesc,
535
- requestStream: false,
536
- responseStream: false,
537
- requestType: {
538
- serializeBinary() {
539
- return QuestionRequest.encode(this).finish();
540
- },
541
- } as any,
542
- responseType: {
543
- deserializeBinary(data: Uint8Array) {
544
- return {
545
- ...QuestionResult.decode(data),
546
- toObject() {
547
- return this;
548
- },
549
- };
550
- },
551
- } as any,
552
- };
553
-
554
- export const DialogManagerMessageBoxDesc: UnaryMethodDefinitionish = {
555
- methodName: "MessageBox",
556
- service: DialogManagerDesc,
557
- requestStream: false,
558
- responseStream: false,
559
- requestType: {
560
- serializeBinary() {
561
- return MessageBoxRequest.encode(this).finish();
562
- },
563
- } as any,
564
- responseType: {
565
- deserializeBinary(data: Uint8Array) {
566
- return {
567
- ...Empty.decode(data),
568
- toObject() {
569
- return this;
570
- },
571
- };
572
- },
573
- } as any,
574
- };
575
-
576
- export const DialogManagerPasswordDesc: UnaryMethodDefinitionish = {
577
- methodName: "Password",
578
- service: DialogManagerDesc,
579
- requestStream: false,
580
- responseStream: false,
581
- requestType: {
582
- serializeBinary() {
583
- return PasswordRequest.encode(this).finish();
584
- },
585
- } as any,
586
- responseType: {
587
- deserializeBinary(data: Uint8Array) {
588
- return {
589
- ...PasswordResult.decode(data),
590
- toObject() {
591
- return this;
592
- },
593
- };
594
- },
595
- } as any,
596
- };
597
-
598
- export const DialogManagerOpenFileSeletorDesc: UnaryMethodDefinitionish = {
599
- methodName: "OpenFileSeletor",
600
- service: DialogManagerDesc,
601
- requestStream: false,
602
- responseStream: false,
603
- requestType: {
604
- serializeBinary() {
605
- return OpenFileSeletorRequest.encode(this).finish();
606
- },
607
- } as any,
608
- responseType: {
609
- deserializeBinary(data: Uint8Array) {
610
- return {
611
- ...OpenFileSeletorResult.decode(data),
612
- toObject() {
613
- return this;
614
- },
615
- };
616
- },
617
- } as any,
618
- };
619
-
620
- interface UnaryMethodDefinitionishR extends grpc.UnaryMethodDefinition<any, any> {
621
- requestStream: any;
622
- responseStream: any;
623
- }
624
-
625
- type UnaryMethodDefinitionish = UnaryMethodDefinitionishR;
626
-
627
- interface Rpc {
628
- unary<T extends UnaryMethodDefinitionish>(
629
- methodDesc: T,
630
- request: any,
631
- metadata: grpc.Metadata | undefined,
632
- ): Promise<any>;
633
- }
634
-
635
- export class GrpcWebImpl {
636
- private host: string;
637
- private options: {
638
- transport?: grpc.TransportFactory;
639
-
640
- debug?: boolean;
641
- metadata?: grpc.Metadata;
642
- upStreamRetryCodes?: number[];
643
- };
644
-
645
- constructor(
646
- host: string,
647
- options: {
648
- transport?: grpc.TransportFactory;
649
-
650
- debug?: boolean;
651
- metadata?: grpc.Metadata;
652
- upStreamRetryCodes?: number[];
653
- },
654
- ) {
655
- this.host = host;
656
- this.options = options;
657
- }
658
-
659
- unary<T extends UnaryMethodDefinitionish>(
660
- methodDesc: T,
661
- _request: any,
662
- metadata: grpc.Metadata | undefined,
663
- ): Promise<any> {
664
- const request = { ..._request, ...methodDesc.requestType };
665
- const maybeCombinedMetadata = metadata && this.options.metadata
666
- ? new BrowserHeaders({ ...this.options?.metadata.headersMap, ...metadata?.headersMap })
667
- : metadata || this.options.metadata;
668
- return new Promise((resolve, reject) => {
669
- grpc.unary(methodDesc, {
670
- request,
671
- host: this.host,
672
- metadata: maybeCombinedMetadata,
673
- transport: this.options.transport,
674
- debug: this.options.debug,
675
- onEnd: function (response) {
676
- if (response.status === grpc.Code.OK) {
677
- resolve(response.message);
678
- } else {
679
- const err = new GrpcWebError(response.statusMessage, response.status, response.trailers);
680
- reject(err);
681
- }
682
- },
683
- });
684
- });
685
- }
686
- }
687
-
688
- type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
689
-
690
- type DeepPartial<T> = T extends Builtin ? T
691
- : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>
692
- : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }
693
- : Partial<T>;
694
-
695
- type KeysOfUnion<T> = T extends T ? keyof T : never;
696
- type Exact<P, I extends P> = P extends Builtin ? P
697
- : P & { [K in keyof P]: Exact<P[K], I[K]> } & { [K in Exclude<keyof I, KeysOfUnion<P>>]: never };
698
-
699
- function isSet(value: any): boolean {
700
- return value !== null && value !== undefined;
701
- }
702
-
703
- export class GrpcWebError extends Error {
704
- constructor(message: string, public code: grpc.Code, public metadata: grpc.Metadata) {
705
- super(message);
706
- }
707
- }