stackpress
Version:
Incept is a content management framework.
105 lines (104 loc) • 3.19 kB
TypeScript
import type { EnumConfig } from '@stackpress/idea-parser/types';
import type { ErrorList, SchemaColumnInfo, SchemaSerialOptions } from '../types.js';
import type Fieldset from './Fieldset.js';
import Attributes from './Attributes.js';
export default class Column {
readonly type: string;
readonly name: string;
readonly required: boolean;
readonly multiple: boolean;
readonly attributes: Attributes;
protected _fieldset: Fieldset;
get active(): boolean;
get assertions(): import("../types.js").SchemaAssertion[];
get clen(): number;
get dash(): string;
get default(): any;
get description(): string | undefined;
get enum(): EnumConfig | null;
get encrypted(): boolean;
get example(): any;
get field(): import("../types.js").SchemaComponent;
get fieldset(): Fieldset | null;
get filter(): import("../types.js").SchemaComponent;
get generated(): boolean;
get hash(): boolean;
get id(): boolean;
get indexable(): boolean;
get label(): string;
get list(): import("../types.js").SchemaComponent | {
component: boolean;
method: string;
args: never[];
attributes: {};
};
get max(): number;
get min(): number;
get model(): import("./Model.js").default | null;
get related(): {
parent: {
model: import("./Model.js").default;
column: Column;
key: Column;
type: number;
};
child: {
model: Fieldset;
column: Column;
key: Column;
type: number;
};
} | null;
get relation(): {
parent: {
model: import("./Model.js").default;
column: Column;
key: Column;
type: number;
};
child: {
model: Fieldset;
column: Column;
key: Column;
type: number;
};
} | null;
get searchable(): boolean;
get schema(): {
type: string;
length: number[];
defaults: any;
unsigned: boolean;
increment: boolean;
index: string | undefined;
};
get sortable(): boolean;
get snake(): string;
get span(): import("../types.js").SchemaComponent;
get step(): any;
get title(): string;
get typemap(): {
type: string;
model: string;
format: string;
method: string;
literal: string;
mysql: string;
pgsql: string;
sqlite: string;
helper: string;
};
get unique(): boolean;
get view(): import("../types.js").SchemaComponent | {
component: boolean;
method: string;
args: never[];
attributes: {};
};
get zindex(): any;
constructor(fieldset: Fieldset, info: SchemaColumnInfo);
assert(value: any, strict?: boolean): string | ErrorList | import("../types.js").ErrorMap | null;
attribute(name: string): unknown;
serialize(value: any, options?: SchemaSerialOptions, seed?: string): string | number | boolean | Date | null | undefined;
unserialize(value: any, options?: SchemaSerialOptions, seed?: string): any;
}