Skip to content

Commit 69d272c

Browse files
Add Firestore query filter bindings (#125)
1 parent 59ece60 commit 69d272c

3 files changed

Lines changed: 560 additions & 4 deletions

File tree

source/Firebase/CloudFirestore/ApiDefinition.cs

Lines changed: 227 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -424,6 +424,201 @@ interface AggregateQuerySnapshot
424424
NSObject GetValue (AggregateField aggregateField);
425425
}
426426

427+
// @interface FIRFilter : NSObject
428+
[BaseType (typeof (NSObject), Name = "FIRFilter")]
429+
interface Filter
430+
{
431+
// +(FIRFilter * _Nonnull)filterWhereField:(NSString * _Nonnull)field isEqualTo:(id _Nonnull)value;
432+
[Static]
433+
[Export ("filterWhereField:isEqualTo:")]
434+
Filter WhereEqualsTo (string field, NSObject nsValue);
435+
436+
[Static]
437+
[Wrap ("WhereEqualsTo (field, FromObject (value))")]
438+
Filter WhereEqualsTo (string field, object value);
439+
440+
// +(FIRFilter * _Nonnull)filterWhereFieldPath:(FIRFieldPath * _Nonnull)path isEqualTo:(id _Nonnull)value;
441+
[Static]
442+
[Export ("filterWhereFieldPath:isEqualTo:")]
443+
Filter WhereEqualsTo (FieldPath path, NSObject nsValue);
444+
445+
[Static]
446+
[Wrap ("WhereEqualsTo (path, FromObject (value))")]
447+
Filter WhereEqualsTo (FieldPath path, object value);
448+
449+
// +(FIRFilter * _Nonnull)filterWhereField:(NSString * _Nonnull)field isNotEqualTo:(id _Nonnull)value;
450+
[Static]
451+
[Export ("filterWhereField:isNotEqualTo:")]
452+
Filter WhereNotEqualTo (string field, NSObject nsValue);
453+
454+
[Static]
455+
[Wrap ("WhereNotEqualTo (field, FromObject (value))")]
456+
Filter WhereNotEqualTo (string field, object value);
457+
458+
// +(FIRFilter * _Nonnull)filterWhereFieldPath:(FIRFieldPath * _Nonnull)path isNotEqualTo:(id _Nonnull)value;
459+
[Static]
460+
[Export ("filterWhereFieldPath:isNotEqualTo:")]
461+
Filter WhereNotEqualTo (FieldPath path, NSObject nsValue);
462+
463+
[Static]
464+
[Wrap ("WhereNotEqualTo (path, FromObject (value))")]
465+
Filter WhereNotEqualTo (FieldPath path, object value);
466+
467+
// +(FIRFilter * _Nonnull)filterWhereField:(NSString * _Nonnull)field isGreaterThan:(id _Nonnull)value;
468+
[Static]
469+
[Export ("filterWhereField:isGreaterThan:")]
470+
Filter WhereGreaterThan (string field, NSObject nsValue);
471+
472+
[Static]
473+
[Wrap ("WhereGreaterThan (field, FromObject (value))")]
474+
Filter WhereGreaterThan (string field, object value);
475+
476+
// +(FIRFilter * _Nonnull)filterWhereFieldPath:(FIRFieldPath * _Nonnull)path isGreaterThan:(id _Nonnull)value;
477+
[Static]
478+
[Export ("filterWhereFieldPath:isGreaterThan:")]
479+
Filter WhereGreaterThan (FieldPath path, NSObject nsValue);
480+
481+
[Static]
482+
[Wrap ("WhereGreaterThan (path, FromObject (value))")]
483+
Filter WhereGreaterThan (FieldPath path, object value);
484+
485+
// +(FIRFilter * _Nonnull)filterWhereField:(NSString * _Nonnull)field isGreaterThanOrEqualTo:(id _Nonnull)value;
486+
[Static]
487+
[Export ("filterWhereField:isGreaterThanOrEqualTo:")]
488+
Filter WhereGreaterThanOrEqualsTo (string field, NSObject nsValue);
489+
490+
[Static]
491+
[Wrap ("WhereGreaterThanOrEqualsTo (field, FromObject (value))")]
492+
Filter WhereGreaterThanOrEqualsTo (string field, object value);
493+
494+
// +(FIRFilter * _Nonnull)filterWhereFieldPath:(FIRFieldPath * _Nonnull)path isGreaterThanOrEqualTo:(id _Nonnull)value;
495+
[Static]
496+
[Export ("filterWhereFieldPath:isGreaterThanOrEqualTo:")]
497+
Filter WhereGreaterThanOrEqualsTo (FieldPath path, NSObject nsValue);
498+
499+
[Static]
500+
[Wrap ("WhereGreaterThanOrEqualsTo (path, FromObject (value))")]
501+
Filter WhereGreaterThanOrEqualsTo (FieldPath path, object value);
502+
503+
// +(FIRFilter * _Nonnull)filterWhereField:(NSString * _Nonnull)field isLessThan:(id _Nonnull)value;
504+
[Static]
505+
[Export ("filterWhereField:isLessThan:")]
506+
Filter WhereLessThan (string field, NSObject nsValue);
507+
508+
[Static]
509+
[Wrap ("WhereLessThan (field, FromObject (value))")]
510+
Filter WhereLessThan (string field, object value);
511+
512+
// +(FIRFilter * _Nonnull)filterWhereFieldPath:(FIRFieldPath * _Nonnull)path isLessThan:(id _Nonnull)value;
513+
[Static]
514+
[Export ("filterWhereFieldPath:isLessThan:")]
515+
Filter WhereLessThan (FieldPath path, NSObject nsValue);
516+
517+
[Static]
518+
[Wrap ("WhereLessThan (path, FromObject (value))")]
519+
Filter WhereLessThan (FieldPath path, object value);
520+
521+
// +(FIRFilter * _Nonnull)filterWhereField:(NSString * _Nonnull)field isLessThanOrEqualTo:(id _Nonnull)value;
522+
[Static]
523+
[Export ("filterWhereField:isLessThanOrEqualTo:")]
524+
Filter WhereLessThanOrEqualsTo (string field, NSObject nsValue);
525+
526+
[Static]
527+
[Wrap ("WhereLessThanOrEqualsTo (field, FromObject (value))")]
528+
Filter WhereLessThanOrEqualsTo (string field, object value);
529+
530+
// +(FIRFilter * _Nonnull)filterWhereFieldPath:(FIRFieldPath * _Nonnull)path isLessThanOrEqualTo:(id _Nonnull)value;
531+
[Static]
532+
[Export ("filterWhereFieldPath:isLessThanOrEqualTo:")]
533+
Filter WhereLessThanOrEqualsTo (FieldPath path, NSObject nsValue);
534+
535+
[Static]
536+
[Wrap ("WhereLessThanOrEqualsTo (path, FromObject (value))")]
537+
Filter WhereLessThanOrEqualsTo (FieldPath path, object value);
538+
539+
// +(FIRFilter * _Nonnull)filterWhereField:(NSString * _Nonnull)field arrayContains:(id _Nonnull)value;
540+
[Static]
541+
[Export ("filterWhereField:arrayContains:")]
542+
Filter WhereArrayContains (string field, NSObject nsValue);
543+
544+
[Static]
545+
[Wrap ("WhereArrayContains (field, FromObject (value))")]
546+
Filter WhereArrayContains (string field, object value);
547+
548+
// +(FIRFilter * _Nonnull)filterWhereFieldPath:(FIRFieldPath * _Nonnull)path arrayContains:(id _Nonnull)value;
549+
[Static]
550+
[Export ("filterWhereFieldPath:arrayContains:")]
551+
Filter WhereArrayContains (FieldPath path, NSObject nsValue);
552+
553+
[Static]
554+
[Wrap ("WhereArrayContains (path, FromObject (value))")]
555+
Filter WhereArrayContains (FieldPath path, object value);
556+
557+
// +(FIRFilter * _Nonnull)filterWhereField:(NSString * _Nonnull)field arrayContainsAny:(NSArray<id> * _Nonnull)values;
558+
[Static]
559+
[Export ("filterWhereField:arrayContainsAny:")]
560+
Filter WhereArrayContainsAny (string field, NSObject [] values);
561+
562+
[Static]
563+
[Wrap ("WhereArrayContainsAny (field, CloudFirestoreHelper.GetNSObjects (values))")]
564+
Filter WhereArrayContainsAny (string field, object [] values);
565+
566+
// +(FIRFilter * _Nonnull)filterWhereFieldPath:(FIRFieldPath * _Nonnull)path arrayContainsAny:(NSArray<id> * _Nonnull)values;
567+
[Static]
568+
[Export ("filterWhereFieldPath:arrayContainsAny:")]
569+
Filter WhereArrayContainsAny (FieldPath path, NSObject [] values);
570+
571+
[Static]
572+
[Wrap ("WhereArrayContainsAny (path, CloudFirestoreHelper.GetNSObjects (values))")]
573+
Filter WhereArrayContainsAny (FieldPath path, object [] values);
574+
575+
// +(FIRFilter * _Nonnull)filterWhereField:(NSString * _Nonnull)field in:(NSArray<id> * _Nonnull)values;
576+
[Static]
577+
[Export ("filterWhereField:in:")]
578+
Filter WhereFieldIn (string field, NSObject [] values);
579+
580+
[Static]
581+
[Wrap ("WhereFieldIn (field, CloudFirestoreHelper.GetNSObjects (values))")]
582+
Filter WhereFieldIn (string field, object [] values);
583+
584+
// +(FIRFilter * _Nonnull)filterWhereFieldPath:(FIRFieldPath * _Nonnull)path in:(NSArray<id> * _Nonnull)values;
585+
[Static]
586+
[Export ("filterWhereFieldPath:in:")]
587+
Filter WhereFieldIn (FieldPath path, NSObject [] values);
588+
589+
[Static]
590+
[Wrap ("WhereFieldIn (path, CloudFirestoreHelper.GetNSObjects (values))")]
591+
Filter WhereFieldIn (FieldPath path, object [] values);
592+
593+
// +(FIRFilter * _Nonnull)filterWhereField:(NSString * _Nonnull)field notIn:(NSArray<id> * _Nonnull)values;
594+
[Static]
595+
[Export ("filterWhereField:notIn:")]
596+
Filter WhereFieldNotIn (string field, NSObject [] values);
597+
598+
[Static]
599+
[Wrap ("WhereFieldNotIn (field, CloudFirestoreHelper.GetNSObjects (values))")]
600+
Filter WhereFieldNotIn (string field, object [] values);
601+
602+
// +(FIRFilter * _Nonnull)filterWhereFieldPath:(FIRFieldPath * _Nonnull)path notIn:(NSArray<id> * _Nonnull)values;
603+
[Static]
604+
[Export ("filterWhereFieldPath:notIn:")]
605+
Filter WhereFieldNotIn (FieldPath path, NSObject [] values);
606+
607+
[Static]
608+
[Wrap ("WhereFieldNotIn (path, CloudFirestoreHelper.GetNSObjects (values))")]
609+
Filter WhereFieldNotIn (FieldPath path, object [] values);
610+
611+
// +(FIRFilter * _Nonnull)orFilterWithFilters:(NSArray<FIRFilter *> * _Nonnull)filters;
612+
[Static]
613+
[Export ("orFilterWithFilters:")]
614+
Filter Or (Filter [] filters);
615+
616+
// +(FIRFilter * _Nonnull)andFilterWithFilters:(NSArray<FIRFilter *> * _Nonnull)filters;
617+
[Static]
618+
[Export ("andFilterWithFilters:")]
619+
Filter And (Filter [] filters);
620+
}
621+
427622
// void (^)(id _Nullable result, NSError *_Nullable error)
428623
delegate void TransactionCompletionHandler ([NullAllowed] NSObject result, [NullAllowed] NSError error);
429624
// (nullable void (^)(FIRLoadBundleTaskProgress *_Nullable progress, NSError *_Nullable error)
@@ -667,6 +862,10 @@ interface Query
667862
[Export ("addSnapshotListenerWithIncludeMetadataChanges:listener:")]
668863
IListenerRegistration AddSnapshotListener (bool includeMetadataChanges, QuerySnapshotHandler listener);
669864

865+
// -(FIRQuery * _Nonnull)queryWhereFilter:(FIRFilter * _Nonnull)filter;
866+
[Export ("queryWhereFilter:")]
867+
Query FilteredBy (Filter filter);
868+
670869
// -(FIRQuery * _Nonnull)queryWhereField:(NSString * _Nonnull)field isEqualTo:(id _Nonnull)value;
671870
[Export ("queryWhereField:isEqualTo:")]
672871
Query WhereEqualsTo (string field, NSObject nsValue);
@@ -681,6 +880,20 @@ interface Query
681880
[Wrap ("WhereEqualsTo (path, FromObject (value))")]
682881
Query WhereEqualsTo (FieldPath path, object value);
683882

883+
// -(FIRQuery * _Nonnull)queryWhereField:(NSString * _Nonnull)field isNotEqualTo:(id _Nonnull)value;
884+
[Export ("queryWhereField:isNotEqualTo:")]
885+
Query WhereNotEqualTo (string field, NSObject nsValue);
886+
887+
[Wrap ("WhereNotEqualTo (field, FromObject (value))")]
888+
Query WhereNotEqualTo (string field, object value);
889+
890+
// -(FIRQuery * _Nonnull)queryWhereFieldPath:(FIRFieldPath * _Nonnull)path isNotEqualTo:(id _Nonnull)value;
891+
[Export ("queryWhereFieldPath:isNotEqualTo:")]
892+
Query WhereNotEqualTo (FieldPath path, NSObject nsValue);
893+
894+
[Wrap ("WhereNotEqualTo (path, FromObject (value))")]
895+
Query WhereNotEqualTo (FieldPath path, object value);
896+
684897
// -(FIRQuery * _Nonnull)queryWhereField:(NSString * _Nonnull)field isLessThan:(id _Nonnull)value;
685898
[Export ("queryWhereField:isLessThan:")]
686899
Query WhereLessThan (string field, NSObject nsValue);
@@ -779,6 +992,20 @@ interface Query
779992
[Wrap ("WhereFieldIn (path, CloudFirestoreHelper.GetNSObjects (values))")]
780993
Query WhereFieldIn (FieldPath path, object [] values);
781994

995+
// -(FIRQuery * _Nonnull)queryWhereField:(NSString * _Nonnull)field notIn:(NSArray<id> * _Nonnull)values;
996+
[Export ("queryWhereField:notIn:")]
997+
Query WhereFieldNotIn (string field, NSObject [] values);
998+
999+
[Wrap ("WhereFieldNotIn (field, CloudFirestoreHelper.GetNSObjects (values))")]
1000+
Query WhereFieldNotIn (string field, object [] values);
1001+
1002+
// -(FIRQuery * _Nonnull)queryWhereFieldPath:(FIRFieldPath * _Nonnull)path notIn:(NSArray<id> * _Nonnull)values;
1003+
[Export ("queryWhereFieldPath:notIn:")]
1004+
Query WhereFieldNotIn (FieldPath path, NSObject [] values);
1005+
1006+
[Wrap ("WhereFieldNotIn (path, CloudFirestoreHelper.GetNSObjects (values))")]
1007+
Query WhereFieldNotIn (FieldPath path, object [] values);
1008+
7821009
// -(FIRQuery * _Nonnull)queryFilteredUsingPredicate:(NSPredicate * _Nonnull)predicate;
7831010
[Export ("queryFilteredUsingPredicate:")]
7841011
Query FilteredBy (NSPredicate predicate);

0 commit comments

Comments
 (0)