@ember-data/model 4.2.0-alpha.0 → 4.2.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -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
|
|
package/addon/-private/model.js
CHANGED
|
@@ -118,8 +118,10 @@ function computeOnce(target, key, desc) {
|
|
|
118
118
|
@uses DeprecatedEvented
|
|
119
119
|
*/
|
|
120
120
|
class Model extends EmberObject {
|
|
121
|
-
init(
|
|
122
|
-
|
|
121
|
+
init(options = {}) {
|
|
122
|
+
const createProps = options._createProps;
|
|
123
|
+
delete options._createProps;
|
|
124
|
+
super.init(options);
|
|
123
125
|
|
|
124
126
|
if (DEBUG) {
|
|
125
127
|
if (!this._internalModel) {
|
|
@@ -132,6 +134,7 @@ class Model extends EmberObject {
|
|
|
132
134
|
if (CUSTOM_MODEL_CLASS) {
|
|
133
135
|
this.___recordState = new RecordState(this);
|
|
134
136
|
}
|
|
137
|
+
this.setProperties(createProps);
|
|
135
138
|
}
|
|
136
139
|
|
|
137
140
|
/**
|
|
@@ -2075,6 +2078,7 @@ class Model extends EmberObject {
|
|
|
2075
2078
|
// the values initialized during create to `setUnknownProperty`
|
|
2076
2079
|
Model.prototype._internalModel = null;
|
|
2077
2080
|
Model.prototype.store = null;
|
|
2081
|
+
Model.prototype._createProps = null;
|
|
2078
2082
|
|
|
2079
2083
|
if (HAS_DEBUG_PACKAGE) {
|
|
2080
2084
|
/**
|
|
@@ -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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ember-data/model",
|
|
3
|
-
"version": "4.2.0-alpha.
|
|
3
|
+
"version": "4.2.0-alpha.1",
|
|
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": "4.2.0-alpha.
|
|
22
|
-
"@ember-data/private-build-infra": "4.2.0-alpha.
|
|
23
|
-
"@ember-data/store": "4.2.0-alpha.
|
|
21
|
+
"@ember-data/canary-features": "4.2.0-alpha.1",
|
|
22
|
+
"@ember-data/private-build-infra": "4.2.0-alpha.1",
|
|
23
|
+
"@ember-data/store": "4.2.0-alpha.1",
|
|
24
24
|
"@ember/edition-utils": "^1.2.0",
|
|
25
25
|
"@ember/string": "^3.0.0",
|
|
26
26
|
"ember-auto-import": "^2.2.4",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"inflection": "~1.13.1"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
|
-
"@ember-data/unpublished-test-infra": "4.2.0-alpha.
|
|
36
|
+
"@ember-data/unpublished-test-infra": "4.2.0-alpha.1",
|
|
37
37
|
"@ember/optional-features": "^2.0.0",
|
|
38
38
|
"@ember/test-helpers": "^2.6.0",
|
|
39
39
|
"broccoli-asset-rev": "^3.0.0",
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"ember-load-initializers": "^2.1.1",
|
|
50
50
|
"ember-maybe-import-regenerator": "^0.1.6",
|
|
51
51
|
"ember-qunit": "^5.1.5",
|
|
52
|
-
"ember-resolver": "^8.0.
|
|
52
|
+
"ember-resolver": "^8.0.3",
|
|
53
53
|
"ember-source": "~4.0.0",
|
|
54
54
|
"ember-source-channel-url": "^3.0.0",
|
|
55
55
|
"ember-try": "^1.4.0",
|