ember-source 7.1.0-alpha.3 → 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.
- package/build-metadata.json +3 -3
- package/dist/dev/packages/@ember/-internals/environment/index.js +10 -0
- package/dist/dev/packages/@ember/-internals/glimmer/index.js +6 -6
- package/dist/dev/packages/@ember/application/index.js +4 -4
- package/dist/dev/packages/@ember/application/instance.js +3 -3
- package/dist/dev/packages/@ember/component/helper.js +3 -3
- package/dist/dev/packages/@ember/component/index.js +3 -3
- package/dist/dev/packages/@ember/component/template-only.js +2 -2
- package/dist/dev/packages/@ember/debug/index.js +2 -1
- package/dist/dev/packages/@ember/engine/index.js +4 -4
- package/dist/dev/packages/@ember/helper/index.js +50 -6
- package/dist/dev/packages/@ember/modifier/index.js +3 -3
- package/dist/dev/packages/@ember/modifier/on.js +2 -2
- package/dist/dev/packages/@ember/renderer/index.js +3 -3
- package/dist/dev/packages/@ember/routing/index.js +3 -3
- package/dist/dev/packages/@ember/routing/route.js +1 -1
- package/dist/dev/packages/@ember/template/index.js +3 -3
- package/dist/dev/packages/@ember/template-compiler/lib/compile-options.js +6 -4
- package/dist/dev/packages/@ember/template-compiler/lib/plugins/auto-import-builtins.js +18 -0
- package/dist/dev/packages/@glimmer/manager/index.js +2 -2
- package/dist/dev/packages/@glimmer/node/index.js +4 -4
- package/dist/dev/packages/@glimmer/program/index.js +1 -1
- package/dist/dev/packages/@glimmer/runtime/index.js +5 -5
- package/dist/dev/packages/ember/version.js +1 -1
- package/dist/dev/packages/shared-chunks/{api-BqXkkT0p.js → api-BQMslHhq.js} +1 -1
- package/dist/dev/packages/shared-chunks/{constants-p7AL-pog.js → constants-BbdWMvgs.js} +1 -1
- package/dist/dev/packages/shared-chunks/{dynamic-BfDKO5NI.js → dynamic-CgX8M02_.js} +2 -2
- package/dist/dev/packages/shared-chunks/{element-builder-DO43ztVP.js → element-builder-BpJIoi99.js} +1 -1
- package/dist/dev/packages/shared-chunks/{index-QZstta6s.js → index-RzG0Jvjx.js} +5 -5
- package/dist/dev/packages/shared-chunks/{invoke-CgfoEtMT.js → neq-DujMPv1k.js} +27 -3
- package/dist/dev/packages/shared-chunks/{rehydrate-builder-CEk2KOIk.js → rehydrate-builder-BRH0p0wA.js} +2 -2
- package/dist/dev/packages/shared-chunks/{render-C1HzKUcM.js → render-DCchifOK.js} +3 -3
- package/dist/dev/packages/shared-chunks/{serialize-builder-CPKxdfiH.js → serialize-builder-DiO7Ak9_.js} +3 -3
- package/dist/dev/packages/shared-chunks/{setup-registry-B7-RknRf.js → setup-registry-DxchCIL2.js} +6 -6
- package/dist/prod/packages/@ember/-internals/environment/index.js +10 -0
- package/dist/prod/packages/@ember/-internals/glimmer/index.js +6 -6
- package/dist/prod/packages/@ember/application/index.js +4 -4
- package/dist/prod/packages/@ember/application/instance.js +3 -3
- package/dist/prod/packages/@ember/component/helper.js +3 -3
- package/dist/prod/packages/@ember/component/index.js +3 -3
- package/dist/prod/packages/@ember/component/template-only.js +2 -2
- package/dist/prod/packages/@ember/debug/index.js +1 -0
- package/dist/prod/packages/@ember/engine/index.js +4 -4
- package/dist/prod/packages/@ember/helper/index.js +50 -6
- package/dist/prod/packages/@ember/modifier/index.js +3 -3
- package/dist/prod/packages/@ember/modifier/on.js +2 -2
- package/dist/prod/packages/@ember/renderer/index.js +3 -3
- package/dist/prod/packages/@ember/routing/index.js +3 -3
- package/dist/prod/packages/@ember/routing/route.js +1 -1
- package/dist/prod/packages/@ember/template/index.js +3 -3
- package/dist/prod/packages/@ember/template-compiler/lib/compile-options.js +6 -4
- package/dist/prod/packages/@ember/template-compiler/lib/plugins/auto-import-builtins.js +18 -0
- package/dist/prod/packages/@glimmer/manager/index.js +2 -2
- package/dist/prod/packages/@glimmer/node/index.js +4 -4
- package/dist/prod/packages/@glimmer/program/index.js +1 -1
- package/dist/prod/packages/@glimmer/runtime/index.js +5 -5
- package/dist/prod/packages/ember/version.js +1 -1
- package/dist/prod/packages/shared-chunks/{api-DtWa0ZaF.js → api-B5UrgITK.js} +1 -1
- package/dist/prod/packages/shared-chunks/{constants-2M371WiB.js → constants-DThhT5fu.js} +1 -1
- package/dist/prod/packages/shared-chunks/{element-builder-BmLF0C-1.js → element-builder-CzXb9l1W.js} +1 -1
- package/dist/prod/packages/shared-chunks/{index-6pnzcm45.js → index-r-Dz_hzt.js} +5 -5
- package/dist/prod/packages/shared-chunks/{invoke-BdJCXD-b.js → neq-BqdovTuC.js} +21 -3
- package/dist/prod/packages/shared-chunks/{on-CLxdmpmk.js → on-CersD7PL.js} +2 -2
- package/dist/prod/packages/shared-chunks/{rehydrate-builder-CUefZL4I.js → rehydrate-builder-D3t52iGR.js} +2 -2
- package/dist/prod/packages/shared-chunks/{render-BlriW61t.js → render-D78XHdek.js} +3 -3
- package/dist/prod/packages/shared-chunks/{serialize-builder-DgpXSc2Q.js → serialize-builder-iXiRs1Pg.js} +3 -3
- package/dist/prod/packages/shared-chunks/{setup-registry-DeObnZ2Z.js → setup-registry-Cs-7NIJU.js} +6 -6
- package/docs/data.json +132 -29
- package/package.json +1 -1
- package/types/stable/@ember/-internals/environment/lib/env.d.ts +11 -0
- package/types/stable/@ember/helper/index.d.ts +48 -0
- package/types/stable/@glimmer/runtime/index.d.ts +2 -0
- package/types/stable/@glimmer/runtime/lib/helpers/eq.d.ts +8 -0
- package/types/stable/@glimmer/runtime/lib/helpers/neq.d.ts +8 -0
- package/types/stable/index.d.ts +2 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { u as unwrap, e as expect, S as StackImpl } from './collections-GpG8lT2g.js';
|
|
2
|
-
import { u as unwrapHandle } from './constants-
|
|
2
|
+
import { u as unwrapHandle } from './constants-DThhT5fu.js';
|
|
3
3
|
import { track, updateTag as UPDATE_TAG, beginTrackFrame, endTrackFrame } from '../@glimmer/validator/index.js';
|
|
4
4
|
import { U as UNDEFINED_REFERENCE, v as valueForRef, u as updateRef, a as createConstRef, b as childRefFor } from './reference-BNqcwZWH.js';
|
|
5
5
|
import { P as ProgramImpl } from './program-B7SJZ5NF.js';
|
|
6
|
-
import { G as DebugRenderTreeImpl, H as isArgumentError, e as DOMChangesImpl, I as APPEND_OPCODES, J as move, i as clear, V as VMArgumentsImpl, K as externs, L as JumpIfNotModifiedOpcode, M as BeginTrackFrameOpcode, O as EndTrackFrameOpcode } from './on-
|
|
7
|
-
import { D as DOMTreeConstruction, N as NewTreeBuilder } from './element-builder-
|
|
6
|
+
import { G as DebugRenderTreeImpl, H as isArgumentError, e as DOMChangesImpl, I as APPEND_OPCODES, J as move, i as clear, V as VMArgumentsImpl, K as externs, L as JumpIfNotModifiedOpcode, M as BeginTrackFrameOpcode, O as EndTrackFrameOpcode } from './on-CersD7PL.js';
|
|
7
|
+
import { D as DOMTreeConstruction, N as NewTreeBuilder } from './element-builder-CzXb9l1W.js';
|
|
8
8
|
import { a as assign } from './object-utils-AijlD-JH.js';
|
|
9
9
|
import { destroyChildren, associateDestroyableChild, destroy, registerDestructor } from '../@glimmer/destroyable/index.js';
|
|
10
10
|
import { createIteratorItemRef } from '../@glimmer/reference/index.js';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import './fragment-D7nBU9ae.js';
|
|
2
2
|
import '../@glimmer/validator/index.js';
|
|
3
3
|
import './reference-BNqcwZWH.js';
|
|
4
|
-
import { C as ConcreteBounds } from './on-
|
|
5
|
-
import './constants-
|
|
4
|
+
import { C as ConcreteBounds } from './on-CersD7PL.js';
|
|
5
|
+
import './constants-DThhT5fu.js';
|
|
6
6
|
import './capabilities-DXA-L0iT.js';
|
|
7
|
-
import { N as NewTreeBuilder } from './element-builder-
|
|
7
|
+
import { N as NewTreeBuilder } from './element-builder-CzXb9l1W.js';
|
|
8
8
|
|
|
9
9
|
/* eslint-disable @typescript-eslint/no-unsafe-enum-comparison */
|
|
10
10
|
|
package/dist/prod/packages/shared-chunks/{setup-registry-DeObnZ2Z.js → setup-registry-Cs-7NIJU.js}
RENAMED
|
@@ -2,16 +2,16 @@ import { privatize } from '../@ember/-internals/container/index.js';
|
|
|
2
2
|
import { getOwner } from '../@ember/-internals/owner/index.js';
|
|
3
3
|
import './super-Cm_a_cLQ.js';
|
|
4
4
|
import '../@ember/-internals/environment/index.js';
|
|
5
|
-
import { O as OutletView, a as OutletTemplate, I as Input, L as LinkTo, T as Textarea, R as RootTemplate, b as Renderer } from './index-
|
|
5
|
+
import { O as OutletView, a as OutletTemplate, I as Input, L as LinkTo, T as Textarea, R as RootTemplate, b as Renderer } from './index-r-Dz_hzt.js';
|
|
6
6
|
import './fragment-D7nBU9ae.js';
|
|
7
7
|
import '../@glimmer/validator/index.js';
|
|
8
8
|
import './reference-BNqcwZWH.js';
|
|
9
|
-
import './on-
|
|
10
|
-
import './constants-
|
|
9
|
+
import './on-CersD7PL.js';
|
|
10
|
+
import './constants-DThhT5fu.js';
|
|
11
11
|
import './capabilities-DXA-L0iT.js';
|
|
12
|
-
import { c as clientBuilder } from './element-builder-
|
|
13
|
-
import { r as rehydrationBuilder } from './rehydrate-builder-
|
|
14
|
-
import { s as serializeBuilder } from './serialize-builder-
|
|
12
|
+
import { c as clientBuilder } from './element-builder-CzXb9l1W.js';
|
|
13
|
+
import { r as rehydrationBuilder } from './rehydrate-builder-D3t52iGR.js';
|
|
14
|
+
import { s as serializeBuilder } from './serialize-builder-iXiRs1Pg.js';
|
|
15
15
|
|
|
16
16
|
function setupApplicationRegistry(registry) {
|
|
17
17
|
// because we are using injections we can't use instantiate false
|
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.
|
|
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":
|
|
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":
|
|
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":
|
|
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":
|
|
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":
|
|
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":
|
|
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":
|
|
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":
|
|
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":
|
|
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":
|
|
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":
|
|
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":
|
|
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":
|
|
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":
|
|
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":
|
|
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":
|
|
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":
|
|
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":
|
|
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":
|
|
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":
|
|
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,
|
|
@@ -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,
|
|
@@ -24283,7 +24378,7 @@
|
|
|
24283
24378
|
},
|
|
24284
24379
|
{
|
|
24285
24380
|
"message": "replacing incorrect tag: returns with return",
|
|
24286
|
-
"line": " packages/@ember/helper/index.ts:
|
|
24381
|
+
"line": " packages/@ember/helper/index.ts:267"
|
|
24287
24382
|
},
|
|
24288
24383
|
{
|
|
24289
24384
|
"message": "unknown tag: internal",
|
|
@@ -24955,31 +25050,31 @@
|
|
|
24955
25050
|
},
|
|
24956
25051
|
{
|
|
24957
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).",
|
|
24958
|
-
"line": " packages/@ember/helper/index.ts:
|
|
25053
|
+
"line": " packages/@ember/helper/index.ts:339"
|
|
24959
25054
|
},
|
|
24960
25055
|
{
|
|
24961
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```",
|
|
24962
|
-
"line": " packages/@ember/helper/index.ts:
|
|
25057
|
+
"line": " packages/@ember/helper/index.ts:360"
|
|
24963
25058
|
},
|
|
24964
25059
|
{
|
|
24965
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).",
|
|
24966
|
-
"line": " packages/@ember/helper/index.ts:
|
|
25061
|
+
"line": " packages/@ember/helper/index.ts:383"
|
|
24967
25062
|
},
|
|
24968
25063
|
{
|
|
24969
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).",
|
|
24970
|
-
"line": " packages/@ember/helper/index.ts:
|
|
25065
|
+
"line": " packages/@ember/helper/index.ts:408"
|
|
24971
25066
|
},
|
|
24972
25067
|
{
|
|
24973
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```",
|
|
24974
|
-
"line": " packages/@ember/helper/index.ts:
|
|
25069
|
+
"line": " packages/@ember/helper/index.ts:453"
|
|
24975
25070
|
},
|
|
24976
25071
|
{
|
|
24977
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.",
|
|
24978
|
-
"line": " packages/@ember/helper/index.ts:
|
|
25073
|
+
"line": " packages/@ember/helper/index.ts:475"
|
|
24979
25074
|
},
|
|
24980
25075
|
{
|
|
24981
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```",
|
|
24982
|
-
"line": " packages/@ember/helper/index.ts:
|
|
25077
|
+
"line": " packages/@ember/helper/index.ts:495"
|
|
24983
25078
|
},
|
|
24984
25079
|
{
|
|
24985
25080
|
"message": "Missing item type",
|
|
@@ -25925,6 +26020,14 @@
|
|
|
25925
26020
|
"message": "Missing item type",
|
|
25926
26021
|
"line": " packages/@glimmer/runtime/lib/component/interfaces.ts:8"
|
|
25927
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
|
+
},
|
|
25928
26031
|
{
|
|
25929
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",
|
|
25930
26033
|
"line": " packages/@glimmer/runtime/lib/vm/append.ts:131"
|
package/package.json
CHANGED
|
@@ -51,6 +51,17 @@ declare module '@ember/-internals/environment/lib/env' {
|
|
|
51
51
|
@public
|
|
52
52
|
*/
|
|
53
53
|
LOG_VERSION: boolean;
|
|
54
|
+
/**
|
|
55
|
+
The `LOG_INSPECTOR_HINT` property, when true, tells Ember to log a hint
|
|
56
|
+
suggesting the Ember Inspector browser extension when it is not detected.
|
|
57
|
+
|
|
58
|
+
@property LOG_INSPECTOR_HINT
|
|
59
|
+
@type Boolean
|
|
60
|
+
@default true
|
|
61
|
+
@for EmberENV
|
|
62
|
+
@public
|
|
63
|
+
*/
|
|
64
|
+
LOG_INSPECTOR_HINT: boolean;
|
|
54
65
|
RAISE_ON_DEPRECATION: boolean;
|
|
55
66
|
STRUCTURED_PROFILE: boolean;
|
|
56
67
|
/**
|
|
@@ -492,4 +492,52 @@ declare module '@ember/helper' {
|
|
|
492
492
|
*/
|
|
493
493
|
export const uniqueId: typeof glimmerUniqueId;
|
|
494
494
|
export type UniqueIdHelper = typeof uniqueId;
|
|
495
|
+
/**
|
|
496
|
+
* The `{{eq}}` helper returns `true` if its two arguments are strictly equal
|
|
497
|
+
* (`===`). Takes exactly two arguments.
|
|
498
|
+
*
|
|
499
|
+
* ```js
|
|
500
|
+
* import { eq } from '@ember/helper';
|
|
501
|
+
*
|
|
502
|
+
* <template>
|
|
503
|
+
* {{if (eq @status "active") "Active" "Inactive"}}
|
|
504
|
+
* </template>
|
|
505
|
+
* ```
|
|
506
|
+
*
|
|
507
|
+
* In strict-mode (gjs/gts) templates, `eq` is available as a keyword and
|
|
508
|
+
* does not need to be imported.
|
|
509
|
+
*
|
|
510
|
+
* @method eq
|
|
511
|
+
* @param {unknown} left
|
|
512
|
+
* @param {unknown} right
|
|
513
|
+
* @return {boolean}
|
|
514
|
+
* @public
|
|
515
|
+
*/
|
|
516
|
+
export const eq: EqHelper;
|
|
517
|
+
export interface EqHelper extends Opaque<"helper:eq"> {
|
|
518
|
+
}
|
|
519
|
+
/**
|
|
520
|
+
* The `{{neq}}` helper returns `true` if its two arguments are strictly
|
|
521
|
+
* not equal (`!==`). Takes exactly two arguments.
|
|
522
|
+
*
|
|
523
|
+
* ```js
|
|
524
|
+
* import { neq } from '@ember/helper';
|
|
525
|
+
*
|
|
526
|
+
* <template>
|
|
527
|
+
* {{if (neq @status "active") "Not active" "Active"}}
|
|
528
|
+
* </template>
|
|
529
|
+
* ```
|
|
530
|
+
*
|
|
531
|
+
* In strict-mode (gjs/gts) templates, `neq` is available as a keyword and
|
|
532
|
+
* does not need to be imported.
|
|
533
|
+
*
|
|
534
|
+
* @method neq
|
|
535
|
+
* @param {unknown} left
|
|
536
|
+
* @param {unknown} right
|
|
537
|
+
* @return {boolean}
|
|
538
|
+
* @public
|
|
539
|
+
*/
|
|
540
|
+
export const neq: NeqHelper;
|
|
541
|
+
export interface NeqHelper extends Opaque<"helper:neq"> {
|
|
542
|
+
}
|
|
495
543
|
}
|
|
@@ -13,10 +13,12 @@ declare module '@glimmer/runtime' {
|
|
|
13
13
|
export { type EnvironmentDelegate, EnvironmentImpl, inTransaction, runtimeOptions, } from "@glimmer/runtime/lib/environment";
|
|
14
14
|
export { array } from "@glimmer/runtime/lib/helpers/array";
|
|
15
15
|
export { concat } from "@glimmer/runtime/lib/helpers/concat";
|
|
16
|
+
export { eq } from "@glimmer/runtime/lib/helpers/eq";
|
|
16
17
|
export { fn } from "@glimmer/runtime/lib/helpers/fn";
|
|
17
18
|
export { get } from "@glimmer/runtime/lib/helpers/get";
|
|
18
19
|
export { hash } from "@glimmer/runtime/lib/helpers/hash";
|
|
19
20
|
export { invokeHelper } from "@glimmer/runtime/lib/helpers/invoke";
|
|
21
|
+
export { neq } from "@glimmer/runtime/lib/helpers/neq";
|
|
20
22
|
export { on } from "@glimmer/runtime/lib/modifiers/on";
|
|
21
23
|
export { renderComponent, renderMain, renderSync } from "@glimmer/runtime/lib/render";
|
|
22
24
|
export { DynamicScopeImpl, ScopeImpl } from "@glimmer/runtime/lib/scope";
|
package/types/stable/index.d.ts
CHANGED
|
@@ -470,11 +470,13 @@
|
|
|
470
470
|
/// <reference path="./@glimmer/runtime/lib/environment.d.ts" />
|
|
471
471
|
/// <reference path="./@glimmer/runtime/lib/helpers/array.d.ts" />
|
|
472
472
|
/// <reference path="./@glimmer/runtime/lib/helpers/concat.d.ts" />
|
|
473
|
+
/// <reference path="./@glimmer/runtime/lib/helpers/eq.d.ts" />
|
|
473
474
|
/// <reference path="./@glimmer/runtime/lib/helpers/fn.d.ts" />
|
|
474
475
|
/// <reference path="./@glimmer/runtime/lib/helpers/get.d.ts" />
|
|
475
476
|
/// <reference path="./@glimmer/runtime/lib/helpers/hash.d.ts" />
|
|
476
477
|
/// <reference path="./@glimmer/runtime/lib/helpers/internal-helper.d.ts" />
|
|
477
478
|
/// <reference path="./@glimmer/runtime/lib/helpers/invoke.d.ts" />
|
|
479
|
+
/// <reference path="./@glimmer/runtime/lib/helpers/neq.d.ts" />
|
|
478
480
|
/// <reference path="./@glimmer/runtime/lib/modifiers/on.d.ts" />
|
|
479
481
|
/// <reference path="./@glimmer/runtime/lib/opcodes.d.ts" />
|
|
480
482
|
/// <reference path="./@glimmer/runtime/lib/references/class-list.d.ts" />
|