@miradorlabs/web-grpc 1.0.0 → 1.1.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/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  # @miradorlabs/web-grpc
2
2
 
3
- Generated gRPC stubs for the Mirador `proto/gateway/web` gateway.
3
+ Generated gRPC (grpc-js) client stubs for the Mirador web gateway.
4
4
 
5
- This package is **SDK plumbing**. You almost certainly want `@miradorlabs/web-sdk` or `@miradorlabs/nodejs-sdk` instead.
5
+ Generated from the Mirador gateway protobuf definitions. Part of the [Mirador](https://github.com/miradorlabs) SDK toolchain.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@miradorlabs/web-grpc",
3
- "version": "1.0.0",
4
- "description": "Generated gRPC stubs for the Mirador proto/gateway/web gateway. SDK plumbing — you probably want @miradorlabs/web-sdk or @miradorlabs/nodejs-sdk.",
3
+ "version": "1.1.0",
4
+ "description": "Generated gRPC (grpc-js) client stubs for the Mirador web gateway.",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
7
7
  "license": "Apache-2.0",
@@ -204,6 +204,8 @@ export enum TraceEventType {
204
204
  TRACE_EVENT_TYPE_RELAY_NOT_FOUND = 52,
205
205
  TRACE_EVENT_TYPE_RULE_MATCH_ADDED = 53,
206
206
  TRACE_EVENT_TYPE_CANTON_TRANSACTION = 54,
207
+ TRACE_EVENT_TYPE_SPAN_STARTED = 55,
208
+ TRACE_EVENT_TYPE_SPAN_ENDED = 56,
207
209
  UNRECOGNIZED = -1,
208
210
  }
209
211
 
@@ -338,6 +340,12 @@ export function traceEventTypeFromJSON(object: any): TraceEventType {
338
340
  case 54:
339
341
  case "TRACE_EVENT_TYPE_CANTON_TRANSACTION":
340
342
  return TraceEventType.TRACE_EVENT_TYPE_CANTON_TRANSACTION;
343
+ case 55:
344
+ case "TRACE_EVENT_TYPE_SPAN_STARTED":
345
+ return TraceEventType.TRACE_EVENT_TYPE_SPAN_STARTED;
346
+ case 56:
347
+ case "TRACE_EVENT_TYPE_SPAN_ENDED":
348
+ return TraceEventType.TRACE_EVENT_TYPE_SPAN_ENDED;
341
349
  case -1:
342
350
  case "UNRECOGNIZED":
343
351
  default:
@@ -433,6 +441,10 @@ export function traceEventTypeToJSON(object: TraceEventType): string {
433
441
  return "TRACE_EVENT_TYPE_RULE_MATCH_ADDED";
434
442
  case TraceEventType.TRACE_EVENT_TYPE_CANTON_TRANSACTION:
435
443
  return "TRACE_EVENT_TYPE_CANTON_TRANSACTION";
444
+ case TraceEventType.TRACE_EVENT_TYPE_SPAN_STARTED:
445
+ return "TRACE_EVENT_TYPE_SPAN_STARTED";
446
+ case TraceEventType.TRACE_EVENT_TYPE_SPAN_ENDED:
447
+ return "TRACE_EVENT_TYPE_SPAN_ENDED";
436
448
  case TraceEventType.UNRECOGNIZED:
437
449
  default:
438
450
  return "UNRECOGNIZED";
@@ -1500,6 +1512,8 @@ export interface TraceEventEnvelope {
1500
1512
  source: EventSource;
1501
1513
  /** Category of the event (lifecycle, event, metadata) */
1502
1514
  category: TraceEventCategory;
1515
+ /** Span this event belongs to ("" = trace-level) */
1516
+ spanId: string;
1503
1517
  traceStarted?: TraceStarted | undefined;
1504
1518
  traceFinished?: TraceFinished | undefined;
1505
1519
  infoEventAdded?: InfoEventAdded | undefined;
@@ -1542,6 +1556,36 @@ export interface TraceEventEnvelope {
1542
1556
  relayNotFound?: RelayNotFound | undefined;
1543
1557
  ruleMatchAdded?: RuleMatchAdded | undefined;
1544
1558
  cantonTxAdded?: CantonTxAdded | undefined;
1559
+ spanStarted?: SpanStarted | undefined;
1560
+ spanEnded?: SpanEnded | undefined;
1561
+ }
1562
+
1563
+ /** SpanStarted is emitted when a span opens. */
1564
+ export interface SpanStarted {
1565
+ /** the span that opened; same value as the envelope span_id (field 13) */
1566
+ spanId: string;
1567
+ /** empty/unset = root span */
1568
+ parentSpanId?: string | undefined;
1569
+ name: string;
1570
+ startTime: Date | undefined;
1571
+ attributes: { [key: string]: string };
1572
+ }
1573
+
1574
+ export interface SpanStarted_AttributesEntry {
1575
+ key: string;
1576
+ value: string;
1577
+ }
1578
+
1579
+ /** SpanEnded is emitted when a span closes. */
1580
+ export interface SpanEnded {
1581
+ /** the span that closed; same value as the envelope span_id (field 13) */
1582
+ spanId: string;
1583
+ endTime:
1584
+ | Date
1585
+ | undefined;
1586
+ /** OTLP span status: UNSET / OK / ERROR */
1587
+ statusCode?: string | undefined;
1588
+ statusMessage?: string | undefined;
1545
1589
  }
1546
1590
 
1547
1591
  /** RuleMatchAdded is emitted when an automation rule match is stamped onto a trace. */
@@ -6349,6 +6393,7 @@ function createBaseTraceEventEnvelope(): TraceEventEnvelope {
6349
6393
  traceTimestamp: undefined,
6350
6394
  source: 0,
6351
6395
  category: 0,
6396
+ spanId: "",
6352
6397
  traceStarted: undefined,
6353
6398
  traceFinished: undefined,
6354
6399
  infoEventAdded: undefined,
@@ -6391,6 +6436,8 @@ function createBaseTraceEventEnvelope(): TraceEventEnvelope {
6391
6436
  relayNotFound: undefined,
6392
6437
  ruleMatchAdded: undefined,
6393
6438
  cantonTxAdded: undefined,
6439
+ spanStarted: undefined,
6440
+ spanEnded: undefined,
6394
6441
  };
6395
6442
  }
6396
6443
 
@@ -6426,6 +6473,9 @@ export const TraceEventEnvelope: MessageFns<TraceEventEnvelope> = {
6426
6473
  if (message.category !== 0) {
6427
6474
  writer.uint32(88).int32(message.category);
6428
6475
  }
6476
+ if (message.spanId !== "") {
6477
+ writer.uint32(106).string(message.spanId);
6478
+ }
6429
6479
  if (message.traceStarted !== undefined) {
6430
6480
  TraceStarted.encode(message.traceStarted, writer.uint32(162).fork()).join();
6431
6481
  }
@@ -6552,6 +6602,12 @@ export const TraceEventEnvelope: MessageFns<TraceEventEnvelope> = {
6552
6602
  if (message.cantonTxAdded !== undefined) {
6553
6603
  CantonTxAdded.encode(message.cantonTxAdded, writer.uint32(514).fork()).join();
6554
6604
  }
6605
+ if (message.spanStarted !== undefined) {
6606
+ SpanStarted.encode(message.spanStarted, writer.uint32(522).fork()).join();
6607
+ }
6608
+ if (message.spanEnded !== undefined) {
6609
+ SpanEnded.encode(message.spanEnded, writer.uint32(530).fork()).join();
6610
+ }
6555
6611
  return writer;
6556
6612
  },
6557
6613
 
@@ -6642,6 +6698,14 @@ export const TraceEventEnvelope: MessageFns<TraceEventEnvelope> = {
6642
6698
  message.category = reader.int32() as any;
6643
6699
  continue;
6644
6700
  }
6701
+ case 13: {
6702
+ if (tag !== 106) {
6703
+ break;
6704
+ }
6705
+
6706
+ message.spanId = reader.string();
6707
+ continue;
6708
+ }
6645
6709
  case 20: {
6646
6710
  if (tag !== 162) {
6647
6711
  break;
@@ -6978,6 +7042,22 @@ export const TraceEventEnvelope: MessageFns<TraceEventEnvelope> = {
6978
7042
  message.cantonTxAdded = CantonTxAdded.decode(reader, reader.uint32());
6979
7043
  continue;
6980
7044
  }
7045
+ case 65: {
7046
+ if (tag !== 522) {
7047
+ break;
7048
+ }
7049
+
7050
+ message.spanStarted = SpanStarted.decode(reader, reader.uint32());
7051
+ continue;
7052
+ }
7053
+ case 66: {
7054
+ if (tag !== 530) {
7055
+ break;
7056
+ }
7057
+
7058
+ message.spanEnded = SpanEnded.decode(reader, reader.uint32());
7059
+ continue;
7060
+ }
6981
7061
  }
6982
7062
  if ((tag & 7) === 4 || tag === 0) {
6983
7063
  break;
@@ -7023,6 +7103,11 @@ export const TraceEventEnvelope: MessageFns<TraceEventEnvelope> = {
7023
7103
  : undefined,
7024
7104
  source: isSet(object.source) ? eventSourceFromJSON(object.source) : 0,
7025
7105
  category: isSet(object.category) ? traceEventCategoryFromJSON(object.category) : 0,
7106
+ spanId: isSet(object.spanId)
7107
+ ? globalThis.String(object.spanId)
7108
+ : isSet(object.span_id)
7109
+ ? globalThis.String(object.span_id)
7110
+ : "",
7026
7111
  traceStarted: isSet(object.traceStarted)
7027
7112
  ? TraceStarted.fromJSON(object.traceStarted)
7028
7113
  : isSet(object.trace_started)
@@ -7233,6 +7318,16 @@ export const TraceEventEnvelope: MessageFns<TraceEventEnvelope> = {
7233
7318
  : isSet(object.canton_tx_added)
7234
7319
  ? CantonTxAdded.fromJSON(object.canton_tx_added)
7235
7320
  : undefined,
7321
+ spanStarted: isSet(object.spanStarted)
7322
+ ? SpanStarted.fromJSON(object.spanStarted)
7323
+ : isSet(object.span_started)
7324
+ ? SpanStarted.fromJSON(object.span_started)
7325
+ : undefined,
7326
+ spanEnded: isSet(object.spanEnded)
7327
+ ? SpanEnded.fromJSON(object.spanEnded)
7328
+ : isSet(object.span_ended)
7329
+ ? SpanEnded.fromJSON(object.span_ended)
7330
+ : undefined,
7236
7331
  };
7237
7332
  },
7238
7333
 
@@ -7268,6 +7363,9 @@ export const TraceEventEnvelope: MessageFns<TraceEventEnvelope> = {
7268
7363
  if (message.category !== 0) {
7269
7364
  obj.category = traceEventCategoryToJSON(message.category);
7270
7365
  }
7366
+ if (message.spanId !== "") {
7367
+ obj.spanId = message.spanId;
7368
+ }
7271
7369
  if (message.traceStarted !== undefined) {
7272
7370
  obj.traceStarted = TraceStarted.toJSON(message.traceStarted);
7273
7371
  }
@@ -7394,6 +7492,12 @@ export const TraceEventEnvelope: MessageFns<TraceEventEnvelope> = {
7394
7492
  if (message.cantonTxAdded !== undefined) {
7395
7493
  obj.cantonTxAdded = CantonTxAdded.toJSON(message.cantonTxAdded);
7396
7494
  }
7495
+ if (message.spanStarted !== undefined) {
7496
+ obj.spanStarted = SpanStarted.toJSON(message.spanStarted);
7497
+ }
7498
+ if (message.spanEnded !== undefined) {
7499
+ obj.spanEnded = SpanEnded.toJSON(message.spanEnded);
7500
+ }
7397
7501
  return obj;
7398
7502
  },
7399
7503
 
@@ -7412,6 +7516,7 @@ export const TraceEventEnvelope: MessageFns<TraceEventEnvelope> = {
7412
7516
  message.traceTimestamp = object.traceTimestamp ?? undefined;
7413
7517
  message.source = object.source ?? 0;
7414
7518
  message.category = object.category ?? 0;
7519
+ message.spanId = object.spanId ?? "";
7415
7520
  message.traceStarted = (object.traceStarted !== undefined && object.traceStarted !== null)
7416
7521
  ? TraceStarted.fromPartial(object.traceStarted)
7417
7522
  : undefined;
@@ -7544,6 +7649,373 @@ export const TraceEventEnvelope: MessageFns<TraceEventEnvelope> = {
7544
7649
  message.cantonTxAdded = (object.cantonTxAdded !== undefined && object.cantonTxAdded !== null)
7545
7650
  ? CantonTxAdded.fromPartial(object.cantonTxAdded)
7546
7651
  : undefined;
7652
+ message.spanStarted = (object.spanStarted !== undefined && object.spanStarted !== null)
7653
+ ? SpanStarted.fromPartial(object.spanStarted)
7654
+ : undefined;
7655
+ message.spanEnded = (object.spanEnded !== undefined && object.spanEnded !== null)
7656
+ ? SpanEnded.fromPartial(object.spanEnded)
7657
+ : undefined;
7658
+ return message;
7659
+ },
7660
+ };
7661
+
7662
+ function createBaseSpanStarted(): SpanStarted {
7663
+ return { spanId: "", parentSpanId: undefined, name: "", startTime: undefined, attributes: {} };
7664
+ }
7665
+
7666
+ export const SpanStarted: MessageFns<SpanStarted> = {
7667
+ encode(message: SpanStarted, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
7668
+ if (message.spanId !== "") {
7669
+ writer.uint32(10).string(message.spanId);
7670
+ }
7671
+ if (message.parentSpanId !== undefined) {
7672
+ writer.uint32(18).string(message.parentSpanId);
7673
+ }
7674
+ if (message.name !== "") {
7675
+ writer.uint32(26).string(message.name);
7676
+ }
7677
+ if (message.startTime !== undefined) {
7678
+ Timestamp.encode(toTimestamp(message.startTime), writer.uint32(34).fork()).join();
7679
+ }
7680
+ globalThis.Object.entries(message.attributes).forEach(([key, value]: [string, string]) => {
7681
+ SpanStarted_AttributesEntry.encode({ key: key as any, value }, writer.uint32(42).fork()).join();
7682
+ });
7683
+ return writer;
7684
+ },
7685
+
7686
+ decode(input: BinaryReader | Uint8Array, length?: number): SpanStarted {
7687
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
7688
+ const end = length === undefined ? reader.len : reader.pos + length;
7689
+ const message = createBaseSpanStarted();
7690
+ while (reader.pos < end) {
7691
+ const tag = reader.uint32();
7692
+ switch (tag >>> 3) {
7693
+ case 1: {
7694
+ if (tag !== 10) {
7695
+ break;
7696
+ }
7697
+
7698
+ message.spanId = reader.string();
7699
+ continue;
7700
+ }
7701
+ case 2: {
7702
+ if (tag !== 18) {
7703
+ break;
7704
+ }
7705
+
7706
+ message.parentSpanId = reader.string();
7707
+ continue;
7708
+ }
7709
+ case 3: {
7710
+ if (tag !== 26) {
7711
+ break;
7712
+ }
7713
+
7714
+ message.name = reader.string();
7715
+ continue;
7716
+ }
7717
+ case 4: {
7718
+ if (tag !== 34) {
7719
+ break;
7720
+ }
7721
+
7722
+ message.startTime = fromTimestamp(Timestamp.decode(reader, reader.uint32()));
7723
+ continue;
7724
+ }
7725
+ case 5: {
7726
+ if (tag !== 42) {
7727
+ break;
7728
+ }
7729
+
7730
+ const entry5 = SpanStarted_AttributesEntry.decode(reader, reader.uint32());
7731
+ if (entry5.value !== undefined) {
7732
+ message.attributes[entry5.key] = entry5.value;
7733
+ }
7734
+ continue;
7735
+ }
7736
+ }
7737
+ if ((tag & 7) === 4 || tag === 0) {
7738
+ break;
7739
+ }
7740
+ reader.skip(tag & 7);
7741
+ }
7742
+ return message;
7743
+ },
7744
+
7745
+ fromJSON(object: any): SpanStarted {
7746
+ return {
7747
+ spanId: isSet(object.spanId)
7748
+ ? globalThis.String(object.spanId)
7749
+ : isSet(object.span_id)
7750
+ ? globalThis.String(object.span_id)
7751
+ : "",
7752
+ parentSpanId: isSet(object.parentSpanId)
7753
+ ? globalThis.String(object.parentSpanId)
7754
+ : isSet(object.parent_span_id)
7755
+ ? globalThis.String(object.parent_span_id)
7756
+ : undefined,
7757
+ name: isSet(object.name) ? globalThis.String(object.name) : "",
7758
+ startTime: isSet(object.startTime)
7759
+ ? fromJsonTimestamp(object.startTime)
7760
+ : isSet(object.start_time)
7761
+ ? fromJsonTimestamp(object.start_time)
7762
+ : undefined,
7763
+ attributes: isObject(object.attributes)
7764
+ ? (globalThis.Object.entries(object.attributes) as [string, any][]).reduce(
7765
+ (acc: { [key: string]: string }, [key, value]: [string, any]) => {
7766
+ acc[key] = globalThis.String(value);
7767
+ return acc;
7768
+ },
7769
+ {},
7770
+ )
7771
+ : {},
7772
+ };
7773
+ },
7774
+
7775
+ toJSON(message: SpanStarted): unknown {
7776
+ const obj: any = {};
7777
+ if (message.spanId !== "") {
7778
+ obj.spanId = message.spanId;
7779
+ }
7780
+ if (message.parentSpanId !== undefined) {
7781
+ obj.parentSpanId = message.parentSpanId;
7782
+ }
7783
+ if (message.name !== "") {
7784
+ obj.name = message.name;
7785
+ }
7786
+ if (message.startTime !== undefined) {
7787
+ obj.startTime = message.startTime.toISOString();
7788
+ }
7789
+ if (message.attributes) {
7790
+ const entries = globalThis.Object.entries(message.attributes) as [string, string][];
7791
+ if (entries.length > 0) {
7792
+ obj.attributes = {};
7793
+ entries.forEach(([k, v]) => {
7794
+ obj.attributes[k] = v;
7795
+ });
7796
+ }
7797
+ }
7798
+ return obj;
7799
+ },
7800
+
7801
+ create<I extends Exact<DeepPartial<SpanStarted>, I>>(base?: I): SpanStarted {
7802
+ return SpanStarted.fromPartial(base ?? ({} as any));
7803
+ },
7804
+ fromPartial<I extends Exact<DeepPartial<SpanStarted>, I>>(object: I): SpanStarted {
7805
+ const message = createBaseSpanStarted();
7806
+ message.spanId = object.spanId ?? "";
7807
+ message.parentSpanId = object.parentSpanId ?? undefined;
7808
+ message.name = object.name ?? "";
7809
+ message.startTime = object.startTime ?? undefined;
7810
+ message.attributes = (globalThis.Object.entries(object.attributes ?? {}) as [string, string][]).reduce(
7811
+ (acc: { [key: string]: string }, [key, value]: [string, string]) => {
7812
+ if (value !== undefined) {
7813
+ acc[key] = globalThis.String(value);
7814
+ }
7815
+ return acc;
7816
+ },
7817
+ {},
7818
+ );
7819
+ return message;
7820
+ },
7821
+ };
7822
+
7823
+ function createBaseSpanStarted_AttributesEntry(): SpanStarted_AttributesEntry {
7824
+ return { key: "", value: "" };
7825
+ }
7826
+
7827
+ export const SpanStarted_AttributesEntry: MessageFns<SpanStarted_AttributesEntry> = {
7828
+ encode(message: SpanStarted_AttributesEntry, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
7829
+ if (message.key !== "") {
7830
+ writer.uint32(10).string(message.key);
7831
+ }
7832
+ if (message.value !== "") {
7833
+ writer.uint32(18).string(message.value);
7834
+ }
7835
+ return writer;
7836
+ },
7837
+
7838
+ decode(input: BinaryReader | Uint8Array, length?: number): SpanStarted_AttributesEntry {
7839
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
7840
+ const end = length === undefined ? reader.len : reader.pos + length;
7841
+ const message = createBaseSpanStarted_AttributesEntry();
7842
+ while (reader.pos < end) {
7843
+ const tag = reader.uint32();
7844
+ switch (tag >>> 3) {
7845
+ case 1: {
7846
+ if (tag !== 10) {
7847
+ break;
7848
+ }
7849
+
7850
+ message.key = reader.string();
7851
+ continue;
7852
+ }
7853
+ case 2: {
7854
+ if (tag !== 18) {
7855
+ break;
7856
+ }
7857
+
7858
+ message.value = reader.string();
7859
+ continue;
7860
+ }
7861
+ }
7862
+ if ((tag & 7) === 4 || tag === 0) {
7863
+ break;
7864
+ }
7865
+ reader.skip(tag & 7);
7866
+ }
7867
+ return message;
7868
+ },
7869
+
7870
+ fromJSON(object: any): SpanStarted_AttributesEntry {
7871
+ return {
7872
+ key: isSet(object.key) ? globalThis.String(object.key) : "",
7873
+ value: isSet(object.value) ? globalThis.String(object.value) : "",
7874
+ };
7875
+ },
7876
+
7877
+ toJSON(message: SpanStarted_AttributesEntry): unknown {
7878
+ const obj: any = {};
7879
+ if (message.key !== "") {
7880
+ obj.key = message.key;
7881
+ }
7882
+ if (message.value !== "") {
7883
+ obj.value = message.value;
7884
+ }
7885
+ return obj;
7886
+ },
7887
+
7888
+ create<I extends Exact<DeepPartial<SpanStarted_AttributesEntry>, I>>(base?: I): SpanStarted_AttributesEntry {
7889
+ return SpanStarted_AttributesEntry.fromPartial(base ?? ({} as any));
7890
+ },
7891
+ fromPartial<I extends Exact<DeepPartial<SpanStarted_AttributesEntry>, I>>(object: I): SpanStarted_AttributesEntry {
7892
+ const message = createBaseSpanStarted_AttributesEntry();
7893
+ message.key = object.key ?? "";
7894
+ message.value = object.value ?? "";
7895
+ return message;
7896
+ },
7897
+ };
7898
+
7899
+ function createBaseSpanEnded(): SpanEnded {
7900
+ return { spanId: "", endTime: undefined, statusCode: undefined, statusMessage: undefined };
7901
+ }
7902
+
7903
+ export const SpanEnded: MessageFns<SpanEnded> = {
7904
+ encode(message: SpanEnded, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
7905
+ if (message.spanId !== "") {
7906
+ writer.uint32(10).string(message.spanId);
7907
+ }
7908
+ if (message.endTime !== undefined) {
7909
+ Timestamp.encode(toTimestamp(message.endTime), writer.uint32(18).fork()).join();
7910
+ }
7911
+ if (message.statusCode !== undefined) {
7912
+ writer.uint32(26).string(message.statusCode);
7913
+ }
7914
+ if (message.statusMessage !== undefined) {
7915
+ writer.uint32(34).string(message.statusMessage);
7916
+ }
7917
+ return writer;
7918
+ },
7919
+
7920
+ decode(input: BinaryReader | Uint8Array, length?: number): SpanEnded {
7921
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
7922
+ const end = length === undefined ? reader.len : reader.pos + length;
7923
+ const message = createBaseSpanEnded();
7924
+ while (reader.pos < end) {
7925
+ const tag = reader.uint32();
7926
+ switch (tag >>> 3) {
7927
+ case 1: {
7928
+ if (tag !== 10) {
7929
+ break;
7930
+ }
7931
+
7932
+ message.spanId = reader.string();
7933
+ continue;
7934
+ }
7935
+ case 2: {
7936
+ if (tag !== 18) {
7937
+ break;
7938
+ }
7939
+
7940
+ message.endTime = fromTimestamp(Timestamp.decode(reader, reader.uint32()));
7941
+ continue;
7942
+ }
7943
+ case 3: {
7944
+ if (tag !== 26) {
7945
+ break;
7946
+ }
7947
+
7948
+ message.statusCode = reader.string();
7949
+ continue;
7950
+ }
7951
+ case 4: {
7952
+ if (tag !== 34) {
7953
+ break;
7954
+ }
7955
+
7956
+ message.statusMessage = reader.string();
7957
+ continue;
7958
+ }
7959
+ }
7960
+ if ((tag & 7) === 4 || tag === 0) {
7961
+ break;
7962
+ }
7963
+ reader.skip(tag & 7);
7964
+ }
7965
+ return message;
7966
+ },
7967
+
7968
+ fromJSON(object: any): SpanEnded {
7969
+ return {
7970
+ spanId: isSet(object.spanId)
7971
+ ? globalThis.String(object.spanId)
7972
+ : isSet(object.span_id)
7973
+ ? globalThis.String(object.span_id)
7974
+ : "",
7975
+ endTime: isSet(object.endTime)
7976
+ ? fromJsonTimestamp(object.endTime)
7977
+ : isSet(object.end_time)
7978
+ ? fromJsonTimestamp(object.end_time)
7979
+ : undefined,
7980
+ statusCode: isSet(object.statusCode)
7981
+ ? globalThis.String(object.statusCode)
7982
+ : isSet(object.status_code)
7983
+ ? globalThis.String(object.status_code)
7984
+ : undefined,
7985
+ statusMessage: isSet(object.statusMessage)
7986
+ ? globalThis.String(object.statusMessage)
7987
+ : isSet(object.status_message)
7988
+ ? globalThis.String(object.status_message)
7989
+ : undefined,
7990
+ };
7991
+ },
7992
+
7993
+ toJSON(message: SpanEnded): unknown {
7994
+ const obj: any = {};
7995
+ if (message.spanId !== "") {
7996
+ obj.spanId = message.spanId;
7997
+ }
7998
+ if (message.endTime !== undefined) {
7999
+ obj.endTime = message.endTime.toISOString();
8000
+ }
8001
+ if (message.statusCode !== undefined) {
8002
+ obj.statusCode = message.statusCode;
8003
+ }
8004
+ if (message.statusMessage !== undefined) {
8005
+ obj.statusMessage = message.statusMessage;
8006
+ }
8007
+ return obj;
8008
+ },
8009
+
8010
+ create<I extends Exact<DeepPartial<SpanEnded>, I>>(base?: I): SpanEnded {
8011
+ return SpanEnded.fromPartial(base ?? ({} as any));
8012
+ },
8013
+ fromPartial<I extends Exact<DeepPartial<SpanEnded>, I>>(object: I): SpanEnded {
8014
+ const message = createBaseSpanEnded();
8015
+ message.spanId = object.spanId ?? "";
8016
+ message.endTime = object.endTime ?? undefined;
8017
+ message.statusCode = object.statusCode ?? undefined;
8018
+ message.statusMessage = object.statusMessage ?? undefined;
7547
8019
  return message;
7548
8020
  },
7549
8021
  };