handlebars-source 4.0.1 → 4.7.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +5 -5
  2. data/handlebars.js +4098 -3495
  3. data/handlebars.runtime.js +1113 -553
  4. metadata +3 -4
@@ -1,8 +1,9 @@
1
- /*!
1
+ /**!
2
2
 
3
- handlebars v4.0.1
3
+ @license
4
+ handlebars v4.7.7
4
5
 
5
- Copyright (C) 2011-2015 by Yehuda Katz
6
+ Copyright (C) 2011-2019 by Yehuda Katz
6
7
 
7
8
  Permission is hereby granted, free of charge, to any person obtaining a copy
8
9
  of this software and associated documentation files (the "Software"), to deal
@@ -22,13 +23,12 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
23
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23
24
  THE SOFTWARE.
24
25
 
25
- @license
26
26
  */
27
27
  (function webpackUniversalModuleDefinition(root, factory) {
28
28
  if(typeof exports === 'object' && typeof module === 'object')
29
29
  module.exports = factory();
30
30
  else if(typeof define === 'function' && define.amd)
31
- define(factory);
31
+ define([], factory);
32
32
  else if(typeof exports === 'object')
33
33
  exports["Handlebars"] = factory();
34
34
  else
@@ -78,28 +78,28 @@ return /******/ (function(modules) { // webpackBootstrap
78
78
  /************************************************************************/
79
79
  /******/ ([
80
80
  /* 0 */
81
- /***/ function(module, exports, __webpack_require__) {
81
+ /***/ (function(module, exports, __webpack_require__) {
82
82
 
83
83
  'use strict';
84
84
 
85
- var _interopRequireWildcard = __webpack_require__(7)['default'];
85
+ var _interopRequireWildcard = __webpack_require__(1)['default'];
86
86
 
87
- var _interopRequireDefault = __webpack_require__(8)['default'];
87
+ var _interopRequireDefault = __webpack_require__(2)['default'];
88
88
 
89
89
  exports.__esModule = true;
90
90
 
91
- var _handlebarsBase = __webpack_require__(1);
91
+ var _handlebarsBase = __webpack_require__(3);
92
+
93
+ var base = _interopRequireWildcard(_handlebarsBase);
92
94
 
93
95
  // Each of these augment the Handlebars object. No need to setup here.
94
96
  // (This is done to easily share code between commonjs and browse envs)
95
97
 
96
- var base = _interopRequireWildcard(_handlebarsBase);
97
-
98
- var _handlebarsSafeString = __webpack_require__(2);
98
+ var _handlebarsSafeString = __webpack_require__(36);
99
99
 
100
100
  var _handlebarsSafeString2 = _interopRequireDefault(_handlebarsSafeString);
101
101
 
102
- var _handlebarsException = __webpack_require__(3);
102
+ var _handlebarsException = __webpack_require__(5);
103
103
 
104
104
  var _handlebarsException2 = _interopRequireDefault(_handlebarsException);
105
105
 
@@ -107,16 +107,15 @@ return /******/ (function(modules) { // webpackBootstrap
107
107
 
108
108
  var Utils = _interopRequireWildcard(_handlebarsUtils);
109
109
 
110
- var _handlebarsRuntime = __webpack_require__(5);
110
+ var _handlebarsRuntime = __webpack_require__(37);
111
111
 
112
112
  var runtime = _interopRequireWildcard(_handlebarsRuntime);
113
113
 
114
- var _handlebarsNoConflict = __webpack_require__(6);
115
-
116
- // For compatibility and usage outside of module systems, make the Handlebars object a namespace
114
+ var _handlebarsNoConflict = __webpack_require__(43);
117
115
 
118
116
  var _handlebarsNoConflict2 = _interopRequireDefault(_handlebarsNoConflict);
119
117
 
118
+ // For compatibility and usage outside of module systems, make the Handlebars object a namespace
120
119
  function create() {
121
120
  var hb = new base.HandlebarsEnvironment();
122
121
 
@@ -144,36 +143,79 @@ return /******/ (function(modules) { // webpackBootstrap
144
143
  exports['default'] = inst;
145
144
  module.exports = exports['default'];
146
145
 
147
- /***/ },
146
+ /***/ }),
148
147
  /* 1 */
149
- /***/ function(module, exports, __webpack_require__) {
148
+ /***/ (function(module, exports) {
149
+
150
+ "use strict";
151
+
152
+ exports["default"] = function (obj) {
153
+ if (obj && obj.__esModule) {
154
+ return obj;
155
+ } else {
156
+ var newObj = {};
157
+
158
+ if (obj != null) {
159
+ for (var key in obj) {
160
+ if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];
161
+ }
162
+ }
163
+
164
+ newObj["default"] = obj;
165
+ return newObj;
166
+ }
167
+ };
168
+
169
+ exports.__esModule = true;
170
+
171
+ /***/ }),
172
+ /* 2 */
173
+ /***/ (function(module, exports) {
174
+
175
+ "use strict";
176
+
177
+ exports["default"] = function (obj) {
178
+ return obj && obj.__esModule ? obj : {
179
+ "default": obj
180
+ };
181
+ };
182
+
183
+ exports.__esModule = true;
184
+
185
+ /***/ }),
186
+ /* 3 */
187
+ /***/ (function(module, exports, __webpack_require__) {
150
188
 
151
189
  'use strict';
152
190
 
153
- var _interopRequireDefault = __webpack_require__(8)['default'];
191
+ var _interopRequireDefault = __webpack_require__(2)['default'];
154
192
 
155
193
  exports.__esModule = true;
156
194
  exports.HandlebarsEnvironment = HandlebarsEnvironment;
157
195
 
158
196
  var _utils = __webpack_require__(4);
159
197
 
160
- var _exception = __webpack_require__(3);
198
+ var _exception = __webpack_require__(5);
161
199
 
162
200
  var _exception2 = _interopRequireDefault(_exception);
163
201
 
164
202
  var _helpers = __webpack_require__(9);
165
203
 
166
- var _decorators = __webpack_require__(10);
204
+ var _decorators = __webpack_require__(29);
167
205
 
168
- var _logger = __webpack_require__(11);
206
+ var _logger = __webpack_require__(31);
169
207
 
170
208
  var _logger2 = _interopRequireDefault(_logger);
171
209
 
172
- var VERSION = '4.0.1';
173
- exports.VERSION = VERSION;
174
- var COMPILER_REVISION = 7;
210
+ var _internalProtoAccess = __webpack_require__(32);
175
211
 
212
+ var VERSION = '4.7.7';
213
+ exports.VERSION = VERSION;
214
+ var COMPILER_REVISION = 8;
176
215
  exports.COMPILER_REVISION = COMPILER_REVISION;
216
+ var LAST_COMPATIBLE_COMPILER_REVISION = 7;
217
+
218
+ exports.LAST_COMPATIBLE_COMPILER_REVISION = LAST_COMPATIBLE_COMPILER_REVISION;
177
219
  var REVISION_CHANGES = {
178
220
  1: '<= 1.0.rc.2', // 1.0.rc.2 is actually rev2 but doesn't report it
179
221
  2: '== 1.0.0-rc.3',
@@ -181,7 +223,8 @@ return /******/ (function(modules) { // webpackBootstrap
181
223
  4: '== 1.x.x',
182
224
  5: '== 2.0.0-alpha.x',
183
225
  6: '>= 2.0.0-beta.1',
184
- 7: '>= 4.0.0'
226
+ 7: '>= 4.0.0 <4.3.0',
227
+ 8: '>= 4.3.0'
185
228
  };
186
229
 
187
230
  exports.REVISION_CHANGES = REVISION_CHANGES;
@@ -221,7 +264,7 @@ return /******/ (function(modules) { // webpackBootstrap
221
264
  _utils.extend(this.partials, name);
222
265
  } else {
223
266
  if (typeof partial === 'undefined') {
224
- throw new _exception2['default']('Attempting to register a partial as undefined');
267
+ throw new _exception2['default']('Attempting to register a partial called "' + name + '" as undefined');
225
268
  }
226
269
  this.partials[name] = partial;
227
270
  }
@@ -242,6 +285,13 @@ return /******/ (function(modules) { // webpackBootstrap
242
285
  },
243
286
  unregisterDecorator: function unregisterDecorator(name) {
244
287
  delete this.decorators[name];
288
+ },
289
+ /**
290
+ * Reset the memory of illegal property accesses that have already been logged.
291
+ * @deprecated should only be used in handlebars test-cases
292
+ */
293
+ resetLoggedPropertyAccesses: function resetLoggedPropertyAccesses() {
294
+ _internalProtoAccess.resetLoggedProperties();
245
295
  }
246
296
  };
247
297
 
@@ -251,72 +301,9 @@ return /******/ (function(modules) { // webpackBootstrap
251
301
  exports.createFrame = _utils.createFrame;
252
302
  exports.logger = _logger2['default'];
253
303
 
254
- /***/ },
255
- /* 2 */
256
- /***/ function(module, exports, __webpack_require__) {
257
-
258
- // Build out our basic SafeString type
259
- 'use strict';
260
-
261
- exports.__esModule = true;
262
- function SafeString(string) {
263
- this.string = string;
264
- }
265
-
266
- SafeString.prototype.toString = SafeString.prototype.toHTML = function () {
267
- return '' + this.string;
268
- };
269
-
270
- exports['default'] = SafeString;
271
- module.exports = exports['default'];
272
-
273
- /***/ },
274
- /* 3 */
275
- /***/ function(module, exports, __webpack_require__) {
276
-
277
- 'use strict';
278
-
279
- exports.__esModule = true;
280
-
281
- var errorProps = ['description', 'fileName', 'lineNumber', 'message', 'name', 'number', 'stack'];
282
-
283
- function Exception(message, node) {
284
- var loc = node && node.loc,
285
- line = undefined,
286
- column = undefined;
287
- if (loc) {
288
- line = loc.start.line;
289
- column = loc.start.column;
290
-
291
- message += ' - ' + line + ':' + column;
292
- }
293
-
294
- var tmp = Error.prototype.constructor.call(this, message);
295
-
296
- // Unfortunately errors are not enumerable in Chrome (at least), so `for prop in tmp` doesn't work.
297
- for (var idx = 0; idx < errorProps.length; idx++) {
298
- this[errorProps[idx]] = tmp[errorProps[idx]];
299
- }
300
-
301
- /* istanbul ignore else */
302
- if (Error.captureStackTrace) {
303
- Error.captureStackTrace(this, Exception);
304
- }
305
-
306
- if (loc) {
307
- this.lineNumber = line;
308
- this.column = column;
309
- }
310
- }
311
-
312
- Exception.prototype = new Error();
313
-
314
- exports['default'] = Exception;
315
- module.exports = exports['default'];
316
-
317
- /***/ },
304
+ /***/ }),
318
305
  /* 4 */
319
- /***/ function(module, exports, __webpack_require__) {
306
+ /***/ (function(module, exports) {
320
307
 
321
308
  'use strict';
322
309
 
@@ -359,10 +346,10 @@ return /******/ (function(modules) { // webpackBootstrap
359
346
 
360
347
  var toString = Object.prototype.toString;
361
348
 
349
+ exports.toString = toString;
362
350
  // Sourced from lodash
363
351
  // https://github.com/bestiejs/lodash/blob/master/LICENSE.txt
364
352
  /* eslint-disable func-style */
365
- exports.toString = toString;
366
353
  var isFunction = function isFunction(value) {
367
354
  return typeof value === 'function';
368
355
  };
@@ -382,8 +369,8 @@ return /******/ (function(modules) { // webpackBootstrap
382
369
  return value && typeof value === 'object' ? toString.call(value) === '[object Array]' : false;
383
370
  };
384
371
 
385
- // Older IE versions do not directly support indexOf so we must implement our own, sadly.
386
372
  exports.isArray = isArray;
373
+ // Older IE versions do not directly support indexOf so we must implement our own, sadly.
387
374
 
388
375
  function indexOf(array, value) {
389
376
  for (var i = 0, len = array.length; i < len; i++) {
@@ -442,397 +429,146 @@ return /******/ (function(modules) { // webpackBootstrap
442
429
  return (contextPath ? contextPath + '.' : '') + id;
443
430
  }
444
431
 
445
- /***/ },
432
+ /***/ }),
446
433
  /* 5 */
447
- /***/ function(module, exports, __webpack_require__) {
434
+ /***/ (function(module, exports, __webpack_require__) {
448
435
 
449
436
  'use strict';
450
437
 
451
- var _interopRequireWildcard = __webpack_require__(7)['default'];
452
-
453
- var _interopRequireDefault = __webpack_require__(8)['default'];
438
+ var _Object$defineProperty = __webpack_require__(6)['default'];
454
439
 
455
440
  exports.__esModule = true;
456
- exports.checkRevision = checkRevision;
457
- exports.template = template;
458
- exports.wrapProgram = wrapProgram;
459
- exports.resolvePartial = resolvePartial;
460
- exports.invokePartial = invokePartial;
461
- exports.noop = noop;
441
+ var errorProps = ['description', 'fileName', 'lineNumber', 'endLineNumber', 'message', 'name', 'number', 'stack'];
462
442
 
463
- var _utils = __webpack_require__(4);
443
+ function Exception(message, node) {
444
+ var loc = node && node.loc,
445
+ line = undefined,
446
+ endLineNumber = undefined,
447
+ column = undefined,
448
+ endColumn = undefined;
464
449
 
465
- var Utils = _interopRequireWildcard(_utils);
450
+ if (loc) {
451
+ line = loc.start.line;
452
+ endLineNumber = loc.end.line;
453
+ column = loc.start.column;
454
+ endColumn = loc.end.column;
466
455
 
467
- var _exception = __webpack_require__(3);
456
+ message += ' - ' + line + ':' + column;
457
+ }
468
458
 
469
- var _exception2 = _interopRequireDefault(_exception);
459
+ var tmp = Error.prototype.constructor.call(this, message);
470
460
 
471
- var _base = __webpack_require__(1);
461
+ // Unfortunately errors are not enumerable in Chrome (at least), so `for prop in tmp` doesn't work.
462
+ for (var idx = 0; idx < errorProps.length; idx++) {
463
+ this[errorProps[idx]] = tmp[errorProps[idx]];
464
+ }
472
465
 
473
- function checkRevision(compilerInfo) {
474
- var compilerRevision = compilerInfo && compilerInfo[0] || 1,
475
- currentRevision = _base.COMPILER_REVISION;
466
+ /* istanbul ignore else */
467
+ if (Error.captureStackTrace) {
468
+ Error.captureStackTrace(this, Exception);
469
+ }
476
470
 
477
- if (compilerRevision !== currentRevision) {
478
- if (compilerRevision < currentRevision) {
479
- var runtimeVersions = _base.REVISION_CHANGES[currentRevision],
480
- compilerVersions = _base.REVISION_CHANGES[compilerRevision];
481
- throw new _exception2['default']('Template was precompiled with an older version of Handlebars than the current runtime. ' + 'Please update your precompiler to a newer version (' + runtimeVersions + ') or downgrade your runtime to an older version (' + compilerVersions + ').');
482
- } else {
483
- // Use the embedded version info since the runtime doesn't know about this revision yet
484
- throw new _exception2['default']('Template was precompiled with a newer version of Handlebars than the current runtime. ' + 'Please update your runtime to a newer version (' + compilerInfo[1] + ').');
471
+ try {
472
+ if (loc) {
473
+ this.lineNumber = line;
474
+ this.endLineNumber = endLineNumber;
475
+
476
+ // Work around issue under safari where we can't directly set the column value
477
+ /* istanbul ignore next */
478
+ if (_Object$defineProperty) {
479
+ Object.defineProperty(this, 'column', {
480
+ value: column,
481
+ enumerable: true
482
+ });
483
+ Object.defineProperty(this, 'endColumn', {
484
+ value: endColumn,
485
+ enumerable: true
486
+ });
487
+ } else {
488
+ this.column = column;
489
+ this.endColumn = endColumn;
490
+ }
485
491
  }
492
+ } catch (nop) {
493
+ /* Ignore if the browser is very particular */
486
494
  }
487
495
  }
488
496
 
489
- function template(templateSpec, env) {
490
- /* istanbul ignore next */
491
- if (!env) {
492
- throw new _exception2['default']('No environment passed to template');
493
- }
494
- if (!templateSpec || !templateSpec.main) {
495
- throw new _exception2['default']('Unknown template object: ' + typeof templateSpec);
496
- }
497
+ Exception.prototype = new Error();
497
498
 
498
- templateSpec.main.decorator = templateSpec.main_d;
499
+ exports['default'] = Exception;
500
+ module.exports = exports['default'];
499
501
 
500
- // Note: Using env.VM references rather than local var references throughout this section to allow
501
- // for external users to override these as psuedo-supported APIs.
502
- env.VM.checkRevision(templateSpec.compiler);
502
+ /***/ }),
503
+ /* 6 */
504
+ /***/ (function(module, exports, __webpack_require__) {
503
505
 
504
- function invokePartialWrapper(partial, context, options) {
505
- if (options.hash) {
506
- context = Utils.extend({}, context, options.hash);
507
- if (options.ids) {
508
- options.ids[0] = true;
509
- }
510
- }
506
+ module.exports = { "default": __webpack_require__(7), __esModule: true };
511
507
 
512
- partial = env.VM.resolvePartial.call(this, partial, context, options);
513
- var result = env.VM.invokePartial.call(this, partial, context, options);
508
+ /***/ }),
509
+ /* 7 */
510
+ /***/ (function(module, exports, __webpack_require__) {
514
511
 
515
- if (result == null && env.compile) {
516
- options.partials[options.name] = env.compile(partial, templateSpec.compilerOptions, env);
517
- result = options.partials[options.name](context, options);
518
- }
519
- if (result != null) {
520
- if (options.indent) {
521
- var lines = result.split('\n');
522
- for (var i = 0, l = lines.length; i < l; i++) {
523
- if (!lines[i] && i + 1 === l) {
524
- break;
525
- }
512
+ var $ = __webpack_require__(8);
513
+ module.exports = function defineProperty(it, key, desc){
514
+ return $.setDesc(it, key, desc);
515
+ };
526
516
 
527
- lines[i] = options.indent + lines[i];
528
- }
529
- result = lines.join('\n');
530
- }
531
- return result;
532
- } else {
533
- throw new _exception2['default']('The partial ' + options.name + ' could not be compiled when running in runtime-only mode');
534
- }
535
- }
517
+ /***/ }),
518
+ /* 8 */
519
+ /***/ (function(module, exports) {
520
+
521
+ var $Object = Object;
522
+ module.exports = {
523
+ create: $Object.create,
524
+ getProto: $Object.getPrototypeOf,
525
+ isEnum: {}.propertyIsEnumerable,
526
+ getDesc: $Object.getOwnPropertyDescriptor,
527
+ setDesc: $Object.defineProperty,
528
+ setDescs: $Object.defineProperties,
529
+ getKeys: $Object.keys,
530
+ getNames: $Object.getOwnPropertyNames,
531
+ getSymbols: $Object.getOwnPropertySymbols,
532
+ each: [].forEach
533
+ };
536
534
 
537
- // Just add water
538
- var container = {
539
- strict: function strict(obj, name) {
540
- if (!(name in obj)) {
541
- throw new _exception2['default']('"' + name + '" not defined in ' + obj);
542
- }
543
- return obj[name];
544
- },
545
- lookup: function lookup(depths, name) {
546
- var len = depths.length;
547
- for (var i = 0; i < len; i++) {
548
- if (depths[i] && depths[i][name] != null) {
549
- return depths[i][name];
550
- }
551
- }
552
- },
553
- lambda: function lambda(current, context) {
554
- return typeof current === 'function' ? current.call(context) : current;
555
- },
535
+ /***/ }),
536
+ /* 9 */
537
+ /***/ (function(module, exports, __webpack_require__) {
556
538
 
557
- escapeExpression: Utils.escapeExpression,
558
- invokePartial: invokePartialWrapper,
539
+ 'use strict';
559
540
 
560
- fn: function fn(i) {
561
- var ret = templateSpec[i];
562
- ret.decorator = templateSpec[i + '_d'];
563
- return ret;
564
- },
541
+ var _interopRequireDefault = __webpack_require__(2)['default'];
565
542
 
566
- programs: [],
567
- program: function program(i, data, declaredBlockParams, blockParams, depths) {
568
- var programWrapper = this.programs[i],
569
- fn = this.fn(i);
570
- if (data || depths || blockParams || declaredBlockParams) {
571
- programWrapper = wrapProgram(this, i, fn, data, declaredBlockParams, blockParams, depths);
572
- } else if (!programWrapper) {
573
- programWrapper = this.programs[i] = wrapProgram(this, i, fn);
574
- }
575
- return programWrapper;
576
- },
543
+ exports.__esModule = true;
544
+ exports.registerDefaultHelpers = registerDefaultHelpers;
545
+ exports.moveHelperToHooks = moveHelperToHooks;
577
546
 
578
- data: function data(value, depth) {
579
- while (value && depth--) {
580
- value = value._parent;
581
- }
582
- return value;
583
- },
584
- merge: function merge(param, common) {
585
- var obj = param || common;
547
+ var _helpersBlockHelperMissing = __webpack_require__(10);
586
548
 
587
- if (param && common && param !== common) {
588
- obj = Utils.extend({}, common, param);
589
- }
549
+ var _helpersBlockHelperMissing2 = _interopRequireDefault(_helpersBlockHelperMissing);
590
550
 
591
- return obj;
592
- },
551
+ var _helpersEach = __webpack_require__(11);
593
552
 
594
- noop: env.VM.noop,
595
- compilerInfo: templateSpec.compiler
596
- };
553
+ var _helpersEach2 = _interopRequireDefault(_helpersEach);
597
554
 
598
- function ret(context) {
599
- var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
555
+ var _helpersHelperMissing = __webpack_require__(24);
600
556
 
601
- var data = options.data;
557
+ var _helpersHelperMissing2 = _interopRequireDefault(_helpersHelperMissing);
602
558
 
603
- ret._setup(options);
604
- if (!options.partial && templateSpec.useData) {
605
- data = initData(context, data);
606
- }
607
- var depths = undefined,
608
- blockParams = templateSpec.useBlockParams ? [] : undefined;
609
- if (templateSpec.useDepths) {
610
- if (options.depths) {
611
- depths = context !== options.depths[0] ? [context].concat(options.depths) : options.depths;
612
- } else {
613
- depths = [context];
614
- }
615
- }
616
-
617
- function main(context /*, options*/) {
618
- return '' + templateSpec.main(container, context, container.helpers, container.partials, data, blockParams, depths);
619
- }
620
- main = executeDecorators(templateSpec.main, main, container, options.depths || [], data, blockParams);
621
- return main(context, options);
622
- }
623
- ret.isTop = true;
624
-
625
- ret._setup = function (options) {
626
- if (!options.partial) {
627
- container.helpers = container.merge(options.helpers, env.helpers);
628
-
629
- if (templateSpec.usePartial) {
630
- container.partials = container.merge(options.partials, env.partials);
631
- }
632
- if (templateSpec.useDecorators) {
633
- container.decorators = container.merge(options.decorators, env.decorators);
634
- }
635
- } else {
636
- container.helpers = options.helpers;
637
- container.partials = options.partials;
638
- container.decorators = options.decorators;
639
- }
640
- };
641
-
642
- ret._child = function (i, data, blockParams, depths) {
643
- if (templateSpec.useBlockParams && !blockParams) {
644
- throw new _exception2['default']('must pass block params');
645
- }
646
- if (templateSpec.useDepths && !depths) {
647
- throw new _exception2['default']('must pass parent depths');
648
- }
649
-
650
- return wrapProgram(container, i, templateSpec[i], data, 0, blockParams, depths);
651
- };
652
- return ret;
653
- }
654
-
655
- function wrapProgram(container, i, fn, data, declaredBlockParams, blockParams, depths) {
656
- function prog(context) {
657
- var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
658
-
659
- var currentDepths = depths;
660
- if (depths && context !== depths[0]) {
661
- currentDepths = [context].concat(depths);
662
- }
663
-
664
- return fn(container, context, container.helpers, container.partials, options.data || data, blockParams && [options.blockParams].concat(blockParams), currentDepths);
665
- }
666
-
667
- prog = executeDecorators(fn, prog, container, depths, data, blockParams);
668
-
669
- prog.program = i;
670
- prog.depth = depths ? depths.length : 0;
671
- prog.blockParams = declaredBlockParams || 0;
672
- return prog;
673
- }
674
-
675
- function resolvePartial(partial, context, options) {
676
- if (!partial) {
677
- if (options.name === '@partial-block') {
678
- partial = options.data['partial-block'];
679
- } else {
680
- partial = options.partials[options.name];
681
- }
682
- } else if (!partial.call && !options.name) {
683
- // This is a dynamic partial that returned a string
684
- options.name = partial;
685
- partial = options.partials[partial];
686
- }
687
- return partial;
688
- }
689
-
690
- function invokePartial(partial, context, options) {
691
- options.partial = true;
692
- if (options.ids) {
693
- options.data.contextPath = options.ids[0] || options.data.contextPath;
694
- }
695
-
696
- var partialBlock = undefined;
697
- if (options.fn && options.fn !== noop) {
698
- partialBlock = options.data['partial-block'] = options.fn;
699
-
700
- if (partialBlock.partials) {
701
- options.partials = Utils.extend({}, options.partials, partialBlock.partials);
702
- }
703
- }
704
-
705
- if (partial === undefined && partialBlock) {
706
- partial = partialBlock;
707
- }
708
-
709
- if (partial === undefined) {
710
- throw new _exception2['default']('The partial ' + options.name + ' could not be found');
711
- } else if (partial instanceof Function) {
712
- return partial(context, options);
713
- }
714
- }
715
-
716
- function noop() {
717
- return '';
718
- }
719
-
720
- function initData(context, data) {
721
- if (!data || !('root' in data)) {
722
- data = data ? _base.createFrame(data) : {};
723
- data.root = context;
724
- }
725
- return data;
726
- }
727
-
728
- function executeDecorators(fn, prog, container, depths, data, blockParams) {
729
- if (fn.decorator) {
730
- var props = {};
731
- prog = fn.decorator(prog, props, container, depths && depths[0], data, blockParams, depths);
732
- Utils.extend(prog, props);
733
- }
734
- return prog;
735
- }
736
-
737
- /***/ },
738
- /* 6 */
739
- /***/ function(module, exports, __webpack_require__) {
740
-
741
- /* WEBPACK VAR INJECTION */(function(global) {/* global window */
742
- 'use strict';
743
-
744
- exports.__esModule = true;
745
-
746
- exports['default'] = function (Handlebars) {
747
- /* istanbul ignore next */
748
- var root = typeof global !== 'undefined' ? global : window,
749
- $Handlebars = root.Handlebars;
750
- /* istanbul ignore next */
751
- Handlebars.noConflict = function () {
752
- if (root.Handlebars === Handlebars) {
753
- root.Handlebars = $Handlebars;
754
- }
755
- };
756
- };
757
-
758
- module.exports = exports['default'];
759
- /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
760
-
761
- /***/ },
762
- /* 7 */
763
- /***/ function(module, exports, __webpack_require__) {
764
-
765
- "use strict";
766
-
767
- exports["default"] = function (obj) {
768
- if (obj && obj.__esModule) {
769
- return obj;
770
- } else {
771
- var newObj = {};
772
-
773
- if (obj != null) {
774
- for (var key in obj) {
775
- if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];
776
- }
777
- }
778
-
779
- newObj["default"] = obj;
780
- return newObj;
781
- }
782
- };
783
-
784
- exports.__esModule = true;
785
-
786
- /***/ },
787
- /* 8 */
788
- /***/ function(module, exports, __webpack_require__) {
789
-
790
- "use strict";
791
-
792
- exports["default"] = function (obj) {
793
- return obj && obj.__esModule ? obj : {
794
- "default": obj
795
- };
796
- };
797
-
798
- exports.__esModule = true;
799
-
800
- /***/ },
801
- /* 9 */
802
- /***/ function(module, exports, __webpack_require__) {
803
-
804
- 'use strict';
805
-
806
- var _interopRequireDefault = __webpack_require__(8)['default'];
807
-
808
- exports.__esModule = true;
809
- exports.registerDefaultHelpers = registerDefaultHelpers;
810
-
811
- var _helpersBlockHelperMissing = __webpack_require__(12);
812
-
813
- var _helpersBlockHelperMissing2 = _interopRequireDefault(_helpersBlockHelperMissing);
814
-
815
- var _helpersEach = __webpack_require__(13);
816
-
817
- var _helpersEach2 = _interopRequireDefault(_helpersEach);
818
-
819
- var _helpersHelperMissing = __webpack_require__(14);
820
-
821
- var _helpersHelperMissing2 = _interopRequireDefault(_helpersHelperMissing);
822
-
823
- var _helpersIf = __webpack_require__(15);
559
+ var _helpersIf = __webpack_require__(25);
824
560
 
825
561
  var _helpersIf2 = _interopRequireDefault(_helpersIf);
826
562
 
827
- var _helpersLog = __webpack_require__(16);
563
+ var _helpersLog = __webpack_require__(26);
828
564
 
829
565
  var _helpersLog2 = _interopRequireDefault(_helpersLog);
830
566
 
831
- var _helpersLookup = __webpack_require__(17);
567
+ var _helpersLookup = __webpack_require__(27);
832
568
 
833
569
  var _helpersLookup2 = _interopRequireDefault(_helpersLookup);
834
570
 
835
- var _helpersWith = __webpack_require__(18);
571
+ var _helpersWith = __webpack_require__(28);
836
572
 
837
573
  var _helpersWith2 = _interopRequireDefault(_helpersWith);
838
574
 
@@ -846,76 +582,18 @@ return /******/ (function(modules) { // webpackBootstrap
846
582
  _helpersWith2['default'](instance);
847
583
  }
848
584
 
849
- /***/ },
850
- /* 10 */
851
- /***/ function(module, exports, __webpack_require__) {
852
-
853
- 'use strict';
854
-
855
- var _interopRequireDefault = __webpack_require__(8)['default'];
856
-
857
- exports.__esModule = true;
858
- exports.registerDefaultDecorators = registerDefaultDecorators;
859
-
860
- var _decoratorsInline = __webpack_require__(19);
861
-
862
- var _decoratorsInline2 = _interopRequireDefault(_decoratorsInline);
863
-
864
- function registerDefaultDecorators(instance) {
865
- _decoratorsInline2['default'](instance);
866
- }
867
-
868
- /***/ },
869
- /* 11 */
870
- /***/ function(module, exports, __webpack_require__) {
871
-
872
- 'use strict';
873
-
874
- exports.__esModule = true;
875
- var logger = {
876
- methodMap: ['debug', 'info', 'warn', 'error'],
877
- level: 'info',
878
-
879
- // Maps a given level value to the `methodMap` indexes above.
880
- lookupLevel: function lookupLevel(level) {
881
- if (typeof level === 'string') {
882
- var levelMap = logger.methodMap.indexOf(level.toLowerCase());
883
- if (levelMap >= 0) {
884
- level = levelMap;
885
- } else {
886
- level = parseInt(level, 10);
887
- }
888
- }
889
-
890
- return level;
891
- },
892
-
893
- // Can be overridden in the host environment
894
- log: function log(level) {
895
- level = logger.lookupLevel(level);
896
-
897
- if (typeof console !== 'undefined' && logger.lookupLevel(logger.level) <= level) {
898
- var method = logger.methodMap[level];
899
- if (!console[method]) {
900
- // eslint-disable-line no-console
901
- method = 'log';
902
- }
903
-
904
- for (var _len = arguments.length, message = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
905
- message[_key - 1] = arguments[_key];
906
- }
907
-
908
- console[method].apply(console, message); // eslint-disable-line no-console
585
+ function moveHelperToHooks(instance, helperName, keepHelper) {
586
+ if (instance.helpers[helperName]) {
587
+ instance.hooks[helperName] = instance.helpers[helperName];
588
+ if (!keepHelper) {
589
+ delete instance.helpers[helperName];
909
590
  }
910
591
  }
911
- };
912
-
913
- exports['default'] = logger;
914
- module.exports = exports['default'];
592
+ }
915
593
 
916
- /***/ },
917
- /* 12 */
918
- /***/ function(module, exports, __webpack_require__) {
594
+ /***/ }),
595
+ /* 10 */
596
+ /***/ (function(module, exports, __webpack_require__) {
919
597
 
920
598
  'use strict';
921
599
 
@@ -956,19 +634,21 @@ return /******/ (function(modules) { // webpackBootstrap
956
634
 
957
635
  module.exports = exports['default'];
958
636
 
959
- /***/ },
960
- /* 13 */
961
- /***/ function(module, exports, __webpack_require__) {
637
+ /***/ }),
638
+ /* 11 */
639
+ /***/ (function(module, exports, __webpack_require__) {
962
640
 
963
- 'use strict';
641
+ /* WEBPACK VAR INJECTION */(function(global) {'use strict';
642
+
643
+ var _Object$keys = __webpack_require__(12)['default'];
964
644
 
965
- var _interopRequireDefault = __webpack_require__(8)['default'];
645
+ var _interopRequireDefault = __webpack_require__(2)['default'];
966
646
 
967
647
  exports.__esModule = true;
968
648
 
969
649
  var _utils = __webpack_require__(4);
970
650
 
971
- var _exception = __webpack_require__(3);
651
+ var _exception = __webpack_require__(5);
972
652
 
973
653
  var _exception2 = _interopRequireDefault(_exception);
974
654
 
@@ -998,12 +678,6 @@ return /******/ (function(modules) { // webpackBootstrap
998
678
  }
999
679
 
1000
680
  function execIteration(field, index, last) {
1001
- // Don't iterate over undefined values since we can't execute blocks against them
1002
- // in non-strict (js) mode.
1003
- if (context[field] == null) {
1004
- return;
1005
- }
1006
-
1007
681
  if (data) {
1008
682
  data.key = field;
1009
683
  data.index = index;
@@ -1023,14 +697,26 @@ return /******/ (function(modules) { // webpackBootstrap
1023
697
 
1024
698
  if (context && typeof context === 'object') {
1025
699
  if (_utils.isArray(context)) {
700
+ for (var j = context.length; i < j; i++) {
701
+ if (i in context) {
702
+ execIteration(i, i, i === context.length - 1);
703
+ }
704
+ }
705
+ } else if (global.Symbol && context[global.Symbol.iterator]) {
706
+ var newContext = [];
707
+ var iterator = context[global.Symbol.iterator]();
708
+ for (var it = iterator.next(); !it.done; it = iterator.next()) {
709
+ newContext.push(it.value);
710
+ }
711
+ context = newContext;
1026
712
  for (var j = context.length; i < j; i++) {
1027
713
  execIteration(i, i, i === context.length - 1);
1028
714
  }
1029
715
  } else {
1030
- var priorKey = undefined;
716
+ (function () {
717
+ var priorKey = undefined;
1031
718
 
1032
- for (var key in context) {
1033
- if (context.hasOwnProperty(key)) {
719
+ _Object$keys(context).forEach(function (key) {
1034
720
  // We're running the iterations one step out of sync so we can detect
1035
721
  // the last iteration without have to scan the object twice and create
1036
722
  // an itermediate keys array.
@@ -1039,11 +725,11 @@ return /******/ (function(modules) { // webpackBootstrap
1039
725
  }
1040
726
  priorKey = key;
1041
727
  i++;
728
+ });
729
+ if (priorKey !== undefined) {
730
+ execIteration(priorKey, i - 1, true);
1042
731
  }
1043
- }
1044
- if (priorKey !== undefined) {
1045
- execIteration(priorKey, i - 1, true);
1046
- }
732
+ })();
1047
733
  }
1048
734
  }
1049
735
 
@@ -1056,18 +742,193 @@ return /******/ (function(modules) { // webpackBootstrap
1056
742
  };
1057
743
 
1058
744
  module.exports = exports['default'];
745
+ /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
1059
746
 
1060
- /***/ },
1061
- /* 14 */
1062
- /***/ function(module, exports, __webpack_require__) {
747
+ /***/ }),
748
+ /* 12 */
749
+ /***/ (function(module, exports, __webpack_require__) {
750
+
751
+ module.exports = { "default": __webpack_require__(13), __esModule: true };
752
+
753
+ /***/ }),
754
+ /* 13 */
755
+ /***/ (function(module, exports, __webpack_require__) {
756
+
757
+ __webpack_require__(14);
758
+ module.exports = __webpack_require__(20).Object.keys;
759
+
760
+ /***/ }),
761
+ /* 14 */
762
+ /***/ (function(module, exports, __webpack_require__) {
763
+
764
+ // 19.1.2.14 Object.keys(O)
765
+ var toObject = __webpack_require__(15);
766
+
767
+ __webpack_require__(17)('keys', function($keys){
768
+ return function keys(it){
769
+ return $keys(toObject(it));
770
+ };
771
+ });
772
+
773
+ /***/ }),
774
+ /* 15 */
775
+ /***/ (function(module, exports, __webpack_require__) {
776
+
777
+ // 7.1.13 ToObject(argument)
778
+ var defined = __webpack_require__(16);
779
+ module.exports = function(it){
780
+ return Object(defined(it));
781
+ };
782
+
783
+ /***/ }),
784
+ /* 16 */
785
+ /***/ (function(module, exports) {
786
+
787
+ // 7.2.1 RequireObjectCoercible(argument)
788
+ module.exports = function(it){
789
+ if(it == undefined)throw TypeError("Can't call method on " + it);
790
+ return it;
791
+ };
792
+
793
+ /***/ }),
794
+ /* 17 */
795
+ /***/ (function(module, exports, __webpack_require__) {
796
+
797
+ // most Object methods by ES6 should accept primitives
798
+ var $export = __webpack_require__(18)
799
+ , core = __webpack_require__(20)
800
+ , fails = __webpack_require__(23);
801
+ module.exports = function(KEY, exec){
802
+ var fn = (core.Object || {})[KEY] || Object[KEY]
803
+ , exp = {};
804
+ exp[KEY] = exec(fn);
805
+ $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp);
806
+ };
807
+
808
+ /***/ }),
809
+ /* 18 */
810
+ /***/ (function(module, exports, __webpack_require__) {
811
+
812
+ var global = __webpack_require__(19)
813
+ , core = __webpack_require__(20)
814
+ , ctx = __webpack_require__(21)
815
+ , PROTOTYPE = 'prototype';
816
+
817
+ var $export = function(type, name, source){
818
+ var IS_FORCED = type & $export.F
819
+ , IS_GLOBAL = type & $export.G
820
+ , IS_STATIC = type & $export.S
821
+ , IS_PROTO = type & $export.P
822
+ , IS_BIND = type & $export.B
823
+ , IS_WRAP = type & $export.W
824
+ , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})
825
+ , target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]
826
+ , key, own, out;
827
+ if(IS_GLOBAL)source = name;
828
+ for(key in source){
829
+ // contains in native
830
+ own = !IS_FORCED && target && key in target;
831
+ if(own && key in exports)continue;
832
+ // export native or passed
833
+ out = own ? target[key] : source[key];
834
+ // prevent global pollution for namespaces
835
+ exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]
836
+ // bind timers to global for call from export context
837
+ : IS_BIND && own ? ctx(out, global)
838
+ // wrap global constructors for prevent change them in library
839
+ : IS_WRAP && target[key] == out ? (function(C){
840
+ var F = function(param){
841
+ return this instanceof C ? new C(param) : C(param);
842
+ };
843
+ F[PROTOTYPE] = C[PROTOTYPE];
844
+ return F;
845
+ // make static versions for prototype methods
846
+ })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
847
+ if(IS_PROTO)(exports[PROTOTYPE] || (exports[PROTOTYPE] = {}))[key] = out;
848
+ }
849
+ };
850
+ // type bitmap
851
+ $export.F = 1; // forced
852
+ $export.G = 2; // global
853
+ $export.S = 4; // static
854
+ $export.P = 8; // proto
855
+ $export.B = 16; // bind
856
+ $export.W = 32; // wrap
857
+ module.exports = $export;
858
+
859
+ /***/ }),
860
+ /* 19 */
861
+ /***/ (function(module, exports) {
862
+
863
+ // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
864
+ var global = module.exports = typeof window != 'undefined' && window.Math == Math
865
+ ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();
866
+ if(typeof __g == 'number')__g = global; // eslint-disable-line no-undef
867
+
868
+ /***/ }),
869
+ /* 20 */
870
+ /***/ (function(module, exports) {
871
+
872
+ var core = module.exports = {version: '1.2.6'};
873
+ if(typeof __e == 'number')__e = core; // eslint-disable-line no-undef
874
+
875
+ /***/ }),
876
+ /* 21 */
877
+ /***/ (function(module, exports, __webpack_require__) {
878
+
879
+ // optional / simple context binding
880
+ var aFunction = __webpack_require__(22);
881
+ module.exports = function(fn, that, length){
882
+ aFunction(fn);
883
+ if(that === undefined)return fn;
884
+ switch(length){
885
+ case 1: return function(a){
886
+ return fn.call(that, a);
887
+ };
888
+ case 2: return function(a, b){
889
+ return fn.call(that, a, b);
890
+ };
891
+ case 3: return function(a, b, c){
892
+ return fn.call(that, a, b, c);
893
+ };
894
+ }
895
+ return function(/* ...args */){
896
+ return fn.apply(that, arguments);
897
+ };
898
+ };
899
+
900
+ /***/ }),
901
+ /* 22 */
902
+ /***/ (function(module, exports) {
903
+
904
+ module.exports = function(it){
905
+ if(typeof it != 'function')throw TypeError(it + ' is not a function!');
906
+ return it;
907
+ };
908
+
909
+ /***/ }),
910
+ /* 23 */
911
+ /***/ (function(module, exports) {
912
+
913
+ module.exports = function(exec){
914
+ try {
915
+ return !!exec();
916
+ } catch(e){
917
+ return true;
918
+ }
919
+ };
920
+
921
+ /***/ }),
922
+ /* 24 */
923
+ /***/ (function(module, exports, __webpack_require__) {
1063
924
 
1064
925
  'use strict';
1065
926
 
1066
- var _interopRequireDefault = __webpack_require__(8)['default'];
927
+ var _interopRequireDefault = __webpack_require__(2)['default'];
1067
928
 
1068
929
  exports.__esModule = true;
1069
930
 
1070
- var _exception = __webpack_require__(3);
931
+ var _exception = __webpack_require__(5);
1071
932
 
1072
933
  var _exception2 = _interopRequireDefault(_exception);
1073
934
 
@@ -1085,18 +946,27 @@ return /******/ (function(modules) { // webpackBootstrap
1085
946
 
1086
947
  module.exports = exports['default'];
1087
948
 
1088
- /***/ },
1089
- /* 15 */
1090
- /***/ function(module, exports, __webpack_require__) {
949
+ /***/ }),
950
+ /* 25 */
951
+ /***/ (function(module, exports, __webpack_require__) {
1091
952
 
1092
953
  'use strict';
1093
954
 
955
+ var _interopRequireDefault = __webpack_require__(2)['default'];
956
+
1094
957
  exports.__esModule = true;
1095
958
 
1096
959
  var _utils = __webpack_require__(4);
1097
960
 
961
+ var _exception = __webpack_require__(5);
962
+
963
+ var _exception2 = _interopRequireDefault(_exception);
964
+
1098
965
  exports['default'] = function (instance) {
1099
966
  instance.registerHelper('if', function (conditional, options) {
967
+ if (arguments.length != 2) {
968
+ throw new _exception2['default']('#if requires exactly one argument');
969
+ }
1100
970
  if (_utils.isFunction(conditional)) {
1101
971
  conditional = conditional.call(this);
1102
972
  }
@@ -1112,15 +982,22 @@ return /******/ (function(modules) { // webpackBootstrap
1112
982
  });
1113
983
 
1114
984
  instance.registerHelper('unless', function (conditional, options) {
1115
- return instance.helpers['if'].call(this, conditional, { fn: options.inverse, inverse: options.fn, hash: options.hash });
985
+ if (arguments.length != 2) {
986
+ throw new _exception2['default']('#unless requires exactly one argument');
987
+ }
988
+ return instance.helpers['if'].call(this, conditional, {
989
+ fn: options.inverse,
990
+ inverse: options.fn,
991
+ hash: options.hash
992
+ });
1116
993
  });
1117
994
  };
1118
995
 
1119
996
  module.exports = exports['default'];
1120
997
 
1121
- /***/ },
1122
- /* 16 */
1123
- /***/ function(module, exports, __webpack_require__) {
998
+ /***/ }),
999
+ /* 26 */
1000
+ /***/ (function(module, exports) {
1124
1001
 
1125
1002
  'use strict';
1126
1003
 
@@ -1148,34 +1025,47 @@ return /******/ (function(modules) { // webpackBootstrap
1148
1025
 
1149
1026
  module.exports = exports['default'];
1150
1027
 
1151
- /***/ },
1152
- /* 17 */
1153
- /***/ function(module, exports, __webpack_require__) {
1028
+ /***/ }),
1029
+ /* 27 */
1030
+ /***/ (function(module, exports) {
1154
1031
 
1155
1032
  'use strict';
1156
1033
 
1157
1034
  exports.__esModule = true;
1158
1035
 
1159
1036
  exports['default'] = function (instance) {
1160
- instance.registerHelper('lookup', function (obj, field) {
1161
- return obj && obj[field];
1037
+ instance.registerHelper('lookup', function (obj, field, options) {
1038
+ if (!obj) {
1039
+ // Note for 5.0: Change to "obj == null" in 5.0
1040
+ return obj;
1041
+ }
1042
+ return options.lookupProperty(obj, field);
1162
1043
  });
1163
1044
  };
1164
1045
 
1165
1046
  module.exports = exports['default'];
1166
1047
 
1167
- /***/ },
1168
- /* 18 */
1169
- /***/ function(module, exports, __webpack_require__) {
1048
+ /***/ }),
1049
+ /* 28 */
1050
+ /***/ (function(module, exports, __webpack_require__) {
1170
1051
 
1171
1052
  'use strict';
1172
1053
 
1054
+ var _interopRequireDefault = __webpack_require__(2)['default'];
1055
+
1173
1056
  exports.__esModule = true;
1174
1057
 
1175
1058
  var _utils = __webpack_require__(4);
1176
1059
 
1060
+ var _exception = __webpack_require__(5);
1061
+
1062
+ var _exception2 = _interopRequireDefault(_exception);
1063
+
1177
1064
  exports['default'] = function (instance) {
1178
1065
  instance.registerHelper('with', function (context, options) {
1066
+ if (arguments.length != 2) {
1067
+ throw new _exception2['default']('#with requires exactly one argument');
1068
+ }
1179
1069
  if (_utils.isFunction(context)) {
1180
1070
  context = context.call(this);
1181
1071
  }
@@ -1201,9 +1091,28 @@ return /******/ (function(modules) { // webpackBootstrap
1201
1091
 
1202
1092
  module.exports = exports['default'];
1203
1093
 
1204
- /***/ },
1205
- /* 19 */
1206
- /***/ function(module, exports, __webpack_require__) {
1094
+ /***/ }),
1095
+ /* 29 */
1096
+ /***/ (function(module, exports, __webpack_require__) {
1097
+
1098
+ 'use strict';
1099
+
1100
+ var _interopRequireDefault = __webpack_require__(2)['default'];
1101
+
1102
+ exports.__esModule = true;
1103
+ exports.registerDefaultDecorators = registerDefaultDecorators;
1104
+
1105
+ var _decoratorsInline = __webpack_require__(30);
1106
+
1107
+ var _decoratorsInline2 = _interopRequireDefault(_decoratorsInline);
1108
+
1109
+ function registerDefaultDecorators(instance) {
1110
+ _decoratorsInline2['default'](instance);
1111
+ }
1112
+
1113
+ /***/ }),
1114
+ /* 30 */
1115
+ /***/ (function(module, exports, __webpack_require__) {
1207
1116
 
1208
1117
  'use strict';
1209
1118
 
@@ -1234,7 +1143,658 @@ return /******/ (function(modules) { // webpackBootstrap
1234
1143
 
1235
1144
  module.exports = exports['default'];
1236
1145
 
1237
- /***/ }
1146
+ /***/ }),
1147
+ /* 31 */
1148
+ /***/ (function(module, exports, __webpack_require__) {
1149
+
1150
+ 'use strict';
1151
+
1152
+ exports.__esModule = true;
1153
+
1154
+ var _utils = __webpack_require__(4);
1155
+
1156
+ var logger = {
1157
+ methodMap: ['debug', 'info', 'warn', 'error'],
1158
+ level: 'info',
1159
+
1160
+ // Maps a given level value to the `methodMap` indexes above.
1161
+ lookupLevel: function lookupLevel(level) {
1162
+ if (typeof level === 'string') {
1163
+ var levelMap = _utils.indexOf(logger.methodMap, level.toLowerCase());
1164
+ if (levelMap >= 0) {
1165
+ level = levelMap;
1166
+ } else {
1167
+ level = parseInt(level, 10);
1168
+ }
1169
+ }
1170
+
1171
+ return level;
1172
+ },
1173
+
1174
+ // Can be overridden in the host environment
1175
+ log: function log(level) {
1176
+ level = logger.lookupLevel(level);
1177
+
1178
+ if (typeof console !== 'undefined' && logger.lookupLevel(logger.level) <= level) {
1179
+ var method = logger.methodMap[level];
1180
+ // eslint-disable-next-line no-console
1181
+ if (!console[method]) {
1182
+ method = 'log';
1183
+ }
1184
+
1185
+ for (var _len = arguments.length, message = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
1186
+ message[_key - 1] = arguments[_key];
1187
+ }
1188
+
1189
+ console[method].apply(console, message); // eslint-disable-line no-console
1190
+ }
1191
+ }
1192
+ };
1193
+
1194
+ exports['default'] = logger;
1195
+ module.exports = exports['default'];
1196
+
1197
+ /***/ }),
1198
+ /* 32 */
1199
+ /***/ (function(module, exports, __webpack_require__) {
1200
+
1201
+ 'use strict';
1202
+
1203
+ var _Object$create = __webpack_require__(33)['default'];
1204
+
1205
+ var _Object$keys = __webpack_require__(12)['default'];
1206
+
1207
+ var _interopRequireWildcard = __webpack_require__(1)['default'];
1208
+
1209
+ exports.__esModule = true;
1210
+ exports.createProtoAccessControl = createProtoAccessControl;
1211
+ exports.resultIsAllowed = resultIsAllowed;
1212
+ exports.resetLoggedProperties = resetLoggedProperties;
1213
+
1214
+ var _createNewLookupObject = __webpack_require__(35);
1215
+
1216
+ var _logger = __webpack_require__(31);
1217
+
1218
+ var logger = _interopRequireWildcard(_logger);
1219
+
1220
+ var loggedProperties = _Object$create(null);
1221
+
1222
+ function createProtoAccessControl(runtimeOptions) {
1223
+ var defaultMethodWhiteList = _Object$create(null);
1224
+ defaultMethodWhiteList['constructor'] = false;
1225
+ defaultMethodWhiteList['__defineGetter__'] = false;
1226
+ defaultMethodWhiteList['__defineSetter__'] = false;
1227
+ defaultMethodWhiteList['__lookupGetter__'] = false;
1228
+
1229
+ var defaultPropertyWhiteList = _Object$create(null);
1230
+ // eslint-disable-next-line no-proto
1231
+ defaultPropertyWhiteList['__proto__'] = false;
1232
+
1233
+ return {
1234
+ properties: {
1235
+ whitelist: _createNewLookupObject.createNewLookupObject(defaultPropertyWhiteList, runtimeOptions.allowedProtoProperties),
1236
+ defaultValue: runtimeOptions.allowProtoPropertiesByDefault
1237
+ },
1238
+ methods: {
1239
+ whitelist: _createNewLookupObject.createNewLookupObject(defaultMethodWhiteList, runtimeOptions.allowedProtoMethods),
1240
+ defaultValue: runtimeOptions.allowProtoMethodsByDefault
1241
+ }
1242
+ };
1243
+ }
1244
+
1245
+ function resultIsAllowed(result, protoAccessControl, propertyName) {
1246
+ if (typeof result === 'function') {
1247
+ return checkWhiteList(protoAccessControl.methods, propertyName);
1248
+ } else {
1249
+ return checkWhiteList(protoAccessControl.properties, propertyName);
1250
+ }
1251
+ }
1252
+
1253
+ function checkWhiteList(protoAccessControlForType, propertyName) {
1254
+ if (protoAccessControlForType.whitelist[propertyName] !== undefined) {
1255
+ return protoAccessControlForType.whitelist[propertyName] === true;
1256
+ }
1257
+ if (protoAccessControlForType.defaultValue !== undefined) {
1258
+ return protoAccessControlForType.defaultValue;
1259
+ }
1260
+ logUnexpecedPropertyAccessOnce(propertyName);
1261
+ return false;
1262
+ }
1263
+
1264
+ function logUnexpecedPropertyAccessOnce(propertyName) {
1265
+ if (loggedProperties[propertyName] !== true) {
1266
+ loggedProperties[propertyName] = true;
1267
+ logger.log('error', 'Handlebars: Access has been denied to resolve the property "' + propertyName + '" because it is not an "own property" of its parent.\n' + 'You can add a runtime option to disable the check or this warning:\n' + 'See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details');
1268
+ }
1269
+ }
1270
+
1271
+ function resetLoggedProperties() {
1272
+ _Object$keys(loggedProperties).forEach(function (propertyName) {
1273
+ delete loggedProperties[propertyName];
1274
+ });
1275
+ }
1276
+
1277
+ /***/ }),
1278
+ /* 33 */
1279
+ /***/ (function(module, exports, __webpack_require__) {
1280
+
1281
+ module.exports = { "default": __webpack_require__(34), __esModule: true };
1282
+
1283
+ /***/ }),
1284
+ /* 34 */
1285
+ /***/ (function(module, exports, __webpack_require__) {
1286
+
1287
+ var $ = __webpack_require__(8);
1288
+ module.exports = function create(P, D){
1289
+ return $.create(P, D);
1290
+ };
1291
+
1292
+ /***/ }),
1293
+ /* 35 */
1294
+ /***/ (function(module, exports, __webpack_require__) {
1295
+
1296
+ 'use strict';
1297
+
1298
+ var _Object$create = __webpack_require__(33)['default'];
1299
+
1300
+ exports.__esModule = true;
1301
+ exports.createNewLookupObject = createNewLookupObject;
1302
+
1303
+ var _utils = __webpack_require__(4);
1304
+
1305
+ /**
1306
+ * Create a new object with "null"-prototype to avoid truthy results on prototype properties.
1307
+ * The resulting object can be used with "object[property]" to check if a property exists
1308
+ * @param {...object} sources a varargs parameter of source objects that will be merged
1309
+ * @returns {object}
1310
+ */
1311
+
1312
+ function createNewLookupObject() {
1313
+ for (var _len = arguments.length, sources = Array(_len), _key = 0; _key < _len; _key++) {
1314
+ sources[_key] = arguments[_key];
1315
+ }
1316
+
1317
+ return _utils.extend.apply(undefined, [_Object$create(null)].concat(sources));
1318
+ }
1319
+
1320
+ /***/ }),
1321
+ /* 36 */
1322
+ /***/ (function(module, exports) {
1323
+
1324
+ // Build out our basic SafeString type
1325
+ 'use strict';
1326
+
1327
+ exports.__esModule = true;
1328
+ function SafeString(string) {
1329
+ this.string = string;
1330
+ }
1331
+
1332
+ SafeString.prototype.toString = SafeString.prototype.toHTML = function () {
1333
+ return '' + this.string;
1334
+ };
1335
+
1336
+ exports['default'] = SafeString;
1337
+ module.exports = exports['default'];
1338
+
1339
+ /***/ }),
1340
+ /* 37 */
1341
+ /***/ (function(module, exports, __webpack_require__) {
1342
+
1343
+ 'use strict';
1344
+
1345
+ var _Object$seal = __webpack_require__(38)['default'];
1346
+
1347
+ var _Object$keys = __webpack_require__(12)['default'];
1348
+
1349
+ var _interopRequireWildcard = __webpack_require__(1)['default'];
1350
+
1351
+ var _interopRequireDefault = __webpack_require__(2)['default'];
1352
+
1353
+ exports.__esModule = true;
1354
+ exports.checkRevision = checkRevision;
1355
+ exports.template = template;
1356
+ exports.wrapProgram = wrapProgram;
1357
+ exports.resolvePartial = resolvePartial;
1358
+ exports.invokePartial = invokePartial;
1359
+ exports.noop = noop;
1360
+
1361
+ var _utils = __webpack_require__(4);
1362
+
1363
+ var Utils = _interopRequireWildcard(_utils);
1364
+
1365
+ var _exception = __webpack_require__(5);
1366
+
1367
+ var _exception2 = _interopRequireDefault(_exception);
1368
+
1369
+ var _base = __webpack_require__(3);
1370
+
1371
+ var _helpers = __webpack_require__(9);
1372
+
1373
+ var _internalWrapHelper = __webpack_require__(42);
1374
+
1375
+ var _internalProtoAccess = __webpack_require__(32);
1376
+
1377
+ function checkRevision(compilerInfo) {
1378
+ var compilerRevision = compilerInfo && compilerInfo[0] || 1,
1379
+ currentRevision = _base.COMPILER_REVISION;
1380
+
1381
+ if (compilerRevision >= _base.LAST_COMPATIBLE_COMPILER_REVISION && compilerRevision <= _base.COMPILER_REVISION) {
1382
+ return;
1383
+ }
1384
+
1385
+ if (compilerRevision < _base.LAST_COMPATIBLE_COMPILER_REVISION) {
1386
+ var runtimeVersions = _base.REVISION_CHANGES[currentRevision],
1387
+ compilerVersions = _base.REVISION_CHANGES[compilerRevision];
1388
+ throw new _exception2['default']('Template was precompiled with an older version of Handlebars than the current runtime. ' + 'Please update your precompiler to a newer version (' + runtimeVersions + ') or downgrade your runtime to an older version (' + compilerVersions + ').');
1389
+ } else {
1390
+ // Use the embedded version info since the runtime doesn't know about this revision yet
1391
+ throw new _exception2['default']('Template was precompiled with a newer version of Handlebars than the current runtime. ' + 'Please update your runtime to a newer version (' + compilerInfo[1] + ').');
1392
+ }
1393
+ }
1394
+
1395
+ function template(templateSpec, env) {
1396
+ /* istanbul ignore next */
1397
+ if (!env) {
1398
+ throw new _exception2['default']('No environment passed to template');
1399
+ }
1400
+ if (!templateSpec || !templateSpec.main) {
1401
+ throw new _exception2['default']('Unknown template object: ' + typeof templateSpec);
1402
+ }
1403
+
1404
+ templateSpec.main.decorator = templateSpec.main_d;
1405
+
1406
+ // Note: Using env.VM references rather than local var references throughout this section to allow
1407
+ // for external users to override these as pseudo-supported APIs.
1408
+ env.VM.checkRevision(templateSpec.compiler);
1409
+
1410
+ // backwards compatibility for precompiled templates with compiler-version 7 (<4.3.0)
1411
+ var templateWasPrecompiledWithCompilerV7 = templateSpec.compiler && templateSpec.compiler[0] === 7;
1412
+
1413
+ function invokePartialWrapper(partial, context, options) {
1414
+ if (options.hash) {
1415
+ context = Utils.extend({}, context, options.hash);
1416
+ if (options.ids) {
1417
+ options.ids[0] = true;
1418
+ }
1419
+ }
1420
+ partial = env.VM.resolvePartial.call(this, partial, context, options);
1421
+
1422
+ var extendedOptions = Utils.extend({}, options, {
1423
+ hooks: this.hooks,
1424
+ protoAccessControl: this.protoAccessControl
1425
+ });
1426
+
1427
+ var result = env.VM.invokePartial.call(this, partial, context, extendedOptions);
1428
+
1429
+ if (result == null && env.compile) {
1430
+ options.partials[options.name] = env.compile(partial, templateSpec.compilerOptions, env);
1431
+ result = options.partials[options.name](context, extendedOptions);
1432
+ }
1433
+ if (result != null) {
1434
+ if (options.indent) {
1435
+ var lines = result.split('\n');
1436
+ for (var i = 0, l = lines.length; i < l; i++) {
1437
+ if (!lines[i] && i + 1 === l) {
1438
+ break;
1439
+ }
1440
+
1441
+ lines[i] = options.indent + lines[i];
1442
+ }
1443
+ result = lines.join('\n');
1444
+ }
1445
+ return result;
1446
+ } else {
1447
+ throw new _exception2['default']('The partial ' + options.name + ' could not be compiled when running in runtime-only mode');
1448
+ }
1449
+ }
1450
+
1451
+ // Just add water
1452
+ var container = {
1453
+ strict: function strict(obj, name, loc) {
1454
+ if (!obj || !(name in obj)) {
1455
+ throw new _exception2['default']('"' + name + '" not defined in ' + obj, {
1456
+ loc: loc
1457
+ });
1458
+ }
1459
+ return container.lookupProperty(obj, name);
1460
+ },
1461
+ lookupProperty: function lookupProperty(parent, propertyName) {
1462
+ var result = parent[propertyName];
1463
+ if (result == null) {
1464
+ return result;
1465
+ }
1466
+ if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
1467
+ return result;
1468
+ }
1469
+
1470
+ if (_internalProtoAccess.resultIsAllowed(result, container.protoAccessControl, propertyName)) {
1471
+ return result;
1472
+ }
1473
+ return undefined;
1474
+ },
1475
+ lookup: function lookup(depths, name) {
1476
+ var len = depths.length;
1477
+ for (var i = 0; i < len; i++) {
1478
+ var result = depths[i] && container.lookupProperty(depths[i], name);
1479
+ if (result != null) {
1480
+ return depths[i][name];
1481
+ }
1482
+ }
1483
+ },
1484
+ lambda: function lambda(current, context) {
1485
+ return typeof current === 'function' ? current.call(context) : current;
1486
+ },
1487
+
1488
+ escapeExpression: Utils.escapeExpression,
1489
+ invokePartial: invokePartialWrapper,
1490
+
1491
+ fn: function fn(i) {
1492
+ var ret = templateSpec[i];
1493
+ ret.decorator = templateSpec[i + '_d'];
1494
+ return ret;
1495
+ },
1496
+
1497
+ programs: [],
1498
+ program: function program(i, data, declaredBlockParams, blockParams, depths) {
1499
+ var programWrapper = this.programs[i],
1500
+ fn = this.fn(i);
1501
+ if (data || depths || blockParams || declaredBlockParams) {
1502
+ programWrapper = wrapProgram(this, i, fn, data, declaredBlockParams, blockParams, depths);
1503
+ } else if (!programWrapper) {
1504
+ programWrapper = this.programs[i] = wrapProgram(this, i, fn);
1505
+ }
1506
+ return programWrapper;
1507
+ },
1508
+
1509
+ data: function data(value, depth) {
1510
+ while (value && depth--) {
1511
+ value = value._parent;
1512
+ }
1513
+ return value;
1514
+ },
1515
+ mergeIfNeeded: function mergeIfNeeded(param, common) {
1516
+ var obj = param || common;
1517
+
1518
+ if (param && common && param !== common) {
1519
+ obj = Utils.extend({}, common, param);
1520
+ }
1521
+
1522
+ return obj;
1523
+ },
1524
+ // An empty object to use as replacement for null-contexts
1525
+ nullContext: _Object$seal({}),
1526
+
1527
+ noop: env.VM.noop,
1528
+ compilerInfo: templateSpec.compiler
1529
+ };
1530
+
1531
+ function ret(context) {
1532
+ var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
1533
+
1534
+ var data = options.data;
1535
+
1536
+ ret._setup(options);
1537
+ if (!options.partial && templateSpec.useData) {
1538
+ data = initData(context, data);
1539
+ }
1540
+ var depths = undefined,
1541
+ blockParams = templateSpec.useBlockParams ? [] : undefined;
1542
+ if (templateSpec.useDepths) {
1543
+ if (options.depths) {
1544
+ depths = context != options.depths[0] ? [context].concat(options.depths) : options.depths;
1545
+ } else {
1546
+ depths = [context];
1547
+ }
1548
+ }
1549
+
1550
+ function main(context /*, options*/) {
1551
+ return '' + templateSpec.main(container, context, container.helpers, container.partials, data, blockParams, depths);
1552
+ }
1553
+
1554
+ main = executeDecorators(templateSpec.main, main, container, options.depths || [], data, blockParams);
1555
+ return main(context, options);
1556
+ }
1557
+
1558
+ ret.isTop = true;
1559
+
1560
+ ret._setup = function (options) {
1561
+ if (!options.partial) {
1562
+ var mergedHelpers = Utils.extend({}, env.helpers, options.helpers);
1563
+ wrapHelpersToPassLookupProperty(mergedHelpers, container);
1564
+ container.helpers = mergedHelpers;
1565
+
1566
+ if (templateSpec.usePartial) {
1567
+ // Use mergeIfNeeded here to prevent compiling global partials multiple times
1568
+ container.partials = container.mergeIfNeeded(options.partials, env.partials);
1569
+ }
1570
+ if (templateSpec.usePartial || templateSpec.useDecorators) {
1571
+ container.decorators = Utils.extend({}, env.decorators, options.decorators);
1572
+ }
1573
+
1574
+ container.hooks = {};
1575
+ container.protoAccessControl = _internalProtoAccess.createProtoAccessControl(options);
1576
+
1577
+ var keepHelperInHelpers = options.allowCallsToHelperMissing || templateWasPrecompiledWithCompilerV7;
1578
+ _helpers.moveHelperToHooks(container, 'helperMissing', keepHelperInHelpers);
1579
+ _helpers.moveHelperToHooks(container, 'blockHelperMissing', keepHelperInHelpers);
1580
+ } else {
1581
+ container.protoAccessControl = options.protoAccessControl; // internal option
1582
+ container.helpers = options.helpers;
1583
+ container.partials = options.partials;
1584
+ container.decorators = options.decorators;
1585
+ container.hooks = options.hooks;
1586
+ }
1587
+ };
1588
+
1589
+ ret._child = function (i, data, blockParams, depths) {
1590
+ if (templateSpec.useBlockParams && !blockParams) {
1591
+ throw new _exception2['default']('must pass block params');
1592
+ }
1593
+ if (templateSpec.useDepths && !depths) {
1594
+ throw new _exception2['default']('must pass parent depths');
1595
+ }
1596
+
1597
+ return wrapProgram(container, i, templateSpec[i], data, 0, blockParams, depths);
1598
+ };
1599
+ return ret;
1600
+ }
1601
+
1602
+ function wrapProgram(container, i, fn, data, declaredBlockParams, blockParams, depths) {
1603
+ function prog(context) {
1604
+ var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
1605
+
1606
+ var currentDepths = depths;
1607
+ if (depths && context != depths[0] && !(context === container.nullContext && depths[0] === null)) {
1608
+ currentDepths = [context].concat(depths);
1609
+ }
1610
+
1611
+ return fn(container, context, container.helpers, container.partials, options.data || data, blockParams && [options.blockParams].concat(blockParams), currentDepths);
1612
+ }
1613
+
1614
+ prog = executeDecorators(fn, prog, container, depths, data, blockParams);
1615
+
1616
+ prog.program = i;
1617
+ prog.depth = depths ? depths.length : 0;
1618
+ prog.blockParams = declaredBlockParams || 0;
1619
+ return prog;
1620
+ }
1621
+
1622
+ /**
1623
+ * This is currently part of the official API, therefore implementation details should not be changed.
1624
+ */
1625
+
1626
+ function resolvePartial(partial, context, options) {
1627
+ if (!partial) {
1628
+ if (options.name === '@partial-block') {
1629
+ partial = options.data['partial-block'];
1630
+ } else {
1631
+ partial = options.partials[options.name];
1632
+ }
1633
+ } else if (!partial.call && !options.name) {
1634
+ // This is a dynamic partial that returned a string
1635
+ options.name = partial;
1636
+ partial = options.partials[partial];
1637
+ }
1638
+ return partial;
1639
+ }
1640
+
1641
+ function invokePartial(partial, context, options) {
1642
+ // Use the current closure context to save the partial-block if this partial
1643
+ var currentPartialBlock = options.data && options.data['partial-block'];
1644
+ options.partial = true;
1645
+ if (options.ids) {
1646
+ options.data.contextPath = options.ids[0] || options.data.contextPath;
1647
+ }
1648
+
1649
+ var partialBlock = undefined;
1650
+ if (options.fn && options.fn !== noop) {
1651
+ (function () {
1652
+ options.data = _base.createFrame(options.data);
1653
+ // Wrapper function to get access to currentPartialBlock from the closure
1654
+ var fn = options.fn;
1655
+ partialBlock = options.data['partial-block'] = function partialBlockWrapper(context) {
1656
+ var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
1657
+
1658
+ // Restore the partial-block from the closure for the execution of the block
1659
+ // i.e. the part inside the block of the partial call.
1660
+ options.data = _base.createFrame(options.data);
1661
+ options.data['partial-block'] = currentPartialBlock;
1662
+ return fn(context, options);
1663
+ };
1664
+ if (fn.partials) {
1665
+ options.partials = Utils.extend({}, options.partials, fn.partials);
1666
+ }
1667
+ })();
1668
+ }
1669
+
1670
+ if (partial === undefined && partialBlock) {
1671
+ partial = partialBlock;
1672
+ }
1673
+
1674
+ if (partial === undefined) {
1675
+ throw new _exception2['default']('The partial ' + options.name + ' could not be found');
1676
+ } else if (partial instanceof Function) {
1677
+ return partial(context, options);
1678
+ }
1679
+ }
1680
+
1681
+ function noop() {
1682
+ return '';
1683
+ }
1684
+
1685
+ function initData(context, data) {
1686
+ if (!data || !('root' in data)) {
1687
+ data = data ? _base.createFrame(data) : {};
1688
+ data.root = context;
1689
+ }
1690
+ return data;
1691
+ }
1692
+
1693
+ function executeDecorators(fn, prog, container, depths, data, blockParams) {
1694
+ if (fn.decorator) {
1695
+ var props = {};
1696
+ prog = fn.decorator(prog, props, container, depths && depths[0], data, blockParams, depths);
1697
+ Utils.extend(prog, props);
1698
+ }
1699
+ return prog;
1700
+ }
1701
+
1702
+ function wrapHelpersToPassLookupProperty(mergedHelpers, container) {
1703
+ _Object$keys(mergedHelpers).forEach(function (helperName) {
1704
+ var helper = mergedHelpers[helperName];
1705
+ mergedHelpers[helperName] = passLookupPropertyOption(helper, container);
1706
+ });
1707
+ }
1708
+
1709
+ function passLookupPropertyOption(helper, container) {
1710
+ var lookupProperty = container.lookupProperty;
1711
+ return _internalWrapHelper.wrapHelper(helper, function (options) {
1712
+ return Utils.extend({ lookupProperty: lookupProperty }, options);
1713
+ });
1714
+ }
1715
+
1716
+ /***/ }),
1717
+ /* 38 */
1718
+ /***/ (function(module, exports, __webpack_require__) {
1719
+
1720
+ module.exports = { "default": __webpack_require__(39), __esModule: true };
1721
+
1722
+ /***/ }),
1723
+ /* 39 */
1724
+ /***/ (function(module, exports, __webpack_require__) {
1725
+
1726
+ __webpack_require__(40);
1727
+ module.exports = __webpack_require__(20).Object.seal;
1728
+
1729
+ /***/ }),
1730
+ /* 40 */
1731
+ /***/ (function(module, exports, __webpack_require__) {
1732
+
1733
+ // 19.1.2.17 Object.seal(O)
1734
+ var isObject = __webpack_require__(41);
1735
+
1736
+ __webpack_require__(17)('seal', function($seal){
1737
+ return function seal(it){
1738
+ return $seal && isObject(it) ? $seal(it) : it;
1739
+ };
1740
+ });
1741
+
1742
+ /***/ }),
1743
+ /* 41 */
1744
+ /***/ (function(module, exports) {
1745
+
1746
+ module.exports = function(it){
1747
+ return typeof it === 'object' ? it !== null : typeof it === 'function';
1748
+ };
1749
+
1750
+ /***/ }),
1751
+ /* 42 */
1752
+ /***/ (function(module, exports) {
1753
+
1754
+ 'use strict';
1755
+
1756
+ exports.__esModule = true;
1757
+ exports.wrapHelper = wrapHelper;
1758
+
1759
+ function wrapHelper(helper, transformOptionsFn) {
1760
+ if (typeof helper !== 'function') {
1761
+ // This should not happen, but apparently it does in https://github.com/wycats/handlebars.js/issues/1639
1762
+ // We try to make the wrapper least-invasive by not wrapping it, if the helper is not a function.
1763
+ return helper;
1764
+ }
1765
+ var wrapper = function wrapper() /* dynamic arguments */{
1766
+ var options = arguments[arguments.length - 1];
1767
+ arguments[arguments.length - 1] = transformOptionsFn(options);
1768
+ return helper.apply(this, arguments);
1769
+ };
1770
+ return wrapper;
1771
+ }
1772
+
1773
+ /***/ }),
1774
+ /* 43 */
1775
+ /***/ (function(module, exports) {
1776
+
1777
+ /* WEBPACK VAR INJECTION */(function(global) {'use strict';
1778
+
1779
+ exports.__esModule = true;
1780
+
1781
+ exports['default'] = function (Handlebars) {
1782
+ /* istanbul ignore next */
1783
+ var root = typeof global !== 'undefined' ? global : window,
1784
+ $Handlebars = root.Handlebars;
1785
+ /* istanbul ignore next */
1786
+ Handlebars.noConflict = function () {
1787
+ if (root.Handlebars === Handlebars) {
1788
+ root.Handlebars = $Handlebars;
1789
+ }
1790
+ return Handlebars;
1791
+ };
1792
+ };
1793
+
1794
+ module.exports = exports['default'];
1795
+ /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
1796
+
1797
+ /***/ })
1238
1798
  /******/ ])
1239
1799
  });
1240
1800
  ;