nowjs-core
Version:
NowCanDo Javascript Core [nowjs-core] is a library written by TypeScript code maintains under Apache 2.0 licence
79 lines (78 loc) • 1.95 kB
TypeScript
export * from './db';
export declare enum RowStatus {
Normal = 1,
Temp = 2,
Locked = 4,
Deleted = 8,
Purge = 16
}
export declare type IDType = number | string;
export interface NameVariationType {
[name: string]: string;
}
export interface IRowMeta {
CreatedAt?: Date;
UpdatedAt?: Date;
CreatedBy?: any;
UpdatedBy?: any;
RowStatus?: RowStatus;
}
export interface IGeoCoordinate {
Latitude: number;
Longitude: number;
Altitude?: number;
}
export interface IDataField {
Field: string;
Title: string;
Alias?: string;
Type?: string;
Order?: number;
Dir?: 'asc' | 'desc' | '';
Default?: any;
Validators?: string[];
Formatters?: string[];
}
export interface IQueryOptions {
AllowFields?: boolean;
AllowPaging?: boolean;
AllowGroupig?: boolean;
AllowFiltering?: boolean;
AllowOrdering?: boolean;
AllowExtras?: boolean;
Fields?: IDataField[];
Paging?: {
Index?: number;
Size?: number;
};
Grouping?: Array<{
Field: string;
}>;
Filtering?: Array<{
Op: 'and' | 'or' | '';
Conditions: Array<{
Field: string;
Op: 'equals' | 'is' | 'type' | 'notequals' | 'great' | 'greatorequal' | 'less' | 'lessorequal' | 'null' | 'notnull' | 'startswith' | 'endswith' | 'containsany' | 'containsall' | 'containsfuzzy' | 'notcontainsany' | 'notcontainsall' | 'haspattern' | 'hasnotpattern' | 'between';
Value: any;
Default?: any;
}>;
}>;
Ordering?: Array<{
Field: string;
Dir: 'asc' | 'desc';
}>;
Extras?: {
Parallel?: boolean;
Timeout?: number;
Fetchplan?: string;
};
}
export interface IQueryResult<T> {
Fields?: IDataField[];
QueryOptions?: IQueryOptions;
TotalCount?: number;
Duration?: number;
StartedAt?: Date;
FinishedAt?: Date;
Data: T | T[];
}