UNPKG

ravendb

Version:
55 lines 2.27 kB
import { SuggestionResult } from "../Documents/Queries/Suggestions/SuggestionResult.js"; export interface EntitiesCollectionObject<TEntity> extends IRavenObject<TEntity | null> { [id: string]: TEntity | null; } export interface RevisionsCollectionObject<TEntity> extends IRavenObject<TEntity | null> { [changeVector: string]: TEntity | null; } export interface SuggestionsResponseObject { [fieldName: string]: SuggestionResult; } export interface IRavenObject<T = any> { [property: string]: T; } export interface IRavenArrayResult { results: any[]; } export type CompareExchangeResultClass<T> = T extends object ? EntityConstructor<T> : unknown; export interface ClassConstructor<T extends object = object> { name: string; new (...args: any[]): T; } export interface EntityConstructor<T extends object = object> { new (...args: any): T; name: string; } export type ObjectTypeDescriptor<T extends object = object> = EntityConstructor<T> | ObjectLiteralDescriptor<T>; export declare abstract class EntityObjectLiteralDescriptor<T extends object> implements ObjectLiteralDescriptor { abstract name: string; abstract isType(obj: object): any; abstract construct(dto: object): T; } export interface ObjectLiteralDescriptor<TResult extends object = object> { name: string; isType(obj: object): boolean; construct(dto: object): TResult; } export declare abstract class PropsBasedObjectLiteralDescriptor<T extends object> implements EntityObjectLiteralDescriptor<T> { abstract name: string; abstract properties: string[]; abstract construct(dto: object): T; isType(obj: object): boolean; private _hasProperties; } export type CapitalizeType<T> = { [K in keyof T & string as `${Capitalize<K>}`]: T[K]; }; export type Field<T> = keyof T & string | string; export type ServerResponse<T> = T extends Date | string ? T : { [K in keyof T]: T[K] extends Date ? string : ServerResponse<T[K]>; }; export type CapitalizeObjectKeys<T> = T extends Array<infer U> ? Array<CapitalizeObjectKeys<U>> : T extends object ? { [K in keyof T as Capitalize<string & K>]: CapitalizeObjectKeys<T[K]>; } : T; export type ServerCasing<T extends object> = CapitalizeObjectKeys<T>; //# sourceMappingURL=index.d.ts.map