/* * Copyright 2017 Google * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #import @protocol FIndex , FNodeFilter, FNode; @interface FQueryParams : NSObject @property(nonatomic, readonly) BOOL limitSet; @property(nonatomic, readonly) NSInteger limit; @property(nonatomic, strong, readonly) NSString *viewFrom; @property(nonatomic, strong, readonly) id indexStartValue; @property(nonatomic, strong, readonly) NSString *indexStartKey; @property(nonatomic, strong, readonly) id indexEndValue; @property(nonatomic, strong, readonly) NSString *indexEndKey; @property(nonatomic, strong, readonly) id index; - (BOOL)loadsAllData; - (BOOL)isDefault; - (BOOL)isValid; - (BOOL)hasAnchoredLimit; - (FQueryParams *)limitTo:(NSInteger)limit; - (FQueryParams *)limitToFirst:(NSInteger)newLimit; - (FQueryParams *)limitToLast:(NSInteger)newLimit; - (FQueryParams *)startAt:(id)indexValue childKey:(NSString *)key; - (FQueryParams *)startAt:(id)indexValue; - (FQueryParams *)endAt:(id)indexValue childKey:(NSString *)key; - (FQueryParams *)endAt:(id)indexValue; - (FQueryParams *)orderBy:(id)index; + (FQueryParams *)defaultInstance; + (FQueryParams *)fromQueryObject:(NSDictionary *)dict; - (BOOL)hasStart; - (BOOL)hasEnd; - (NSDictionary *)wireProtocolParams; - (BOOL)isViewFromLeft; - (id)nodeFilter; @end