slonik-trpc
Version:
Slonik tRPC loader
156 lines (155 loc) • 7.36 kB
TypeScript
import { z } from 'zod';
import { SerializableValue, Fragment } from './types';
export declare const arrayifyType: <T extends z.ZodType<any, z.ZodTypeDef, any>>(type: T) => z.ZodEffects<z.ZodUnion<[z.ZodArray<T, "many">, T]>, (T | z.ZodArray<T, "many">)["_output"], unknown>;
export declare const rowToJson: (fragment: Fragment, name?: string | undefined) => Readonly<{
type: "SLONIK_TOKEN_FRAGMENT";
sql: string;
values: import("slonik").PrimitiveValueExpression[];
}>;
interface RowsToArray {
(fragment: Fragment, name?: string): Fragment;
(fragment: Fragment, fromFragment: Fragment, name?: string): Fragment;
}
export declare const rowsToArray: RowsToArray;
export declare const arrayStringFilterType: z.ZodEffects<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>, string | string[], unknown>;
export declare const dateFilterType: z.ZodObject<{
_lt: z.ZodOptional<z.ZodString>;
_gt: z.ZodOptional<z.ZodString>;
_lte: z.ZodOptional<z.ZodString>;
_gte: z.ZodOptional<z.ZodString>;
_is_null: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
_lt?: string | undefined;
_gt?: string | undefined;
_lte?: string | undefined;
_gte?: string | undefined;
_is_null?: boolean | undefined;
}, {
_lt?: string | undefined;
_gt?: string | undefined;
_lte?: string | undefined;
_gte?: string | undefined;
_is_null?: boolean | undefined;
}>;
export declare const booleanFilter: (bool: boolean | undefined | null, trueStatement: Fragment, falseStatement?: import("slonik").FragmentSqlToken | null | undefined) => import("slonik").FragmentSqlToken | null;
export declare const genericFilter: (value: any, statement: Fragment) => import("slonik").FragmentSqlToken | null;
export declare const dateFilter: (date: z.infer<typeof dateFilterType> | undefined | null, field: Fragment) => Readonly<{
type: "SLONIK_TOKEN_FRAGMENT";
sql: string;
values: import("slonik").PrimitiveValueExpression[];
}> | null;
export declare const arrayDynamicFilter: (type?: string) => (filter: string[] | number[] | string | number | undefined | null, field: Fragment, typeOverride?: string | undefined) => Readonly<{
type: "SLONIK_TOKEN_FRAGMENT";
sql: string;
values: import("slonik").PrimitiveValueExpression[];
}> | null;
export declare const arrayFilter: (filter: string[] | number[] | string | number | undefined | null, field: Fragment, typeOverride?: string | undefined) => Readonly<{
type: "SLONIK_TOKEN_FRAGMENT";
sql: string;
values: import("slonik").PrimitiveValueExpression[];
}> | null;
export declare const invertFilter: (condition?: import("slonik").FragmentSqlToken | null | undefined) => Readonly<{
type: "SLONIK_TOKEN_FRAGMENT";
sql: string;
values: import("slonik").PrimitiveValueExpression[];
}> | null;
export declare const comparisonFilterType: z.ZodObject<{
_gt: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
_lt: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
_gte: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
_lte: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
_eq: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
_neq: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
_in: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodUnion<[z.ZodArray<z.ZodNumber, "many">, z.ZodNumber]>, number | number[], unknown>, z.ZodEffects<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>, string | string[], unknown>]>>;
_nin: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodUnion<[z.ZodArray<z.ZodNumber, "many">, z.ZodNumber]>, number | number[], unknown>, z.ZodEffects<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>, string | string[], unknown>]>>;
_is_null: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
_lt?: string | number | undefined;
_gt?: string | number | undefined;
_lte?: string | number | undefined;
_gte?: string | number | undefined;
_is_null?: boolean | undefined;
_eq?: string | number | undefined;
_neq?: string | number | undefined;
_in?: string | number | string[] | number[] | undefined;
_nin?: string | number | string[] | number[] | undefined;
}, {
_lt?: string | number | undefined;
_gt?: string | number | undefined;
_lte?: string | number | undefined;
_gte?: string | number | undefined;
_is_null?: boolean | undefined;
_eq?: string | number | undefined;
_neq?: string | number | undefined;
_in?: unknown;
_nin?: unknown;
}>;
export declare const comparisonFilter: (filter: z.infer<typeof comparisonFilterType> | undefined | null, field: Fragment, type?: string) => Readonly<{
type: "SLONIK_TOKEN_FRAGMENT";
sql: string;
values: import("slonik").PrimitiveValueExpression[];
}> | null;
/**
* Use this for string comparisons with LIKE, ILIKE, etc.
*/
export declare const stringFilterType: z.ZodUnion<[z.ZodString, z.ZodObject<{
_gt: z.ZodOptional<z.ZodString>;
_lt: z.ZodOptional<z.ZodString>;
_eq: z.ZodOptional<z.ZodString>;
_neq: z.ZodOptional<z.ZodString>;
_in: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>, string | string[], unknown>>;
_nin: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>, string | string[], unknown>>;
_is_null: z.ZodOptional<z.ZodBoolean>;
_ilike: z.ZodOptional<z.ZodString>;
_like: z.ZodOptional<z.ZodString>;
_nlike: z.ZodOptional<z.ZodString>;
_nilike: z.ZodOptional<z.ZodString>;
_regex: z.ZodOptional<z.ZodString>;
_iregex: z.ZodOptional<z.ZodString>;
_nregex: z.ZodOptional<z.ZodString>;
_niregex: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
_lt?: string | undefined;
_gt?: string | undefined;
_is_null?: boolean | undefined;
_eq?: string | undefined;
_neq?: string | undefined;
_in?: string | string[] | undefined;
_nin?: string | string[] | undefined;
_ilike?: string | undefined;
_like?: string | undefined;
_nlike?: string | undefined;
_nilike?: string | undefined;
_regex?: string | undefined;
_iregex?: string | undefined;
_nregex?: string | undefined;
_niregex?: string | undefined;
}, {
_lt?: string | undefined;
_gt?: string | undefined;
_is_null?: boolean | undefined;
_eq?: string | undefined;
_neq?: string | undefined;
_in?: unknown;
_nin?: unknown;
_ilike?: string | undefined;
_like?: string | undefined;
_nlike?: string | undefined;
_nilike?: string | undefined;
_regex?: string | undefined;
_iregex?: string | undefined;
_nregex?: string | undefined;
_niregex?: string | undefined;
}>]>;
export declare const stringFilter: (filter: z.infer<typeof stringFilterType> | undefined | null, field: Fragment) => Readonly<{
type: "SLONIK_TOKEN_FRAGMENT";
sql: string;
values: import("slonik").PrimitiveValueExpression[];
}> | null;
export declare const jsonbFilter: (field: string, value: any, parentPath?: string[]) => Fragment | null;
export declare const jsonbContainsFilter: (filter: Record<string, SerializableValue> | undefined | null, field: Fragment) => Readonly<{
type: "SLONIK_TOKEN_FRAGMENT";
sql: string;
values: import("slonik").PrimitiveValueExpression[];
}> | null;
export {};