UNPKG

baseflow-local-client

Version:

Official TypeScript/JavaScript client for BaseFlow Local - a local-first BaaS with SQLite database, authentication, file storage, and real-time features

118 lines 3.95 kB
import { BaseFlowLocalClient } from './client'; import { BaseFlowResponse, LocalBuilder, LocalFilterBuilder, LocalQueryBuilder } from './types'; /** * A thenable class that represents a BaseFlow Local request. */ export declare class LocalRequestBuilder<T = any> implements LocalBuilder<T> { protected client: BaseFlowLocalClient; protected table: string; protected method: string; protected path: string; protected params: Record<string, any>; protected body: any; protected headers: Record<string, string>; protected idFilter: any; protected isSingle: boolean; constructor(client: BaseFlowLocalClient, table: string); /** * Executes the request and returns a promise that resolves with the response. */ then<TResult1 = BaseFlowResponse<T>, TResult2 = never>(onfulfilled?: ((value: BaseFlowResponse<T>) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): Promise<TResult1 | TResult2>; } /** * A builder for creating filters. */ export declare class LocalFilterBuilderImpl<T = any> extends LocalRequestBuilder<T> implements LocalFilterBuilder<T> { /** * Adds an 'equals' filter to the query. */ eq(column: keyof T, value: any): LocalFilterBuilder<T>; /** * Adds a 'not equals' filter to the query. */ neq(column: keyof T, value: any): LocalFilterBuilder<T>; /** * Adds a 'greater than' filter to the query. */ gt(column: keyof T, value: any): LocalFilterBuilder<T>; /** * Adds a 'greater than or equal to' filter to the query. */ gte(column: keyof T, value: any): LocalFilterBuilder<T>; /** * Adds a 'less than' filter to the query. */ lt(column: keyof T, value: any): LocalFilterBuilder<T>; /** * Adds a 'less than or equal to' filter to the query. */ lte(column: keyof T, value: any): LocalFilterBuilder<T>; /** * Adds a 'like' filter to the query. */ like(column: keyof T, pattern: string): LocalFilterBuilder<T>; /** * Adds a 'case-insensitive like' filter to the query. */ ilike(column: keyof T, pattern: string): LocalFilterBuilder<T>; /** * Adds an 'is' filter to the query. */ is(column: keyof T, value: null | boolean): LocalFilterBuilder<T>; /** * Adds an 'in' filter to the query. */ in(column: keyof T, values: any[]): LocalFilterBuilder<T>; /** * Adds a 'match' filter to the query. */ match(query: Record<keyof T, any>): LocalFilterBuilder<T>; /** * Adds a filter to the query. */ filter(column: keyof T, operator: string, value: any): LocalFilterBuilder<T>; } /** * A builder for creating queries. */ export declare class LocalQueryBuilderImpl<T = any> extends LocalFilterBuilderImpl<T> implements LocalQueryBuilder<T> { /** * Specifies the columns to select. */ select(columns?: string): LocalQueryBuilder<T>; /** * Inserts data into the table. */ insert(data: Partial<T> | Partial<T>[]): LocalRequestBuilder<T>; /** * Updates data in the table. */ update(data: Partial<T>): LocalFilterBuilder<T>; /** * Deletes data from the table. */ delete(): LocalFilterBuilder<T>; /** * Adds an 'order by' clause to the query. */ order(column: keyof T, options?: { ascending?: boolean; }): LocalQueryBuilder<T>; /** * Limits the number of rows returned. */ limit(count: number): LocalQueryBuilder<T>; /** * Skips a number of rows. */ offset(count: number): LocalQueryBuilder<T>; /** * Specifies a range of rows to return. */ range(from: number, to: number): LocalQueryBuilder<T>; /** * Returns a single row from the query. */ single(): LocalFilterBuilder<T>; } //# sourceMappingURL=query-builder.d.ts.map