Пример #1
0
        public IFieldMapper Parse(JobParser parser, ParseState state)
        {
            var tableName = state.Require <string>("Name");
            var inline    = state.TryGet("Inline", false);

            var fieldState = state.Clone();

            var affix = state.TryGet("AffixNames", true);

            if (affix)
            {
                tableName = state.AffixName(tableName);
            }
            else
            {
                fieldState = fieldState.ClearAffix();
            }

            var fieldPrefix = state.TryGet("Prefix", "");


            return(new FieldMapperSet(tableName, inline,
                                      fieldState.SelectMany("Fields").Select(parser.ParseFieldMapper), state.AffixName,
                                      fieldNamePrefix: fieldPrefix)
            {
                Key = state.TryGet("Key", false)
            });
        }