8000 Stable Version 2.2.1. · StudyForFun/js-data@a073ab2 · GitHub
[go: up one dir, main page]

Skip to content

Commit a073ab2

Browse files
committed
Stable Version 2.2.1.
Fixes js-data#176
1 parent 44c83a9 commit a073ab2

File tree

9 files changed

+162
-158
lines changed

9 files changed

+162
-158
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
##### 2.2.1 - 09 July 2015
2+
3+
###### Backwards compatible bug fixes
4+
- #176 - `localKey`, `localKeys` and `foreignKey` don't support nested fields.
5+
16
##### 2.2.0 - 07 July 2015
27

38
###### Backwards compatible API changes

dist/js-data-debug.js

Lines changed: 71 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*!
22
* js-data
3-
* @version 2.2.0 - Homepage <http://www.js-data.io/>
3+
* @version 2.2.1 - Homepage <http://www.js-data.io/>
44
* @author Jason Dobry <jason.dobry@gmail.com>
55
* @copyright (c) 2014-2015 Jason Dobry
66
* @license MIT <https://github.com/js-data/js-data/blob/master/LICENSE>
@@ -84,10 +84,10 @@ return /******/ (function(modules) { // webpackBootstrap
8484
return new _datastoreIndex['default'](options);
8585
},
8686
version: {
87-
full: '2.2.0',
87+
full: '2.2.1',
8888
major: parseInt('2', 10),
8989
minor: parseInt('2', 10),
90-
patch: parseInt('0', 10),
90+
patch: parseInt('1', 10),
9191
alpha: true ? 'false' : false,
9292
beta: true ? 'false' : false
9393
}
@@ -1195,7 +1195,7 @@ return /******/ (function(modules) { // webpackBootstrap
11951195
};
11961196
if (def.type === 'belongsTo') {
11971197
prop.get = function () {
1198-
return this[localKey] ? definition.getResource(relationName).get(this[localKey]) : undefined;
1198+
return get(this, localKey) ? definition.getResource(relationName).get(get(this, localKey)) : undefined;
11991199
};
12001200
} else if (def.type === 'hasMany') {
12011201
prop.get = function () {
@@ -1204,15 +1204,15 @@ return /******/ (function(modules) { // webpackBootstrap
12041204
params[foreignKey] = this[definition.idAttribute];
12051205
return definition.getResource(relationName).defaultFilter.call(store, store.s[relationName].collection, relationName, params, { allowSimpleWhere: true });
12061206
} else if (localKeys) {
1207-
var keys = this[localKeys] || [];
1207+
var keys = get(this, localKeys) || [];
12081208
return definition.getResource(relationName).getAll(isArray(keys) ? keys : _keys(keys));
12091209
}
12101210
return undefined;
12111211
};
12121212
} else if (def.type === 'hasOne') {
12131213
if (localKey) {
12141214
prop.get = function () {
1215-
return this[localKey] ? definition.getResource(relationName).get(this[localKey]) : undefined;
1215+
return get(this, localKey) ? definition.getResource(relationName).get(get(this, localKey)) : undefined;
12161216
};
12171217
} else {
12181218
prop.get = function () {
@@ -2769,8 +2769,8 @@ return /******/ (function(modules) { // webpackBootstrap
27692769
/* 13 */
27702770
/***/ function(module, exports, __webpack_require__) {
27712771

2772-
var hasOwn = __webpack_require__(22);
2773-
var forIn = __webpack_require__(23);
2772+
var hasOwn = __webpack_require__(23);
2773+
var forIn = __webpack_require__(24);
27742774

27752775
/**
27762776
* Similar to Array/forEach but works over object properties and fixes Don't
@@ -2795,7 +2795,7 @@ return /******/ (function(modules) { // webpackBootstrap
27952795
/***/ function(module, exports, __webpack_require__) {
27962796

27972797
var forOwn = __webpack_require__(13);
2798-
var isPlainObject = __webpack_require__(24);
2798+
var isPlainObject = __webpack_require__(22);
27992799

28002800
/**
28012801
* Mixes objects into the target object, recursively mixing existing child
@@ -2906,7 +2906,7 @@ return /******/ (function(modules) { // webpackBootstrap
29062906
/* 18 */
29072907
/***/ function(module, exports, __webpack_require__) {
29082908

2909-
var namespace = __webpack_require__(26);
2909+
var namespace = __webpack_require__(28);
29102910

29112911
/**
29122912
* set "nested" object property
@@ -2929,8 +2929,8 @@ return /******/ (function(modules) { // webpackBootstrap
29292929
/* 19 */
29302930
/***/ function(module, exports, __webpack_require__) {
29312931

2932-
var toString = __webpack_require__(27);
2933-
var camelCase = __webpack_require__(28);
2932+
var toString = __webpack_require__(26);
2933+
var camelCase = __webpack_require__(27);
29342934
var upperCase = __webpack_require__(20);
29352935
/**
29362936
* camelCase + UPPERCASE first char
@@ -2948,7 +2948,7 @@ return /******/ (function(modules) { // webpackBootstrap
29482948
/* 20 */
29492949
/***/ function(module, exports, __webpack_require__) {
29502950

2951-
var toString = __webpack_require__(27);
2951+
var toString = __webpack_require__(26);
29522952
/**
29532953
* "Safer" String.toUpperCase()
29542954
*/
@@ -3000,6 +3000,25 @@ return /******/ (function(modules) { // webpackBootstrap
30003000

30013001

30023002

3003+
/**
3004+
* Checks if the value is created by the `Object` constructor.
3005+
*/
3006+
function isPlainObject(value) {
3007+
return (!!value && typeof value === 'object' &&
3008+
value.constructor === Object);
3009+
}
3010+
3011+
module.exports = isPlainObject;
3012+
3013+
3014+
3015+
3016+
/***/ },
3017+
/* 23 */
3018+
/***/ function(module, exports, __webpack_require__) {
3019+
3020+
3021+
30033022
/**
30043023
* Safer Object.hasOwnProperty
30053024
*/
@@ -3013,10 +3032,10 @@ return /******/ (function(modules) { // webpackBootstrap
30133032

30143033

30153034
/***/ },
3016-
/* 23 */
3035+
/* 24 */
30173036
/***/ function(module, exports, __webpack_require__) {
30183037

3019-
var hasOwn = __webpack_require__(22);
3038+
var hasOwn = __webpack_require__(23);
30203039

30213040
var _hasDontEnumBug,
30223041
_dontEnums;
@@ -3094,25 +3113,6 @@ return /******/ (function(modules) { // webpackBootstrap
30943113

30953114

30963115

3097-
/***/ },
3098-
/* 24 */
3099-
/***/ function(module, exports, __webpack_require__) {
3100-
3101-
3102-
3103-
/**
3104-
* Checks if the value is created by the `Object` constructor.
3105-
*/
3106-
function isPlainObject(value) {
3107-
return (!!value && typeof value === 'object' &&
3108-
value.constructor === Object);
3109-
}
3110-
3111-
module.exports = isPlainObject;
3112-
3113-
3114-
3115-
31163116
/***/ },
31173117
/* 25 */
31183118
/***/ function(module, exports, __webpack_require__) {
@@ -3144,31 +3144,6 @@ return /******/ (function(modules) { // webpackBootstrap
31443144
/* 26 */
31453145
/***/ function(module, exports, __webpack_require__) {
31463146

3147-
var forEach = __webpack_require__(8);
3148-
3149-
/**
3150-
* Create nested object if non-existent
3151-
*/
3152-
function namespace(obj, path){
3153-
if (!path) return obj;
3154-
forEach(path.split('.'), function(key){
3155-
if (!obj[key]) {
3156-
obj[key] = {};
3157-
}
3158-
obj = obj[key];
3159-
});
3160-
return obj;
3161-
}
3162-
3163-
module.exports = namespace;
3164-
3165-
3166-
3167-
3168-
/***/ },
3169-
/* 27 */
3170-
/***/ function(module, exports, __webpack_require__) {
3171-
31723147

31733148

31743149
/**
@@ -3185,10 +3160,10 @@ return /******/ (function(modules) { // webpackBootstrap
31853160

31863161

31873162
/***/ },
3188-
/* 28 */
3163+
/* 27 */
31893164
/***/ function(module, exports, __webpack_require__) {
31903165

3191-
var toString = __webpack_require__(27);
3166+
var toString = __webpack_require__(26);
31923167
var replaceAccents = __webpack_require__(44);
31933168
var removeNonWord = __webpack_require__(45);
31943169
var upperCase = __webpack_require__(20);
@@ -3210,6 +3185,31 @@ return /******/ (function(modules) { // webpackBootstrap
32103185

32113186

32123187

3188+
/***/ },
3189+
/* 28 */
3190+
/***/ function(module, exports, __webpack_require__) {
3191+
3192+
var forEach = __webpack_require__(8);
3193+
3194+
/**
3195+
* Create nested object if non-existent
3196+
*/
3197+
function namespace(obj, path){
3198+
if (!path) return obj;
3199+
forEach(path.split('.'), function(key){
3200+
if (!obj[key]) {
3201+
obj[key] = {};
3202+
}
3203+
obj = obj[key];
3204+
});
3205+
return obj;
3206+
}
3207+
3208+
module.exports = namespace;
3209+
3210+
3211+
3212+
32133213
/***/ },
32143214
/* 29 */
32153215
/***/ function(module, exports, __webpack_require__) {
@@ -3992,7 +3992,7 @@ return /******/ (function(modules) { // webpackBootstrap
39923992
try {
39933993
var injectedItem = relationDef.inject(toInjectItem, options.orig());
39943994
if (def.foreignKey) {
3995-
injectedItem[def.foreignKey] = attrs[definition.idAttribute];
3995+
_utils['default'].set(injectedItem, def.foreignKey, attrs[definition.idAttribute]);
39963996
}
39973997
items.push(injectedItem);
39983998
} catch (err) {
@@ -4007,7 +4007,7 @@ return /******/ (function(modules) { // webpackBootstrap
40074007
try {
40084008
var _injected = relationDef.inject(attrs[def.localField], options.orig());
40094009
if (def.foreignKey) {
4010-
_injected[def.foreignKey] = attrs[definition.idAttribute];
4010+
_utils['default'].set(_injected, def.foreignKey, attrs[definition.idAttribute]);
40114011
}
40124012
} catch (err) {
40134013
options.errorFn(err, 'Failed to inject ' + def.type + ' relation: "' + relationName + '"!');
@@ -4722,7 +4722,7 @@ return /******/ (function(modules) { // webpackBootstrap
47224722
var orig = __options.orig();
47234723
if (def.localKeys) {
47244724
delete params[def.foreignKey];
4725-
var keys = instance[def.localKeys] || [];
4725+
var keys = DSUtils.get(instance, def.localKeys) || [];
47264726
keys = DSUtils._a(keys) ? keys : DSUtils.keys(keys);
47274727
params.where = _defineProperty({}, relationDef.idAttribute, {
47284728
'in': keys
@@ -4731,15 +4731,15 @@ return /******/ (function(modules) { // webpackBootstrap
47314731
}
47324732
task = relationDef.findAll(params, orig);
47334733
} else if (def.type === 'hasOne') {
4734-
if (def.localKey && instance[def.localKey]) {
4735-
task = relationDef.find(instance[def.localKey], __options.orig());
4734+
if (def.localKey && DSUtils.get(instance, def.localKey)) {
4735+
task = relationDef.find(DSUtils.get(instance, def.localKey), __options.orig());
47364736
} else if (def.foreignKey) {
47374737
task = relationDef.findAll(params, __options.orig()).then(function (hasOnes) {
47384738
return hasOnes.length ? hasOnes[0] : null;
47394739
});
47404740
}
4741-
} else if (instance[def.localKey]) {
4742-
task = relationDef.find(instance[def.localKey], __options.orig());
4741+
} else if (DSUtils.get(instance, def.localKey)) {
4742+
task = relationDef.find(DSUtils.get(instance, def.localKey), __options.orig());
47434743
}
47444744

47454745
if (task) {
@@ -5122,7 +5122,7 @@ return /******/ (function(modules) { // webpackBootstrap
51225122
/* 44 */
51235123
/***/ function(module, exports, __webpack_require__) {
51245124

5125-
var toString = __webpack_require__(27);
5125+
var toString = __webpack_require__(26);
51265126
/**
51275127
* Replaces all accented chars with regular ones
51285128
*/
@@ -5164,7 +5164,7 @@ return /******/ (function(modules) { // webpackBootstrap
51645164
/* 45 */
51655165
/***/ function(module, exports, __webpack_require__) {
51665166

5167-
var toString = __webpack_require__(27);
5167+
var toString = __webpack_require__(26);
51685168
// This pattern is generated by the _build/pattern-removeNonWord.js script
51695169
var PATTERN = /[^\x20\x2D0-9A-Z\x5Fa-z\xC0-\xD6\xD8-\xF6\xF8-\xFF]/g;
51705170

@@ -5184,7 +5184,7 @@ return /******/ (function(modules) { // webpackBootstrap
51845184
/* 46 */
51855185
/***/ function(module, exports, __webpack_require__) {
51865186

5187-
var toString = __webpack_require__(27);
5187+
var toString = __webpack_require__(26);
51885188
/**
51895189
* "Safer" String.toLowerCase()
51905190
*/

0 commit comments

Comments
 (0)
0