All Downloads are FREE. Search and download functionalities are using the official Maven repository.

utils.propsResolver.ts Maven / Gradle / Ivy

The newest version!
import { Resolve, propsResolver as resolver } from '../core/Expression/propsResolver'

// @ts-ignore ignore import error from js file
import warning from './warning'
import { DEFAULT_CONTEXT } from './evalExpression'

warning('"./utils/propsResolver" is deprecated, use "./core/Expression/useResolver"')

/**
 * Функция преобразует шаблоные props свойства вида \`name\` в константные данные из контекста
 * @param {Object} props - объект свойств которые требуется преобразовать
 * @param {Object} model - объект контекста, над которым будет произведенно преобразование
 * @param {Array} ignoreKeys - дополнительные исключения
 * @return {Object}
 * @example
 * const props = {
 *  fio: "`surname+' '+name+' '+middleName`"
 * }
 *
 * const model = {
 *  surname: "Иванов",
 *  name: "Иван",
 *  middleName: "Иванович",
 * }
 *
 * console.log(propsResolver(props, model))
 *
 * //- {fio: "Иванов Иван Иванович"}
 * @deprecated
 */
export default function propsResolver<
    Resolved extends Resolve,
    Prop = unknown,
>(
    props: Prop,
    model: Record | Array> = {},
    ignoreKeys: string[] = [],
) {
    return resolver(props, model, DEFAULT_CONTEXT, ignoreKeys)
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy