@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
 
@@ -118,8 +118,10 @@ function computeOnce(target, key, desc) {
118
118
  @uses DeprecatedEvented
119
119
  */
120
120
  class Model extends EmberObject {
121
- init(...args) {
122
- super.init(...args);
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.0",
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.0",
22
- "@ember-data/private-build-infra": "4.2.0-alpha.0",
23
- "@ember-data/store": "4.2.0-alpha.0",
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.0",
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.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",