ember-source 7.3.0-alpha.5 → 7.4.0-alpha.1

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.
Files changed (159) hide show
  1. package/build-metadata.json +3 -3
  2. package/dist/dev/packages/@ember/-internals/deprecations/index.js +9 -0
  3. package/dist/dev/packages/@ember/-internals/glimmer/index.js +7 -7
  4. package/dist/dev/packages/@ember/-internals/routing/index.js +2 -2
  5. package/dist/dev/packages/@ember/-internals/runtime/index.js +1 -1
  6. package/dist/dev/packages/@ember/-internals/runtime/lib/ext/rsvp.js +1 -1
  7. package/dist/dev/packages/@ember/-internals/runtime/lib/mixins/action_handler.js +4 -0
  8. package/dist/dev/packages/@ember/-internals/runtime/lib/mixins/target_action_support.js +3 -0
  9. package/dist/dev/packages/@ember/-internals/views/lib/mixins/action_support.js +2 -0
  10. package/dist/dev/packages/@ember/application/index.js +3 -3
  11. package/dist/dev/packages/@ember/application/instance.js +9 -9
  12. package/dist/dev/packages/@ember/component/helper.js +2 -2
  13. package/dist/dev/packages/@ember/component/index.js +3 -3
  14. package/dist/dev/packages/@ember/engine/index.js +3 -3
  15. package/dist/dev/packages/@ember/engine/instance.js +1 -1
  16. package/dist/dev/packages/@ember/helper/index.js +1132 -79
  17. package/dist/dev/packages/@ember/modifier/on.js +1 -1
  18. package/dist/dev/packages/@ember/object/compat.js +0 -32
  19. package/dist/dev/packages/@ember/renderer/index.js +1 -1
  20. package/dist/dev/packages/@ember/routing/-internals.js +2 -2
  21. package/dist/dev/packages/@ember/routing/index.js +11 -28
  22. package/dist/dev/packages/@ember/routing/lib/utils.js +2 -2
  23. package/dist/dev/packages/@ember/routing/route.js +2 -2
  24. package/dist/dev/packages/@ember/routing/router-service.js +9 -9
  25. package/dist/dev/packages/@ember/routing/router.js +2 -2
  26. package/dist/dev/packages/@ember/template-compiler/lib/compile-options.js +3 -3
  27. package/dist/dev/packages/@ember/template-compiler/lib/template.js +2 -2
  28. package/dist/dev/packages/@ember/template-factory/index.js +1 -1
  29. package/dist/dev/packages/@glimmer/opcode-compiler/index.js +2 -2
  30. package/dist/dev/packages/@glimmer/program/index.js +3 -3
  31. package/dist/dev/packages/@glimmer/runtime/index.js +7 -7
  32. package/dist/dev/packages/@glimmer/wire-format/index.js +2 -5
  33. package/dist/dev/packages/ember/version.js +1 -1
  34. package/dist/dev/packages/ember-template-compiler/index.js +2 -2
  35. package/dist/dev/packages/router_js/index.js +2 -2
  36. package/dist/dev/packages/rsvp/index.js +1 -2281
  37. package/dist/dev/packages/shared-chunks/{arguments-CDkbOqTS.js → arguments-DniR8eF2.js} +5 -18
  38. package/dist/dev/packages/shared-chunks/{compiler-QUSl_urU.js → compiler-BHFFl-fv.js} +1 -1
  39. package/dist/dev/packages/shared-chunks/{curly-BbL6STF2.js → curly-BCD_vyHq.js} +1 -1
  40. package/dist/dev/packages/shared-chunks/{element-BYLB-q7a.js → element-Cgoi4ldD.js} +0 -24
  41. package/dist/dev/packages/shared-chunks/get-zsePWrJL.js +40 -0
  42. package/dist/dev/packages/shared-chunks/hash-BFu91gtE.js +57 -0
  43. package/dist/dev/packages/shared-chunks/{index-DaFzpTIE.js → index-BYUSIu_W.js} +3 -3
  44. package/dist/dev/packages/shared-chunks/{index-Czn34wUZ.js → index-Bv9SQpEx.js} +218 -78
  45. package/dist/dev/packages/shared-chunks/{invoke-d9sqa50M.js → invoke-CgF42joE.js} +1 -1
  46. package/dist/dev/packages/shared-chunks/{not-DYh6AY9Z.js → not-0cVb-rLf.js} +1 -1
  47. package/dist/dev/packages/shared-chunks/{on-DlF0Wy7P.js → on-CVIjn2C-.js} +22 -11
  48. package/dist/dev/packages/shared-chunks/{opcodes-CplRyHl_.js → opcodes-DDajoGhq.js} +0 -4
  49. package/dist/dev/packages/shared-chunks/{outlet-B4qORyui.js → outlet-BO5-QFmm.js} +3 -3
  50. package/dist/dev/packages/shared-chunks/{program-context-Dq8xN2HI.js → program-context-BBB1Ga5h.js} +2 -2
  51. package/dist/dev/packages/shared-chunks/{render-CtH73XOv.js → render-D_Rawf-r.js} +2 -2
  52. package/dist/{prod/packages/shared-chunks/rsvp.es-DR7yS7qg.js → dev/packages/shared-chunks/rsvp-aLN_pQtn.js} +152 -148
  53. package/dist/dev/packages/shared-chunks/{setup-registry-h519ZsHS.js → setup-registry-Ci8Af2Bz.js} +35 -13
  54. package/dist/{prod/packages/shared-chunks/syscall-ops-CN7STuUn.js → dev/packages/shared-chunks/syscall-ops-CkPT1Kfx.js} +1 -2
  55. package/dist/dev/packages/shared-chunks/{textarea-DEvw4ezm.js → textarea-DvS6Xmdh.js} +3 -23
  56. package/dist/dev/packages/shared-chunks/{unique-id-DQOhouG1.js → unique-id-Csxuh1I7.js} +0 -4
  57. package/dist/dev/packages/shared-chunks/{unrecognized-url-error-B8loxkay.js → unrecognized-url-error-cXUp-SK3.js} +1 -1
  58. package/dist/prod/packages/@ember/-internals/deprecations/index.js +9 -0
  59. package/dist/prod/packages/@ember/-internals/glimmer/index.js +7 -7
  60. package/dist/prod/packages/@ember/-internals/routing/index.js +2 -2
  61. package/dist/prod/packages/@ember/-internals/runtime/index.js +1 -1
  62. package/dist/prod/packages/@ember/-internals/runtime/lib/ext/rsvp.js +1 -1
  63. package/dist/prod/packages/@ember/-internals/runtime/lib/mixins/action_handler.js +4 -0
  64. package/dist/prod/packages/@ember/-internals/runtime/lib/mixins/target_action_support.js +3 -0
  65. package/dist/prod/packages/@ember/-internals/views/lib/mixins/action_support.js +2 -0
  66. package/dist/prod/packages/@ember/application/index.js +3 -3
  67. package/dist/prod/packages/@ember/application/instance.js +9 -9
  68. package/dist/prod/packages/@ember/component/helper.js +2 -2
  69. package/dist/prod/packages/@ember/component/index.js +3 -3
  70. package/dist/prod/packages/@ember/engine/index.js +3 -3
  71. package/dist/prod/packages/@ember/engine/instance.js +1 -1
  72. package/dist/prod/packages/@ember/helper/index.js +1132 -79
  73. package/dist/prod/packages/@ember/modifier/on.js +1 -1
  74. package/dist/prod/packages/@ember/object/compat.js +0 -32
  75. package/dist/prod/packages/@ember/renderer/index.js +1 -1
  76. package/dist/prod/packages/@ember/routing/index.js +10 -27
  77. package/dist/prod/packages/@ember/routing/lib/utils.js +2 -2
  78. package/dist/prod/packages/@ember/routing/route.js +2 -2
  79. package/dist/prod/packages/@ember/routing/router-service.js +9 -9
  80. package/dist/prod/packages/@ember/routing/router.js +2 -2
  81. package/dist/prod/packages/@ember/template-compiler/lib/compile-options.js +3 -3
  82. package/dist/prod/packages/@ember/template-compiler/lib/template.js +2 -2
  83. package/dist/prod/packages/@ember/template-factory/index.js +1 -1
  84. package/dist/prod/packages/@glimmer/opcode-compiler/index.js +2 -2
  85. package/dist/prod/packages/@glimmer/program/index.js +3 -3
  86. package/dist/prod/packages/@glimmer/runtime/index.js +7 -7
  87. package/dist/prod/packages/@glimmer/wire-format/index.js +2 -5
  88. package/dist/prod/packages/ember/version.js +1 -1
  89. package/dist/prod/packages/ember-template-compiler/index.js +2 -2
  90. package/dist/prod/packages/router_js/index.js +2 -2
  91. package/dist/prod/packages/rsvp/index.js +1 -2281
  92. package/dist/prod/packages/shared-chunks/{arguments-BzAkZVBa.js → arguments-CCYATlEH.js} +1 -18
  93. package/dist/prod/packages/shared-chunks/{compiler-lBSssiWp.js → compiler-Wt5SWcrF.js} +1 -1
  94. package/dist/prod/packages/shared-chunks/{curly-CU2jYOtm.js → curly-CdvJuTyW.js} +1 -1
  95. package/dist/prod/packages/shared-chunks/{element-DgHdPZ8u.js → element-BmBjPjkQ.js} +0 -24
  96. package/dist/prod/packages/shared-chunks/get-CEjFJzGs.js +40 -0
  97. package/dist/prod/packages/shared-chunks/hash-BitfXhCx.js +57 -0
  98. package/dist/prod/packages/shared-chunks/{index-XmtQRWbX.js → index-D8cl-pfl.js} +218 -78
  99. package/dist/prod/packages/shared-chunks/{index-Bf53M8eS.js → index-kwuZeaNz.js} +3 -3
  100. package/dist/prod/packages/shared-chunks/{invoke-DhQ5QRp2.js → invoke-4JGJYH7Z.js} +1 -1
  101. package/dist/prod/packages/shared-chunks/{not-BOIVROuv.js → not-Dn5s9qVZ.js} +1 -1
  102. package/dist/prod/packages/shared-chunks/{on-BZHAxzdq.js → on-ov4KAucw.js} +22 -11
  103. package/dist/prod/packages/shared-chunks/{opcodes-CplRyHl_.js → opcodes-DDajoGhq.js} +0 -4
  104. package/dist/prod/packages/shared-chunks/{outlet-CsNMfeOj.js → outlet-BWnaVOrA.js} +3 -3
  105. package/dist/prod/packages/shared-chunks/{program-context-COSioH46.js → program-context-WVlzpPdi.js} +2 -2
  106. package/dist/prod/packages/shared-chunks/{render-Bf7GviCY.js → render-BAVl5E6X.js} +2 -2
  107. package/dist/{dev/packages/shared-chunks/rsvp.es-DR7yS7qg.js → prod/packages/shared-chunks/rsvp-aLN_pQtn.js} +152 -148
  108. package/dist/prod/packages/shared-chunks/{setup-registry-DFSQHIUs.js → setup-registry-DeyoFe6Q.js} +35 -13
  109. package/dist/{dev/packages/shared-chunks/syscall-ops-CN7STuUn.js → prod/packages/shared-chunks/syscall-ops-CkPT1Kfx.js} +1 -2
  110. package/dist/prod/packages/shared-chunks/{textarea-DMmdvgk2.js → textarea-B-sssXGa.js} +3 -23
  111. package/dist/prod/packages/shared-chunks/{unique-id-o2pS74go.js → unique-id-BJb1p8EG.js} +0 -4
  112. package/dist/prod/packages/shared-chunks/{unrecognized-url-error-jjQ-FqKB.js → unrecognized-url-error-xC654tCo.js} +1 -1
  113. package/docs/data.json +1237 -1395
  114. package/package.json +52 -47
  115. package/types/stable/@ember/-internals/deprecations/index.d.ts +6 -0
  116. package/types/stable/@ember/-internals/glimmer/index.d.ts +7 -380
  117. package/types/stable/@ember/-internals/glimmer/lib/component.d.ts +1 -1
  118. package/types/stable/@ember/-internals/glimmer/lib/helper.d.ts +2 -2
  119. package/types/stable/@ember/-internals/glimmer/lib/helpers/each-in.d.ts +196 -63
  120. package/types/stable/@ember/-internals/glimmer/lib/helpers/element.d.ts +0 -24
  121. package/types/stable/@ember/-internals/glimmer/lib/helpers/mut.d.ts +3 -2
  122. package/types/stable/@ember/-internals/glimmer/lib/helpers/readonly.d.ts +3 -1
  123. package/types/stable/@ember/-internals/glimmer/lib/helpers/unbound.d.ts +6 -2
  124. package/types/stable/@ember/-internals/glimmer/lib/helpers/unique-id.d.ts +0 -3
  125. package/types/stable/@ember/-internals/glimmer/lib/syntax/mount.d.ts +4 -2
  126. package/types/stable/@ember/-internals/glimmer/lib/syntax/outlet.d.ts +7 -2
  127. package/types/stable/@ember/helper/index.d.ts +1113 -73
  128. package/types/stable/@ember/object/compat.d.ts +0 -32
  129. package/types/stable/@ember/object/core.d.ts +1 -1
  130. package/types/stable/@ember/routing/router-service.d.ts +9 -9
  131. package/types/stable/@glimmer/interfaces/lib/compile/wire-format/api.d.ts +1 -9
  132. package/types/stable/@glimmer/interfaces/lib/compile/wire-format/opcodes.d.ts +0 -4
  133. package/types/stable/@glimmer/interfaces/lib/vm-opcodes.d.ts +0 -4
  134. package/types/stable/@glimmer/opcode-compiler/lib/opcode-builder/helpers/conditional.d.ts +1 -1
  135. package/types/stable/@glimmer/opcode-compiler/lib/syntax/statements.d.ts +1 -1
  136. package/types/stable/@glimmer/runtime/lib/helpers/array.d.ts +0 -33
  137. package/types/stable/@glimmer/runtime/lib/helpers/concat.d.ts +0 -25
  138. package/types/stable/@glimmer/runtime/lib/helpers/fn.d.ts +0 -70
  139. package/types/stable/@glimmer/runtime/lib/helpers/get.d.ts +0 -69
  140. package/types/stable/@glimmer/runtime/lib/helpers/hash.d.ts +0 -36
  141. package/types/stable/index.d.ts +0 -14
  142. package/dist/dev/packages/shared-chunks/get-6I3sjd-I.js +0 -135
  143. package/dist/dev/packages/shared-chunks/hash-6NDs_5_f.js +0 -198
  144. package/dist/prod/packages/shared-chunks/get-Dago5uGl.js +0 -135
  145. package/dist/prod/packages/shared-chunks/hash-gEXIsSO4.js +0 -198
  146. package/types/stable/@ember/-internals/glimmer/lib/helpers/array.d.ts +0 -43
  147. package/types/stable/@ember/-internals/glimmer/lib/helpers/component.d.ts +0 -93
  148. package/types/stable/@ember/-internals/glimmer/lib/helpers/concat.d.ts +0 -32
  149. package/types/stable/@ember/-internals/glimmer/lib/helpers/fn.d.ts +0 -77
  150. package/types/stable/@ember/-internals/glimmer/lib/helpers/get.d.ts +0 -94
  151. package/types/stable/@ember/-internals/glimmer/lib/helpers/hash.d.ts +0 -46
  152. package/types/stable/@ember/-internals/glimmer/lib/helpers/helper.d.ts +0 -43
  153. package/types/stable/@ember/-internals/glimmer/lib/helpers/if-unless.d.ts +0 -228
  154. package/types/stable/@ember/-internals/glimmer/lib/helpers/log.d.ts +0 -19
  155. package/types/stable/@ember/-internals/glimmer/lib/helpers/modifier.d.ts +0 -42
  156. package/types/stable/@ember/-internals/glimmer/lib/helpers/page-title.d.ts +0 -24
  157. package/types/stable/@ember/-internals/glimmer/lib/modifiers/on.d.ts +0 -95
  158. package/types/stable/@ember/-internals/glimmer/lib/syntax/in-element.d.ts +0 -49
  159. package/types/stable/@ember/-internals/glimmer/lib/syntax/let.d.ts +0 -43
@@ -5,7 +5,7 @@ import { c as createComputeRef, v as valueForRef, a as createConstRef, e as crea
5
5
  import { b as EMPTY_STRING_ARRAY, e as enumerate, c as emptyArray } from './array-utils-CZQxrdD3.js';
6
6
  import { C as CONSTANT_TAG, I as INITIAL, v as validateTag, c as consumeTag, a as valueForTag, o as beginTrackFrame, s as endTrackFrame, k as CURRENT_TAG } from './cache-CofLhaS4.js';
7
7
  import { C as CURRIED_MODIFIER, a as CURRIED_COMPONENT } from './curried-BZnYakIg.js';
8
- import { j as VM_SYSCALL_SIZE, k as VM_CHILD_SCOPE_OP, l as VM_POP_SCOPE_OP, m as VM_PUSH_DYNAMIC_SCOPE_OP, n as VM_POP_DYNAMIC_SCOPE_OP, o as VM_CONSTANT_OP, p as decodeHandle, q as VM_CONSTANT_REFERENCE_OP, r as VM_PRIMITIVE_OP, s as isHandle, t as decodeImmediate, u as VM_PRIMITIVE_REFERENCE_OP, v as VM_DUP_OP, w as VM_POP_OP, x as VM_LOAD_OP, y as VM_FETCH_OP, z as VM_BIND_DYNAMIC_SCOPE_OP, A as VM_ENTER_OP, B as VM_EXIT_OP, C as VM_PUSH_SYMBOL_TABLE_OP, D as VM_PUSH_BLOCK_SCOPE_OP, E as VM_COMPILE_BLOCK_OP, F as VM_INVOKE_YIELD_OP, G as VM_JUMP_IF_OP, H as VM_JUMP_UNLESS_OP, I as VM_JUMP_EQ_OP, b as VM_ASSERT_SAME_OP, J as VM_TO_BOOLEAN_OP, K as VM_TEXT_OP, L as VM_COMMENT_OP, M as VM_OPEN_ELEMENT_OP, N as VM_OPEN_DYNAMIC_ELEMENT_OP, O as VM_PUSH_REMOTE_ELEMENT_OP, P as VM_POP_REMOTE_ELEMENT_OP, Q as VM_FLUSH_ELEMENT_OP, R as VM_CLOSE_ELEMENT_OP, S as VM_MODIFIER_OP, T as VM_DYNAMIC_MODIFIER_OP, U as VM_STATIC_ATTR_OP, W as VM_DYNAMIC_ATTR_OP, X as VM_PUSH_COMPONENT_DEFINITION_OP, Y as VM_RESOLVE_DYNAMIC_COMPONENT_OP, e as VM_RESOLVE_CURRIED_COMPONENT_OP, f as VM_PUSH_DYNAMIC_COMPONENT_INSTANCE_OP, Z as VM_PUSH_ARGS_OP, _ as VM_PUSH_EMPTY_ARGS_OP, $ as VM_CAPTURE_ARGS_OP, a0 as VM_PREPARE_ARGS_OP, a1 as VM_CREATE_COMPONENT_OP, a2 as VM_REGISTER_COMPONENT_DESTRUCTOR_OP, a3 as VM_BEGIN_COMPONENT_TRANSACTION_OP, a4 as VM_PUT_COMPONENT_OPERATIONS_OP, a5 as VM_COMPONENT_ATTR_OP, a6 as VM_STATIC_COMPONENT_ATTR_OP, a7 as VM_DID_CREATE_ELEMENT_OP, a8 as VM_GET_COMPONENT_SELF_OP, a9 as VM_GET_COMPONENT_TAG_NAME_OP, aa as VM_GET_COMPONENT_LAYOUT_OP, V as VM_MAIN_OP, ab as VM_POPULATE_LAYOUT_OP, ac as VM_VIRTUAL_ROOT_SCOPE_OP, ad as VM_SET_NAMED_VARIABLES_OP, ae as VM_SET_BLOCKS_OP, af as VM_INVOKE_COMPONENT_LAYOUT_OP, ag as VM_DID_RENDER_LAYOUT_OP, ah as VM_COMMIT_COMPONENT_TRANSACTION_OP } from './syscall-ops-CN7STuUn.js';
8
+ import { j as VM_SYSCALL_SIZE, k as VM_CHILD_SCOPE_OP, l as VM_POP_SCOPE_OP, m as VM_PUSH_DYNAMIC_SCOPE_OP, n as VM_POP_DYNAMIC_SCOPE_OP, o as VM_CONSTANT_OP, p as decodeHandle, q as VM_CONSTANT_REFERENCE_OP, r as VM_PRIMITIVE_OP, s as isHandle, t as decodeImmediate, u as VM_PRIMITIVE_REFERENCE_OP, v as VM_DUP_OP, w as VM_POP_OP, x as VM_LOAD_OP, y as VM_FETCH_OP, z as VM_BIND_DYNAMIC_SCOPE_OP, A as VM_ENTER_OP, B as VM_EXIT_OP, C as VM_PUSH_SYMBOL_TABLE_OP, D as VM_PUSH_BLOCK_SCOPE_OP, E as VM_COMPILE_BLOCK_OP, F as VM_INVOKE_YIELD_OP, G as VM_JUMP_UNLESS_OP, H as VM_JUMP_EQ_OP, b as VM_ASSERT_SAME_OP, I as VM_TO_BOOLEAN_OP, J as VM_TEXT_OP, K as VM_COMMENT_OP, L as VM_OPEN_ELEMENT_OP, M as VM_OPEN_DYNAMIC_ELEMENT_OP, N as VM_PUSH_REMOTE_ELEMENT_OP, O as VM_POP_REMOTE_ELEMENT_OP, P as VM_FLUSH_ELEMENT_OP, Q as VM_CLOSE_ELEMENT_OP, R as VM_MODIFIER_OP, S as VM_DYNAMIC_MODIFIER_OP, T as VM_STATIC_ATTR_OP, U as VM_DYNAMIC_ATTR_OP, W as VM_PUSH_COMPONENT_DEFINITION_OP, X as VM_RESOLVE_DYNAMIC_COMPONENT_OP, e as VM_RESOLVE_CURRIED_COMPONENT_OP, f as VM_PUSH_DYNAMIC_COMPONENT_INSTANCE_OP, Y as VM_PUSH_ARGS_OP, Z as VM_PUSH_EMPTY_ARGS_OP, _ as VM_CAPTURE_ARGS_OP, $ as VM_PREPARE_ARGS_OP, a0 as VM_CREATE_COMPONENT_OP, a1 as VM_REGISTER_COMPONENT_DESTRUCTOR_OP, a2 as VM_BEGIN_COMPONENT_TRANSACTION_OP, a3 as VM_PUT_COMPONENT_OPERATIONS_OP, a4 as VM_COMPONENT_ATTR_OP, a5 as VM_STATIC_COMPONENT_ATTR_OP, a6 as VM_DID_CREATE_ELEMENT_OP, a7 as VM_GET_COMPONENT_SELF_OP, a8 as VM_GET_COMPONENT_TAG_NAME_OP, a9 as VM_GET_COMPONENT_LAYOUT_OP, V as VM_MAIN_OP, aa as VM_POPULATE_LAYOUT_OP, ab as VM_VIRTUAL_ROOT_SCOPE_OP, ac as VM_SET_NAMED_VARIABLES_OP, ad as VM_SET_BLOCKS_OP, ae as VM_INVOKE_COMPONENT_LAYOUT_OP, af as VM_DID_RENDER_LAYOUT_OP, ag as VM_COMMIT_COMPONENT_TRANSACTION_OP } from './syscall-ops-CkPT1Kfx.js';
9
9
  import { a as assert } from './assert-Zqc4wiAV.js';
10
10
  import { u as unwrapTemplate } from './template-BRrQR6KS.js';
11
11
  import { registerDestructor, destroy, associateDestroyableChild } from '../@glimmer/destroyable/index.js';
@@ -456,22 +456,6 @@ APPEND_OPCODES.add(VM_INVOKE_YIELD_OP, vm => {
456
456
  vm.pushScope(invokingScope);
457
457
  vm.call(handle);
458
458
  });
459
- APPEND_OPCODES.add(VM_JUMP_IF_OP, (vm, {
460
- op1: target
461
- }) => {
462
- let reference = check(vm.stack.pop());
463
- let value = Boolean(valueForRef(reference));
464
- if (isConstRef(reference)) {
465
- if (value) {
466
- vm.lowlevel.goto(target);
467
- }
468
- } else {
469
- if (value) {
470
- vm.lowlevel.goto(target);
471
- }
472
- vm.updateWith(new Assert(reference));
473
- }
474
- });
475
459
  APPEND_OPCODES.add(VM_JUMP_UNLESS_OP, (vm, {
476
460
  op1: target
477
461
  }) => {
@@ -929,7 +913,6 @@ APPEND_OPCODES.add(VM_RESOLVE_DYNAMIC_COMPONENT_OP, (vm, {
929
913
  let owner = vm.getOwner();
930
914
  constants.getValue(_isStrict);
931
915
  vm.loadValue($t1, null); // Clear the temp register
932
-
933
916
  let definition;
934
917
  if (typeof component === 'string') {
935
918
  let resolvedDefinition = resolveComponent(vm.context.resolver, constants, component, owner);
@@ -3,7 +3,7 @@ import { a as assert } from './assert-Zqc4wiAV.js';
3
3
  import { assertNever } from '../@glimmer/util/index.js';
4
4
  import { s as setLocalDebugType } from './debug-brand-B1TWjOCH.js';
5
5
  import { a as assign } from './object-utils-AijlD-JH.js';
6
- import { o as opcodes } from './opcodes-CplRyHl_.js';
6
+ import { o as opcodes } from './opcodes-DDajoGhq.js';
7
7
  import { C as CURRIED_MODIFIER, b as CURRIED_HELPER, a as CURRIED_COMPONENT } from './curried-BZnYakIg.js';
8
8
  import { a as WellKnownTagNames, W as WellKnownAttrNames } from './well-known-_EVO9RaV.js';
9
9
 
@@ -3,7 +3,7 @@ import { g as guidFor } from './guid-Cbq2sNV_.js';
3
3
  import { getViewElement, clearElementView, clearViewElement, addChildView, setViewElement, setElementView } from '../@ember/-internals/views/lib/system/utils.js';
4
4
  import { _instrumentStart } from '../@ember/instrumentation/index.js';
5
5
  import { c as createComputeRef, v as valueForRef, e as createPrimitiveRef, f as childRefFor, g as childRefFromParts, a as createConstRef, b as isUpdatableRef, u as updateRef } from './reference-CG0yPgLy.js';
6
- import { f as reifyPositional } from './arguments-BzAkZVBa.js';
6
+ import { f as reifyPositional } from './arguments-CCYATlEH.js';
7
7
  import { E as EMPTY_ARRAY } from './array-utils-CZQxrdD3.js';
8
8
  import { a as valueForTag, p as beginUntrackFrame, w as endUntrackFrame, o as beginTrackFrame, s as endTrackFrame, c as consumeTag, v as validateTag } from './cache-CofLhaS4.js';
9
9
  import { g as get } from './property_get-DuDs6rLg.js';
@@ -65,30 +65,6 @@ function getElementDefinition(tagName) {
65
65
 
66
66
  // ============ Element Helper ============
67
67
 
68
- /**
69
- The `element` helper lets you dynamically set the tag name of an element.
70
-
71
- ```handlebars
72
- {{#let (element @tagName) as |Tag|}}
73
- <Tag class="my-element">Hello</Tag>
74
- {{/let}}
75
- ```
76
-
77
- When `@tagName` is `"h1"`, this renders `<h1 class="my-element">Hello</h1>`.
78
-
79
- When `@tagName` is an empty string `""`, the block content is rendered without
80
- a wrapping element.
81
-
82
- Passing `null`, `undefined`, or non-string values will throw an assertion error.
83
-
84
- Changing the tag name will tear down and recreate the element and its contents.
85
-
86
- The `element` helper is built-in and does not need to be imported.
87
-
88
- @method element
89
- @for Ember.Templates.helpers
90
- @public
91
- */
92
68
  const element = internalHelper(({
93
69
  positional,
94
70
  named
@@ -0,0 +1,40 @@
1
+ import { c as createComputeRef, U as UNDEFINED_REFERENCE, v as valueForRef } from './reference-CG0yPgLy.js';
2
+ import { f as reifyPositional } from './arguments-CCYATlEH.js';
3
+ import { i as internalHelper } from './hash-BitfXhCx.js';
4
+ import { setPath, getPath } from '../@glimmer/global-context/index.js';
5
+ import { i as isDict } from './collections-GpG8lT2g.js';
6
+
7
+ const isEmpty = value => {
8
+ return value === null || value === undefined || typeof value.toString !== 'function';
9
+ };
10
+ const normalizeTextValue = value => {
11
+ if (isEmpty(value)) {
12
+ return '';
13
+ }
14
+ return String(value);
15
+ };
16
+ const concat = internalHelper(({
17
+ positional
18
+ }) => {
19
+ return createComputeRef(() => reifyPositional(positional).map(normalizeTextValue).join(''), null, 'concat');
20
+ });
21
+
22
+ const get = internalHelper(({
23
+ positional
24
+ }) => {
25
+ let sourceRef = positional[0] ?? UNDEFINED_REFERENCE;
26
+ let pathRef = positional[1] ?? UNDEFINED_REFERENCE;
27
+ return createComputeRef(() => {
28
+ let source = valueForRef(sourceRef);
29
+ if (isDict(source)) {
30
+ return getPath(source, String(valueForRef(pathRef)));
31
+ }
32
+ }, value => {
33
+ let source = valueForRef(sourceRef);
34
+ if (isDict(source)) {
35
+ return setPath(source, String(valueForRef(pathRef)), value);
36
+ }
37
+ }, 'get');
38
+ });
39
+
40
+ export { concat as c, get as g };
@@ -0,0 +1,57 @@
1
+ import { c as createComputeRef, d as isInvokableRef, u as updateRef } from './reference-CG0yPgLy.js';
2
+ import { f as reifyPositional, g as check, e as reifyNamed } from './arguments-CCYATlEH.js';
3
+ import { j as setInternalHelperManager } from './api-DlJKfm_f.js';
4
+
5
+ /* eslint-disable @typescript-eslint/no-empty-object-type */
6
+ function buildUntouchableThis(source) {
7
+ let context = null;
8
+ return context;
9
+ }
10
+
11
+ function internalHelper(helper) {
12
+ return setInternalHelperManager(helper, {});
13
+ }
14
+
15
+ const array = internalHelper(({
16
+ positional
17
+ }) => {
18
+ return createComputeRef(() => reifyPositional(positional), null, 'array');
19
+ });
20
+
21
+ const context = buildUntouchableThis();
22
+ const fn = internalHelper(({
23
+ positional
24
+ }) => {
25
+ let callbackRef = check(positional[0]);
26
+ return createComputeRef(() => {
27
+ return (...invocationArgs) => {
28
+ let [fn, ...args] = reifyPositional(positional);
29
+ if (isInvokableRef(callbackRef)) {
30
+ let value = args.length > 0 ? args[0] : invocationArgs[0];
31
+ return void updateRef(callbackRef, value);
32
+ } else {
33
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return -- @fixme
34
+ return fn.call(context, ...args, ...invocationArgs);
35
+ }
36
+ };
37
+ }, null, 'fn');
38
+ });
39
+
40
+ const hash = internalHelper(({
41
+ named
42
+ }) => {
43
+ let ref = createComputeRef(() => {
44
+ return reifyNamed(named);
45
+ }, null, 'hash');
46
+
47
+ // Setup the children so that templates can bypass getting the value of
48
+ // the reference and treat children lazily
49
+ let children = new Map();
50
+ for (let name in named) {
51
+ children.set(name, named[name]);
52
+ }
53
+ ref.children = children;
54
+ return ref;
55
+ });
56
+
57
+ export { array as a, fn as f, hash as h, internalHelper as i };
@@ -6,7 +6,7 @@ import { associateDestroyableChild, destroy, registerDestructor, isDestroyed, is
6
6
  import { artifacts } from '../@glimmer/program/index.js';
7
7
  import { R as RuntimeOpImpl } from './program-BAh__OXZ.js';
8
8
  import { c as clientBuilder } from './api-DzOa0Acr.js';
9
- import { g as runtimeOptions, i as inTransaction, r as renderComponent$1 } from './render-Bf7GviCY.js';
9
+ import { g as runtimeOptions, i as inTransaction, r as renderComponent$1 } from './render-BAVl5E6X.js';
10
10
  import { c as consumeTag, f as isTracking, a as valueForTag, k as CURRENT_TAG, v as validateTag } from './cache-CofLhaS4.js';
11
11
  import { g as get$1, a as _getProp } from './property_get-DuDs6rLg.js';
12
12
  import { _ as _setProp, s as set } from './property_set-BmAQ0MGK.js';
@@ -26,15 +26,15 @@ import { isFactory } from '../@ember/-internals/owner/index.js';
26
26
  import { _instrumentStart } from '../@ember/instrumentation/index.js';
27
27
  import { g as getComponentTemplate } from './template-Dc_cBOoX.js';
28
28
  import { a as getInternalHelperManager, j as setInternalHelperManager, g as getInternalComponentManager } from './api-DlJKfm_f.js';
29
- import { h as hash, f as fn, a as array } from './hash-gEXIsSO4.js';
30
- import { g as get, c as concat } from './get-Dago5uGl.js';
31
- import { o as on } from './on-BZHAxzdq.js';
29
+ import { h as hash, f as fn, a as array } from './hash-BitfXhCx.js';
30
+ import { g as get, c as concat } from './get-CEjFJzGs.js';
31
+ import { o as on } from './on-ov4KAucw.js';
32
32
  import { T as TEMPLATE_ONLY_COMPONENT_MANAGER, t as templateOnlyComponent } from './template-only-DKNcKM5b.js';
33
33
  import { i as isCurlyManager } from './curly-brand-B_F79Dep.js';
34
34
  import { i as isClassicHelper } from './helper-brand-C9_8vvOf.js';
35
35
  import { dasherize } from '../@ember/-internals/string/index.js';
36
- import { a as uniqueId } from './unique-id-o2pS74go.js';
37
- import { E as EvaluationContextImpl } from './program-context-COSioH46.js';
36
+ import { a as uniqueId } from './unique-id-BJb1p8EG.js';
37
+ import { E as EvaluationContextImpl } from './program-context-WVlzpPdi.js';
38
38
 
39
39
  /**
40
40
  @module ember
@@ -122,7 +122,7 @@ const trackArray = internalHelper(({
122
122
  });
123
123
 
124
124
  /**
125
- @module ember
125
+ @module @ember/helper
126
126
  */
127
127
 
128
128
  /**
@@ -132,46 +132,91 @@ const trackArray = internalHelper(({
132
132
  The default behavior of `{{#each}}` is to yield its inner block once for every
133
133
  item in an array passing the item as the first block parameter.
134
134
 
135
- Assuming the `@developers` argument contains this array:
135
+ ```gjs {data-filename="app/components/developer-list.gjs"}
136
+ import Component from '@glimmer/component';
136
137
 
137
- ```javascript
138
- [{ name: 'Yehuda' },{ name: 'Tom' }, { name: 'Paul' }];
139
- ```
138
+ export default class DeveloperList extends Component {
139
+ developers = [
140
+ { name: 'Yehuda' },
141
+ { name: 'Tom' },
142
+ { name: 'Paul' },
143
+ ];
140
144
 
141
- ```handlebars
142
- <ul>
143
- {{#each @developers as |person|}}
144
- <li>Hello, {{person.name}}!</li>
145
- {{/each}}
146
- </ul>
145
+ <template>
146
+ <ul>
147
+ {{#each this.developers as |person|}}
148
+ <li>Hello, {{person.name}}!</li>
149
+ {{/each}}
150
+ </ul>
151
+ </template>
152
+ }
147
153
  ```
148
154
 
149
- The same rules apply to arrays of primitives.
155
+ The same rules apply to arrays of primitives:
156
+
157
+ ```gjs {data-filename="app/components/developer-names.gjs"}
158
+ import Component from '@glimmer/component';
159
+
160
+ export default class DeveloperNames extends Component {
161
+ developerNames = ['Yehuda', 'Tom', 'Paul'];
150
162
 
151
- ```javascript
152
- ['Yehuda', 'Tom', 'Paul']
163
+ <template>
164
+ <ul>
165
+ {{#each this.developerNames as |name|}}
166
+ <li>Hello, {{name}}!</li>
167
+ {{/each}}
168
+ </ul>
169
+ </template>
170
+ }
153
171
  ```
154
172
 
155
- ```handlebars
156
- <ul>
157
- {{#each @developerNames as |name|}}
158
- <li>Hello, {{name}}!</li>
159
- {{/each}}
160
- </ul>
173
+ `{{#each}}` also supports native JavaScript [`Set`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set)
174
+ values and other iterables:
175
+
176
+ ```gjs {data-filename="app/components/developer-set.gjs"}
177
+ import Component from '@glimmer/component';
178
+
179
+ export default class DeveloperSet extends Component {
180
+ developers = new Set([
181
+ { name: 'Yehuda' },
182
+ { name: 'Tom' },
183
+ { name: 'Paul' },
184
+ ]);
185
+
186
+ <template>
187
+ <ul>
188
+ {{#each this.developers as |person|}}
189
+ <li>Hello, {{person.name}}!</li>
190
+ {{/each}}
191
+ </ul>
192
+ </template>
193
+ }
161
194
  ```
162
195
 
163
- During iteration, the index of each item in the array is provided as a second block
164
- parameter.
196
+ During iteration, the index of each item in the array is provided as a second
197
+ block parameter:
165
198
 
166
- ```handlebars
167
- <ul>
168
- {{#each @developers as |person index|}}
169
- <li>Hello, {{person.name}}! You're number {{index}} in line</li>
170
- {{/each}}
171
- </ul>
199
+ ```gjs {data-filename="app/components/developer-list-with-index.gjs"}
200
+ import Component from '@glimmer/component';
201
+
202
+ export default class DeveloperListWithIndex extends Component {
203
+ developers = [
204
+ { name: 'Yehuda' },
205
+ { name: 'Tom' },
206
+ { name: 'Paul' },
207
+ ];
208
+
209
+ <template>
210
+ <ul>
211
+ {{#each this.developers as |person index|}}
212
+ <li>Hello, {{person.name}}! You're number {{index}} in line</li>
213
+ {{/each}}
214
+ </ul>
215
+ </template>
216
+ }
172
217
  ```
173
-
174
- `#each` is a keyword and does not need to be imported.
218
+
219
+ `#each` is a keyword and does not need to be imported.
175
220
 
176
221
  ### Specifying Keys
177
222
 
@@ -187,72 +232,91 @@ const trackArray = internalHelper(({
187
232
  needed. However, in some rare cases, the objects' identities may change even
188
233
  though they represent the same underlying data.
189
234
 
190
- For example:
235
+ For example, mapping over `people` produces a new array of new objects on each
236
+ render. Use `key` so Ember can match items across those renders:
191
237
 
192
- ```javascript
193
- people.map(person => {
194
- return { ...person, type: 'developer' };
195
- });
196
- ```
238
+ ```gjs {data-filename="app/components/mapped-developers.gjs"}
239
+ import Component from '@glimmer/component';
197
240
 
198
- In this case, each time the `people` array is `map`-ed over, it will produce
199
- an new array with completely different objects between renders. In these cases,
200
- you can help Ember determine how these objects related to each other with the
201
- `key` option:
241
+ export default class MappedDevelopers extends Component {
242
+ people = [
243
+ { name: 'Yehuda' },
244
+ { name: 'Tom' },
245
+ { name: 'Paul' },
246
+ ];
202
247
 
203
- ```handlebars
204
- <ul>
205
- {{#each @developers key="name" as |person|}}
206
- <li>Hello, {{person.name}}!</li>
207
- {{/each}}
208
- </ul>
248
+ get developers() {
249
+ return this.people.map((person) => {
250
+ return { ...person, type: 'developer' };
251
+ });
252
+ }
253
+
254
+ <template>
255
+ <ul>
256
+ {{#each this.developers key="name" as |person|}}
257
+ <li>Hello, {{person.name}}!</li>
258
+ {{/each}}
259
+ </ul>
260
+ </template>
261
+ }
209
262
  ```
210
263
 
211
264
  By doing so, Ember will use the value of the property specified (`person.name`
212
265
  in the example) to find a "match" from the previous render. That is, if Ember
213
- has previously seen an object from the `@developers` array with a matching
266
+ has previously seen an object from the `developers` array with a matching
214
267
  name, its DOM elements will be re-used.
215
268
 
216
269
  There are two special values for `key`:
217
270
 
271
+ * `@identity` - The item in the array itself. This is the default.
218
272
  * `@index` - The index of the item in the array.
219
- * `@identity` - The item in the array itself.
220
273
 
221
274
  ### {{else}} condition
222
275
 
223
276
  `{{#each}}` can have a matching `{{else}}`. The contents of this block will render
224
277
  if the collection is empty.
225
278
 
226
- ```handlebars
227
- <ul>
228
- {{#each @developers as |person|}}
229
- <li>{{person.name}} is available!</li>
230
- {{else}}
231
- <li>Sorry, nobody is available for this task.</li>
232
- {{/each}}
233
- </ul>
279
+ ```gjs {data-filename="app/components/available-developers.gjs"}
280
+ import Component from '@glimmer/component';
281
+
282
+ export default class AvailableDevelopers extends Component {
283
+ developers = [];
284
+
285
+ <template>
286
+ <ul>
287
+ {{#each this.developers as |person|}}
288
+ <li>{{person.name}} is available!</li>
289
+ {{else}}
290
+ <li>Sorry, nobody is available for this task.</li>
291
+ {{/each}}
292
+ </ul>
293
+ </template>
294
+ }
234
295
  ```
235
296
 
236
297
  @method each
237
- @for Ember.Templates.helpers
298
+ @for Keywords
299
+ @static
300
+ @noimport
238
301
  @public
239
302
  */
240
303
 
241
304
  /**
242
- The `{{#each-in}}` keyword loops over properties on an object.
305
+ The `{{#each-in}}` keyword loops over properties on an object, or entries in a
306
+ native JavaScript [`Map`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map).
243
307
 
244
308
  For example, given this component definition:
245
309
 
246
- ```app/components/developer-details.gjs
310
+ ```gjs {data-filename="app/components/developer-details.gjs"}
247
311
  import Component from '@glimmer/component';
248
312
  import { tracked } from '@glimmer/tracking';
249
313
 
250
- export default class extends Component {
314
+ export default class DeveloperDetails extends Component {
251
315
  @tracked developer = {
252
- "name": "Shelly Sails",
253
- "age": 42
316
+ name: 'Shelly Sails',
317
+ age: 42,
254
318
  };
255
-
319
+
256
320
  <template>
257
321
  <ul>
258
322
  {{#each-in this.developer as |key value|}}
@@ -272,11 +336,80 @@ const trackArray = internalHelper(({
272
336
  <li>age: 42</li>
273
337
  </ul>
274
338
  ```
275
-
339
+
340
+ The same pattern works with a `Map`:
341
+
342
+ ```gjs {data-filename="app/components/developer-map.gjs"}
343
+ import Component from '@glimmer/component';
344
+
345
+ export default class DeveloperMap extends Component {
346
+ map = new Map([
347
+ ['name', 'Shelly Sails'],
348
+ ['age', 42],
349
+ ]);
350
+
351
+ <template>
352
+ <ul>
353
+ {{#each-in this.map as |key value|}}
354
+ <li>{{key}}: {{value}}</li>
355
+ {{/each-in}}
356
+ </ul>
357
+ </template>
358
+ }
359
+ ```
360
+
361
+ When a `Map` uses object keys, you can pass `key="@identity"` to explicitly
362
+ track entries across re-renders using the JavaScript identity of each key:
363
+
364
+ ```gjs {data-filename="app/components/object-keyed-map.gjs"}
365
+ import Component from '@glimmer/component';
366
+
367
+ export default class ObjectKeyedMap extends Component {
368
+ map = new Map([
369
+ [{ name: 'one' }, 'foo'],
370
+ [{ name: 'two' }, 'bar'],
371
+ ]);
372
+
373
+ <template>
374
+ <ul>
375
+ {{#each-in this.map key="@identity" as |key value|}}
376
+ <li>{{key.name}}: {{value}}</li>
377
+ {{/each-in}}
378
+ </ul>
379
+ </template>
380
+ }
381
+ ```
382
+
276
383
  `#each-in` is a keyword and does not need to be imported.
277
384
 
385
+ ### Specifying Keys
386
+
387
+ Like `{{#each}}`, `{{#each-in}}` accepts a `key` option to decide which DOM
388
+ elements can be reused between renders. Since `{{#each-in}}` yields two block
389
+ params, the special values pick which one is used:
390
+
391
+ * `@identity` - The second block param: the property's value. This is the
392
+ default. Changing a value replaces that entry's DOM instead of updating it
393
+ in place.
394
+ * `@key` - The first block param: the property name, or for a `Map`, its key.
395
+
396
+ Any other string is a path, looked up on the value: `key="id"` keys each entry
397
+ by its `value.id`.
398
+
399
+ For example, `@key` keeps each entry's DOM as its score changes, so anything
400
+ stateful inside it — focus, a running transition, a component instance — survives
401
+ the update:
402
+
403
+ ```handlebars
404
+ {{#each-in this.scores key="@key" as |player score|}}
405
+ <PlayerScore @name={{player}} @score={{score}} />
406
+ {{/each-in}}
407
+ ```
408
+
278
409
  @method each-in
279
- @for Ember.Templates.helpers
410
+ @static
411
+ @noimport
412
+ @for Keywords
280
413
  @public
281
414
  @since 2.1.0
282
415
  */
@@ -302,7 +435,7 @@ const eachIn = internalHelper(({
302
435
  });
303
436
 
304
437
  /**
305
- @module ember
438
+ @module @ember/helper
306
439
  */
307
440
 
308
441
  /**
@@ -322,7 +455,7 @@ const eachIn = internalHelper(({
322
455
 
323
456
  The child `Component` would invoke the function with the new click count:
324
457
 
325
- ```app/components/my-child.gjs
458
+ ```gjs {data-filename="app/components/my-child.gjs"}
326
459
  import Component from '@glimmer/component';
327
460
  import { action } from '@ember/object';
328
461
 
@@ -344,7 +477,8 @@ const eachIn = internalHelper(({
344
477
 
345
478
  @method mut
346
479
  @param {Object} [attr] the "two-way" attribute that can be modified.
347
- @for Ember.Templates.helpers
480
+ @static
481
+ @for Keywords
348
482
  @public
349
483
  */
350
484
 
@@ -356,7 +490,7 @@ const mut = internalHelper(({
356
490
  });
357
491
 
358
492
  /**
359
- @module ember
493
+ @module @ember/helper
360
494
  */
361
495
 
362
496
 
@@ -468,7 +602,9 @@ const mut = internalHelper(({
468
602
 
469
603
  @method readonly
470
604
  @param {Object} [attr] the read-only attribute.
471
- @for Ember.Templates.helpers
605
+ @for Keywords
606
+ @noimport
607
+ @static
472
608
  @private
473
609
  */
474
610
  const readonly = internalHelper(({
@@ -479,7 +615,7 @@ const readonly = internalHelper(({
479
615
  });
480
616
 
481
617
  /**
482
- @module ember
618
+ @module @ember/helper
483
619
  */
484
620
 
485
621
 
@@ -505,9 +641,13 @@ const readonly = internalHelper(({
505
641
 
506
642
  The `unbound` helper only accepts a single argument, and it return an
507
643
  unbound value.
644
+
645
+ `unbound` is a template keyword and does not need to be imported.
508
646
 
509
647
  @method unbound
510
- @for Ember.Templates.helpers
648
+ @static
649
+ @noimport
650
+ @for Keywords
511
651
  @public
512
652
  */
513
653
 
@@ -1,12 +1,12 @@
1
1
  import { a as assign } from './object-utils-AijlD-JH.js';
2
2
  import { b as EMPTY_STRING_ARRAY, E as EMPTY_ARRAY, e as enumerate, r as reverse } from './array-utils-CZQxrdD3.js';
3
- import { r as VM_PRIMITIVE_OP, aE as encodeHandle, au as VM_CONCAT_OP, al as VM_GET_VARIABLE_OP, q as VM_CONSTANT_REFERENCE_OP, ap as VM_GET_PROPERTY_OP, as as VM_HAS_BLOCK_OP, ar as VM_SPREAD_BLOCK_OP, E as VM_COMPILE_BLOCK_OP, at as VM_HAS_BLOCK_PARAMS_OP, av as VM_IF_INLINE_OP, aw as VM_NOT_OP, ax as VM_GET_DYNAMIC_VAR_OP, ay as VM_LOG_OP, y as VM_FETCH_OP, u as VM_PRIMITIVE_REFERENCE_OP, ak as VM_HELPER_OP, v as VM_DUP_OP, aj as VM_DYNAMIC_HELPER_OP, w as VM_POP_OP, $ as VM_CAPTURE_ARGS_OP, ai as VM_CURRY_OP, aF as isSmallInt, aG as encodeImmediate, m as VM_PUSH_DYNAMIC_SCOPE_OP, z as VM_BIND_DYNAMIC_SCOPE_OP, n as VM_POP_DYNAMIC_SCOPE_OP, aq as VM_GET_BLOCK_OP, F as VM_INVOKE_YIELD_OP, l as VM_POP_SCOPE_OP, k as VM_CHILD_SCOPE_OP, am as VM_SET_VARIABLE_OP, o as VM_CONSTANT_OP, D as VM_PUSH_BLOCK_SCOPE_OP, C as VM_PUSH_SYMBOL_TABLE_OP, _ as VM_PUSH_EMPTY_ARGS_OP, Z as VM_PUSH_ARGS_OP, A as VM_ENTER_OP, I as VM_JUMP_EQ_OP, B as VM_EXIT_OP, H as VM_JUMP_UNLESS_OP, X as VM_PUSH_COMPONENT_DEFINITION_OP, x as VM_LOAD_OP, a3 as VM_BEGIN_COMPONENT_TRANSACTION_OP, a1 as VM_CREATE_COMPONENT_OP, a2 as VM_REGISTER_COMPONENT_DESTRUCTOR_OP, a8 as VM_GET_COMPONENT_SELF_OP, ao as VM_ROOT_SCOPE_OP, an as VM_SET_BLOCK_OP, ag as VM_DID_RENDER_LAYOUT_OP, ah as VM_COMMIT_COMPONENT_TRANSACTION_OP, a0 as VM_PREPARE_ARGS_OP, ac as VM_VIRTUAL_ROOT_SCOPE_OP, ad as VM_SET_NAMED_VARIABLES_OP, ae as VM_SET_BLOCKS_OP, af as VM_INVOKE_COMPONENT_LAYOUT_OP, a4 as VM_PUT_COMPONENT_OPERATIONS_OP, N as VM_OPEN_DYNAMIC_ELEMENT_OP, a7 as VM_DID_CREATE_ELEMENT_OP, Q as VM_FLUSH_ELEMENT_OP, R as VM_CLOSE_ELEMENT_OP, e as VM_RESOLVE_CURRIED_COMPONENT_OP, Y as VM_RESOLVE_DYNAMIC_COMPONENT_OP, f as VM_PUSH_DYNAMIC_COMPONENT_INSTANCE_OP, aa as VM_GET_COMPONENT_LAYOUT_OP, ab as VM_POPULATE_LAYOUT_OP, a9 as VM_GET_COMPONENT_TAG_NAME_OP, L as VM_COMMENT_OP, S as VM_MODIFIER_OP, T as VM_DYNAMIC_MODIFIER_OP, U as VM_STATIC_ATTR_OP, a6 as VM_STATIC_COMPONENT_ATTR_OP, W as VM_DYNAMIC_ATTR_OP, a5 as VM_COMPONENT_ATTR_OP, M as VM_OPEN_ELEMENT_OP, aA as VM_DEBUGGER_OP, K as VM_TEXT_OP, b as VM_ASSERT_SAME_OP, az as VM_DYNAMIC_CONTENT_TYPE_OP, O as VM_PUSH_REMOTE_ELEMENT_OP, P as VM_POP_REMOTE_ELEMENT_OP, J as VM_TO_BOOLEAN_OP, aB as VM_ENTER_LIST_OP, aD as VM_ITERATE_OP, aC as VM_EXIT_LIST_OP } from './syscall-ops-CN7STuUn.js';
3
+ import { r as VM_PRIMITIVE_OP, aD as encodeHandle, at as VM_CONCAT_OP, ak as VM_GET_VARIABLE_OP, q as VM_CONSTANT_REFERENCE_OP, ao as VM_GET_PROPERTY_OP, ar as VM_HAS_BLOCK_OP, aq as VM_SPREAD_BLOCK_OP, E as VM_COMPILE_BLOCK_OP, as as VM_HAS_BLOCK_PARAMS_OP, au as VM_IF_INLINE_OP, av as VM_NOT_OP, aw as VM_GET_DYNAMIC_VAR_OP, ax as VM_LOG_OP, y as VM_FETCH_OP, u as VM_PRIMITIVE_REFERENCE_OP, aj as VM_HELPER_OP, v as VM_DUP_OP, ai as VM_DYNAMIC_HELPER_OP, w as VM_POP_OP, _ as VM_CAPTURE_ARGS_OP, ah as VM_CURRY_OP, aE as isSmallInt, aF as encodeImmediate, m as VM_PUSH_DYNAMIC_SCOPE_OP, z as VM_BIND_DYNAMIC_SCOPE_OP, n as VM_POP_DYNAMIC_SCOPE_OP, ap as VM_GET_BLOCK_OP, F as VM_INVOKE_YIELD_OP, l as VM_POP_SCOPE_OP, k as VM_CHILD_SCOPE_OP, al as VM_SET_VARIABLE_OP, o as VM_CONSTANT_OP, D as VM_PUSH_BLOCK_SCOPE_OP, C as VM_PUSH_SYMBOL_TABLE_OP, Z as VM_PUSH_EMPTY_ARGS_OP, Y as VM_PUSH_ARGS_OP, A as VM_ENTER_OP, H as VM_JUMP_EQ_OP, B as VM_EXIT_OP, G as VM_JUMP_UNLESS_OP, W as VM_PUSH_COMPONENT_DEFINITION_OP, x as VM_LOAD_OP, a2 as VM_BEGIN_COMPONENT_TRANSACTION_OP, a0 as VM_CREATE_COMPONENT_OP, a1 as VM_REGISTER_COMPONENT_DESTRUCTOR_OP, a7 as VM_GET_COMPONENT_SELF_OP, an as VM_ROOT_SCOPE_OP, am as VM_SET_BLOCK_OP, af as VM_DID_RENDER_LAYOUT_OP, ag as VM_COMMIT_COMPONENT_TRANSACTION_OP, $ as VM_PREPARE_ARGS_OP, ab as VM_VIRTUAL_ROOT_SCOPE_OP, ac as VM_SET_NAMED_VARIABLES_OP, ad as VM_SET_BLOCKS_OP, ae as VM_INVOKE_COMPONENT_LAYOUT_OP, a3 as VM_PUT_COMPONENT_OPERATIONS_OP, M as VM_OPEN_DYNAMIC_ELEMENT_OP, a6 as VM_DID_CREATE_ELEMENT_OP, P as VM_FLUSH_ELEMENT_OP, Q as VM_CLOSE_ELEMENT_OP, e as VM_RESOLVE_CURRIED_COMPONENT_OP, X as VM_RESOLVE_DYNAMIC_COMPONENT_OP, f as VM_PUSH_DYNAMIC_COMPONENT_INSTANCE_OP, a9 as VM_GET_COMPONENT_LAYOUT_OP, aa as VM_POPULATE_LAYOUT_OP, a8 as VM_GET_COMPONENT_TAG_NAME_OP, K as VM_COMMENT_OP, R as VM_MODIFIER_OP, S as VM_DYNAMIC_MODIFIER_OP, T as VM_STATIC_ATTR_OP, a5 as VM_STATIC_COMPONENT_ATTR_OP, U as VM_DYNAMIC_ATTR_OP, a4 as VM_COMPONENT_ATTR_OP, L as VM_OPEN_ELEMENT_OP, az as VM_DEBUGGER_OP, J as VM_TEXT_OP, b as VM_ASSERT_SAME_OP, ay as VM_DYNAMIC_CONTENT_TYPE_OP, N as VM_PUSH_REMOTE_ELEMENT_OP, O as VM_POP_REMOTE_ELEMENT_OP, I as VM_TO_BOOLEAN_OP, aA as VM_ENTER_LIST_OP, aC as VM_ITERATE_OP, aB as VM_EXIT_LIST_OP } from './syscall-ops-CkPT1Kfx.js';
4
4
  import { b as VM_RETURN_OP, i as isMachineOp, f as VM_PUSH_FRAME_OP, e as VM_POP_FRAME_OP, d as VM_INVOKE_VIRTUAL_OP, c as VM_JUMP_OP, a as VM_RETURN_TO_OP, V as VM_INVOKE_STATIC_OP } from './vm-ops-ImHv0Wtg.js';
5
5
  import { e as expect, u as unwrap, S as StackImpl, a as isPresentArray, d as dict } from './collections-GpG8lT2g.js';
6
6
  import { a as assert } from './assert-Zqc4wiAV.js';
7
7
  import { InstructionEncoderImpl } from '../@glimmer/encoder/index.js';
8
8
  import { A as ARG_SHIFT, M as MACHINE_MASK, I as InternalComponentCapabilities } from './flags-BZxHQ0yn.js';
9
- import { o as opcodes } from './opcodes-CplRyHl_.js';
9
+ import { o as opcodes } from './opcodes-DDajoGhq.js';
10
10
  import { a as $v0, f as $fp, $ as $s0, g as $sp, h as $s1 } from './registers-C_W2qYHJ.js';
11
11
  import { ContentType } from '../@glimmer/vm/index.js';
12
12
  import { h as hasCapability } from './capabilities-BuVYh-vx.js';
@@ -1000,7 +1000,7 @@ function SwitchCases(op, bootstrap, matcher) {
1000
1000
  * # Updating Execution
1001
1001
  *
1002
1002
  * Updating execution for this `replayable` occurs if the `body` added an
1003
- * assertion, via one of the `JumpIf`, `JumpUnless` or `AssertSame` opcodes.
1003
+ * assertion, via one of the `JumpUnless`, `JumpEq` or `AssertSame` opcodes.
1004
1004
  *
1005
1005
  * If, during updating executon, the assertion fails, the initial VM is
1006
1006
  * restored, and the stored arguments are pushed onto the stack. The DOM