npm package diff
Package: @forge/cache
Versions: 1.0.3-next.0 - 1.0.3-next.0-experimental-ab129b0
File: package/out/kvs/interfaces/entity-query.d.ts
Index: package/out/kvs/interfaces/entity-query.d.ts
===================================================================
--- package/out/kvs/interfaces/entity-query.d.ts
+++ package/out/kvs/interfaces/entity-query.d.ts
@@ -0,0 +1,41 @@
+import { BeginsWithClause, BetweenClause, ContainsClause, EqualToClause, ExistsClause, FilterOperator, GreaterThanClause, GreaterThanEqualToClause, LessThanClause, LessThanEqualToClause, ListResult, NotContainsClause, NotEqualToClause, NotExistsClause, Result, Sort, StringOrNumber } from './types';
+export declare type IndexOptions<T> = Pick<EntityQueryOptions<T>, 'partition'>;
+export interface IndexQueryBuilder<T> {
+ index(name: string, indexOptions?: IndexOptions<T>): EntityQueryBuilder<T>;
+}
+export interface EntityQueryBuilder<T> {
+ where(condition: EntityWhereClauses): this;
+ filters(filters: AndFilter<T> | OrFilter<T>): this;
+ sort(sort: Sort): this;
+ cursor(cursor: string): this;
+ limit(limit: number): this;
+ getOne(): Promise<Result<T> | undefined>;
+ getMany(): Promise<ListResult<T>>;
+}
+export declare type FilterItem<T> = EntityFilterClauses & {
+ property: keyof T;
+};
+export interface Filter<T> {
+ and(field: keyof T, condition: EntityFilterClauses): AndFilter<T>;
+ or(field: keyof T, condition: EntityFilterClauses): OrFilter<T>;
+}
+export interface AndFilter<T> {
+ and(field: keyof T, condition: EntityFilterClauses): this;
+}
+export interface OrFilter<T> {
+ or(field: keyof T, condition: EntityFilterClauses): this;
+}
+export declare type EntityFilterClauses = BetweenClause<StringOrNumber> | BeginsWithClause | ExistsClause | NotExistsClause | GreaterThanClause | GreaterThanEqualToClause | LessThanClause | LessThanEqualToClause | ContainsClause | NotContainsClause | EqualToClause | NotEqualToClause;
+export declare type EntityWhereClauses = BetweenClause<StringOrNumber> | BeginsWithClause | EqualToClause | GreaterThanClause | GreaterThanEqualToClause | LessThanClause | LessThanEqualToClause;
+export interface EntityQueryOptions<T> {
+ sort?: Sort;
+ entityName: string;
+ indexName: string;
+ partition?: Array<unknown>;
+ range?: EntityWhereClauses;
+ filters?: Array<FilterItem<T>>;
+ filterOperator?: FilterOperator;
+ cursor?: string;
+ limit?: number;
+}
+//# sourceMappingURL=entity-query.d.ts.map
\ No newline at end of file