c4b3c901a5
Allows for users who are loading via a global pattern to avoid conflicting with other instances of the library. Fixes #887
44 lines
1.2 KiB
JavaScript
44 lines
1.2 KiB
JavaScript
/*globals Handlebars: true */
|
|
module base from "./handlebars/base";
|
|
|
|
// Each of these augment the Handlebars object. No need to setup here.
|
|
// (This is done to easily share code between commonjs and browse envs)
|
|
import SafeString from "./handlebars/safe-string";
|
|
import Exception from "./handlebars/exception";
|
|
module Utils from "./handlebars/utils";
|
|
module runtime from "./handlebars/runtime";
|
|
|
|
// For compatibility and usage outside of module systems, make the Handlebars object a namespace
|
|
var create = function() {
|
|
var hb = new base.HandlebarsEnvironment();
|
|
|
|
Utils.extend(hb, base);
|
|
hb.SafeString = SafeString;
|
|
hb.Exception = Exception;
|
|
hb.Utils = Utils;
|
|
hb.escapeExpression = Utils.escapeExpression;
|
|
|
|
hb.VM = runtime;
|
|
hb.template = function(spec) {
|
|
return runtime.template(spec, hb);
|
|
};
|
|
|
|
return hb;
|
|
};
|
|
|
|
var Handlebars = create();
|
|
Handlebars.create = create;
|
|
|
|
/*jshint -W040 */
|
|
var root = typeof global !== 'undefined' ? global : window,
|
|
$Handlebars = root.Handlebars;
|
|
Handlebars.noConflict = function() {
|
|
if (root.Handlebars === Handlebars) {
|
|
root.Handlebars = $Handlebars;
|
|
}
|
|
};
|
|
|
|
Handlebars['default'] = Handlebars;
|
|
|
|
export default Handlebars;
|