handlebars_assets 0.23.4 → 0.23.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 275133dd046896ad9905ebe998590182b3e9e58a
4
- data.tar.gz: 213f51bc1bd6b2724f564d6616f6f88d5e9b1b38
3
+ metadata.gz: c8b34c84840eeb4f4620a11108f0912572dfad5c
4
+ data.tar.gz: 1af75c60e57bcaf03fe005ea8a19130dfa090f27
5
5
  SHA512:
6
- metadata.gz: be2793014a2734c371acc33b5388c866e0d88994f3968fdab9ddbd79d1f7028212d8ff28402a5204e3d5efb03035633393246ff8ff9c020d881c76f59e7a6cba
7
- data.tar.gz: 3a436c81df47ad50c9f31d52e3ad9b347068ff2bf5ce2d5121cda099116ce95c5b0b28947f9a3cb4f5249836e8d309cf22a7ff9fbc1917ed7af4003885f80a99
6
+ metadata.gz: '069aa1f01568f9d5d50685712a0c2d7183a094ddac08a765c25bf7cf63d41516ccd6987ebeacc49cbea58cf397efe952822e9feab4aaa2e9b3d4e87ce37b2982'
7
+ data.tar.gz: ac5c513bf1b293c3416caac16bb0087a2a411e93cd2db6b23d4114a3fc3499e61512184ca52848c5c16e876ed092710e7bc8f4ba458daa7bb11133c9d3b7c2e4
@@ -1,3 +1,15 @@
1
+ ## 0.23.5 (2019-09-25)
2
+
3
+ * Update Handlebars to v4.3.1
4
+
5
+ ## 0.23.4 (2019-06-03)
6
+
7
+ * Update Handlebars to v4.1.2
8
+
9
+ ## 0.23.3 (2019-02-20)
10
+
11
+ * Update Handlebars to v4.1.0
12
+
1
13
  ## 0.23.2 (2017-05-07)
2
14
 
3
15
  * Remove requirement for MultiJSON
@@ -1,3 +1,3 @@
1
1
  module HandlebarsAssets
2
- VERSION = "0.23.4"
2
+ VERSION = "0.23.5"
3
3
  end
@@ -1,7 +1,7 @@
1
1
  /**!
2
2
 
3
3
  @license
4
- handlebars v4.1.2
4
+ handlebars v4.3.1
5
5
 
6
6
  Copyright (C) 2011-2017 by Yehuda Katz
7
7
 
@@ -275,11 +275,13 @@ return /******/ (function(modules) { // webpackBootstrap
275
275
 
276
276
  var _logger2 = _interopRequireDefault(_logger);
277
277
 
278
- var VERSION = '4.1.2';
278
+ var VERSION = '4.3.1';
279
279
  exports.VERSION = VERSION;
280
- var COMPILER_REVISION = 7;
281
-
280
+ var COMPILER_REVISION = 8;
282
281
  exports.COMPILER_REVISION = COMPILER_REVISION;
282
+ var LAST_COMPATIBLE_COMPILER_REVISION = 7;
283
+
284
+ exports.LAST_COMPATIBLE_COMPILER_REVISION = LAST_COMPATIBLE_COMPILER_REVISION;
283
285
  var REVISION_CHANGES = {
284
286
  1: '<= 1.0.rc.2', // 1.0.rc.2 is actually rev2 but doesn't report it
285
287
  2: '== 1.0.0-rc.3',
@@ -287,7 +289,8 @@ return /******/ (function(modules) { // webpackBootstrap
287
289
  4: '== 1.x.x',
288
290
  5: '== 2.0.0-alpha.x',
289
291
  6: '>= 2.0.0-beta.1',
290
- 7: '>= 4.0.0'
292
+ 7: '>= 4.0.0 <4.3.0',
293
+ 8: '>= 4.3.0'
291
294
  };
292
295
 
293
296
  exports.REVISION_CHANGES = REVISION_CHANGES;
@@ -371,6 +374,7 @@ return /******/ (function(modules) { // webpackBootstrap
371
374
  exports.createFrame = createFrame;
372
375
  exports.blockParams = blockParams;
373
376
  exports.appendContextPath = appendContextPath;
377
+
374
378
  var escape = {
375
379
  '&': '&amp;',
376
380
  '<': '&lt;',
@@ -588,6 +592,7 @@ return /******/ (function(modules) { // webpackBootstrap
588
592
 
589
593
  exports.__esModule = true;
590
594
  exports.registerDefaultHelpers = registerDefaultHelpers;
595
+ exports.moveHelperToHooks = moveHelperToHooks;
591
596
 
592
597
  var _helpersBlockHelperMissing = __webpack_require__(11);
593
598
 
@@ -627,6 +632,15 @@ return /******/ (function(modules) { // webpackBootstrap
627
632
  _helpersWith2['default'](instance);
628
633
  }
629
634
 
635
+ function moveHelperToHooks(instance, helperName, keepHelper) {
636
+ if (instance.helpers[helperName]) {
637
+ instance.hooks[helperName] = instance.helpers[helperName];
638
+ if (!keepHelper) {
639
+ delete instance.helpers[helperName];
640
+ }
641
+ }
642
+ }
643
+
630
644
  /***/ }),
631
645
  /* 11 */
632
646
  /***/ (function(module, exports, __webpack_require__) {
@@ -1069,23 +1083,28 @@ return /******/ (function(modules) { // webpackBootstrap
1069
1083
 
1070
1084
  var _base = __webpack_require__(4);
1071
1085
 
1086
+ var _helpers = __webpack_require__(10);
1087
+
1072
1088
  function checkRevision(compilerInfo) {
1073
1089
  var compilerRevision = compilerInfo && compilerInfo[0] || 1,
1074
1090
  currentRevision = _base.COMPILER_REVISION;
1075
1091
 
1076
- if (compilerRevision !== currentRevision) {
1077
- if (compilerRevision < currentRevision) {
1078
- var runtimeVersions = _base.REVISION_CHANGES[currentRevision],
1079
- compilerVersions = _base.REVISION_CHANGES[compilerRevision];
1080
- 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 + ').');
1081
- } else {
1082
- // Use the embedded version info since the runtime doesn't know about this revision yet
1083
- 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] + ').');
1084
- }
1092
+ if (compilerRevision >= _base.LAST_COMPATIBLE_COMPILER_REVISION && compilerRevision <= _base.COMPILER_REVISION) {
1093
+ return;
1094
+ }
1095
+
1096
+ if (compilerRevision < _base.LAST_COMPATIBLE_COMPILER_REVISION) {
1097
+ var runtimeVersions = _base.REVISION_CHANGES[currentRevision],
1098
+ compilerVersions = _base.REVISION_CHANGES[compilerRevision];
1099
+ 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 + ').');
1100
+ } else {
1101
+ // Use the embedded version info since the runtime doesn't know about this revision yet
1102
+ 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] + ').');
1085
1103
  }
1086
1104
  }
1087
1105
 
1088
1106
  function template(templateSpec, env) {
1107
+
1089
1108
  /* istanbul ignore next */
1090
1109
  if (!env) {
1091
1110
  throw new _exception2['default']('No environment passed to template');
@@ -1097,9 +1116,12 @@ return /******/ (function(modules) { // webpackBootstrap
1097
1116
  templateSpec.main.decorator = templateSpec.main_d;
1098
1117
 
1099
1118
  // Note: Using env.VM references rather than local var references throughout this section to allow
1100
- // for external users to override these as psuedo-supported APIs.
1119
+ // for external users to override these as pseudo-supported APIs.
1101
1120
  env.VM.checkRevision(templateSpec.compiler);
1102
1121
 
1122
+ // backwards compatibility for precompiled templates with compiler-version 7 (<4.3.0)
1123
+ var templateWasPrecompiledWithCompilerV7 = templateSpec.compiler && templateSpec.compiler[0] === 7;
1124
+
1103
1125
  function invokePartialWrapper(partial, context, options) {
1104
1126
  if (options.hash) {
1105
1127
  context = Utils.extend({}, context, options.hash);
@@ -1107,13 +1129,15 @@ return /******/ (function(modules) { // webpackBootstrap
1107
1129
  options.ids[0] = true;
1108
1130
  }
1109
1131
  }
1110
-
1111
1132
  partial = env.VM.resolvePartial.call(this, partial, context, options);
1112
- var result = env.VM.invokePartial.call(this, partial, context, options);
1133
+
1134
+ var optionsWithHooks = Utils.extend({}, options, { hooks: this.hooks });
1135
+
1136
+ var result = env.VM.invokePartial.call(this, partial, context, optionsWithHooks);
1113
1137
 
1114
1138
  if (result == null && env.compile) {
1115
1139
  options.partials[options.name] = env.compile(partial, templateSpec.compilerOptions, env);
1116
- result = options.partials[options.name](context, options);
1140
+ result = options.partials[options.name](context, optionsWithHooks);
1117
1141
  }
1118
1142
  if (result != null) {
1119
1143
  if (options.indent) {
@@ -1180,15 +1204,6 @@ return /******/ (function(modules) { // webpackBootstrap
1180
1204
  }
1181
1205
  return value;
1182
1206
  },
1183
- merge: function merge(param, common) {
1184
- var obj = param || common;
1185
-
1186
- if (param && common && param !== common) {
1187
- obj = Utils.extend({}, common, param);
1188
- }
1189
-
1190
- return obj;
1191
- },
1192
1207
  // An empty object to use as replacement for null-contexts
1193
1208
  nullContext: _Object$seal({}),
1194
1209
 
@@ -1225,18 +1240,25 @@ return /******/ (function(modules) { // webpackBootstrap
1225
1240
 
1226
1241
  ret._setup = function (options) {
1227
1242
  if (!options.partial) {
1228
- container.helpers = container.merge(options.helpers, env.helpers);
1243
+ container.helpers = Utils.extend({}, env.helpers, options.helpers);
1229
1244
 
1230
1245
  if (templateSpec.usePartial) {
1231
- container.partials = container.merge(options.partials, env.partials);
1246
+ container.partials = Utils.extend({}, env.partials, options.partials);
1232
1247
  }
1233
1248
  if (templateSpec.usePartial || templateSpec.useDecorators) {
1234
- container.decorators = container.merge(options.decorators, env.decorators);
1249
+ container.decorators = Utils.extend({}, env.decorators, options.decorators);
1235
1250
  }
1251
+
1252
+ container.hooks = {};
1253
+
1254
+ var keepHelperInHelpers = options.allowCallsToHelperMissing || templateWasPrecompiledWithCompilerV7;
1255
+ _helpers.moveHelperToHooks(container, 'helperMissing', keepHelperInHelpers);
1256
+ _helpers.moveHelperToHooks(container, 'blockHelperMissing', keepHelperInHelpers);
1236
1257
  } else {
1237
1258
  container.helpers = options.helpers;
1238
1259
  container.partials = options.partials;
1239
1260
  container.decorators = options.decorators;
1261
+ container.hooks = options.hooks;
1240
1262
  }
1241
1263
  };
1242
1264
 
@@ -1273,6 +1295,10 @@ return /******/ (function(modules) { // webpackBootstrap
1273
1295
  return prog;
1274
1296
  }
1275
1297
 
1298
+ /**
1299
+ * This is currently part of the official API, therefore implementation details should not be changed.
1300
+ */
1301
+
1276
1302
  function resolvePartial(partial, context, options) {
1277
1303
  if (!partial) {
1278
1304
  if (options.name === '@partial-block') {
@@ -2575,7 +2601,7 @@ return /******/ (function(modules) { // webpackBootstrap
2575
2601
  return;
2576
2602
  }
2577
2603
 
2578
- // We omit the last node if it's whitespace only and not preceeded by a non-content node.
2604
+ // We omit the last node if it's whitespace only and not preceded by a non-content node.
2579
2605
  var original = current.value;
2580
2606
  current.value = current.value.replace(multiple ? /\s+$/ : /[ \t]+$/, '');
2581
2607
  current.leftStripped = current.value !== original;
@@ -3867,7 +3893,7 @@ return /******/ (function(modules) { // webpackBootstrap
3867
3893
  // replace it on the stack with the result of properly
3868
3894
  // invoking blockHelperMissing.
3869
3895
  blockValue: function blockValue(name) {
3870
- var blockHelperMissing = this.aliasable('helpers.blockHelperMissing'),
3896
+ var blockHelperMissing = this.aliasable('container.hooks.blockHelperMissing'),
3871
3897
  params = [this.contextName(0)];
3872
3898
  this.setupHelperArgs(name, 0, params);
3873
3899
 
@@ -3885,7 +3911,7 @@ return /******/ (function(modules) { // webpackBootstrap
3885
3911
  // On stack, after, if lastHelper: value
3886
3912
  ambiguousBlockValue: function ambiguousBlockValue() {
3887
3913
  // We're being a bit cheeky and reusing the options value from the prior exec
3888
- var blockHelperMissing = this.aliasable('helpers.blockHelperMissing'),
3914
+ var blockHelperMissing = this.aliasable('container.hooks.blockHelperMissing'),
3889
3915
  params = [this.contextName(0)];
3890
3916
  this.setupHelperArgs('', 0, params, true);
3891
3917
 
@@ -4176,18 +4202,33 @@ return /******/ (function(modules) { // webpackBootstrap
4176
4202
  // If the helper is not found, `helperMissing` is called.
4177
4203
  invokeHelper: function invokeHelper(paramSize, name, isSimple) {
4178
4204
  var nonHelper = this.popStack(),
4179
- helper = this.setupHelper(paramSize, name),
4180
- simple = isSimple ? [helper.name, ' || '] : '';
4205
+ helper = this.setupHelper(paramSize, name);
4181
4206
 
4182
- var lookup = ['('].concat(simple, nonHelper);
4207
+ var possibleFunctionCalls = [];
4208
+
4209
+ if (isSimple) {
4210
+ // direct call to helper
4211
+ possibleFunctionCalls.push(helper.name);
4212
+ }
4213
+ // call a function from the input object
4214
+ possibleFunctionCalls.push(nonHelper);
4183
4215
  if (!this.options.strict) {
4184
- lookup.push(' || ', this.aliasable('helpers.helperMissing'));
4216
+ possibleFunctionCalls.push(this.aliasable('container.hooks.helperMissing'));
4185
4217
  }
4186
- lookup.push(')');
4187
4218
 
4188
- this.push(this.source.functionCall(lookup, 'call', helper.callParams));
4219
+ var functionLookupCode = ['(', this.itemsSeparatedBy(possibleFunctionCalls, '||'), ')'];
4220
+ var functionCall = this.source.functionCall(functionLookupCode, 'call', helper.callParams);
4221
+ this.push(functionCall);
4189
4222
  },
4190
4223
 
4224
+ itemsSeparatedBy: function itemsSeparatedBy(items, separator) {
4225
+ var result = [];
4226
+ result.push(items[0]);
4227
+ for (var i = 1; i < items.length; i++) {
4228
+ result.push(separator, items[i]);
4229
+ }
4230
+ return result;
4231
+ },
4191
4232
  // [invokeKnownHelper]
4192
4233
  //
4193
4234
  // On stack, before: hash, inverse, program, params..., ...
@@ -4225,7 +4266,7 @@ return /******/ (function(modules) { // webpackBootstrap
4225
4266
  var lookup = ['(', '(helper = ', helperName, ' || ', nonHelper, ')'];
4226
4267
  if (!this.options.strict) {
4227
4268
  lookup[0] = '(helper = ';
4228
- lookup.push(' != null ? helper : ', this.aliasable('helpers.helperMissing'));
4269
+ lookup.push(' != null ? helper : ', this.aliasable('container.hooks.helperMissing'));
4229
4270
  }
4230
4271
 
4231
4272
  this.push(['(', lookup, helper.paramsInit ? ['),(', helper.paramsInit] : [], '),', '(typeof helper === ', this.aliasable('"function"'), ' ? ', this.source.functionCall('helper', 'call', helper.callParams), ' : helper))']);
@@ -1,7 +1,7 @@
1
1
  /**!
2
2
 
3
3
  @license
4
- handlebars v4.1.2
4
+ handlebars v4.3.1
5
5
 
6
6
  Copyright (C) 2011-2017 by Yehuda Katz
7
7
 
@@ -207,11 +207,13 @@ return /******/ (function(modules) { // webpackBootstrap
207
207
 
208
208
  var _logger2 = _interopRequireDefault(_logger);
209
209
 
210
- var VERSION = '4.1.2';
210
+ var VERSION = '4.3.1';
211
211
  exports.VERSION = VERSION;
212
- var COMPILER_REVISION = 7;
213
-
212
+ var COMPILER_REVISION = 8;
214
213
  exports.COMPILER_REVISION = COMPILER_REVISION;
214
+ var LAST_COMPATIBLE_COMPILER_REVISION = 7;
215
+
216
+ exports.LAST_COMPATIBLE_COMPILER_REVISION = LAST_COMPATIBLE_COMPILER_REVISION;
215
217
  var REVISION_CHANGES = {
216
218
  1: '<= 1.0.rc.2', // 1.0.rc.2 is actually rev2 but doesn't report it
217
219
  2: '== 1.0.0-rc.3',
@@ -219,7 +221,8 @@ return /******/ (function(modules) { // webpackBootstrap
219
221
  4: '== 1.x.x',
220
222
  5: '== 2.0.0-alpha.x',
221
223
  6: '>= 2.0.0-beta.1',
222
- 7: '>= 4.0.0'
224
+ 7: '>= 4.0.0 <4.3.0',
225
+ 8: '>= 4.3.0'
223
226
  };
224
227
 
225
228
  exports.REVISION_CHANGES = REVISION_CHANGES;
@@ -303,6 +306,7 @@ return /******/ (function(modules) { // webpackBootstrap
303
306
  exports.createFrame = createFrame;
304
307
  exports.blockParams = blockParams;
305
308
  exports.appendContextPath = appendContextPath;
309
+
306
310
  var escape = {
307
311
  '&': '&amp;',
308
312
  '<': '&lt;',
@@ -520,6 +524,7 @@ return /******/ (function(modules) { // webpackBootstrap
520
524
 
521
525
  exports.__esModule = true;
522
526
  exports.registerDefaultHelpers = registerDefaultHelpers;
527
+ exports.moveHelperToHooks = moveHelperToHooks;
523
528
 
524
529
  var _helpersBlockHelperMissing = __webpack_require__(10);
525
530
 
@@ -559,6 +564,15 @@ return /******/ (function(modules) { // webpackBootstrap
559
564
  _helpersWith2['default'](instance);
560
565
  }
561
566
 
567
+ function moveHelperToHooks(instance, helperName, keepHelper) {
568
+ if (instance.helpers[helperName]) {
569
+ instance.hooks[helperName] = instance.helpers[helperName];
570
+ if (!keepHelper) {
571
+ delete instance.helpers[helperName];
572
+ }
573
+ }
574
+ }
575
+
562
576
  /***/ }),
563
577
  /* 10 */
564
578
  /***/ (function(module, exports, __webpack_require__) {
@@ -1001,23 +1015,28 @@ return /******/ (function(modules) { // webpackBootstrap
1001
1015
 
1002
1016
  var _base = __webpack_require__(3);
1003
1017
 
1018
+ var _helpers = __webpack_require__(9);
1019
+
1004
1020
  function checkRevision(compilerInfo) {
1005
1021
  var compilerRevision = compilerInfo && compilerInfo[0] || 1,
1006
1022
  currentRevision = _base.COMPILER_REVISION;
1007
1023
 
1008
- if (compilerRevision !== currentRevision) {
1009
- if (compilerRevision < currentRevision) {
1010
- var runtimeVersions = _base.REVISION_CHANGES[currentRevision],
1011
- compilerVersions = _base.REVISION_CHANGES[compilerRevision];
1012
- 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 + ').');
1013
- } else {
1014
- // Use the embedded version info since the runtime doesn't know about this revision yet
1015
- 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] + ').');
1016
- }
1024
+ if (compilerRevision >= _base.LAST_COMPATIBLE_COMPILER_REVISION && compilerRevision <= _base.COMPILER_REVISION) {
1025
+ return;
1026
+ }
1027
+
1028
+ if (compilerRevision < _base.LAST_COMPATIBLE_COMPILER_REVISION) {
1029
+ var runtimeVersions = _base.REVISION_CHANGES[currentRevision],
1030
+ compilerVersions = _base.REVISION_CHANGES[compilerRevision];
1031
+ 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 + ').');
1032
+ } else {
1033
+ // Use the embedded version info since the runtime doesn't know about this revision yet
1034
+ 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] + ').');
1017
1035
  }
1018
1036
  }
1019
1037
 
1020
1038
  function template(templateSpec, env) {
1039
+
1021
1040
  /* istanbul ignore next */
1022
1041
  if (!env) {
1023
1042
  throw new _exception2['default']('No environment passed to template');
@@ -1029,9 +1048,12 @@ return /******/ (function(modules) { // webpackBootstrap
1029
1048
  templateSpec.main.decorator = templateSpec.main_d;
1030
1049
 
1031
1050
  // Note: Using env.VM references rather than local var references throughout this section to allow
1032
- // for external users to override these as psuedo-supported APIs.
1051
+ // for external users to override these as pseudo-supported APIs.
1033
1052
  env.VM.checkRevision(templateSpec.compiler);
1034
1053
 
1054
+ // backwards compatibility for precompiled templates with compiler-version 7 (<4.3.0)
1055
+ var templateWasPrecompiledWithCompilerV7 = templateSpec.compiler && templateSpec.compiler[0] === 7;
1056
+
1035
1057
  function invokePartialWrapper(partial, context, options) {
1036
1058
  if (options.hash) {
1037
1059
  context = Utils.extend({}, context, options.hash);
@@ -1039,13 +1061,15 @@ return /******/ (function(modules) { // webpackBootstrap
1039
1061
  options.ids[0] = true;
1040
1062
  }
1041
1063
  }
1042
-
1043
1064
  partial = env.VM.resolvePartial.call(this, partial, context, options);
1044
- var result = env.VM.invokePartial.call(this, partial, context, options);
1065
+
1066
+ var optionsWithHooks = Utils.extend({}, options, { hooks: this.hooks });
1067
+
1068
+ var result = env.VM.invokePartial.call(this, partial, context, optionsWithHooks);
1045
1069
 
1046
1070
  if (result == null && env.compile) {
1047
1071
  options.partials[options.name] = env.compile(partial, templateSpec.compilerOptions, env);
1048
- result = options.partials[options.name](context, options);
1072
+ result = options.partials[options.name](context, optionsWithHooks);
1049
1073
  }
1050
1074
  if (result != null) {
1051
1075
  if (options.indent) {
@@ -1112,15 +1136,6 @@ return /******/ (function(modules) { // webpackBootstrap
1112
1136
  }
1113
1137
  return value;
1114
1138
  },
1115
- merge: function merge(param, common) {
1116
- var obj = param || common;
1117
-
1118
- if (param && common && param !== common) {
1119
- obj = Utils.extend({}, common, param);
1120
- }
1121
-
1122
- return obj;
1123
- },
1124
1139
  // An empty object to use as replacement for null-contexts
1125
1140
  nullContext: _Object$seal({}),
1126
1141
 
@@ -1157,18 +1172,25 @@ return /******/ (function(modules) { // webpackBootstrap
1157
1172
 
1158
1173
  ret._setup = function (options) {
1159
1174
  if (!options.partial) {
1160
- container.helpers = container.merge(options.helpers, env.helpers);
1175
+ container.helpers = Utils.extend({}, env.helpers, options.helpers);
1161
1176
 
1162
1177
  if (templateSpec.usePartial) {
1163
- container.partials = container.merge(options.partials, env.partials);
1178
+ container.partials = Utils.extend({}, env.partials, options.partials);
1164
1179
  }
1165
1180
  if (templateSpec.usePartial || templateSpec.useDecorators) {
1166
- container.decorators = container.merge(options.decorators, env.decorators);
1181
+ container.decorators = Utils.extend({}, env.decorators, options.decorators);
1167
1182
  }
1183
+
1184
+ container.hooks = {};
1185
+
1186
+ var keepHelperInHelpers = options.allowCallsToHelperMissing || templateWasPrecompiledWithCompilerV7;
1187
+ _helpers.moveHelperToHooks(container, 'helperMissing', keepHelperInHelpers);
1188
+ _helpers.moveHelperToHooks(container, 'blockHelperMissing', keepHelperInHelpers);
1168
1189
  } else {
1169
1190
  container.helpers = options.helpers;
1170
1191
  container.partials = options.partials;
1171
1192
  container.decorators = options.decorators;
1193
+ container.hooks = options.hooks;
1172
1194
  }
1173
1195
  };
1174
1196
 
@@ -1205,6 +1227,10 @@ return /******/ (function(modules) { // webpackBootstrap
1205
1227
  return prog;
1206
1228
  }
1207
1229
 
1230
+ /**
1231
+ * This is currently part of the official API, therefore implementation details should not be changed.
1232
+ */
1233
+
1208
1234
  function resolvePartial(partial, context, options) {
1209
1235
  if (!partial) {
1210
1236
  if (options.name === '@partial-block') {
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: handlebars_assets
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.23.4
4
+ version: 0.23.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Les Hill
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-06-01 00:00:00.000000000 Z
11
+ date: 2019-09-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: execjs