UNPKG

mvom

Version:

Multivalue Object Mapper

36 lines (35 loc) 1.63 kB
import { StringDataTransformer } from '../dataTransformers'; import type { ForeignKeyDbDefinition } from '../ForeignKeyDbTransformer'; import type { SchemaCompoundForeignKeyDefinition, SchemaForeignKeyDefinition } from '../Schema'; import type { ScalarTypeConstructorOptions } from './BaseScalarType'; import BaseScalarType from './BaseScalarType'; import type { SchemaTypeDefinitionBase } from './BaseSchemaType'; export interface SchemaTypeDefinitionString extends SchemaTypeDefinitionBase { type: 'string'; enum?: readonly string[]; match?: RegExp; foreignKey?: SchemaForeignKeyDefinition | SchemaCompoundForeignKeyDefinition; } /** String Schema Type */ declare class StringType extends BaseScalarType { /** Data transformer */ protected readonly dataTransformer: StringDataTransformer; /** Array of allowed enumerations */ private readonly enum; private readonly match; private readonly foreignKeyDbTransformer; constructor(definition: SchemaTypeDefinitionString, options?: ScalarTypeConstructorOptions); /** Create an array of foreign key definitions that will be validated before save */ transformForeignKeyDefinitionsToDb(value: unknown): ForeignKeyDbDefinition[]; /** String required validator */ protected validateRequired: (value: any) => boolean; /** Enum validator */ private validateEnum; /** Create validation object for enum validation */ private createEnumValidator; /** Match validator */ private validateMatch; /** Create validation object for match validation */ private createMatchValidator; } export default StringType;