55// See also: https://pub.dev/packages/pigeon
66
77#import " FirestoreMessages.g.h"
8- #import " FLTFirebaseFirestoreReader.h"
9- #import " FLTFirebaseFirestoreWriter.h"
108
119#if TARGET_OS_OSX
1210#import < FlutterMacOS/FlutterMacOS.h>
@@ -168,6 +166,18 @@ + (nullable PigeonQuerySnapshot *)nullableFromList:(NSArray *)list;
168166- (NSArray *)toList ;
169167@end
170168
169+ @interface PigeonPipelineResult ()
170+ + (PigeonPipelineResult *)fromList : (NSArray *)list ;
171+ + (nullable PigeonPipelineResult *)nullableFromList : (NSArray *)list ;
172+ - (NSArray *)toList ;
173+ @end
174+
175+ @interface PigeonPipelineSnapshot ()
176+ + (PigeonPipelineSnapshot *)fromList : (NSArray *)list ;
177+ + (nullable PigeonPipelineSnapshot *)nullableFromList : (NSArray *)list ;
178+ - (NSArray *)toList ;
179+ @end
180+
171181@interface PigeonGetOptions ()
172182+ (PigeonGetOptions *)fromList : (NSArray *)list ;
173183+ (nullable PigeonGetOptions *)nullableFromList : (NSArray *)list ;
@@ -349,7 +359,7 @@ + (instancetype)makeWithType:(DocumentChangeType)type
349359 pigeonResult.type = type;
350360 pigeonResult.document = document;
351361 pigeonResult.oldIndex = oldIndex;
352- pigeonResult.index = newIndex;
362+ pigeonResult.newIndex = newIndex;
353363 return pigeonResult;
354364}
355365+ (PigeonDocumentChange *)fromList : (NSArray *)list {
@@ -360,8 +370,8 @@ + (PigeonDocumentChange *)fromList:(NSArray *)list {
360370 NSAssert (pigeonResult.document != nil , @" " );
361371 pigeonResult.oldIndex = GetNullableObjectAtIndex (list, 2 );
362372 NSAssert (pigeonResult.oldIndex != nil , @" " );
363- pigeonResult.index = GetNullableObjectAtIndex (list, 3 );
364- NSAssert (pigeonResult.index != nil , @" " );
373+ pigeonResult.newIndex = GetNullableObjectAtIndex (list, 3 );
374+ NSAssert (pigeonResult.newIndex != nil , @" " );
365375 return pigeonResult;
366376}
367377+ (nullable PigeonDocumentChange *)nullableFromList : (NSArray *)list {
@@ -372,7 +382,7 @@ - (NSArray *)toList {
372382 @(self .type),
373383 (self .document ? [self .document toList ] : [NSNull null ]),
374384 (self .oldIndex ?: [NSNull null ]),
375- (self .index ?: [NSNull null ]),
385+ (self .newIndex ?: [NSNull null ]),
376386 ];
377387}
378388@end
@@ -410,6 +420,65 @@ - (NSArray *)toList {
410420}
411421@end
412422
423+ @implementation PigeonPipelineResult
424+ + (instancetype )makeWithDocumentPath : (NSString *)documentPath
425+ createTime : (NSNumber *)createTime
426+ updateTime : (NSNumber *)updateTime {
427+ PigeonPipelineResult *pigeonResult = [[PigeonPipelineResult alloc ] init ];
428+ pigeonResult.documentPath = documentPath;
429+ pigeonResult.createTime = createTime;
430+ pigeonResult.updateTime = updateTime;
431+ return pigeonResult;
432+ }
433+ + (PigeonPipelineResult *)fromList : (NSArray *)list {
434+ PigeonPipelineResult *pigeonResult = [[PigeonPipelineResult alloc ] init ];
435+ pigeonResult.documentPath = GetNullableObjectAtIndex (list, 0 );
436+ NSAssert (pigeonResult.documentPath != nil , @" " );
437+ pigeonResult.createTime = GetNullableObjectAtIndex (list, 1 );
438+ NSAssert (pigeonResult.createTime != nil , @" " );
439+ pigeonResult.updateTime = GetNullableObjectAtIndex (list, 2 );
440+ NSAssert (pigeonResult.updateTime != nil , @" " );
441+ return pigeonResult;
442+ }
443+ + (nullable PigeonPipelineResult *)nullableFromList : (NSArray *)list {
444+ return (list) ? [PigeonPipelineResult fromList: list] : nil ;
445+ }
446+ - (NSArray *)toList {
447+ return @[
448+ (self .documentPath ?: [NSNull null ]),
449+ (self .createTime ?: [NSNull null ]),
450+ (self .updateTime ?: [NSNull null ]),
451+ ];
452+ }
453+ @end
454+
455+ @implementation PigeonPipelineSnapshot
456+ + (instancetype )makeWithResults : (NSArray <PigeonPipelineResult *> *)results
457+ executionTime : (NSNumber *)executionTime {
458+ PigeonPipelineSnapshot *pigeonResult = [[PigeonPipelineSnapshot alloc ] init ];
459+ pigeonResult.results = results;
460+ pigeonResult.executionTime = executionTime;
461+ return pigeonResult;
462+ }
463+ + (PigeonPipelineSnapshot *)fromList : (NSArray *)list {
464+ PigeonPipelineSnapshot *pigeonResult = [[PigeonPipelineSnapshot alloc ] init ];
465+ pigeonResult.results = GetNullableObjectAtIndex (list, 0 );
466+ NSAssert (pigeonResult.results != nil , @" " );
467+ pigeonResult.executionTime = GetNullableObjectAtIndex (list, 1 );
468+ NSAssert (pigeonResult.executionTime != nil , @" " );
469+ return pigeonResult;
470+ }
471+ + (nullable PigeonPipelineSnapshot *)nullableFromList : (NSArray *)list {
472+ return (list) ? [PigeonPipelineSnapshot fromList: list] : nil ;
473+ }
474+ - (NSArray *)toList {
475+ return @[
476+ (self .results ?: [NSNull null ]),
477+ (self .executionTime ?: [NSNull null ]),
478+ ];
479+ }
480+ @end
481+
413482@implementation PigeonGetOptions
414483+ (instancetype )makeWithSource : (Source)source
415484 serverTimestampBehavior : (ServerTimestampBehavior)serverTimestampBehavior {
@@ -649,7 +718,7 @@ - (NSArray *)toList {
649718}
650719@end
651720
652- @interface FirebaseFirestoreHostApiCodecReader : FLTFirebaseFirestoreReader
721+ @interface FirebaseFirestoreHostApiCodecReader : FlutterStandardReader
653722@end
654723@implementation FirebaseFirestoreHostApiCodecReader
655724- (nullable id )readValueOfType : (UInt8)type {
@@ -673,20 +742,24 @@ - (nullable id)readValueOfType:(UInt8)type {
673742 case 136 :
674743 return [PigeonGetOptions fromList: [self readValue ]];
675744 case 137 :
676- return [PigeonQueryParameters fromList: [self readValue ]];
745+ return [PigeonPipelineResult fromList: [self readValue ]];
677746 case 138 :
678- return [PigeonQuerySnapshot fromList: [self readValue ]];
747+ return [PigeonPipelineSnapshot fromList: [self readValue ]];
679748 case 139 :
680- return [PigeonSnapshotMetadata fromList: [self readValue ]];
749+ return [PigeonQueryParameters fromList: [self readValue ]];
681750 case 140 :
751+ return [PigeonQuerySnapshot fromList: [self readValue ]];
752+ case 141 :
753+ return [PigeonSnapshotMetadata fromList: [self readValue ]];
754+ case 142 :
682755 return [PigeonTransactionCommand fromList: [self readValue ]];
683756 default :
684757 return [super readValueOfType: type];
685758 }
686759}
687760@end
688761
689- @interface FirebaseFirestoreHostApiCodecWriter : FLTFirebaseFirestoreWriter
762+ @interface FirebaseFirestoreHostApiCodecWriter : FlutterStandardWriter
690763@end
691764@implementation FirebaseFirestoreHostApiCodecWriter
692765- (void )writeValue : (id )value {
@@ -717,18 +790,24 @@ - (void)writeValue:(id)value {
717790 } else if ([value isKindOfClass: [PigeonGetOptions class ]]) {
718791 [self writeByte: 136 ];
719792 [self writeValue: [value toList ]];
720- } else if ([value isKindOfClass: [PigeonQueryParameters class ]]) {
793+ } else if ([value isKindOfClass: [PigeonPipelineResult class ]]) {
721794 [self writeByte: 137 ];
722795 [self writeValue: [value toList ]];
723- } else if ([value isKindOfClass: [PigeonQuerySnapshot class ]]) {
796+ } else if ([value isKindOfClass: [PigeonPipelineSnapshot class ]]) {
724797 [self writeByte: 138 ];
725798 [self writeValue: [value toList ]];
726- } else if ([value isKindOfClass: [PigeonSnapshotMetadata class ]]) {
799+ } else if ([value isKindOfClass: [PigeonQueryParameters class ]]) {
727800 [self writeByte: 139 ];
728801 [self writeValue: [value toList ]];
729- } else if ([value isKindOfClass: [PigeonTransactionCommand class ]]) {
802+ } else if ([value isKindOfClass: [PigeonQuerySnapshot class ]]) {
730803 [self writeByte: 140 ];
731804 [self writeValue: [value toList ]];
805+ } else if ([value isKindOfClass: [PigeonSnapshotMetadata class ]]) {
806+ [self writeByte: 141 ];
807+ [self writeValue: [value toList ]];
808+ } else if ([value isKindOfClass: [PigeonTransactionCommand class ]]) {
809+ [self writeByte: 142 ];
810+ [self writeValue: [value toList ]];
732811 } else {
733812 [super writeValue: value];
734813 }
@@ -1379,4 +1458,32 @@ void FirebaseFirestoreHostApiSetup(id<FlutterBinaryMessenger> binaryMessenger,
13791458 [channel setMessageHandler: nil ];
13801459 }
13811460 }
1461+ {
1462+ FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc ]
1463+ initWithName: @" dev.flutter.pigeon.cloud_firestore_platform_interface."
1464+ @" FirebaseFirestoreHostApi.executePipeline"
1465+ binaryMessenger: binaryMessenger
1466+ codec: FirebaseFirestoreHostApiGetCodec ()];
1467+ if (api) {
1468+ NSCAssert ([api respondsToSelector: @selector (executePipelineApp:stages:options:completion: )],
1469+ @" FirebaseFirestoreHostApi api (%@ ) doesn't respond to "
1470+ @" @selector(executePipelineApp:stages:options:completion:)" ,
1471+ api);
1472+ [channel setMessageHandler: ^(id _Nullable message, FlutterReply callback) {
1473+ NSArray *args = message;
1474+ FirestorePigeonFirebaseApp *arg_app = GetNullableObjectAtIndex (args, 0 );
1475+ NSArray <NSDictionary <NSString *, id > *> *arg_stages = GetNullableObjectAtIndex (args, 1 );
1476+ NSDictionary <NSString *, id > *arg_options = GetNullableObjectAtIndex (args, 2 );
1477+ [api executePipelineApp: arg_app
1478+ stages: arg_stages
1479+ options: arg_options
1480+ completion: ^(PigeonPipelineSnapshot *_Nullable output,
1481+ FlutterError *_Nullable error) {
1482+ callback (wrapResult (output, error));
1483+ }];
1484+ }];
1485+ } else {
1486+ [channel setMessageHandler: nil ];
1487+ }
1488+ }
13821489}
0 commit comments