ember-source 7.1.0-alpha.2 → 7.1.0-alpha.4

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 (147) hide show
  1. package/build-metadata.json +3 -3
  2. package/dist/dev/packages/@ember/-internals/environment/index.js +10 -0
  3. package/dist/dev/packages/@ember/-internals/glimmer/index.js +7 -7
  4. package/dist/dev/packages/@ember/application/index.js +5 -5
  5. package/dist/dev/packages/@ember/application/instance.js +4 -4
  6. package/dist/dev/packages/@ember/component/helper.js +4 -4
  7. package/dist/dev/packages/@ember/component/index.js +4 -4
  8. package/dist/dev/packages/@ember/component/template-only.js +2 -2
  9. package/dist/dev/packages/@ember/debug/index.js +2 -1
  10. package/dist/dev/packages/@ember/engine/index.js +5 -5
  11. package/dist/dev/packages/@ember/helper/index.js +51 -7
  12. package/dist/dev/packages/@ember/modifier/index.js +4 -4
  13. package/dist/dev/packages/@ember/modifier/on.js +2 -2
  14. package/dist/dev/packages/@ember/renderer/index.js +4 -4
  15. package/dist/dev/packages/@ember/routing/index.js +4 -4
  16. package/dist/dev/packages/@ember/routing/route.js +1 -1
  17. package/dist/dev/packages/@ember/template/index.js +4 -4
  18. package/dist/dev/packages/@ember/template-compiler/lib/compile-options.js +9 -5
  19. package/dist/dev/packages/@ember/template-compiler/lib/plugins/auto-import-builtins.js +36 -0
  20. package/dist/dev/packages/@ember/template-compiler/lib/plugins/index.js +1 -1
  21. package/dist/dev/packages/@ember/template-compiler/lib/plugins/transform-resolutions.js +1 -1
  22. package/dist/dev/packages/@ember/template-compiler/lib/template.js +2 -2
  23. package/dist/dev/packages/@ember/template-factory/index.js +1 -1
  24. package/dist/dev/packages/@glimmer/destroyable/index.js +5 -1
  25. package/dist/dev/packages/@glimmer/manager/index.js +2 -2
  26. package/dist/dev/packages/@glimmer/node/index.js +4 -4
  27. package/dist/dev/packages/@glimmer/opcode-compiler/index.js +2 -2
  28. package/dist/dev/packages/@glimmer/program/index.js +1 -1
  29. package/dist/dev/packages/@glimmer/runtime/index.js +5 -5
  30. package/dist/dev/packages/ember/version.js +1 -1
  31. package/dist/dev/packages/ember-template-compiler/index.js +3 -3
  32. package/dist/dev/packages/shared-chunks/{api-BqXkkT0p.js → api-BQMslHhq.js} +1 -1
  33. package/dist/dev/packages/shared-chunks/{compiler-BenCxenr.js → compiler-D1leQ3Gl.js} +90 -88
  34. package/dist/dev/packages/shared-chunks/{constants-DKn6zqFX.js → constants-BbdWMvgs.js} +2 -2
  35. package/dist/dev/packages/shared-chunks/{dynamic-Cu9Xpdzc.js → dynamic-CgX8M02_.js} +7 -8
  36. package/dist/dev/packages/shared-chunks/{element-builder-Dw_Ic9cD.js → element-builder-BpJIoi99.js} +2 -2
  37. package/dist/dev/packages/shared-chunks/{index-CtPSmMCE.js → index-BUPd6pkm.js} +15 -17
  38. package/dist/dev/packages/shared-chunks/{index-AD_RxZjB.js → index-RzG0Jvjx.js} +7 -7
  39. package/dist/dev/packages/shared-chunks/{invoke-D0D6CvD5.js → neq-DujMPv1k.js} +27 -3
  40. package/dist/dev/packages/shared-chunks/{program-context-yOi1EExe.js → program-context-sJz0oHOA.js} +1 -1
  41. package/dist/dev/packages/shared-chunks/{rehydrate-builder-CfBtYUkk.js → rehydrate-builder-BRH0p0wA.js} +3 -5
  42. package/dist/dev/packages/shared-chunks/{render-t-LAXUYI.js → render-DCchifOK.js} +4 -4
  43. package/dist/dev/packages/shared-chunks/{serialize-builder-BUG9CxHC.js → serialize-builder-DiO7Ak9_.js} +3 -3
  44. package/dist/dev/packages/shared-chunks/{setup-registry-CxXWLs26.js → setup-registry-DxchCIL2.js} +6 -6
  45. package/dist/dev/packages/shared-chunks/{transform-resolutions-fXGQKGsL.js → transform-resolutions-D-YtZ0_g.js} +2 -2
  46. package/dist/prod/packages/@ember/-internals/environment/index.js +10 -0
  47. package/dist/prod/packages/@ember/-internals/glimmer/index.js +9 -9
  48. package/dist/prod/packages/@ember/-internals/metal/index.js +10 -10
  49. package/dist/prod/packages/@ember/-internals/routing/index.js +2 -2
  50. package/dist/prod/packages/@ember/-internals/runtime/lib/mixins/-proxy.js +4 -4
  51. package/dist/prod/packages/@ember/-internals/runtime/lib/mixins/action_handler.js +2 -2
  52. package/dist/prod/packages/@ember/-internals/runtime/lib/mixins/target_action_support.js +3 -3
  53. package/dist/prod/packages/@ember/-internals/views/lib/mixins/action_support.js +2 -2
  54. package/dist/prod/packages/@ember/-internals/views/lib/system/event_dispatcher.js +3 -3
  55. package/dist/prod/packages/@ember/-internals/views/lib/views/core_view.js +3 -3
  56. package/dist/prod/packages/@ember/application/index.js +8 -8
  57. package/dist/prod/packages/@ember/application/instance.js +8 -8
  58. package/dist/prod/packages/@ember/application/namespace.js +3 -3
  59. package/dist/prod/packages/@ember/array/index.js +5 -5
  60. package/dist/prod/packages/@ember/array/proxy.js +5 -5
  61. package/dist/prod/packages/@ember/component/helper.js +6 -6
  62. package/dist/prod/packages/@ember/component/index.js +6 -6
  63. package/dist/prod/packages/@ember/component/template-only.js +4 -4
  64. package/dist/prod/packages/@ember/controller/index.js +4 -4
  65. package/dist/prod/packages/@ember/debug/container-debug-adapter.js +2 -2
  66. package/dist/prod/packages/@ember/debug/data-adapter.js +2 -2
  67. package/dist/prod/packages/@ember/debug/index.js +1 -0
  68. package/dist/prod/packages/@ember/engine/index.js +9 -9
  69. package/dist/prod/packages/@ember/helper/index.js +53 -9
  70. package/dist/prod/packages/@ember/modifier/index.js +6 -6
  71. package/dist/prod/packages/@ember/modifier/on.js +4 -4
  72. package/dist/prod/packages/@ember/object/-internals.js +2 -2
  73. package/dist/prod/packages/@ember/object/compat.js +2 -2
  74. package/dist/prod/packages/@ember/object/computed.js +4 -4
  75. package/dist/prod/packages/@ember/object/core.js +2 -2
  76. package/dist/prod/packages/@ember/object/evented.js +3 -3
  77. package/dist/prod/packages/@ember/object/events.js +2 -2
  78. package/dist/prod/packages/@ember/object/index.js +6 -6
  79. package/dist/prod/packages/@ember/object/internals.js +2 -2
  80. package/dist/prod/packages/@ember/object/lib/computed/computed_macros.js +5 -5
  81. package/dist/prod/packages/@ember/object/lib/computed/reduce_computed_macros.js +3 -3
  82. package/dist/prod/packages/@ember/object/mixin.js +3 -3
  83. package/dist/prod/packages/@ember/object/observable.js +5 -5
  84. package/dist/prod/packages/@ember/object/observers.js +2 -2
  85. package/dist/prod/packages/@ember/object/promise-proxy-mixin.js +4 -4
  86. package/dist/prod/packages/@ember/renderer/index.js +6 -6
  87. package/dist/prod/packages/@ember/routing/index.js +6 -6
  88. package/dist/prod/packages/@ember/routing/lib/generate_controller.js +2 -2
  89. package/dist/prod/packages/@ember/routing/lib/routing-service.js +2 -2
  90. package/dist/prod/packages/@ember/routing/lib/utils.js +2 -2
  91. package/dist/prod/packages/@ember/routing/route.js +6 -6
  92. package/dist/prod/packages/@ember/routing/router-service.js +2 -2
  93. package/dist/prod/packages/@ember/routing/router.js +4 -4
  94. package/dist/prod/packages/@ember/runloop/index.js +2 -2
  95. package/dist/prod/packages/@ember/service/index.js +3 -3
  96. package/dist/prod/packages/@ember/template/index.js +6 -6
  97. package/dist/prod/packages/@ember/template-compiler/lib/compile-options.js +11 -7
  98. package/dist/prod/packages/@ember/template-compiler/lib/plugins/auto-import-builtins.js +36 -0
  99. package/dist/prod/packages/@ember/template-compiler/lib/plugins/index.js +1 -1
  100. package/dist/prod/packages/@ember/template-compiler/lib/plugins/transform-resolutions.js +1 -1
  101. package/dist/prod/packages/@ember/template-compiler/lib/template.js +4 -4
  102. package/dist/prod/packages/@ember/template-factory/index.js +3 -3
  103. package/dist/prod/packages/@ember/utils/lib/is_empty.js +2 -2
  104. package/dist/prod/packages/@glimmer/destroyable/index.js +5 -1
  105. package/dist/prod/packages/@glimmer/manager/index.js +4 -4
  106. package/dist/prod/packages/@glimmer/node/index.js +6 -6
  107. package/dist/prod/packages/@glimmer/opcode-compiler/index.js +3 -3
  108. package/dist/prod/packages/@glimmer/program/index.js +1 -1
  109. package/dist/prod/packages/@glimmer/runtime/index.js +6 -6
  110. package/dist/prod/packages/@glimmer/tracking/index.js +3 -3
  111. package/dist/prod/packages/@glimmer/tracking/primitives/cache/index.js +2 -2
  112. package/dist/prod/packages/ember/version.js +1 -1
  113. package/dist/prod/packages/ember-template-compiler/index.js +4 -4
  114. package/dist/prod/packages/shared-chunks/{alias-BkT-0B1G.js → alias-BLBQkche.js} +3 -3
  115. package/dist/prod/packages/shared-chunks/{api-Co-k4HVs.js → api-B5UrgITK.js} +2 -2
  116. package/dist/prod/packages/shared-chunks/{array-EwekEvId.js → array-kVQfzrQn.js} +2 -2
  117. package/dist/prod/packages/shared-chunks/{capabilities-DGmQ_mz4.js → capabilities-DXA-L0iT.js} +1 -1
  118. package/dist/prod/packages/shared-chunks/{compiler-Rwrmj1ki.js → compiler-Bbki2GT_.js} +53 -92
  119. package/dist/prod/packages/shared-chunks/{constants-CB3pk7dH.js → constants-DThhT5fu.js} +4 -4
  120. package/dist/prod/packages/shared-chunks/{element-builder-DbktcGKV.js → element-builder-CzXb9l1W.js} +2 -4
  121. package/dist/prod/packages/shared-chunks/{fragment-EpVz5Xuc.js → fragment-D7nBU9ae.js} +16 -1
  122. package/dist/prod/packages/shared-chunks/{index-nW__r2nX.js → index-CjaDF9kC.js} +2 -10
  123. package/dist/prod/packages/shared-chunks/{index-BVy-auLZ.js → index-r-Dz_hzt.js} +13 -13
  124. package/dist/prod/packages/shared-chunks/{injected_property-DL3vQoFA.js → injected_property-CTVs5FPh.js} +1 -1
  125. package/dist/prod/packages/shared-chunks/{namespace_search-Aog9nySA.js → namespace_search-Dcdalhj6.js} +1 -1
  126. package/dist/prod/packages/shared-chunks/{invoke-BuwCkcVB.js → neq-BqdovTuC.js} +22 -4
  127. package/dist/prod/packages/shared-chunks/{observers-R1ZklwWy.js → observers-tZ2aOzr4.js} +1 -1
  128. package/dist/prod/packages/shared-chunks/{on-ByzWKBWe.js → on-CersD7PL.js} +4 -11
  129. package/dist/prod/packages/shared-chunks/{program-context-BdUXf-jj.js → program-context-DFiwaPMR.js} +2 -2
  130. package/dist/prod/packages/shared-chunks/{property_set-O080KTKZ.js → property_set-B2sZxeCw.js} +2 -2
  131. package/dist/prod/packages/shared-chunks/{rehydrate-builder-M_dh82nR.js → rehydrate-builder-D3t52iGR.js} +3 -7
  132. package/dist/prod/packages/shared-chunks/{render-DJ-BzvgU.js → render-D78XHdek.js} +4 -6
  133. package/dist/prod/packages/shared-chunks/{serialize-builder-BpVMgrCr.js → serialize-builder-iXiRs1Pg.js} +5 -5
  134. package/dist/prod/packages/shared-chunks/{set_properties-CjsDTRey.js → set_properties-C1T46IiN.js} +3 -3
  135. package/dist/prod/packages/shared-chunks/{setup-registry-KYxkFexK.js → setup-registry-Cs-7NIJU.js} +8 -8
  136. package/dist/prod/packages/shared-chunks/{tracked-ChVNBE2f.js → tracked-Cl5l4v8b.js} +1 -1
  137. package/dist/prod/packages/shared-chunks/{transform-resolutions-C7wq_Q_c.js → transform-resolutions-DR4GLmR2.js} +0 -3
  138. package/docs/data.json +316 -173
  139. package/package.json +3 -1
  140. package/types/stable/@ember/-internals/environment/lib/env.d.ts +11 -0
  141. package/types/stable/@ember/helper/index.d.ts +48 -0
  142. package/types/stable/@glimmer/runtime/index.d.ts +2 -0
  143. package/types/stable/@glimmer/runtime/lib/helpers/eq.d.ts +8 -0
  144. package/types/stable/@glimmer/runtime/lib/helpers/neq.d.ts +8 -0
  145. package/types/stable/@glimmer/syntax/lib/source/source.d.ts +2 -1
  146. package/types/stable/index.d.ts +2 -0
  147. package/dist/prod/packages/shared-chunks/assert-CUCJBR2C.js +0 -19
package/docs/data.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "name": "The Ember API",
4
4
  "description": "The Ember API: a framework for building ambitious web applications",
5
5
  "url": "https://emberjs.com/",
6
- "version": "7.1.0-alpha.2"
6
+ "version": "7.1.0-alpha.4"
7
7
  },
8
8
  "files": {
9
9
  "node_modules/rsvp/lib/rsvp/promise/all.js": {
@@ -2148,6 +2148,13 @@
2148
2148
  "fors": {},
2149
2149
  "namespaces": {}
2150
2150
  },
2151
+ "packages/@glimmer/runtime/lib/helpers/eq.ts": {
2152
+ "name": "packages/@glimmer/runtime/lib/helpers/eq.ts",
2153
+ "modules": {},
2154
+ "classes": {},
2155
+ "fors": {},
2156
+ "namespaces": {}
2157
+ },
2151
2158
  "packages/@glimmer/runtime/lib/helpers/fn.ts": {
2152
2159
  "name": "packages/@glimmer/runtime/lib/helpers/fn.ts",
2153
2160
  "modules": {},
@@ -2169,6 +2176,13 @@
2169
2176
  "fors": {},
2170
2177
  "namespaces": {}
2171
2178
  },
2179
+ "packages/@glimmer/runtime/lib/helpers/neq.ts": {
2180
+ "name": "packages/@glimmer/runtime/lib/helpers/neq.ts",
2181
+ "modules": {},
2182
+ "classes": {},
2183
+ "fors": {},
2184
+ "namespaces": {}
2185
+ },
2172
2186
  "packages/@glimmer/runtime/lib/modifiers/on.ts": {
2173
2187
  "name": "packages/@glimmer/runtime/lib/modifiers/on.ts",
2174
2188
  "modules": {},
@@ -2939,7 +2953,7 @@
2939
2953
  "namespaces": {},
2940
2954
  "tag": "module",
2941
2955
  "file": "packages/@ember/debug/index.ts",
2942
- "line": 142,
2956
+ "line": 143,
2943
2957
  "access": "public",
2944
2958
  "tagname": ""
2945
2959
  },
@@ -6337,7 +6351,20 @@
6337
6351
  },
6338
6352
  {
6339
6353
  "file": "packages/@ember/-internals/environment/lib/env.ts",
6340
- "line": 63,
6354
+ "line": 59,
6355
+ "description": "The `LOG_INSPECTOR_HINT` property, when true, tells Ember to log a hint\nsuggesting the Ember Inspector browser extension when it is not detected.",
6356
+ "itemtype": "property",
6357
+ "name": "LOG_INSPECTOR_HINT",
6358
+ "type": "Boolean",
6359
+ "default": "true",
6360
+ "access": "public",
6361
+ "tagname": "",
6362
+ "class": "EmberENV",
6363
+ "module": "rsvp"
6364
+ },
6365
+ {
6366
+ "file": "packages/@ember/-internals/environment/lib/env.ts",
6367
+ "line": 75,
6341
6368
  "description": "Whether to perform extra bookkeeping needed to make the `captureRenderTree`\nAPI work.\n\nThis has to be set before the ember JavaScript code is evaluated. This is\nusually done by setting `window.EmberENV = { _DEBUG_RENDER_TREE: true };`\nbefore the \"vendor\" `<script>` tag in `index.html`.\n\nSetting the flag after Ember is already loaded will not work correctly. It\nmay appear to work somewhat, but fundamentally broken.\n\nThis is not intended to be set directly. Ember Inspector will enable the\nflag on behalf of the user as needed.\n\nThis flag is always on in development mode.\n\nThe flag is off by default in production mode, due to the cost associated\nwith the the bookkeeping work.\n\nThe expected flow is that Ember Inspector will ask the user to refresh the\npage after enabling the feature. It could also offer a feature where the\nuser add some domains to the \"always on\" list. In either case, Ember\nInspector will inject the code on the page to set the flag if needed.",
6342
6369
  "itemtype": "property",
6343
6370
  "name": "_DEBUG_RENDER_TREE",
@@ -6350,7 +6377,7 @@
6350
6377
  },
6351
6378
  {
6352
6379
  "file": "packages/@ember/-internals/environment/lib/env.ts",
6353
- "line": 95,
6380
+ "line": 107,
6354
6381
  "description": "Whether to force all deprecations to be enabled. This is used internally by\nEmber to enable deprecations in tests. It is not intended to be set in\nprojects.",
6355
6382
  "itemtype": "property",
6356
6383
  "name": "_ALL_DEPRECATIONS_ENABLED",
@@ -6363,7 +6390,7 @@
6363
6390
  },
6364
6391
  {
6365
6392
  "file": "packages/@ember/-internals/environment/lib/env.ts",
6366
- "line": 108,
6393
+ "line": 120,
6367
6394
  "description": "Override the version of ember-source used to determine when deprecations \"break\".\nThis is used internally by Ember to test with deprecated features \"removed\".\nThis is never intended to be set by projects.",
6368
6395
  "itemtype": "property",
6369
6396
  "name": "_OVERRIDE_DEPRECATION_VERSION",
@@ -6376,7 +6403,7 @@
6376
6403
  },
6377
6404
  {
6378
6405
  "file": "packages/@ember/-internals/environment/lib/env.ts",
6379
- "line": 120,
6406
+ "line": 132,
6380
6407
  "description": "Whether the app defaults to using async observers.\n\nThis is not intended to be set directly, as the implementation may change in\nthe future. Use `@ember/optional-features` instead.",
6381
6408
  "itemtype": "property",
6382
6409
  "name": "_DEFAULT_ASYNC_OBSERVERS",
@@ -6389,7 +6416,7 @@
6389
6416
  },
6390
6417
  {
6391
6418
  "file": "packages/@ember/-internals/environment/lib/env.ts",
6392
- "line": 134,
6419
+ "line": 146,
6393
6420
  "description": "Controls the maximum number of scheduled rerenders without \"settling\". In general,\napplications should not need to modify this environment variable, but please\nopen an issue so that we can determine if a better default value is needed.",
6394
6421
  "itemtype": "property",
6395
6422
  "name": "_RERENDER_LOOP_LIMIT",
@@ -13297,7 +13324,7 @@
13297
13324
  },
13298
13325
  {
13299
13326
  "file": "packages/@ember/debug/index.ts",
13300
- "line": 147,
13327
+ "line": 148,
13301
13328
  "description": "Display a debug notice.\n\nCalls to this function are not invoked in production builds.\n\n```javascript\nimport { debug } from '@ember/debug';\n\ndebug('I\\'m a debug notice!');\n```",
13302
13329
  "itemtype": "method",
13303
13330
  "name": "debug",
@@ -13316,7 +13343,7 @@
13316
13343
  },
13317
13344
  {
13318
13345
  "file": "packages/@ember/debug/index.ts",
13319
- "line": 168,
13346
+ "line": 169,
13320
13347
  "description": "Display an info notice.\n\nCalls to this function are removed from production builds, so they can be\nfreely added for documentation and debugging purposes without worries of\nincuring any performance penalty.",
13321
13348
  "itemtype": "method",
13322
13349
  "name": "info",
@@ -13327,7 +13354,7 @@
13327
13354
  },
13328
13355
  {
13329
13356
  "file": "packages/@ember/debug/index.ts",
13330
- "line": 187,
13357
+ "line": 188,
13331
13358
  "description": "Alias an old, deprecated method with its new counterpart.\n\nDisplay a deprecation warning with the provided message and a stack trace\n(Chrome and Firefox only) when the assigned method is called.\n\nCalls to this function are removed from production builds, so they can be\nfreely added for documentation and debugging purposes without worries of\nincuring any performance penalty.\n\n```javascript\nimport { deprecateFunc } from '@ember/debug';\n\noldMethod = deprecateFunc('Please use the new, updated method', options, newMethod);\n```",
13332
13359
  "itemtype": "method",
13333
13360
  "name": "deprecateFunc",
@@ -13361,7 +13388,7 @@
13361
13388
  },
13362
13389
  {
13363
13390
  "file": "packages/@ember/debug/index.ts",
13364
- "line": 232,
13391
+ "line": 233,
13365
13392
  "description": "Run a function meant for debugging.\n\nCalls to this function are removed from production builds, so they can be\nfreely added for documentation and debugging purposes without worries of\nincuring any performance penalty.\n\n```javascript\nimport Component from '@ember/component';\nimport { runInDebug } from '@ember/debug';\n\nrunInDebug(() => {\n Component.reopen({\n didInsertElement() {\n console.log(\"I'm happy\");\n }\n });\n});\n```",
13366
13393
  "itemtype": "method",
13367
13394
  "name": "runInDebug",
@@ -13909,7 +13936,7 @@
13909
13936
  },
13910
13937
  {
13911
13938
  "file": "packages/@ember/helper/index.ts",
13912
- "line": 17,
13939
+ "line": 19,
13913
13940
  "description": "`capabilities` returns a capabilities configuration which can be used to modify\nthe behavior of the manager. Manager capabilities _must_ be provided using the\n`capabilities` function, as the underlying implementation can change over time.\n\nThe first argument to capabilities is a version string, which is the version of\nEmber that the capabilities were defined in. Ember can add new versions at any\ntime, and these may have entirely different behaviors, but it will not remove\nold versions until the next major version.\n\n```js\ncapabilities('3.23');\n```\n\nThe second argument is an object of capabilities and boolean values indicating\nwhether they are enabled or disabled.\n\n```js\ncapabilities('3.23', {\n hasValue: true,\n hasDestructor: true,\n});\n```\n\nIf no value is specified, then the default value will be used.\n\n### `3.23` capabilities\n\n#### `hasDestroyable`\n\n- Default value: false\n\nDetermines if the helper has a destroyable to include in the destructor\nhierarchy. If enabled, the `getDestroyable` hook will be called, and its result\nwill be associated with the destroyable parent block.\n\n#### `hasValue`\n\n- Default value: false\n\nDetermines if the helper has a value which can be used externally. The helper's\n`getValue` hook will be run whenever the value of the helper is accessed if this\ncapability is enabled.",
13914
13941
  "itemtype": "method",
13915
13942
  "name": "capabilities",
@@ -13936,7 +13963,7 @@
13936
13963
  },
13937
13964
  {
13938
13965
  "file": "packages/@ember/helper/index.ts",
13939
- "line": 71,
13966
+ "line": 73,
13940
13967
  "description": "Sets the helper manager for an object or function.\n\n```js\nsetHelperManager((owner) => new ClassHelperManager(owner), Helper)\n```\n\nWhen a value is used as a helper in a template, the helper manager is looked up\non the object by walking up its prototype chain and finding the first helper\nmanager. This manager then receives the value and can create and manage an\ninstance of a helper from it. This provides a layer of indirection that allows\nusers to design high-level helper APIs, without Ember needing to worry about the\ndetails. High-level APIs can be experimented with and iterated on while the\ncore of Ember helpers remains stable, and new APIs can be introduced gradually\nover time to existing code bases.\n\n`setHelperManager` receives two arguments:\n\n1. A factory function, which receives the `owner` and returns an instance of a\n helper manager.\n2. A helper definition, which is the object or function to associate the factory function with.\n\nThe first time the object is looked up, the factory function will be called to\ncreate the helper manager. It will be cached, and in subsequent lookups the\ncached helper manager will be used instead.\n\nOnly one helper manager is guaranteed to exist per `owner` and per usage of\n`setHelperManager`, so many helpers will end up using the same instance of the\nhelper manager. As such, you should only store state that is related to the\nmanager itself. If you want to store state specific to a particular helper\ndefinition, you should assign a unique helper manager to that helper. In\ngeneral, most managers should either be stateless, or only have the `owner` they\nwere created with as state.\n\nHelper managers must fulfill the following interface (This example uses\n[TypeScript interfaces](https://www.typescriptlang.org/docs/handbook/interfaces.html)\nfor precision, you do not need to write helper managers using TypeScript):\n\n```ts\ninterface HelperManager<HelperStateBucket> {\n capabilities: HelperCapabilities;\n\n createHelper(definition: HelperDefinition, args: TemplateArgs): HelperStateBucket;\n\n getValue?(bucket: HelperStateBucket): unknown;\n\n runEffect?(bucket: HelperStateBucket): void;\n\n getDestroyable?(bucket: HelperStateBucket): object;\n}\n```\n\nThe capabilities property _must_ be provided using the `capabilities()` function\nimported from the same module as `setHelperManager`:\n\n```js\nimport { capabilities } from '@ember/helper';\n\nclass MyHelperManager {\n capabilities = capabilities('3.21.0', { hasValue: true });\n\n // ...snip...\n}\n```\n\nBelow is a description of each of the methods on the interface and their\nfunctions.\n\n#### `createHelper`\n\n`createHelper` is a required hook on the HelperManager interface. The hook is\npassed the definition of the helper that is currently being created, and is\nexpected to return a _state bucket_. This state bucket is what represents the\ncurrent state of the helper, and will be passed to the other lifecycle hooks at\nappropriate times. It is not necessarily related to the definition of the\nhelper itself - for instance, you could return an object _containing_ an\ninstance of the helper:\n\n```js\nclass MyManager {\n createHelper(Definition, args) {\n return {\n instance: new Definition(args);\n };\n }\n}\n```\n\nThis allows the manager to store metadata that it doesn't want to expose to the\nuser.\n\nThis hook is _not_ autotracked - changes to tracked values used within this hook\nwill _not_ result in a call to any of the other lifecycle hooks. This is because\nit is unclear what should happen if it invalidates, and rather than make a\ndecision at this point, the initial API is aiming to allow as much expressivity\nas possible. This could change in the future with changes to capabilities and\ntheir behaviors.\n\nIf users do want to autotrack some values used during construction, they can\neither create the instance of the helper in `runEffect` or `getValue`, or they\ncan use the `cache` API to autotrack the `createHelper` hook themselves. This\nprovides maximum flexibility and expressiveness to manager authors.\n\nThis hook has the following timing semantics:\n\n**Always**\n- called as discovered during DOM construction\n- called in definition order in the template\n\n#### `getValue`\n\n`getValue` is an optional hook that should return the value of the helper. This\nis the value that is returned from the helper and passed into the template.\n\nThis hook is called when the value is requested from the helper (e.g. when the\ntemplate is rendering and the helper value is needed). The hook is autotracked,\nand will rerun whenever any tracked values used inside of it are updated.\nOtherwise it does not rerun.\n\n> Note: This means that arguments which are not _consumed_ within the hook will\n> not trigger updates.\n\nThis hook is only called for helpers with the `hasValue` capability enabled.\nThis hook has the following timing semantics:\n\n**Always**\n- called the first time the helper value is requested\n- called after autotracked state has changed\n\n**Never**\n- called if the `hasValue` capability is disabled\n\n#### `runEffect`\n\n`runEffect` is an optional hook that should run the effect that the helper is\napplying, setting it up or updating it.\n\nThis hook is scheduled to be called some time after render and prior to paint.\nThere is not a guaranteed, 1-to-1 relationship between a render pass and this\nhook firing. For instance, multiple render passes could occur, and the hook may\nonly trigger once. It may also never trigger if it was dirtied in one render\npass and then destroyed in the next.\n\nThe hook is autotracked, and will rerun whenever any tracked values used inside\nof it are updated. Otherwise it does not rerun.\n\nThe hook is also run during a time period where state mutations are _disabled_\nin Ember. Any tracked state mutation will throw an error during this time,\nincluding changes to tracked properties, changes made using `set`, updates\nto computed properties, etc. This is meant to prevent infinite rerenders and\nother antipatterns.\n\nThis hook is only called for helpers with the `hasScheduledEffect` capability\nenabled. This hook is also not called in SSR currently, though this could be\nadded as a capability in the future. It has the following timing semantics:\n\n**Always**\n- called after the helper was first created, if the helper has not been\n destroyed since creation\n- called after autotracked state has changed, if the helper has not been\n destroyed during render\n\n**Never**\n- called if the `hasScheduledEffect` capability is disabled\n- called in SSR\n\n#### `getDestroyable`\n\n`getDestroyable` is an optional hook that users can use to register a\ndestroyable object for the helper. This destroyable will be registered to the\ncontaining block or template parent, and will be destroyed when it is destroyed.\nSee the [Destroyables RFC](https://github.com/emberjs/rfcs/blob/master/text/0580-destroyables.md)\nfor more details.\n\n`getDestroyable` is only called if the `hasDestroyable` capability is enabled.\n\nThis hook has the following timing semantics:\n\n**Always**\n- called immediately after the `createHelper` hook is called\n\n**Never**\n- called if the `hasDestroyable` capability is disabled",
13941
13968
  "itemtype": "method",
13942
13969
  "name": "setHelperManager",
@@ -13964,7 +13991,7 @@
13964
13991
  },
13965
13992
  {
13966
13993
  "file": "packages/@ember/helper/index.ts",
13967
- "line": 265,
13994
+ "line": 267,
13968
13995
  "description": "The `invokeHelper` function can be used to create a helper instance in\nJavaScript.\n\nTo access a helper's value you have to use `getValue` from\n`@glimmer/tracking/primitives/cache`.\n\n```js\n// app/components/data-loader.js\nimport Component from '@glimmer/component';\nimport { getValue } from '@glimmer/tracking/primitives/cache';\nimport Helper from '@ember/component/helper';\nimport { invokeHelper } from '@ember/helper';\n\nclass PlusOne extends Helper {\n compute([number]) {\n return number + 1;\n }\n}\n\nexport default class PlusOneComponent extends Component {\n plusOne = invokeHelper(this, PlusOne, () => {\n return {\n positional: [this.args.number],\n };\n });\n\n get value() {\n return getValue(this.plusOne);\n }\n}\n```\n```js\n{{this.value}}\n```\n\nIt receives three arguments:\n\n* `context`: The parent context of the helper. When the parent is torn down and\n removed, the helper will be as well.\n* `definition`: The definition of the helper.\n* `computeArgs`: An optional function that produces the arguments to the helper.\n The function receives the parent context as an argument, and must return an\n object with a `positional` property that is an array and/or a `named`\n property that is an object.\n\nAnd it returns a Cache instance that contains the most recent value of the\nhelper. You can access the helper using `getValue()` like any other cache. The\ncache is also destroyable, and using the `destroy()` function on it will cause\nthe helper to be torn down.\n\nNote that using `getValue()` on helpers that have scheduled effects will not\ntrigger the effect early. Effects will continue to run at their scheduled time.",
13969
13996
  "itemtype": "method",
13970
13997
  "name": "invokeHelper",
@@ -13996,53 +14023,107 @@
13996
14023
  },
13997
14024
  {
13998
14025
  "file": "packages/@ember/helper/index.ts",
13999
- "line": 337,
14026
+ "line": 339,
14000
14027
  "description": "Using the `{{hash}}` helper, you can pass objects directly from the template\nas an argument to your components.\n\n```\nimport { hash } from '@ember/helper';\n\n<template>\n {{#each-in (hash givenName='Jen' familyName='Weber') as |key value|}}\n <p>{{key}}: {{value}}</p>\n {{/each-in}}\n</template>\n```\n\n**NOTE:** this example uses the experimental `<template>` feature, which is\nthe only place you need to import `hash` to use it (it is a built-in when\nwriting standalone `.hbs` files).",
14001
14028
  "class": "@ember/helper",
14002
14029
  "module": "@ember/helper"
14003
14030
  },
14004
14031
  {
14005
14032
  "file": "packages/@ember/helper/index.ts",
14006
- "line": 358,
14033
+ "line": 360,
14007
14034
  "description": "Using the `{{array}}` helper, you can pass arrays directly from the template\nas an argument to your components.\n\n```js\nimport { array } from '@ember/helper';\n\n<template>\n <ul>\n {{#each (array 'Tom Dale' 'Yehuda Katz' @anotherPerson) as |person|}}\n <li>{{person}}</li>\n {{/each}}\n </ul>\n</template>\n\n**NOTE:** this example uses the experimental `<template>` feature, which is\nthe only place you need to import `array` to use it (it is a built-in when\nwriting standalone `.hbs` files).\n```",
14008
14035
  "class": "@ember/helper",
14009
14036
  "module": "@ember/helper"
14010
14037
  },
14011
14038
  {
14012
14039
  "file": "packages/@ember/helper/index.ts",
14013
- "line": 381,
14040
+ "line": 383,
14014
14041
  "description": "The `{{concat}}` helper makes it easy to dynamically send a number of\nparameters to a component or helper as a single parameter in the format of a\nconcatenated string.\n\nFor example:\n\n```js\nimport { concat } from '@ember/helper';\n\n<template>\n {{get @foo (concat \"item\" @index)}}\n</template>\n```\n\nThis will display the result of `@foo.item1` when `index` is `1`, and\n`this.foo.item2` when `index` is `2`, etc.\n\n**NOTE:** this example uses the experimental `<template>` feature, which is\nthe only place you need to import `concat` to use it (it is a built-in when\nwriting standalone `.hbs` files).",
14015
14042
  "class": "@ember/helper",
14016
14043
  "module": "@ember/helper"
14017
14044
  },
14018
14045
  {
14019
14046
  "file": "packages/@ember/helper/index.ts",
14020
- "line": 406,
14047
+ "line": 408,
14021
14048
  "description": "The `{{get}}` helper makes it easy to dynamically look up a property on an\nobject or an element in an array. The second argument to `{{get}}` can be a\nstring or a number, depending on the object being accessed.\n\nTo access a property on an object with a string key:\n\n```js\nimport { get } from '@ember/helper';\n\n<template>\n {{get @someObject \"objectKey\"}}\n</template>\n```\n\nTo access the first element in an array:\n\n```js\nimport { get } from '@ember/helper';\n\n<template>\n {{get @someArray 0}}\n</template>\n```\n\nTo access a property on an object with a dynamic key:\n\n```js\nimport { get } from '@ember/helper';\n\n<template>\n {{get @address @field}}\n</template>\n```\n\nThis will display the result of `@foo.item1` when `index` is `1`, and\n`this.foo.item2` when `index` is `2`, etc.\n\n**NOTE:** this example uses the experimental `<template>` feature, which is\nthe only place you need to import `concat` to use it (it is a built-in when\nwriting standalone `.hbs` files).",
14022
14049
  "class": "@ember/helper",
14023
14050
  "module": "@ember/helper"
14024
14051
  },
14025
14052
  {
14026
14053
  "file": "packages/@ember/helper/index.ts",
14027
- "line": 451,
14054
+ "line": 453,
14028
14055
  "description": "`{{fn}}` is a helper that receives a function and some arguments, and returns\na new function that combines. This allows you to pass parameters along to\nfunctions in your templates:\n\n```js\nimport { fn } from '@ember/helper';\n\nfunction showAlert(message) {\n alert(`The message is: '${message}'`);\n}\n\n<template>\n <button type=\"button\" {{on \"click\" (fn showAlert \"Hello!\")}}>\n Click me!\n </button>\n</template>\n```",
14029
14056
  "class": "@ember/helper",
14030
14057
  "module": "@ember/helper"
14031
14058
  },
14032
14059
  {
14033
14060
  "file": "packages/@ember/helper/index.ts",
14034
- "line": 473,
14061
+ "line": 475,
14035
14062
  "description": "The `element` helper lets you dynamically set the tag name of an element.\n\n```js\nimport { element } from '@ember/helper';\n\n<template>\n {{#let (element @tagName) as |Tag|}}\n <Tag class=\"my-element\">Hello</Tag>\n {{/let}}\n</template>\n```\n\nWhen `@tagName` is `\"h1\"`, this renders `<h1 class=\"my-element\">Hello</h1>`.\nWhen `@tagName` is an empty string, the block content is rendered without a\nwrapping element. When `@tagName` is `null` or `undefined`, nothing is rendered.",
14036
14063
  "class": "@ember/helper",
14037
14064
  "module": "@ember/helper"
14038
14065
  },
14039
14066
  {
14040
14067
  "file": "packages/@ember/helper/index.ts",
14041
- "line": 493,
14068
+ "line": 495,
14042
14069
  "description": "Use the {{uniqueId}} helper to generate a unique ID string suitable for use as\nan ID attribute in the DOM.\n\nEach invocation of {{uniqueId}} will return a new, unique ID string.\nYou can use the `let` helper to create an ID that can be reused within a template.\n\n```js\nimport { uniqueId } from '@ember/helper';\n\n<template>\n {{#let (uniqueId) as |emailId|}}\n <label for={{emailId}}>Email address</label>\n <input id={{emailId}} type=\"email\" />\n {{/let}}\n</template>\n```",
14043
14070
  "class": "@ember/helper",
14044
14071
  "module": "@ember/helper"
14045
14072
  },
14073
+ {
14074
+ "file": "packages/@ember/helper/index.ts",
14075
+ "line": 516,
14076
+ "description": "The `{{eq}}` helper returns `true` if its two arguments are strictly equal\n(`===`). Takes exactly two arguments.\n\n```js\nimport { eq } from '@ember/helper';\n\n<template>\n {{if (eq @status \"active\") \"Active\" \"Inactive\"}}\n</template>\n```\n\nIn strict-mode (gjs/gts) templates, `eq` is available as a keyword and\ndoes not need to be imported.",
14077
+ "itemtype": "method",
14078
+ "name": "eq",
14079
+ "params": [
14080
+ {
14081
+ "name": "left",
14082
+ "description": "",
14083
+ "type": "Unknown"
14084
+ },
14085
+ {
14086
+ "name": "right",
14087
+ "description": "",
14088
+ "type": "Unknown"
14089
+ }
14090
+ ],
14091
+ "return": {
14092
+ "description": "",
14093
+ "type": "Boolean"
14094
+ },
14095
+ "access": "public",
14096
+ "tagname": "",
14097
+ "class": "@ember/helper",
14098
+ "module": "@ember/helper"
14099
+ },
14100
+ {
14101
+ "file": "packages/@ember/helper/index.ts",
14102
+ "line": 540,
14103
+ "description": "The `{{neq}}` helper returns `true` if its two arguments are strictly\nnot equal (`!==`). Takes exactly two arguments.\n\n```js\nimport { neq } from '@ember/helper';\n\n<template>\n {{if (neq @status \"active\") \"Not active\" \"Active\"}}\n</template>\n```\n\nIn strict-mode (gjs/gts) templates, `neq` is available as a keyword and\ndoes not need to be imported.",
14104
+ "itemtype": "method",
14105
+ "name": "neq",
14106
+ "params": [
14107
+ {
14108
+ "name": "left",
14109
+ "description": "",
14110
+ "type": "Unknown"
14111
+ },
14112
+ {
14113
+ "name": "right",
14114
+ "description": "",
14115
+ "type": "Unknown"
14116
+ }
14117
+ ],
14118
+ "return": {
14119
+ "description": "",
14120
+ "type": "Boolean"
14121
+ },
14122
+ "access": "public",
14123
+ "tagname": "",
14124
+ "class": "@ember/helper",
14125
+ "module": "@ember/helper"
14126
+ },
14046
14127
  {
14047
14128
  "file": "packages/@ember/instrumentation/index.ts",
14048
14129
  "line": 107,
@@ -21478,28 +21559,28 @@
21478
21559
  },
21479
21560
  {
21480
21561
  "file": "packages/@glimmer/opcode-compiler/lib/opcode-builder/helpers/resolution.ts",
21481
- "line": 145,
21562
+ "line": 142,
21482
21563
  "description": "(helper)\n(helper arg)",
21483
21564
  "class": "@glimmer/tracking",
21484
21565
  "module": "@glimmer/component"
21485
21566
  },
21486
21567
  {
21487
21568
  "file": "packages/@glimmer/opcode-compiler/lib/opcode-builder/helpers/resolution.ts",
21488
- "line": 195,
21569
+ "line": 189,
21489
21570
  "description": "<div {{modifier}}/>\n<div {{modifier arg}}/>\n<Foo {{modifier}}/>",
21490
21571
  "class": "@glimmer/tracking",
21491
21572
  "module": "@glimmer/component"
21492
21573
  },
21493
21574
  {
21494
21575
  "file": "packages/@glimmer/opcode-compiler/lib/opcode-builder/helpers/resolution.ts",
21495
- "line": 264,
21576
+ "line": 252,
21496
21577
  "description": "{{component-or-helper arg}}",
21497
21578
  "class": "@glimmer/tracking",
21498
21579
  "module": "@glimmer/component"
21499
21580
  },
21500
21581
  {
21501
21582
  "file": "packages/@glimmer/opcode-compiler/lib/opcode-builder/helpers/resolution.ts",
21502
- "line": 360,
21583
+ "line": 342,
21503
21584
  "description": "{{maybeHelperOrComponent}}",
21504
21585
  "class": "@glimmer/tracking",
21505
21586
  "module": "@glimmer/component"
@@ -21763,6 +21844,13 @@
21763
21844
  "class": "@glimmer/tracking",
21764
21845
  "module": "@glimmer/component"
21765
21846
  },
21847
+ {
21848
+ "file": "packages/@glimmer/runtime/lib/helpers/eq.ts",
21849
+ "line": 3,
21850
+ "description": "Performs a strict equality comparison.\n\nleft === right",
21851
+ "class": "@glimmer/tracking",
21852
+ "module": "@glimmer/component"
21853
+ },
21766
21854
  {
21767
21855
  "file": "packages/@glimmer/runtime/lib/helpers/fn.ts",
21768
21856
  "line": 13,
@@ -21807,6 +21895,13 @@
21807
21895
  "class": "@glimmer/tracking",
21808
21896
  "module": "@glimmer/component"
21809
21897
  },
21898
+ {
21899
+ "file": "packages/@glimmer/runtime/lib/helpers/neq.ts",
21900
+ "line": 3,
21901
+ "description": "Performs a strict inequality comparison.\n\nleft !== right",
21902
+ "class": "@glimmer/tracking",
21903
+ "module": "@glimmer/component"
21904
+ },
21810
21905
  {
21811
21906
  "file": "packages/@glimmer/runtime/lib/modifiers/on.ts",
21812
21907
  "line": 249,
@@ -22478,161 +22573,173 @@
22478
22573
  },
22479
22574
  {
22480
22575
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22481
- "line": 6845,
22576
+ "line": 6840,
22577
+ "class": "@glimmer/tracking",
22578
+ "module": "@glimmer/component"
22579
+ },
22580
+ {
22581
+ "file": "packages/@glimmer/syntax/dist/es/index.js",
22582
+ "line": 6849,
22482
22583
  "description": "Validate that the character offset represents a position in the source string.",
22483
22584
  "class": "@glimmer/tracking",
22484
22585
  "module": "@glimmer/component"
22485
22586
  },
22486
22587
  {
22487
22588
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22488
- "line": 7820,
22589
+ "line": 6916,
22590
+ "class": "@glimmer/tracking",
22591
+ "module": "@glimmer/component"
22592
+ },
22593
+ {
22594
+ "file": "packages/@glimmer/syntax/dist/es/index.js",
22595
+ "line": 7827,
22489
22596
  "description": "The Parser Builder differentiates from the public builder API by:\n\n1. Offering fewer different ways to instantiate nodes\n2. Mandating source locations",
22490
22597
  "class": "@glimmer/tracking",
22491
22598
  "module": "@glimmer/component"
22492
22599
  },
22493
22600
  {
22494
22601
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22495
- "line": 9349,
22602
+ "line": 9356,
22496
22603
  "description": "ASTPlugins can make changes to the Glimmer template AST before\ncompilation begins.",
22497
22604
  "class": "@glimmer/tracking",
22498
22605
  "module": "@glimmer/component"
22499
22606
  },
22500
22607
  {
22501
22608
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22502
- "line": 9417,
22609
+ "line": 9424,
22503
22610
  "description": "Gets the correct Token from the Node based on it's type",
22504
22611
  "class": "@glimmer/tracking",
22505
22612
  "module": "@glimmer/component"
22506
22613
  },
22507
22614
  {
22508
22615
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22509
- "line": 9460,
22616
+ "line": 9467,
22510
22617
  "description": "Adds tokens to the tokensSet based on their node.type",
22511
22618
  "class": "@glimmer/tracking",
22512
22619
  "module": "@glimmer/component"
22513
22620
  },
22514
22621
  {
22515
22622
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22516
- "line": 9473,
22623
+ "line": 9480,
22517
22624
  "description": "Parses and traverses a given handlebars html template to extract all template locals\nreferenced that could possible come from the parent scope. Can exclude known keywords\noptionally.",
22518
22625
  "class": "@glimmer/tracking",
22519
22626
  "module": "@glimmer/component"
22520
22627
  },
22521
22628
  {
22522
22629
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22523
- "line": 9536,
22630
+ "line": 9543,
22524
22631
  "description": "This is a convenience function for creating ASTv2 nodes, with an optional name and the node's\noptions.\n\n```ts\nexport class HtmlText extends node('HtmlText').fields<{ chars: string }>() {}\n```\n\nThis creates a new ASTv2 node with the name `'HtmlText'` and one field `chars: string` (in\naddition to a `loc: SourceOffsets` field, which all nodes have).\n\n```ts\nexport class Args extends node().fields<{\n positional: PositionalArguments;\n named: NamedArguments\n}>() {}\n```\n\nThis creates a new un-named ASTv2 node with two fields (`positional: Positional` and `named:\nNamed`, in addition to the generic `loc: SourceOffsets` field).\n\nOnce you create a node using `node`, it is instantiated with all of its fields (including `loc`):\n\n```ts\nnew HtmlText({ loc: offsets, chars: someString });\n```",
22525
22632
  "class": "@glimmer/tracking",
22526
22633
  "module": "@glimmer/component"
22527
22634
  },
22528
22635
  {
22529
22636
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22530
- "line": 9596,
22637
+ "line": 9603,
22531
22638
  "description": "Corresponds to syntaxes with positional and named arguments:\n\n- SubExpression\n- Invoking Append\n- Invoking attributes\n- InvokeBlock\n\nIf `Args` is empty, the `SourceOffsets` for this node should be the collapsed position\nimmediately after the parent call node's `callee`.",
22532
22639
  "class": "@glimmer/tracking",
22533
22640
  "module": "@glimmer/component"
22534
22641
  },
22535
22642
  {
22536
22643
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22537
- "line": 9633,
22644
+ "line": 9640,
22538
22645
  "description": "Corresponds to positional arguments.\n\nIf `PositionalArguments` is empty, the `SourceOffsets` for this node should be the collapsed\nposition immediately after the parent call node's `callee`.",
22539
22646
  "class": "@glimmer/tracking",
22540
22647
  "module": "@glimmer/component"
22541
22648
  },
22542
22649
  {
22543
22650
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22544
- "line": 9657,
22651
+ "line": 9664,
22545
22652
  "description": "Corresponds to named arguments.\n\nIf `PositionalArguments` and `NamedArguments` are empty, the `SourceOffsets` for this node should\nbe the same as the `Args` node that contains this node.\n\nIf `PositionalArguments` is not empty but `NamedArguments` is empty, the `SourceOffsets` for this\nnode should be the collapsed position immediately after the last positional argument.",
22546
22653
  "class": "@glimmer/tracking",
22547
22654
  "module": "@glimmer/component"
22548
22655
  },
22549
22656
  {
22550
22657
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22551
- "line": 9685,
22658
+ "line": 9692,
22552
22659
  "description": "Corresponds to a single named argument.\n\n```hbs\nx=<expr>\n```",
22553
22660
  "class": "@glimmer/tracking",
22554
22661
  "module": "@glimmer/component"
22555
22662
  },
22556
22663
  {
22557
22664
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22558
- "line": 9703,
22665
+ "line": 9710,
22559
22666
  "description": "Attr nodes look like HTML attributes, but are classified as:\n\n1. `HtmlAttr`, which means a regular HTML attribute in Glimmer\n2. `SplatAttr`, which means `...attributes`\n3. `ComponentArg`, which means an attribute whose name begins with `@`, and it is therefore a\n component argument.",
22560
22667
  "class": "@glimmer/tracking",
22561
22668
  "module": "@glimmer/component"
22562
22669
  },
22563
22670
  {
22564
22671
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22565
- "line": 9712,
22672
+ "line": 9719,
22566
22673
  "description": "`HtmlAttr` and `SplatAttr` are grouped together because the order of the `SplatAttr` node,\nrelative to other attributes, matters.",
22567
22674
  "class": "@glimmer/tracking",
22568
22675
  "module": "@glimmer/component"
22569
22676
  },
22570
22677
  {
22571
22678
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22572
- "line": 9717,
22679
+ "line": 9724,
22573
22680
  "description": "\"Attr Block\" nodes are allowed inside an open element tag in templates. They interact with the\nelement (or component).",
22574
22681
  "class": "@glimmer/tracking",
22575
22682
  "module": "@glimmer/component"
22576
22683
  },
22577
22684
  {
22578
22685
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22579
- "line": 9722,
22686
+ "line": 9729,
22580
22687
  "description": "`HtmlAttr` nodes are valid HTML attributes, with or without a value.\n\nExceptions:\n\n- `...attributes` is `SplatAttr`\n- `@x=<value>` is `ComponentArg`",
22581
22688
  "class": "@glimmer/tracking",
22582
22689
  "module": "@glimmer/component"
22583
22690
  },
22584
22691
  {
22585
22692
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22586
- "line": 9733,
22693
+ "line": 9740,
22587
22694
  "description": "Corresponds to an argument passed by a component (`@x=<value>`)",
22588
22695
  "class": "@glimmer/tracking",
22589
22696
  "module": "@glimmer/component"
22590
22697
  },
22591
22698
  {
22592
22699
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22593
- "line": 9737,
22700
+ "line": 9744,
22594
22701
  "description": "Convert the component argument into a named argument node",
22595
22702
  "class": "@glimmer/tracking",
22596
22703
  "module": "@glimmer/component"
22597
22704
  },
22598
22705
  {
22599
22706
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22600
- "line": 9748,
22707
+ "line": 9755,
22601
22708
  "description": "An `ElementModifier` is just a normal call node in modifier position.",
22602
22709
  "class": "@glimmer/tracking",
22603
22710
  "module": "@glimmer/component"
22604
22711
  },
22605
22712
  {
22606
22713
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22607
- "line": 9753,
22714
+ "line": 9760,
22608
22715
  "description": "Content Nodes are allowed in content positions in templates. They correspond to behavior in the\n[Data][data] tokenization state in HTML.\n\n[data]: https://html.spec.whatwg.org/multipage/parsing.html#data-state",
22609
22716
  "class": "@glimmer/tracking",
22610
22717
  "module": "@glimmer/component"
22611
22718
  },
22612
22719
  {
22613
22720
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22614
- "line": 9780,
22721
+ "line": 9787,
22615
22722
  "description": "Corresponds to a component invocation. When the content of a component invocation contains no\nnamed blocks, `blocks` contains a single named block named `\"default\"`. When a component\ninvocation is self-closing, `blocks` is empty.",
22616
22723
  "class": "@glimmer/tracking",
22617
22724
  "module": "@glimmer/component"
22618
22725
  },
22619
22726
  {
22620
22727
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22621
- "line": 9794,
22728
+ "line": 9801,
22622
22729
  "description": "Corresponds to a simple HTML element. The AST allows component arguments and modifiers to support\nfuture extensions.",
22623
22730
  "class": "@glimmer/tracking",
22624
22731
  "module": "@glimmer/component"
22625
22732
  },
22626
22733
  {
22627
22734
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22628
- "line": 9808,
22735
+ "line": 9815,
22629
22736
  "description": "A Handlebars literal.\n\n{@link https://handlebarsjs.com/guide/expressions.html#literal-segments}",
22630
22737
  "class": "@glimmer/tracking",
22631
22738
  "module": "@glimmer/component"
22632
22739
  },
22633
22740
  {
22634
22741
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22635
- "line": 9814,
22742
+ "line": 9821,
22636
22743
  "description": "Corresponds to a Handlebars literal.",
22637
22744
  "see": [
22638
22745
  "{LiteralValue}"
@@ -22642,189 +22749,189 @@
22642
22749
  },
22643
22750
  {
22644
22751
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22645
- "line": 9827,
22752
+ "line": 9834,
22646
22753
  "description": "Returns true if an input {@see ExpressionNode} is a literal.",
22647
22754
  "class": "@glimmer/tracking",
22648
22755
  "module": "@glimmer/component"
22649
22756
  },
22650
22757
  {
22651
22758
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22652
- "line": 9844,
22759
+ "line": 9851,
22653
22760
  "description": "Corresponds to a path in expression position.\n\n```hbs\nthis\nthis.x\n@x\n@x.y\nx\nx.y\n```",
22654
22761
  "class": "@glimmer/tracking",
22655
22762
  "module": "@glimmer/component"
22656
22763
  },
22657
22764
  {
22658
22765
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22659
- "line": 9858,
22766
+ "line": 9865,
22660
22767
  "description": "Corresponds to a known strict-mode keyword. It behaves similarly to a\nPathExpression with a FreeVarReference, but implies StrictResolution and\nis guaranteed to not have a tail, since `{{outlet.foo}}` would have been\nillegal.",
22661
22768
  "class": "@glimmer/tracking",
22662
22769
  "module": "@glimmer/component"
22663
22770
  },
22664
22771
  {
22665
22772
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22666
- "line": 9866,
22773
+ "line": 9873,
22667
22774
  "description": "Corresponds to a parenthesized call expression.\n\n```hbs\n(x)\n(x.y)\n(x y)\n(x.y z)\n```",
22668
22775
  "class": "@glimmer/tracking",
22669
22776
  "module": "@glimmer/component"
22670
22777
  },
22671
22778
  {
22672
22779
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22673
- "line": 9878,
22780
+ "line": 9885,
22674
22781
  "description": "Corresponds to an interpolation in attribute value position.\n\n```hbs\n<a href=\"{{url}}.html\"\n```",
22675
22782
  "class": "@glimmer/tracking",
22676
22783
  "module": "@glimmer/component"
22677
22784
  },
22678
22785
  {
22679
22786
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22680
- "line": 9887,
22787
+ "line": 9894,
22681
22788
  "description": "Corresponds to an entire template.",
22682
22789
  "class": "@glimmer/tracking",
22683
22790
  "module": "@glimmer/component"
22684
22791
  },
22685
22792
  {
22686
22793
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22687
- "line": 9892,
22794
+ "line": 9899,
22688
22795
  "description": "Represents a block. In principle this could be merged with `NamedBlock`, because all cases\ninvolving blocks have at least a notional name.",
22689
22796
  "class": "@glimmer/tracking",
22690
22797
  "module": "@glimmer/component"
22691
22798
  },
22692
22799
  {
22693
22800
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22694
- "line": 9898,
22801
+ "line": 9905,
22695
22802
  "description": "Corresponds to a collection of named blocks.",
22696
22803
  "class": "@glimmer/tracking",
22697
22804
  "module": "@glimmer/component"
22698
22805
  },
22699
22806
  {
22700
22807
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22701
- "line": 9902,
22808
+ "line": 9909,
22702
22809
  "description": "Get the `NamedBlock` for a given name.",
22703
22810
  "class": "@glimmer/tracking",
22704
22811
  "module": "@glimmer/component"
22705
22812
  },
22706
22813
  {
22707
22814
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22708
- "line": 9910,
22815
+ "line": 9917,
22709
22816
  "description": "Corresponds to a single named block. This is used for anonymous named blocks (`default` and\n`else`).",
22710
22817
  "class": "@glimmer/tracking",
22711
22818
  "module": "@glimmer/component"
22712
22819
  },
22713
22820
  {
22714
22821
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22715
- "line": 9924,
22822
+ "line": 9931,
22716
22823
  "description": "Corresponds to `this` at the head of an expression.",
22717
22824
  "class": "@glimmer/tracking",
22718
22825
  "module": "@glimmer/component"
22719
22826
  },
22720
22827
  {
22721
22828
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22722
- "line": 9929,
22829
+ "line": 9936,
22723
22830
  "description": "Corresponds to `@<ident>` at the beginning of an expression.",
22724
22831
  "class": "@glimmer/tracking",
22725
22832
  "module": "@glimmer/component"
22726
22833
  },
22727
22834
  {
22728
22835
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22729
- "line": 9934,
22836
+ "line": 9941,
22730
22837
  "description": "Corresponds to `<ident>` at the beginning of an expression, when `<ident>` is in the current\nblock's scope.",
22731
22838
  "class": "@glimmer/tracking",
22732
22839
  "module": "@glimmer/component"
22733
22840
  },
22734
22841
  {
22735
22842
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22736
- "line": 9940,
22843
+ "line": 9947,
22737
22844
  "description": "Corresponds to `<ident>` at the beginning of an expression, when `<ident>` is *not* in the\ncurrent block's scope.\n\nThe `resolution: FreeVarResolution` field describes how to resolve the free variable.\n\nNote: In strict mode, it must always be a variable that is in a concrete JavaScript scope that\nthe template will be installed into.",
22738
22845
  "class": "@glimmer/tracking",
22739
22846
  "module": "@glimmer/component"
22740
22847
  },
22741
22848
  {
22742
22849
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22743
- "line": 9957,
22850
+ "line": 9964,
22744
22851
  "description": "A free variable is resolved according to a resolution rule:\n\n1. Strict resolution\n2. Namespaced resolution",
22745
22852
  "class": "@glimmer/tracking",
22746
22853
  "module": "@glimmer/component"
22747
22854
  },
22748
22855
  {
22749
22856
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22750
- "line": 9965,
22857
+ "line": 9972,
22751
22858
  "description": "Strict resolution is used:\n\n1. in a strict mode template\n2. in an local variable invocation with dot paths",
22752
22859
  "class": "@glimmer/tracking",
22753
22860
  "module": "@glimmer/component"
22754
22861
  },
22755
22862
  {
22756
22863
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22757
- "line": 9984,
22864
+ "line": 9991,
22758
22865
  "description": "A `LooseModeResolution` includes one or more namespaces to resolve the variable in\n\nIn practice, there are a limited number of possible combinations of these degrees of freedom,\nand they are captured by the `Namespaces` union below.",
22759
22866
  "class": "@glimmer/tracking",
22760
22867
  "module": "@glimmer/component"
22761
22868
  },
22762
22869
  {
22763
22870
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22764
- "line": 9991,
22871
+ "line": 9998,
22765
22872
  "description": "Namespaced resolution is used in an unambiguous syntax position:\n\n1. `(sexp)` (namespace: `Helper`)\n2. `{{#block}}` (namespace: `Component`)\n3. `<a {{modifier}}>` (namespace: `Modifier`)\n4. `<Component />` (namespace: `Component`)",
22766
22873
  "class": "@glimmer/tracking",
22767
22874
  "module": "@glimmer/component"
22768
22875
  },
22769
22876
  {
22770
22877
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22771
- "line": 10003,
22878
+ "line": 10010,
22772
22879
  "description": "Append resolution is used when the variable should be resolved in both the `component` and\n`helper` namespaces.\n\n```hbs\n{{x}}\n```\n\n```hbs\n{{x y}}\n```\n\n^ In either case, `x` should be resolved in the `component` and `helper` namespaces.",
22773
22880
  "class": "@glimmer/tracking",
22774
22881
  "module": "@glimmer/component"
22775
22882
  },
22776
22883
  {
22777
22884
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22778
- "line": 10021,
22885
+ "line": 10028,
22779
22886
  "description": "Trusting append resolution is used when the variable should be resolved only in the\n`helper` namespaces.\n\n```hbs\n{{{x}}}\n```\n\n```hbs\n{{{x y}}}\n```\n\n^ In either case, `x` should be resolved in the `helper` namespace.",
22780
22887
  "class": "@glimmer/tracking",
22781
22888
  "module": "@glimmer/component"
22782
22889
  },
22783
22890
  {
22784
22891
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22785
- "line": 10068,
22892
+ "line": 10075,
22786
22893
  "description": "A `Namespaced` must be resolved in one or more namespaces.\n\n```hbs\n<X />\n```\n\n^ `X` is resolved in the `component` namespace\n\n```hbs\n(x)\n```\n\n^ `x` is resolved in the `helper` namespace\n\n```hbs\n<a {{x}} />\n```\n\n^ `x` is resolved in the `modifier` namespace",
22787
22894
  "class": "@glimmer/tracking",
22788
22895
  "module": "@glimmer/component"
22789
22896
  },
22790
22897
  {
22791
22898
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22792
- "line": 10619,
22899
+ "line": 10626,
22793
22900
  "description": "This corresponds to attribute curlies (<Foo bar={{...}}>).\nIn strict mode, this also corresponds to arg curlies.",
22794
22901
  "class": "@glimmer/tracking",
22795
22902
  "module": "@glimmer/component"
22796
22903
  },
22797
22904
  {
22798
22905
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22799
- "line": 10631,
22906
+ "line": 10638,
22800
22907
  "description": "This corresponds to append positions text curlies.",
22801
22908
  "class": "@glimmer/tracking",
22802
22909
  "module": "@glimmer/component"
22803
22910
  },
22804
22911
  {
22805
22912
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22806
- "line": 10645,
22913
+ "line": 10652,
22807
22914
  "description": "A call node has a simple callee if its head is:\n\n- a `PathExpression`\n- the `PathExpression`'s head is a `VarHead`\n- it has no tail\n\nSimple heads:\n\n```\n{{x}}\n{{x y}}\n```\n\nNot simple heads:\n\n```\n{{x.y}}\n{{x.y z}}\n{{@x}}\n{{@x a}}\n{{this}}\n{{this a}}\n```",
22808
22915
  "class": "@glimmer/tracking",
22809
22916
  "module": "@glimmer/component"
22810
22917
  },
22811
22918
  {
22812
22919
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22813
- "line": 10702,
22920
+ "line": 10709,
22814
22921
  "description": "A `BlockContext` represents the block that a particular AST node is contained inside of.\n\n`BlockContext` is aware of template-wide options (such as strict mode), as well as the bindings\nthat are in-scope within that block.\n\nConcretely, it has the `PrecompileOptions` and current `SymbolTable`, and provides\nfacilities for working with those options.\n\n`BlockContext` is stateless.",
22815
22922
  "class": "@glimmer/tracking",
22816
22923
  "module": "@glimmer/component"
22817
22924
  },
22818
22925
  {
22819
22926
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22820
- "line": 10784,
22927
+ "line": 10791,
22821
22928
  "description": "An `ExpressionNormalizer` normalizes expressions within a block.\n\n`ExpressionNormalizer` is stateless.",
22822
22929
  "class": "@glimmer/tracking",
22823
22930
  "module": "@glimmer/component"
22824
22931
  },
22825
22932
  {
22826
22933
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22827
- "line": 10794,
22934
+ "line": 10801,
22828
22935
  "description": "The `normalize` method takes an arbitrary expression and its original syntax context and\nnormalizes it to an ASTv2 expression.",
22829
22936
  "see": [
22830
22937
  "{SyntaxContext}"
@@ -22834,63 +22941,63 @@
22834
22941
  },
22835
22942
  {
22836
22943
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22837
- "line": 10848,
22944
+ "line": 10855,
22838
22945
  "description": "The `callParts` method takes ASTv1.CallParts as well as a syntax context and normalizes\nit to an ASTv2 CallParts.",
22839
22946
  "class": "@glimmer/tracking",
22840
22947
  "module": "@glimmer/component"
22841
22948
  },
22842
22949
  {
22843
22950
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22844
- "line": 10890,
22951
+ "line": 10897,
22845
22952
  "description": "The `ref` method normalizes an `ASTv1.PathHead` into an `ASTv2.VariableReference`.\nThis method is extremely important, because it is responsible for normalizing free\nvariables into an an ASTv2.PathHead *with appropriate context*.\n\nThe syntax context is originally determined by the syntactic position that this `PathHead`\ncame from, and is ultimately attached to the `ASTv2.VariableReference` here. In ASTv2,\nthe `VariableReference` node bears full responsibility for loose mode rules that control\nthe behavior of free variables.",
22846
22953
  "class": "@glimmer/tracking",
22847
22954
  "module": "@glimmer/component"
22848
22955
  },
22849
22956
  {
22850
22957
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22851
- "line": 10941,
22958
+ "line": 10948,
22852
22959
  "description": "`TemplateNormalizer` normalizes top-level ASTv1 statements to ASTv2.",
22853
22960
  "class": "@glimmer/tracking",
22854
22961
  "module": "@glimmer/component"
22855
22962
  },
22856
22963
  {
22857
22964
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22858
- "line": 11019,
22965
+ "line": 11026,
22859
22966
  "description": "Normalizes an ASTv1.MustacheStatement to an ASTv2.AppendStatement",
22860
22967
  "class": "@glimmer/tracking",
22861
22968
  "module": "@glimmer/component"
22862
22969
  },
22863
22970
  {
22864
22971
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22865
- "line": 11059,
22972
+ "line": 11066,
22866
22973
  "description": "Normalizes a ASTv1.BlockStatement to an ASTv2.BlockStatement",
22867
22974
  "class": "@glimmer/tracking",
22868
22975
  "module": "@glimmer/component"
22869
22976
  },
22870
22977
  {
22871
22978
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22872
- "line": 11102,
22979
+ "line": 11109,
22873
22980
  "description": "Normalizes an ASTv1.ElementNode to:\n\n- ASTv2.NamedBlock if the tag name begins with `:`\n- ASTv2.Component if the tag name matches the component heuristics\n- ASTv2.SimpleElement if the tag name doesn't match the component heuristics\n\nA tag name represents a component if:\n\n- it begins with `@`\n- it is exactly `this` or begins with `this.`\n- the part before the first `.` is a reference to an in-scope variable binding\n- it begins with an uppercase character",
22874
22981
  "class": "@glimmer/tracking",
22875
22982
  "module": "@glimmer/component"
22876
22983
  },
22877
22984
  {
22878
22985
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22879
- "line": 11177,
22986
+ "line": 11184,
22880
22987
  "description": "This method handles attribute values that are curlies, as well as curlies nested inside of\ninterpolations:\n\n```hbs\n<a href={{url}} />\n<a href=\"{{url}}.html\" />\n```",
22881
22988
  "class": "@glimmer/tracking",
22882
22989
  "module": "@glimmer/component"
22883
22990
  },
22884
22991
  {
22885
22992
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22886
- "line": 11216,
22993
+ "line": 11223,
22887
22994
  "description": "attrPart is the narrowed down list of valid attribute values that are also\nallowed as a concat part (you can't nest concats).",
22888
22995
  "class": "@glimmer/tracking",
22889
22996
  "module": "@glimmer/component"
22890
22997
  },
22891
22998
  {
22892
22999
  "file": "packages/@glimmer/syntax/dist/es/index.js",
22893
- "line": 11311,
23000
+ "line": 11318,
22894
23001
  "description": "This function classifies the head of an ASTv1.Element into an ASTv2.PathHead (if the\nelement is a component) or `'ElementHead'` (if the element is a simple element).\n\nRules:\n\n1. If the variable is an `@arg`, return an `AtHead`\n2. If the variable is `this`, return a `ThisHead`\n3. If the variable is in the current scope:\n a. If the scope is the root scope, then return a Free `LocalVarHead`\n b. Else, return a standard `LocalVarHead`\n4. If the tag name is a path and the variable is not in the current scope, Syntax Error\n5. If the variable is uppercase return a FreeVar(ResolveAsComponentHead)\n6. Otherwise, return `'ElementHead'`",
22895
23002
  "class": "@glimmer/tracking",
22896
23003
  "module": "@glimmer/component"
@@ -23329,11 +23436,23 @@
23329
23436
  },
23330
23437
  {
23331
23438
  "file": "packages/@glimmer/syntax/lib/source/source.ts",
23332
- "line": 22,
23439
+ "line": 15,
23440
+ "class": "@glimmer/tracking",
23441
+ "module": "@glimmer/component"
23442
+ },
23443
+ {
23444
+ "file": "packages/@glimmer/syntax/lib/source/source.ts",
23445
+ "line": 26,
23333
23446
  "description": "Validate that the character offset represents a position in the source string.",
23334
23447
  "class": "@glimmer/tracking",
23335
23448
  "module": "@glimmer/component"
23336
23449
  },
23450
+ {
23451
+ "file": "packages/@glimmer/syntax/lib/source/source.ts",
23452
+ "line": 91,
23453
+ "class": "@glimmer/tracking",
23454
+ "module": "@glimmer/component"
23455
+ },
23337
23456
  {
23338
23457
  "file": "packages/@glimmer/syntax/lib/traversal/visitor.ts",
23339
23458
  "line": 20,
@@ -23826,56 +23945,56 @@
23826
23945
  },
23827
23946
  {
23828
23947
  "file": "packages/@glimmer/syntax/lib/v2/normalize.ts",
23829
- "line": 309,
23948
+ "line": 306,
23830
23949
  "description": "The `ref` method normalizes an `ASTv1.PathHead` into an `ASTv2.VariableReference`.\nThis method is extremely important, because it is responsible for normalizing free\nvariables into an an ASTv2.PathHead *with appropriate context*.\n\nThe syntax context is originally determined by the syntactic position that this `PathHead`\ncame from, and is ultimately attached to the `ASTv2.VariableReference` here. In ASTv2,\nthe `VariableReference` node bears full responsibility for loose mode rules that control\nthe behavior of free variables.",
23831
23950
  "class": "@glimmer/tracking",
23832
23951
  "module": "@glimmer/component"
23833
23952
  },
23834
23953
  {
23835
23954
  "file": "packages/@glimmer/syntax/lib/v2/normalize.ts",
23836
- "line": 356,
23955
+ "line": 353,
23837
23956
  "description": "`TemplateNormalizer` normalizes top-level ASTv1 statements to ASTv2.",
23838
23957
  "class": "@glimmer/tracking",
23839
23958
  "module": "@glimmer/component"
23840
23959
  },
23841
23960
  {
23842
23961
  "file": "packages/@glimmer/syntax/lib/v2/normalize.ts",
23843
- "line": 445,
23962
+ "line": 442,
23844
23963
  "description": "Normalizes an ASTv1.MustacheStatement to an ASTv2.AppendStatement",
23845
23964
  "class": "@glimmer/tracking",
23846
23965
  "module": "@glimmer/component"
23847
23966
  },
23848
23967
  {
23849
23968
  "file": "packages/@glimmer/syntax/lib/v2/normalize.ts",
23850
- "line": 493,
23969
+ "line": 490,
23851
23970
  "description": "Normalizes a ASTv1.BlockStatement to an ASTv2.BlockStatement",
23852
23971
  "class": "@glimmer/tracking",
23853
23972
  "module": "@glimmer/component"
23854
23973
  },
23855
23974
  {
23856
23975
  "file": "packages/@glimmer/syntax/lib/v2/normalize.ts",
23857
- "line": 547,
23976
+ "line": 544,
23858
23977
  "description": "Normalizes an ASTv1.ElementNode to:\n\n- ASTv2.NamedBlock if the tag name begins with `:`\n- ASTv2.Component if the tag name matches the component heuristics\n- ASTv2.SimpleElement if the tag name doesn't match the component heuristics\n\nA tag name represents a component if:\n\n- it begins with `@`\n- it is exactly `this` or begins with `this.`\n- the part before the first `.` is a reference to an in-scope variable binding\n- it begins with an uppercase character",
23859
23978
  "class": "@glimmer/tracking",
23860
23979
  "module": "@glimmer/component"
23861
23980
  },
23862
23981
  {
23863
23982
  "file": "packages/@glimmer/syntax/lib/v2/normalize.ts",
23864
- "line": 632,
23983
+ "line": 629,
23865
23984
  "description": "This method handles attribute values that are curlies, as well as curlies nested inside of\ninterpolations:\n\n```hbs\n<a href={{url}} />\n<a href=\"{{url}}.html\" />\n```",
23866
23985
  "class": "@glimmer/tracking",
23867
23986
  "module": "@glimmer/component"
23868
23987
  },
23869
23988
  {
23870
23989
  "file": "packages/@glimmer/syntax/lib/v2/normalize.ts",
23871
- "line": 675,
23990
+ "line": 672,
23872
23991
  "description": "attrPart is the narrowed down list of valid attribute values that are also\nallowed as a concat part (you can't nest concats).",
23873
23992
  "class": "@glimmer/tracking",
23874
23993
  "module": "@glimmer/component"
23875
23994
  },
23876
23995
  {
23877
23996
  "file": "packages/@glimmer/syntax/lib/v2/normalize.ts",
23878
- "line": 783,
23997
+ "line": 780,
23879
23998
  "description": "This function classifies the head of an ASTv1.Element into an ASTv2.PathHead (if the\nelement is a component) or `'ElementHead'` (if the element is a simple element).\n\nRules:\n\n1. If the variable is an `@arg`, return an `AtHead`\n2. If the variable is `this`, return a `ThisHead`\n3. If the variable is in the current scope:\n a. If the scope is the root scope, then return a Free `LocalVarHead`\n b. Else, return a standard `LocalVarHead`\n4. If the tag name is a path and the variable is not in the current scope, Syntax Error\n5. If the variable is uppercase return a FreeVar(ResolveAsComponentHead)\n6. Otherwise, return `'ElementHead'`",
23880
23999
  "class": "@glimmer/tracking",
23881
24000
  "module": "@glimmer/component"
@@ -24259,7 +24378,7 @@
24259
24378
  },
24260
24379
  {
24261
24380
  "message": "replacing incorrect tag: returns with return",
24262
- "line": " packages/@ember/helper/index.ts:265"
24381
+ "line": " packages/@ember/helper/index.ts:267"
24263
24382
  },
24264
24383
  {
24265
24384
  "message": "unknown tag: internal",
@@ -24931,31 +25050,31 @@
24931
25050
  },
24932
25051
  {
24933
25052
  "message": "Missing item type\nUsing the `{{hash}}` helper, you can pass objects directly from the template\nas an argument to your components.\n\n```\nimport { hash } from '@ember/helper';\n\n<template>\n {{#each-in (hash givenName='Jen' familyName='Weber') as |key value|}}\n <p>{{key}}: {{value}}</p>\n {{/each-in}}\n</template>\n```\n\n**NOTE:** this example uses the experimental `<template>` feature, which is\nthe only place you need to import `hash` to use it (it is a built-in when\nwriting standalone `.hbs` files).",
24934
- "line": " packages/@ember/helper/index.ts:337"
25053
+ "line": " packages/@ember/helper/index.ts:339"
24935
25054
  },
24936
25055
  {
24937
25056
  "message": "Missing item type\nUsing the `{{array}}` helper, you can pass arrays directly from the template\nas an argument to your components.\n\n```js\nimport { array } from '@ember/helper';\n\n<template>\n <ul>\n {{#each (array 'Tom Dale' 'Yehuda Katz' @anotherPerson) as |person|}}\n <li>{{person}}</li>\n {{/each}}\n </ul>\n</template>\n\n**NOTE:** this example uses the experimental `<template>` feature, which is\nthe only place you need to import `array` to use it (it is a built-in when\nwriting standalone `.hbs` files).\n```",
24938
- "line": " packages/@ember/helper/index.ts:358"
25057
+ "line": " packages/@ember/helper/index.ts:360"
24939
25058
  },
24940
25059
  {
24941
25060
  "message": "Missing item type\nThe `{{concat}}` helper makes it easy to dynamically send a number of\nparameters to a component or helper as a single parameter in the format of a\nconcatenated string.\n\nFor example:\n\n```js\nimport { concat } from '@ember/helper';\n\n<template>\n {{get @foo (concat \"item\" @index)}}\n</template>\n```\n\nThis will display the result of `@foo.item1` when `index` is `1`, and\n`this.foo.item2` when `index` is `2`, etc.\n\n**NOTE:** this example uses the experimental `<template>` feature, which is\nthe only place you need to import `concat` to use it (it is a built-in when\nwriting standalone `.hbs` files).",
24942
- "line": " packages/@ember/helper/index.ts:381"
25061
+ "line": " packages/@ember/helper/index.ts:383"
24943
25062
  },
24944
25063
  {
24945
25064
  "message": "Missing item type\nThe `{{get}}` helper makes it easy to dynamically look up a property on an\nobject or an element in an array. The second argument to `{{get}}` can be a\nstring or a number, depending on the object being accessed.\n\nTo access a property on an object with a string key:\n\n```js\nimport { get } from '@ember/helper';\n\n<template>\n {{get @someObject \"objectKey\"}}\n</template>\n```\n\nTo access the first element in an array:\n\n```js\nimport { get } from '@ember/helper';\n\n<template>\n {{get @someArray 0}}\n</template>\n```\n\nTo access a property on an object with a dynamic key:\n\n```js\nimport { get } from '@ember/helper';\n\n<template>\n {{get @address @field}}\n</template>\n```\n\nThis will display the result of `@foo.item1` when `index` is `1`, and\n`this.foo.item2` when `index` is `2`, etc.\n\n**NOTE:** this example uses the experimental `<template>` feature, which is\nthe only place you need to import `concat` to use it (it is a built-in when\nwriting standalone `.hbs` files).",
24946
- "line": " packages/@ember/helper/index.ts:406"
25065
+ "line": " packages/@ember/helper/index.ts:408"
24947
25066
  },
24948
25067
  {
24949
25068
  "message": "Missing item type\n`{{fn}}` is a helper that receives a function and some arguments, and returns\na new function that combines. This allows you to pass parameters along to\nfunctions in your templates:\n\n```js\nimport { fn } from '@ember/helper';\n\nfunction showAlert(message) {\n alert(`The message is: '${message}'`);\n}\n\n<template>\n <button type=\"button\" {{on \"click\" (fn showAlert \"Hello!\")}}>\n Click me!\n </button>\n</template>\n```",
24950
- "line": " packages/@ember/helper/index.ts:451"
25069
+ "line": " packages/@ember/helper/index.ts:453"
24951
25070
  },
24952
25071
  {
24953
25072
  "message": "Missing item type\nThe `element` helper lets you dynamically set the tag name of an element.\n\n```js\nimport { element } from '@ember/helper';\n\n<template>\n {{#let (element @tagName) as |Tag|}}\n <Tag class=\"my-element\">Hello</Tag>\n {{/let}}\n</template>\n```\n\nWhen `@tagName` is `\"h1\"`, this renders `<h1 class=\"my-element\">Hello</h1>`.\nWhen `@tagName` is an empty string, the block content is rendered without a\nwrapping element. When `@tagName` is `null` or `undefined`, nothing is rendered.",
24954
- "line": " packages/@ember/helper/index.ts:473"
25073
+ "line": " packages/@ember/helper/index.ts:475"
24955
25074
  },
24956
25075
  {
24957
25076
  "message": "Missing item type\nUse the {{uniqueId}} helper to generate a unique ID string suitable for use as\nan ID attribute in the DOM.\n\nEach invocation of {{uniqueId}} will return a new, unique ID string.\nYou can use the `let` helper to create an ID that can be reused within a template.\n\n```js\nimport { uniqueId } from '@ember/helper';\n\n<template>\n {{#let (uniqueId) as |emailId|}}\n <label for={{emailId}}>Email address</label>\n <input id={{emailId}} type=\"email\" />\n {{/let}}\n</template>\n```",
24958
- "line": " packages/@ember/helper/index.ts:493"
25077
+ "line": " packages/@ember/helper/index.ts:495"
24959
25078
  },
24960
25079
  {
24961
25080
  "message": "Missing item type",
@@ -25819,19 +25938,19 @@
25819
25938
  },
25820
25939
  {
25821
25940
  "message": "Missing item type\n(helper)\n(helper arg)",
25822
- "line": " packages/@glimmer/opcode-compiler/lib/opcode-builder/helpers/resolution.ts:145"
25941
+ "line": " packages/@glimmer/opcode-compiler/lib/opcode-builder/helpers/resolution.ts:142"
25823
25942
  },
25824
25943
  {
25825
25944
  "message": "Missing item type\n<div {{modifier}}/>\n<div {{modifier arg}}/>\n<Foo {{modifier}}/>",
25826
- "line": " packages/@glimmer/opcode-compiler/lib/opcode-builder/helpers/resolution.ts:195"
25945
+ "line": " packages/@glimmer/opcode-compiler/lib/opcode-builder/helpers/resolution.ts:189"
25827
25946
  },
25828
25947
  {
25829
25948
  "message": "Missing item type\n{{component-or-helper arg}}",
25830
- "line": " packages/@glimmer/opcode-compiler/lib/opcode-builder/helpers/resolution.ts:264"
25949
+ "line": " packages/@glimmer/opcode-compiler/lib/opcode-builder/helpers/resolution.ts:252"
25831
25950
  },
25832
25951
  {
25833
25952
  "message": "Missing item type\n{{maybeHelperOrComponent}}",
25834
- "line": " packages/@glimmer/opcode-compiler/lib/opcode-builder/helpers/resolution.ts:360"
25953
+ "line": " packages/@glimmer/opcode-compiler/lib/opcode-builder/helpers/resolution.ts:342"
25835
25954
  },
25836
25955
  {
25837
25956
  "message": "Missing item type\nCompile arguments, pushing an Arguments object onto the stack.",
@@ -25901,6 +26020,14 @@
25901
26020
  "message": "Missing item type",
25902
26021
  "line": " packages/@glimmer/runtime/lib/component/interfaces.ts:8"
25903
26022
  },
26023
+ {
26024
+ "message": "Missing item type\nPerforms a strict equality comparison.\n\nleft === right",
26025
+ "line": " packages/@glimmer/runtime/lib/helpers/eq.ts:3"
26026
+ },
26027
+ {
26028
+ "message": "Missing item type\nPerforms a strict inequality comparison.\n\nleft !== right",
26029
+ "line": " packages/@glimmer/runtime/lib/helpers/neq.ts:3"
26030
+ },
25904
26031
  {
25905
26032
  "message": "Missing item type\nFetch a value from a syscall register onto the stack.\n\n## Opcodes\n\n- Append: `Fetch`\n\n## State changes\n\n[!] push Eval Stack <- $register",
25906
26033
  "line": " packages/@glimmer/runtime/lib/vm/append.ts:131"
@@ -26269,241 +26396,249 @@
26269
26396
  "message": "Missing item type\nCompare two {@see AnyPosition} and determine whether they are equal.",
26270
26397
  "line": " packages/@glimmer/syntax/dist/es/index.js:6816"
26271
26398
  },
26399
+ {
26400
+ "message": "Missing item type",
26401
+ "line": " packages/@glimmer/syntax/dist/es/index.js:6840"
26402
+ },
26272
26403
  {
26273
26404
  "message": "Missing item type\nValidate that the character offset represents a position in the source string.",
26274
- "line": " packages/@glimmer/syntax/dist/es/index.js:6845"
26405
+ "line": " packages/@glimmer/syntax/dist/es/index.js:6849"
26406
+ },
26407
+ {
26408
+ "message": "Missing item type",
26409
+ "line": " packages/@glimmer/syntax/dist/es/index.js:6916"
26275
26410
  },
26276
26411
  {
26277
26412
  "message": "Missing item type\nThe Parser Builder differentiates from the public builder API by:\n\n1. Offering fewer different ways to instantiate nodes\n2. Mandating source locations",
26278
- "line": " packages/@glimmer/syntax/dist/es/index.js:7820"
26413
+ "line": " packages/@glimmer/syntax/dist/es/index.js:7827"
26279
26414
  },
26280
26415
  {
26281
26416
  "message": "Missing item type\nASTPlugins can make changes to the Glimmer template AST before\ncompilation begins.",
26282
- "line": " packages/@glimmer/syntax/dist/es/index.js:9349"
26417
+ "line": " packages/@glimmer/syntax/dist/es/index.js:9356"
26283
26418
  },
26284
26419
  {
26285
26420
  "message": "Missing item type\nGets the correct Token from the Node based on it's type",
26286
- "line": " packages/@glimmer/syntax/dist/es/index.js:9417"
26421
+ "line": " packages/@glimmer/syntax/dist/es/index.js:9424"
26287
26422
  },
26288
26423
  {
26289
26424
  "message": "Missing item type\nAdds tokens to the tokensSet based on their node.type",
26290
- "line": " packages/@glimmer/syntax/dist/es/index.js:9460"
26425
+ "line": " packages/@glimmer/syntax/dist/es/index.js:9467"
26291
26426
  },
26292
26427
  {
26293
26428
  "message": "Missing item type\nParses and traverses a given handlebars html template to extract all template locals\nreferenced that could possible come from the parent scope. Can exclude known keywords\noptionally.",
26294
- "line": " packages/@glimmer/syntax/dist/es/index.js:9473"
26429
+ "line": " packages/@glimmer/syntax/dist/es/index.js:9480"
26295
26430
  },
26296
26431
  {
26297
26432
  "message": "Missing item type\nThis is a convenience function for creating ASTv2 nodes, with an optional name and the node's\noptions.\n\n```ts\nexport class HtmlText extends node('HtmlText').fields<{ chars: string }>() {}\n```\n\nThis creates a new ASTv2 node with the name `'HtmlText'` and one field `chars: string` (in\naddition to a `loc: SourceOffsets` field, which all nodes have).\n\n```ts\nexport class Args extends node().fields<{\n positional: PositionalArguments;\n named: NamedArguments\n}>() {}\n```\n\nThis creates a new un-named ASTv2 node with two fields (`positional: Positional` and `named:\nNamed`, in addition to the generic `loc: SourceOffsets` field).\n\nOnce you create a node using `node`, it is instantiated with all of its fields (including `loc`):\n\n```ts\nnew HtmlText({ loc: offsets, chars: someString });\n```",
26298
- "line": " packages/@glimmer/syntax/dist/es/index.js:9536"
26433
+ "line": " packages/@glimmer/syntax/dist/es/index.js:9543"
26299
26434
  },
26300
26435
  {
26301
26436
  "message": "Missing item type\nCorresponds to syntaxes with positional and named arguments:\n\n- SubExpression\n- Invoking Append\n- Invoking attributes\n- InvokeBlock\n\nIf `Args` is empty, the `SourceOffsets` for this node should be the collapsed position\nimmediately after the parent call node's `callee`.",
26302
- "line": " packages/@glimmer/syntax/dist/es/index.js:9596"
26437
+ "line": " packages/@glimmer/syntax/dist/es/index.js:9603"
26303
26438
  },
26304
26439
  {
26305
26440
  "message": "Missing item type\nCorresponds to positional arguments.\n\nIf `PositionalArguments` is empty, the `SourceOffsets` for this node should be the collapsed\nposition immediately after the parent call node's `callee`.",
26306
- "line": " packages/@glimmer/syntax/dist/es/index.js:9633"
26441
+ "line": " packages/@glimmer/syntax/dist/es/index.js:9640"
26307
26442
  },
26308
26443
  {
26309
26444
  "message": "Missing item type\nCorresponds to named arguments.\n\nIf `PositionalArguments` and `NamedArguments` are empty, the `SourceOffsets` for this node should\nbe the same as the `Args` node that contains this node.\n\nIf `PositionalArguments` is not empty but `NamedArguments` is empty, the `SourceOffsets` for this\nnode should be the collapsed position immediately after the last positional argument.",
26310
- "line": " packages/@glimmer/syntax/dist/es/index.js:9657"
26445
+ "line": " packages/@glimmer/syntax/dist/es/index.js:9664"
26311
26446
  },
26312
26447
  {
26313
26448
  "message": "Missing item type\nCorresponds to a single named argument.\n\n```hbs\nx=<expr>\n```",
26314
- "line": " packages/@glimmer/syntax/dist/es/index.js:9685"
26449
+ "line": " packages/@glimmer/syntax/dist/es/index.js:9692"
26315
26450
  },
26316
26451
  {
26317
26452
  "message": "Missing item type\nAttr nodes look like HTML attributes, but are classified as:\n\n1. `HtmlAttr`, which means a regular HTML attribute in Glimmer\n2. `SplatAttr`, which means `...attributes`\n3. `ComponentArg`, which means an attribute whose name begins with `@`, and it is therefore a\n component argument.",
26318
- "line": " packages/@glimmer/syntax/dist/es/index.js:9703"
26453
+ "line": " packages/@glimmer/syntax/dist/es/index.js:9710"
26319
26454
  },
26320
26455
  {
26321
26456
  "message": "Missing item type\n`HtmlAttr` and `SplatAttr` are grouped together because the order of the `SplatAttr` node,\nrelative to other attributes, matters.",
26322
- "line": " packages/@glimmer/syntax/dist/es/index.js:9712"
26457
+ "line": " packages/@glimmer/syntax/dist/es/index.js:9719"
26323
26458
  },
26324
26459
  {
26325
26460
  "message": "Missing item type\n\"Attr Block\" nodes are allowed inside an open element tag in templates. They interact with the\nelement (or component).",
26326
- "line": " packages/@glimmer/syntax/dist/es/index.js:9717"
26461
+ "line": " packages/@glimmer/syntax/dist/es/index.js:9724"
26327
26462
  },
26328
26463
  {
26329
26464
  "message": "Missing item type\n`HtmlAttr` nodes are valid HTML attributes, with or without a value.\n\nExceptions:\n\n- `...attributes` is `SplatAttr`\n- `@x=<value>` is `ComponentArg`",
26330
- "line": " packages/@glimmer/syntax/dist/es/index.js:9722"
26465
+ "line": " packages/@glimmer/syntax/dist/es/index.js:9729"
26331
26466
  },
26332
26467
  {
26333
26468
  "message": "Missing item type\nCorresponds to an argument passed by a component (`@x=<value>`)",
26334
- "line": " packages/@glimmer/syntax/dist/es/index.js:9733"
26469
+ "line": " packages/@glimmer/syntax/dist/es/index.js:9740"
26335
26470
  },
26336
26471
  {
26337
26472
  "message": "Missing item type\nConvert the component argument into a named argument node",
26338
- "line": " packages/@glimmer/syntax/dist/es/index.js:9737"
26473
+ "line": " packages/@glimmer/syntax/dist/es/index.js:9744"
26339
26474
  },
26340
26475
  {
26341
26476
  "message": "Missing item type\nAn `ElementModifier` is just a normal call node in modifier position.",
26342
- "line": " packages/@glimmer/syntax/dist/es/index.js:9748"
26477
+ "line": " packages/@glimmer/syntax/dist/es/index.js:9755"
26343
26478
  },
26344
26479
  {
26345
26480
  "message": "Missing item type\nContent Nodes are allowed in content positions in templates. They correspond to behavior in the\n[Data][data] tokenization state in HTML.\n\n[data]: https://html.spec.whatwg.org/multipage/parsing.html#data-state",
26346
- "line": " packages/@glimmer/syntax/dist/es/index.js:9753"
26481
+ "line": " packages/@glimmer/syntax/dist/es/index.js:9760"
26347
26482
  },
26348
26483
  {
26349
26484
  "message": "Missing item type\nCorresponds to a component invocation. When the content of a component invocation contains no\nnamed blocks, `blocks` contains a single named block named `\"default\"`. When a component\ninvocation is self-closing, `blocks` is empty.",
26350
- "line": " packages/@glimmer/syntax/dist/es/index.js:9780"
26485
+ "line": " packages/@glimmer/syntax/dist/es/index.js:9787"
26351
26486
  },
26352
26487
  {
26353
26488
  "message": "Missing item type\nCorresponds to a simple HTML element. The AST allows component arguments and modifiers to support\nfuture extensions.",
26354
- "line": " packages/@glimmer/syntax/dist/es/index.js:9794"
26489
+ "line": " packages/@glimmer/syntax/dist/es/index.js:9801"
26355
26490
  },
26356
26491
  {
26357
26492
  "message": "Missing item type\nA Handlebars literal.\n\n{@link https://handlebarsjs.com/guide/expressions.html#literal-segments}",
26358
- "line": " packages/@glimmer/syntax/dist/es/index.js:9808"
26493
+ "line": " packages/@glimmer/syntax/dist/es/index.js:9815"
26359
26494
  },
26360
26495
  {
26361
26496
  "message": "Missing item type\nCorresponds to a Handlebars literal.",
26362
- "line": " packages/@glimmer/syntax/dist/es/index.js:9814"
26497
+ "line": " packages/@glimmer/syntax/dist/es/index.js:9821"
26363
26498
  },
26364
26499
  {
26365
26500
  "message": "Missing item type\nReturns true if an input {@see ExpressionNode} is a literal.",
26366
- "line": " packages/@glimmer/syntax/dist/es/index.js:9827"
26501
+ "line": " packages/@glimmer/syntax/dist/es/index.js:9834"
26367
26502
  },
26368
26503
  {
26369
26504
  "message": "Missing item type\nCorresponds to a path in expression position.\n\n```hbs\nthis\nthis.x\n@x\n@x.y\nx\nx.y\n```",
26370
- "line": " packages/@glimmer/syntax/dist/es/index.js:9844"
26505
+ "line": " packages/@glimmer/syntax/dist/es/index.js:9851"
26371
26506
  },
26372
26507
  {
26373
26508
  "message": "Missing item type\nCorresponds to a known strict-mode keyword. It behaves similarly to a\nPathExpression with a FreeVarReference, but implies StrictResolution and\nis guaranteed to not have a tail, since `{{outlet.foo}}` would have been\nillegal.",
26374
- "line": " packages/@glimmer/syntax/dist/es/index.js:9858"
26509
+ "line": " packages/@glimmer/syntax/dist/es/index.js:9865"
26375
26510
  },
26376
26511
  {
26377
26512
  "message": "Missing item type\nCorresponds to a parenthesized call expression.\n\n```hbs\n(x)\n(x.y)\n(x y)\n(x.y z)\n```",
26378
- "line": " packages/@glimmer/syntax/dist/es/index.js:9866"
26513
+ "line": " packages/@glimmer/syntax/dist/es/index.js:9873"
26379
26514
  },
26380
26515
  {
26381
26516
  "message": "Missing item type\nCorresponds to an interpolation in attribute value position.\n\n```hbs\n<a href=\"{{url}}.html\"\n```",
26382
- "line": " packages/@glimmer/syntax/dist/es/index.js:9878"
26517
+ "line": " packages/@glimmer/syntax/dist/es/index.js:9885"
26383
26518
  },
26384
26519
  {
26385
26520
  "message": "Missing item type\nCorresponds to an entire template.",
26386
- "line": " packages/@glimmer/syntax/dist/es/index.js:9887"
26521
+ "line": " packages/@glimmer/syntax/dist/es/index.js:9894"
26387
26522
  },
26388
26523
  {
26389
26524
  "message": "Missing item type\nRepresents a block. In principle this could be merged with `NamedBlock`, because all cases\ninvolving blocks have at least a notional name.",
26390
- "line": " packages/@glimmer/syntax/dist/es/index.js:9892"
26525
+ "line": " packages/@glimmer/syntax/dist/es/index.js:9899"
26391
26526
  },
26392
26527
  {
26393
26528
  "message": "Missing item type\nCorresponds to a collection of named blocks.",
26394
- "line": " packages/@glimmer/syntax/dist/es/index.js:9898"
26529
+ "line": " packages/@glimmer/syntax/dist/es/index.js:9905"
26395
26530
  },
26396
26531
  {
26397
26532
  "message": "Missing item type\nGet the `NamedBlock` for a given name.",
26398
- "line": " packages/@glimmer/syntax/dist/es/index.js:9902"
26533
+ "line": " packages/@glimmer/syntax/dist/es/index.js:9909"
26399
26534
  },
26400
26535
  {
26401
26536
  "message": "Missing item type\nCorresponds to a single named block. This is used for anonymous named blocks (`default` and\n`else`).",
26402
- "line": " packages/@glimmer/syntax/dist/es/index.js:9910"
26537
+ "line": " packages/@glimmer/syntax/dist/es/index.js:9917"
26403
26538
  },
26404
26539
  {
26405
26540
  "message": "Missing item type\nCorresponds to `this` at the head of an expression.",
26406
- "line": " packages/@glimmer/syntax/dist/es/index.js:9924"
26541
+ "line": " packages/@glimmer/syntax/dist/es/index.js:9931"
26407
26542
  },
26408
26543
  {
26409
26544
  "message": "Missing item type\nCorresponds to `@<ident>` at the beginning of an expression.",
26410
- "line": " packages/@glimmer/syntax/dist/es/index.js:9929"
26545
+ "line": " packages/@glimmer/syntax/dist/es/index.js:9936"
26411
26546
  },
26412
26547
  {
26413
26548
  "message": "Missing item type\nCorresponds to `<ident>` at the beginning of an expression, when `<ident>` is in the current\nblock's scope.",
26414
- "line": " packages/@glimmer/syntax/dist/es/index.js:9934"
26549
+ "line": " packages/@glimmer/syntax/dist/es/index.js:9941"
26415
26550
  },
26416
26551
  {
26417
26552
  "message": "Missing item type\nCorresponds to `<ident>` at the beginning of an expression, when `<ident>` is *not* in the\ncurrent block's scope.\n\nThe `resolution: FreeVarResolution` field describes how to resolve the free variable.\n\nNote: In strict mode, it must always be a variable that is in a concrete JavaScript scope that\nthe template will be installed into.",
26418
- "line": " packages/@glimmer/syntax/dist/es/index.js:9940"
26553
+ "line": " packages/@glimmer/syntax/dist/es/index.js:9947"
26419
26554
  },
26420
26555
  {
26421
26556
  "message": "Missing item type\nA free variable is resolved according to a resolution rule:\n\n1. Strict resolution\n2. Namespaced resolution",
26422
- "line": " packages/@glimmer/syntax/dist/es/index.js:9957"
26557
+ "line": " packages/@glimmer/syntax/dist/es/index.js:9964"
26423
26558
  },
26424
26559
  {
26425
26560
  "message": "Missing item type\nStrict resolution is used:\n\n1. in a strict mode template\n2. in an local variable invocation with dot paths",
26426
- "line": " packages/@glimmer/syntax/dist/es/index.js:9965"
26561
+ "line": " packages/@glimmer/syntax/dist/es/index.js:9972"
26427
26562
  },
26428
26563
  {
26429
26564
  "message": "Missing item type\nA `LooseModeResolution` includes one or more namespaces to resolve the variable in\n\nIn practice, there are a limited number of possible combinations of these degrees of freedom,\nand they are captured by the `Namespaces` union below.",
26430
- "line": " packages/@glimmer/syntax/dist/es/index.js:9984"
26565
+ "line": " packages/@glimmer/syntax/dist/es/index.js:9991"
26431
26566
  },
26432
26567
  {
26433
26568
  "message": "Missing item type\nNamespaced resolution is used in an unambiguous syntax position:\n\n1. `(sexp)` (namespace: `Helper`)\n2. `{{#block}}` (namespace: `Component`)\n3. `<a {{modifier}}>` (namespace: `Modifier`)\n4. `<Component />` (namespace: `Component`)",
26434
- "line": " packages/@glimmer/syntax/dist/es/index.js:9991"
26569
+ "line": " packages/@glimmer/syntax/dist/es/index.js:9998"
26435
26570
  },
26436
26571
  {
26437
26572
  "message": "Missing item type\nAppend resolution is used when the variable should be resolved in both the `component` and\n`helper` namespaces.\n\n```hbs\n{{x}}\n```\n\n```hbs\n{{x y}}\n```\n\n^ In either case, `x` should be resolved in the `component` and `helper` namespaces.",
26438
- "line": " packages/@glimmer/syntax/dist/es/index.js:10003"
26573
+ "line": " packages/@glimmer/syntax/dist/es/index.js:10010"
26439
26574
  },
26440
26575
  {
26441
26576
  "message": "Missing item type\nTrusting append resolution is used when the variable should be resolved only in the\n`helper` namespaces.\n\n```hbs\n{{{x}}}\n```\n\n```hbs\n{{{x y}}}\n```\n\n^ In either case, `x` should be resolved in the `helper` namespace.",
26442
- "line": " packages/@glimmer/syntax/dist/es/index.js:10021"
26577
+ "line": " packages/@glimmer/syntax/dist/es/index.js:10028"
26443
26578
  },
26444
26579
  {
26445
26580
  "message": "Missing item type\nA `Namespaced` must be resolved in one or more namespaces.\n\n```hbs\n<X />\n```\n\n^ `X` is resolved in the `component` namespace\n\n```hbs\n(x)\n```\n\n^ `x` is resolved in the `helper` namespace\n\n```hbs\n<a {{x}} />\n```\n\n^ `x` is resolved in the `modifier` namespace",
26446
- "line": " packages/@glimmer/syntax/dist/es/index.js:10068"
26581
+ "line": " packages/@glimmer/syntax/dist/es/index.js:10075"
26447
26582
  },
26448
26583
  {
26449
26584
  "message": "Missing item type\nThis corresponds to attribute curlies (<Foo bar={{...}}>).\nIn strict mode, this also corresponds to arg curlies.",
26450
- "line": " packages/@glimmer/syntax/dist/es/index.js:10619"
26585
+ "line": " packages/@glimmer/syntax/dist/es/index.js:10626"
26451
26586
  },
26452
26587
  {
26453
26588
  "message": "Missing item type\nThis corresponds to append positions text curlies.",
26454
- "line": " packages/@glimmer/syntax/dist/es/index.js:10631"
26589
+ "line": " packages/@glimmer/syntax/dist/es/index.js:10638"
26455
26590
  },
26456
26591
  {
26457
26592
  "message": "Missing item type\nA call node has a simple callee if its head is:\n\n- a `PathExpression`\n- the `PathExpression`'s head is a `VarHead`\n- it has no tail\n\nSimple heads:\n\n```\n{{x}}\n{{x y}}\n```\n\nNot simple heads:\n\n```\n{{x.y}}\n{{x.y z}}\n{{@x}}\n{{@x a}}\n{{this}}\n{{this a}}\n```",
26458
- "line": " packages/@glimmer/syntax/dist/es/index.js:10645"
26593
+ "line": " packages/@glimmer/syntax/dist/es/index.js:10652"
26459
26594
  },
26460
26595
  {
26461
26596
  "message": "Missing item type\nA `BlockContext` represents the block that a particular AST node is contained inside of.\n\n`BlockContext` is aware of template-wide options (such as strict mode), as well as the bindings\nthat are in-scope within that block.\n\nConcretely, it has the `PrecompileOptions` and current `SymbolTable`, and provides\nfacilities for working with those options.\n\n`BlockContext` is stateless.",
26462
- "line": " packages/@glimmer/syntax/dist/es/index.js:10702"
26597
+ "line": " packages/@glimmer/syntax/dist/es/index.js:10709"
26463
26598
  },
26464
26599
  {
26465
26600
  "message": "Missing item type\nAn `ExpressionNormalizer` normalizes expressions within a block.\n\n`ExpressionNormalizer` is stateless.",
26466
- "line": " packages/@glimmer/syntax/dist/es/index.js:10784"
26601
+ "line": " packages/@glimmer/syntax/dist/es/index.js:10791"
26467
26602
  },
26468
26603
  {
26469
26604
  "message": "Missing item type\nThe `normalize` method takes an arbitrary expression and its original syntax context and\nnormalizes it to an ASTv2 expression.",
26470
- "line": " packages/@glimmer/syntax/dist/es/index.js:10794"
26605
+ "line": " packages/@glimmer/syntax/dist/es/index.js:10801"
26471
26606
  },
26472
26607
  {
26473
26608
  "message": "Missing item type\nThe `callParts` method takes ASTv1.CallParts as well as a syntax context and normalizes\nit to an ASTv2 CallParts.",
26474
- "line": " packages/@glimmer/syntax/dist/es/index.js:10848"
26609
+ "line": " packages/@glimmer/syntax/dist/es/index.js:10855"
26475
26610
  },
26476
26611
  {
26477
26612
  "message": "Missing item type\nThe `ref` method normalizes an `ASTv1.PathHead` into an `ASTv2.VariableReference`.\nThis method is extremely important, because it is responsible for normalizing free\nvariables into an an ASTv2.PathHead *with appropriate context*.\n\nThe syntax context is originally determined by the syntactic position that this `PathHead`\ncame from, and is ultimately attached to the `ASTv2.VariableReference` here. In ASTv2,\nthe `VariableReference` node bears full responsibility for loose mode rules that control\nthe behavior of free variables.",
26478
- "line": " packages/@glimmer/syntax/dist/es/index.js:10890"
26613
+ "line": " packages/@glimmer/syntax/dist/es/index.js:10897"
26479
26614
  },
26480
26615
  {
26481
26616
  "message": "Missing item type\n`TemplateNormalizer` normalizes top-level ASTv1 statements to ASTv2.",
26482
- "line": " packages/@glimmer/syntax/dist/es/index.js:10941"
26617
+ "line": " packages/@glimmer/syntax/dist/es/index.js:10948"
26483
26618
  },
26484
26619
  {
26485
26620
  "message": "Missing item type\nNormalizes an ASTv1.MustacheStatement to an ASTv2.AppendStatement",
26486
- "line": " packages/@glimmer/syntax/dist/es/index.js:11019"
26621
+ "line": " packages/@glimmer/syntax/dist/es/index.js:11026"
26487
26622
  },
26488
26623
  {
26489
26624
  "message": "Missing item type\nNormalizes a ASTv1.BlockStatement to an ASTv2.BlockStatement",
26490
- "line": " packages/@glimmer/syntax/dist/es/index.js:11059"
26625
+ "line": " packages/@glimmer/syntax/dist/es/index.js:11066"
26491
26626
  },
26492
26627
  {
26493
26628
  "message": "Missing item type\nNormalizes an ASTv1.ElementNode to:\n\n- ASTv2.NamedBlock if the tag name begins with `:`\n- ASTv2.Component if the tag name matches the component heuristics\n- ASTv2.SimpleElement if the tag name doesn't match the component heuristics\n\nA tag name represents a component if:\n\n- it begins with `@`\n- it is exactly `this` or begins with `this.`\n- the part before the first `.` is a reference to an in-scope variable binding\n- it begins with an uppercase character",
26494
- "line": " packages/@glimmer/syntax/dist/es/index.js:11102"
26629
+ "line": " packages/@glimmer/syntax/dist/es/index.js:11109"
26495
26630
  },
26496
26631
  {
26497
26632
  "message": "Missing item type\nThis method handles attribute values that are curlies, as well as curlies nested inside of\ninterpolations:\n\n```hbs\n<a href={{url}} />\n<a href=\"{{url}}.html\" />\n```",
26498
- "line": " packages/@glimmer/syntax/dist/es/index.js:11177"
26633
+ "line": " packages/@glimmer/syntax/dist/es/index.js:11184"
26499
26634
  },
26500
26635
  {
26501
26636
  "message": "Missing item type\nattrPart is the narrowed down list of valid attribute values that are also\nallowed as a concat part (you can't nest concats).",
26502
- "line": " packages/@glimmer/syntax/dist/es/index.js:11216"
26637
+ "line": " packages/@glimmer/syntax/dist/es/index.js:11223"
26503
26638
  },
26504
26639
  {
26505
26640
  "message": "Missing item type\nThis function classifies the head of an ASTv1.Element into an ASTv2.PathHead (if the\nelement is a component) or `'ElementHead'` (if the element is a simple element).\n\nRules:\n\n1. If the variable is an `@arg`, return an `AtHead`\n2. If the variable is `this`, return a `ThisHead`\n3. If the variable is in the current scope:\n a. If the scope is the root scope, then return a Free `LocalVarHead`\n b. Else, return a standard `LocalVarHead`\n4. If the tag name is a path and the variable is not in the current scope, Syntax Error\n5. If the variable is uppercase return a FreeVar(ResolveAsComponentHead)\n6. Otherwise, return `'ElementHead'`",
26506
- "line": " packages/@glimmer/syntax/dist/es/index.js:11311"
26641
+ "line": " packages/@glimmer/syntax/dist/es/index.js:11318"
26507
26642
  },
26508
26643
  {
26509
26644
  "message": "Missing item type\nUsed to override the mechanism of printing a given AST.Node.\n\nThis will generally only be useful to source -> source codemods\nwhere you would like to specialize/override the way a given node is\nprinted (e.g. you would like to preserve as much of the original\nformatting as possible).\n\nWhen the provided override returns undefined, the default built in printing\nwill be done for the AST.Node.",
@@ -26741,9 +26876,17 @@
26741
26876
  "message": "Missing item type",
26742
26877
  "line": " packages/@glimmer/syntax/lib/source/location.ts:29"
26743
26878
  },
26879
+ {
26880
+ "message": "Missing item type",
26881
+ "line": " packages/@glimmer/syntax/lib/source/source.ts:15"
26882
+ },
26744
26883
  {
26745
26884
  "message": "Missing item type\nValidate that the character offset represents a position in the source string.",
26746
- "line": " packages/@glimmer/syntax/lib/source/source.ts:22"
26885
+ "line": " packages/@glimmer/syntax/lib/source/source.ts:26"
26886
+ },
26887
+ {
26888
+ "message": "Missing item type",
26889
+ "line": " packages/@glimmer/syntax/lib/source/source.ts:91"
26747
26890
  },
26748
26891
  {
26749
26892
  "message": "Missing item type",
@@ -27015,35 +27158,35 @@
27015
27158
  },
27016
27159
  {
27017
27160
  "message": "Missing item type\nThe `ref` method normalizes an `ASTv1.PathHead` into an `ASTv2.VariableReference`.\nThis method is extremely important, because it is responsible for normalizing free\nvariables into an an ASTv2.PathHead *with appropriate context*.\n\nThe syntax context is originally determined by the syntactic position that this `PathHead`\ncame from, and is ultimately attached to the `ASTv2.VariableReference` here. In ASTv2,\nthe `VariableReference` node bears full responsibility for loose mode rules that control\nthe behavior of free variables.",
27018
- "line": " packages/@glimmer/syntax/lib/v2/normalize.ts:309"
27161
+ "line": " packages/@glimmer/syntax/lib/v2/normalize.ts:306"
27019
27162
  },
27020
27163
  {
27021
27164
  "message": "Missing item type\n`TemplateNormalizer` normalizes top-level ASTv1 statements to ASTv2.",
27022
- "line": " packages/@glimmer/syntax/lib/v2/normalize.ts:356"
27165
+ "line": " packages/@glimmer/syntax/lib/v2/normalize.ts:353"
27023
27166
  },
27024
27167
  {
27025
27168
  "message": "Missing item type\nNormalizes an ASTv1.MustacheStatement to an ASTv2.AppendStatement",
27026
- "line": " packages/@glimmer/syntax/lib/v2/normalize.ts:445"
27169
+ "line": " packages/@glimmer/syntax/lib/v2/normalize.ts:442"
27027
27170
  },
27028
27171
  {
27029
27172
  "message": "Missing item type\nNormalizes a ASTv1.BlockStatement to an ASTv2.BlockStatement",
27030
- "line": " packages/@glimmer/syntax/lib/v2/normalize.ts:493"
27173
+ "line": " packages/@glimmer/syntax/lib/v2/normalize.ts:490"
27031
27174
  },
27032
27175
  {
27033
27176
  "message": "Missing item type\nNormalizes an ASTv1.ElementNode to:\n\n- ASTv2.NamedBlock if the tag name begins with `:`\n- ASTv2.Component if the tag name matches the component heuristics\n- ASTv2.SimpleElement if the tag name doesn't match the component heuristics\n\nA tag name represents a component if:\n\n- it begins with `@`\n- it is exactly `this` or begins with `this.`\n- the part before the first `.` is a reference to an in-scope variable binding\n- it begins with an uppercase character",
27034
- "line": " packages/@glimmer/syntax/lib/v2/normalize.ts:547"
27177
+ "line": " packages/@glimmer/syntax/lib/v2/normalize.ts:544"
27035
27178
  },
27036
27179
  {
27037
27180
  "message": "Missing item type\nThis method handles attribute values that are curlies, as well as curlies nested inside of\ninterpolations:\n\n```hbs\n<a href={{url}} />\n<a href=\"{{url}}.html\" />\n```",
27038
- "line": " packages/@glimmer/syntax/lib/v2/normalize.ts:632"
27181
+ "line": " packages/@glimmer/syntax/lib/v2/normalize.ts:629"
27039
27182
  },
27040
27183
  {
27041
27184
  "message": "Missing item type\nattrPart is the narrowed down list of valid attribute values that are also\nallowed as a concat part (you can't nest concats).",
27042
- "line": " packages/@glimmer/syntax/lib/v2/normalize.ts:675"
27185
+ "line": " packages/@glimmer/syntax/lib/v2/normalize.ts:672"
27043
27186
  },
27044
27187
  {
27045
27188
  "message": "Missing item type\nThis function classifies the head of an ASTv1.Element into an ASTv2.PathHead (if the\nelement is a component) or `'ElementHead'` (if the element is a simple element).\n\nRules:\n\n1. If the variable is an `@arg`, return an `AtHead`\n2. If the variable is `this`, return a `ThisHead`\n3. If the variable is in the current scope:\n a. If the scope is the root scope, then return a Free `LocalVarHead`\n b. Else, return a standard `LocalVarHead`\n4. If the tag name is a path and the variable is not in the current scope, Syntax Error\n5. If the variable is uppercase return a FreeVar(ResolveAsComponentHead)\n6. Otherwise, return `'ElementHead'`",
27046
- "line": " packages/@glimmer/syntax/lib/v2/normalize.ts:783"
27189
+ "line": " packages/@glimmer/syntax/lib/v2/normalize.ts:780"
27047
27190
  },
27048
27191
  {
27049
27192
  "message": "Missing item type\nGets the correct Token from the Node based on it's type",