@ember-data/model 3.28.9 → 3.28.10
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.
|
@@ -24,17 +24,17 @@ import { computedMacroWithOptionalParams } from './util';
|
|
|
24
24
|
|
|
25
25
|
```app/models/post.js
|
|
26
26
|
import Model, { hasMany } from '@ember-data/model';
|
|
27
|
-
|
|
27
|
+
|
|
28
28
|
export default class PostModel extends Model {
|
|
29
|
-
@hasMany('comment') comments;
|
|
29
|
+
@hasMany('comment') comments;
|
|
30
30
|
}
|
|
31
31
|
```
|
|
32
32
|
|
|
33
33
|
```app/models/comment.js
|
|
34
34
|
import Model, { belongsTo } from '@ember-data/model';
|
|
35
|
-
|
|
35
|
+
|
|
36
36
|
export default class CommentModel extends Model {
|
|
37
|
-
@belongsTo('post') post;
|
|
37
|
+
@belongsTo('post') post;
|
|
38
38
|
}
|
|
39
39
|
```
|
|
40
40
|
|
|
@@ -54,7 +54,7 @@ import { computedMacroWithOptionalParams } from './util';
|
|
|
54
54
|
import Model, { hasMany } from '@ember-data/model';
|
|
55
55
|
|
|
56
56
|
export default class TagModel extends Model {
|
|
57
|
-
@hasMany('post') posts;
|
|
57
|
+
@hasMany('post') posts;
|
|
58
58
|
}
|
|
59
59
|
```
|
|
60
60
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import ArrayMixin from '@ember/array';
|
|
1
2
|
import { assert } from '@ember/debug';
|
|
2
3
|
import { dependentKeyCompat } from '@ember/object/compat';
|
|
3
4
|
import { tracked } from '@glimmer/tracking';
|
|
@@ -16,7 +17,7 @@ import { DEPRECATE_EVENTED_API_USAGE } from '@ember-data/private-build-infra/dep
|
|
|
16
17
|
|
|
17
18
|
A PromiseManyArray is an array-like proxy that also proxies certain method calls
|
|
18
19
|
to the underlying ManyArray in addition to being "promisified".
|
|
19
|
-
|
|
20
|
+
|
|
20
21
|
Right now we proxy:
|
|
21
22
|
|
|
22
23
|
* `reload()`
|
|
@@ -41,6 +42,14 @@ export default class PromiseManyArray {
|
|
|
41
42
|
this._update(promise, content);
|
|
42
43
|
this.isDestroyed = false;
|
|
43
44
|
this.isDestroying = false;
|
|
45
|
+
|
|
46
|
+
const meta = Ember.meta(this);
|
|
47
|
+
meta.hasMixin = (mixin: Object) => {
|
|
48
|
+
if (mixin === ArrayMixin) {
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
return false;
|
|
52
|
+
};
|
|
44
53
|
}
|
|
45
54
|
|
|
46
55
|
//---- Methods/Properties on ArrayProxy that we will keep as our API
|
|
@@ -54,6 +63,9 @@ export default class PromiseManyArray {
|
|
|
54
63
|
*/
|
|
55
64
|
@dependentKeyCompat
|
|
56
65
|
get length(): number {
|
|
66
|
+
// shouldn't be needed, but ends up being needed
|
|
67
|
+
// for computed chains even in 4.x
|
|
68
|
+
this['[]'];
|
|
57
69
|
return this.content ? this.content.length : 0;
|
|
58
70
|
}
|
|
59
71
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ember-data/model",
|
|
3
|
-
"version": "3.28.
|
|
3
|
+
"version": "3.28.10",
|
|
4
4
|
"description": "The default blueprint for ember-cli addons.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ember-addon"
|
|
@@ -18,9 +18,9 @@
|
|
|
18
18
|
"test:node": "mocha"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@ember-data/canary-features": "3.28.
|
|
22
|
-
"@ember-data/private-build-infra": "3.28.
|
|
23
|
-
"@ember-data/store": "3.28.
|
|
21
|
+
"@ember-data/canary-features": "3.28.10",
|
|
22
|
+
"@ember-data/private-build-infra": "3.28.10",
|
|
23
|
+
"@ember-data/store": "3.28.10",
|
|
24
24
|
"@ember/edition-utils": "^1.2.0",
|
|
25
25
|
"@ember/string": "^3.0.0",
|
|
26
26
|
"ember-cached-decorator-polyfill": "^0.1.4",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"inflection": "~1.13.1"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
|
-
"@ember-data/unpublished-test-infra": "3.28.
|
|
35
|
+
"@ember-data/unpublished-test-infra": "3.28.10",
|
|
36
36
|
"@ember/optional-features": "^2.0.0",
|
|
37
37
|
"@ember/test-helpers": "^2.2.5",
|
|
38
38
|
"broccoli-asset-rev": "^3.0.0",
|