(exp, interceptorFn)
| 16789 | return $parse; |
| 16790 | |
| 16791 | function $parse(exp, interceptorFn) { |
| 16792 | var parsedExpression, cacheKey; |
| 16793 | |
| 16794 | switch (typeof exp) { |
| 16795 | case 'string': |
| 16796 | exp = exp.trim(); |
| 16797 | cacheKey = exp; |
| 16798 | |
| 16799 | parsedExpression = cache[cacheKey]; |
| 16800 | |
| 16801 | if (!parsedExpression) { |
| 16802 | var lexer = new Lexer($parseOptions); |
| 16803 | var parser = new Parser(lexer, $filter, $parseOptions); |
| 16804 | parsedExpression = parser.parse(exp); |
| 16805 | |
| 16806 | cache[cacheKey] = addWatchDelegate(parsedExpression); |
| 16807 | } |
| 16808 | return addInterceptor(parsedExpression, interceptorFn); |
| 16809 | |
| 16810 | case 'function': |
| 16811 | return addInterceptor(exp, interceptorFn); |
| 16812 | |
| 16813 | default: |
| 16814 | return addInterceptor(noop, interceptorFn); |
| 16815 | } |
| 16816 | } |
| 16817 | |
| 16818 | function $$getAst(exp) { |
| 16819 | var lexer = new Lexer($parseOptions); |
no test coverage detected