diff --git a/.jshintrc b/.jshintrc index eed0c57..c58b501 100644 --- a/.jshintrc +++ b/.jshintrc @@ -3,6 +3,7 @@ "browser": true, "esnext": true, "bitwise": true, + "asi": true, "camelcase": true, "curly": true, "eqeqeq": true, diff --git a/CHANGELOG.md b/CHANGELOG.md index a2352b7..976736c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,14 @@ +##### 3.1.1 - 20 September 2015 + +Stable Version 3.1.0 + +###### Backwards compatible API changes +- #335 - Calling $q.reject in http interceptor doesn't resolve to calling reject handler in DS.findAll.then + +###### Other +- Built with js-data-http 2.1.1 +- Upgraded dependencies + ##### 3.0.0 - 02 July 2015 Stable Version 3.0.0 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a086c59..7eb0c5b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,12 +1,24 @@ # Contributing Guide -First, feel free to contact me with questions. [Mailing List](https://groups.google.com/forum/?fromgroups#!forum/js-data-angular). [Issues](https://github.com/js-data/js-data-angular/issues). +First, support is handled via the [Gitter Channel](https://gitter.im/js-data/js-data) and the [Mailing List](https://groups.io/org/groupsio/jsdata). Ask your questions there. -1. Contribute to the issue that is the reason you'll be developing in the first place +When submitting issues on GitHub, please include as much detail as possible to make debugging quick and easy. + +- good - Your versions of Angular, js-data, js-data-angular, etc., relevant console logs/error, code examples that revealed the issue +- better - A [plnkr](http://plnkr.co/), [fiddle](http://jsfiddle.net/), or [bin](http://jsbin.com/?html,output) that demonstrates the issue +- best - A Pull Request that fixes the issue, including test coverage for the issue and the fix + +[Github Issues](https://github.com/js-data/js-data-angular/issues). + +#### Submitting Pull Requests + +1. Contribute to the issue/discussion that is the reason you'll be developing in the first place 1. Fork js-data-angular -1. `git clone https://github.com//js-data-angular.git` +1. `git clone git@github.com:/js-data-angular.git` 1. `cd js-data-angular; npm install; bower install;` -1. `grunt go` (builds and starts a watch) -1. (in another terminal) `grunt karma:dev` (runs the tests) 1. Write your code, including relevant documentation and tests -1. Submit a PR and we'll review +1. Run `grunt test` (build and test) +1. Your code will be linted and checked for formatting, the tests will be run +1. The `dist/` folder & files will be generated, do NOT commit `dist/*`! They will be committed when a release is cut. +1. Submit your PR and we'll review! +1. Thanks! \ No newline at end of file diff --git a/Gruntfile.js b/Gruntfile.js index 4966178..eae4a44 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -78,6 +78,19 @@ module.exports = function (grunt) { 'test/**/*.js' ] } + }, + c9: { + browsers: ['PhantomJS'], + options: { + files: [ + 'bower_components/angular-1.3.2/angular.js', + 'bower_components/angular-mocks-1.3.2/angular-mocks.js', + 'node_modules/js-data/dist/js-data.min.js', + 'dist/js-data-angular.min.js', + 'karma.start.js', + 'test/**/*.js' + ] + } } }, coveralls: { @@ -123,6 +136,22 @@ module.exports = function (grunt) { } }); + grunt.registerTask('standard', function () { + var child_process = require('child_process'); + var done = this.async(); + grunt.log.writeln('Linting for correcting formatting...'); + child_process.exec('node node_modules/standard/bin/cmd.js --parser babel-eslint src/*.js src/**/*.js src/**/**/*.js', function (err, stdout) { + console.log(stdout); + if (err) { + grunt.log.writeln('Failed due to ' + (stdout.split('\n').length - 2) + ' lint errors!'); + done(err); + } else { + grunt.log.writeln('Done linting.'); + done(); + } + }); + }); + grunt.registerTask('version', function (filePath) { var file = grunt.file.read(filePath); @@ -133,10 +162,12 @@ module.exports = function (grunt) { grunt.registerTask('build', [ 'clean', + 'standard', 'webpack', 'uglify' ]); grunt.registerTask('go', ['build', 'watch:dist']); grunt.registerTask('default', ['build']); grunt.registerTask('test', ['build', 'karma:min']); + grunt.registerTask('test_c9', ['build', 'karma:c9']); }; diff --git a/README.md b/README.md index 2b68e74..16d9621 100644 --- a/README.md +++ b/README.md @@ -108,16 +108,28 @@ app.controller('postCtrl', function ($scope, $routeParams, Post, Comment) { ### Contributing -First, feel free to contact me with questions. [Mailing List](https://groups.io/org/groupsio/jsdata). [Issues](https://github.com/js-data/js-data-angular/issues). +First, support is handled via the [Gitter Channel](https://gitter.im/js-data/js-data) and the [Mailing List](https://groups.io/org/groupsio/jsdata). Ask your questions there. -1. Contribute to the issue that is the reason you'll be developing in the first place +When submitting issues on GitHub, please include as much detail as possible to make debugging quick and easy. + +- good - Your versions of Angular, js-data, js-data-angular, etc., relevant console logs/error, code examples that revealed the issue +- better - A [plnkr](http://plnkr.co/), [fiddle](http://jsfiddle.net/), or [bin](http://jsbin.com/?html,output) that demonstrates the issue +- best - A Pull Request that fixes the issue, including test coverage for the issue and the fix + +[Github Issues](https://github.com/js-data/js-data-angular/issues). + +#### Submitting Pull Requests + +1. Contribute to the issue/discussion that is the reason you'll be developing in the first place 1. Fork js-data-angular -1. `git clone https://github.com//js-data-angular.git` +1. `git clone git@github.com:/js-data-angular.git` 1. `cd js-data-angular; npm install; bower install;` -1. `grunt go` (builds and starts a watch) -1. (in another terminal) `grunt karma:dev` (runs the tests) 1. Write your code, including relevant documentation and tests -1. Submit a PR and we'll review +1. Run `grunt test` (build and test) +1. Your code will be linted and checked for formatting, the tests will be run +1. The `dist/` folder & files will be generated, do NOT commit `dist/*`! They will be committed when a release is cut. +1. Submit your PR and we'll review! +1. Thanks! ### License diff --git a/dist/js-data-angular.js b/dist/js-data-angular.js index 988d5ee..2110765 100644 --- a/dist/js-data-angular.js +++ b/dist/js-data-angular.js @@ -1,6 +1,6 @@ /*! * js-data-angular - * @version 3.0.0 - Homepage + * @version 3.1.0 - Homepage * @author Jason Dobry * @copyright (c) 2014-2015 Jason Dobry * @license MIT @@ -11,14 +11,14 @@ if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(require("js-data"), require("angular"), (function webpackLoadOptionalExternalModule() { try { return require("axios"); } catch(e) {} }())); else if(typeof define === 'function' && define.amd) - define(["js-data", "angular"], function webpackLoadOptionalExternalModuleAmd(__WEBPACK_EXTERNAL_MODULE_1__, __WEBPACK_EXTERNAL_MODULE_2__) { - return factory(__WEBPACK_EXTERNAL_MODULE_1__, __WEBPACK_EXTERNAL_MODULE_2__, root["axios"]); + define(["js-data", "angular"], function webpackLoadOptionalExternalModuleAmd(__WEBPACK_EXTERNAL_MODULE_1__, __WEBPACK_EXTERNAL_MODULE_4__) { + return factory(__WEBPACK_EXTERNAL_MODULE_1__, __WEBPACK_EXTERNAL_MODULE_4__, root["axios"]); }); else if(typeof exports === 'object') exports["jsDataAngularModuleName"] = factory(require("js-data"), require("angular"), (function webpackLoadOptionalExternalModule() { try { return require("axios"); } catch(e) {} }())); else root["jsDataAngularModuleName"] = factory(root["JSData"], root["angular"], root["axios"]); -})(this, function(__WEBPACK_EXTERNAL_MODULE_1__, __WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_5__) { +})(this, function(__WEBPACK_EXTERNAL_MODULE_1__, __WEBPACK_EXTERNAL_MODULE_4__, __WEBPACK_EXTERNAL_MODULE_3__) { return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; @@ -67,10 +67,10 @@ return /******/ (function(modules) { // webpackBootstrap function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } - /*jshint loopfunc:true*/ + /* jshint loopfunc:true */ var JSData = __webpack_require__(1); - var DSHttpAdapter = __webpack_require__(4); - var angular = __webpack_require__(2); + var DSHttpAdapter = __webpack_require__(2); + var angular = __webpack_require__(4); var DSUtils = JSData.DSUtils; var DSErrors = JSData.DSErrors; @@ -104,7 +104,7 @@ return /******/ (function(modules) { // webpackBootstrap var Adapter = undefined; try { - Adapter = __webpack_require__(3)(adapter.project); + Adapter = __webpack_require__(5)(adapter.project); } catch (e) {} if (!Adapter) { @@ -235,7 +235,7 @@ return /******/ (function(modules) { // webpackBootstrap var deferred = $q.defer(); try { - executor.call(undefined, angular.bind(deferred, deferred.resolve), angular.bind(deferred, deferred.reject)); + executor(angular.bind(deferred, deferred.resolve), angular.bind(deferred, deferred.reject)); } catch (err) { deferred.reject(err); } @@ -262,6 +262,8 @@ return /******/ (function(modules) { // webpackBootstrap } } + // Wrap certain sync functions with $apply + var _loop = function () { var name = functionsToWrap[k]; originals[name] = store[name]; @@ -279,7 +281,6 @@ return /******/ (function(modules) { // webpackBootstrap }; }; - // Wrap certain sync functions with $apply for (var k = 0; k < functionsToWrap.length; k++) { _loop(); } @@ -315,37 +316,12 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, /* 1 */ -/***/ function(module, exports, __webpack_require__) { +/***/ function(module, exports) { module.exports = __WEBPACK_EXTERNAL_MODULE_1__; /***/ }, /* 2 */ -/***/ function(module, exports, __webpack_require__) { - - module.exports = __WEBPACK_EXTERNAL_MODULE_2__; - -/***/ }, -/* 3 */ -/***/ function(module, exports, __webpack_require__) { - - var map = {}; - function webpackContext(req) { - return __webpack_require__(webpackContextResolve(req)); - }; - function webpackContextResolve(req) { - return map[req] || (function() { throw new Error("Cannot find module '" + req + "'.") }()); - }; - webpackContext.keys = function webpackContextKeys() { - return Object.keys(map); - }; - webpackContext.resolve = webpackContextResolve; - module.exports = webpackContext; - webpackContext.id = 3; - - -/***/ }, -/* 4 */ /***/ function(module, exports, __webpack_require__) { 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; }; })(); @@ -356,7 +332,7 @@ return /******/ (function(modules) { // webpackBootstrap var axios = null; try { - axios = __webpack_require__(5); + axios = __webpack_require__(3); } catch (e) {} var DSUtils = JSData.DSUtils; @@ -406,10 +382,13 @@ return /******/ (function(modules) { // webpackBootstrap defaultsPrototype.httpConfig = {}; + defaultsPrototype.verbsUseBasePath = false; + var DSHttpAdapter = (function () { function DSHttpAdapter(options) { _classCallCheck(this, DSHttpAdapter); + options = options || {}; this.defaults = new Defaults(); if (console) { this.defaults.log = function (a, b) { @@ -481,11 +460,15 @@ return /******/ (function(modules) { // webpackBootstrap value: function getPath(method, resourceConfig, id, options) { var _this = this; options = options || {}; - var args = [options.basePath || _this.defaults.basePath || resourceConfig.basePath, this.getEndpoint(resourceConfig, isString(id) || isNumber(id) || method === 'create' ? id : null, options)]; - if (method === 'find' || method === 'update' || method === 'destroy') { - args.push(id); + if (isString(options.urlPath)) { + return makePath.apply(DSUtils, [options.basePath || _this.defaults.basePath || resourceConfig.basePath, options.urlPath]); + } else { + var args = [options.basePath || _this.defaults.basePath || resourceConfig.basePath, this.getEndpoint(resourceConfig, isString(id) || isNumber(id) || method === 'create' ? id : null, options)]; + if (method === 'find' || method === 'update' || method === 'destroy') { + args.push(id); + } + return makePath.apply(DSUtils, args); } - return makePath.apply(DSUtils, args); } }, { key: 'HTTP', @@ -494,7 +477,13 @@ return /******/ (function(modules) { // webpackBootstrap var start = new Date(); config = copy(config); config = deepMixIn(config, _this.defaults.httpConfig); - if (_this.defaults.forceTrailingSlash && config.url[config.url.length - 1] !== '/') { + if (!('verbsUseBasePath' in config)) { + config.verbsUseBasePath = _this.defaults.verbsUseBasePath; + } + if (!config.urlOverride && config.verbsUseBasePath) { + config.url = makePath(config.basePath || _this.defaults.basePath, config.url); + } + if (_this.defaults.forceTrailingSlash && config.url[config.url.length - 1] !== '/' && !config.urlOverride) { config.url += '/'; } if (typeof config.data === 'object') { @@ -502,21 +491,35 @@ return /******/ (function(modules) { // webpackBootstrap } config.method = config.method.toUpperCase(); var suffix = config.suffix || _this.defaults.suffix; - if (suffix && config.url.substr(config.url.length - suffix.length) !== suffix) { + if (suffix && config.url.substr(config.url.length - suffix.length) !== suffix && !config.urlOverride) { config.url += suffix; } - function logResponse(data) { - var str = start.toUTCString() + ' - ' + data.config.method.toUpperCase() + ' ' + data.config.url + ' - ' + data.status + ' ' + (new Date().getTime() - start.getTime()) + 'ms'; - if (data.status >= 200 && data.status < 300) { - if (_this.defaults.log) { - _this.defaults.log(str, data); + // logs the HTTP response + function logResponse(data, isRejection) { + data = data || {}; + // examine the data object + if (data instanceof Error) { + // log the Error object + _this.defaults.error('FAILED: ' + (data.message || 'Unknown Error'), data); + return DSUtils.Promise.reject(data); + } else if (typeof data === 'object') { + var str = start.toUTCString() + ' - ' + config.method + ' ' + config.url + ' - ' + data.status + ' ' + (new Date().getTime() - start.getTime()) + 'ms'; + + if (data.status >= 200 && data.status < 300 && !isRejection) { + if (_this.defaults.log) { + _this.defaults.log(str, data); + } + return data; + } else { + if (_this.defaults.error) { + _this.defaults.error('FAILED: ' + str, data); + } + return DSUtils.Promise.reject(data); } - return data; } else { - if (_this.defaults.error) { - _this.defaults.error('\'FAILED: ' + str, data); - } + // unknown type for 'data' that is not an Object or Error + _this.defaults.error('FAILED', data); return DSUtils.Promise.reject(data); } } @@ -525,53 +528,47 @@ return /******/ (function(modules) { // webpackBootstrap throw new Error('You have not configured this adapter with an http library!'); } - return this.http(config).then(logResponse, logResponse); + return this.http(config).then(logResponse, function (data) { + return logResponse(data, true); + }); } }, { key: 'GET', value: function GET(url, config) { config = config || {}; - if (!('method' in config)) { - config.method = 'get'; - } - return this.HTTP(deepMixIn(config, { - url: url - })); + config.method = config.method || 'get'; + config.urlOverride = !!config.url; + config.url = config.url || url; + return this.HTTP(config); } }, { key: 'POST', value: function POST(url, attrs, config) { config = config || {}; - if (!('method' in config)) { - config.method = 'post'; - } - return this.HTTP(deepMixIn(config, { - url: url, - data: attrs - })); + config.method = config.method || 'post'; + config.urlOverride = !!config.url; + config.url = config.url || url; + config.data = config.data || attrs; + return this.HTTP(config); } }, { key: 'PUT', value: function PUT(url, attrs, config) { config = config || {}; - if (!('method' in config)) { - config.method = 'put'; - } - return this.HTTP(deepMixIn(config, { - url: url, - data: attrs || {} - })); + config.method = config.method || 'put'; + config.urlOverride = !!config.url; + config.url = config.url || url; + config.data = config.data || attrs; + return this.HTTP(config); } }, { key: 'DEL', value: function DEL(url, config) { config = config || {}; - if (!('method' in config)) { - config.method = 'delete'; - } - return this.HTTP(deepMixIn(config, { - url: url - })); + config.method = config.method || 'delete'; + config.urlOverride = !!config.url; + config.url = config.url || url; + return this.HTTP(config); } }, { key: 'find', @@ -674,12 +671,37 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = DSHttpAdapter; +/***/ }, +/* 3 */ +/***/ function(module, exports) { + + if(typeof __WEBPACK_EXTERNAL_MODULE_3__ === 'undefined') {var e = new Error("Cannot find module \"axios\""); e.code = 'MODULE_NOT_FOUND'; throw e;} + module.exports = __WEBPACK_EXTERNAL_MODULE_3__; + +/***/ }, +/* 4 */ +/***/ function(module, exports) { + + module.exports = __WEBPACK_EXTERNAL_MODULE_4__; + /***/ }, /* 5 */ /***/ function(module, exports, __webpack_require__) { - if(typeof __WEBPACK_EXTERNAL_MODULE_5__ === 'undefined') {var e = new Error("Cannot find module \"axios\""); e.code = 'MODULE_NOT_FOUND'; throw e;} - module.exports = __WEBPACK_EXTERNAL_MODULE_5__; + var map = {}; + function webpackContext(req) { + return __webpack_require__(webpackContextResolve(req)); + }; + function webpackContextResolve(req) { + return map[req] || (function() { throw new Error("Cannot find module '" + req + "'.") }()); + }; + webpackContext.keys = function webpackContextKeys() { + return Object.keys(map); + }; + webpackContext.resolve = webpackContextResolve; + module.exports = webpackContext; + webpackContext.id = 5; + /***/ } /******/ ]) diff --git a/dist/js-data-angular.min.js b/dist/js-data-angular.min.js index 1d88e7c..eecf447 100644 --- a/dist/js-data-angular.min.js +++ b/dist/js-data-angular.min.js @@ -1,6 +1,6 @@ /*! * js-data-angular -* @version 3.0.0 - Homepage +* @version 3.1.0 - Homepage * @author Jason Dobry * @copyright (c) 2014-2015 Jason Dobry * @license MIT @@ -8,5 +8,5 @@ * @overview Angular wrapper for js-data. */ -!function(a,b){"object"==typeof exports&&"object"==typeof module?module.exports=b(require("js-data"),require("angular"),function(){try{return require("axios")}catch(a){}}()):"function"==typeof define&&define.amd?define(["js-data","angular"],function(c,d){return b(c,d,a.axios)}):"object"==typeof exports?exports.jsDataAngularModuleName=b(require("js-data"),require("angular"),function(){try{return require("axios")}catch(a){}}()):a.jsDataAngularModuleName=b(a.JSData,a.angular,a.axios)}(this,function(a,b,c){return function(a){function b(d){if(c[d])return c[d].exports;var e=c[d]={exports:{},id:d,loaded:!1};return a[d].call(e.exports,e,e.exports,b),e.loaded=!0,e.exports}var c={};return b.m=a,b.c=c,b.p="",b(0)}([function(a,b,c){function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a){var b=void 0;try{b=c(3)(a.project)}catch(d){}b||(b=window[a["class"]]),b&&(a.loaded=!0,h.module("js-data").provider(a["class"],function(){var a=this;a.defaults={},a.$get=[function(){return new b(a.defaults)}]}))}var f=c(1),g=c(4),h=c(2),i=f.DSUtils,j=f.DSErrors,k=i.isString,l=i.isNumber,m=i.isObject,n=i.set,o=i.resolveId,p=[{project:"js-data-localstorage",name:"localstorage","class":"DSLocalStorageAdapter"},{project:"js-data-localforage",name:"localforage","class":"DSLocalForageAdapter"},{project:"js-data-firebase",name:"firebase","class":"DSFirebaseAdapter"},{project:"js-data-sql",name:"sql","class":"DSSqlAdapter"}],q=["compute","digest","eject","inject"],r=function u(){d(this,u);var a={};this.defaults=a,this.$get=["$http","DS",function(b,c){a.http=a.http||b;var d=new g(a);return c.registerAdapter("http",d,{"default":!0}),d}]},s=function v(){function a(){function a(a){var b=j.defer();try{a.call(void 0,h.bind(b,b.resolve),h.bind(b,b.reject))}catch(c){b.reject(c)}return b.promise}for(var c=arguments.length,d=Array(c),e=0;c>e;e++)d[e]=arguments[e];var g=d[d.length-2],j=d[d.length-1],k=new f.DS(b.defaults),l={};if(a.all=j.all,a.when=j.when,a.reject=j.reject,i.Promise=a,d.length)for(var m=0;md;d++)c[d]=arguments[d];return g.$$phase?l[a].apply(k,c):g.$apply(function(){return l[a].apply(k,c)})}},r=0;r=200&&a.status<300?(c.defaults.log&&c.defaults.log(b,a),a):(c.defaults.error&&c.defaults.error("'FAILED: "+b,a),i.Promise.reject(a))}var c=this,d=new Date;a=l(a),a=j(a,c.defaults.httpConfig),c.defaults.forceTrailingSlash&&"/"!==a.url[a.url.length-1]&&(a.url+="/"),"object"==typeof a.data&&(a.data=k(a.data)),a.method=a.method.toUpperCase();var e=a.suffix||c.defaults.suffix;if(e&&a.url.substr(a.url.length-e.length)!==e&&(a.url+=e),!this.http)throw new Error("You have not configured this adapter with an http library!");return this.http(a).then(b,b)}},{key:"GET",value:function(a,b){return b=b||{},"method"in b||(b.method="get"),this.HTTP(j(b,{url:a}))}},{key:"POST",value:function(a,b,c){return c=c||{},"method"in c||(c.method="post"),this.HTTP(j(c,{url:a,data:b}))}},{key:"PUT",value:function(a,b,c){return c=c||{},"method"in c||(c.method="put"),this.HTTP(j(c,{url:a,data:b||{}}))}},{key:"DEL",value:function(a,b){return b=b||{},"method"in b||(b.method="delete"),this.HTTP(j(b,{url:a}))}},{key:"find",value:function(a,b,c){var d=this;return c=c?l(c):{},c.suffix=c.suffix||a.suffix,c.params=c.params||{},c.params=d.defaults.queryTransform(a,c.params),d.GET(d.getPath("find",a,b,c),c).then(function(b){var e=(c.deserialize?c.deserialize:d.defaults.deserialize)(a,b);return e?e:i.Promise.reject(new Error("Not Found!"))})}},{key:"findAll",value:function(a,b,c){var d=this;return c=c?l(c):{},c.suffix=c.suffix||a.suffix,c.params=c.params||{},b&&(b=d.defaults.queryTransform(a,b),j(c.params,b)),d.GET(d.getPath("findAll",a,b,c),c).then(function(b){return(c.deserialize?c.deserialize:d.defaults.deserialize)(a,b)})}},{key:"create",value:function(a,b,c){var d=this;return c=c?l(c):{},c.suffix=c.suffix||a.suffix,c.params=c.params||{},c.params=d.defaults.queryTransform(a,c.params),d.POST(d.getPath("create",a,b,c),c.serialize?c.serialize(a,b):d.defaults.serialize(a,b),c).then(function(b){return(c.deserialize?c.deserialize:d.defaults.deserialize)(a,b)})}},{key:"update",value:function(a,b,c,d){var e=this;return d=d?l(d):{},d.suffix=d.suffix||a.suffix,d.params=d.params||{},d.params=e.defaults.queryTransform(a,d.params),e.PUT(e.getPath("update",a,b,d),d.serialize?d.serialize(a,c):e.defaults.serialize(a,c),d).then(function(b){return(d.deserialize?d.deserialize:e.defaults.deserialize)(a,b)})}},{key:"updateAll",value:function(a,b,c,d){var e=this;return d=d?l(d):{},d.suffix=d.suffix||a.suffix,d.params=d.params||{},c&&(c=e.defaults.queryTransform(a,c),j(d.params,c)),this.PUT(e.getPath("updateAll",a,b,d),d.serialize?d.serialize(a,b):e.defaults.serialize(a,b),d).then(function(b){return(d.deserialize?d.deserialize:e.defaults.deserialize)(a,b)})}},{key:"destroy",value:function(a,b,c){var d=this;return c=c?l(c):{},c.suffix=c.suffix||a.suffix,c.params=c.params||{},c.params=d.defaults.queryTransform(a,c.params),d.DEL(d.getPath("destroy",a,b,c),c).then(function(b){return(c.deserialize?c.deserialize:d.defaults.deserialize)(a,b)})}},{key:"destroyAll",value:function(a,b,c){var d=this;return c=c?l(c):{},c.suffix=c.suffix||a.suffix,c.params=c.params||{},b&&(b=d.defaults.queryTransform(a,b),j(c.params,b)),this.DEL(d.getPath("destroyAll",a,b,c),c).then(function(b){return(c.deserialize?c.deserialize:d.defaults.deserialize)(a,b)})}}]),a}();a.exports=r},function(a,b,d){if("undefined"==typeof c){var e=new Error('Cannot find module "axios"');throw e.code="MODULE_NOT_FOUND",e}a.exports=c}])}); +!function(a,b){"object"==typeof exports&&"object"==typeof module?module.exports=b(require("js-data"),require("angular"),function(){try{return require("axios")}catch(a){}}()):"function"==typeof define&&define.amd?define(["js-data","angular"],function(c,d){return b(c,d,a.axios)}):"object"==typeof exports?exports.jsDataAngularModuleName=b(require("js-data"),require("angular"),function(){try{return require("axios")}catch(a){}}()):a.jsDataAngularModuleName=b(a.JSData,a.angular,a.axios)}(this,function(a,b,c){return function(a){function b(d){if(c[d])return c[d].exports;var e=c[d]={exports:{},id:d,loaded:!1};return a[d].call(e.exports,e,e.exports,b),e.loaded=!0,e.exports}var c={};return b.m=a,b.c=c,b.p="",b(0)}([function(a,b,c){function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a){var b=void 0;try{b=c(5)(a.project)}catch(d){}b||(b=window[a["class"]]),b&&(a.loaded=!0,h.module("js-data").provider(a["class"],function(){var a=this;a.defaults={},a.$get=[function(){return new b(a.defaults)}]}))}var f=c(1),g=c(2),h=c(4),i=f.DSUtils,j=f.DSErrors,k=i.isString,l=i.isNumber,m=i.isObject,n=i.set,o=i.resolveId,p=[{project:"js-data-localstorage",name:"localstorage","class":"DSLocalStorageAdapter"},{project:"js-data-localforage",name:"localforage","class":"DSLocalForageAdapter"},{project:"js-data-firebase",name:"firebase","class":"DSFirebaseAdapter"},{project:"js-data-sql",name:"sql","class":"DSSqlAdapter"}],q=["compute","digest","eject","inject"],r=function u(){d(this,u);var a={};this.defaults=a,this.$get=["$http","DS",function(b,c){a.http=a.http||b;var d=new g(a);return c.registerAdapter("http",d,{"default":!0}),d}]},s=function v(){function a(){function a(a){var b=j.defer();try{a(h.bind(b,b.resolve),h.bind(b,b.reject))}catch(c){b.reject(c)}return b.promise}for(var c=arguments.length,d=Array(c),e=0;c>e;e++)d[e]=arguments[e];var g=d[d.length-2],j=d[d.length-1],k=new f.DS(b.defaults),l={};if(a.all=j.all,a.when=j.when,a.reject=j.reject,i.Promise=a,d.length)for(var m=0;md;d++)c[d]=arguments[d];return g.$$phase?l[a].apply(k,c):g.$apply(function(){return l[a].apply(k,c)})}},r=0;r=200&&b.status<300&&!e?(c.defaults.log&&c.defaults.log(f,b),b):(c.defaults.error&&c.defaults.error("FAILED: "+f,b),i.Promise.reject(b))}return c.defaults.error("FAILED",b),i.Promise.reject(b)}var c=this,d=new Date;a=l(a),a=j(a,c.defaults.httpConfig),"verbsUseBasePath"in a||(a.verbsUseBasePath=c.defaults.verbsUseBasePath),!a.urlOverride&&a.verbsUseBasePath&&(a.url=m(a.basePath||c.defaults.basePath,a.url)),c.defaults.forceTrailingSlash&&"/"!==a.url[a.url.length-1]&&!a.urlOverride&&(a.url+="/"),"object"==typeof a.data&&(a.data=k(a.data)),a.method=a.method.toUpperCase();var e=a.suffix||c.defaults.suffix;if(e&&a.url.substr(a.url.length-e.length)!==e&&!a.urlOverride&&(a.url+=e),!this.http)throw new Error("You have not configured this adapter with an http library!");return this.http(a).then(b,function(a){return b(a,!0)})}},{key:"GET",value:function(a,b){return b=b||{},b.method=b.method||"get",b.urlOverride=!!b.url,b.url=b.url||a,this.HTTP(b)}},{key:"POST",value:function(a,b,c){return c=c||{},c.method=c.method||"post",c.urlOverride=!!c.url,c.url=c.url||a,c.data=c.data||b,this.HTTP(c)}},{key:"PUT",value:function(a,b,c){return c=c||{},c.method=c.method||"put",c.urlOverride=!!c.url,c.url=c.url||a,c.data=c.data||b,this.HTTP(c)}},{key:"DEL",value:function(a,b){return b=b||{},b.method=b.method||"delete",b.urlOverride=!!b.url,b.url=b.url||a,this.HTTP(b)}},{key:"find",value:function(a,b,c){var d=this;return c=c?l(c):{},c.suffix=c.suffix||a.suffix,c.params=c.params||{},c.params=d.defaults.queryTransform(a,c.params),d.GET(d.getPath("find",a,b,c),c).then(function(b){var e=(c.deserialize?c.deserialize:d.defaults.deserialize)(a,b);return e?e:i.Promise.reject(new Error("Not Found!"))})}},{key:"findAll",value:function(a,b,c){var d=this;return c=c?l(c):{},c.suffix=c.suffix||a.suffix,c.params=c.params||{},b&&(b=d.defaults.queryTransform(a,b),j(c.params,b)),d.GET(d.getPath("findAll",a,b,c),c).then(function(b){return(c.deserialize?c.deserialize:d.defaults.deserialize)(a,b)})}},{key:"create",value:function(a,b,c){var d=this;return c=c?l(c):{},c.suffix=c.suffix||a.suffix,c.params=c.params||{},c.params=d.defaults.queryTransform(a,c.params),d.POST(d.getPath("create",a,b,c),c.serialize?c.serialize(a,b):d.defaults.serialize(a,b),c).then(function(b){return(c.deserialize?c.deserialize:d.defaults.deserialize)(a,b)})}},{key:"update",value:function(a,b,c,d){var e=this;return d=d?l(d):{},d.suffix=d.suffix||a.suffix,d.params=d.params||{},d.params=e.defaults.queryTransform(a,d.params),e.PUT(e.getPath("update",a,b,d),d.serialize?d.serialize(a,c):e.defaults.serialize(a,c),d).then(function(b){return(d.deserialize?d.deserialize:e.defaults.deserialize)(a,b)})}},{key:"updateAll",value:function(a,b,c,d){var e=this;return d=d?l(d):{},d.suffix=d.suffix||a.suffix,d.params=d.params||{},c&&(c=e.defaults.queryTransform(a,c),j(d.params,c)),this.PUT(e.getPath("updateAll",a,b,d),d.serialize?d.serialize(a,b):e.defaults.serialize(a,b),d).then(function(b){return(d.deserialize?d.deserialize:e.defaults.deserialize)(a,b)})}},{key:"destroy",value:function(a,b,c){var d=this;return c=c?l(c):{},c.suffix=c.suffix||a.suffix,c.params=c.params||{},c.params=d.defaults.queryTransform(a,c.params),d.DEL(d.getPath("destroy",a,b,c),c).then(function(b){return(c.deserialize?c.deserialize:d.defaults.deserialize)(a,b)})}},{key:"destroyAll",value:function(a,b,c){var d=this;return c=c?l(c):{},c.suffix=c.suffix||a.suffix,c.params=c.params||{},b&&(b=d.defaults.queryTransform(a,b),j(c.params,b)),this.DEL(d.getPath("destroyAll",a,b,c),c).then(function(b){return(c.deserialize?c.deserialize:d.defaults.deserialize)(a,b)})}}]),a}();a.exports=r},function(a,b){if("undefined"==typeof c){var d=new Error('Cannot find module "axios"');throw d.code="MODULE_NOT_FOUND",d}a.exports=c},function(a,c){a.exports=b},function(a,b,c){function d(a){return c(e(a))}function e(a){return f[a]||function(){throw new Error("Cannot find module '"+a+"'.")}()}var f={};d.keys=function(){return Object.keys(f)},d.resolve=e,a.exports=d,d.id=5}])}); //# sourceMappingURL=js-data-angular.min.map \ No newline at end of file diff --git a/dist/js-data-angular.min.map b/dist/js-data-angular.min.map index 5a5833b..bd5b4b7 100644 --- a/dist/js-data-angular.min.map +++ b/dist/js-data-angular.min.map @@ -1 +1 @@ -{"version":3,"file":"js-data-angular.min.js","sources":["js-data-angular.js"],"names":["root","factory","exports","module","require","e","define","amd","__WEBPACK_EXTERNAL_MODULE_1__","__WEBPACK_EXTERNAL_MODULE_2__","this","__WEBPACK_EXTERNAL_MODULE_5__","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","_classCallCheck","instance","Constructor","TypeError","registerAdapter","adapter","Adapter","undefined","project","window","angular","provider","_this","defaults","$get","JSData","DSHttpAdapter","DSUtils","DSErrors","isString","isNumber","isObject","set","resolveId","adapters","name","class","functionsToWrap","DSHttpAdapterProvider","$http","DS","http","default","DSProvider","load","QPromise","executor","deferred","$q","defer","bind","resolve","reject","err","promise","_len","arguments","length","args","Array","_key","$rootScope","store","originals","all","when","Promise","i","j","registered","_loop","k","_len2","_key2","$$phase","apply","$apply","Object","observe","$watch","Platform","performMicrotaskCheckpoint","deps","push","prototype","bindAll","resourceName","params","scope","expr","cb","definitions","NER","IA","lastModified","items","filter","bindOne","item","get","compute","value","version","run","webpackContext","req","webpackContextResolve","map","Error","keys","_createClass","defineProperties","target","props","descriptor","enumerable","configurable","writable","defineProperty","key","protoProps","staticProps","axios","deepMixIn","removeCircular","copy","makePath","Defaults","resourceConfig","data","defaultsPrototype","basePath","forceTrailingSlash","httpConfig","options","console","log","a","b","info","error","_this2","parentKey","endpoint","hasOwnProperty","parentField","parentDef","getResource","parent","parentId","_sn","_o","idAttribute","_ret","_options","forOwn","v","getEndpoint","_","method","config","logResponse","str","start","toUTCString","toUpperCase","url","status","Date","getTime","suffix","substr","then","HTTP","attrs","queryTransform","GET","getPath","deserialize","POST","serialize","PUT","DEL","code"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"js-data-angular.min.js","sources":["js-data-angular.js"],"names":["root","factory","exports","module","require","e","define","amd","__WEBPACK_EXTERNAL_MODULE_1__","__WEBPACK_EXTERNAL_MODULE_4__","this","__WEBPACK_EXTERNAL_MODULE_3__","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","_classCallCheck","instance","Constructor","TypeError","registerAdapter","adapter","Adapter","undefined","project","window","angular","provider","_this","defaults","$get","JSData","DSHttpAdapter","DSUtils","DSErrors","isString","isNumber","isObject","set","resolveId","adapters","name","class","functionsToWrap","DSHttpAdapterProvider","$http","DS","http","default","DSProvider","load","QPromise","executor","deferred","$q","defer","bind","resolve","reject","err","promise","_len","arguments","length","args","Array","_key","$rootScope","store","originals","all","when","Promise","i","j","registered","_loop","k","_len2","_key2","$$phase","apply","$apply","Object","observe","$watch","Platform","performMicrotaskCheckpoint","deps","push","prototype","bindAll","resourceName","params","scope","expr","cb","definitions","NER","IA","lastModified","items","filter","bindOne","item","get","compute","value","version","run","_createClass","defineProperties","target","props","descriptor","enumerable","configurable","writable","defineProperty","key","protoProps","staticProps","axios","deepMixIn","removeCircular","copy","makePath","Defaults","resourceConfig","data","defaultsPrototype","basePath","forceTrailingSlash","httpConfig","verbsUseBasePath","options","console","log","a","b","info","error","_this2","parentKey","endpoint","hasOwnProperty","parentField","parentDef","getResource","parent","parentId","_sn","_o","idAttribute","_ret","_options","forOwn","v","getEndpoint","_","method","urlPath","config","logResponse","isRejection","Error","message","str","start","toUTCString","url","status","Date","getTime","urlOverride","toUpperCase","suffix","substr","then","HTTP","attrs","queryTransform","GET","getPath","deserialize","POST","serialize","PUT","DEL","code","webpackContext","req","webpackContextResolve","map","keys"],"mappings":";;;;;;;;;;CASA,SAA2CA,EAAMC,GAC1B,gBAAZC,UAA0C,gBAAXC,QACxCA,OAAOD,QAAUD,EAAQG,QAAQ,WAAYA,QAAQ,WAAa,WAA+C,IAAM,MAAOA,SAAQ,SAAY,MAAMC,SAC/H,kBAAXC,SAAyBA,OAAOC,IAC9CD,QAAQ,UAAW,WAAY,SAA8CE,EAA+BC,GAC3G,MAAOR,GAAQO,EAA+BC,EAA+BT,EAAY,SAEhE,gBAAZE,SACdA,QAAiC,wBAAID,EAAQG,QAAQ,WAAYA,QAAQ,WAAa,WAA+C,IAAM,MAAOA,SAAQ,SAAY,MAAMC,SAE5KL,EAA8B,wBAAIC,EAAQD,EAAa,OAAGA,EAAc,QAAGA,EAAY,QACtFU,KAAM,SAASF,EAA+BC,EAA+BE,GAChF,MAAgB,UAAUC,GAKhB,QAASC,GAAoBC,GAG5B,GAAGC,EAAiBD,GACnB,MAAOC,GAAiBD,GAAUZ,OAGnC,IAAIC,GAASY,EAAiBD,IAC7BZ,WACAc,GAAIF,EACJG,QAAQ,EAUT,OANAL,GAAQE,GAAUI,KAAKf,EAAOD,QAASC,EAAQA,EAAOD,QAASW,GAG/DV,EAAOc,QAAS,EAGTd,EAAOD,QAvBf,GAAIa,KAqCJ,OATAF,GAAoBM,EAAIP,EAGxBC,EAAoBO,EAAIL,EAGxBF,EAAoBQ,EAAI,GAGjBR,EAAoB,KAK/B,SAASV,EAAQD,EAASW,GAE/B,QAASS,GAAgBC,EAAUC,GAAe,KAAMD,YAAoBC,IAAgB,KAAM,IAAIC,WAAU,qCAmChH,QAASC,GAAgBC,GACvB,GAAIC,GAAUC,MAEd,KACED,EAAUf,EAAoB,GAAGc,EAAQG,SACzC,MAAOzB,IAEJuB,IACHA,EAAUG,OAAOJ,EAAQ,WAGvBC,IACFD,EAAQV,QAAS,EACjBe,EAAQ7B,OAAO,WAAW8B,SAASN,EAAQ,SAAU,WACnD,GAAIO,GAAQxB,IACZwB,GAAMC,YACND,EAAME,MAAQ,WACZ,MAAO,IAAIR,GAAQM,EAAMC,eAjDjC,GAAIE,GAASxB,EAAoB,GAC7ByB,EAAgBzB,EAAoB,GACpCmB,EAAUnB,EAAoB,GAE9B0B,EAAUF,EAAOE,QACjBC,EAAWH,EAAOG,SAClBC,EAAWF,EAAQE,SACnBC,EAAWH,EAAQG,SACnBC,EAAWJ,EAAQI,SACnBC,EAAML,EAAQK,IACdC,EAAYN,EAAQM,UAEpBC,IACFhB,QAAS,uBACTiB,KAAM,eACNC,QAAS,0BAETlB,QAAS,sBACTiB,KAAM,cACNC,QAAS,yBAETlB,QAAS,mBACTiB,KAAM,WACNC,QAAS,sBAETlB,QAAS,cACTiB,KAAM,MACNC,QAAS,iBAGPC,GAAmB,UAAW,SAAU,QAAS,UAyBjDC,EAAwB,QAASA,KACnC5B,EAAgBZ,KAAMwC,EAEtB,IAAIf,KACJzB,MAAKyB,SAAWA,EAEhBzB,KAAK0B,MAAQ,QAAS,KAAM,SAAUe,EAAOC,GAC3CjB,EAASkB,KAAOlB,EAASkB,MAAQF,CACjC,IAAIxB,GAAU,GAAIW,GAAcH,EAEhC,OADAiB,GAAG1B,gBAAgB,OAAQC,GAAW2B,WAAW,IAC1C3B,KAIP4B,EAAa,QAASA,KAoFxB,QAASC,KAUP,QAASC,GAASC,GAChB,GAAIC,GAAWC,EAAGC,OAElB,KACEH,EAAS1B,EAAQ8B,KAAKH,EAAUA,EAASI,SAAU/B,EAAQ8B,KAAKH,EAAUA,EAASK,SACnF,MAAOC,GACPN,EAASK,OAAOC,GAGlB,MAAON,GAASO,QAlBlB,IAAK,GAAIC,GAAOC,UAAUC,OAAQC,EAAOC,MAAMJ,GAAOK,EAAO,EAAUL,EAAPK,EAAaA,IAC3EF,EAAKE,GAAQJ,UAAUI,EAGzB,IAAIC,GAAaH,EAAKA,EAAKD,OAAS,GAChCT,EAAKU,EAAKA,EAAKD,OAAS,GACxBK,EAAQ,GAAIrC,GAAOe,GAAGlB,EAAMC,UAC5BwC,IAqBJ,IAPAlB,EAASmB,IAAMhB,EAAGgB,IAClBnB,EAASoB,KAAOjB,EAAGiB,KACnBpB,EAASO,OAASJ,EAAGI,OAErBzB,EAAQuC,QAAUrB,EAGda,EAAKD,OACP,IAAK,GAAIU,GAAI,EAAGA,EAAIT,EAAKD,OAAQU,IAC/B,IAAK,GAAIC,GAAI,EAAGA,EAAIlC,EAASuB,OAAQW,IACnC,GAAIlC,EAASkC,GAAG/D,SAAW6B,EAASkC,GAAGC,WAAY,CACjDnC,EAASkC,GAAGC,YAAa,EACzBP,EAAMhD,gBAAgBoB,EAASkC,GAAGjC,KAAMuB,EAAKS,GAC7C,OAyBR,IAAK,GAjBDG,GAAQ,WACV,GAAInC,GAAOE,EAAgBkC,EAC3BR,GAAU5B,GAAQ2B,EAAM3B,GACxB2B,EAAM3B,GAAQ,WACZ,IAAK,GAAIqC,GAAQhB,UAAUC,OAAQC,EAAOC,MAAMa,GAAQC,EAAQ,EAAWD,EAARC,EAAeA,IAChFf,EAAKe,GAASjB,UAAUiB,EAG1B,OAAKZ,GAAWa,QAKTX,EAAU5B,GAAMwC,MAAMb,EAAOJ,GAJ3BG,EAAWe,OAAO,WACvB,MAAOb,GAAU5B,GAAMwC,MAAMb,EAAOJ,OAOnCa,EAAI,EAAGA,EAAIlC,EAAgBoB,OAAQc,IAC1CD,GAUF,QAN8B,kBAAnBO,QAAOC,SAAmD,kBAAlBnB,OAAMmB,UACvDjB,EAAWkB,OAAO,WAChB,MAAOjB,GAAMgB,QAAQE,SAASC,+BAI3BnB,EA1JTpD,EAAgBZ,KAAM6C,EAKtB,KAAK,GAHDrB,GAAQxB,KACRoF,KAEKf,EAAI,EAAGA,EAAIjC,EAASuB,OAAQU,IAC/BjC,EAASiC,GAAG9D,QACd6E,EAAKC,KAAKjD,EAASiC,GAAG,SAI1B7C,GAAMC,YAENE,EAAOe,GAAG4C,UAAUC,QAAU,SAAUC,EAAcC,EAAQC,EAAOC,EAAMC,GACzE,GAAIpE,GAAQxB,IAIZ,IAFAyF,EAASA,OAEJjE,EAAMqE,YAAYL,GACrB,KAAM,IAAI1D,GAASgE,IAAIN,EAClB,KAAKvD,EAASwD,GACnB,KAAM,IAAI3D,GAASiE,GAAG,8BACjB,KAAK9D,EAASyD,GACnB,KAAM,IAAI5D,GAASiE,GAAG,6BACjB,KAAKhE,EAAS4D,GACnB,KAAM,IAAI7D,GAASiE,GAAG,2BAGxB,KACE,MAAOL,GAAMT,OAAO,WAClB,MAAOzD,GAAMwE,aAAaR,IACzB,WACD,GAAIS,GAAQzE,EAAM0E,OAAOV,EAAcC,EACvCvD,GAAIwD,EAAOC,EAAMM,GACbL,GACFA,EAAG,KAAMK,KAGb,MAAO1C,GACP,IAAIqC,EAGF,KAAMrC,EAFNqC,GAAGrC,KAOT5B,EAAOe,GAAG4C,UAAUa,QAAU,SAAUX,EAAclF,EAAIoF,EAAOC,EAAMC,GACrE,GAAIpE,GAAQxB,IAGZ,IADAM,EAAK6B,EAAUX,EAAMqE,YAAYL,GAAelF,IAC3CkB,EAAMqE,YAAYL,GACrB,KAAM,IAAI1D,GAASgE,IAAIN,EAClB,KAAKzD,EAASzB,KAAQ0B,EAAS1B,GACpC,KAAM,IAAIwB,GAASiE,GAAG,qCACjB,KAAK9D,EAASyD,GACnB,KAAM,IAAI5D,GAASiE,GAAG,6BACjB,KAAKhE,EAAS4D,GACnB,KAAM,IAAI7D,GAASiE,GAAG,2BAGxB,KACE,MAAOL,GAAMT,OAAO,WAClB,MAAOzD,GAAMwE,aAAaR,EAAclF,IACvC,WACD,GAAI8F,GAAO5E,EAAM6E,IAAIb,EAAclF,EAC/B8F,IACF5E,EAAM8E,QAAQd,EAAclF,GAE9B4B,EAAIwD,EAAOC,EAAMS,GACbR,GACFA,EAAG,KAAMQ,KAGb,MAAO7C,GACP,IAAIqC,EAGF,KAAMrC,EAFNqC,GAAGrC,KAiFT6B,EAAKC,KAAK,cACVD,EAAKC,KAAK,MACVD,EAAKC,KAAKvC,GAEVtB,EAAME,KAAO0D,EAGf9D,GAAQ7B,OAAO,WAAY,OAAO8G,MAAM,UAAW1E,GAAS0E,MAAM,WAAYzE,GAAUyE,MAAM,YAAa5E,EAAO6E,SAASjF,SAAS,KAAMsB,GAAYtB,SAAS,gBAAiBiB,GAAuBiE,KAAK,KAAM,gBAAiB,SAAU/D,EAAId,GAC/Oc,EAAG1B,gBAAgB,OAAQY,GAAiBgB,WAAW,MAGzD,KAAK,GAAIyB,GAAI,EAAGA,EAAIjC,EAASuB,OAAQU,IACnCrD,EAAgBoB,EAASiC,GAI3B5E,GAAOD,QAAU,UACjBC,EAAOD,QAAQ6C,KAAO,WAIjB,SAAS5C,EAAQD,GAEtBC,EAAOD,QAAUM,GAIZ,SAASL,EAAQD,EAASW,GAI/B,QAASS,GAAgBC,EAAUC,GAAe,KAAMD,YAAoBC,IAAgB,KAAM,IAAIC,WAAU,qCAFhH,GAAI2F,GAAe,WAAe,QAASC,GAAiBC,EAAQC,GAAS,IAAK,GAAIxC,GAAI,EAAGA,EAAIwC,EAAMlD,OAAQU,IAAK,CAAE,GAAIyC,GAAaD,EAAMxC,EAAIyC,GAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,SAAWF,KAAYA,EAAWG,UAAW,GAAMlC,OAAOmC,eAAeN,EAAQE,EAAWK,IAAKL,IAAiB,MAAO,UAAUhG,EAAasG,EAAYC,GAAiJ,MAA9HD,IAAYT,EAAiB7F,EAAYwE,UAAW8B,GAAiBC,GAAaV,EAAiB7F,EAAauG,GAAqBvG,MAI7hBa,EAASxB,EAAoB,GAC7BmH,EAAQ,IAEZ,KACEA,EAAQnH,EAAoB,GAC5B,MAAOR,IAET,GAAIkC,GAAUF,EAAOE,QACjB0F,EAAY1F,EAAQ0F,UACpBC,EAAiB3F,EAAQ2F,eACzBC,EAAO5F,EAAQ4F,KACfC,EAAW7F,EAAQ6F,SACnB3F,EAAWF,EAAQE,SACnBC,EAAWH,EAAQG,SAEnB2F,EAAW,WACb,QAASA,KACP/G,EAAgBZ,KAAM2H,GA0BxB,MAvBAjB,GAAaiB,IACXR,IAAK,iBACLZ,MAAO,SAAwBqB,EAAgBnC,GAC7C,MAAOA,MAGT0B,IAAK,cACLZ,MAAO,SAAqBqB,EAAgBC,GAC1C,MAAOA,IAAO,QAAUA,GAAOA,EAAKA,KAAcA,KAGpDV,IAAK,YACLZ,MAAO,SAAmBqB,EAAgBC,GACxC,MAAOA,MAGTV,IAAK,MACLZ,MAAO,eAEPY,IAAK,QACLZ,MAAO,gBAGFoB,KAGLG,EAAoBH,EAASrC,SAEjCwC,GAAkBC,SAAW,GAE7BD,EAAkBE,mBAAqB,GAEvCF,EAAkBG,cAElBH,EAAkBI,kBAAmB,CAErC,IAAItG,GAAgB,WAClB,QAASA,GAAcuG,GACrBvH,EAAgBZ,KAAM4B,GAEtBuG,EAAUA,MACVnI,KAAKyB,SAAW,GAAIkG,GAChBS,UACFpI,KAAKyB,SAAS4G,IAAM,SAAUC,EAAGC,GAC/B,MAAOH,SAAgC,kBAAjBA,SAAQI,KAAsB,OAAS,OAAOF,EAAGC,KAGvEH,UACFpI,KAAKyB,SAASgH,MAAQ,SAAUH,EAAGC,GACjC,MAAOH,SAAiC,kBAAlBA,SAAQK,MAAuB,QAAU,OAAOH,EAAGC,KAG7EhB,EAAUvH,KAAKyB,SAAU0G,GACzBnI,KAAK2C,KAAOwF,EAAQxF,MAAQ2E,EAyQ9B,MAtQAZ,GAAa9E,IACXuF,IAAK,cACLZ,MAAO,SAAqBqB,EAAgBtH,EAAI6H,GAC9C,GAAIO,GAAS1I,IAEbmI,GAAUA,MACVA,EAAQ1C,OAAS0C,EAAQ1C,UAEzB,IAAIW,GAAOjF,OACPwH,EAAYf,EAAee,UAC3BC,EAAWT,EAAQU,eAAe,YAAcV,EAAQS,SAAWhB,EAAegB,SAClFE,EAAclB,EAAekB,YAC7BC,EAAYnB,EAAeoB,YAAYpB,EAAeqB,QACtDC,EAAWf,EAAQ1C,OAAOkD,EAE9B,IAAIO,KAAa,IAAUP,IAAcI,EAIvC,MAHIG,MAAa,SACRf,GAAQ1C,OAAOkD,GAEjBC,CAcP,UAZOT,GAAQ1C,OAAOkD,GAElB9G,EAAQsH,IAAI7I,GACd8F,EAAOwB,EAAevB,IAAI/F,GACjBuB,EAAQuH,GAAG9I,KACpB8F,EAAO9F,GAGL8F,IACF8C,EAAWA,GAAY9C,EAAKuC,KAAevC,EAAK0C,GAAe1C,EAAK0C,GAAaC,EAAUM,aAAe,QAGxGH,EAcF,MAAON,EAbP,IAAIU,GAAO,iBACFnB,GAAQS,QACf,IAAIW,KAIJ,OAHA1H,GAAQ2H,OAAOrB,EAAS,SAAU5B,EAAOY,GACvCoC,EAASpC,GAAOZ,KAGhBkD,EAAG5H,EAAQ6F,SAASgB,EAAOgB,YAAYX,EAAWG,EAAUrH,EAAQ8H,EAAEZ,EAAWQ,IAAYL,EAAUN,MAI3G,OAAoB,gBAATU,GAA0BA,EAAKG,EAA1C,UAONtC,IAAK,UACLZ,MAAO,SAAiBqD,EAAQhC,EAAgBtH,EAAI6H,GAClD,GAAI3G,GAAQxB,IAEZ,IADAmI,EAAUA,MACNpG,EAASoG,EAAQ0B,SACnB,MAAOnC,GAAS7C,MAAMhD,GAAUsG,EAAQJ,UAAYvG,EAAMC,SAASsG,UAAYH,EAAeG,SAAUI,EAAQ0B,SAEhH,IAAIjG,IAAQuE,EAAQJ,UAAYvG,EAAMC,SAASsG,UAAYH,EAAeG,SAAU/H,KAAK0J,YAAY9B,EAAgB7F,EAASzB,IAAO0B,EAAS1B,IAAkB,WAAXsJ,EAAsBtJ,EAAK,KAAM6H,GAItL,QAHe,SAAXyB,GAAgC,WAAXA,GAAkC,YAAXA,IAC9ChG,EAAKyB,KAAK/E,GAELoH,EAAS7C,MAAMhD,EAAS+B,MAInCuD,IAAK,OACLZ,MAAO,SAAcuD,GAwBnB,QAASC,GAAYlC,EAAMmC,GAGzB,GAFAnC,EAAOA,MAEHA,YAAgBoC,OAGlB,MADAzI,GAAMC,SAASgH,MAAM,YAAcZ,EAAKqC,SAAW,iBAAkBrC,GAC9DhG,EAAQuC,QAAQd,OAAOuE,EACzB,IAAoB,gBAATA,GAAmB,CACnC,GAAIsC,GAAMC,EAAMC,cAAgB,MAAQP,EAAOF,OAAS,IAAME,EAAOQ,IAAM,MAAQzC,EAAK0C,OAAS,MAAO,GAAIC,OAAOC,UAAYL,EAAMK,WAAa,IAElJ,OAAI5C,GAAK0C,QAAU,KAAO1C,EAAK0C,OAAS,MAAQP,GAC1CxI,EAAMC,SAAS4G,KACjB7G,EAAMC,SAAS4G,IAAI8B,EAAKtC,GAEnBA,IAEHrG,EAAMC,SAASgH,OACjBjH,EAAMC,SAASgH,MAAM,WAAa0B,EAAKtC,GAElChG,EAAQuC,QAAQd,OAAOuE,IAKhC,MADArG,GAAMC,SAASgH,MAAM,SAAUZ,GACxBhG,EAAQuC,QAAQd,OAAOuE,GA/ClC,GAAIrG,GAAQxB,KACRoK,EAAQ,GAAII,KAChBV,GAASrC,EAAKqC,GACdA,EAASvC,EAAUuC,EAAQtI,EAAMC,SAASwG,YACpC,oBAAsB6B,KAC1BA,EAAO5B,iBAAmB1G,EAAMC,SAASyG,mBAEtC4B,EAAOY,aAAeZ,EAAO5B,mBAChC4B,EAAOQ,IAAM5C,EAASoC,EAAO/B,UAAYvG,EAAMC,SAASsG,SAAU+B,EAAOQ,MAEvE9I,EAAMC,SAASuG,oBAA4D,MAAtC8B,EAAOQ,IAAIR,EAAOQ,IAAI3G,OAAS,KAAemG,EAAOY,cAC5FZ,EAAOQ,KAAO,KAEW,gBAAhBR,GAAOjC,OAChBiC,EAAOjC,KAAOL,EAAesC,EAAOjC,OAEtCiC,EAAOF,OAASE,EAAOF,OAAOe,aAC9B,IAAIC,GAASd,EAAOc,QAAUpJ,EAAMC,SAASmJ,MAkC7C,IAjCIA,GAAUd,EAAOQ,IAAIO,OAAOf,EAAOQ,IAAI3G,OAASiH,EAAOjH,UAAYiH,IAAWd,EAAOY,cACvFZ,EAAOQ,KAAOM,IAgCX5K,KAAK2C,KACR,KAAM,IAAIsH,OAAM,6DAGlB,OAAOjK,MAAK2C,KAAKmH,GAAQgB,KAAKf,EAAa,SAAUlC,GACnD,MAAOkC,GAAYlC,GAAM,QAI7BV,IAAK,MACLZ,MAAO,SAAa+D,EAAKR,GAKvB,MAJAA,GAASA,MACTA,EAAOF,OAASE,EAAOF,QAAU,MACjCE,EAAOY,cAAgBZ,EAAOQ,IAC9BR,EAAOQ,IAAMR,EAAOQ,KAAOA,EACpBtK,KAAK+K,KAAKjB,MAGnB3C,IAAK,OACLZ,MAAO,SAAc+D,EAAKU,EAAOlB,GAM/B,MALAA,GAASA,MACTA,EAAOF,OAASE,EAAOF,QAAU,OACjCE,EAAOY,cAAgBZ,EAAOQ,IAC9BR,EAAOQ,IAAMR,EAAOQ,KAAOA,EAC3BR,EAAOjC,KAAOiC,EAAOjC,MAAQmD,EACtBhL,KAAK+K,KAAKjB,MAGnB3C,IAAK,MACLZ,MAAO,SAAa+D,EAAKU,EAAOlB,GAM9B,MALAA,GAASA,MACTA,EAAOF,OAASE,EAAOF,QAAU,MACjCE,EAAOY,cAAgBZ,EAAOQ,IAC9BR,EAAOQ,IAAMR,EAAOQ,KAAOA,EAC3BR,EAAOjC,KAAOiC,EAAOjC,MAAQmD,EACtBhL,KAAK+K,KAAKjB,MAGnB3C,IAAK,MACLZ,MAAO,SAAa+D,EAAKR,GAKvB,MAJAA,GAASA,MACTA,EAAOF,OAASE,EAAOF,QAAU,SACjCE,EAAOY,cAAgBZ,EAAOQ,IAC9BR,EAAOQ,IAAMR,EAAOQ,KAAOA,EACpBtK,KAAK+K,KAAKjB,MAGnB3C,IAAK,OACLZ,MAAO,SAAcqB,EAAgBtH,EAAI6H,GACvC,GAAI3G,GAAQxB,IAKZ,OAJAmI,GAAUA,EAAUV,EAAKU,MACzBA,EAAQyC,OAASzC,EAAQyC,QAAUhD,EAAegD,OAClDzC,EAAQ1C,OAAS0C,EAAQ1C,WACzB0C,EAAQ1C,OAASjE,EAAMC,SAASwJ,eAAerD,EAAgBO,EAAQ1C,QAChEjE,EAAM0J,IAAI1J,EAAM2J,QAAQ,OAAQvD,EAAgBtH,EAAI6H,GAAUA,GAAS2C,KAAK,SAAUjD,GAC3F,GAAIzB,IAAQ+B,EAAQiD,YAAcjD,EAAQiD,YAAc5J,EAAMC,SAAS2J,aAAaxD,EAAgBC,EACpG,OAAQzB,GAAyDA,EAAlDvE,EAAQuC,QAAQd,OAAO,GAAI2G,OAAM,oBAIpD9C,IAAK,UACLZ,MAAO,SAAiBqB,EAAgBnC,EAAQ0C,GAC9C,GAAI3G,GAAQxB,IAQZ,OAPAmI,GAAUA,EAAUV,EAAKU,MACzBA,EAAQyC,OAASzC,EAAQyC,QAAUhD,EAAegD,OAClDzC,EAAQ1C,OAAS0C,EAAQ1C,WACrBA,IACFA,EAASjE,EAAMC,SAASwJ,eAAerD,EAAgBnC,GACvD8B,EAAUY,EAAQ1C,OAAQA,IAErBjE,EAAM0J,IAAI1J,EAAM2J,QAAQ,UAAWvD,EAAgBnC,EAAQ0C,GAAUA,GAAS2C,KAAK,SAAUjD,GAClG,OAAQM,EAAQiD,YAAcjD,EAAQiD,YAAc5J,EAAMC,SAAS2J,aAAaxD,EAAgBC,QAIpGV,IAAK,SACLZ,MAAO,SAAgBqB,EAAgBoD,EAAO7C,GAC5C,GAAI3G,GAAQxB,IAKZ,OAJAmI,GAAUA,EAAUV,EAAKU,MACzBA,EAAQyC,OAASzC,EAAQyC,QAAUhD,EAAegD,OAClDzC,EAAQ1C,OAAS0C,EAAQ1C,WACzB0C,EAAQ1C,OAASjE,EAAMC,SAASwJ,eAAerD,EAAgBO,EAAQ1C,QAChEjE,EAAM6J,KAAK7J,EAAM2J,QAAQ,SAAUvD,EAAgBoD,EAAO7C,GAAUA,EAAQmD,UAAYnD,EAAQmD,UAAU1D,EAAgBoD,GAASxJ,EAAMC,SAAS6J,UAAU1D,EAAgBoD,GAAQ7C,GAAS2C,KAAK,SAAUjD,GACjN,OAAQM,EAAQiD,YAAcjD,EAAQiD,YAAc5J,EAAMC,SAAS2J,aAAaxD,EAAgBC,QAIpGV,IAAK,SACLZ,MAAO,SAAgBqB,EAAgBtH,EAAI0K,EAAO7C,GAChD,GAAI3G,GAAQxB,IAKZ,OAJAmI,GAAUA,EAAUV,EAAKU,MACzBA,EAAQyC,OAASzC,EAAQyC,QAAUhD,EAAegD,OAClDzC,EAAQ1C,OAAS0C,EAAQ1C,WACzB0C,EAAQ1C,OAASjE,EAAMC,SAASwJ,eAAerD,EAAgBO,EAAQ1C,QAChEjE,EAAM+J,IAAI/J,EAAM2J,QAAQ,SAAUvD,EAAgBtH,EAAI6H,GAAUA,EAAQmD,UAAYnD,EAAQmD,UAAU1D,EAAgBoD,GAASxJ,EAAMC,SAAS6J,UAAU1D,EAAgBoD,GAAQ7C,GAAS2C,KAAK,SAAUjD,GAC7M,OAAQM,EAAQiD,YAAcjD,EAAQiD,YAAc5J,EAAMC,SAAS2J,aAAaxD,EAAgBC,QAIpGV,IAAK,YACLZ,MAAO,SAAmBqB,EAAgBoD,EAAOvF,EAAQ0C,GACvD,GAAI3G,GAAQxB,IAQZ,OAPAmI,GAAUA,EAAUV,EAAKU,MACzBA,EAAQyC,OAASzC,EAAQyC,QAAUhD,EAAegD,OAClDzC,EAAQ1C,OAAS0C,EAAQ1C,WACrBA,IACFA,EAASjE,EAAMC,SAASwJ,eAAerD,EAAgBnC,GACvD8B,EAAUY,EAAQ1C,OAAQA,IAErBzF,KAAKuL,IAAI/J,EAAM2J,QAAQ,YAAavD,EAAgBoD,EAAO7C,GAAUA,EAAQmD,UAAYnD,EAAQmD,UAAU1D,EAAgBoD,GAASxJ,EAAMC,SAAS6J,UAAU1D,EAAgBoD,GAAQ7C,GAAS2C,KAAK,SAAUjD,GAClN,OAAQM,EAAQiD,YAAcjD,EAAQiD,YAAc5J,EAAMC,SAAS2J,aAAaxD,EAAgBC,QAIpGV,IAAK,UACLZ,MAAO,SAAiBqB,EAAgBtH,EAAI6H,GAC1C,GAAI3G,GAAQxB,IAKZ,OAJAmI,GAAUA,EAAUV,EAAKU,MACzBA,EAAQyC,OAASzC,EAAQyC,QAAUhD,EAAegD,OAClDzC,EAAQ1C,OAAS0C,EAAQ1C,WACzB0C,EAAQ1C,OAASjE,EAAMC,SAASwJ,eAAerD,EAAgBO,EAAQ1C,QAChEjE,EAAMgK,IAAIhK,EAAM2J,QAAQ,UAAWvD,EAAgBtH,EAAI6H,GAAUA,GAAS2C,KAAK,SAAUjD,GAC9F,OAAQM,EAAQiD,YAAcjD,EAAQiD,YAAc5J,EAAMC,SAAS2J,aAAaxD,EAAgBC,QAIpGV,IAAK,aACLZ,MAAO,SAAoBqB,EAAgBnC,EAAQ0C,GACjD,GAAI3G,GAAQxB,IAQZ,OAPAmI,GAAUA,EAAUV,EAAKU,MACzBA,EAAQyC,OAASzC,EAAQyC,QAAUhD,EAAegD,OAClDzC,EAAQ1C,OAAS0C,EAAQ1C,WACrBA,IACFA,EAASjE,EAAMC,SAASwJ,eAAerD,EAAgBnC,GACvD8B,EAAUY,EAAQ1C,OAAQA,IAErBzF,KAAKwL,IAAIhK,EAAM2J,QAAQ,aAAcvD,EAAgBnC,EAAQ0C,GAAUA,GAAS2C,KAAK,SAAUjD,GACpG,OAAQM,EAAQiD,YAAcjD,EAAQiD,YAAc5J,EAAMC,SAAS2J,aAAaxD,EAAgBC,SAK/FjG,IAGTnC,GAAOD,QAAUoC,GAIZ,SAASnC,EAAQD,GAEtB,GAA4C,mBAAlCS,GAA+C,CAAC,GAAIN,GAAI,GAAIsK,OAAM,6BAA8D,MAA7BtK,GAAE8L,KAAO,mBAA0B9L,EAChJF,EAAOD,QAAUS,GAIZ,SAASR,EAAQD,GAEtBC,EAAOD,QAAUO,GAIZ,SAASN,EAAQD,EAASW,GAG/B,QAASuL,GAAeC,GACvB,MAAOxL,GAAoByL,EAAsBD,IAElD,QAASC,GAAsBD,GAC9B,MAAOE,GAAIF,IAAS,WAAa,KAAM,IAAI1B,OAAM,uBAAyB0B,EAAM,SALjF,GAAIE,KAOJH,GAAeI,KAAO,WACrB,MAAO/G,QAAO+G,KAAKD,IAEpBH,EAAerI,QAAUuI,EACzBnM,EAAOD,QAAUkM,EACjBA,EAAepL,GAAK"} \ No newline at end of file diff --git a/package.json b/package.json index a347d37..5b40d94 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "js-data-angular", "description": "Angular wrapper for js-data.", - "version": "3.0.0", + "version": "3.1.0", "homepage": "http://www.js-data.io/docs/js-data-angular", "repository": { "type": "git", @@ -20,29 +20,31 @@ ], "main": "dist/js-data-angular.js", "devDependencies": { - "babel-core": "5.6.15", - "babel-loader": "5.2.2", + "babel-core": "5.8.25", + "babel-eslint": "4.1.3", + "babel-loader": "5.3.2", "grunt": "0.4.5", "grunt-contrib-clean": "0.6.0", - "grunt-contrib-uglify": "0.9.1", + "grunt-contrib-uglify": "0.9.2", "grunt-contrib-watch": "0.6.1", - "grunt-karma": "0.11.2", - "grunt-karma-coveralls": "2.5.3", + "grunt-karma": "0.12.1", + "grunt-karma-coveralls": "2.5.4", "grunt-webpack": "1.0.11", "jit-grunt": "0.9.1", "jshint-loader": "0.8.3", - "karma": "0.12.37", + "karma": "0.13.9", "karma-chai": "0.1.0", "karma-chrome-launcher": "0.2.0", - "karma-coverage": "0.4.2", + "karma-coverage": "0.5.2", "karma-firefox-launcher": "0.1.6", "karma-mocha": "0.2.0", - "karma-phantomjs-launcher": "0.2.0", + "karma-phantomjs-launcher": "0.2.1", "karma-script-launcher": "0.1.0", "karma-sinon": "1.0.4", - "karma-spec-reporter": "0.0.19", + "karma-spec-reporter": "0.0.20", + "standard": "5.3.1", "time-grunt": "1.2.1", - "webpack-dev-server": "1.10.1" + "webpack-dev-server": "1.11.0" }, "scripts": { "test": "grunt test" @@ -51,6 +53,9 @@ "angular": ">=1.1.0", "js-data": ">=2.0.0" }, + "standard": { + "parser": "babel-eslint" + }, "dependencies": { "js-data-http": ">=2.0.0" } diff --git a/src/index.js b/src/index.js index b8040b6..29a536b 100644 --- a/src/index.js +++ b/src/index.js @@ -1,10 +1,10 @@ -/*jshint loopfunc:true*/ -let JSData = require('js-data'); -let DSHttpAdapter = require('../node_modules/js-data-http/src/index.js'); -let angular = require('angular'); +/* jshint loopfunc:true */ +let JSData = require('js-data') +let DSHttpAdapter = require('../node_modules/js-data-http/src/index.js') +let angular = require('angular') -let { DSUtils, DSErrors } = JSData; -let { isString, isNumber, isObject, set, resolveId } = DSUtils; +let { DSUtils, DSErrors } = JSData +let { isString, isNumber, isObject, set, resolveId } = DSUtils let adapters = [ { @@ -27,165 +27,164 @@ let adapters = [ name: 'sql', 'class': 'DSSqlAdapter' } -]; +] let functionsToWrap = [ 'compute', 'digest', 'eject', 'inject' -]; +] -function registerAdapter(adapter) { - let Adapter; +function registerAdapter (adapter) { + let Adapter try { - Adapter = require(adapter.project); - } catch (e) { - - } + Adapter = require(adapter.project) + } catch (e) {} if (!Adapter) { - Adapter = window[adapter.class]; + Adapter = window[adapter.class] } if (Adapter) { - adapter.loaded = true; + adapter.loaded = true angular.module('js-data').provider(adapter.class, function () { - let _this = this; - _this.defaults = {}; - _this.$get = [() => new Adapter(_this.defaults)]; - }); + let _this = this + _this.defaults = {} + _this.$get = [() => new Adapter(_this.defaults)] + }) } } class DSHttpAdapterProvider { - constructor() { - let defaults = {}; - this.defaults = defaults; + constructor () { + let defaults = {} + this.defaults = defaults this.$get = ['$http', 'DS', ($http, DS) => { - defaults.http = defaults.http || $http; - let adapter = new DSHttpAdapter(defaults); - DS.registerAdapter('http', adapter, { 'default': true }); - return adapter; - }]; + defaults.http = defaults.http || $http + let adapter = new DSHttpAdapter(defaults) + DS.registerAdapter('http', adapter, { 'default': true }) + return adapter + }] } } class DSProvider { - constructor() { - let _this = this; - let deps = []; + constructor () { + let _this = this + let deps = [] for (var i = 0; i < adapters.length; i++) { if (adapters[i].loaded) { - deps.push(adapters[i].class); + deps.push(adapters[i].class) } } - _this.defaults = {}; + _this.defaults = {} JSData.DS.prototype.bindAll = function (resourceName, params, scope, expr, cb) { - let _this = this; + let _this = this - params = params || {}; + params = params || {} if (!_this.definitions[resourceName]) { - throw new DSErrors.NER(resourceName); + throw new DSErrors.NER(resourceName) } else if (!isObject(params)) { - throw new DSErrors.IA('"params" must be an object!'); + throw new DSErrors.IA('"params" must be an object!') } else if (!isObject(scope)) { - throw new DSErrors.IA('"scope" must be an object!'); + throw new DSErrors.IA('"scope" must be an object!') } else if (!isString(expr)) { - throw new DSErrors.IA('"expr" must be a string!'); + throw new DSErrors.IA('"expr" must be a string!') } try { return scope.$watch(() => _this.lastModified(resourceName), () => { - let items = _this.filter(resourceName, params); - set(scope, expr, items); + let items = _this.filter(resourceName, params) + set(scope, expr, items) if (cb) { - cb(null, items); + cb(null, items) } - }); + }) } catch (err) { if (cb) { - cb(err); + cb(err) } else { - throw err; + throw err } } - }; + } JSData.DS.prototype.bindOne = function (resourceName, id, scope, expr, cb) { - let _this = this; + let _this = this - id = resolveId(_this.definitions[resourceName], id); + id = resolveId(_this.definitions[resourceName], id) if (!_this.definitions[resourceName]) { - throw new DSErrors.NER(resourceName); + throw new DSErrors.NER(resourceName) } else if (!isString(id) && !isNumber(id)) { - throw new DSErrors.IA('"id" must be a string or a number!'); + throw new DSErrors.IA('"id" must be a string or a number!') } else if (!isObject(scope)) { - throw new DSErrors.IA('"scope" must be an object!'); + throw new DSErrors.IA('"scope" must be an object!') } else if (!isString(expr)) { - throw new DSErrors.IA('"expr" must be a string!'); + throw new DSErrors.IA('"expr" must be a string!') } try { return scope.$watch(() => _this.lastModified(resourceName, id), () => { - let item = _this.get(resourceName, id); + let item = _this.get(resourceName, id) if (item) { - _this.compute(resourceName, id); + _this.compute(resourceName, id) } - set(scope, expr, item); + set(scope, expr, item) if (cb) { - cb(null, item); + cb(null, item) } - }); + }) } catch (err) { if (cb) { - cb(err); + cb(err) } else { - throw err; + throw err } } - }; + } - function load(...args) { - let $rootScope = args[args.length - 2]; - let $q = args[args.length - 1]; - let store = new JSData.DS(_this.defaults); - let originals = {}; + function load (...args) { + let $rootScope = args[args.length - 2] + let $q = args[args.length - 1] + let store = new JSData.DS(_this.defaults) + let originals = {} - function QPromise(executor) { - let deferred = $q.defer(); + function QPromise (executor) { + let deferred = $q.defer() try { - executor.call(undefined, + executor( angular.bind(deferred, deferred.resolve), - angular.bind(deferred, deferred.reject)); + angular.bind(deferred, deferred.reject) + ) } catch (err) { - deferred.reject(err); + deferred.reject(err) } - return deferred.promise; + return deferred.promise } - QPromise.all = $q.all; - QPromise.when = $q.when; - QPromise.reject = $q.reject; + QPromise.all = $q.all + QPromise.when = $q.when + QPromise.reject = $q.reject - DSUtils.Promise = QPromise; + DSUtils.Promise = QPromise // Register any adapters that have been loaded if (args.length) { for (var i = 0; i < args.length; i++) { for (var j = 0; j < adapters.length; j++) { if (adapters[j].loaded && !adapters[j].registered) { - adapters[j].registered = true; - store.registerAdapter(adapters[j].name, args[i]); - break; + adapters[j].registered = true + store.registerAdapter(adapters[j].name, args[i]) + break } } } @@ -193,29 +192,29 @@ class DSProvider { // Wrap certain sync functions with $apply for (var k = 0; k < functionsToWrap.length; k++) { - let name = functionsToWrap[k]; - originals[name] = store[name]; + let name = functionsToWrap[k] + originals[name] = store[name] store[name] = (...args) => { if (!$rootScope.$$phase) { - return $rootScope.$apply(() => originals[name].apply(store, args)); + return $rootScope.$apply(() => originals[name].apply(store, args)) } - return originals[name].apply(store, args); - }; + return originals[name].apply(store, args) + } } // Hook into the digest loop if (typeof Object.observe !== 'function' || typeof Array.observe !== 'function') { - $rootScope.$watch(() => store.observe.Platform.performMicrotaskCheckpoint()); + $rootScope.$watch(() => store.observe.Platform.performMicrotaskCheckpoint()) } - return store; + return store } - deps.push('$rootScope'); - deps.push('$q'); - deps.push(load); + deps.push('$rootScope') + deps.push('$q') + deps.push(load) - _this.$get = deps; + _this.$get = deps } } angular.module('js-data', ['ng']) @@ -225,14 +224,13 @@ angular.module('js-data', ['ng']) .provider('DS', DSProvider) .provider('DSHttpAdapter', DSHttpAdapterProvider) .run(['DS', 'DSHttpAdapter', (DS, DSHttpAdapter) => { - DS.registerAdapter('http', DSHttpAdapter, { 'default': true }); - }]); - + DS.registerAdapter('http', DSHttpAdapter, { 'default': true }) + }]) for (var i = 0; i < adapters.length; i++) { - registerAdapter(adapters[i]); + registerAdapter(adapters[i]) } // return the module name -module.exports = 'js-data'; -module.exports.name = 'js-data'; +module.exports = 'js-data' +module.exports.name = 'js-data'