ember-source 4.10.0-beta.5 → 4.10.0

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 (29) hide show
  1. package/CHANGELOG.md +8 -20
  2. package/build-metadata.json +3 -3
  3. package/dist/ember-template-compiler.js +31 -11
  4. package/dist/ember-template-compiler.map +1 -1
  5. package/dist/ember-testing.js +3 -3
  6. package/dist/ember-testing.map +1 -1
  7. package/dist/ember.debug.js +209 -70
  8. package/dist/ember.debug.map +1 -1
  9. package/dist/header/license.js +1 -1
  10. package/dist/packages/@ember/-internals/glimmer/index.js +1 -1
  11. package/dist/packages/@ember/-internals/metal/index.js +3 -4
  12. package/dist/packages/@ember/-internals/string/index.js +83 -0
  13. package/dist/packages/@ember/-internals/views/lib/views/states/default.js +1 -2
  14. package/dist/packages/@ember/-internals/views/lib/views/states/destroying.js +2 -3
  15. package/dist/packages/@ember/-internals/views/lib/views/states/in_dom.js +1 -2
  16. package/dist/packages/@ember/debug/container-debug-adapter.js +1 -1
  17. package/dist/packages/@ember/debug/data-adapter.js +1 -1
  18. package/dist/packages/@ember/debug/index.js +1 -2
  19. package/dist/packages/@ember/engine/instance.js +1 -2
  20. package/dist/packages/@ember/error/index.js +26 -4
  21. package/dist/packages/@ember/object/promise-proxy-mixin.js +1 -2
  22. package/dist/packages/@ember/routing/lib/utils.js +1 -2
  23. package/dist/packages/@ember/routing/router.js +2 -3
  24. package/dist/packages/@ember/string/index.js +31 -6
  25. package/dist/packages/@ember/string/lib/string_registry.js +13 -2
  26. package/dist/packages/ember/index.js +21 -25
  27. package/dist/packages/ember/version.js +1 -1
  28. package/docs/data.json +192 -81
  29. package/package.json +4 -7
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": "4.10.0-beta.5"
6
+ "version": "4.10.0"
7
7
  },
8
8
  "files": {
9
9
  "node_modules/rsvp/lib/rsvp/promise/all.js": {
@@ -818,6 +818,15 @@
818
818
  "Ember": 1
819
819
  }
820
820
  },
821
+ "packages/@ember/-internals/string/index.ts": {
822
+ "name": "packages/@ember/-internals/string/index.ts",
823
+ "modules": {},
824
+ "classes": {
825
+ "Ember.String": 1
826
+ },
827
+ "fors": {},
828
+ "namespaces": {}
829
+ },
821
830
  "packages/@ember/-internals/utils/lib/guid.ts": {
822
831
  "name": "packages/@ember/-internals/utils/lib/guid.ts",
823
832
  "modules": {},
@@ -1856,6 +1865,7 @@
1856
1865
  "ContainerProxyMixin": 1,
1857
1866
  "RegistryProxyMixin": 1,
1858
1867
  "Ember.TargetActionSupport": 1,
1868
+ "Ember.String": 1,
1859
1869
  "Ember.ActionSupport": 1,
1860
1870
  "Ember.ClassNamesSupport": 1,
1861
1871
  "Ember.ViewMixin": 1,
@@ -2025,7 +2035,7 @@
2025
2035
  "namespaces": {},
2026
2036
  "tag": "module",
2027
2037
  "file": "packages/@ember/debug/index.ts",
2028
- "line": 131,
2038
+ "line": 130,
2029
2039
  "access": "public",
2030
2040
  "tagname": ""
2031
2041
  },
@@ -2220,7 +2230,7 @@
2220
2230
  "namespaces": {},
2221
2231
  "tag": "module",
2222
2232
  "file": "packages/@ember/engine/instance.ts",
2223
- "line": 39
2233
+ "line": 38
2224
2234
  },
2225
2235
  "@ember/enumerable": {
2226
2236
  "name": "@ember/enumerable",
@@ -2250,7 +2260,7 @@
2250
2260
  },
2251
2261
  "tag": "module",
2252
2262
  "file": "packages/@ember/error/index.ts",
2253
- "line": 5
2263
+ "line": 15
2254
2264
  },
2255
2265
  "@ember/helper": {
2256
2266
  "name": "@ember/helper",
@@ -2353,7 +2363,7 @@
2353
2363
  "namespaces": {},
2354
2364
  "tag": "module",
2355
2365
  "file": "packages/@ember/object/promise-proxy-mixin.ts",
2356
- "line": 47
2366
+ "line": 46
2357
2367
  },
2358
2368
  "@ember/object/proxy": {
2359
2369
  "name": "@ember/object/proxy",
@@ -2531,7 +2541,7 @@
2531
2541
  "namespaces": {},
2532
2542
  "tag": "module",
2533
2543
  "file": "packages/@ember/routing/router.ts",
2534
- "line": 146
2544
+ "line": 145
2535
2545
  },
2536
2546
  "@ember/routing/transition": {
2537
2547
  "name": "@ember/routing/transition",
@@ -2891,7 +2901,7 @@
2891
2901
  "module": "@ember/object",
2892
2902
  "namespace": "",
2893
2903
  "file": "packages/@ember/-internals/metal/lib/computed.ts",
2894
- "line": 77,
2904
+ "line": 76,
2895
2905
  "description": "`@computed` is a decorator that turns a JavaScript getter and setter into a\ncomputed property, which is a _cached, trackable value_. By default the getter\nwill only be called once and the result will be cached. You can specify\nvarious properties that your computed property depends on. This will force the\ncached result to be cleared if the dependencies are modified, and lazily recomputed the next time something asks for it.\n\nIn the following example we decorate a getter - `fullName` - by calling\n`computed` with the property dependencies (`firstName` and `lastName`) as\narguments. The `fullName` getter will be called once (regardless of how many\ntimes it is accessed) as long as its dependencies do not change. Once\n`firstName` or `lastName` are updated any future calls to `fullName` will\nincorporate the new values, and any watchers of the value such as templates\nwill be updated:\n\n```javascript\nimport { computed, set } from '@ember/object';\n\nclass Person {\n constructor(firstName, lastName) {\n set(this, 'firstName', firstName);\n set(this, 'lastName', lastName);\n }\n\n @computed('firstName', 'lastName')\n get fullName() {\n return `${this.firstName} ${this.lastName}`;\n }\n});\n\nlet tom = new Person('Tom', 'Dale');\n\ntom.fullName; // 'Tom Dale'\n```\n\nYou can also provide a setter, which will be used when updating the computed\nproperty. Ember's `set` function must be used to update the property\nsince it will also notify observers of the property:\n\n```javascript\nimport { computed, set } from '@ember/object';\n\nclass Person {\n constructor(firstName, lastName) {\n set(this, 'firstName', firstName);\n set(this, 'lastName', lastName);\n }\n\n @computed('firstName', 'lastName')\n get fullName() {\n return `${this.firstName} ${this.lastName}`;\n }\n\n set fullName(value) {\n let [firstName, lastName] = value.split(' ');\n\n set(this, 'firstName', firstName);\n set(this, 'lastName', lastName);\n }\n});\n\nlet person = new Person();\n\nset(person, 'fullName', 'Peter Wagenet');\nperson.firstName; // 'Peter'\nperson.lastName; // 'Wagenet'\n```\n\nYou can also pass a getter function or object with `get` and `set` functions\nas the last argument to the computed decorator. This allows you to define\ncomputed property _macros_:\n\n```js\nimport { computed } from '@ember/object';\n\nfunction join(...keys) {\n return computed(...keys, function() {\n return keys.map(key => this[key]).join(' ');\n });\n}\n\nclass Person {\n @join('firstName', 'lastName')\n fullName;\n}\n```\n\nNote that when defined this way, getters and setters receive the _key_ of the\nproperty they are decorating as the first argument. Setters receive the value\nthey are setting to as the second argument instead. Additionally, setters must\n_return_ the value that should be cached:\n\n```javascript\nimport { computed, set } from '@ember/object';\n\nfunction fullNameMacro(firstNameKey, lastNameKey) {\n return computed(firstNameKey, lastNameKey, {\n get() {\n return `${this[firstNameKey]} ${this[lastNameKey]}`;\n }\n\n set(key, value) {\n let [firstName, lastName] = value.split(' ');\n\n set(this, firstNameKey, firstName);\n set(this, lastNameKey, lastName);\n\n return value;\n }\n });\n}\n\nclass Person {\n constructor(firstName, lastName) {\n set(this, 'firstName', firstName);\n set(this, 'lastName', lastName);\n }\n\n @fullNameMacro('firstName', 'lastName') fullName;\n});\n\nlet person = new Person();\n\nset(person, 'fullName', 'Peter Wagenet');\nperson.firstName; // 'Peter'\nperson.lastName; // 'Wagenet'\n```\n\nComputed properties can also be used in classic classes. To do this, we\nprovide the getter and setter as the last argument like we would for a macro,\nand we assign it to a property on the class definition. This is an _anonymous_\ncomputed macro:\n\n```javascript\nimport EmberObject, { computed, set } from '@ember/object';\n\nlet Person = EmberObject.extend({\n // these will be supplied by `create`\n firstName: null,\n lastName: null,\n\n fullName: computed('firstName', 'lastName', {\n get() {\n return `${this.firstName} ${this.lastName}`;\n }\n\n set(key, value) {\n let [firstName, lastName] = value.split(' ');\n\n set(this, 'firstName', firstName);\n set(this, 'lastName', lastName);\n\n return value;\n }\n })\n});\n\nlet tom = Person.create({\n firstName: 'Tom',\n lastName: 'Dale'\n});\n\ntom.get('fullName') // 'Tom Dale'\n```\n\nYou can overwrite computed property without setters with a normal property (no\nlonger computed) that won't change if dependencies change. You can also mark\ncomputed property as `.readOnly()` and block all attempts to set it.\n\n```javascript\nimport { computed, set } from '@ember/object';\n\nclass Person {\n constructor(firstName, lastName) {\n set(this, 'firstName', firstName);\n set(this, 'lastName', lastName);\n }\n\n @computed('firstName', 'lastName').readOnly()\n get fullName() {\n return `${this.firstName} ${this.lastName}`;\n }\n});\n\nlet person = new Person();\nperson.set('fullName', 'Peter Wagenet'); // Uncaught Error: Cannot set read-only property \"fullName\" on object: <(...):emberXXX>\n```\n\nAdditional resources:\n- [Decorators RFC](https://github.com/emberjs/rfcs/blob/master/text/0408-decorators.md)\n- [New CP syntax RFC](https://github.com/emberjs/rfcs/blob/master/text/0011-improved-cp-syntax.md)\n- [New computed syntax explained in \"Ember 1.12 released\" ](https://emberjs.com/blog/2015/05/13/ember-1-12-released.html#toc_new-computed-syntax)",
2896
2906
  "access": "public",
2897
2907
  "tagname": ""
@@ -3336,6 +3346,22 @@
3336
3346
  "access": "private",
3337
3347
  "tagname": ""
3338
3348
  },
3349
+ "Ember.String": {
3350
+ "name": "Ember.String",
3351
+ "shortname": "String",
3352
+ "classitems": [],
3353
+ "plugins": [],
3354
+ "extensions": [],
3355
+ "plugin_for": [],
3356
+ "extension_for": [],
3357
+ "module": "ember",
3358
+ "namespace": "Ember",
3359
+ "file": "packages/@ember/-internals/string/index.ts",
3360
+ "line": 42,
3361
+ "description": "Defines string helper methods used internally in ember-source.",
3362
+ "access": "private",
3363
+ "tagname": ""
3364
+ },
3339
3365
  "@ember/object/internals": {
3340
3366
  "name": "@ember/object/internals",
3341
3367
  "shortname": "@ember/object/internals",
@@ -3779,7 +3805,7 @@
3779
3805
  "module": "@ember/engine",
3780
3806
  "namespace": "",
3781
3807
  "file": "packages/@ember/engine/instance.ts",
3782
- "line": 39,
3808
+ "line": 38,
3783
3809
  "description": "The `EngineInstance` encapsulates all of the stateful aspects of a\nrunning `Engine`.",
3784
3810
  "access": "public",
3785
3811
  "tagname": "",
@@ -3838,12 +3864,13 @@
3838
3864
  "module": "@ember/error",
3839
3865
  "namespace": "Ember",
3840
3866
  "file": "packages/@ember/error/index.ts",
3841
- "line": 5,
3867
+ "line": 15,
3842
3868
  "description": "The JavaScript Error object used by Ember.assert.",
3843
3869
  "extends": "Error",
3844
3870
  "is_constructor": 1,
3845
3871
  "access": "public",
3846
- "tagname": ""
3872
+ "tagname": "",
3873
+ "deprecated": true
3847
3874
  },
3848
3875
  "@ember/helper": {
3849
3876
  "name": "@ember/helper",
@@ -4008,7 +4035,7 @@
4008
4035
  "module": "@ember/object/promise-proxy-mixin",
4009
4036
  "namespace": "",
4010
4037
  "file": "packages/@ember/object/promise-proxy-mixin.ts",
4011
- "line": 47,
4038
+ "line": 46,
4012
4039
  "description": "A low level mixin making ObjectProxy promise-aware.\n\n```javascript\nimport { resolve } from 'rsvp';\nimport $ from 'jquery';\nimport ObjectProxy from '@ember/object/proxy';\nimport PromiseProxyMixin from '@ember/object/promise-proxy-mixin';\n\nlet ObjectPromiseProxy = ObjectProxy.extend(PromiseProxyMixin);\n\nlet proxy = ObjectPromiseProxy.create({\n promise: resolve($.getJSON('/some/remote/data.json'))\n});\n\nproxy.then(function(json){\n // the json\n}, function(reason) {\n // the reason why you have no json\n});\n```\n\nthe proxy has bindable attributes which\ntrack the promises life cycle\n\n```javascript\nproxy.get('isPending') //=> true\nproxy.get('isSettled') //=> false\nproxy.get('isRejected') //=> false\nproxy.get('isFulfilled') //=> false\n```\n\nWhen the $.getJSON completes, and the promise is fulfilled\nwith json, the life cycle attributes will update accordingly.\nNote that $.getJSON doesn't return an ECMA specified promise,\nit is useful to wrap this with an `RSVP.resolve` so that it behaves\nas a spec compliant promise.\n\n```javascript\nproxy.get('isPending') //=> false\nproxy.get('isSettled') //=> true\nproxy.get('isRejected') //=> false\nproxy.get('isFulfilled') //=> true\n```\n\nAs the proxy is an ObjectProxy, and the json now its content,\nall the json properties will be available directly from the proxy.\n\n```javascript\n// Assuming the following json:\n{\n firstName: 'Stefan',\n lastName: 'Penner'\n}\n\n// both properties will accessible on the proxy\nproxy.get('firstName') //=> 'Stefan'\nproxy.get('lastName') //=> 'Penner'\n```",
4013
4040
  "access": "public",
4014
4041
  "tagname": ""
@@ -4258,7 +4285,7 @@
4258
4285
  "module": "@ember/routing/router",
4259
4286
  "namespace": "",
4260
4287
  "file": "packages/@ember/routing/router.ts",
4261
- "line": 146,
4288
+ "line": 145,
4262
4289
  "description": "The `EmberRouter` class manages the application state and URLs. Refer to\nthe [routing guide](https://guides.emberjs.com/release/routing/) for documentation.",
4263
4290
  "extends": "EmberObject",
4264
4291
  "uses": [
@@ -4336,7 +4363,9 @@
4336
4363
  "line": 74,
4337
4364
  "description": "Defines string helper methods including string formatting and localization.",
4338
4365
  "access": "public",
4339
- "tagname": ""
4366
+ "tagname": "",
4367
+ "deprecated": true,
4368
+ "deprecationMessage": "Add the package `@ember/string` to your project to use in place of this module."
4340
4369
  },
4341
4370
  "@ember/utils": {
4342
4371
  "name": "@ember/utils",
@@ -6980,7 +7009,7 @@
6980
7009
  },
6981
7010
  {
6982
7011
  "file": "packages/@ember/-internals/metal/lib/computed.ts",
6983
- "line": 607,
7012
+ "line": 606,
6984
7013
  "description": "Call on a computed property to set it into read-only mode. When in this\nmode the computed property will throw an error when set.\n\nExample:\n\n```javascript\nimport { computed, set } from '@ember/object';\n\nclass Person {\n @computed().readOnly()\n get guid() {\n return 'guid-guid-guid';\n }\n}\n\nlet person = new Person();\nset(person, 'guid', 'new-guid'); // will throw an exception\n```\n\nClassic Class Example:\n\n```javascript\nimport EmberObject, { computed } from '@ember/object';\n\nlet Person = EmberObject.extend({\n guid: computed(function() {\n return 'guid-guid-guid';\n }).readOnly()\n});\n\nlet person = Person.create();\nperson.set('guid', 'new-guid'); // will throw an exception\n```",
6985
7014
  "itemtype": "method",
6986
7015
  "name": "readOnly",
@@ -6996,7 +7025,7 @@
6996
7025
  },
6997
7026
  {
6998
7027
  "file": "packages/@ember/-internals/metal/lib/computed.ts",
6999
- "line": 657,
7028
+ "line": 656,
7000
7029
  "description": "In some cases, you may want to annotate computed properties with additional\nmetadata about how they function or what values they operate on. For example,\ncomputed property functions may close over variables that are then no longer\navailable for introspection. You can pass a hash of these values to a\ncomputed property.\n\nExample:\n\n```javascript\nimport { computed } from '@ember/object';\nimport Person from 'my-app/utils/person';\n\nclass Store {\n @computed().meta({ type: Person })\n get person() {\n let personId = this.personId;\n return Person.create({ id: personId });\n }\n}\n```\n\nClassic Class Example:\n\n```javascript\nimport { computed } from '@ember/object';\nimport Person from 'my-app/utils/person';\n\nconst Store = EmberObject.extend({\n person: computed(function() {\n let personId = this.get('personId');\n return Person.create({ id: personId });\n }).meta({ type: Person })\n});\n```\n\nThe hash that you pass to the `meta()` function will be saved on the\ncomputed property descriptor under the `_meta` key. Ember runtime\nexposes a public API for retrieving these values from classes,\nvia the `metaForProperty()` function.",
7001
7030
  "itemtype": "method",
7002
7031
  "name": "meta",
@@ -7015,19 +7044,19 @@
7015
7044
  },
7016
7045
  {
7017
7046
  "file": "packages/@ember/-internals/metal/lib/computed.ts",
7018
- "line": 716,
7047
+ "line": 715,
7019
7048
  "class": "ComputedProperty",
7020
7049
  "module": "@ember/object"
7021
7050
  },
7022
7051
  {
7023
7052
  "file": "packages/@ember/-internals/metal/lib/computed.ts",
7024
- "line": 722,
7053
+ "line": 721,
7025
7054
  "class": "ComputedProperty",
7026
7055
  "module": "@ember/object"
7027
7056
  },
7028
7057
  {
7029
7058
  "file": "packages/@ember/-internals/metal/lib/computed.ts",
7030
- "line": 730,
7059
+ "line": 729,
7031
7060
  "description": "This helper returns a new property descriptor that wraps the passed\ncomputed property function. You can use this helper to define properties with\nnative decorator syntax, mixins, or via `defineProperty()`.\n\nExample:\n\n```js\nimport { computed, set } from '@ember/object';\n\nclass Person {\n constructor() {\n this.firstName = 'Betty';\n this.lastName = 'Jones';\n },\n\n @computed('firstName', 'lastName')\n get fullName() {\n return `${this.firstName} ${this.lastName}`;\n }\n}\n\nlet client = new Person();\n\nclient.fullName; // 'Betty Jones'\n\nset(client, 'lastName', 'Fuller');\nclient.fullName; // 'Betty Fuller'\n```\n\nClassic Class Example:\n\n```js\nimport EmberObject, { computed } from '@ember/object';\n\nlet Person = EmberObject.extend({\n init() {\n this._super(...arguments);\n\n this.firstName = 'Betty';\n this.lastName = 'Jones';\n },\n\n fullName: computed('firstName', 'lastName', function() {\n return `${this.get('firstName')} ${this.get('lastName')}`;\n })\n});\n\nlet client = Person.create();\n\nclient.get('fullName'); // 'Betty Jones'\n\nclient.set('lastName', 'Fuller');\nclient.get('fullName'); // 'Betty Fuller'\n```\n\nYou can also provide a setter, either directly on the class using native class\nsyntax, or by passing a hash with `get` and `set` functions.\n\nExample:\n\n```js\nimport { computed, set } from '@ember/object';\n\nclass Person {\n constructor() {\n this.firstName = 'Betty';\n this.lastName = 'Jones';\n },\n\n @computed('firstName', 'lastName')\n get fullName() {\n return `${this.firstName} ${this.lastName}`;\n }\n\n set fullName(value) {\n let [firstName, lastName] = value.split(/\\s+/);\n\n set(this, 'firstName', firstName);\n set(this, 'lastName', lastName);\n\n return value;\n }\n}\n\nlet client = new Person();\n\nclient.fullName; // 'Betty Jones'\n\nset(client, 'lastName', 'Fuller');\nclient.fullName; // 'Betty Fuller'\n```\n\nClassic Class Example:\n\n```js\nimport EmberObject, { computed } from '@ember/object';\n\nlet Person = EmberObject.extend({\n init() {\n this._super(...arguments);\n\n this.firstName = 'Betty';\n this.lastName = 'Jones';\n },\n\n fullName: computed('firstName', 'lastName', {\n get(key) {\n return `${this.get('firstName')} ${this.get('lastName')}`;\n },\n set(key, value) {\n let [firstName, lastName] = value.split(/\\s+/);\n this.setProperties({ firstName, lastName });\n return value;\n }\n })\n});\n\nlet client = Person.create();\nclient.get('firstName'); // 'Betty'\n\nclient.set('fullName', 'Carroll Fuller');\nclient.get('firstName'); // 'Carroll'\n```\n\nWhen passed as an argument, the `set` function should accept two parameters,\n`key` and `value`. The value returned from `set` will be the new value of the\nproperty.\n\n_Note: This is the preferred way to define computed properties when writing third-party\nlibraries that depend on or use Ember, since there is no guarantee that the user\nwill have [prototype Extensions](https://guides.emberjs.com/release/configuring-ember/disabling-prototype-extensions/) enabled._",
7032
7061
  "itemtype": "method",
7033
7062
  "name": "computed",
@@ -7056,7 +7085,7 @@
7056
7085
  },
7057
7086
  {
7058
7087
  "file": "packages/@ember/-internals/metal/lib/computed.ts",
7059
- "line": 918,
7088
+ "line": 917,
7060
7089
  "description": "Allows checking if a given property on an object is a computed property. For the most part,\nthis doesn't matter (you would normally just access the property directly and use its value),\nbut for some tooling specific scenarios (e.g. the ember-inspector) it is important to\ndifferentiate if a property is a computed property or a \"normal\" property.\n\nThis will work on either a class's prototype or an instance itself.",
7061
7090
  "static": 1,
7062
7091
  "itemtype": "method",
@@ -7598,7 +7627,7 @@
7598
7627
  },
7599
7628
  {
7600
7629
  "file": "packages/@ember/-internals/metal/lib/property_set.ts",
7601
- "line": 18,
7630
+ "line": 17,
7602
7631
  "description": "Sets the value of a property on an object, respecting computed properties\nand notifying observers and other listeners of the change.\nIf the specified property is not defined on the object and the object\nimplements the `setUnknownProperty` method, then instead of setting the\nvalue of the property on the object, its `setUnknownProperty` handler\nwill be invoked with the two parameters `keyName` and `value`.\n\n```javascript\nimport { set } from '@ember/object';\nset(obj, \"name\", value);\n```",
7603
7632
  "itemtype": "method",
7604
7633
  "name": "set",
@@ -7631,7 +7660,7 @@
7631
7660
  },
7632
7661
  {
7633
7662
  "file": "packages/@ember/-internals/metal/lib/property_set.ts",
7634
- "line": 124,
7663
+ "line": 121,
7635
7664
  "description": "Error-tolerant form of `set`. Will not blow up if any part of the\nchain is `undefined`, `null`, or destroyed.\n\nThis is primarily used when syncing bindings, which may try to update after\nan object has been destroyed.\n\n```javascript\nimport { trySet } from '@ember/object';\n\nlet obj = { name: \"Zoey\" };\ntrySet(obj, \"contacts.twitter\", \"@emberjs\");\n```",
7636
7665
  "itemtype": "method",
7637
7666
  "name": "trySet",
@@ -8446,6 +8475,60 @@
8446
8475
  "module": "ember",
8447
8476
  "namespace": "Ember"
8448
8477
  },
8478
+ {
8479
+ "file": "packages/@ember/-internals/string/index.ts",
8480
+ "line": 49,
8481
+ "description": "Replaces underscores, spaces, or camelCase with dashes.\n\n```javascript\nimport { dasherize } from '@ember/-internals/string';\n\ndasherize('innerHTML'); // 'inner-html'\ndasherize('action_name'); // 'action-name'\ndasherize('css-class-name'); // 'css-class-name'\ndasherize('my favorite items'); // 'my-favorite-items'\ndasherize('privateDocs/ownerInvoice'; // 'private-docs/owner-invoice'\n```",
8482
+ "itemtype": "method",
8483
+ "name": "dasherize",
8484
+ "params": [
8485
+ {
8486
+ "name": "str",
8487
+ "description": "The string to dasherize.",
8488
+ "type": "String"
8489
+ }
8490
+ ],
8491
+ "return": {
8492
+ "description": "the dasherized string.",
8493
+ "type": "String"
8494
+ },
8495
+ "access": "private",
8496
+ "tagname": "",
8497
+ "class": "Ember.String",
8498
+ "module": "ember",
8499
+ "namespace": "Ember"
8500
+ },
8501
+ {
8502
+ "file": "packages/@ember/-internals/string/index.ts",
8503
+ "line": 71,
8504
+ "description": "Returns the UpperCamelCase form of a string.\n\n```javascript\nimport { classify } from '@ember/string';\n\nclassify('innerHTML'); // 'InnerHTML'\nclassify('action_name'); // 'ActionName'\nclassify('css-class-name'); // 'CssClassName'\nclassify('my favorite items'); // 'MyFavoriteItems'\nclassify('private-docs/owner-invoice'); // 'PrivateDocs/OwnerInvoice'\n```",
8505
+ "itemtype": "method",
8506
+ "name": "classify",
8507
+ "params": [
8508
+ {
8509
+ "name": "str",
8510
+ "description": "the string to classify",
8511
+ "type": "String"
8512
+ }
8513
+ ],
8514
+ "return": {
8515
+ "description": "the classified string",
8516
+ "type": "String"
8517
+ },
8518
+ "access": "private",
8519
+ "tagname": "",
8520
+ "class": "Ember.String",
8521
+ "module": "ember",
8522
+ "namespace": "Ember"
8523
+ },
8524
+ {
8525
+ "file": "packages/@ember/-internals/string/index.ts",
8526
+ "line": 93,
8527
+ "description": "Converts a camelized string into all lower case separated by underscores.\n\n```javascript\ndecamelize('innerHTML'); // 'inner_html'\ndecamelize('action_name'); // 'action_name'\ndecamelize('css-class-name'); // 'css-class-name'\ndecamelize('my favorite items'); // 'my favorite items'\n```",
8528
+ "class": "Ember.String",
8529
+ "module": "ember",
8530
+ "namespace": "Ember"
8531
+ },
8449
8532
  {
8450
8533
  "file": "packages/@ember/-internals/utils/lib/guid.ts",
8451
8534
  "line": 8,
@@ -12186,7 +12269,7 @@
12186
12269
  },
12187
12270
  {
12188
12271
  "file": "packages/@ember/debug/index.ts",
12189
- "line": 136,
12272
+ "line": 135,
12190
12273
  "description": "Verify that a certain expectation is met, or throw a exception otherwise.\n\nThis is useful for communicating assumptions in the code to other human\nreaders as well as catching bugs that accidentally violates these\nexpectations.\n\nAssertions are removed from production builds, so they can be freely added\nfor documentation and debugging purposes without worries of incuring any\nperformance penalty. However, because of that, they should not be used for\nchecks that could reasonably fail during normal usage. Furthermore, care\nshould be taken to avoid accidentally relying on side-effects produced from\nevaluating the condition itself, since the code will not run in production.\n\n```javascript\nimport { assert } from '@ember/debug';\n\n// Test for truthiness\nassert('Must pass a string', typeof str === 'string');\n\n// Fail unconditionally\nassert('This code path should never be run');\n```",
12191
12274
  "itemtype": "method",
12192
12275
  "name": "assert",
@@ -12211,7 +12294,7 @@
12211
12294
  },
12212
12295
  {
12213
12296
  "file": "packages/@ember/debug/index.ts",
12214
- "line": 176,
12297
+ "line": 175,
12215
12298
  "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```",
12216
12299
  "itemtype": "method",
12217
12300
  "name": "debug",
@@ -12230,7 +12313,7 @@
12230
12313
  },
12231
12314
  {
12232
12315
  "file": "packages/@ember/debug/index.ts",
12233
- "line": 197,
12316
+ "line": 196,
12234
12317
  "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.",
12235
12318
  "itemtype": "method",
12236
12319
  "name": "info",
@@ -12241,7 +12324,7 @@
12241
12324
  },
12242
12325
  {
12243
12326
  "file": "packages/@ember/debug/index.ts",
12244
- "line": 216,
12327
+ "line": 215,
12245
12328
  "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\nEmber.oldMethod = deprecateFunc('Please use the new, updated method', options, Ember.newMethod);\n```",
12246
12329
  "itemtype": "method",
12247
12330
  "name": "deprecateFunc",
@@ -12275,7 +12358,7 @@
12275
12358
  },
12276
12359
  {
12277
12360
  "file": "packages/@ember/debug/index.ts",
12278
- "line": 261,
12361
+ "line": 260,
12279
12362
  "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```",
12280
12363
  "itemtype": "method",
12281
12364
  "name": "runInDebug",
@@ -12696,7 +12779,7 @@
12696
12779
  },
12697
12780
  {
12698
12781
  "file": "packages/@ember/engine/instance.ts",
12699
- "line": 56,
12782
+ "line": 55,
12700
12783
  "access": "private",
12701
12784
  "tagname": "",
12702
12785
  "itemtype": "method",
@@ -12718,7 +12801,7 @@
12718
12801
  },
12719
12802
  {
12720
12803
  "file": "packages/@ember/engine/instance.ts",
12721
- "line": 68,
12804
+ "line": 67,
12722
12805
  "description": "The base `Engine` for which this is an instance.",
12723
12806
  "itemtype": "property",
12724
12807
  "name": "engine",
@@ -12730,7 +12813,7 @@
12730
12813
  },
12731
12814
  {
12732
12815
  "file": "packages/@ember/engine/instance.ts",
12733
- "line": 107,
12816
+ "line": 106,
12734
12817
  "description": "Initialize the `EngineInstance` and return a promise that resolves\nwith the instance itself when the boot process is complete.\n\nThe primary task here is to run any registered instance initializers.\n\nSee the documentation on `BootOptions` for the options it takes.",
12735
12818
  "access": "public",
12736
12819
  "tagname": "",
@@ -12752,7 +12835,7 @@
12752
12835
  },
12753
12836
  {
12754
12837
  "file": "packages/@ember/engine/instance.ts",
12755
- "line": 132,
12838
+ "line": 131,
12756
12839
  "description": "Unfortunately, a lot of existing code assumes booting an instance is\nsynchronous – specifically, a lot of tests assume the last call to\n`app.advanceReadiness()` or `app.reset()` will result in a new instance\nbeing fully-booted when the current runloop completes.\n\nWe would like new code (like the `visit` API) to stop making this\nassumption, so we created the asynchronous version above that returns a\npromise. But until we have migrated all the code, we would have to expose\nthis method for use *internally* in places where we need to boot an instance\nsynchronously.",
12757
12840
  "access": "private",
12758
12841
  "tagname": "",
@@ -12761,7 +12844,7 @@
12761
12844
  },
12762
12845
  {
12763
12846
  "file": "packages/@ember/engine/instance.ts",
12764
- "line": 173,
12847
+ "line": 172,
12765
12848
  "description": "Unregister a factory.\n\nOverrides `RegistryProxy#unregister` in order to clear any cached instances\nof the unregistered factory.",
12766
12849
  "access": "public",
12767
12850
  "tagname": "",
@@ -12779,7 +12862,7 @@
12779
12862
  },
12780
12863
  {
12781
12864
  "file": "packages/@ember/engine/instance.ts",
12782
- "line": 190,
12865
+ "line": 189,
12783
12866
  "description": "Build a new `EngineInstance` that's a child of this instance.\n\nEngines must be registered by name with their parent engine\n(or application).",
12784
12867
  "access": "private",
12785
12868
  "tagname": "",
@@ -12806,7 +12889,7 @@
12806
12889
  },
12807
12890
  {
12808
12891
  "file": "packages/@ember/engine/instance.ts",
12809
- "line": 220,
12892
+ "line": 219,
12810
12893
  "description": "Clone dependencies shared between an engine instance and its parent.",
12811
12894
  "access": "private",
12812
12895
  "tagname": "",
@@ -12815,6 +12898,12 @@
12815
12898
  "class": "EngineInstance",
12816
12899
  "module": "@ember/engine"
12817
12900
  },
12901
+ {
12902
+ "file": "packages/@ember/error/index.ts",
12903
+ "line": 8,
12904
+ "class": "Ember.Error",
12905
+ "module": "@ember/error"
12906
+ },
12818
12907
  {
12819
12908
  "file": "packages/@ember/helper/index.ts",
12820
12909
  "line": 5,
@@ -14846,7 +14935,7 @@
14846
14935
  },
14847
14936
  {
14848
14937
  "file": "packages/@ember/object/promise-proxy-mixin.ts",
14849
- "line": 111,
14938
+ "line": 110,
14850
14939
  "description": "If the proxied promise is rejected this will contain the reason\nprovided.",
14851
14940
  "itemtype": "property",
14852
14941
  "name": "reason",
@@ -14858,7 +14947,7 @@
14858
14947
  },
14859
14948
  {
14860
14949
  "file": "packages/@ember/object/promise-proxy-mixin.ts",
14861
- "line": 121,
14950
+ "line": 120,
14862
14951
  "description": "Once the proxied promise has settled this will become `false`.",
14863
14952
  "itemtype": "property",
14864
14953
  "name": "isPending",
@@ -14870,7 +14959,7 @@
14870
14959
  },
14871
14960
  {
14872
14961
  "file": "packages/@ember/object/promise-proxy-mixin.ts",
14873
- "line": 129,
14962
+ "line": 128,
14874
14963
  "description": "Once the proxied promise has settled this will become `true`.",
14875
14964
  "itemtype": "property",
14876
14965
  "name": "isSettled",
@@ -14882,7 +14971,7 @@
14882
14971
  },
14883
14972
  {
14884
14973
  "file": "packages/@ember/object/promise-proxy-mixin.ts",
14885
- "line": 138,
14974
+ "line": 137,
14886
14975
  "description": "Will become `true` if the proxied promise is rejected.",
14887
14976
  "itemtype": "property",
14888
14977
  "name": "isRejected",
@@ -14894,7 +14983,7 @@
14894
14983
  },
14895
14984
  {
14896
14985
  "file": "packages/@ember/object/promise-proxy-mixin.ts",
14897
- "line": 146,
14986
+ "line": 145,
14898
14987
  "description": "Will become `true` if the proxied promise is fulfilled.",
14899
14988
  "itemtype": "property",
14900
14989
  "name": "isFulfilled",
@@ -14906,7 +14995,7 @@
14906
14995
  },
14907
14996
  {
14908
14997
  "file": "packages/@ember/object/promise-proxy-mixin.ts",
14909
- "line": 155,
14998
+ "line": 154,
14910
14999
  "description": "The promise whose fulfillment value is being proxied by this object.\n\nThis property must be specified upon creation, and should not be\nchanged once created.\n\nExample:\n\n```javascript\nimport ObjectProxy from '@ember/object/proxy';\nimport PromiseProxyMixin from '@ember/object/promise-proxy-mixin';\n\nObjectProxy.extend(PromiseProxyMixin).create({\n promise: <thenable>\n});\n```",
14911
15000
  "itemtype": "property",
14912
15001
  "name": "promise",
@@ -14917,7 +15006,7 @@
14917
15006
  },
14918
15007
  {
14919
15008
  "file": "packages/@ember/object/promise-proxy-mixin.ts",
14920
- "line": 177,
15009
+ "line": 176,
14921
15010
  "description": "An alias to the proxied promise's `then`.\n\nSee RSVP.Promise.then.",
14922
15011
  "itemtype": "method",
14923
15012
  "name": "then",
@@ -14939,7 +15028,7 @@
14939
15028
  },
14940
15029
  {
14941
15030
  "file": "packages/@ember/object/promise-proxy-mixin.ts",
14942
- "line": 188,
15031
+ "line": 187,
14943
15032
  "description": "An alias to the proxied promise's `catch`.\n\nSee RSVP.Promise.catch.",
14944
15033
  "itemtype": "method",
14945
15034
  "name": "catch",
@@ -14962,7 +15051,7 @@
14962
15051
  },
14963
15052
  {
14964
15053
  "file": "packages/@ember/object/promise-proxy-mixin.ts",
14965
- "line": 200,
15054
+ "line": 199,
14966
15055
  "description": "An alias to the proxied promise's `finally`.\n\nSee RSVP.Promise.finally.",
14967
15056
  "itemtype": "method",
14968
15057
  "name": "finally",
@@ -17122,7 +17211,7 @@
17122
17211
  },
17123
17212
  {
17124
17213
  "file": "packages/@ember/routing/router.ts",
17125
- "line": 156,
17214
+ "line": 155,
17126
17215
  "description": "Represents the URL of the root of the application, often '/'. This prefix is\n assumed on all routes defined on this router.",
17127
17216
  "itemtype": "property",
17128
17217
  "name": "rootURL",
@@ -17134,7 +17223,7 @@
17134
17223
  },
17135
17224
  {
17136
17225
  "file": "packages/@ember/routing/router.ts",
17137
- "line": 167,
17226
+ "line": 166,
17138
17227
  "description": "The `location` property determines the type of URL's that your\n application will use.\n\n The following location types are currently available:\n\n * `history` - use the browser's history API to make the URLs look just like any standard URL\n * `hash` - use `#` to separate the server part of the URL from the Ember part: `/blog/#/posts/new`\n * `none` - do not store the Ember URL in the actual browser URL (mainly used for testing)\n * `auto` - use the best option based on browser capabilities: `history` if possible, then `hash` if possible, otherwise `none`\n\n This value is defaulted to `history` by the `locationType` setting of `/config/environment.js`",
17139
17228
  "itemtype": "property",
17140
17229
  "name": "location",
@@ -17149,7 +17238,7 @@
17149
17238
  },
17150
17239
  {
17151
17240
  "file": "packages/@ember/routing/router.ts",
17152
- "line": 225,
17241
+ "line": 224,
17153
17242
  "description": "The `Router.map` function allows you to define mappings from URLs to routes\nin your application. These mappings are defined within the\nsupplied callback function using `this.route`.\n\nThe first parameter is the name of the route which is used by default as the\npath name as well.\n\nThe second parameter is the optional options hash. Available options are:\n\n * `path`: allows you to provide your own path as well as mark dynamic\n segments.\n * `resetNamespace`: false by default; when nesting routes, ember will\n combine the route names to form the fully-qualified route name, which is\n used with `{{link-to}}` or manually transitioning to routes. Setting\n `resetNamespace: true` will cause the route not to inherit from its\n parent route's names. This is handy for preventing extremely long route names.\n Keep in mind that the actual URL path behavior is still retained.\n\nThe third parameter is a function, which can be used to nest routes.\nNested routes, by default, will have the parent route tree's route name and\npath prepended to it's own.\n\n```app/router.js\nRouter.map(function(){\n this.route('post', { path: '/post/:post_id' }, function() {\n this.route('edit');\n this.route('comments', { resetNamespace: true }, function() {\n this.route('new');\n });\n });\n});\n```",
17154
17243
  "itemtype": "method",
17155
17244
  "name": "map",
@@ -17166,7 +17255,7 @@
17166
17255
  },
17167
17256
  {
17168
17257
  "file": "packages/@ember/routing/router.ts",
17169
- "line": 560,
17258
+ "line": 559,
17170
17259
  "description": "Initializes the current router instance and sets up the change handling\nevent listeners used by the instances `location` implementation.\n\nA property named `initialURL` will be used to determine the initial URL.\nIf no value is found `/` will be used.",
17171
17260
  "itemtype": "method",
17172
17261
  "name": "startRouting",
@@ -17177,7 +17266,7 @@
17177
17266
  },
17178
17267
  {
17179
17268
  "file": "packages/@ember/routing/router.ts",
17180
- "line": 706,
17269
+ "line": 705,
17181
17270
  "description": "Transition the application into another route. The route may\nbe either a single route or route path:",
17182
17271
  "itemtype": "method",
17183
17272
  "name": "transitionTo",
@@ -17211,7 +17300,7 @@
17211
17300
  },
17212
17301
  {
17213
17302
  "file": "packages/@ember/routing/router.ts",
17214
- "line": 751,
17303
+ "line": 750,
17215
17304
  "description": "Similar to `transitionTo`, but instead of adding the destination to the browser's URL history,\nit replaces the entry for the current route.\nWhen the user clicks the \"back\" button in the browser, there will be fewer steps.\nThis is most commonly used to manage redirects in a way that does not cause confusing additions\nto the user's browsing history.",
17216
17305
  "itemtype": "method",
17217
17306
  "name": "replaceWith",
@@ -17245,7 +17334,7 @@
17245
17334
  },
17246
17335
  {
17247
17336
  "file": "packages/@ember/routing/router.ts",
17248
- "line": 778,
17337
+ "line": 777,
17249
17338
  "description": "Determines if the supplied route is currently active.",
17250
17339
  "itemtype": "method",
17251
17340
  "name": "isActive",
@@ -17266,7 +17355,7 @@
17266
17355
  },
17267
17356
  {
17268
17357
  "file": "packages/@ember/routing/router.ts",
17269
- "line": 790,
17358
+ "line": 789,
17270
17359
  "description": "An alternative form of `isActive` that doesn't require\nmanual concatenation of the arguments into a single\narray.",
17271
17360
  "itemtype": "method",
17272
17361
  "name": "isActiveIntent",
@@ -17296,7 +17385,7 @@
17296
17385
  },
17297
17386
  {
17298
17387
  "file": "packages/@ember/routing/router.ts",
17299
- "line": 812,
17388
+ "line": 811,
17300
17389
  "description": "Does this router instance have the given route.",
17301
17390
  "itemtype": "method",
17302
17391
  "name": "hasRoute",
@@ -17311,7 +17400,7 @@
17311
17400
  },
17312
17401
  {
17313
17402
  "file": "packages/@ember/routing/router.ts",
17314
- "line": 823,
17403
+ "line": 822,
17315
17404
  "description": "Resets the state of the router by clearing the current route\nhandlers and deactivating them.",
17316
17405
  "access": "private",
17317
17406
  "tagname": "",
@@ -17322,7 +17411,7 @@
17322
17411
  },
17323
17412
  {
17324
17413
  "file": "packages/@ember/routing/router.ts",
17325
- "line": 971,
17414
+ "line": 970,
17326
17415
  "description": "Serializes the given query params according to their QP meta information.",
17327
17416
  "access": "private",
17328
17417
  "tagname": "",
@@ -17349,7 +17438,7 @@
17349
17438
  },
17350
17439
  {
17351
17440
  "file": "packages/@ember/routing/router.ts",
17352
- "line": 1001,
17441
+ "line": 1000,
17353
17442
  "description": "Serializes the value of a query parameter based on a type",
17354
17443
  "access": "private",
17355
17444
  "tagname": "",
@@ -17372,7 +17461,7 @@
17372
17461
  },
17373
17462
  {
17374
17463
  "file": "packages/@ember/routing/router.ts",
17375
- "line": 1019,
17464
+ "line": 1018,
17376
17465
  "description": "Deserializes the given query params according to their QP meta information.",
17377
17466
  "access": "private",
17378
17467
  "tagname": "",
@@ -17399,7 +17488,7 @@
17399
17488
  },
17400
17489
  {
17401
17490
  "file": "packages/@ember/routing/router.ts",
17402
- "line": 1047,
17491
+ "line": 1046,
17403
17492
  "description": "Deserializes the value of a query parameter based on a default type",
17404
17493
  "access": "private",
17405
17494
  "tagname": "",
@@ -17422,7 +17511,7 @@
17422
17511
  },
17423
17512
  {
17424
17513
  "file": "packages/@ember/routing/router.ts",
17425
- "line": 1068,
17514
+ "line": 1067,
17426
17515
  "description": "Removes (prunes) any query params with default values from the given QP\nobject. Default values are determined from the QP meta information per key.",
17427
17516
  "access": "private",
17428
17517
  "tagname": "",
@@ -17449,7 +17538,7 @@
17449
17538
  },
17450
17539
  {
17451
17540
  "file": "packages/@ember/routing/router.ts",
17452
- "line": 1149,
17541
+ "line": 1148,
17453
17542
  "description": "Prepares the query params for a URL or Transition. Restores any undefined QP\nkeys/values, serializes all values, and then prunes any default values.",
17454
17543
  "access": "private",
17455
17544
  "tagname": "",
@@ -17486,7 +17575,7 @@
17486
17575
  },
17487
17576
  {
17488
17577
  "file": "packages/@ember/routing/router.ts",
17489
- "line": 1176,
17578
+ "line": 1175,
17490
17579
  "description": "Returns the meta information for the query params of a given route. This\nwill be overridden to allow support for lazy routes.",
17491
17580
  "access": "private",
17492
17581
  "tagname": "",
@@ -17508,7 +17597,7 @@
17508
17597
  },
17509
17598
  {
17510
17599
  "file": "packages/@ember/routing/router.ts",
17511
- "line": 1190,
17600
+ "line": 1189,
17512
17601
  "description": "Returns a merged query params meta object for a given set of routeInfos.\nUseful for knowing what query params are available for a given route hierarchy.",
17513
17602
  "access": "private",
17514
17603
  "tagname": "",
@@ -17530,7 +17619,7 @@
17530
17619
  },
17531
17620
  {
17532
17621
  "file": "packages/@ember/routing/router.ts",
17533
- "line": 1252,
17622
+ "line": 1251,
17534
17623
  "description": "Maps all query param keys to their fully scoped property name of the form\n`controllerName:propName`.",
17535
17624
  "access": "private",
17536
17625
  "tagname": "",
@@ -17562,7 +17651,7 @@
17562
17651
  },
17563
17652
  {
17564
17653
  "file": "packages/@ember/routing/router.ts",
17565
- "line": 1290,
17654
+ "line": 1289,
17566
17655
  "description": "Hydrates (adds/restores) any query params that have pre-existing values into\nthe given queryParams hash. This is what allows query params to be \"sticky\"\nand restore their last known values for their scope.",
17567
17656
  "access": "private",
17568
17657
  "tagname": "",
@@ -17589,7 +17678,7 @@
17589
17678
  },
17590
17679
  {
17591
17680
  "file": "packages/@ember/routing/router.ts",
17592
- "line": 1461,
17681
+ "line": 1460,
17593
17682
  "description": "Handles updating the paths and notifying any listeners of the URL\nchange.\n\nTriggers the router level `didTransition` hook.\n\nFor example, to notify google analytics when the route changes,\nyou could use this hook. (Note: requires also including GA scripts, etc.)\n\n```javascript\nimport config from './config/environment';\nimport EmberRouter from '@ember/routing/router';\nimport { service } from '@ember/service';\n\nlet Router = EmberRouter.extend({\n location: config.locationType,\n\n router: service(),\n\n didTransition: function() {\n this._super(...arguments);\n\n ga('send', 'pageview', {\n page: this.router.currentURL,\n title: this.router.currentRouteName,\n });\n }\n});\n```",
17594
17683
  "itemtype": "method",
17595
17684
  "name": "didTransition",
@@ -17601,7 +17690,7 @@
17601
17690
  },
17602
17691
  {
17603
17692
  "file": "packages/@ember/routing/router.ts",
17604
- "line": 1498,
17693
+ "line": 1497,
17605
17694
  "description": "Handles notifying any listeners of an impending URL\nchange.\n\nTriggers the router level `willTransition` hook.",
17606
17695
  "itemtype": "method",
17607
17696
  "name": "willTransition",
@@ -17613,7 +17702,7 @@
17613
17702
  },
17614
17703
  {
17615
17704
  "file": "packages/@ember/routing/router.ts",
17616
- "line": 1511,
17705
+ "line": 1510,
17617
17706
  "description": "Represents the current URL.",
17618
17707
  "itemtype": "property",
17619
17708
  "name": "url",
@@ -17625,7 +17714,7 @@
17625
17714
  },
17626
17715
  {
17627
17716
  "file": "packages/@ember/routing/router.ts",
17628
- "line": 1678,
17717
+ "line": 1677,
17629
17718
  "description": "Finds the name of the substate route if it exists for the given route. A\nsubstate route is of the form `route_state`, such as `foo_loading`.",
17630
17719
  "access": "private",
17631
17720
  "tagname": "",
@@ -17650,7 +17739,7 @@
17650
17739
  },
17651
17740
  {
17652
17741
  "file": "packages/@ember/routing/router.ts",
17653
- "line": 1699,
17742
+ "line": 1698,
17654
17743
  "description": "Finds the name of the state route if it exists for the given route. A state\nroute is of the form `route.state`, such as `foo.loading`. Properly Handles\n`application` named routes.",
17655
17744
  "access": "private",
17656
17745
  "tagname": "",
@@ -17675,7 +17764,7 @@
17675
17764
  },
17676
17765
  {
17677
17766
  "file": "packages/@ember/routing/router.ts",
17678
- "line": 1721,
17767
+ "line": 1720,
17679
17768
  "description": "Determines whether or not a route has been defined by checking that the route\nis in the Router's map and the owner has a registration for that route.",
17680
17769
  "access": "private",
17681
17770
  "tagname": "",
@@ -18479,7 +18568,7 @@
18479
18568
  },
18480
18569
  {
18481
18570
  "file": "packages/@ember/string/index.ts",
18482
- "line": 81,
18571
+ "line": 82,
18483
18572
  "description": "Splits a string into separate units separated by spaces, eliminating any\nempty strings in the process.\n\n```javascript\nimport { w } from '@ember/string';\n\nw(\"alpha beta gamma\").forEach(function(key) {\n console.log(key);\n});\n\n// > alpha\n// > beta\n// > gamma\n```",
18484
18573
  "itemtype": "method",
18485
18574
  "name": "w",
@@ -18496,12 +18585,14 @@
18496
18585
  },
18497
18586
  "access": "public",
18498
18587
  "tagname": "",
18588
+ "deprecated": true,
18589
+ "deprecationMessage": "Add `@ember/string` to your package.json",
18499
18590
  "class": "String",
18500
18591
  "module": "@ember/string"
18501
18592
  },
18502
18593
  {
18503
18594
  "file": "packages/@ember/string/index.ts",
18504
- "line": 106,
18595
+ "line": 109,
18505
18596
  "description": "Converts a camelized string into all lower case separated by underscores.\n\n```javascript\nimport { decamelize } from '@ember/string';\n\ndecamelize('innerHTML'); // 'inner_html'\ndecamelize('action_name'); // 'action_name'\ndecamelize('css-class-name'); // 'css-class-name'\ndecamelize('my favorite items'); // 'my favorite items'\n```",
18506
18597
  "itemtype": "method",
18507
18598
  "name": "decamelize",
@@ -18518,12 +18609,14 @@
18518
18609
  },
18519
18610
  "access": "public",
18520
18611
  "tagname": "",
18612
+ "deprecated": true,
18613
+ "deprecationMessage": "Add `@ember/string` to your package.json",
18521
18614
  "class": "String",
18522
18615
  "module": "@ember/string"
18523
18616
  },
18524
18617
  {
18525
18618
  "file": "packages/@ember/string/index.ts",
18526
- "line": 127,
18619
+ "line": 132,
18527
18620
  "description": "Replaces underscores, spaces, or camelCase with dashes.\n\n```javascript\nimport { dasherize } from '@ember/string';\n\ndasherize('innerHTML'); // 'inner-html'\ndasherize('action_name'); // 'action-name'\ndasherize('css-class-name'); // 'css-class-name'\ndasherize('my favorite items'); // 'my-favorite-items'\ndasherize('privateDocs/ownerInvoice'; // 'private-docs/owner-invoice'\n```",
18528
18621
  "itemtype": "method",
18529
18622
  "name": "dasherize",
@@ -18540,12 +18633,14 @@
18540
18633
  },
18541
18634
  "access": "public",
18542
18635
  "tagname": "",
18636
+ "deprecated": true,
18637
+ "deprecationMessage": "Add `@ember/string` to your package.json",
18543
18638
  "class": "String",
18544
18639
  "module": "@ember/string"
18545
18640
  },
18546
18641
  {
18547
18642
  "file": "packages/@ember/string/index.ts",
18548
- "line": 149,
18643
+ "line": 156,
18549
18644
  "description": "Returns the lowerCamelCase form of a string.\n\n```javascript\nimport { camelize } from '@ember/string';\n\ncamelize('innerHTML'); // 'innerHTML'\ncamelize('action_name'); // 'actionName'\ncamelize('css-class-name'); // 'cssClassName'\ncamelize('my favorite items'); // 'myFavoriteItems'\ncamelize('My Favorite Items'); // 'myFavoriteItems'\ncamelize('private-docs/owner-invoice'); // 'privateDocs/ownerInvoice'\n```",
18550
18645
  "itemtype": "method",
18551
18646
  "name": "camelize",
@@ -18562,12 +18657,14 @@
18562
18657
  },
18563
18658
  "access": "public",
18564
18659
  "tagname": "",
18660
+ "deprecated": true,
18661
+ "deprecationMessage": "Add `@ember/string` to your package.json",
18565
18662
  "class": "String",
18566
18663
  "module": "@ember/string"
18567
18664
  },
18568
18665
  {
18569
18666
  "file": "packages/@ember/string/index.ts",
18570
- "line": 172,
18667
+ "line": 181,
18571
18668
  "description": "Returns the UpperCamelCase form of a string.\n\n```javascript\nimport { classify } from '@ember/string';\n\nclassify('innerHTML'); // 'InnerHTML'\nclassify('action_name'); // 'ActionName'\nclassify('css-class-name'); // 'CssClassName'\nclassify('my favorite items'); // 'MyFavoriteItems'\nclassify('private-docs/owner-invoice'); // 'PrivateDocs/OwnerInvoice'\n```",
18572
18669
  "itemtype": "method",
18573
18670
  "name": "classify",
@@ -18584,12 +18681,14 @@
18584
18681
  },
18585
18682
  "access": "public",
18586
18683
  "tagname": "",
18684
+ "deprecated": true,
18685
+ "deprecationMessage": "Add `@ember/string` to your package.json",
18587
18686
  "class": "String",
18588
18687
  "module": "@ember/string"
18589
18688
  },
18590
18689
  {
18591
18690
  "file": "packages/@ember/string/index.ts",
18592
- "line": 194,
18691
+ "line": 205,
18593
18692
  "description": "More general than decamelize. Returns the lower\\_case\\_and\\_underscored\nform of a string.\n\n```javascript\nimport { underscore } from '@ember/string';\n\nunderscore('innerHTML'); // 'inner_html'\nunderscore('action_name'); // 'action_name'\nunderscore('css-class-name'); // 'css_class_name'\nunderscore('my favorite items'); // 'my_favorite_items'\nunderscore('privateDocs/ownerInvoice'); // 'private_docs/owner_invoice'\n```",
18594
18693
  "itemtype": "method",
18595
18694
  "name": "underscore",
@@ -18606,12 +18705,14 @@
18606
18705
  },
18607
18706
  "access": "public",
18608
18707
  "tagname": "",
18708
+ "deprecated": true,
18709
+ "deprecationMessage": "Add `@ember/string` to your package.json",
18609
18710
  "class": "String",
18610
18711
  "module": "@ember/string"
18611
18712
  },
18612
18713
  {
18613
18714
  "file": "packages/@ember/string/index.ts",
18614
- "line": 217,
18715
+ "line": 230,
18615
18716
  "description": "Returns the Capitalized form of a string\n\n```javascript\nimport { capitalize } from '@ember/string';\n\ncapitalize('innerHTML') // 'InnerHTML'\ncapitalize('action_name') // 'Action_name'\ncapitalize('css-class-name') // 'Css-class-name'\ncapitalize('my favorite items') // 'My favorite items'\ncapitalize('privateDocs/ownerInvoice'); // 'PrivateDocs/ownerInvoice'\n```",
18616
18717
  "itemtype": "method",
18617
18718
  "name": "capitalize",
@@ -18628,6 +18729,8 @@
18628
18729
  },
18629
18730
  "access": "public",
18630
18731
  "tagname": "",
18732
+ "deprecated": true,
18733
+ "deprecationMessage": "Add `@ember/string` to your package.json",
18631
18734
  "class": "String",
18632
18735
  "module": "@ember/string"
18633
18736
  },
@@ -19600,11 +19703,11 @@
19600
19703
  },
19601
19704
  {
19602
19705
  "message": "Missing item type",
19603
- "line": " packages/@ember/-internals/metal/lib/computed.ts:716"
19706
+ "line": " packages/@ember/-internals/metal/lib/computed.ts:715"
19604
19707
  },
19605
19708
  {
19606
19709
  "message": "Missing item type",
19607
- "line": " packages/@ember/-internals/metal/lib/computed.ts:722"
19710
+ "line": " packages/@ember/-internals/metal/lib/computed.ts:721"
19608
19711
  },
19609
19712
  {
19610
19713
  "message": "Missing item type\nPrimarily used for cases where we are redefining a class, e.g. mixins/reopen\nbeing applied later. Revalidates all the observers, resetting their tags.",
@@ -19642,6 +19745,10 @@
19642
19745
  "message": "Missing item type",
19643
19746
  "line": " packages/@ember/-internals/runtime/lib/mixins/target_action_support.ts:30"
19644
19747
  },
19748
+ {
19749
+ "message": "Missing item type\nConverts a camelized string into all lower case separated by underscores.\n\n```javascript\ndecamelize('innerHTML'); // 'inner_html'\ndecamelize('action_name'); // 'action_name'\ndecamelize('css-class-name'); // 'css-class-name'\ndecamelize('my favorite items'); // 'my favorite items'\n```",
19750
+ "line": " packages/@ember/-internals/string/index.ts:93"
19751
+ },
19645
19752
  {
19646
19753
  "message": "Missing item type",
19647
19754
  "line": " packages/@ember/-internals/utils/lib/guid.ts:8"
@@ -19796,7 +19903,11 @@
19796
19903
  },
19797
19904
  {
19798
19905
  "message": "Missing item type\nUnfortunately, a lot of existing code assumes booting an instance is\nsynchronous – specifically, a lot of tests assume the last call to\n`app.advanceReadiness()` or `app.reset()` will result in a new instance\nbeing fully-booted when the current runloop completes.\n\nWe would like new code (like the `visit` API) to stop making this\nassumption, so we created the asynchronous version above that returns a\npromise. But until we have migrated all the code, we would have to expose\nthis method for use *internally* in places where we need to boot an instance\nsynchronously.",
19799
- "line": " packages/@ember/engine/instance.ts:132"
19906
+ "line": " packages/@ember/engine/instance.ts:131"
19907
+ },
19908
+ {
19909
+ "message": "Missing item type",
19910
+ "line": " packages/@ember/error/index.ts:8"
19800
19911
  },
19801
19912
  {
19802
19913
  "message": "Missing item type",
@@ -19900,15 +20011,15 @@
19900
20011
  },
19901
20012
  {
19902
20013
  "message": "Missing item type\nFinds the name of the substate route if it exists for the given route. A\nsubstate route is of the form `route_state`, such as `foo_loading`.",
19903
- "line": " packages/@ember/routing/router.ts:1678"
20014
+ "line": " packages/@ember/routing/router.ts:1677"
19904
20015
  },
19905
20016
  {
19906
20017
  "message": "Missing item type\nFinds the name of the state route if it exists for the given route. A state\nroute is of the form `route.state`, such as `foo.loading`. Properly Handles\n`application` named routes.",
19907
- "line": " packages/@ember/routing/router.ts:1699"
20018
+ "line": " packages/@ember/routing/router.ts:1698"
19908
20019
  },
19909
20020
  {
19910
20021
  "message": "Missing item type\nDetermines whether or not a route has been defined by checking that the route\nis in the Router's map and the owner has a registration for that route.",
19911
- "line": " packages/@ember/routing/router.ts:1721"
20022
+ "line": " packages/@ember/routing/router.ts:1720"
19912
20023
  },
19913
20024
  {
19914
20025
  "message": "Missing item type\nA type registry for Ember `Service`s. Meant to be declaration-merged so string\nlookups resolve to the correct type.",