Skip to content

Commit 95d0357

Browse files
authored
[Bug]: overridable mergeDeep to fix null typeof check (#563)
* [Bug]: overridable mergeDeep to fix null typeof check * try this * kick off again * Bump cli 3.22 * Add 3.20 to config
1 parent a00c5bf commit 95d0357

File tree

6 files changed

+218
-56
lines changed

6 files changed

+218
-56
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ import { EmberChangeset, Changeset } from 'ember-changeset';
136136
class MyChangeset extends EmberChangeset {
137137
save() {
138138
super.save(...arguments);
139-
// my other stuff
139+
// do stuff
140140
}
141141
}
142142

addon/index.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ export class EmberChangeset extends BufferedChangeset {
4646
// override base class
4747
// DO NOT override setDeep. Ember.set does not work with Ember.set({}, 'user.name', 'foo');
4848
getDeep = safeGet;
49+
mergeDeep = mergeDeep;
4950

5051
// override base class
5152
safeGet(obj, key) {
@@ -95,9 +96,9 @@ export class EmberChangeset extends BufferedChangeset {
9596
let content = this[CONTENT];
9697
let changes = this[CHANGES];
9798

98-
let pendingChanges = mergeDeep(Object.create(Object.getPrototypeOf(content)), content, { safeGet, safeSet });
99+
let pendingChanges = this.mergeDeep(Object.create(Object.getPrototypeOf(content)), content, { safeGet, safeSet });
99100

100-
return mergeDeep(pendingChanges, changes, { safeGet, safeSet });
101+
return this.mergeDeep(pendingChanges, changes, { safeGet, safeSet });
101102
}
102103

103104
/**
@@ -180,7 +181,7 @@ export class EmberChangeset extends BufferedChangeset {
180181

181182
// we want mutation on original object
182183
// @tracked
183-
this[CONTENT] = mergeDeep(content, changes, { safeGet, safeSet });
184+
this[CONTENT] = this.mergeDeep(content, changes, { safeGet, safeSet });
184185
}
185186

186187
this[PREVIOUS_CONTENT] = oldContent;

config/ember-try.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@ module.exports = async function () {
2323
},
2424
},
2525
{
26-
name: 'ember-release',
26+
name: 'ember-lts-3.20',
2727
npm: {
2828
devDependencies: {
29-
'ember-source': await getChannelURL('release'),
29+
'ember-source': '~3.20.0',
3030
},
3131
},
3232
},

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,13 @@
3838
"@glimmer/tracking": "^1.0.1",
3939
"ember-auto-import": "^1.5.2",
4040
"ember-cli-babel": "^7.19.0",
41-
"validated-changeset": "~0.10.0"
41+
"validated-changeset": "~0.10.2"
4242
},
4343
"devDependencies": {
4444
"@ember/optional-features": "^1.0.0",
4545
"babel-eslint": "^10.1.0",
4646
"broccoli-asset-rev": "^3.0.0",
47-
"ember-cli": "~3.21.0",
47+
"ember-cli": "~3.22.0",
4848
"ember-cli-dependency-checker": "^3.1.0",
4949
"ember-cli-htmlbars": "^5.1.2",
5050
"ember-cli-inject-live-reload": "^2.0.1",

tests/integration/helpers/changeset-test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -561,7 +561,7 @@ module('Integration | Helper | changeset', function (hooks) {
561561
return (isPresent(value) && value.length > 3) || 'too short';
562562
},
563563
};
564-
this.set('dummyModel', { firstName: 'Jim', lastName: 'Bob' });
564+
this.set('dummyModel', { firstName: 'Jimm', lastName: 'Bob' });
565565
this.set('validate', ({ key, newValue }) => {
566566
let validatorFn = validations[key];
567567

0 commit comments

Comments
 (0)