| // Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| part of protoc; |
| |
| PbMixin wellKnownMixinForFullName(String qualifiedName) => |
| _wellKnownMixins[qualifiedName]; |
| |
| const _wellKnownMixins = { |
| 'google.protobuf.Any': PbMixin('AnyMixin', |
| importFrom: 'package:protobuf/src/protobuf/mixins/well_known.dart', |
| injectedHelpers: [ |
| ''' |
| /// Creates a new [Any] encoding [message]. |
| /// |
| /// The [typeUrl] will be [typeUrlPrefix]/`fullName` where `fullName` is |
| /// the fully qualified name of the type of [message]. |
| static Any pack($_protobufImportPrefix.GeneratedMessage message, |
| {$_coreImportPrefix.String typeUrlPrefix = 'type.googleapis.com'}) { |
| final result = create(); |
| $_mixinImportPrefix.AnyMixin.packIntoAny(result, message, |
| typeUrlPrefix: typeUrlPrefix); |
| return result; |
| }''' |
| ]), |
| 'google.protobuf.Timestamp': PbMixin('TimestampMixin', |
| importFrom: 'package:protobuf/src/protobuf/mixins/well_known.dart', |
| injectedHelpers: [ |
| ''' |
| /// Creates a new instance from [dateTime]. |
| /// |
| /// Time zone information will not be preserved. |
| static Timestamp fromDateTime($_coreImportPrefix.DateTime dateTime) { |
| final result = create(); |
| $_mixinImportPrefix.TimestampMixin.setFromDateTime(result, dateTime); |
| return result; |
| }''' |
| ]), |
| }; |