diff --git a/modules/internal/targets.js b/modules/internal/targets.js index 7384a9e5..716b21b0 100644 --- a/modules/internal/targets.js +++ b/modules/internal/targets.js @@ -208,7 +208,7 @@ targets.setLastVersion = function (type, version) { } else if (type.startsWith('/ember.js/2.')) { return '2.18.2'; } else if (type.startsWith('/ember.js/3.')) { - return '3.25.1'; + return '3.25.3'; } else if (type.startsWith('/ethjs')) { return '0.3.4'; } else if (type.startsWith('/ext-core/3.')) { diff --git a/pages/updates/updates.html b/pages/updates/updates.html index 34596866..5818e67d 100644 --- a/pages/updates/updates.html +++ b/pages/updates/updates.html @@ -48,6 +48,7 @@
  • Updated: angular-translate v2.7.2 -> v2.18.4 (#298)
  • Added: Bulma v0.9.2 (#299)
  • Implemented: "Week" as the default in statistics. Save last period. (#300)
  • +
  • Updated: ember.js v3.25.1 -> v3.25.3 (#302)
  • diff --git a/resources/ember.js/3.25.1/ember.min.jsm b/resources/ember.js/3.25.3/ember.min.jsm similarity index 98% rename from resources/ember.js/3.25.1/ember.min.jsm rename to resources/ember.js/3.25.3/ember.min.jsm index d13b0094..b2893ce8 100644 --- a/resources/ember.js/3.25.1/ember.min.jsm +++ b/resources/ember.js/3.25.3/ember.min.jsm @@ -6,7 +6,7 @@ * Portions Copyright 2008-2011 Apple Inc. All rights reserved. * @license Licensed under MIT license * See https://raw.github.com/emberjs/ember.js/master/LICENSE - * @version 3.25.1 + * @version 3.25.3 */ /*globals process */ var define, require, Ember; // Used in @ember/-internals/environment/lib/global.js @@ -3057,16 +3057,15 @@ define("@ember/-internals/glimmer/index", ["exports", "@ember/polyfills", "@glim var { named, positional - } = args; - var capturedArgs = positional.capture(); // The first two argument slots are reserved. + } = args; // The first two argument slots are reserved. // pos[0] is the context (or `this`) // pos[1] is the action name or function // Anything else is an action argument. - var [context, action, ...restArgs] = capturedArgs; + var [context, action, ...restArgs] = positional; var debugKey = action.debugLabel; - var target = named.has('target') ? named.get('target') : context; - var processArgs = makeArgsProcessor(named.has('value') && named.get('value'), restArgs); + var target = 'target' in named ? named.target : context; + var processArgs = makeArgsProcessor('value' in named && named.value, restArgs); var fn$$1; if ((0, _reference.isInvokableRef)(action)) { @@ -6801,8 +6800,10 @@ define("@ember/-internals/glimmer/index", ["exports", "@ember/polyfills", "@glim } - var eachIn = internalHelper(args => { - var inner = args.positional.at(0); + var eachIn = internalHelper(({ + positional + }) => { + var inner = positional[0]; return (0, _reference.createComputeRef)(() => { var iterable = (0, _reference.valueForRef)(inner); (0, _validator.consumeTag)((0, _metal.tagForObject)(iterable)); @@ -7219,7 +7220,7 @@ define("@ember/-internals/glimmer/index", ["exports", "@ember/polyfills", "@glim /* DEBUG */ ) { helper$1 = args => { - var inner = args.positional.at(0); + var inner = args.positional[0]; return (0, _reference.createComputeRef)(() => { var value = (0, _reference.valueForRef)(inner); (true && !(value !== null && value !== undefined) && (0, _debug.assert)('You cannot pass a null or undefined destination element to in-element', value !== null && value !== undefined)); @@ -7227,12 +7228,13 @@ define("@ember/-internals/glimmer/index", ["exports", "@ember/polyfills", "@glim }); }; } else { - helper$1 = args => args.positional.at(0); + helper$1 = args => args.positional[0]; } var inElementNullCheckHelper = internalHelper(helper$1); - var normalizeClassHelper = internalHelper(args => { - var positional = args.positional.capture(); + var normalizeClassHelper = internalHelper(({ + positional + }) => { return (0, _reference.createComputeRef)(() => { var classNameParts = (0, _reference.valueForRef)(positional[0]).split('.'); var className = classNameParts[classNameParts.length - 1]; @@ -7257,8 +7259,10 @@ define("@ember/-internals/glimmer/index", ["exports", "@ember/polyfills", "@glim transform at build time, similar to the (-each-in) helper */ - var trackArray = internalHelper(args => { - var inner = args.positional.at(0); + var trackArray = internalHelper(({ + positional + }) => { + var inner = positional[0]; return (0, _reference.createComputeRef)(() => { var iterable = (0, _reference.valueForRef)(inner); @@ -7347,8 +7351,10 @@ define("@ember/-internals/glimmer/index", ["exports", "@ember/polyfills", "@glim @public */ - var mut = internalHelper(args => { - var ref = args.positional.at(0); // TODO: Improve this error message. This covers at least two distinct + var mut = internalHelper(({ + positional + }) => { + var ref = positional[0]; // TODO: Improve this error message. This covers at least two distinct // cases: // // 1. (mut "not a path") – passing a literal, result from a helper @@ -7390,11 +7396,10 @@ define("@ember/-internals/glimmer/index", ["exports", "@ember/polyfills", "@glim @public */ - var queryParams = internalHelper(args => { - var { - positional, - named - } = args.capture(); + var queryParams = internalHelper(({ + positional, + named + }) => { return (0, _reference.createComputeRef)(() => { (true && !(positional.length === 0) && (0, _debug.assert)("The `query-params` helper only accepts hash parameters, e.g. (query-params queryParamPropertyName='foo') as opposed to just (query-params 'foo')", positional.length === 0)); return new _routing.QueryParams((0, _polyfills.assign)({}, (0, _runtime.reifyNamed)(named))); @@ -7516,8 +7521,10 @@ define("@ember/-internals/glimmer/index", ["exports", "@ember/polyfills", "@glim @private */ - var readonly = internalHelper(args => { - return (0, _reference.createReadOnlyRef)(args.positional.at(0)); + var readonly = internalHelper(({ + positional + }) => { + return (0, _reference.createReadOnlyRef)(positional[0]); }); /** @module ember @@ -7551,9 +7558,12 @@ define("@ember/-internals/glimmer/index", ["exports", "@ember/polyfills", "@glim @public */ - var unbound = internalHelper(args => { - (true && !(args.positional.length === 1 && args.named.length === 0) && (0, _debug.assert)('unbound helper cannot be called with multiple params or hash params', args.positional.length === 1 && args.named.length === 0)); - return (0, _reference.createUnboundRef)((0, _reference.valueForRef)(args.positional.at(0)), '(resurt of an `unbound` helper)'); + var unbound = internalHelper(({ + positional, + named + }) => { + (true && !(positional.length === 1 && Object.keys(named).length === 0) && (0, _debug.assert)('unbound helper cannot be called with multiple params or hash params', positional.length === 1 && Object.keys(named).length === 0)); + return (0, _reference.createUnboundRef)((0, _reference.valueForRef)(positional[0]), '(resurt of an `unbound` helper)'); }); var MODIFIERS = ['alt', 'shift', 'meta', 'ctrl']; var POINTER_EVENT_TYPE_REGEX = /^click|mouse|touch/; @@ -7603,14 +7613,13 @@ define("@ember/-internals/glimmer/index", ["exports", "@ember/polyfills", "@glim }; class ActionState { - constructor(element, actionId, actionArgs, namedArgs, positionalArgs, dom) { + constructor(element, actionId, actionArgs, namedArgs, positionalArgs) { this.tag = (0, _validator.createUpdatableTag)(); this.element = element; this.actionId = actionId; this.actionArgs = actionArgs; this.namedArgs = namedArgs; this.positional = positionalArgs; - this.dom = dom; this.eventName = this.getEventName(); (0, _destroyable.registerDestructor)(this, () => ActionHelper.unregisterAction(this)); } @@ -7727,11 +7736,10 @@ define("@ember/-internals/glimmer/index", ["exports", "@ember/polyfills", "@glim } class ActionModifierManager { - create(_owner, element, _state, args, _dynamicScope, dom) { - var { - named, - positional - } = args.capture(); + create(_owner, element, _state, { + named, + positional + }) { var actionArgs = []; // The first two arguments are (1) `this` and (2) the action name. // Everything else is a param. @@ -7740,7 +7748,7 @@ define("@ember/-internals/glimmer/index", ["exports", "@ember/polyfills", "@glim } var actionId = (0, _utils.uuid)(); - var actionState = new ActionState(element, actionId, actionArgs, named, positional, dom); + var actionState = new ActionState(element, actionId, actionArgs, named, positional); (true && !(actionState.eventName !== 'mouseEnter' && actionState.eventName !== 'mouseLeave' && actionState.eventName !== 'mouseMove') && (0, _debug.deprecate)(`Using the \`{{action}}\` modifier with \`${actionState.eventName}\` events has been deprecated.`, actionState.eventName !== 'mouseEnter' && actionState.eventName !== 'mouseLeave' && actionState.eventName !== 'mouseMove', { id: 'ember-views.event-dispatcher.mouseenter-leave-move', until: '4.0.0', @@ -7759,7 +7767,6 @@ define("@ember/-internals/glimmer/index", ["exports", "@ember/polyfills", "@glim install(actionState) { var { - dom, element, actionId, positional @@ -7791,8 +7798,8 @@ define("@ember/-internals/glimmer/index", ["exports", "@ember/polyfills", "@glim actionState.actionName = actionName; actionState.implicitTarget = implicitTarget; ActionHelper.registerAction(actionState); - dom.setAttribute(element, 'data-ember-action', ''); - dom.setAttribute(element, `data-ember-action-${actionId}`, String(actionId)); + element.setAttribute('data-ember-action', ''); + element.setAttribute(`data-ember-action-${actionId}`, String(actionId)); } update(actionState) { @@ -8012,29 +8019,21 @@ define("@ember/-internals/glimmer/index", ["exports", "@ember/polyfills", "@glim */ - var mountHelper = internalHelper((args, vm) => { - var owner = vm.getOwner(); - var nameRef = args.positional.at(0); - var captured = null; + var mountHelper = internalHelper((args, owner) => { + (true && !(owner) && (0, _debug.assert)('{{mount}} must be used within a component that has an owner', owner)); + var nameRef = args.positional[0]; + var captured; (true && !(args.positional.length === 1) && (0, _debug.assert)('You can only pass a single positional argument to the {{mount}} helper, e.g. {{mount "chat-engine"}}.', args.positional.length === 1)); if (true /* DEBUG */ && args.named) { - var keys = args.named.names; + var keys = Object.keys(args.named); var extra = keys.filter(k => k !== 'model'); (true && !(extra.length === 0) && (0, _debug.assert)('You can only pass a `model` argument to the {{mount}} helper, ' + 'e.g. {{mount "profile-engine" model=this.profile}}. ' + `You passed ${extra.join(',')}.`, extra.length === 0)); - } // TODO: the functionality to create a proper CapturedArgument should be - // exported by glimmer, or that it should provide an overload for `curry` - // that takes `PreparedArguments` - - - if (args.named.has('model')) { - (true && !(args.named.length === 1) && (0, _debug.assert)('[BUG] this should already be checked by the template transform', args.named.length === 1)); - var named = args.named.capture(); - captured = (0, _runtime.createCapturedArgs)(named, _runtime.EMPTY_POSITIONAL); } + captured = (0, _runtime.createCapturedArgs)(args.named, _runtime.EMPTY_POSITIONAL); var lastName, lastDef; return (0, _reference.createComputeRef)(() => { var name = (0, _reference.valueForRef)(nameRef); @@ -8106,14 +8105,15 @@ define("@ember/-internals/glimmer/index", ["exports", "@ember/polyfills", "@glim @public */ - var outletHelper = internalHelper((args, vm) => { - var scope = vm.dynamicScope(); + var outletHelper = internalHelper((args, owner, scope) => { + (true && !(owner) && (0, _debug.assert)('Expected owner to be present, {{outlet}} requires an owner', owner)); + (true && !(scope) && (0, _debug.assert)('Expected dynamic scope to be present. You may have attempted to use the {{outlet}} keyword dynamically. This keyword cannot be used dynamically.', scope)); var nameRef; if (args.positional.length === 0) { nameRef = (0, _reference.createPrimitiveRef)('main'); } else { - nameRef = args.positional.at(0); + nameRef = args.positional[0]; } var outletRef = (0, _reference.createComputeRef)(() => { @@ -8142,13 +8142,11 @@ define("@ember/-internals/glimmer/index", ["exports", "@ember/polyfills", "@glim named.model = (0, _reference.createDebugAliasRef)('@model', named.model); } - var owner = (_b = (_a = outletState === null || outletState === void 0 ? void 0 : outletState.render) === null || _a === void 0 ? void 0 : _a.owner) !== null && _b !== void 0 ? _b : vm.getOwner(); - var _args2 = (0, _runtime.createCapturedArgs)(named, _runtime.EMPTY_POSITIONAL); definition = (0, _runtime.curry)(0 /* Component */ - , new OutletComponentDefinition(state), owner, _args2, true); + , new OutletComponentDefinition(state), (_b = (_a = outletState === null || outletState === void 0 ? void 0 : outletState.render) === null || _a === void 0 ? void 0 : _a.owner) !== null && _b !== void 0 ? _b : owner, _args2, true); } else { definition = null; } @@ -16207,14 +16205,7 @@ define("@ember/-internals/routing/lib/services/routing", ["exports", "@ember/-in this.router._prepareQueryParams(routeName, models, queryParams); } - generateURL(routeName, models, queryParams) { - var router = this.router; // Return early when transition has not started, when rendering in tests without visit(), - // we cannot infer the route context which needs be aware of - - if (!router._initialTransitionStarted) { - return; - } - + _generateURL(routeName, models, queryParams) { var visibleQueryParams = {}; if (queryParams) { @@ -16222,11 +16213,25 @@ define("@ember/-internals/routing/lib/services/routing", ["exports", "@ember/-in this.normalizeQueryParams(routeName, models, visibleQueryParams); } - return router.generate(routeName, ...models, { + return this.router.generate(routeName, ...models, { queryParams: visibleQueryParams }); } + generateURL(routeName, models, queryParams) { + if (this.router._initialTransitionStarted) { + return this._generateURL(routeName, models, queryParams); + } else { + // Swallow error when transition has not started. + // When rendering in tests without visit(), we cannot infer the route context which needs be aware of + try { + return this._generateURL(routeName, models, queryParams); + } catch (_e) { + return; + } + } + } + isActiveForRoute(contexts, queryParams, routeName, routerState) { var handlers = this.router._routerMicrolib.recognizer.handlersFor(routeName); @@ -19426,7 +19431,13 @@ define("@ember/-internals/routing/lib/system/router", ["exports", "@ember/-inter } routeWillChange(transition) { - router.trigger('routeWillChange', transition); + router.trigger('routeWillChange', transition); // in case of intermediate transition we update the current route + // to make router.currentRoute.name consistent with router.currentRouteName + // see https://github.com/emberjs/ember.js/issues/19449 + + if (transition.isIntermediate) { + router.set('currentRoute', transition.to); + } } routeDidChange(transition) { @@ -25765,10 +25776,16 @@ define("@ember/-internals/runtime/lib/system/array_proxy", ["exports", "@ember/- return (0, _validator.tagFor)(proxy, key); } /** - An ArrayProxy wraps any other object that implements `Array` and/or - `MutableArray,` forwarding all requests. This makes it very useful for - a number of binding use cases or other cases where being able to swap - out the underlying array is useful. + An ArrayProxy wraps any other object that is a native or Ember `Array` + (checked with [`Ember.isArray`](/ember/release/functions/@ember%2Farray/isArray)), + forwarding all requests. This makes it very useful for a number of + binding use cases or other cases where being able to swap out the + underlying array is useful. + + NOTE: Attempting to mutate the underlying content of an object that + is not a `MutableArray` (e.g. a native Javascript Array) may not + behave as expected. [`Ember.A`](/ember/release/functions/@ember%2Farray/A) + may be used in this case. A simple example of usage: @@ -39556,6 +39573,7 @@ define("@glimmer/destroyable", ["exports", "@glimmer/util", "@glimmer/global-con _exports.unregisterDestructor = unregisterDestructor; _exports.destroy = destroy; _exports.destroyChildren = destroyChildren; + _exports._hasDestroyableChildren = _hasDestroyableChildren; _exports.isDestroying = isDestroying; _exports.isDestroyed = isDestroyed; _exports.assertDestroyablesDestroyed = _exports.enableDestroyableTracking = void 0; @@ -39715,6 +39733,11 @@ define("@glimmer/destroyable", ["exports", "@glimmer/util", "@glimmer/global-con iterate(children, destroy); } + function _hasDestroyableChildren(destroyable) { + var meta = DESTROYABLE_META.get(destroyable); + return meta === undefined ? false : meta.children !== null; + } + function isDestroying(destroyable) { var meta = DESTROYABLE_META.get(destroyable); return meta === undefined ? false : meta.state >= 1 @@ -40140,7 +40163,7 @@ define("@glimmer/low-level", ["exports"], function (_exports) { _exports.Stack = Stack; }); -define("@glimmer/manager", ["exports", "@ember/polyfills", "@glimmer/util", "@glimmer/reference", "@glimmer/validator", "@glimmer/destroyable", "@glimmer/owner"], function (_exports, _polyfills, _util, _reference, _validator, _destroyable, _owner) { +define("@glimmer/manager", ["exports", "@glimmer/util", "@glimmer/reference", "@glimmer/validator", "@glimmer/destroyable", "@glimmer/owner"], function (_exports, _util, _reference, _validator, _destroyable, _owner) { "use strict"; Object.defineProperty(_exports, "__esModule", { @@ -40855,9 +40878,8 @@ define("@glimmer/manager", ["exports", "@ember/polyfills", "@glimmer/util", "@gl return delegate; } - create(owner, element, definition, vmArgs) { + create(owner, element, definition, capturedArgs) { var delegate = this.getDelegateFor(owner); - var capturedArgs = vmArgs.capture(); var { useArgsProxy, passFactoryToCreate @@ -40871,7 +40893,7 @@ define("@glimmer/manager", ["exports", "@ember/polyfills", "@glimmer/util", "@gl // breakage in users of older modifier capabilities. factoryOrDefinition = { create(args) { - var params = (0, _polyfills.assign)({}, args); + var params = (0, _util.assign)({}, args); (0, _owner.setOwner)(params, owner); return definition.create(args); }, @@ -41080,20 +41102,29 @@ define("@glimmer/manager", ["exports", "@ember/polyfills", "@glimmer/util", "@gl } getHelper(definition) { - return (vmArgs, vm) => { - var owner = vm.getOwner(); - var manager = this.getDelegateForOwner(owner); - var args = argsProxyFor(vmArgs.capture(), 'helper'); + return (capturedArgs, owner) => { + var _a, _b; + + var manager = this.getDelegateFor(owner); + var args = argsProxyFor(capturedArgs, 'helper'); var bucket = manager.createHelper(definition, args); - if (hasDestroyable(manager)) { - vm.associateDestroyable(manager.getDestroyable(bucket)); - } - if (hasValue(manager)) { - return (0, _reference.createComputeRef)(() => manager.getValue(bucket), null, true + var cache = (0, _reference.createComputeRef)(() => manager.getValue(bucket), null, true /* DEBUG */ && manager.getDebugName && manager.getDebugName(definition)); + + if (hasDestroyable(manager)) { + (0, _destroyable.associateDestroyableChild)(cache, manager.getDestroyable(bucket)); + } + + return cache; + } else if (hasDestroyable(manager)) { + var ref = (0, _reference.createConstRef)(undefined, true + /* DEBUG */ + && ((_b = (_a = manager.getDebugName) === null || _a === void 0 ? void 0 : _a.call(manager, definition)) !== null && _b !== void 0 ? _b : 'unknown helper')); + (0, _destroyable.associateDestroyableChild)(ref, manager.getDestroyable(bucket)); + return ref; } else { return _reference.UNDEFINED_REFERENCE; } @@ -41547,18 +41578,19 @@ define("@glimmer/opcode-compiler", ["exports", "@glimmer/util", "@glimmer/vm", " /* GetTemplateSymbol */ ) { var { - scopeValues + scopeValues, + owner } = meta; var definition = scopeValues[expr[1]]; - then(constants.component(definition)); + then(constants.component(definition, owner)); } else { var { upvars, - owner + owner: _owner } = assertResolverInvariants(meta); var name = upvars[expr[1]]; - var _definition = resolver.lookupComponent(name, owner); + var _definition = resolver.lookupComponent(name, _owner); if (true /* DEBUG */ @@ -41674,10 +41706,11 @@ define("@glimmer/opcode-compiler", ["exports", "@glimmer/util", "@glimmer/vm", " /* GetTemplateSymbol */ ) { var { - scopeValues + scopeValues, + owner } = meta; var definition = scopeValues[expr[1]]; - var component = constants.component(definition, true); + var component = constants.component(definition, owner, true); if (component !== null) { ifComponent(component); @@ -41700,16 +41733,16 @@ define("@glimmer/opcode-compiler", ["exports", "@glimmer/util", "@glimmer/vm", " } else { var { upvars, - owner + owner: _owner2 } = assertResolverInvariants(meta); var name = upvars[expr[1]]; - var _definition2 = resolver.lookupComponent(name, owner); + var _definition2 = resolver.lookupComponent(name, _owner2); if (_definition2 !== null) { ifComponent(constants.resolvedComponent(_definition2, name)); } else { - var _helper = resolver.lookupHelper(name, owner); + var _helper = resolver.lookupHelper(name, _owner2); if (true /* DEBUG */ @@ -41760,7 +41793,8 @@ define("@glimmer/opcode-compiler", ["exports", "@glimmer/util", "@glimmer/vm", " /* GetTemplateSymbol */ ) { var { - scopeValues + scopeValues, + owner } = meta; var definition = scopeValues[expr[1]]; @@ -41770,7 +41804,7 @@ define("@glimmer/opcode-compiler", ["exports", "@glimmer/util", "@glimmer/vm", " return; } - var component = constants.component(definition, true); + var component = constants.component(definition, owner, true); if (component !== null) { ifComponent(component); @@ -41792,18 +41826,18 @@ define("@glimmer/opcode-compiler", ["exports", "@glimmer/util", "@glimmer/vm", " } else { var { upvars, - owner + owner: _owner3 } = assertResolverInvariants(meta); var name = upvars[expr[1]]; - var _definition3 = resolver.lookupComponent(name, owner); + var _definition3 = resolver.lookupComponent(name, _owner3); if (_definition3 !== null) { ifComponent(constants.resolvedComponent(_definition3, name)); return; } - var _helper2 = resolver.lookupHelper(name, owner); + var _helper2 = resolver.lookupHelper(name, _owner3); if (_helper2 !== null) { ifHelper(constants.helper(_helper2, name)); @@ -44715,7 +44749,7 @@ define("@glimmer/program", ["exports", "@glimmer/util", "@glimmer/manager", "@gl return handle; } - component(definitionState, isOptional, owner) { + component(definitionState, owner, isOptional) { var _a; var definition = this.componentDefinitionCache.get(definitionState); @@ -45421,7 +45455,7 @@ define("@glimmer/reference", ["exports", "@glimmer/global-context", "@glimmer/ut } set(key, value) { - if ((0, _util.isObject)(key) || typeof key === 'function') { + if ((0, _util.isObject)(key)) { this.weakMap.set(key, value); } else { this.primitiveMap.set(key, value); @@ -45429,7 +45463,7 @@ define("@glimmer/reference", ["exports", "@glimmer/global-context", "@glimmer/ut } get(key) { - if ((0, _util.isObject)(key) || typeof key === 'function') { + if ((0, _util.isObject)(key)) { return this.weakMap.get(key); } else { return this.primitiveMap.get(key); @@ -45598,7 +45632,7 @@ define("@glimmer/reference", ["exports", "@glimmer/global-context", "@glimmer/ut } }); -define("@glimmer/runtime", ["exports", "@glimmer/util", "@glimmer/reference", "@glimmer/global-context", "@glimmer/destroyable", "@glimmer/vm", "@glimmer/validator", "@glimmer/manager", "@glimmer/program", "@glimmer/low-level", "@glimmer/owner", "@glimmer/runtime"], function (_exports, _util, _reference, _globalContext, _destroyable, _vm2, _validator, _manager5, _program, _lowLevel, _owner2, _runtime) { +define("@glimmer/runtime", ["exports", "@glimmer/util", "@glimmer/reference", "@glimmer/global-context", "@glimmer/destroyable", "@glimmer/vm", "@glimmer/validator", "@glimmer/manager", "@glimmer/program", "@glimmer/low-level", "@glimmer/owner", "@glimmer/runtime"], function (_exports, _util, _reference, _globalContext, _destroyable2, _vm2, _validator, _manager5, _program, _lowLevel, _owner2, _runtime) { "use strict"; Object.defineProperty(_exports, "__esModule", { @@ -45628,25 +45662,25 @@ define("@glimmer/runtime", ["exports", "@glimmer/util", "@glimmer/reference", "@ Object.defineProperty(_exports, "destroy", { enumerable: true, get: function () { - return _destroyable.destroy; + return _destroyable2.destroy; } }); Object.defineProperty(_exports, "registerDestructor", { enumerable: true, get: function () { - return _destroyable.registerDestructor; + return _destroyable2.registerDestructor; } }); Object.defineProperty(_exports, "isDestroying", { enumerable: true, get: function () { - return _destroyable.isDestroying; + return _destroyable2.isDestroying; } }); Object.defineProperty(_exports, "isDestroyed", { enumerable: true, get: function () { - return _destroyable.isDestroyed; + return _destroyable2.isDestroyed; } }); _exports.on = _exports.concat = _exports.get = _exports.array = _exports.hash = _exports.fn = _exports.SERIALIZATION_FIRST_NODE_STRING = _exports.RehydrateBuilder = _exports.RemoteLiveBlock = _exports.UpdatableBlockImpl = _exports.NewElementBuilder = _exports.SimpleDynamicAttribute = _exports.DynamicAttribute = _exports.EMPTY_POSITIONAL = _exports.EMPTY_NAMED = _exports.EMPTY_ARGS = _exports.LowLevelVM = _exports.UpdatingVM = _exports.EnvironmentImpl = _exports.PartialScopeImpl = _exports.DynamicScopeImpl = _exports.DOMTreeConstruction = _exports.IDOMChanges = _exports.DOMChanges = _exports.TemplateOnlyComponent = _exports.TEMPLATE_ONLY_COMPONENT_MANAGER = _exports.TemplateOnlyComponentManager = _exports.CurriedValue = _exports.CursorImpl = _exports.ConcreteBounds = void 0; @@ -46756,7 +46790,7 @@ define("@glimmer/runtime", ["exports", "@glimmer/util", "@glimmer/reference", "@ class RemoteLiveBlock extends SimpleLiveBlock { constructor(parent) { super(parent); - (0, _destroyable.registerDestructor)(this, () => { + (0, _destroyable2.registerDestructor)(this, () => { // In general, you only need to clear the root of a hierarchy, and should never // need to clear any child nodes. This is an important constraint that gives us // a strong guarantee that clearing a subtree is a single DOM operation. @@ -46793,7 +46827,7 @@ define("@glimmer/runtime", ["exports", "@glimmer/util", "@glimmer/reference", "@ class UpdatableBlockImpl extends SimpleLiveBlock { reset() { - (0, _destroyable.destroy)(this); + (0, _destroyable2.destroy)(this); var nextSibling = clear(this); this.first = null; this.last = null; @@ -46958,9 +46992,10 @@ define("@glimmer/runtime", ["exports", "@glimmer/util", "@glimmer/reference", "@ _exports.CurriedValue = CurriedValue; - function resolveCurriedValue(curriedValue, args) { + function resolveCurriedValue(curriedValue) { var currentWrapper = curriedValue; - var prependArgs; + var positional; + var named; var definition, owner, resolved; while (true) { @@ -46970,11 +47005,20 @@ define("@glimmer/runtime", ["exports", "@glimmer/util", "@glimmer/reference", "@ } = currentWrapper; if (curriedArgs !== null) { - if (curriedArgs.positional.length > 0) { - prependArgs = prependArgs === undefined ? curriedArgs.positional : curriedArgs.positional.concat(prependArgs); + var { + named: curriedNamed, + positional: curriedPositional + } = curriedArgs; + + if (curriedPositional.length > 0) { + positional = positional === undefined ? curriedPositional : curriedPositional.concat(positional); } - args.named.merge(curriedArgs.named); + if (named === undefined) { + named = []; + } + + named.unshift(curriedNamed); } if (!isCurriedValue(inner)) { @@ -46990,12 +47034,13 @@ define("@glimmer/runtime", ["exports", "@glimmer/util", "@glimmer/reference", "@ currentWrapper = inner; } - if (prependArgs !== undefined) { - args.realloc(prependArgs.length); - args.positional.prepend(prependArgs); - } - - return [definition, owner, resolved]; + return { + definition, + owner, + resolved, + positional, + named + }; } function curry(type, spec, owner, args, resolved = false) { @@ -47033,7 +47078,7 @@ define("@glimmer/runtime", ["exports", "@glimmer/util", "@glimmer/reference", "@ } curriedDefinition = curry(type, value, owner, args); - } else if (typeof value === 'function' || typeof value === 'object' && value !== null) { + } else if ((0, _util.isObject)(value)) { curriedDefinition = curry(type, value, owner, args); } else { curriedDefinition = null; @@ -47566,27 +47611,57 @@ define("@glimmer/runtime", ["exports", "@glimmer/util", "@glimmer/reference", "@ op1: _definitionRegister }) => { var stack = vm.stack; - var args = stack.popJs(); + var args = stack.popJs().capture(); var ref = vm.fetchValue(_definitionRegister); - var definition = (0, _reference.valueForRef)(ref); + var helperRef; + var initialOwner = vm.getOwner(); + var helperInstanceRef = (0, _reference.createComputeRef)(() => { + if (helperRef !== undefined) { + (0, _destroyable2.destroy)(helperRef); + } - if (isCurriedType(definition, 1 - /* Helper */ - )) { - var [resolvedDef, owner] = resolveCurriedValue(definition, args); + var definition = (0, _reference.valueForRef)(ref); - var _helper = resolveHelper(vm[CONSTANTS], resolvedDef, ref); + if (isCurriedType(definition, 1 + /* Helper */ + )) { + var { + definition: resolvedDef, + owner, + positional, + named + } = resolveCurriedValue(definition); - vm.pushRootScope(0, owner); - vm.loadValue(_vm2.$v0, _helper(args, vm)); - vm.popScope(); - } else if (typeof definition === 'function' || typeof definition === 'object' && definition !== null) { - var _helper2 = resolveHelper(vm[CONSTANTS], definition, ref); + var _helper = resolveHelper(vm[CONSTANTS], resolvedDef, ref); - vm.loadValue(_vm2.$v0, _helper2(args, vm)); - } else { - vm.loadValue(_vm2.$v0, _reference.UNDEFINED_REFERENCE); - } + if (named !== undefined) { + args.named = (0, _util.assign)({}, ...named, args.named); + } + + if (positional !== undefined) { + args.positional = positional.concat(args.positional); + } + + helperRef = _helper(args, owner); + (0, _destroyable2.associateDestroyableChild)(helperInstanceRef, helperRef); + } else if ((0, _util.isObject)(definition)) { + var _helper2 = resolveHelper(vm[CONSTANTS], definition, ref); + + helperRef = _helper2(args, initialOwner); + + if ((0, _destroyable2._hasDestroyableChildren)(helperRef)) { + (0, _destroyable2.associateDestroyableChild)(helperInstanceRef, helperRef); + } + } else { + helperRef = _reference.UNDEFINED_REFERENCE; + } + }); + var helperValueRef = (0, _reference.createComputeRef)(() => { + (0, _reference.valueForRef)(helperInstanceRef); + return (0, _reference.valueForRef)(helperRef); + }); + vm.associateDestroyable(helperInstanceRef); + vm.loadValue(_vm2.$v0, helperValueRef); }); function resolveHelper(constants$$1, definition, ref) { @@ -47609,7 +47684,12 @@ define("@glimmer/runtime", ["exports", "@glimmer/util", "@glimmer/reference", "@ var stack = vm.stack; var helper = vm[CONSTANTS].getValue(handle); var args = stack.popJs(); - var value = helper(args, vm); + var value = helper(args.capture(), vm.getOwner(), vm.dynamicScope()); + + if ((0, _destroyable2._hasDestroyableChildren)(value)) { + vm.associateDestroyable(value); + } + vm.loadValue(_vm2.$v0, value); }); APPEND_OPCODES.add(21 @@ -48280,7 +48360,26 @@ define("@glimmer/runtime", ["exports", "@glimmer/util", "@glimmer/reference", "@ var owner = vm.getOwner(); var args = vm.stack.popJs(); var definition = vm[CONSTANTS].getValue(handle); - invokeModifier(vm, owner, args, definition); + var { + manager + } = definition; + var { + constructing + } = vm.elements(); + var state = manager.create(owner, constructing, definition.state, args.capture()); + var instance = { + manager, + state, + definition + }; + var operations = vm.fetchValue(_vm2.$t0); + operations.addModifier(instance); + var tag = manager.getTag(state); + + if (tag !== null) { + (0, _validator.consumeTag)(tag); + return vm.updateWith(new UpdateModifierOpcode(tag, instance)); + } }); APPEND_OPCODES.add(108 /* DynamicModifier */ @@ -48294,63 +48393,81 @@ define("@glimmer/runtime", ["exports", "@glimmer/util", "@glimmer/reference", "@ [CONSTANTS]: constants$$1 } = vm; var ref = stack.popJs(); - var args = stack.popJs(); - var value = (0, _reference.valueForRef)(ref); - var owner; - - if (typeof value !== 'function' && (typeof value !== 'object' || value === null)) { - return; - } - - var hostDefinition; - - if (isCurriedType(value, 2 - /* Modifier */ - )) { - var [curriedValue, curriedOwner] = resolveCurriedValue(value, args); - hostDefinition = curriedValue; - owner = curriedOwner; - } else { - hostDefinition = value; - owner = vm.getOwner(); - } - - var handle = constants$$1.modifier(hostDefinition, null, true); - - if (true - /* DEBUG */ - && handle === null) { - throw new Error(`Expected a dynamic modifier definition, but received an object or function that did not have a modifier manager associated with it. The dynamic invocation was \`{{${ref.debugLabel}}}\`, and the incorrect definition is the value at the path \`${ref.debugLabel}\`, which was: ${(0, _util.debugToString)(hostDefinition)}`); - } - - var definition = constants$$1.getValue(handle); - invokeModifier(vm, owner, args, definition); - }); - - function invokeModifier(vm, owner, args, definition) { + var args = stack.popJs().capture(); var { - manager - } = definition; - var { - constructing, - updateOperations + constructing } = vm.elements(); - var dynamicScope = vm.dynamicScope(); - var state = manager.create(owner, constructing, definition.state, args, dynamicScope, updateOperations); - var instance = { - manager, - state, - definition - }; - var operations = vm.fetchValue(_vm2.$t0); - operations.addModifier(instance); - var tag = manager.getTag(state); + var initialOwner = vm.getOwner(); + var instanceRef = (0, _reference.createComputeRef)(() => { + var value = (0, _reference.valueForRef)(ref); + var owner; - if (tag !== null) { - (0, _validator.consumeTag)(tag); - vm.updateWith(new UpdateModifierOpcode(tag, instance)); + if (!(0, _util.isObject)(value)) { + return; + } + + var hostDefinition; + + if (isCurriedType(value, 2 + /* Modifier */ + )) { + var { + definition: resolvedDefinition, + owner: curriedOwner, + positional, + named + } = resolveCurriedValue(value); + hostDefinition = resolvedDefinition; + owner = curriedOwner; + + if (positional !== undefined) { + args.positional = positional.concat(args.positional); + } + + if (named !== undefined) { + args.named = (0, _util.assign)({}, ...named, args.named); + } + } else { + hostDefinition = value; + owner = initialOwner; + } + + var handle = constants$$1.modifier(hostDefinition, null, true); + + if (true + /* DEBUG */ + && handle === null) { + throw new Error(`Expected a dynamic modifier definition, but received an object or function that did not have a modifier manager associated with it. The dynamic invocation was \`{{${ref.debugLabel}}}\`, and the incorrect definition is the value at the path \`${ref.debugLabel}\`, which was: ${(0, _util.debugToString)(hostDefinition)}`); + } + + var definition = constants$$1.getValue(handle); + var { + manager + } = definition; + var state = manager.create(owner, constructing, definition.state, args); + return { + manager, + state, + definition + }; + }); + var instance = (0, _reference.valueForRef)(instanceRef); + var tag = null; + + if (instance !== undefined) { + var operations = vm.fetchValue(_vm2.$t0); + operations.addModifier(instance); + tag = instance.manager.getTag(instance.state); + + if (tag !== null) { + (0, _validator.consumeTag)(tag); + } } - } + + if (!(0, _reference.isConstRef)(ref) || tag) { + return vm.updateWith(new UpdateDynamicModifierOpcode(tag, instance, instanceRef)); + } + }); class UpdateModifierOpcode extends UpdatingOpcode { constructor(tag, modifier) { @@ -48377,6 +48494,69 @@ define("@glimmer/runtime", ["exports", "@glimmer/util", "@glimmer/reference", "@ } + class UpdateDynamicModifierOpcode extends UpdatingOpcode { + constructor(tag, instance, instanceRef) { + super(); + this.tag = tag; + this.instance = instance; + this.instanceRef = instanceRef; + this.type = 'update-dynamic-modifier'; + this.lastUpdated = (0, _validator.valueForTag)(tag !== null && tag !== void 0 ? tag : _validator.CURRENT_TAG); + } + + evaluate(vm) { + var { + tag, + lastUpdated, + instance, + instanceRef + } = this; + var newInstance = (0, _reference.valueForRef)(instanceRef); + + if (newInstance !== instance) { + if (instance !== undefined) { + var destroyable = instance.manager.getDestroyable(instance.state); + + if (destroyable !== null) { + (0, _destroyable2.destroy)(destroyable); + } + } + + if (newInstance !== undefined) { + var { + manager, + state + } = newInstance; + + var _destroyable = manager.getDestroyable(state); + + if (_destroyable !== null) { + (0, _destroyable2.associateDestroyableChild)(this, _destroyable); + } + + tag = manager.getTag(state); + + if (tag !== null) { + this.lastUpdated = (0, _validator.valueForTag)(tag); + } + + this.tag = tag; + vm.env.scheduleInstallModifier(newInstance); + } + + this.instance = newInstance; + } else if (tag !== null && !(0, _validator.validateTag)(tag, lastUpdated)) { + vm.env.scheduleUpdateModifier(instance); + this.lastUpdated = (0, _validator.valueForTag)(tag); + } + + if (tag !== null) { + (0, _validator.consumeTag)(tag); + } + } + + } + APPEND_OPCODES.add(51 /* StaticAttr */ , (vm, { @@ -48404,31 +48584,29 @@ define("@glimmer/runtime", ["exports", "@glimmer/util", "@glimmer/reference", "@ var attribute = vm.elements().setDynamicAttribute(name, value, trusting, namespace); if (!(0, _reference.isConstRef)(reference)) { - vm.updateWith(new UpdateDynamicAttributeOpcode(reference, attribute)); + vm.updateWith(new UpdateDynamicAttributeOpcode(reference, attribute, vm.env)); } }); class UpdateDynamicAttributeOpcode extends UpdatingOpcode { - constructor(reference, attribute) { + constructor(reference, attribute, env) { super(); - this.reference = reference; - this.attribute = attribute; this.type = 'patch-element'; - this.lastValue = (0, _reference.valueForRef)(reference); + var initialized = false; + this.updateRef = (0, _reference.createComputeRef)(() => { + var value = (0, _reference.valueForRef)(reference); + + if (initialized === true) { + attribute.update(value, env); + } else { + initialized = true; + } + }); + (0, _reference.valueForRef)(this.updateRef); } - evaluate(vm) { - var { - attribute, - reference, - lastValue - } = this; - var currentValue = (0, _reference.valueForRef)(reference); - - if (currentValue !== lastValue) { - attribute.update(currentValue, vm.env); - this.lastValue = currentValue; - } + evaluate() { + (0, _reference.valueForRef)(this.updateRef); } } @@ -48480,7 +48658,7 @@ define("@glimmer/runtime", ["exports", "@glimmer/util", "@glimmer/reference", "@ } else if (isCurriedValue(component)) { definition = component; } else { - definition = constants$$1.component(component); + definition = constants$$1.component(component, owner); } stack.pushJs(definition); @@ -48503,7 +48681,7 @@ define("@glimmer/runtime", ["exports", "@glimmer/util", "@glimmer/reference", "@ if (isCurriedValue(value)) { definition = value; } else { - definition = constants$$1.component(value, true); + definition = constants$$1.component(value, vm.getOwner(), true); if (true /* DEBUG */ @@ -48586,15 +48764,30 @@ define("@glimmer/runtime", ["exports", "@glimmer/util", "@glimmer/reference", "@ /* Component */ )) { var constants$$1 = vm[CONSTANTS]; - var [value, owner, isResolved] = resolveCurriedValue(definition, args); + var { + definition: resolvedDefinition, + owner, + resolved, + positional, + named + } = resolveCurriedValue(definition); - if (isResolved === true) { - definition = value; - } else if (typeof value === 'string') { - var resolvedValue = vm.runtime.resolver.lookupComponent(value, owner); - definition = constants$$1.resolvedComponent(resolvedValue, value); + if (resolved === true) { + definition = resolvedDefinition; + } else if (typeof resolvedDefinition === 'string') { + var resolvedValue = vm.runtime.resolver.lookupComponent(resolvedDefinition, owner); + definition = constants$$1.resolvedComponent(resolvedValue, resolvedDefinition); } else { - definition = constants$$1.component(value); + definition = constants$$1.component(resolvedDefinition, owner); + } + + if (named !== undefined) { + args.named.merge((0, _util.assign)({}, ...named)); + } + + if (positional !== undefined) { + args.realloc(positional.length); + args.positional.prepend(positional); } var { @@ -48640,19 +48833,19 @@ define("@glimmer/runtime", ["exports", "@glimmer/util", "@glimmer/reference", "@ } var { - positional, - named + positional: _positional, + named: _named } = preparedArgs; - var positionalCount = positional.length; + var positionalCount = _positional.length; for (var _i = 0; _i < positionalCount; _i++) { - stack.pushJs(positional[_i]); + stack.pushJs(_positional[_i]); } - var names = Object.keys(named); + var names = Object.keys(_named); for (var _i2 = 0; _i2 < names.length; _i2++) { - stack.pushJs(named[names[_i2]]); + stack.pushJs(_named[names[_i2]]); } args.setup(stack, names, blockNames, positionalCount, false); @@ -48892,7 +49085,7 @@ define("@glimmer/runtime", ["exports", "@glimmer/util", "@glimmer/reference", "@ var attribute = vm.elements().setDynamicAttribute(name, (0, _reference.valueForRef)(value), trusting, namespace); if (!(0, _reference.isConstRef)(value)) { - vm.updateWith(new UpdateDynamicAttributeOpcode(value, attribute)); + vm.updateWith(new UpdateDynamicAttributeOpcode(value, attribute, vm.env)); } } } @@ -48973,7 +49166,7 @@ define("@glimmer/runtime", ["exports", "@glimmer/util", "@glimmer/reference", "@ bucket } = node; vm.env.debugRenderTree.create(bucket, node); - (0, _destroyable.registerDestructor)(_instance, () => { + (0, _destroyable2.registerDestructor)(_instance, () => { var _a; (_a = vm.env.debugRenderTree) === null || _a === void 0 ? void 0 : _a.willDestroy(bucket); @@ -48990,7 +49183,7 @@ define("@glimmer/runtime", ["exports", "@glimmer/util", "@glimmer/reference", "@ instance: (0, _reference.valueForRef)(selfRef) }); vm.associateDestroyable(_instance); - (0, _destroyable.registerDestructor)(_instance, () => { + (0, _destroyable2.registerDestructor)(_instance, () => { var _a; (_a = vm.env.debugRenderTree) === null || _a === void 0 ? void 0 : _a.willDestroy(_instance); @@ -49387,7 +49580,7 @@ define("@glimmer/runtime", ["exports", "@glimmer/util", "@glimmer/reference", "@ } function toDynamicContentType(value) { - if (typeof value !== 'function' && (typeof value !== 'object' || value === null)) { + if (!(0, _util.isObject)(value)) { return 2 /* String */ ; @@ -50750,7 +50943,7 @@ define("@glimmer/runtime", ["exports", "@glimmer/util", "@glimmer/reference", "@ bounds, runtime } = this; - (0, _destroyable.destroyChildren)(this); + (0, _destroyable2.destroyChildren)(this); var elementStack = NewElementBuilder.resume(runtime.env, bounds); var vm = state.resume(runtime, elementStack); var updating = []; @@ -50760,7 +50953,7 @@ define("@glimmer/runtime", ["exports", "@glimmer/util", "@glimmer/reference", "@ vm.updateWith(this); vm.pushUpdating(children); }); - (0, _destroyable.associateDestroyableChild)(this, result.drop); + (0, _destroyable2.associateDestroyableChild)(this, result.drop); } } @@ -50935,7 +51128,7 @@ define("@glimmer/runtime", ["exports", "@glimmer/util", "@glimmer/reference", "@ opcode.index = children.length; children.push(opcode); opcodeMap.set(key, opcode); - (0, _destroyable.associateDestroyableChild)(this, opcode); + (0, _destroyable2.associateDestroyableChild)(this, opcode); }); } @@ -50967,7 +51160,7 @@ define("@glimmer/runtime", ["exports", "@glimmer/util", "@glimmer/reference", "@ } deleteItem(opcode) { - (0, _destroyable.destroy)(opcode); + (0, _destroyable2.destroy)(opcode); clear(opcode); this.opcodeMap.delete(opcode.key); } @@ -51003,8 +51196,8 @@ define("@glimmer/runtime", ["exports", "@glimmer/util", "@glimmer/reference", "@ this.updating = updating; this.bounds = bounds; this.drop = drop; - (0, _destroyable.associateDestroyableChild)(this, drop); - (0, _destroyable.registerDestructor)(this, () => clear(this.bounds)); + (0, _destroyable2.associateDestroyableChild)(this, drop); + (0, _destroyable2.registerDestructor)(this, () => clear(this.bounds)); } rerender({ @@ -51579,7 +51772,7 @@ define("@glimmer/runtime", ["exports", "@glimmer/util", "@glimmer/reference", "@ associateDestroyable(child) { var parent = this[DESTROYABLE_STACK].current; - (0, _destroyable.associateDestroyableChild)(parent, child); + (0, _destroyable2.associateDestroyableChild)(parent, child); } tryUpdating() { @@ -51789,7 +51982,7 @@ define("@glimmer/runtime", ["exports", "@glimmer/util", "@glimmer/reference", "@ var blockNames = ['main', 'else', 'attrs']; // Prefix argument names with `@` symbol var argNames = argList.map(([name]) => `@${name}`); - var reified = vm[CONSTANTS].component(definition, false, owner); + var reified = vm[CONSTANTS].component(definition, owner); vm.pushFrame(); // Push blocks on to the stack, three stack values per block for (var i = 0; i < 3 * blockNames.length; i++) { @@ -52436,20 +52629,20 @@ define("@glimmer/runtime", ["exports", "@glimmer/util", "@glimmer/reference", "@ cache = (0, _validator.createCache)(() => { if (true /* DEBUG */ - && ((0, _destroyable.isDestroying)(cache) || (0, _destroyable.isDestroyed)(cache))) { + && ((0, _destroyable2.isDestroying)(cache) || (0, _destroyable2.isDestroyed)(cache))) { throw new Error(`You attempted to get the value of a helper after the helper was destroyed, which is not allowed`); } return manager.getValue(bucket); }); - (0, _destroyable.associateDestroyableChild)(context, cache); + (0, _destroyable2.associateDestroyableChild)(context, cache); } else { throw new Error('TODO: unreachable, to be implemented with hasScheduledEffect'); } if ((0, _manager5.hasDestroyable)(manager)) { var destroyable = manager.getDestroyable(bucket); - (0, _destroyable.associateDestroyableChild)(cache, destroyable); + (0, _destroyable2.associateDestroyableChild)(cache, destroyable); } return cache; @@ -52525,8 +52718,9 @@ define("@glimmer/runtime", ["exports", "@glimmer/util", "@glimmer/reference", "@ @public */ - var fn = internalHelper(args => { - var positional = args.positional.capture(); + var fn = internalHelper(({ + positional + }) => { var callbackRef = positional[0]; if (true /* DEBUG */ @@ -52592,9 +52786,10 @@ define("@glimmer/runtime", ["exports", "@glimmer/util", "@glimmer/reference", "@ */ - var hash = internalHelper(args => { - var positional = args.named.capture(); - return (0, _reference.createComputeRef)(() => (0, _runtime.reifyNamed)(positional), null, 'hash'); + var hash = internalHelper(({ + named + }) => { + return (0, _reference.createComputeRef)(() => (0, _runtime.reifyNamed)(named), null, 'hash'); }); /** Use the `{{array}}` helper to create an array to pass as an option to your @@ -52631,9 +52826,10 @@ define("@glimmer/runtime", ["exports", "@glimmer/util", "@glimmer/reference", "@ */ _exports.hash = hash; - var array = internalHelper(args => { - var captured = args.positional.capture(); - return (0, _reference.createComputeRef)(() => (0, _runtime.reifyPositional)(captured), null, 'array'); + var array = internalHelper(({ + positional + }) => { + return (0, _reference.createComputeRef)(() => (0, _runtime.reifyPositional)(positional), null, 'array'); }); /** Dynamically look up a property on an object. The second argument to `{{get}}` @@ -52714,29 +52910,29 @@ define("@glimmer/runtime", ["exports", "@glimmer/util", "@glimmer/reference", "@ */ _exports.array = array; - var get = internalHelper(args => { - var sourceRef = args.positional.at(0); - var pathRef = args.positional.at(1); + var get = internalHelper(({ + positional + }) => { + var _a, _b; + + var sourceRef = (_a = positional[0]) !== null && _a !== void 0 ? _a : _reference.UNDEFINED_REFERENCE; + var pathRef = (_b = positional[1]) !== null && _b !== void 0 ? _b : _reference.UNDEFINED_REFERENCE; return (0, _reference.createComputeRef)(() => { var source = (0, _reference.valueForRef)(sourceRef); - if (isObject(source)) { + if ((0, _util.isDict)(source)) { return (0, _globalContext.getPath)(source, String((0, _reference.valueForRef)(pathRef))); } }, value => { var source = (0, _reference.valueForRef)(sourceRef); - if (isObject(source)) { + if ((0, _util.isDict)(source)) { return (0, _globalContext.setPath)(source, String((0, _reference.valueForRef)(pathRef)), value); } }, 'get'); }); _exports.get = get; - function isObject(obj) { - return typeof obj === 'function' || typeof obj === 'object' && obj !== null; - } - var isEmpty$2 = value => { return value === null || value === undefined || typeof value.toString !== 'function'; }; @@ -52770,9 +52966,10 @@ define("@glimmer/runtime", ["exports", "@glimmer/util", "@glimmer/reference", "@ */ - var concat = internalHelper(args => { - var captured = args.positional.capture(); - return (0, _reference.createComputeRef)(() => (0, _runtime.reifyPositional)(captured).map(normalizeTextValue).join(''), null, 'concat'); + var concat = internalHelper(({ + positional + }) => { + return (0, _reference.createComputeRef)(() => (0, _runtime.reifyPositional)(positional).map(normalizeTextValue).join(''), null, 'concat'); }); _exports.concat = concat; var untouchableContext = (0, _util.buildUntouchableThis)('`on` modifier'); @@ -53090,8 +53287,7 @@ define("@glimmer/runtime", ["exports", "@glimmer/util", "@glimmer/reference", "@ } create(_owner, element, _state, args) { - var capturedArgs = args.capture(); - return new OnModifierState(element, capturedArgs); + return new OnModifierState(element, args); } getTag(state) { @@ -53115,7 +53311,7 @@ define("@glimmer/runtime", ["exports", "@glimmer/util", "@glimmer/reference", "@ options } = state; addEventListener(element, eventName, callback, options); - (0, _destroyable.registerDestructor)(state, () => removeEventListener(element, eventName, callback, options)); + (0, _destroyable2.registerDestructor)(state, () => removeEventListener(element, eventName, callback, options)); state.shouldUpdate = false; } @@ -53168,7 +53364,6 @@ define("@glimmer/util", ["exports"], function (_exports) { _exports.ensureGuid = ensureGuid; _exports.initializeGuid = initializeGuid; _exports.isSerializationFirstNode = isSerializationFirstNode; - _exports.assign = assign; _exports.fillNulls = fillNulls; _exports.values = values; _exports.castToSimple = castToSimple; @@ -53208,7 +53403,7 @@ define("@glimmer/util", ["exports"], function (_exports) { _exports.toPresentOption = toPresentOption; _exports.assertPresent = assertPresent; _exports.mapPresent = mapPresent; - _exports.symbol = _exports.tuple = _exports.HAS_NATIVE_SYMBOL = _exports.HAS_NATIVE_PROXY = _exports.EMPTY_NUMBER_ARRAY = _exports.EMPTY_STRING_ARRAY = _exports.EMPTY_ARRAY = _exports.verifySteps = _exports.logStep = _exports.endTestSteps = _exports.beginTestSteps = _exports.debugToString = _exports._WeakSet = _exports.SERIALIZATION_FIRST_NODE_STRING = _exports.NonemptyStack = _exports.Stack = _exports.DictSet = _exports.LOGGER = _exports.LOCAL_LOGGER = void 0; + _exports.symbol = _exports.tuple = _exports.HAS_NATIVE_SYMBOL = _exports.HAS_NATIVE_PROXY = _exports.EMPTY_NUMBER_ARRAY = _exports.EMPTY_STRING_ARRAY = _exports.EMPTY_ARRAY = _exports.verifySteps = _exports.logStep = _exports.endTestSteps = _exports.beginTestSteps = _exports.debugToString = _exports._WeakSet = _exports.assign = _exports.SERIALIZATION_FIRST_NODE_STRING = _exports.NonemptyStack = _exports.Stack = _exports.DictSet = _exports.LOGGER = _exports.LOCAL_LOGGER = void 0; var EMPTY_ARRAY = Object.freeze([]); _exports.EMPTY_ARRAY = EMPTY_ARRAY; @@ -53264,7 +53459,7 @@ define("@glimmer/util", ["exports"], function (_exports) { } function isObject(u) { - return typeof u === 'object' && u !== null; + return typeof u === 'function' || typeof u === 'object' && u !== null; } class DictSet { @@ -53385,11 +53580,13 @@ define("@glimmer/util", ["exports"], function (_exports) { return node.nodeValue === SERIALIZATION_FIRST_NODE_STRING; } + var _a; + var { keys: objKeys } = Object; - function assign(obj) { + function assignFn(obj) { for (var i = 1; i < arguments.length; i++) { var assignment = arguments[i]; if (assignment === null || typeof assignment !== 'object') continue; @@ -53405,6 +53602,9 @@ define("@glimmer/util", ["exports"], function (_exports) { return obj; } + var assign = (_a = Object.assign) !== null && _a !== void 0 ? _a : assignFn; + _exports.assign = assign; + function fillNulls(count) { var arr = new Array(count); @@ -59419,7 +59619,9 @@ define("ember/index", ["exports", "require", "@ember/-internals/environment", "n } var deprecateImportFromString = function (name, message = `Importing ${name} from '@ember/string' is deprecated. Please import ${name} from '@ember/template' instead.`) { - (true && !(false) && (0, EmberDebug.deprecate)(message, false, { + // Disabling this deprecation due to unintended errors in 3.25 + // See https://github.com/emberjs/ember.js/issues/19393 fo more information. + (true && !(true) && (0, EmberDebug.deprecate)(message, true, { id: 'ember-string.htmlsafe-ishtmlsafe', for: 'ember-source', since: { @@ -59577,7 +59779,7 @@ define("ember/version", ["exports"], function (_exports) { value: true }); _exports.default = void 0; - var _default = "3.25.1"; + var _default = "3.25.3"; _exports.default = _default; }); define("node-module/index", ["exports"], function (_exports) { @@ -60515,24 +60717,26 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"], _exports.logAbort = logAbort; _exports.InternalRouteInfo = _exports.TransitionError = _exports.TransitionState = _exports.QUERY_PARAMS_SYMBOL = _exports.PARAMS_SYMBOL = _exports.STATE_SYMBOL = _exports.InternalTransition = _exports.default = void 0; - var TransitionAbortedError = function () { - TransitionAbortedError.prototype = Object.create(Error.prototype); - TransitionAbortedError.prototype.constructor = TransitionAbortedError; + function buildTransitionAborted() { + var error = new Error('TransitionAborted'); + error.name = 'TransitionAborted'; + error.code = 'TRANSITION_ABORTED'; + return error; + } - function TransitionAbortedError(message) { - var error = Error.call(this, message); - this.name = 'TransitionAborted'; - this.message = message || 'TransitionAborted'; + function isTransitionAborted(maybeError) { + return typeof maybeError === 'object' && maybeError !== null && maybeError.code === 'TRANSITION_ABORTED'; + } - if (Error.captureStackTrace) { - Error.captureStackTrace(this, TransitionAbortedError); - } else { - this.stack = error.stack; - } + function isAbortable(maybeAbortable) { + return typeof maybeAbortable === 'object' && maybeAbortable !== null && typeof maybeAbortable.isAborted === 'boolean'; + } + + function throwIfAborted(maybe) { + if (isAbortable(maybe) && maybe.isAborted) { + throw buildTransitionAborted(); } - - return TransitionAbortedError; - }(); + } var slice = Array.prototype.slice; var hasOwnProperty = Object.prototype.hasOwnProperty; @@ -60690,7 +60894,7 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"], _exports.PARAMS_SYMBOL = PARAMS_SYMBOL; var QUERY_PARAMS_SYMBOL = `__QPS__-2619863929824844-32323`; /** - A Transition is a thennable (a promise-like object) that represents + A Transition is a thenable (a promise-like object) that represents an attempt to transition to another route. It can be aborted, either explicitly via `abort` or by attempting another transition while a previous one is still underway. An aborted transition can also @@ -60721,6 +60925,7 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"], this.isCausedByInitialTransition = false; this.isCausedByAbortingReplaceTransition = false; this._visibleQueryParams = {}; + this.isIntermediate = false; this[STATE_SYMBOL] = state || router.state; this.intent = intent; this.router = router; @@ -60784,14 +60989,9 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"], } this.sequence = router.currentSequence++; - this.promise = state.resolve(() => { - if (this.isAborted) { - return _rsvp.Promise.reject(false, promiseLabel('Transition aborted - reject')); - } - - return _rsvp.Promise.resolve(true); - }, this).catch(result => { - return _rsvp.Promise.reject(this.router.transitionDidError(result, this)); + this.promise = state.resolve(this).catch(result => { + var error = this.router.transitionDidError(result, this); + throw error; }, promiseLabel('Handle Abort')); } else { this.promise = _rsvp.Promise.resolve(this[STATE_SYMBOL]); @@ -60825,7 +61025,7 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"], A standard promise hook that resolves if the transition succeeds and rejects if it fails/redirects/aborts. Forwards to the internal `promise` property which you can - use in situations where you want to pass around a thennable, + use in situations where you want to pass around a thenable, but not the Transition itself. @method then @param {Function} onFulfilled @@ -60858,7 +61058,7 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"], } /** Forwards to the internal `promise` property which you can - use in situations where you want to pass around a thennable, + use in situations where you want to pass around a thenable, but not the Transition itself. @method finally @param {Function} callback @@ -61043,7 +61243,7 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"], function logAbort(transition) { log(transition.router, transition.sequence, 'detected abort.'); - return new TransitionAbortedError(); + return buildTransitionAborted(); } function isTransition(obj) { @@ -61216,8 +61416,14 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"], return this.params || {}; } - resolve(shouldContinue, transition) { - return _rsvp.Promise.resolve(this.routePromise).then(route => this.checkForAbort(shouldContinue, route)).then(() => this.runBeforeModelHook(transition)).then(() => this.checkForAbort(shouldContinue, null)).then(() => this.getModel(transition)).then(resolvedModel => this.checkForAbort(shouldContinue, resolvedModel)).then(resolvedModel => this.runAfterModelHook(transition, resolvedModel)).then(resolvedModel => this.becomeResolved(transition, resolvedModel)); + resolve(transition) { + return _rsvp.Promise.resolve(this.routePromise).then(route => { + throwIfAborted(transition); + return route; + }).then(() => this.runBeforeModelHook(transition)).then(() => throwIfAborted(transition)).then(() => this.getModel(transition)).then(resolvedModel => { + throwIfAborted(transition); + return resolvedModel; + }).then(resolvedModel => this.runAfterModelHook(transition, resolvedModel)).then(resolvedModel => this.becomeResolved(transition, resolvedModel)); } becomeResolved(transition, resolvedContext) { @@ -61246,7 +61452,7 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"], return resolved; } - shouldSupercede(routeInfo) { + shouldSupersede(routeInfo) { // Prefer this newer routeInfo over `other` if: // 1) The other one doesn't exist // 2) The names don't match @@ -61342,14 +61548,6 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"], }); } - checkForAbort(shouldContinue, value) { - return _rsvp.Promise.resolve(shouldContinue()).then(function () { - // We don't care about shouldContinue's resolve value; - // pass along the original value passed to this fn. - return value; - }, null); - } - stashResolvedModel(transition, resolvedModel) { transition.resolvedModels = transition.resolvedModels || {}; transition.resolvedModels[this.name] = resolvedModel; @@ -61390,7 +61588,7 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"], this.context = context; } - resolve(_shouldContinue, transition) { + resolve(transition) { // A ResolvedRouteInfo just resolved with itself. if (transition && transition.resolvedModels) { transition.resolvedModels[this.name] = this.context; @@ -61533,6 +61731,54 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"], } + function handleError(currentState, transition, error) { + // This is the only possible + // reject value of TransitionState#resolve + var routeInfos = currentState.routeInfos; + var errorHandlerIndex = transition.resolveIndex >= routeInfos.length ? routeInfos.length - 1 : transition.resolveIndex; + var wasAborted = transition.isAborted; + throw new TransitionError(error, currentState.routeInfos[errorHandlerIndex].route, wasAborted, currentState); + } + + function resolveOneRouteInfo(currentState, transition) { + if (transition.resolveIndex === currentState.routeInfos.length) { + // This is is the only possible + // fulfill value of TransitionState#resolve + return; + } + + var routeInfo = currentState.routeInfos[transition.resolveIndex]; + return routeInfo.resolve(transition).then(proceed.bind(null, currentState, transition), null, currentState.promiseLabel('Proceed')); + } + + function proceed(currentState, transition, resolvedRouteInfo) { + var wasAlreadyResolved = currentState.routeInfos[transition.resolveIndex].isResolved; // Swap the previously unresolved routeInfo with + // the resolved routeInfo + + currentState.routeInfos[transition.resolveIndex++] = resolvedRouteInfo; + + if (!wasAlreadyResolved) { + // Call the redirect hook. The reason we call it here + // vs. afterModel is so that redirects into child + // routes don't re-run the model hooks for this + // already-resolved route. + var { + route + } = resolvedRouteInfo; + + if (route !== undefined) { + if (route.redirect) { + route.redirect(resolvedRouteInfo.context, transition); + } + } + } // Proceed after ensuring that the redirect hook + // didn't abort this transition by transitioning elsewhere. + + + throwIfAborted(transition); + return resolveOneRouteInfo(currentState, transition); + } + class TransitionState { constructor() { this.routeInfos = []; @@ -61553,7 +61799,7 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"], return promiseLabel("'" + targetName + "': " + label); } - resolve(shouldContinue, transition) { + resolve(transition) { // First, calculate params for this state. This is useful // information to provide to the various route hooks. var params = this.params; @@ -61561,67 +61807,9 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"], params[routeInfo.name] = routeInfo.params || {}; return true; }); - transition.resolveIndex = 0; - var currentState = this; - var wasAborted = false; // The prelude RSVP.resolve() asyncs us into the promise land. + transition.resolveIndex = 0; // The prelude RSVP.resolve() async moves us into the promise land. - return _rsvp.Promise.resolve(null, this.promiseLabel('Start transition')).then(resolveOneRouteInfo, null, this.promiseLabel('Resolve route')).catch(handleError, this.promiseLabel('Handle error')); - - function innerShouldContinue() { - return _rsvp.Promise.resolve(shouldContinue(), currentState.promiseLabel('Check if should continue')).catch(function (reason) { - // We distinguish between errors that occurred - // during resolution (e.g. before"Model/model/afterModel), - // and aborts due to a rejecting promise from shouldContinue(). - wasAborted = true; - return _rsvp.Promise.reject(reason); - }, currentState.promiseLabel('Handle abort')); - } - - function handleError(error) { - // This is the only possible - // reject value of TransitionState#resolve - var routeInfos = currentState.routeInfos; - var errorHandlerIndex = transition.resolveIndex >= routeInfos.length ? routeInfos.length - 1 : transition.resolveIndex; - return _rsvp.Promise.reject(new TransitionError(error, currentState.routeInfos[errorHandlerIndex].route, wasAborted, currentState)); - } - - function proceed(resolvedRouteInfo) { - var wasAlreadyResolved = currentState.routeInfos[transition.resolveIndex].isResolved; // Swap the previously unresolved routeInfo with - // the resolved routeInfo - - currentState.routeInfos[transition.resolveIndex++] = resolvedRouteInfo; - - if (!wasAlreadyResolved) { - // Call the redirect hook. The reason we call it here - // vs. afterModel is so that redirects into child - // routes don't re-run the model hooks for this - // already-resolved route. - var { - route - } = resolvedRouteInfo; - - if (route !== undefined) { - if (route.redirect) { - route.redirect(resolvedRouteInfo.context, transition); - } - } - } // Proceed after ensuring that the redirect hook - // didn't abort this transition by transitioning elsewhere. - - - return innerShouldContinue().then(resolveOneRouteInfo, null, currentState.promiseLabel('Resolve route')); - } - - function resolveOneRouteInfo() { - if (transition.resolveIndex === currentState.routeInfos.length) { - // This is is the only possible - // fulfill value of TransitionState#resolve - return currentState; - } - - var routeInfo = currentState.routeInfos[transition.resolveIndex]; - return routeInfo.resolve(innerShouldContinue, transition).then(proceed, null, currentState.promiseLabel('Proceed')); - } + return _rsvp.Promise.resolve(null, this.promiseLabel('Start transition')).then(resolveOneRouteInfo.bind(null, this, transition), null, this.promiseLabel('Resolve route')).catch(handleError.bind(null, this, transition), this.promiseLabel('Handle error')).then(() => this); } } @@ -61713,7 +61901,7 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"], var handlerToUse = oldHandlerInfo; - if (i >= invalidateIndex || newHandlerInfo.shouldSupercede(oldHandlerInfo)) { + if (i >= invalidateIndex || newHandlerInfo.shouldSupersede(oldHandlerInfo)) { invalidateIndex = Math.min(i, invalidateIndex); handlerToUse = newHandlerInfo; } @@ -61734,6 +61922,11 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"], } merge(newState.queryParams, this.queryParams || {}); + + if (isIntermediate && oldState.queryParams) { + merge(newState.queryParams, oldState.queryParams); + } + return newState; } @@ -61886,14 +62079,14 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"], if (route) { checkHandlerAccessibility(route); } else { - // If the hanlder is being loaded asynchronously, check if we can + // If the handler is being loaded asynchronously, check if we can // access it after it has resolved newRouteInfo.routePromise = newRouteInfo.routePromise.then(checkHandlerAccessibility); } var oldRouteInfo = oldState.routeInfos[i]; - if (statesDiffer || newRouteInfo.shouldSupercede(oldRouteInfo)) { + if (statesDiffer || newRouteInfo.shouldSupersede(oldRouteInfo)) { statesDiffer = true; newState.routeInfos[i] = newRouteInfo; } else { @@ -61931,13 +62124,13 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"], map(callback) { this.recognizer.map(callback, function (recognizer, routes) { - for (var i = routes.length - 1, proceed = true; i >= 0 && proceed; --i) { + for (var i = routes.length - 1, _proceed = true; i >= 0 && _proceed; --i) { var route = routes[i]; var handler = route.handler; recognizer.add(routes, { as: handler }); - proceed = route.path === '/' || route.path === '' || handler.slice(-6) === '.index'; + _proceed = route.path === '/' || route.path === '' || handler.slice(-6) === '.index'; } }); } @@ -62046,6 +62239,7 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"], if (isIntermediate) { var transition = new Transition(this, undefined, newState); + transition.isIntermediate = true; this.toReadOnlyInfos(transition, newState); this.setupContexts(newState, transition); this.routeWillChange(transition); @@ -62152,7 +62346,7 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"], return routeInfos[routeInfos.length - 1].route; } catch (e) { - if (!(e instanceof TransitionAbortedError)) { + if (!isTransitionAborted(e)) { var infos = transition[STATE_SYMBOL].routeInfos; transition.trigger(true, 'error', e, transition, infos[infos.length - 1].route); transition.abort(); @@ -62282,10 +62476,7 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"], } } - if (transition && transition.isAborted) { - throw new TransitionAbortedError(); - } - + throwIfAborted(transition); route.context = context; if (route.contextDidChange !== undefined) { @@ -62296,10 +62487,7 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"], route.setup(context, transition); } - if (transition && transition.isAborted) { - throw new TransitionAbortedError(); - } - + throwIfAborted(transition); currentRouteInfos.push(routeInfo); return route; } // If the route doesn't exist, it means we haven't resolved the route promise yet @@ -62429,7 +62617,7 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"], // button var initial = transition.isCausedByInitialTransition; // say you are at / and you click a link to route /foo. In /foo's - // route, the transition is aborted using replacewith('/bar'). + // route, the transition is aborted using replaceWith('/bar'). // Because the current url is still /, the history entry for / is // removed from the history. Clicking back will take you to the page // you were on before /, which is often not even the app, thus killing @@ -62681,10 +62869,10 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"], } var targetHandler = targetRouteInfos[targetRouteInfos.length - 1].name; - var recogHandlers = this.recognizer.handlersFor(targetHandler); + var recognizerHandlers = this.recognizer.handlersFor(targetHandler); var index = 0; - for (len = recogHandlers.length; index < len; ++index) { + for (len = recognizerHandlers.length; index < len; ++index) { routeInfo = targetRouteInfos[index]; if (routeInfo.name === routeName) { @@ -62692,16 +62880,16 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"], } } - if (index === recogHandlers.length) { + if (index === recognizerHandlers.length) { // The provided route name isn't even in the route hierarchy. return false; } var testState = new TransitionState(); testState.routeInfos = targetRouteInfos.slice(0, index + 1); - recogHandlers = recogHandlers.slice(0, index + 1); + recognizerHandlers = recognizerHandlers.slice(0, index + 1); var intent = new NamedTransitionIntent(this, targetHandler, undefined, contexts); - var newState = intent.applyToHandlers(testState, recogHandlers, targetHandler, true, true); + var newState = intent.applyToHandlers(testState, recognizerHandlers, targetHandler, true, true); var routesEqual = routeInfosEqual(newState.routeInfos, testState.routeInfos); if (!queryParams || !routesEqual) { diff --git a/resources/ember.js/3.25.1/note b/resources/ember.js/3.25.3/note similarity index 100% rename from resources/ember.js/3.25.1/note rename to resources/ember.js/3.25.3/note