All files / src/Config snconfigfielddecorator.ts

100% Statements 6/6
100% Branches 0/0
100% Functions 2/2
100% Lines 6/6
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21          1x               1x 11x 11x 11x 11x      
/**
 * @module Config
 *//** */
 
import { SnConfigFieldModel, } from './snconfigfieldmodel';
import { SnConfigFieldModelStore } from './snconfigfieldmodelstore';
 
/**
 * This function has to be used in the SnConfigModel class to provide additional metadata for the SnConfig fields
 * @param model {SnConfigFieldModel} The field model parameters
 * @returns {function(SnConfigModel)} A factory method which fills the SnConfigModelStore
 * with for the decorated field with the provided field model data
 */
export const SnConfigField = (model: SnConfigFieldModel) => {
    return (target: any, propertyName: string) => {
        model.FieldName = propertyName;
        model.StoreKey = `${target.constructor.name}.${propertyName}`;
        SnConfigFieldModelStore.Add(model);
    };
};