mirror of
				https://github.com/datarhei/core.git
				synced 2025-10-31 19:32:56 +08:00 
			
		
		
		
	Update dependencies
This commit is contained in:
		
							
								
								
									
										14
									
								
								vendor/google.golang.org/protobuf/encoding/prototext/encode.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										14
									
								
								vendor/google.golang.org/protobuf/encoding/prototext/encode.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -101,13 +101,19 @@ func (o MarshalOptions) Format(m proto.Message) string { | ||||
| // MarshalOptions object. Do not depend on the output being stable. It may | ||||
| // change over time across different versions of the program. | ||||
| func (o MarshalOptions) Marshal(m proto.Message) ([]byte, error) { | ||||
| 	return o.marshal(m) | ||||
| 	return o.marshal(nil, m) | ||||
| } | ||||
|  | ||||
| // MarshalAppend appends the textproto format encoding of m to b, | ||||
| // returning the result. | ||||
| func (o MarshalOptions) MarshalAppend(b []byte, m proto.Message) ([]byte, error) { | ||||
| 	return o.marshal(b, m) | ||||
| } | ||||
|  | ||||
| // marshal is a centralized function that all marshal operations go through. | ||||
| // For profiling purposes, avoid changing the name of this function or | ||||
| // introducing other code paths for marshal that do not go through this. | ||||
| func (o MarshalOptions) marshal(m proto.Message) ([]byte, error) { | ||||
| func (o MarshalOptions) marshal(b []byte, m proto.Message) ([]byte, error) { | ||||
| 	var delims = [2]byte{'{', '}'} | ||||
|  | ||||
| 	if o.Multiline && o.Indent == "" { | ||||
| @@ -117,7 +123,7 @@ func (o MarshalOptions) marshal(m proto.Message) ([]byte, error) { | ||||
| 		o.Resolver = protoregistry.GlobalTypes | ||||
| 	} | ||||
|  | ||||
| 	internalEnc, err := text.NewEncoder(o.Indent, delims, o.EmitASCII) | ||||
| 	internalEnc, err := text.NewEncoder(b, o.Indent, delims, o.EmitASCII) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| @@ -125,7 +131,7 @@ func (o MarshalOptions) marshal(m proto.Message) ([]byte, error) { | ||||
| 	// Treat nil message interface as an empty message, | ||||
| 	// in which case there is nothing to output. | ||||
| 	if m == nil { | ||||
| 		return []byte{}, nil | ||||
| 		return b, nil | ||||
| 	} | ||||
|  | ||||
| 	enc := encoder{internalEnc, o} | ||||
|   | ||||
							
								
								
									
										8
									
								
								vendor/google.golang.org/protobuf/encoding/protowire/wire.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								vendor/google.golang.org/protobuf/encoding/protowire/wire.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -3,7 +3,7 @@ | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| // Package protowire parses and formats the raw wire encoding. | ||||
| // See https://developers.google.com/protocol-buffers/docs/encoding. | ||||
| // See https://protobuf.dev/programming-guides/encoding. | ||||
| // | ||||
| // For marshaling and unmarshaling entire protobuf messages, | ||||
| // use the "google.golang.org/protobuf/proto" package instead. | ||||
| @@ -29,12 +29,8 @@ const ( | ||||
| ) | ||||
|  | ||||
| // IsValid reports whether the field number is semantically valid. | ||||
| // | ||||
| // Note that while numbers within the reserved range are semantically invalid, | ||||
| // they are syntactically valid in the wire format. | ||||
| // Implementations may treat records with reserved field numbers as unknown. | ||||
| func (n Number) IsValid() bool { | ||||
| 	return MinValidNumber <= n && n < FirstReservedNumber || LastReservedNumber < n && n <= MaxValidNumber | ||||
| 	return MinValidNumber <= n && n <= MaxValidNumber | ||||
| } | ||||
|  | ||||
| // Type represents the wire type. | ||||
|   | ||||
							
								
								
									
										5
									
								
								vendor/google.golang.org/protobuf/internal/encoding/text/decode.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								vendor/google.golang.org/protobuf/internal/encoding/text/decode.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -412,12 +412,13 @@ func (d *Decoder) parseFieldName() (tok Token, err error) { | ||||
| 	// Field number. Identify if input is a valid number that is not negative | ||||
| 	// and is decimal integer within 32-bit range. | ||||
| 	if num := parseNumber(d.in); num.size > 0 { | ||||
| 		str := num.string(d.in) | ||||
| 		if !num.neg && num.kind == numDec { | ||||
| 			if _, err := strconv.ParseInt(string(d.in[:num.size]), 10, 32); err == nil { | ||||
| 			if _, err := strconv.ParseInt(str, 10, 32); err == nil { | ||||
| 				return d.consumeToken(Name, num.size, uint8(FieldNumber)), nil | ||||
| 			} | ||||
| 		} | ||||
| 		return Token{}, d.newSyntaxError("invalid field number: %s", d.in[:num.size]) | ||||
| 		return Token{}, d.newSyntaxError("invalid field number: %s", str) | ||||
| 	} | ||||
|  | ||||
| 	return Token{}, d.newSyntaxError("invalid field name: %s", errId(d.in)) | ||||
|   | ||||
							
								
								
									
										43
									
								
								vendor/google.golang.org/protobuf/internal/encoding/text/decode_number.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										43
									
								
								vendor/google.golang.org/protobuf/internal/encoding/text/decode_number.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -15,17 +15,12 @@ func (d *Decoder) parseNumberValue() (Token, bool) { | ||||
| 	if num.neg { | ||||
| 		numAttrs |= isNegative | ||||
| 	} | ||||
| 	strSize := num.size | ||||
| 	last := num.size - 1 | ||||
| 	if num.kind == numFloat && (d.in[last] == 'f' || d.in[last] == 'F') { | ||||
| 		strSize = last | ||||
| 	} | ||||
| 	tok := Token{ | ||||
| 		kind:     Scalar, | ||||
| 		attrs:    numberValue, | ||||
| 		pos:      len(d.orig) - len(d.in), | ||||
| 		raw:      d.in[:num.size], | ||||
| 		str:      string(d.in[:strSize]), | ||||
| 		str:      num.string(d.in), | ||||
| 		numAttrs: numAttrs, | ||||
| 	} | ||||
| 	d.consume(num.size) | ||||
| @@ -46,6 +41,27 @@ type number struct { | ||||
| 	kind uint8 | ||||
| 	neg  bool | ||||
| 	size int | ||||
| 	// if neg, this is the length of whitespace and comments between | ||||
| 	// the minus sign and the rest fo the number literal | ||||
| 	sep int | ||||
| } | ||||
|  | ||||
| func (num number) string(data []byte) string { | ||||
| 	strSize := num.size | ||||
| 	last := num.size - 1 | ||||
| 	if num.kind == numFloat && (data[last] == 'f' || data[last] == 'F') { | ||||
| 		strSize = last | ||||
| 	} | ||||
| 	if num.neg && num.sep > 0 { | ||||
| 		// strip whitespace/comments between negative sign and the rest | ||||
| 		strLen := strSize - num.sep | ||||
| 		str := make([]byte, strLen) | ||||
| 		str[0] = data[0] | ||||
| 		copy(str[1:], data[num.sep+1:strSize]) | ||||
| 		return string(str) | ||||
| 	} | ||||
| 	return string(data[:strSize]) | ||||
|  | ||||
| } | ||||
|  | ||||
| // parseNumber constructs a number object from given input. It allows for the | ||||
| @@ -67,19 +83,22 @@ func parseNumber(input []byte) number { | ||||
| 	} | ||||
|  | ||||
| 	// Optional - | ||||
| 	var sep int | ||||
| 	if s[0] == '-' { | ||||
| 		neg = true | ||||
| 		s = s[1:] | ||||
| 		size++ | ||||
| 		// Consume any whitespace or comments between the | ||||
| 		// negative sign and the rest of the number | ||||
| 		lenBefore := len(s) | ||||
| 		s = consume(s, 0) | ||||
| 		sep = lenBefore - len(s) | ||||
| 		size += sep | ||||
| 		if len(s) == 0 { | ||||
| 			return number{} | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	// C++ allows for whitespace and comments in between the negative sign and | ||||
| 	// the rest of the number. This logic currently does not but is consistent | ||||
| 	// with v1. | ||||
|  | ||||
| 	switch { | ||||
| 	case s[0] == '0': | ||||
| 		if len(s) > 1 { | ||||
| @@ -116,7 +135,7 @@ func parseNumber(input []byte) number { | ||||
| 				if len(s) > 0 && !isDelim(s[0]) { | ||||
| 					return number{} | ||||
| 				} | ||||
| 				return number{kind: kind, neg: neg, size: size} | ||||
| 				return number{kind: kind, neg: neg, size: size, sep: sep} | ||||
| 			} | ||||
| 		} | ||||
| 		s = s[1:] | ||||
| @@ -188,5 +207,5 @@ func parseNumber(input []byte) number { | ||||
| 		return number{} | ||||
| 	} | ||||
|  | ||||
| 	return number{kind: kind, neg: neg, size: size} | ||||
| 	return number{kind: kind, neg: neg, size: size, sep: sep} | ||||
| } | ||||
|   | ||||
							
								
								
									
										10
									
								
								vendor/google.golang.org/protobuf/internal/encoding/text/encode.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								vendor/google.golang.org/protobuf/internal/encoding/text/encode.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -53,8 +53,10 @@ type encoderState struct { | ||||
| // If outputASCII is true, strings will be serialized in such a way that | ||||
| // multi-byte UTF-8 sequences are escaped. This property ensures that the | ||||
| // overall output is ASCII (as opposed to UTF-8). | ||||
| func NewEncoder(indent string, delims [2]byte, outputASCII bool) (*Encoder, error) { | ||||
| 	e := &Encoder{} | ||||
| func NewEncoder(buf []byte, indent string, delims [2]byte, outputASCII bool) (*Encoder, error) { | ||||
| 	e := &Encoder{ | ||||
| 		encoderState: encoderState{out: buf}, | ||||
| 	} | ||||
| 	if len(indent) > 0 { | ||||
| 		if strings.Trim(indent, " \t") != "" { | ||||
| 			return nil, errors.New("indent may only be composed of space and tab characters") | ||||
| @@ -195,13 +197,13 @@ func appendFloat(out []byte, n float64, bitSize int) []byte { | ||||
| // WriteInt writes out the given signed integer value. | ||||
| func (e *Encoder) WriteInt(n int64) { | ||||
| 	e.prepareNext(scalar) | ||||
| 	e.out = append(e.out, strconv.FormatInt(n, 10)...) | ||||
| 	e.out = strconv.AppendInt(e.out, n, 10) | ||||
| } | ||||
|  | ||||
| // WriteUint writes out the given unsigned integer value. | ||||
| func (e *Encoder) WriteUint(n uint64) { | ||||
| 	e.prepareNext(scalar) | ||||
| 	e.out = append(e.out, strconv.FormatUint(n, 10)...) | ||||
| 	e.out = strconv.AppendUint(e.out, n, 10) | ||||
| } | ||||
|  | ||||
| // WriteLiteral writes out the given string as a literal value without quotes. | ||||
|   | ||||
							
								
								
									
										138
									
								
								vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										138
									
								
								vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -50,6 +50,7 @@ const ( | ||||
| 	FileDescriptorProto_Options_field_name          protoreflect.Name = "options" | ||||
| 	FileDescriptorProto_SourceCodeInfo_field_name   protoreflect.Name = "source_code_info" | ||||
| 	FileDescriptorProto_Syntax_field_name           protoreflect.Name = "syntax" | ||||
| 	FileDescriptorProto_Edition_field_name          protoreflect.Name = "edition" | ||||
|  | ||||
| 	FileDescriptorProto_Name_field_fullname             protoreflect.FullName = "google.protobuf.FileDescriptorProto.name" | ||||
| 	FileDescriptorProto_Package_field_fullname          protoreflect.FullName = "google.protobuf.FileDescriptorProto.package" | ||||
| @@ -63,6 +64,7 @@ const ( | ||||
| 	FileDescriptorProto_Options_field_fullname          protoreflect.FullName = "google.protobuf.FileDescriptorProto.options" | ||||
| 	FileDescriptorProto_SourceCodeInfo_field_fullname   protoreflect.FullName = "google.protobuf.FileDescriptorProto.source_code_info" | ||||
| 	FileDescriptorProto_Syntax_field_fullname           protoreflect.FullName = "google.protobuf.FileDescriptorProto.syntax" | ||||
| 	FileDescriptorProto_Edition_field_fullname          protoreflect.FullName = "google.protobuf.FileDescriptorProto.edition" | ||||
| ) | ||||
|  | ||||
| // Field numbers for google.protobuf.FileDescriptorProto. | ||||
| @@ -79,6 +81,7 @@ const ( | ||||
| 	FileDescriptorProto_Options_field_number          protoreflect.FieldNumber = 8 | ||||
| 	FileDescriptorProto_SourceCodeInfo_field_number   protoreflect.FieldNumber = 9 | ||||
| 	FileDescriptorProto_Syntax_field_number           protoreflect.FieldNumber = 12 | ||||
| 	FileDescriptorProto_Edition_field_number          protoreflect.FieldNumber = 13 | ||||
| ) | ||||
|  | ||||
| // Names for google.protobuf.DescriptorProto. | ||||
| @@ -180,13 +183,58 @@ const ( | ||||
| // Field names for google.protobuf.ExtensionRangeOptions. | ||||
| const ( | ||||
| 	ExtensionRangeOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option" | ||||
| 	ExtensionRangeOptions_Declaration_field_name         protoreflect.Name = "declaration" | ||||
| 	ExtensionRangeOptions_Verification_field_name        protoreflect.Name = "verification" | ||||
|  | ||||
| 	ExtensionRangeOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.uninterpreted_option" | ||||
| 	ExtensionRangeOptions_Declaration_field_fullname         protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.declaration" | ||||
| 	ExtensionRangeOptions_Verification_field_fullname        protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.verification" | ||||
| ) | ||||
|  | ||||
| // Field numbers for google.protobuf.ExtensionRangeOptions. | ||||
| const ( | ||||
| 	ExtensionRangeOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999 | ||||
| 	ExtensionRangeOptions_Declaration_field_number         protoreflect.FieldNumber = 2 | ||||
| 	ExtensionRangeOptions_Verification_field_number        protoreflect.FieldNumber = 3 | ||||
| ) | ||||
|  | ||||
| // Full and short names for google.protobuf.ExtensionRangeOptions.VerificationState. | ||||
| const ( | ||||
| 	ExtensionRangeOptions_VerificationState_enum_fullname = "google.protobuf.ExtensionRangeOptions.VerificationState" | ||||
| 	ExtensionRangeOptions_VerificationState_enum_name     = "VerificationState" | ||||
| ) | ||||
|  | ||||
| // Names for google.protobuf.ExtensionRangeOptions.Declaration. | ||||
| const ( | ||||
| 	ExtensionRangeOptions_Declaration_message_name     protoreflect.Name     = "Declaration" | ||||
| 	ExtensionRangeOptions_Declaration_message_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.Declaration" | ||||
| ) | ||||
|  | ||||
| // Field names for google.protobuf.ExtensionRangeOptions.Declaration. | ||||
| const ( | ||||
| 	ExtensionRangeOptions_Declaration_Number_field_name     protoreflect.Name = "number" | ||||
| 	ExtensionRangeOptions_Declaration_FullName_field_name   protoreflect.Name = "full_name" | ||||
| 	ExtensionRangeOptions_Declaration_Type_field_name       protoreflect.Name = "type" | ||||
| 	ExtensionRangeOptions_Declaration_IsRepeated_field_name protoreflect.Name = "is_repeated" | ||||
| 	ExtensionRangeOptions_Declaration_Reserved_field_name   protoreflect.Name = "reserved" | ||||
| 	ExtensionRangeOptions_Declaration_Repeated_field_name   protoreflect.Name = "repeated" | ||||
|  | ||||
| 	ExtensionRangeOptions_Declaration_Number_field_fullname     protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.Declaration.number" | ||||
| 	ExtensionRangeOptions_Declaration_FullName_field_fullname   protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.Declaration.full_name" | ||||
| 	ExtensionRangeOptions_Declaration_Type_field_fullname       protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.Declaration.type" | ||||
| 	ExtensionRangeOptions_Declaration_IsRepeated_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.Declaration.is_repeated" | ||||
| 	ExtensionRangeOptions_Declaration_Reserved_field_fullname   protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.Declaration.reserved" | ||||
| 	ExtensionRangeOptions_Declaration_Repeated_field_fullname   protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.Declaration.repeated" | ||||
| ) | ||||
|  | ||||
| // Field numbers for google.protobuf.ExtensionRangeOptions.Declaration. | ||||
| const ( | ||||
| 	ExtensionRangeOptions_Declaration_Number_field_number     protoreflect.FieldNumber = 1 | ||||
| 	ExtensionRangeOptions_Declaration_FullName_field_number   protoreflect.FieldNumber = 2 | ||||
| 	ExtensionRangeOptions_Declaration_Type_field_number       protoreflect.FieldNumber = 3 | ||||
| 	ExtensionRangeOptions_Declaration_IsRepeated_field_number protoreflect.FieldNumber = 4 | ||||
| 	ExtensionRangeOptions_Declaration_Reserved_field_number   protoreflect.FieldNumber = 5 | ||||
| 	ExtensionRangeOptions_Declaration_Repeated_field_number   protoreflect.FieldNumber = 6 | ||||
| ) | ||||
|  | ||||
| // Names for google.protobuf.FieldDescriptorProto. | ||||
| @@ -494,26 +542,29 @@ const ( | ||||
|  | ||||
| // Field names for google.protobuf.MessageOptions. | ||||
| const ( | ||||
| 	MessageOptions_MessageSetWireFormat_field_name         protoreflect.Name = "message_set_wire_format" | ||||
| 	MessageOptions_NoStandardDescriptorAccessor_field_name protoreflect.Name = "no_standard_descriptor_accessor" | ||||
| 	MessageOptions_Deprecated_field_name                   protoreflect.Name = "deprecated" | ||||
| 	MessageOptions_MapEntry_field_name                     protoreflect.Name = "map_entry" | ||||
| 	MessageOptions_UninterpretedOption_field_name          protoreflect.Name = "uninterpreted_option" | ||||
| 	MessageOptions_MessageSetWireFormat_field_name               protoreflect.Name = "message_set_wire_format" | ||||
| 	MessageOptions_NoStandardDescriptorAccessor_field_name       protoreflect.Name = "no_standard_descriptor_accessor" | ||||
| 	MessageOptions_Deprecated_field_name                         protoreflect.Name = "deprecated" | ||||
| 	MessageOptions_MapEntry_field_name                           protoreflect.Name = "map_entry" | ||||
| 	MessageOptions_DeprecatedLegacyJsonFieldConflicts_field_name protoreflect.Name = "deprecated_legacy_json_field_conflicts" | ||||
| 	MessageOptions_UninterpretedOption_field_name                protoreflect.Name = "uninterpreted_option" | ||||
|  | ||||
| 	MessageOptions_MessageSetWireFormat_field_fullname         protoreflect.FullName = "google.protobuf.MessageOptions.message_set_wire_format" | ||||
| 	MessageOptions_NoStandardDescriptorAccessor_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.no_standard_descriptor_accessor" | ||||
| 	MessageOptions_Deprecated_field_fullname                   protoreflect.FullName = "google.protobuf.MessageOptions.deprecated" | ||||
| 	MessageOptions_MapEntry_field_fullname                     protoreflect.FullName = "google.protobuf.MessageOptions.map_entry" | ||||
| 	MessageOptions_UninterpretedOption_field_fullname          protoreflect.FullName = "google.protobuf.MessageOptions.uninterpreted_option" | ||||
| 	MessageOptions_MessageSetWireFormat_field_fullname               protoreflect.FullName = "google.protobuf.MessageOptions.message_set_wire_format" | ||||
| 	MessageOptions_NoStandardDescriptorAccessor_field_fullname       protoreflect.FullName = "google.protobuf.MessageOptions.no_standard_descriptor_accessor" | ||||
| 	MessageOptions_Deprecated_field_fullname                         protoreflect.FullName = "google.protobuf.MessageOptions.deprecated" | ||||
| 	MessageOptions_MapEntry_field_fullname                           protoreflect.FullName = "google.protobuf.MessageOptions.map_entry" | ||||
| 	MessageOptions_DeprecatedLegacyJsonFieldConflicts_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.deprecated_legacy_json_field_conflicts" | ||||
| 	MessageOptions_UninterpretedOption_field_fullname                protoreflect.FullName = "google.protobuf.MessageOptions.uninterpreted_option" | ||||
| ) | ||||
|  | ||||
| // Field numbers for google.protobuf.MessageOptions. | ||||
| const ( | ||||
| 	MessageOptions_MessageSetWireFormat_field_number         protoreflect.FieldNumber = 1 | ||||
| 	MessageOptions_NoStandardDescriptorAccessor_field_number protoreflect.FieldNumber = 2 | ||||
| 	MessageOptions_Deprecated_field_number                   protoreflect.FieldNumber = 3 | ||||
| 	MessageOptions_MapEntry_field_number                     protoreflect.FieldNumber = 7 | ||||
| 	MessageOptions_UninterpretedOption_field_number          protoreflect.FieldNumber = 999 | ||||
| 	MessageOptions_MessageSetWireFormat_field_number               protoreflect.FieldNumber = 1 | ||||
| 	MessageOptions_NoStandardDescriptorAccessor_field_number       protoreflect.FieldNumber = 2 | ||||
| 	MessageOptions_Deprecated_field_number                         protoreflect.FieldNumber = 3 | ||||
| 	MessageOptions_MapEntry_field_number                           protoreflect.FieldNumber = 7 | ||||
| 	MessageOptions_DeprecatedLegacyJsonFieldConflicts_field_number protoreflect.FieldNumber = 11 | ||||
| 	MessageOptions_UninterpretedOption_field_number                protoreflect.FieldNumber = 999 | ||||
| ) | ||||
|  | ||||
| // Names for google.protobuf.FieldOptions. | ||||
| @@ -528,16 +579,26 @@ const ( | ||||
| 	FieldOptions_Packed_field_name              protoreflect.Name = "packed" | ||||
| 	FieldOptions_Jstype_field_name              protoreflect.Name = "jstype" | ||||
| 	FieldOptions_Lazy_field_name                protoreflect.Name = "lazy" | ||||
| 	FieldOptions_UnverifiedLazy_field_name      protoreflect.Name = "unverified_lazy" | ||||
| 	FieldOptions_Deprecated_field_name          protoreflect.Name = "deprecated" | ||||
| 	FieldOptions_Weak_field_name                protoreflect.Name = "weak" | ||||
| 	FieldOptions_DebugRedact_field_name         protoreflect.Name = "debug_redact" | ||||
| 	FieldOptions_Retention_field_name           protoreflect.Name = "retention" | ||||
| 	FieldOptions_Target_field_name              protoreflect.Name = "target" | ||||
| 	FieldOptions_Targets_field_name             protoreflect.Name = "targets" | ||||
| 	FieldOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option" | ||||
|  | ||||
| 	FieldOptions_Ctype_field_fullname               protoreflect.FullName = "google.protobuf.FieldOptions.ctype" | ||||
| 	FieldOptions_Packed_field_fullname              protoreflect.FullName = "google.protobuf.FieldOptions.packed" | ||||
| 	FieldOptions_Jstype_field_fullname              protoreflect.FullName = "google.protobuf.FieldOptions.jstype" | ||||
| 	FieldOptions_Lazy_field_fullname                protoreflect.FullName = "google.protobuf.FieldOptions.lazy" | ||||
| 	FieldOptions_UnverifiedLazy_field_fullname      protoreflect.FullName = "google.protobuf.FieldOptions.unverified_lazy" | ||||
| 	FieldOptions_Deprecated_field_fullname          protoreflect.FullName = "google.protobuf.FieldOptions.deprecated" | ||||
| 	FieldOptions_Weak_field_fullname                protoreflect.FullName = "google.protobuf.FieldOptions.weak" | ||||
| 	FieldOptions_DebugRedact_field_fullname         protoreflect.FullName = "google.protobuf.FieldOptions.debug_redact" | ||||
| 	FieldOptions_Retention_field_fullname           protoreflect.FullName = "google.protobuf.FieldOptions.retention" | ||||
| 	FieldOptions_Target_field_fullname              protoreflect.FullName = "google.protobuf.FieldOptions.target" | ||||
| 	FieldOptions_Targets_field_fullname             protoreflect.FullName = "google.protobuf.FieldOptions.targets" | ||||
| 	FieldOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.uninterpreted_option" | ||||
| ) | ||||
|  | ||||
| @@ -547,8 +608,13 @@ const ( | ||||
| 	FieldOptions_Packed_field_number              protoreflect.FieldNumber = 2 | ||||
| 	FieldOptions_Jstype_field_number              protoreflect.FieldNumber = 6 | ||||
| 	FieldOptions_Lazy_field_number                protoreflect.FieldNumber = 5 | ||||
| 	FieldOptions_UnverifiedLazy_field_number      protoreflect.FieldNumber = 15 | ||||
| 	FieldOptions_Deprecated_field_number          protoreflect.FieldNumber = 3 | ||||
| 	FieldOptions_Weak_field_number                protoreflect.FieldNumber = 10 | ||||
| 	FieldOptions_DebugRedact_field_number         protoreflect.FieldNumber = 16 | ||||
| 	FieldOptions_Retention_field_number           protoreflect.FieldNumber = 17 | ||||
| 	FieldOptions_Target_field_number              protoreflect.FieldNumber = 18 | ||||
| 	FieldOptions_Targets_field_number             protoreflect.FieldNumber = 19 | ||||
| 	FieldOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999 | ||||
| ) | ||||
|  | ||||
| @@ -564,6 +630,18 @@ const ( | ||||
| 	FieldOptions_JSType_enum_name     = "JSType" | ||||
| ) | ||||
|  | ||||
| // Full and short names for google.protobuf.FieldOptions.OptionRetention. | ||||
| const ( | ||||
| 	FieldOptions_OptionRetention_enum_fullname = "google.protobuf.FieldOptions.OptionRetention" | ||||
| 	FieldOptions_OptionRetention_enum_name     = "OptionRetention" | ||||
| ) | ||||
|  | ||||
| // Full and short names for google.protobuf.FieldOptions.OptionTargetType. | ||||
| const ( | ||||
| 	FieldOptions_OptionTargetType_enum_fullname = "google.protobuf.FieldOptions.OptionTargetType" | ||||
| 	FieldOptions_OptionTargetType_enum_name     = "OptionTargetType" | ||||
| ) | ||||
|  | ||||
| // Names for google.protobuf.OneofOptions. | ||||
| const ( | ||||
| 	OneofOptions_message_name     protoreflect.Name     = "OneofOptions" | ||||
| @@ -590,20 +668,23 @@ const ( | ||||
|  | ||||
| // Field names for google.protobuf.EnumOptions. | ||||
| const ( | ||||
| 	EnumOptions_AllowAlias_field_name          protoreflect.Name = "allow_alias" | ||||
| 	EnumOptions_Deprecated_field_name          protoreflect.Name = "deprecated" | ||||
| 	EnumOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option" | ||||
| 	EnumOptions_AllowAlias_field_name                         protoreflect.Name = "allow_alias" | ||||
| 	EnumOptions_Deprecated_field_name                         protoreflect.Name = "deprecated" | ||||
| 	EnumOptions_DeprecatedLegacyJsonFieldConflicts_field_name protoreflect.Name = "deprecated_legacy_json_field_conflicts" | ||||
| 	EnumOptions_UninterpretedOption_field_name                protoreflect.Name = "uninterpreted_option" | ||||
|  | ||||
| 	EnumOptions_AllowAlias_field_fullname          protoreflect.FullName = "google.protobuf.EnumOptions.allow_alias" | ||||
| 	EnumOptions_Deprecated_field_fullname          protoreflect.FullName = "google.protobuf.EnumOptions.deprecated" | ||||
| 	EnumOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.EnumOptions.uninterpreted_option" | ||||
| 	EnumOptions_AllowAlias_field_fullname                         protoreflect.FullName = "google.protobuf.EnumOptions.allow_alias" | ||||
| 	EnumOptions_Deprecated_field_fullname                         protoreflect.FullName = "google.protobuf.EnumOptions.deprecated" | ||||
| 	EnumOptions_DeprecatedLegacyJsonFieldConflicts_field_fullname protoreflect.FullName = "google.protobuf.EnumOptions.deprecated_legacy_json_field_conflicts" | ||||
| 	EnumOptions_UninterpretedOption_field_fullname                protoreflect.FullName = "google.protobuf.EnumOptions.uninterpreted_option" | ||||
| ) | ||||
|  | ||||
| // Field numbers for google.protobuf.EnumOptions. | ||||
| const ( | ||||
| 	EnumOptions_AllowAlias_field_number          protoreflect.FieldNumber = 2 | ||||
| 	EnumOptions_Deprecated_field_number          protoreflect.FieldNumber = 3 | ||||
| 	EnumOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999 | ||||
| 	EnumOptions_AllowAlias_field_number                         protoreflect.FieldNumber = 2 | ||||
| 	EnumOptions_Deprecated_field_number                         protoreflect.FieldNumber = 3 | ||||
| 	EnumOptions_DeprecatedLegacyJsonFieldConflicts_field_number protoreflect.FieldNumber = 6 | ||||
| 	EnumOptions_UninterpretedOption_field_number                protoreflect.FieldNumber = 999 | ||||
| ) | ||||
|  | ||||
| // Names for google.protobuf.EnumValueOptions. | ||||
| @@ -813,11 +894,13 @@ const ( | ||||
| 	GeneratedCodeInfo_Annotation_SourceFile_field_name protoreflect.Name = "source_file" | ||||
| 	GeneratedCodeInfo_Annotation_Begin_field_name      protoreflect.Name = "begin" | ||||
| 	GeneratedCodeInfo_Annotation_End_field_name        protoreflect.Name = "end" | ||||
| 	GeneratedCodeInfo_Annotation_Semantic_field_name   protoreflect.Name = "semantic" | ||||
|  | ||||
| 	GeneratedCodeInfo_Annotation_Path_field_fullname       protoreflect.FullName = "google.protobuf.GeneratedCodeInfo.Annotation.path" | ||||
| 	GeneratedCodeInfo_Annotation_SourceFile_field_fullname protoreflect.FullName = "google.protobuf.GeneratedCodeInfo.Annotation.source_file" | ||||
| 	GeneratedCodeInfo_Annotation_Begin_field_fullname      protoreflect.FullName = "google.protobuf.GeneratedCodeInfo.Annotation.begin" | ||||
| 	GeneratedCodeInfo_Annotation_End_field_fullname        protoreflect.FullName = "google.protobuf.GeneratedCodeInfo.Annotation.end" | ||||
| 	GeneratedCodeInfo_Annotation_Semantic_field_fullname   protoreflect.FullName = "google.protobuf.GeneratedCodeInfo.Annotation.semantic" | ||||
| ) | ||||
|  | ||||
| // Field numbers for google.protobuf.GeneratedCodeInfo.Annotation. | ||||
| @@ -826,4 +909,11 @@ const ( | ||||
| 	GeneratedCodeInfo_Annotation_SourceFile_field_number protoreflect.FieldNumber = 2 | ||||
| 	GeneratedCodeInfo_Annotation_Begin_field_number      protoreflect.FieldNumber = 3 | ||||
| 	GeneratedCodeInfo_Annotation_End_field_number        protoreflect.FieldNumber = 4 | ||||
| 	GeneratedCodeInfo_Annotation_Semantic_field_number   protoreflect.FieldNumber = 5 | ||||
| ) | ||||
|  | ||||
| // Full and short names for google.protobuf.GeneratedCodeInfo.Annotation.Semantic. | ||||
| const ( | ||||
| 	GeneratedCodeInfo_Annotation_Semantic_enum_fullname = "google.protobuf.GeneratedCodeInfo.Annotation.Semantic" | ||||
| 	GeneratedCodeInfo_Annotation_Semantic_enum_name     = "Semantic" | ||||
| ) | ||||
|   | ||||
							
								
								
									
										6
									
								
								vendor/google.golang.org/protobuf/internal/genid/type_gen.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								vendor/google.golang.org/protobuf/internal/genid/type_gen.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -32,6 +32,7 @@ const ( | ||||
| 	Type_Options_field_name       protoreflect.Name = "options" | ||||
| 	Type_SourceContext_field_name protoreflect.Name = "source_context" | ||||
| 	Type_Syntax_field_name        protoreflect.Name = "syntax" | ||||
| 	Type_Edition_field_name       protoreflect.Name = "edition" | ||||
|  | ||||
| 	Type_Name_field_fullname          protoreflect.FullName = "google.protobuf.Type.name" | ||||
| 	Type_Fields_field_fullname        protoreflect.FullName = "google.protobuf.Type.fields" | ||||
| @@ -39,6 +40,7 @@ const ( | ||||
| 	Type_Options_field_fullname       protoreflect.FullName = "google.protobuf.Type.options" | ||||
| 	Type_SourceContext_field_fullname protoreflect.FullName = "google.protobuf.Type.source_context" | ||||
| 	Type_Syntax_field_fullname        protoreflect.FullName = "google.protobuf.Type.syntax" | ||||
| 	Type_Edition_field_fullname       protoreflect.FullName = "google.protobuf.Type.edition" | ||||
| ) | ||||
|  | ||||
| // Field numbers for google.protobuf.Type. | ||||
| @@ -49,6 +51,7 @@ const ( | ||||
| 	Type_Options_field_number       protoreflect.FieldNumber = 4 | ||||
| 	Type_SourceContext_field_number protoreflect.FieldNumber = 5 | ||||
| 	Type_Syntax_field_number        protoreflect.FieldNumber = 6 | ||||
| 	Type_Edition_field_number       protoreflect.FieldNumber = 7 | ||||
| ) | ||||
|  | ||||
| // Names for google.protobuf.Field. | ||||
| @@ -121,12 +124,14 @@ const ( | ||||
| 	Enum_Options_field_name       protoreflect.Name = "options" | ||||
| 	Enum_SourceContext_field_name protoreflect.Name = "source_context" | ||||
| 	Enum_Syntax_field_name        protoreflect.Name = "syntax" | ||||
| 	Enum_Edition_field_name       protoreflect.Name = "edition" | ||||
|  | ||||
| 	Enum_Name_field_fullname          protoreflect.FullName = "google.protobuf.Enum.name" | ||||
| 	Enum_Enumvalue_field_fullname     protoreflect.FullName = "google.protobuf.Enum.enumvalue" | ||||
| 	Enum_Options_field_fullname       protoreflect.FullName = "google.protobuf.Enum.options" | ||||
| 	Enum_SourceContext_field_fullname protoreflect.FullName = "google.protobuf.Enum.source_context" | ||||
| 	Enum_Syntax_field_fullname        protoreflect.FullName = "google.protobuf.Enum.syntax" | ||||
| 	Enum_Edition_field_fullname       protoreflect.FullName = "google.protobuf.Enum.edition" | ||||
| ) | ||||
|  | ||||
| // Field numbers for google.protobuf.Enum. | ||||
| @@ -136,6 +141,7 @@ const ( | ||||
| 	Enum_Options_field_number       protoreflect.FieldNumber = 3 | ||||
| 	Enum_SourceContext_field_number protoreflect.FieldNumber = 4 | ||||
| 	Enum_Syntax_field_number        protoreflect.FieldNumber = 5 | ||||
| 	Enum_Edition_field_number       protoreflect.FieldNumber = 6 | ||||
| ) | ||||
|  | ||||
| // Names for google.protobuf.EnumValue. | ||||
|   | ||||
							
								
								
									
										1
									
								
								vendor/google.golang.org/protobuf/internal/impl/convert.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/google.golang.org/protobuf/internal/impl/convert.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -59,7 +59,6 @@ func NewConverter(t reflect.Type, fd protoreflect.FieldDescriptor) Converter { | ||||
| 	default: | ||||
| 		return newSingularConverter(t, fd) | ||||
| 	} | ||||
| 	panic(fmt.Sprintf("invalid Go type %v for field %v", t, fd.FullName())) | ||||
| } | ||||
|  | ||||
| var ( | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/google.golang.org/protobuf/internal/order/order.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/google.golang.org/protobuf/internal/order/order.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -33,7 +33,7 @@ var ( | ||||
| 			return !inOneof(ox) && inOneof(oy) | ||||
| 		} | ||||
| 		// Fields in disjoint oneof sets are sorted by declaration index. | ||||
| 		if ox != nil && oy != nil && ox != oy { | ||||
| 		if inOneof(ox) && inOneof(oy) && ox != oy { | ||||
| 			return ox.Index() < oy.Index() | ||||
| 		} | ||||
| 		// Fields sorted by field number. | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/google.golang.org/protobuf/internal/strs/strings_unsafe.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/google.golang.org/protobuf/internal/strs/strings_unsafe.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -87,7 +87,7 @@ func (sb *Builder) grow(n int) { | ||||
| 	// Unlike strings.Builder, we do not need to copy over the contents | ||||
| 	// of the old buffer since our builder provides no API for | ||||
| 	// retrieving previously created strings. | ||||
| 	sb.buf = make([]byte, 2*(cap(sb.buf)+n)) | ||||
| 	sb.buf = make([]byte, 0, 2*(cap(sb.buf)+n)) | ||||
| } | ||||
|  | ||||
| func (sb *Builder) last(n int) string { | ||||
|   | ||||
							
								
								
									
										4
									
								
								vendor/google.golang.org/protobuf/internal/version/version.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/google.golang.org/protobuf/internal/version/version.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -51,8 +51,8 @@ import ( | ||||
| //  10. Send out the CL for review and submit it. | ||||
| const ( | ||||
| 	Major      = 1 | ||||
| 	Minor      = 28 | ||||
| 	Patch      = 1 | ||||
| 	Minor      = 31 | ||||
| 	Patch      = 0 | ||||
| 	PreRelease = "" | ||||
| ) | ||||
|  | ||||
|   | ||||
							
								
								
									
										9
									
								
								vendor/google.golang.org/protobuf/proto/doc.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										9
									
								
								vendor/google.golang.org/protobuf/proto/doc.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -5,16 +5,13 @@ | ||||
| // Package proto provides functions operating on protocol buffer messages. | ||||
| // | ||||
| // For documentation on protocol buffers in general, see: | ||||
| // | ||||
| //	https://developers.google.com/protocol-buffers | ||||
| // https://protobuf.dev. | ||||
| // | ||||
| // For a tutorial on using protocol buffers with Go, see: | ||||
| // | ||||
| //	https://developers.google.com/protocol-buffers/docs/gotutorial | ||||
| // https://protobuf.dev/getting-started/gotutorial. | ||||
| // | ||||
| // For a guide to generated Go protocol buffer code, see: | ||||
| // | ||||
| //	https://developers.google.com/protocol-buffers/docs/reference/go-generated | ||||
| // https://protobuf.dev/reference/go/go-generated. | ||||
| // | ||||
| // # Binary serialization | ||||
| // | ||||
|   | ||||
							
								
								
									
										172
									
								
								vendor/google.golang.org/protobuf/proto/equal.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										172
									
								
								vendor/google.golang.org/protobuf/proto/equal.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -5,30 +5,39 @@ | ||||
| package proto | ||||
|  | ||||
| import ( | ||||
| 	"bytes" | ||||
| 	"math" | ||||
| 	"reflect" | ||||
|  | ||||
| 	"google.golang.org/protobuf/encoding/protowire" | ||||
| 	"google.golang.org/protobuf/reflect/protoreflect" | ||||
| ) | ||||
|  | ||||
| // Equal reports whether two messages are equal. | ||||
| // If two messages marshal to the same bytes under deterministic serialization, | ||||
| // then Equal is guaranteed to report true. | ||||
| // Equal reports whether two messages are equal, | ||||
| // by recursively comparing the fields of the message. | ||||
| // | ||||
| // Two messages are equal if they belong to the same message descriptor, | ||||
| // have the same set of populated known and extension field values, | ||||
| // and the same set of unknown fields values. If either of the top-level | ||||
| // messages are invalid, then Equal reports true only if both are invalid. | ||||
| //   - Bytes fields are equal if they contain identical bytes. | ||||
| //     Empty bytes (regardless of nil-ness) are considered equal. | ||||
| // | ||||
| // Scalar values are compared with the equivalent of the == operator in Go, | ||||
| // except bytes values which are compared using bytes.Equal and | ||||
| // floating point values which specially treat NaNs as equal. | ||||
| // Message values are compared by recursively calling Equal. | ||||
| // Lists are equal if each element value is also equal. | ||||
| // Maps are equal if they have the same set of keys, where the pair of values | ||||
| // for each key is also equal. | ||||
| //   - Floating-point fields are equal if they contain the same value. | ||||
| //     Unlike the == operator, a NaN is equal to another NaN. | ||||
| // | ||||
| //   - Other scalar fields are equal if they contain the same value. | ||||
| // | ||||
| //   - Message fields are equal if they have | ||||
| //     the same set of populated known and extension field values, and | ||||
| //     the same set of unknown fields values. | ||||
| // | ||||
| //   - Lists are equal if they are the same length and | ||||
| //     each corresponding element is equal. | ||||
| // | ||||
| //   - Maps are equal if they have the same set of keys and | ||||
| //     the corresponding value for each key is equal. | ||||
| // | ||||
| // An invalid message is not equal to a valid message. | ||||
| // An invalid message is only equal to another invalid message of the | ||||
| // same type. An invalid message often corresponds to a nil pointer | ||||
| // of the concrete message type. For example, (*pb.M)(nil) is not equal | ||||
| // to &pb.M{}. | ||||
| // If two valid messages marshal to the same bytes under deterministic | ||||
| // serialization, then Equal is guaranteed to report true. | ||||
| func Equal(x, y Message) bool { | ||||
| 	if x == nil || y == nil { | ||||
| 		return x == nil && y == nil | ||||
| @@ -42,130 +51,7 @@ func Equal(x, y Message) bool { | ||||
| 	if mx.IsValid() != my.IsValid() { | ||||
| 		return false | ||||
| 	} | ||||
| 	return equalMessage(mx, my) | ||||
| } | ||||
|  | ||||
| // equalMessage compares two messages. | ||||
| func equalMessage(mx, my protoreflect.Message) bool { | ||||
| 	if mx.Descriptor() != my.Descriptor() { | ||||
| 		return false | ||||
| 	} | ||||
|  | ||||
| 	nx := 0 | ||||
| 	equal := true | ||||
| 	mx.Range(func(fd protoreflect.FieldDescriptor, vx protoreflect.Value) bool { | ||||
| 		nx++ | ||||
| 		vy := my.Get(fd) | ||||
| 		equal = my.Has(fd) && equalField(fd, vx, vy) | ||||
| 		return equal | ||||
| 	}) | ||||
| 	if !equal { | ||||
| 		return false | ||||
| 	} | ||||
| 	ny := 0 | ||||
| 	my.Range(func(fd protoreflect.FieldDescriptor, vx protoreflect.Value) bool { | ||||
| 		ny++ | ||||
| 		return true | ||||
| 	}) | ||||
| 	if nx != ny { | ||||
| 		return false | ||||
| 	} | ||||
|  | ||||
| 	return equalUnknown(mx.GetUnknown(), my.GetUnknown()) | ||||
| } | ||||
|  | ||||
| // equalField compares two fields. | ||||
| func equalField(fd protoreflect.FieldDescriptor, x, y protoreflect.Value) bool { | ||||
| 	switch { | ||||
| 	case fd.IsList(): | ||||
| 		return equalList(fd, x.List(), y.List()) | ||||
| 	case fd.IsMap(): | ||||
| 		return equalMap(fd, x.Map(), y.Map()) | ||||
| 	default: | ||||
| 		return equalValue(fd, x, y) | ||||
| 	} | ||||
| } | ||||
|  | ||||
| // equalMap compares two maps. | ||||
| func equalMap(fd protoreflect.FieldDescriptor, x, y protoreflect.Map) bool { | ||||
| 	if x.Len() != y.Len() { | ||||
| 		return false | ||||
| 	} | ||||
| 	equal := true | ||||
| 	x.Range(func(k protoreflect.MapKey, vx protoreflect.Value) bool { | ||||
| 		vy := y.Get(k) | ||||
| 		equal = y.Has(k) && equalValue(fd.MapValue(), vx, vy) | ||||
| 		return equal | ||||
| 	}) | ||||
| 	return equal | ||||
| } | ||||
|  | ||||
| // equalList compares two lists. | ||||
| func equalList(fd protoreflect.FieldDescriptor, x, y protoreflect.List) bool { | ||||
| 	if x.Len() != y.Len() { | ||||
| 		return false | ||||
| 	} | ||||
| 	for i := x.Len() - 1; i >= 0; i-- { | ||||
| 		if !equalValue(fd, x.Get(i), y.Get(i)) { | ||||
| 			return false | ||||
| 		} | ||||
| 	} | ||||
| 	return true | ||||
| } | ||||
|  | ||||
| // equalValue compares two singular values. | ||||
| func equalValue(fd protoreflect.FieldDescriptor, x, y protoreflect.Value) bool { | ||||
| 	switch fd.Kind() { | ||||
| 	case protoreflect.BoolKind: | ||||
| 		return x.Bool() == y.Bool() | ||||
| 	case protoreflect.EnumKind: | ||||
| 		return x.Enum() == y.Enum() | ||||
| 	case protoreflect.Int32Kind, protoreflect.Sint32Kind, | ||||
| 		protoreflect.Int64Kind, protoreflect.Sint64Kind, | ||||
| 		protoreflect.Sfixed32Kind, protoreflect.Sfixed64Kind: | ||||
| 		return x.Int() == y.Int() | ||||
| 	case protoreflect.Uint32Kind, protoreflect.Uint64Kind, | ||||
| 		protoreflect.Fixed32Kind, protoreflect.Fixed64Kind: | ||||
| 		return x.Uint() == y.Uint() | ||||
| 	case protoreflect.FloatKind, protoreflect.DoubleKind: | ||||
| 		fx := x.Float() | ||||
| 		fy := y.Float() | ||||
| 		if math.IsNaN(fx) || math.IsNaN(fy) { | ||||
| 			return math.IsNaN(fx) && math.IsNaN(fy) | ||||
| 		} | ||||
| 		return fx == fy | ||||
| 	case protoreflect.StringKind: | ||||
| 		return x.String() == y.String() | ||||
| 	case protoreflect.BytesKind: | ||||
| 		return bytes.Equal(x.Bytes(), y.Bytes()) | ||||
| 	case protoreflect.MessageKind, protoreflect.GroupKind: | ||||
| 		return equalMessage(x.Message(), y.Message()) | ||||
| 	default: | ||||
| 		return x.Interface() == y.Interface() | ||||
| 	} | ||||
| } | ||||
|  | ||||
| // equalUnknown compares unknown fields by direct comparison on the raw bytes | ||||
| // of each individual field number. | ||||
| func equalUnknown(x, y protoreflect.RawFields) bool { | ||||
| 	if len(x) != len(y) { | ||||
| 		return false | ||||
| 	} | ||||
| 	if bytes.Equal([]byte(x), []byte(y)) { | ||||
| 		return true | ||||
| 	} | ||||
|  | ||||
| 	mx := make(map[protoreflect.FieldNumber]protoreflect.RawFields) | ||||
| 	my := make(map[protoreflect.FieldNumber]protoreflect.RawFields) | ||||
| 	for len(x) > 0 { | ||||
| 		fnum, _, n := protowire.ConsumeField(x) | ||||
| 		mx[fnum] = append(mx[fnum], x[:n]...) | ||||
| 		x = x[n:] | ||||
| 	} | ||||
| 	for len(y) > 0 { | ||||
| 		fnum, _, n := protowire.ConsumeField(y) | ||||
| 		my[fnum] = append(my[fnum], y[:n]...) | ||||
| 		y = y[n:] | ||||
| 	} | ||||
| 	return reflect.DeepEqual(mx, my) | ||||
| 	vx := protoreflect.ValueOfMessage(mx) | ||||
| 	vy := protoreflect.ValueOfMessage(my) | ||||
| 	return vx.Equal(vy) | ||||
| } | ||||
|   | ||||
							
								
								
									
										10
									
								
								vendor/google.golang.org/protobuf/proto/size.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								vendor/google.golang.org/protobuf/proto/size.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -73,23 +73,27 @@ func (o MarshalOptions) sizeField(fd protoreflect.FieldDescriptor, value protore | ||||
| } | ||||
|  | ||||
| func (o MarshalOptions) sizeList(num protowire.Number, fd protoreflect.FieldDescriptor, list protoreflect.List) (size int) { | ||||
| 	sizeTag := protowire.SizeTag(num) | ||||
|  | ||||
| 	if fd.IsPacked() && list.Len() > 0 { | ||||
| 		content := 0 | ||||
| 		for i, llen := 0, list.Len(); i < llen; i++ { | ||||
| 			content += o.sizeSingular(num, fd.Kind(), list.Get(i)) | ||||
| 		} | ||||
| 		return protowire.SizeTag(num) + protowire.SizeBytes(content) | ||||
| 		return sizeTag + protowire.SizeBytes(content) | ||||
| 	} | ||||
|  | ||||
| 	for i, llen := 0, list.Len(); i < llen; i++ { | ||||
| 		size += protowire.SizeTag(num) + o.sizeSingular(num, fd.Kind(), list.Get(i)) | ||||
| 		size += sizeTag + o.sizeSingular(num, fd.Kind(), list.Get(i)) | ||||
| 	} | ||||
| 	return size | ||||
| } | ||||
|  | ||||
| func (o MarshalOptions) sizeMap(num protowire.Number, fd protoreflect.FieldDescriptor, mapv protoreflect.Map) (size int) { | ||||
| 	sizeTag := protowire.SizeTag(num) | ||||
|  | ||||
| 	mapv.Range(func(key protoreflect.MapKey, value protoreflect.Value) bool { | ||||
| 		size += protowire.SizeTag(num) | ||||
| 		size += sizeTag | ||||
| 		size += protowire.SizeBytes(o.sizeField(fd.MapKey(), key.Value()) + o.sizeField(fd.MapValue(), value)) | ||||
| 		return true | ||||
| 	}) | ||||
|   | ||||
							
								
								
									
										41
									
								
								vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										41
									
								
								vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -35,6 +35,8 @@ func (p *SourcePath) appendFileDescriptorProto(b []byte) []byte { | ||||
| 		b = p.appendSingularField(b, "source_code_info", (*SourcePath).appendSourceCodeInfo) | ||||
| 	case 12: | ||||
| 		b = p.appendSingularField(b, "syntax", nil) | ||||
| 	case 13: | ||||
| 		b = p.appendSingularField(b, "edition", nil) | ||||
| 	} | ||||
| 	return b | ||||
| } | ||||
| @@ -236,6 +238,8 @@ func (p *SourcePath) appendMessageOptions(b []byte) []byte { | ||||
| 		b = p.appendSingularField(b, "deprecated", nil) | ||||
| 	case 7: | ||||
| 		b = p.appendSingularField(b, "map_entry", nil) | ||||
| 	case 11: | ||||
| 		b = p.appendSingularField(b, "deprecated_legacy_json_field_conflicts", nil) | ||||
| 	case 999: | ||||
| 		b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption) | ||||
| 	} | ||||
| @@ -279,6 +283,8 @@ func (p *SourcePath) appendEnumOptions(b []byte) []byte { | ||||
| 		b = p.appendSingularField(b, "allow_alias", nil) | ||||
| 	case 3: | ||||
| 		b = p.appendSingularField(b, "deprecated", nil) | ||||
| 	case 6: | ||||
| 		b = p.appendSingularField(b, "deprecated_legacy_json_field_conflicts", nil) | ||||
| 	case 999: | ||||
| 		b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption) | ||||
| 	} | ||||
| @@ -345,10 +351,20 @@ func (p *SourcePath) appendFieldOptions(b []byte) []byte { | ||||
| 		b = p.appendSingularField(b, "jstype", nil) | ||||
| 	case 5: | ||||
| 		b = p.appendSingularField(b, "lazy", nil) | ||||
| 	case 15: | ||||
| 		b = p.appendSingularField(b, "unverified_lazy", nil) | ||||
| 	case 3: | ||||
| 		b = p.appendSingularField(b, "deprecated", nil) | ||||
| 	case 10: | ||||
| 		b = p.appendSingularField(b, "weak", nil) | ||||
| 	case 16: | ||||
| 		b = p.appendSingularField(b, "debug_redact", nil) | ||||
| 	case 17: | ||||
| 		b = p.appendSingularField(b, "retention", nil) | ||||
| 	case 18: | ||||
| 		b = p.appendSingularField(b, "target", nil) | ||||
| 	case 19: | ||||
| 		b = p.appendRepeatedField(b, "targets", nil) | ||||
| 	case 999: | ||||
| 		b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption) | ||||
| 	} | ||||
| @@ -404,6 +420,10 @@ func (p *SourcePath) appendExtensionRangeOptions(b []byte) []byte { | ||||
| 	switch (*p)[0] { | ||||
| 	case 999: | ||||
| 		b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption) | ||||
| 	case 2: | ||||
| 		b = p.appendRepeatedField(b, "declaration", (*SourcePath).appendExtensionRangeOptions_Declaration) | ||||
| 	case 3: | ||||
| 		b = p.appendSingularField(b, "verification", nil) | ||||
| 	} | ||||
| 	return b | ||||
| } | ||||
| @@ -459,3 +479,24 @@ func (p *SourcePath) appendUninterpretedOption_NamePart(b []byte) []byte { | ||||
| 	} | ||||
| 	return b | ||||
| } | ||||
|  | ||||
| func (p *SourcePath) appendExtensionRangeOptions_Declaration(b []byte) []byte { | ||||
| 	if len(*p) == 0 { | ||||
| 		return b | ||||
| 	} | ||||
| 	switch (*p)[0] { | ||||
| 	case 1: | ||||
| 		b = p.appendSingularField(b, "number", nil) | ||||
| 	case 2: | ||||
| 		b = p.appendSingularField(b, "full_name", nil) | ||||
| 	case 3: | ||||
| 		b = p.appendSingularField(b, "type", nil) | ||||
| 	case 4: | ||||
| 		b = p.appendSingularField(b, "is_repeated", nil) | ||||
| 	case 5: | ||||
| 		b = p.appendSingularField(b, "reserved", nil) | ||||
| 	case 6: | ||||
| 		b = p.appendSingularField(b, "repeated", nil) | ||||
| 	} | ||||
| 	return b | ||||
| } | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/google.golang.org/protobuf/reflect/protoreflect/value.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/google.golang.org/protobuf/reflect/protoreflect/value.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -148,7 +148,7 @@ type Message interface { | ||||
| 	// be preserved in marshaling or other operations. | ||||
| 	IsValid() bool | ||||
|  | ||||
| 	// ProtoMethods returns optional fast-path implementions of various operations. | ||||
| 	// ProtoMethods returns optional fast-path implementations of various operations. | ||||
| 	// This method may return nil. | ||||
| 	// | ||||
| 	// The returned methods type is identical to | ||||
|   | ||||
							
								
								
									
										168
									
								
								vendor/google.golang.org/protobuf/reflect/protoreflect/value_equal.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										168
									
								
								vendor/google.golang.org/protobuf/reflect/protoreflect/value_equal.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,168 @@ | ||||
| // Copyright 2022 The Go Authors. All rights reserved. | ||||
| // Use of this source code is governed by a BSD-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| package protoreflect | ||||
|  | ||||
| import ( | ||||
| 	"bytes" | ||||
| 	"fmt" | ||||
| 	"math" | ||||
| 	"reflect" | ||||
|  | ||||
| 	"google.golang.org/protobuf/encoding/protowire" | ||||
| ) | ||||
|  | ||||
| // Equal reports whether v1 and v2 are recursively equal. | ||||
| // | ||||
| //   - Values of different types are always unequal. | ||||
| // | ||||
| //   - Bytes values are equal if they contain identical bytes. | ||||
| //     Empty bytes (regardless of nil-ness) are considered equal. | ||||
| // | ||||
| //   - Floating point values are equal if they contain the same value. | ||||
| //     Unlike the == operator, a NaN is equal to another NaN. | ||||
| // | ||||
| //   - Enums are equal if they contain the same number. | ||||
| //     Since Value does not contain an enum descriptor, | ||||
| //     enum values do not consider the type of the enum. | ||||
| // | ||||
| //   - Other scalar values are equal if they contain the same value. | ||||
| // | ||||
| //   - Message values are equal if they belong to the same message descriptor, | ||||
| //     have the same set of populated known and extension field values, | ||||
| //     and the same set of unknown fields values. | ||||
| // | ||||
| //   - Lists are equal if they are the same length and | ||||
| //     each corresponding element is equal. | ||||
| // | ||||
| //   - Maps are equal if they have the same set of keys and | ||||
| //     the corresponding value for each key is equal. | ||||
| func (v1 Value) Equal(v2 Value) bool { | ||||
| 	return equalValue(v1, v2) | ||||
| } | ||||
|  | ||||
| func equalValue(x, y Value) bool { | ||||
| 	eqType := x.typ == y.typ | ||||
| 	switch x.typ { | ||||
| 	case nilType: | ||||
| 		return eqType | ||||
| 	case boolType: | ||||
| 		return eqType && x.Bool() == y.Bool() | ||||
| 	case int32Type, int64Type: | ||||
| 		return eqType && x.Int() == y.Int() | ||||
| 	case uint32Type, uint64Type: | ||||
| 		return eqType && x.Uint() == y.Uint() | ||||
| 	case float32Type, float64Type: | ||||
| 		return eqType && equalFloat(x.Float(), y.Float()) | ||||
| 	case stringType: | ||||
| 		return eqType && x.String() == y.String() | ||||
| 	case bytesType: | ||||
| 		return eqType && bytes.Equal(x.Bytes(), y.Bytes()) | ||||
| 	case enumType: | ||||
| 		return eqType && x.Enum() == y.Enum() | ||||
| 	default: | ||||
| 		switch x := x.Interface().(type) { | ||||
| 		case Message: | ||||
| 			y, ok := y.Interface().(Message) | ||||
| 			return ok && equalMessage(x, y) | ||||
| 		case List: | ||||
| 			y, ok := y.Interface().(List) | ||||
| 			return ok && equalList(x, y) | ||||
| 		case Map: | ||||
| 			y, ok := y.Interface().(Map) | ||||
| 			return ok && equalMap(x, y) | ||||
| 		default: | ||||
| 			panic(fmt.Sprintf("unknown type: %T", x)) | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| // equalFloat compares two floats, where NaNs are treated as equal. | ||||
| func equalFloat(x, y float64) bool { | ||||
| 	if math.IsNaN(x) || math.IsNaN(y) { | ||||
| 		return math.IsNaN(x) && math.IsNaN(y) | ||||
| 	} | ||||
| 	return x == y | ||||
| } | ||||
|  | ||||
| // equalMessage compares two messages. | ||||
| func equalMessage(mx, my Message) bool { | ||||
| 	if mx.Descriptor() != my.Descriptor() { | ||||
| 		return false | ||||
| 	} | ||||
|  | ||||
| 	nx := 0 | ||||
| 	equal := true | ||||
| 	mx.Range(func(fd FieldDescriptor, vx Value) bool { | ||||
| 		nx++ | ||||
| 		vy := my.Get(fd) | ||||
| 		equal = my.Has(fd) && equalValue(vx, vy) | ||||
| 		return equal | ||||
| 	}) | ||||
| 	if !equal { | ||||
| 		return false | ||||
| 	} | ||||
| 	ny := 0 | ||||
| 	my.Range(func(fd FieldDescriptor, vx Value) bool { | ||||
| 		ny++ | ||||
| 		return true | ||||
| 	}) | ||||
| 	if nx != ny { | ||||
| 		return false | ||||
| 	} | ||||
|  | ||||
| 	return equalUnknown(mx.GetUnknown(), my.GetUnknown()) | ||||
| } | ||||
|  | ||||
| // equalList compares two lists. | ||||
| func equalList(x, y List) bool { | ||||
| 	if x.Len() != y.Len() { | ||||
| 		return false | ||||
| 	} | ||||
| 	for i := x.Len() - 1; i >= 0; i-- { | ||||
| 		if !equalValue(x.Get(i), y.Get(i)) { | ||||
| 			return false | ||||
| 		} | ||||
| 	} | ||||
| 	return true | ||||
| } | ||||
|  | ||||
| // equalMap compares two maps. | ||||
| func equalMap(x, y Map) bool { | ||||
| 	if x.Len() != y.Len() { | ||||
| 		return false | ||||
| 	} | ||||
| 	equal := true | ||||
| 	x.Range(func(k MapKey, vx Value) bool { | ||||
| 		vy := y.Get(k) | ||||
| 		equal = y.Has(k) && equalValue(vx, vy) | ||||
| 		return equal | ||||
| 	}) | ||||
| 	return equal | ||||
| } | ||||
|  | ||||
| // equalUnknown compares unknown fields by direct comparison on the raw bytes | ||||
| // of each individual field number. | ||||
| func equalUnknown(x, y RawFields) bool { | ||||
| 	if len(x) != len(y) { | ||||
| 		return false | ||||
| 	} | ||||
| 	if bytes.Equal([]byte(x), []byte(y)) { | ||||
| 		return true | ||||
| 	} | ||||
|  | ||||
| 	mx := make(map[FieldNumber]RawFields) | ||||
| 	my := make(map[FieldNumber]RawFields) | ||||
| 	for len(x) > 0 { | ||||
| 		fnum, _, n := protowire.ConsumeField(x) | ||||
| 		mx[fnum] = append(mx[fnum], x[:n]...) | ||||
| 		x = x[n:] | ||||
| 	} | ||||
| 	for len(y) > 0 { | ||||
| 		fnum, _, n := protowire.ConsumeField(y) | ||||
| 		my[fnum] = append(my[fnum], y[:n]...) | ||||
| 		y = y[n:] | ||||
| 	} | ||||
| 	return reflect.DeepEqual(mx, my) | ||||
| } | ||||
							
								
								
									
										4
									
								
								vendor/google.golang.org/protobuf/reflect/protoreflect/value_union.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/google.golang.org/protobuf/reflect/protoreflect/value_union.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -54,11 +54,11 @@ import ( | ||||
| //	// Append a 0 to a "repeated int32" field. | ||||
| //	// Since the Value returned by Mutable is guaranteed to alias | ||||
| //	// the source message, modifying the Value modifies the message. | ||||
| //	message.Mutable(fieldDesc).(List).Append(protoreflect.ValueOfInt32(0)) | ||||
| //	message.Mutable(fieldDesc).List().Append(protoreflect.ValueOfInt32(0)) | ||||
| // | ||||
| //	// Assign [0] to a "repeated int32" field by creating a new Value, | ||||
| //	// modifying it, and assigning it. | ||||
| //	list := message.NewField(fieldDesc).(List) | ||||
| //	list := message.NewField(fieldDesc).List() | ||||
| //	list.Append(protoreflect.ValueOfInt32(0)) | ||||
| //	message.Set(fieldDesc, list) | ||||
| //	// ERROR: Since it is not defined whether Set aliases the source, | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/google.golang.org/protobuf/reflect/protoregistry/registry.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/google.golang.org/protobuf/reflect/protoregistry/registry.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -46,7 +46,7 @@ var conflictPolicy = "panic" // "panic" | "warn" | "ignore" | ||||
| // It is a variable so that the behavior is easily overridden in another file. | ||||
| var ignoreConflict = func(d protoreflect.Descriptor, err error) bool { | ||||
| 	const env = "GOLANG_PROTOBUF_REGISTRATION_CONFLICT" | ||||
| 	const faq = "https://developers.google.com/protocol-buffers/docs/reference/go/faq#namespace-conflict" | ||||
| 	const faq = "https://protobuf.dev/reference/go/faq#namespace-conflict" | ||||
| 	policy := conflictPolicy | ||||
| 	if v := os.Getenv(env); v != "" { | ||||
| 		policy = v | ||||
|   | ||||
							
								
								
									
										1878
									
								
								vendor/google.golang.org/protobuf/types/descriptorpb/descriptor.pb.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1878
									
								
								vendor/google.golang.org/protobuf/types/descriptorpb/descriptor.pb.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										63
									
								
								vendor/google.golang.org/protobuf/types/known/timestamppb/timestamp.pb.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										63
									
								
								vendor/google.golang.org/protobuf/types/known/timestamppb/timestamp.pb.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -36,8 +36,7 @@ | ||||
| // The Timestamp message represents a timestamp, | ||||
| // an instant in time since the Unix epoch (January 1st, 1970). | ||||
| // | ||||
| // | ||||
| // Conversion to a Go Time | ||||
| // # Conversion to a Go Time | ||||
| // | ||||
| // The AsTime method can be used to convert a Timestamp message to a | ||||
| // standard Go time.Time value in UTC: | ||||
| @@ -59,8 +58,7 @@ | ||||
| //		... // handle error | ||||
| //	} | ||||
| // | ||||
| // | ||||
| // Conversion from a Go Time | ||||
| // # Conversion from a Go Time | ||||
| // | ||||
| // The timestamppb.New function can be used to construct a Timestamp message | ||||
| // from a standard Go time.Time value: | ||||
| @@ -72,7 +70,6 @@ | ||||
| // | ||||
| //	ts := timestamppb.Now() | ||||
| //	... // make use of ts as a *timestamppb.Timestamp | ||||
| // | ||||
| package timestamppb | ||||
|  | ||||
| import ( | ||||
| @@ -101,52 +98,50 @@ import ( | ||||
| // | ||||
| // Example 1: Compute Timestamp from POSIX `time()`. | ||||
| // | ||||
| //     Timestamp timestamp; | ||||
| //     timestamp.set_seconds(time(NULL)); | ||||
| //     timestamp.set_nanos(0); | ||||
| //	Timestamp timestamp; | ||||
| //	timestamp.set_seconds(time(NULL)); | ||||
| //	timestamp.set_nanos(0); | ||||
| // | ||||
| // Example 2: Compute Timestamp from POSIX `gettimeofday()`. | ||||
| // | ||||
| //     struct timeval tv; | ||||
| //     gettimeofday(&tv, NULL); | ||||
| //	struct timeval tv; | ||||
| //	gettimeofday(&tv, NULL); | ||||
| // | ||||
| //     Timestamp timestamp; | ||||
| //     timestamp.set_seconds(tv.tv_sec); | ||||
| //     timestamp.set_nanos(tv.tv_usec * 1000); | ||||
| //	Timestamp timestamp; | ||||
| //	timestamp.set_seconds(tv.tv_sec); | ||||
| //	timestamp.set_nanos(tv.tv_usec * 1000); | ||||
| // | ||||
| // Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. | ||||
| // | ||||
| //     FILETIME ft; | ||||
| //     GetSystemTimeAsFileTime(&ft); | ||||
| //     UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; | ||||
| //	FILETIME ft; | ||||
| //	GetSystemTimeAsFileTime(&ft); | ||||
| //	UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; | ||||
| // | ||||
| //     // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z | ||||
| //     // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. | ||||
| //     Timestamp timestamp; | ||||
| //     timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); | ||||
| //     timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); | ||||
| //	// A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z | ||||
| //	// is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. | ||||
| //	Timestamp timestamp; | ||||
| //	timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); | ||||
| //	timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); | ||||
| // | ||||
| // Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. | ||||
| // | ||||
| //     long millis = System.currentTimeMillis(); | ||||
| // | ||||
| //     Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) | ||||
| //         .setNanos((int) ((millis % 1000) * 1000000)).build(); | ||||
| //	long millis = System.currentTimeMillis(); | ||||
| // | ||||
| //	Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) | ||||
| //	    .setNanos((int) ((millis % 1000) * 1000000)).build(); | ||||
| // | ||||
| // Example 5: Compute Timestamp from Java `Instant.now()`. | ||||
| // | ||||
| //     Instant now = Instant.now(); | ||||
| // | ||||
| //     Timestamp timestamp = | ||||
| //         Timestamp.newBuilder().setSeconds(now.getEpochSecond()) | ||||
| //             .setNanos(now.getNano()).build(); | ||||
| //	Instant now = Instant.now(); | ||||
| // | ||||
| //	Timestamp timestamp = | ||||
| //	    Timestamp.newBuilder().setSeconds(now.getEpochSecond()) | ||||
| //	        .setNanos(now.getNano()).build(); | ||||
| // | ||||
| // Example 6: Compute Timestamp from current time in Python. | ||||
| // | ||||
| //     timestamp = Timestamp() | ||||
| //     timestamp.GetCurrentTime() | ||||
| //	timestamp = Timestamp() | ||||
| //	timestamp.GetCurrentTime() | ||||
| // | ||||
| // # JSON Mapping | ||||
| // | ||||
| @@ -172,10 +167,8 @@ import ( | ||||
| // [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with | ||||
| // the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use | ||||
| // the Joda Time's [`ISODateTimeFormat.dateTime()`]( | ||||
| // http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D | ||||
| // http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime() | ||||
| // ) to obtain a formatter capable of generating timestamps in this format. | ||||
| // | ||||
| // | ||||
| type Timestamp struct { | ||||
| 	state         protoimpl.MessageState | ||||
| 	sizeCache     protoimpl.SizeCache | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Ingo Oppermann
					Ingo Oppermann