import { AbstractError } from "@huz-com/error-core"; import { conversion, Req, scalar } from "@huz-com/types"; import { ScalarHelper } from "./ScalarHelper"; import { CastInner } from "@huz-com/primitive/dist/index.interfaces"; import Func3 = scalar.Func3; /** * @class * @abstract * */ export declare abstract class AbstractType implements conversion.BeCast, conversion.BeIs, conversion.BeEmpty { protected _name: string; protected _castDelimited: boolean; protected _aliases: Array; protected _helper: ScalarHelper; protected constructor(name: scalar.Alpha, aliases?: Array); get name(): scalar.Alpha; get nameArray(): scalar.Alpha; get nameMap(): scalar.Alpha; /** * Returns scalar of name "self-name" */ protected _one(alias?: string): scalar.Title; /** * Returns array of name like Array */ protected _array(alias?: string): scalar.Title; /** * Returns map of name like Record */ protected _map(alias?: string): scalar.Title; /** * Is not-empty or filled * */ protected _notEmpty(value: T): boolean; /** * Throws an error or logs * */ protected _error(err: AbstractError, opt?: conversion.CastBaseOne): void; protected _anyError(opt: O, inner: CastInner, org: scalar.Unknown): void; /** * Casts an option * */ protected _option(opt?: conversion.CastBase | O): conversion.CastBase | O; /** * Casts value title * */ protected _title(opt?: conversion.CastBase, ...parts: Array): scalar.Title; /** * Appends a text to title * */ protected _titleAppend(opt: conversion.CastBase, key: scalar.Alpha | scalar.Integer): scalar.Title; protected _checkDelimited(opt?: conversion.CastBaseArray | O): Array; /** * is value primitive? in [string, number, boolean] */ isPrimitive(value: scalar.Unknown): boolean; /** * Is value empty [any:null, any:undefined, object:{}, array:[] ] */ empty(value: scalar.Unknown, opt?: conversion.CastBaseOne, req?: Req): boolean; /** * Is valid value? */ is(value: scalar.Unknown, opt?: O, req?: Req): boolean; /** * Is each item of array is valid? */ isArray(value: scalar.Unknown, opt?: O, req?: Req): boolean; /** * is not valid and filled array of values? */ emptyArray(value: scalar.Unknown, opt?: O, req?: Req): boolean; /** * Is each value of map is valid? */ isMap(value: scalar.Unknown, opt?: O, req?: Req): boolean; /** * is not valid and filled map of values? */ emptyMap(value: scalar.Unknown, opt?: O, req?: Req): boolean; /** * Casts value for self */ cast(value: scalar.Unknown, opt?: O, req?: Req): T | null; /** * Converts a value to array with parsing delimiter */ castDelimited(value: scalar.Unknown, opt?: conversion.CastBaseArray | O, req?: Req): Array; protected _setLambda(generic: unknown, def: Func3): Func3; /** * Cast any type array */ castArray(value: scalar.Unknown, opt?: conversion.CastBaseArray | O, req?: Req): Array; /** * Cast any type map */ castMap(value: scalar.Unknown, opt?: conversion.CastBaseMap | O, req?: Req): conversion.MapOf; }