assignProps
Creates item initializer using passed fields map. `assignProps` builds function that maps some container fields to item fields.
Import
import { assignProps } from 'true-di/utils';const { assignProps } = require('true-di/utils');Declaration
function assignProps<IContainer, Name extends keyof IContainer>(
mapping: IMapping<IContainer, IContainer[Name]>,
): (item: IContainer[Name], container: IContainer) => voidArguments
mapping:
IMapping<IContainer, IContainer[Name]>-- plan JavaScript object which keys are fields of the itemand values are the string names of container items.
Types
type KeysOfType<T, F> = {
[P in keyof T]: IfEquals<{ [Q in P]: T[P] }, { [Q in P]: F }, P>
}[keyof T];
export type IMapping<IContainer extends object, T> = {
[p in keyof T]?: KeysOfType<IContainer, T[p]>
}Returns
initializer:
IInstanceInitializer<IContainer, Name>
Example:
Last updated
Was this helpful?