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.
- package/build-metadata.json +3 -3
- package/dist/dev/packages/@ember/-internals/deprecations/index.js +9 -0
- package/dist/dev/packages/@ember/-internals/glimmer/index.js +7 -7
- package/dist/dev/packages/@ember/-internals/routing/index.js +2 -2
- package/dist/dev/packages/@ember/-internals/runtime/index.js +1 -1
- package/dist/dev/packages/@ember/-internals/runtime/lib/ext/rsvp.js +1 -1
- package/dist/dev/packages/@ember/-internals/runtime/lib/mixins/action_handler.js +4 -0
- package/dist/dev/packages/@ember/-internals/runtime/lib/mixins/target_action_support.js +3 -0
- package/dist/dev/packages/@ember/-internals/views/lib/mixins/action_support.js +2 -0
- package/dist/dev/packages/@ember/application/index.js +3 -3
- package/dist/dev/packages/@ember/application/instance.js +9 -9
- package/dist/dev/packages/@ember/component/helper.js +2 -2
- package/dist/dev/packages/@ember/component/index.js +3 -3
- package/dist/dev/packages/@ember/engine/index.js +3 -3
- package/dist/dev/packages/@ember/engine/instance.js +1 -1
- package/dist/dev/packages/@ember/helper/index.js +1132 -79
- package/dist/dev/packages/@ember/modifier/on.js +1 -1
- package/dist/dev/packages/@ember/object/compat.js +0 -32
- package/dist/dev/packages/@ember/renderer/index.js +1 -1
- package/dist/dev/packages/@ember/routing/-internals.js +2 -2
- package/dist/dev/packages/@ember/routing/index.js +11 -28
- package/dist/dev/packages/@ember/routing/lib/utils.js +2 -2
- package/dist/dev/packages/@ember/routing/route.js +2 -2
- package/dist/dev/packages/@ember/routing/router-service.js +9 -9
- package/dist/dev/packages/@ember/routing/router.js +2 -2
- package/dist/dev/packages/@ember/template-compiler/lib/compile-options.js +3 -3
- package/dist/dev/packages/@ember/template-compiler/lib/template.js +2 -2
- package/dist/dev/packages/@ember/template-factory/index.js +1 -1
- package/dist/dev/packages/@glimmer/opcode-compiler/index.js +2 -2
- package/dist/dev/packages/@glimmer/program/index.js +3 -3
- package/dist/dev/packages/@glimmer/runtime/index.js +7 -7
- package/dist/dev/packages/@glimmer/wire-format/index.js +2 -5
- package/dist/dev/packages/ember/version.js +1 -1
- package/dist/dev/packages/ember-template-compiler/index.js +2 -2
- package/dist/dev/packages/router_js/index.js +2 -2
- package/dist/dev/packages/rsvp/index.js +1 -2281
- package/dist/dev/packages/shared-chunks/{arguments-CDkbOqTS.js → arguments-DniR8eF2.js} +5 -18
- package/dist/dev/packages/shared-chunks/{compiler-QUSl_urU.js → compiler-BHFFl-fv.js} +1 -1
- package/dist/dev/packages/shared-chunks/{curly-BbL6STF2.js → curly-BCD_vyHq.js} +1 -1
- package/dist/dev/packages/shared-chunks/{element-BYLB-q7a.js → element-Cgoi4ldD.js} +0 -24
- package/dist/dev/packages/shared-chunks/get-zsePWrJL.js +40 -0
- package/dist/dev/packages/shared-chunks/hash-BFu91gtE.js +57 -0
- package/dist/dev/packages/shared-chunks/{index-DaFzpTIE.js → index-BYUSIu_W.js} +3 -3
- package/dist/dev/packages/shared-chunks/{index-Czn34wUZ.js → index-Bv9SQpEx.js} +218 -78
- package/dist/dev/packages/shared-chunks/{invoke-d9sqa50M.js → invoke-CgF42joE.js} +1 -1
- package/dist/dev/packages/shared-chunks/{not-DYh6AY9Z.js → not-0cVb-rLf.js} +1 -1
- package/dist/dev/packages/shared-chunks/{on-DlF0Wy7P.js → on-CVIjn2C-.js} +22 -11
- package/dist/dev/packages/shared-chunks/{opcodes-CplRyHl_.js → opcodes-DDajoGhq.js} +0 -4
- package/dist/dev/packages/shared-chunks/{outlet-B4qORyui.js → outlet-BO5-QFmm.js} +3 -3
- package/dist/dev/packages/shared-chunks/{program-context-Dq8xN2HI.js → program-context-BBB1Ga5h.js} +2 -2
- package/dist/dev/packages/shared-chunks/{render-CtH73XOv.js → render-D_Rawf-r.js} +2 -2
- package/dist/{prod/packages/shared-chunks/rsvp.es-DR7yS7qg.js → dev/packages/shared-chunks/rsvp-aLN_pQtn.js} +152 -148
- package/dist/dev/packages/shared-chunks/{setup-registry-h519ZsHS.js → setup-registry-Ci8Af2Bz.js} +35 -13
- package/dist/{prod/packages/shared-chunks/syscall-ops-CN7STuUn.js → dev/packages/shared-chunks/syscall-ops-CkPT1Kfx.js} +1 -2
- package/dist/dev/packages/shared-chunks/{textarea-DEvw4ezm.js → textarea-DvS6Xmdh.js} +3 -23
- package/dist/dev/packages/shared-chunks/{unique-id-DQOhouG1.js → unique-id-Csxuh1I7.js} +0 -4
- package/dist/dev/packages/shared-chunks/{unrecognized-url-error-B8loxkay.js → unrecognized-url-error-cXUp-SK3.js} +1 -1
- package/dist/prod/packages/@ember/-internals/deprecations/index.js +9 -0
- package/dist/prod/packages/@ember/-internals/glimmer/index.js +7 -7
- package/dist/prod/packages/@ember/-internals/routing/index.js +2 -2
- package/dist/prod/packages/@ember/-internals/runtime/index.js +1 -1
- package/dist/prod/packages/@ember/-internals/runtime/lib/ext/rsvp.js +1 -1
- package/dist/prod/packages/@ember/-internals/runtime/lib/mixins/action_handler.js +4 -0
- package/dist/prod/packages/@ember/-internals/runtime/lib/mixins/target_action_support.js +3 -0
- package/dist/prod/packages/@ember/-internals/views/lib/mixins/action_support.js +2 -0
- package/dist/prod/packages/@ember/application/index.js +3 -3
- package/dist/prod/packages/@ember/application/instance.js +9 -9
- package/dist/prod/packages/@ember/component/helper.js +2 -2
- package/dist/prod/packages/@ember/component/index.js +3 -3
- package/dist/prod/packages/@ember/engine/index.js +3 -3
- package/dist/prod/packages/@ember/engine/instance.js +1 -1
- package/dist/prod/packages/@ember/helper/index.js +1132 -79
- package/dist/prod/packages/@ember/modifier/on.js +1 -1
- package/dist/prod/packages/@ember/object/compat.js +0 -32
- package/dist/prod/packages/@ember/renderer/index.js +1 -1
- package/dist/prod/packages/@ember/routing/index.js +10 -27
- package/dist/prod/packages/@ember/routing/lib/utils.js +2 -2
- package/dist/prod/packages/@ember/routing/route.js +2 -2
- package/dist/prod/packages/@ember/routing/router-service.js +9 -9
- package/dist/prod/packages/@ember/routing/router.js +2 -2
- package/dist/prod/packages/@ember/template-compiler/lib/compile-options.js +3 -3
- package/dist/prod/packages/@ember/template-compiler/lib/template.js +2 -2
- package/dist/prod/packages/@ember/template-factory/index.js +1 -1
- package/dist/prod/packages/@glimmer/opcode-compiler/index.js +2 -2
- package/dist/prod/packages/@glimmer/program/index.js +3 -3
- package/dist/prod/packages/@glimmer/runtime/index.js +7 -7
- package/dist/prod/packages/@glimmer/wire-format/index.js +2 -5
- package/dist/prod/packages/ember/version.js +1 -1
- package/dist/prod/packages/ember-template-compiler/index.js +2 -2
- package/dist/prod/packages/router_js/index.js +2 -2
- package/dist/prod/packages/rsvp/index.js +1 -2281
- package/dist/prod/packages/shared-chunks/{arguments-BzAkZVBa.js → arguments-CCYATlEH.js} +1 -18
- package/dist/prod/packages/shared-chunks/{compiler-lBSssiWp.js → compiler-Wt5SWcrF.js} +1 -1
- package/dist/prod/packages/shared-chunks/{curly-CU2jYOtm.js → curly-CdvJuTyW.js} +1 -1
- package/dist/prod/packages/shared-chunks/{element-DgHdPZ8u.js → element-BmBjPjkQ.js} +0 -24
- package/dist/prod/packages/shared-chunks/get-CEjFJzGs.js +40 -0
- package/dist/prod/packages/shared-chunks/hash-BitfXhCx.js +57 -0
- package/dist/prod/packages/shared-chunks/{index-XmtQRWbX.js → index-D8cl-pfl.js} +218 -78
- package/dist/prod/packages/shared-chunks/{index-Bf53M8eS.js → index-kwuZeaNz.js} +3 -3
- package/dist/prod/packages/shared-chunks/{invoke-DhQ5QRp2.js → invoke-4JGJYH7Z.js} +1 -1
- package/dist/prod/packages/shared-chunks/{not-BOIVROuv.js → not-Dn5s9qVZ.js} +1 -1
- package/dist/prod/packages/shared-chunks/{on-BZHAxzdq.js → on-ov4KAucw.js} +22 -11
- package/dist/prod/packages/shared-chunks/{opcodes-CplRyHl_.js → opcodes-DDajoGhq.js} +0 -4
- package/dist/prod/packages/shared-chunks/{outlet-CsNMfeOj.js → outlet-BWnaVOrA.js} +3 -3
- package/dist/prod/packages/shared-chunks/{program-context-COSioH46.js → program-context-WVlzpPdi.js} +2 -2
- package/dist/prod/packages/shared-chunks/{render-Bf7GviCY.js → render-BAVl5E6X.js} +2 -2
- package/dist/{dev/packages/shared-chunks/rsvp.es-DR7yS7qg.js → prod/packages/shared-chunks/rsvp-aLN_pQtn.js} +152 -148
- package/dist/prod/packages/shared-chunks/{setup-registry-DFSQHIUs.js → setup-registry-DeyoFe6Q.js} +35 -13
- package/dist/{dev/packages/shared-chunks/syscall-ops-CN7STuUn.js → prod/packages/shared-chunks/syscall-ops-CkPT1Kfx.js} +1 -2
- package/dist/prod/packages/shared-chunks/{textarea-DMmdvgk2.js → textarea-B-sssXGa.js} +3 -23
- package/dist/prod/packages/shared-chunks/{unique-id-o2pS74go.js → unique-id-BJb1p8EG.js} +0 -4
- package/dist/prod/packages/shared-chunks/{unrecognized-url-error-jjQ-FqKB.js → unrecognized-url-error-xC654tCo.js} +1 -1
- package/docs/data.json +1237 -1395
- package/package.json +52 -47
- package/types/stable/@ember/-internals/deprecations/index.d.ts +6 -0
- package/types/stable/@ember/-internals/glimmer/index.d.ts +7 -380
- package/types/stable/@ember/-internals/glimmer/lib/component.d.ts +1 -1
- package/types/stable/@ember/-internals/glimmer/lib/helper.d.ts +2 -2
- package/types/stable/@ember/-internals/glimmer/lib/helpers/each-in.d.ts +196 -63
- package/types/stable/@ember/-internals/glimmer/lib/helpers/element.d.ts +0 -24
- package/types/stable/@ember/-internals/glimmer/lib/helpers/mut.d.ts +3 -2
- package/types/stable/@ember/-internals/glimmer/lib/helpers/readonly.d.ts +3 -1
- package/types/stable/@ember/-internals/glimmer/lib/helpers/unbound.d.ts +6 -2
- package/types/stable/@ember/-internals/glimmer/lib/helpers/unique-id.d.ts +0 -3
- package/types/stable/@ember/-internals/glimmer/lib/syntax/mount.d.ts +4 -2
- package/types/stable/@ember/-internals/glimmer/lib/syntax/outlet.d.ts +7 -2
- package/types/stable/@ember/helper/index.d.ts +1113 -73
- package/types/stable/@ember/object/compat.d.ts +0 -32
- package/types/stable/@ember/object/core.d.ts +1 -1
- package/types/stable/@ember/routing/router-service.d.ts +9 -9
- package/types/stable/@glimmer/interfaces/lib/compile/wire-format/api.d.ts +1 -9
- package/types/stable/@glimmer/interfaces/lib/compile/wire-format/opcodes.d.ts +0 -4
- package/types/stable/@glimmer/interfaces/lib/vm-opcodes.d.ts +0 -4
- package/types/stable/@glimmer/opcode-compiler/lib/opcode-builder/helpers/conditional.d.ts +1 -1
- package/types/stable/@glimmer/opcode-compiler/lib/syntax/statements.d.ts +1 -1
- package/types/stable/@glimmer/runtime/lib/helpers/array.d.ts +0 -33
- package/types/stable/@glimmer/runtime/lib/helpers/concat.d.ts +0 -25
- package/types/stable/@glimmer/runtime/lib/helpers/fn.d.ts +0 -70
- package/types/stable/@glimmer/runtime/lib/helpers/get.d.ts +0 -69
- package/types/stable/@glimmer/runtime/lib/helpers/hash.d.ts +0 -36
- package/types/stable/index.d.ts +0 -14
- package/dist/dev/packages/shared-chunks/get-6I3sjd-I.js +0 -135
- package/dist/dev/packages/shared-chunks/hash-6NDs_5_f.js +0 -198
- package/dist/prod/packages/shared-chunks/get-Dago5uGl.js +0 -135
- package/dist/prod/packages/shared-chunks/hash-gEXIsSO4.js +0 -198
- package/types/stable/@ember/-internals/glimmer/lib/helpers/array.d.ts +0 -43
- package/types/stable/@ember/-internals/glimmer/lib/helpers/component.d.ts +0 -93
- package/types/stable/@ember/-internals/glimmer/lib/helpers/concat.d.ts +0 -32
- package/types/stable/@ember/-internals/glimmer/lib/helpers/fn.d.ts +0 -77
- package/types/stable/@ember/-internals/glimmer/lib/helpers/get.d.ts +0 -94
- package/types/stable/@ember/-internals/glimmer/lib/helpers/hash.d.ts +0 -46
- package/types/stable/@ember/-internals/glimmer/lib/helpers/helper.d.ts +0 -43
- package/types/stable/@ember/-internals/glimmer/lib/helpers/if-unless.d.ts +0 -228
- package/types/stable/@ember/-internals/glimmer/lib/helpers/log.d.ts +0 -19
- package/types/stable/@ember/-internals/glimmer/lib/helpers/modifier.d.ts +0 -42
- package/types/stable/@ember/-internals/glimmer/lib/helpers/page-title.d.ts +0 -24
- package/types/stable/@ember/-internals/glimmer/lib/modifiers/on.d.ts +0 -95
- package/types/stable/@ember/-internals/glimmer/lib/syntax/in-element.d.ts +0 -49
- 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
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
30
|
-
import { g as get, c as concat } from './get-
|
|
31
|
-
import { o as on } from './on-
|
|
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-
|
|
37
|
-
import { E as EvaluationContextImpl } from './program-context-
|
|
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
|
-
|
|
135
|
+
```gjs {data-filename="app/components/developer-list.gjs"}
|
|
136
|
+
import Component from '@glimmer/component';
|
|
136
137
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
138
|
+
export default class DeveloperList extends Component {
|
|
139
|
+
developers = [
|
|
140
|
+
{ name: 'Yehuda' },
|
|
141
|
+
{ name: 'Tom' },
|
|
142
|
+
{ name: 'Paul' },
|
|
143
|
+
];
|
|
140
144
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
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
|
-
|
|
152
|
-
|
|
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
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
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
|
|
164
|
-
parameter
|
|
196
|
+
During iteration, the index of each item in the array is provided as a second
|
|
197
|
+
block parameter:
|
|
165
198
|
|
|
166
|
-
```
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
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
|
-
```
|
|
193
|
-
|
|
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
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
241
|
+
export default class MappedDevelopers extends Component {
|
|
242
|
+
people = [
|
|
243
|
+
{ name: 'Yehuda' },
|
|
244
|
+
{ name: 'Tom' },
|
|
245
|
+
{ name: 'Paul' },
|
|
246
|
+
];
|
|
202
247
|
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
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
|
|
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
|
-
```
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
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
|
|
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
|
-
|
|
253
|
-
|
|
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
|
-
@
|
|
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
|
-
@
|
|
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
|
|
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
|
-
@
|
|
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,
|
|
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-
|
|
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 `
|
|
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
|