| 1 |
import * as base from './handlebars/base'; |
| 2 |
|
| 3 |
// Each of these augment the Handlebars object. No need to setup here. |
| 4 |
// (This is done to easily share code between commonjs and browse envs) |
| 5 |
import SafeString from './handlebars/safe-string'; |
| 6 |
import Exception from './handlebars/exception'; |
| 7 |
import * as Utils from './handlebars/utils'; |
| 8 |
import * as runtime from './handlebars/runtime'; |
| 9 |
|
| 10 |
import noConflict from './handlebars/no-conflict'; |
| 11 |
|
| 12 |
// For compatibility and usage outside of module systems, make the Handlebars object a namespace |
| 13 |
function create() { |
| 14 |
let hb = new base.HandlebarsEnvironment(); |
| 15 |
|
| 16 |
Utils.extend(hb, base); |
| 17 |
hb.SafeString = SafeString; |
| 18 |
hb.Exception = Exception; |
| 19 |
hb.Utils = Utils; |
| 20 |
hb.escapeExpression = Utils.escapeExpression; |
| 21 |
|
| 22 |
hb.VM = runtime; |
| 23 |
hb.template = function(spec) { |
| 24 |
return runtime.template(spec, hb); |
| 25 |
}; |
| 26 |
|
| 27 |
return hb; |
| 28 |
} |
| 29 |
|
| 30 |
let inst = create(); |
| 31 |
inst.create = create; |
| 32 |
|
| 33 |
noConflict(inst); |
| 34 |
|
| 35 |
inst['default'] = inst; |
| 36 |
|
| 37 |
export default inst; |
| 38 |
|