Skip to content

Commit 62e407c

Browse files
committed
Stable Version 0.7.0
1 parent 6c05061 commit 62e407c

File tree

8 files changed

+51
-106
lines changed

8 files changed

+51
-106
lines changed

CHANGELOG.md

+4
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
##### 0.7.0 - 02 July 2015
2+
3+
Stable Version 0.7.0
4+
15
##### 0.6.1 - 24 June 2015
26

37
###### Backwards compatible bug fixes

Gruntfile.js

-5
Original file line numberDiff line numberDiff line change
@@ -49,14 +49,9 @@ module.exports = function (grunt) {
4949
},
5050
externals: [
5151
'mout/array/map',
52-
'mout/object/keys',
53-
'mout/lang/isEmpty',
5452
'mout/lang/toString',
55-
'mout/string/upperCase',
5653
'mout/string/underscore',
57-
'mout/object/omit',
5854
'js-data',
59-
'js-data-schema',
6055
'knex'
6156
],
6257
module: {

README.md

+2
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ store.registerAdapter('sql', adapter, { default: true });
4545
[CHANGELOG.md](https://github.com/js-data/js-data-sql/blob/master/CHANGELOG.md)
4646

4747
### Community
48+
- [Gitter Channel](https://gitter.im/js-data/js-data) - Better than IRC!
49+
- [Announcements](http://www.js-data.io/blog)
4850
- [Mailing List](https://groups.io/org/groupsio/jsdata) - Ask your questions!
4951
- [Issues](https://github.com/js-data/js-data-sql/issues) - Found a bug? Feature request? Submit an issue!
5052
- [GitHub](https://github.com/js-data/js-data-sql) - View the source code for js-data.

dist/js-data-sql.js

+26-80
Original file line numberDiff line numberDiff line change
@@ -51,48 +51,18 @@ module.exports =
5151

5252
var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
5353

54-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
55-
5654
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
5755

58-
var _knex = __webpack_require__(1);
59-
60-
var _knex2 = _interopRequireDefault(_knex);
61-
62-
var _jsData = __webpack_require__(2);
63-
64-
var _jsData2 = _interopRequireDefault(_jsData);
65-
66-
var _moutArrayMap = __webpack_require__(3);
67-
68-
var _moutArrayMap2 = _interopRequireDefault(_moutArrayMap);
69-
70-
var _moutObjectKeys = __webpack_require__(4);
71-
72-
var _moutObjectKeys2 = _interopRequireDefault(_moutObjectKeys);
73-
74-
var _moutObjectOmit = __webpack_require__(5);
75-
76-
var _moutObjectOmit2 = _interopRequireDefault(_moutObjectOmit);
77-
78-
var _moutLangIsEmpty = __webpack_require__(6);
79-
80-
var _moutLangIsEmpty2 = _interopRequireDefault(_moutLangIsEmpty);
81-
82-
var _moutStringUpperCase = __webpack_require__(7);
83-
84-
var _moutStringUpperCase2 = _interopRequireDefault(_moutStringUpperCase);
85-
86-
var _moutStringUnderscore = __webpack_require__(8);
87-
88-
var _moutStringUnderscore2 = _interopRequireDefault(_moutStringUnderscore);
89-
90-
var _moutLangToString = __webpack_require__(9);
91-
92-
var _moutLangToString2 = _interopRequireDefault(_moutLangToString);
93-
94-
var DSUtils = _jsData2['default'].DSUtils;
95-
var P = DSUtils.Promise;
56+
var knex = __webpack_require__(1);
57+
var JSData = __webpack_require__(2);
58+
var map = __webpack_require__(3);
59+
var underscore = __webpack_require__(4);
60+
var toString = __webpack_require__(5);
61+
var DSUtils = JSData.DSUtils;
62+
var keys = DSUtils.keys;
63+
var isEmpty = DSUtils.isEmpty;
64+
var upperCase = DSUtils.upperCase;
65+
var omit = DSUtils.omit;
9666
var contains = DSUtils.contains;
9767
var forOwn = DSUtils.forOwn;
9868
var deepMixIn = DSUtils.deepMixIn;
@@ -104,13 +74,13 @@ module.exports =
10474
var reserved = ['orderBy', 'sort', 'limit', 'offset', 'skip', 'where'];
10575

10676
function filterQuery(resourceConfig, params) {
107-
var query = this.query.select('*').from(resourceConfig.table || (0, _moutStringUnderscore2['default'])(resourceConfig.name));
77+
var query = this.query.select('*').from(resourceConfig.table || underscore(resourceConfig.name));
10878
params = params || {};
10979
params.where = params.where || {};
11080
params.orderBy = params.orderBy || params.sort;
11181
params.skip = params.skip || params.offset;
11282

113-
forEach((0, _moutObjectKeys2['default'])(params), function (k) {
83+
forEach(keys(params), function (k) {
11484
var v = params[k];
11585
if (!contains(reserved, k)) {
11686
if (isObject(v)) {
@@ -124,7 +94,7 @@ module.exports =
12494
}
12595
});
12696

127-
if (!(0, _moutLangIsEmpty2['default'])(params.where)) {
97+
if (!isEmpty(params.where)) {
12898
forOwn(params.where, function (criteria, field) {
12999
if (!isObject(criteria)) {
130100
params.where[field] = {
@@ -189,7 +159,7 @@ module.exports =
189159
if (isString(params.orderBy[i])) {
190160
params.orderBy[i] = [params.orderBy[i], 'asc'];
191161
}
192-
query = (0, _moutStringUpperCase2['default'])(params.orderBy[i][1]) === 'DESC' ? query.orderBy(params.orderBy[i][0], 'desc') : query.orderBy(params.orderBy[i][0], 'asc');
162+
query = upperCase(params.orderBy[i][1]) === 'DESC' ? query.orderBy(params.orderBy[i][0], 'desc') : query.orderBy(params.orderBy[i][0], 'asc');
193163
}
194164
}
195165

@@ -213,7 +183,7 @@ module.exports =
213183
if (options.__knex__) {
214184
this.query = options;
215185
} else {
216-
this.query = (0, _knex2['default'])(options);
186+
this.query = knex(options);
217187
}
218188
deepMixIn(this.defaults, options);
219189
}
@@ -227,9 +197,9 @@ module.exports =
227197
var fields = [];
228198
options = options || {};
229199
options['with'] = options['with'] || [];
230-
return this.query.select('*').from(resourceConfig.table || (0, _moutStringUnderscore2['default'])(resourceConfig.name)).where(resourceConfig.idAttribute, (0, _moutLangToString2['default'])(id)).then(function (rows) {
200+
return this.query.select('*').from(resourceConfig.table || underscore(resourceConfig.name)).where(resourceConfig.idAttribute, toString(id)).then(function (rows) {
231201
if (!rows.length) {
232-
return P.reject(new Error('Not Found!'));
202+
return DSUtils.Promise.reject(new Error('Not Found!'));
233203
} else {
234204
var _ret = (function () {
235205
instance = rows[0];
@@ -271,7 +241,7 @@ module.exports =
271241
});
272242

273243
return {
274-
v: P.all(tasks)
244+
v: DSUtils.Promise.all(tasks)
275245
};
276246
})();
277247

@@ -294,8 +264,8 @@ module.exports =
294264
value: function create(resourceConfig, attrs) {
295265
var _this2 = this;
296266

297-
attrs = removeCircular((0, _moutObjectOmit2['default'])(attrs, resourceConfig.relationFields || []));
298-
return this.query(resourceConfig.table || (0, _moutStringUnderscore2['default'])(resourceConfig.name)).insert(attrs, resourceConfig.idAttribute).then(function (ids) {
267+
attrs = removeCircular(omit(attrs, resourceConfig.relationFields || []));
268+
return this.query(resourceConfig.table || underscore(resourceConfig.name)).insert(attrs, resourceConfig.idAttribute).then(function (ids) {
299269
if (attrs[resourceConfig.idAttribute]) {
300270
return _this2.find(resourceConfig, attrs[resourceConfig.idAttribute]);
301271
} else if (ids.length) {
@@ -310,8 +280,8 @@ module.exports =
310280
value: function update(resourceConfig, id, attrs) {
311281
var _this3 = this;
312282

313-
attrs = removeCircular((0, _moutObjectOmit2['default'])(attrs, resourceConfig.relationFields || []));
314-
return this.query(resourceConfig.table || (0, _moutStringUnderscore2['default'])(resourceConfig.name)).where(resourceConfig.idAttribute, (0, _moutLangToString2['default'])(id)).update(attrs).then(function () {
283+
attrs = removeCircular(omit(attrs, resourceConfig.relationFields || []));
284+
return this.query(resourceConfig.table || underscore(resourceConfig.name)).where(resourceConfig.idAttribute, toString(id)).update(attrs).then(function () {
315285
return _this3.find(resourceConfig, id);
316286
});
317287
}
@@ -320,9 +290,9 @@ module.exports =
320290
value: function updateAll(resourceConfig, attrs, params, options) {
321291
var _this4 = this;
322292

323-
attrs = removeCircular((0, _moutObjectOmit2['default'])(attrs, resourceConfig.relationFields || []));
293+
attrs = removeCircular(omit(attrs, resourceConfig.relationFields || []));
324294
return filterQuery.call(this, resourceConfig, params, options).then(function (items) {
325-
return (0, _moutArrayMap2['default'])(items, function (item) {
295+
return map(items, function (item) {
326296
return item[resourceConfig.idAttribute];
327297
});
328298
}).then(function (ids) {
@@ -338,7 +308,7 @@ module.exports =
338308
}, {
339309
key: 'destroy',
340310
value: function destroy(resourceConfig, id) {
341-
return this.query(resourceConfig.table || (0, _moutStringUnderscore2['default'])(resourceConfig.name)).where(resourceConfig.idAttribute, (0, _moutLangToString2['default'])(id)).del().then(function () {
311+
return this.query(resourceConfig.table || underscore(resourceConfig.name)).where(resourceConfig.idAttribute, toString(id)).del().then(function () {
342312
return undefined;
343313
});
344314
}
@@ -377,36 +347,12 @@ module.exports =
377347

378348
/***/ },
379349
/* 4 */
380-
/***/ function(module, exports) {
381-
382-
module.exports = require("mout/object/keys");
383-
384-
/***/ },
385-
/* 5 */
386-
/***/ function(module, exports) {
387-
388-
module.exports = require("mout/object/omit");
389-
390-
/***/ },
391-
/* 6 */
392-
/***/ function(module, exports) {
393-
394-
module.exports = require("mout/lang/isEmpty");
395-
396-
/***/ },
397-
/* 7 */
398-
/***/ function(module, exports) {
399-
400-
module.exports = require("mout/string/upperCase");
401-
402-
/***/ },
403-
/* 8 */
404350
/***/ function(module, exports) {
405351

406352
module.exports = require("mout/string/underscore");
407353

408354
/***/ },
409-
/* 9 */
355+
/* 5 */
410356
/***/ function(module, exports) {
411357

412358
module.exports = require("mout/lang/toString");

mocha.start.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@
44
var assert = require('chai').assert;
55
var mocha = require('mocha');
66
var sinon = require('sinon');
7-
var DSSqlAdapter = require('./');
87
var JSData = require('js-data');
8+
JSData.DSUtils.Promise = require('bluebird');
9+
var DSSqlAdapter = require('./');
910

1011
var adapter, store, DSUtils, DSErrors, User, Post, Comment;
1112

package.json

+8-8
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "js-data-sql",
33
"description": "Postgres/MySQL/MariaDB/SQLite3 adapter for js-data.",
4-
"version": "0.6.1",
4+
"version": "0.7.0",
55
"homepage": "http://www.js-data.io/docs/dssqladapter",
66
"repository": {
77
"type": "git",
@@ -31,21 +31,21 @@
3131
"sqlite"
3232
],
3333
"devDependencies": {
34-
"babel-core": "5.6.5",
35-
"babel-loader": "5.1.4",
34+
"babel-core": "5.6.15",
35+
"babel-loader": "5.2.2",
36+
"bluebird": "2.9.30",
3637
"chai": "3.0.0",
3738
"grunt": "0.4.5",
3839
"grunt-contrib-watch": "0.6.1",
3940
"grunt-karma-coveralls": "2.5.3",
4041
"grunt-mocha-test": "0.12.7",
41-
"grunt-webpack": "1.0.8",
42+
"grunt-webpack": "1.0.11",
4243
"jit-grunt": "0.9.1",
4344
"jshint": "2.8.0",
4445
"jshint-loader": "0.8.3",
45-
"sinon": "1.15.3",
46+
"sinon": "1.15.4",
4647
"time-grunt": "1.2.1",
47-
"webpack": "1.9.11",
48-
"webpack-dev-server": "1.9.0"
48+
"webpack-dev-server": "1.10.1"
4949
},
5050
"scripts": {
5151
"test": "grunt test"
@@ -54,7 +54,7 @@
5454
"mout": "0.11.0"
5555
},
5656
"peerDependencies": {
57-
"js-data": ">=1.5.7",
57+
"js-data": ">=2.0.0",
5858
"knex": ">=0.7.4",
5959
"mariasql": ">=0.1.21",
6060
"mysql": ">=2.5.5",

src/index.js

+8-12
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,10 @@
1-
import knex from 'knex';
2-
import JSData from 'js-data';
3-
import map from 'mout/array/map';
4-
import keys from 'mout/object/keys';
5-
import omit from 'mout/object/omit';
6-
import isEmpty from 'mout/lang/isEmpty';
7-
import upperCase from 'mout/string/upperCase';
8-
import underscore from 'mout/string/underscore';
9-
import toString from 'mout/lang/toString';
1+
let knex = require('knex');
2+
let JSData = require('js-data');
3+
let map = require('mout/array/map');
4+
let underscore = require('mout/string/underscore');
5+
let toString = require('mout/lang/toString');
106
let { DSUtils } = JSData;
11-
let { Promise: P, contains, forOwn, deepMixIn, forEach, isObject, isString, removeCircular } = DSUtils;
7+
let { keys, isEmpty, upperCase, omit, contains, forOwn, deepMixIn, forEach, isObject, isString, removeCircular } = DSUtils;
128

139
let reserved = [
1410
'orderBy',
@@ -145,7 +141,7 @@ class DSSqlAdapter {
145141
.where(resourceConfig.idAttribute, toString(id))
146142
.then(rows => {
147143
if (!rows.length) {
148-
return P.reject(new Error('Not Found!'));
144+
return DSUtils.Promise.reject(new Error('Not Found!'));
149145
} else {
150146
instance = rows[0];
151147
let tasks = [];
@@ -185,7 +181,7 @@ class DSSqlAdapter {
185181
}
186182
});
187183

188-
return P.all(tasks);
184+
return DSUtils.Promise.all(tasks);
189185
}
190186
})
191187
.then(loadedRelations => {

test/find.spec.js

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
var Promise = require('bluebird');
12
describe('DSSqlAdapter#find', function () {
23
it('should find a user in a Sql db', function () {
34
var id, id2, _user, _post, _comments;

0 commit comments

Comments
 (0)