UNPKG

@yihuangdb/storage-object

Version:

A Node.js storage object layer library using Redis OM

33 lines 1.52 kB
import { StorageObject } from './storage'; import { ConnectionOptions } from './connection'; export interface ModelOptions extends ConnectionOptions { collection?: string; prefix?: string; indexes?: string[]; } export interface FieldOptions { type?: 'string' | 'number' | 'boolean' | 'date' | 'text' | 'string[]'; indexed?: boolean; sortable?: boolean; normalized?: boolean; separator?: string; required?: boolean; default?: any; } export declare function Model(options?: ModelOptions): <T extends { new (...args: any[]): {}; }>(constructor: T) => { new (...args: any[]): {}; storage: StorageObject<Record<string, any>>; initialize(): Promise<void>; create(data: any): Promise<import("./storage").StorageEntity<Record<string, any>>>; findById(id: string): Promise<import("./storage").StorageEntity<Record<string, any>> | null>; findAll(options?: any): Promise<import("./storage").StorageEntity<Record<string, any>>[]>; findOne(query: any): Promise<import("./storage").StorageEntity<Record<string, any>> | null>; find(query: any, options?: any): Promise<import("./storage").StorageEntity<Record<string, any>>[]>; update(id: string, data: any): Promise<import("./storage").StorageEntity<Record<string, any>> | null>; delete(id: string): Promise<boolean>; count(query?: any): Promise<number>; } & T; export declare function Field(options?: FieldOptions): (target: any, propertyKey: string) => void; //# sourceMappingURL=decorators.d.ts.map