@thisisagile/easy-mongo
Version:
Add support for MongoDB
28 lines (27 loc) • 1.93 kB
TypeScript
import { Condition, Database, Field, Get, Json, LogicalCondition, MapOptions, Mapper, PropertyOptions, Sort, SortDirection, Text } from '@thisisagile/easy';
import { MongoProvider } from './MongoProvider';
export declare class Collection extends Mapper {
protected readonly map: {
field: <T = unknown>(name: string, options?: PropertyOptions<T>) => Field;
item: (property: string, options?: PropertyOptions) => import("@thisisagile/easy").Property;
ignore: (property?: string) => import("@thisisagile/easy").Mapping;
skipIn: (property: string) => import("@thisisagile/easy").Mapping;
skipOut: (property: string) => import("@thisisagile/easy").Mapping;
func: (property: string, funcIn: Get<import("@thisisagile/easy").Optional<import("@thisisagile/easy").JsonValue>, Json>, funcOut: Get<import("@thisisagile/easy").Optional<import("@thisisagile/easy").JsonValue>, Json>) => import("@thisisagile/easy").Mapping;
add: (funcIn: Get<import("@thisisagile/easy").JsonValue, Json>) => import("@thisisagile/easy").Mapping;
map: (mapper: import("@thisisagile/easy").Construct<Mapper>, property?: string) => import("@thisisagile/easy").Mapping;
propsToList: (...maps: import("@thisisagile/easy").Mapping[]) => import("@thisisagile/easy").Mapping;
list: (mapper: import("@thisisagile/easy").Mapping, property: string) => import("@thisisagile/easy").Mapping;
};
readonly id: Field;
constructor(options?: MapOptions);
get db(): Database;
get provider(): MongoProvider;
where: (...conditions: Get<Condition, this>[]) => Json;
match: (condition: Get<Condition | LogicalCondition, this>) => Json;
group: (...conditions: Get<Condition, this>[]) => Json;
google: (value: unknown) => Condition;
search: (key: Text) => Field;
sort: (...conditions: Sort[]) => Record<string, SortDirection>;
out(to?: Json): Json;
}