@thisisagile/easy
Version:
Straightforward library for building domain-driven microservice architectures
43 lines (42 loc) • 1.54 kB
TypeScript
import { Clause } from './Clause';
import { Table } from './Table';
import { Property, PropertyOptions } from '../utils/Property';
import { Json, JsonValue } from '../types/Json';
import type { Text } from '../types/Text';
export declare class Column extends Property implements Text {
readonly owner: Table;
constructor(owner: Table, property: string, options?: PropertyOptions);
get count(): Column;
get max(): Column;
get min(): Column;
get sum(): Column;
get average(): Column;
get length(): Column;
get asc(): OrderColumn;
get desc(): OrderColumn;
in: (source?: Json) => JsonValue;
out: (source?: Json, key?: string) => JsonValue;
function: (func: string) => Column;
format: (pattern: string) => Column;
is: (value: unknown) => Clause;
not: (value: unknown) => Clause;
like: (value: unknown) => Clause;
startsLike: (value: unknown) => Clause;
endsLike: (value: unknown) => Clause;
unlike: (value: unknown) => Clause;
less: (value: unknown) => Clause;
lessEqual: (value: unknown) => Clause;
greater: (value: unknown) => Clause;
greaterEqual: (value: unknown) => Clause;
as: (as: string) => Column;
toString(): string;
protected clause: (operator: string, value: unknown) => Clause;
}
export declare class PatternColumn extends Column {
protected col: Column;
protected pattern: string;
constructor(col: Column, pattern: string);
toString(): string;
}
export declare class OrderColumn extends PatternColumn {
}