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