UNPKG

@digifi/jexl-functions

Version:
24 lines (23 loc) 1.72 kB
import { createValidateTextLengthFunction, createValidateArrayLikeValueMaxSizeFunction, createValidateCriteria } from './validation'; import { createSaveFlattenFunction } from './array'; import { evalCriteriaParseResult, parseCriteriaExpression } from './criteria'; import { coerceToString, coerceToNumber, coerceNullishValueToArray } from './coerceUtils'; export interface ModuleUtils { validateTextLength: ReturnType<typeof createValidateTextLengthFunction>; validateArrayLikeValueMaxSize: ReturnType<typeof createValidateArrayLikeValueMaxSizeFunction>; safeFlatten: ReturnType<typeof createSaveFlattenFunction>; validateCriteria: ReturnType<typeof createValidateCriteria>; evalCriteriaParseResult: typeof evalCriteriaParseResult; parseCriteriaExpression: typeof parseCriteriaExpression; coerceToNumber: typeof coerceToNumber; coerceToString: typeof coerceToString; coerceToStringWithValidation: (text: unknown, maxTextLengthOverride?: number) => string; coerceNullishValueToArray: typeof coerceNullishValueToArray; } export interface IBaseCreateModuleOptions { defaultMaxTextLength: number; defaultMaxArraySize: number; defaultMaxCriteriaLength: number; } export declare function createModule<ReturnType>(callback: (utils: ModuleUtils, currentOptions: IBaseCreateModuleOptions) => ReturnType): (options?: Partial<IBaseCreateModuleOptions>) => ReturnType; export declare function createModule<ModuleOptions, ReturnType>(callback: (utils: ModuleUtils, currentOptions: IBaseCreateModuleOptions & ModuleOptions) => ReturnType, defaultOptions: ModuleOptions & Partial<IBaseCreateModuleOptions>): (options?: Partial<IBaseCreateModuleOptions & ModuleOptions>) => ReturnType;