Ejemplo n.º 1
0
        public HbsRenderer(IServiceProvider services, IHandlebars handlebars, IOptions <HandlebarsViewEngineOptions> options, IExpressionCache expressionCache)
        {
            _options         = options.Value;
            _services        = services.CreateScope().ServiceProvider;
            _expressionCache = expressionCache;
            _handlebars      = handlebars;

            var helpersAction = _options.RegisterHelpers;

            if (helpersAction != null)
            {
                var helpers = new HelperList();
                helpersAction.Invoke(helpers);

                foreach (var helper in helpers)
                {
                    var h = _services.GetService(helper).Cast <HandlebarsBaseHelper>();
                    switch (h.HelperType)
                    {
                    case HelperType.HandlebarsHelper:
                        _handlebars.RegisterHelper(h.HelperName, h.HandlebarsHelper);
                        break;

                    case HelperType.HandlebarsBlockHelper:
                        _handlebars.RegisterHelper(h.HelperName, h.HandlebarsBlockHelper);
                        break;

                    default:
                        throw new ArgumentOutOfRangeException();
                    }
                }
            }
        }
Ejemplo n.º 2
0
 public ExpressionBuilder(IExpressionCache <TDocument> expressionCache)
 {
     this._expressionCache = expressionCache;
 }
Ejemplo n.º 3
0
 public FastEvaluator(IExpressionCache<Func<List<object>, object>> cache)
 {
     this.m_cache = cache;
     this.m_creatorDelegate = (key) => new DelegateGenerator().Generate(key);
 }
Ejemplo n.º 4
0
 public CacheEvaluator(IExpressionCache <Delegate> cache)
 {
     this.m_cache           = cache;
     this.m_creatorDelegate = (key) => this.m_delegateGenerator.Generate(key);
 }
Ejemplo n.º 5
0
 public FastEvaluator(IExpressionCache <Func <List <object>, object> > cache)
 {
     this.m_cache           = cache;
     this.m_creatorDelegate = (key) => new DelegateGenerator().Generate(key);
 }
Ejemplo n.º 6
0
 public CacheEvaluator(IExpressionCache<Delegate> cache)
 {
     this.m_cache = cache;
     this.m_creatorDelegate = (key) => this.m_delegateGenerator.Generate(key);
 }
Ejemplo n.º 7
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="cache"></param>
 public FastEvaluator(IExpressionCache <Func <List <object>, object> > cache)
 {
     _cache           = cache;
     _creatorDelegate = (key) => _delegateGenerator.Generate(key);
 }