diff --git a/CHANGELOG.md b/CHANGELOG.md index e5955c6..937d01e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +##### 3.0.0-beta.5 - 02 May 2016 + +###### Bug fixes +- Fixed typos in the code for `addAction` and `addActions` + ##### 3.0.0-beta.4 - 01 May 2016 ###### Other diff --git a/fetch/package.json b/fetch/package.json index 4875fba..8cf9c26 100644 --- a/fetch/package.json +++ b/fetch/package.json @@ -1,7 +1,7 @@ { "name": "js-data-fetch", "description": "HTTP adapter for js-data that uses the fetch API.", - "version": "3.0.0-beta.4", + "version": "3.0.0-beta.5", "homepage": "https://github.com/js-data/js-data-http", "repository": { "type": "git", diff --git a/node/package.json b/node/package.json index 1409ec2..8f8841c 100644 --- a/node/package.json +++ b/node/package.json @@ -1,7 +1,7 @@ { "name": "js-data-http-node", "description": "Node.js HTTP adapter for js-data.", - "version": "3.0.0-beta.4", + "version": "3.0.0-beta.5", "homepage": "https://github.com/js-data/js-data-http", "repository": { "type": "git", diff --git a/package.json b/package.json index bdc4cb9..754e0b0 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "js-data-http", "description": "HTTP (XHR) adapter for js-data in the browser.", - "version": "3.0.0-beta.4", + "version": "3.0.0-beta.5", "homepage": "https://github.com/js-data/js-data-http", "repository": { "type": "git", @@ -85,7 +85,7 @@ "karma": "0.13.22", "karma-browserstack-launcher": "0.1.11", "karma-chai": "0.1.0", - "karma-mocha": "0.2.2", + "karma-mocha": "1.0.1", "karma-phantomjs-launcher": "1.0.0", "karma-sinon": "1.0.4", "phantomjs-prebuilt": "2.1.7", diff --git a/src/index.js b/src/index.js index 28c538d..f8cff4f 100644 --- a/src/index.js +++ b/src/index.js @@ -1102,6 +1102,34 @@ utils.addHiddenPropsToTarget(HttpAdapter.prototype, { /** * Add an Http actions to a mapper. * + * @example + * // CommonJS + * var JSData = require('js-data') + * // It is recommended to use DataStore in the browser + * var DataStore = JSData.DataStore + * + * var JSDataHttp = require('js-data-http') + * var HttpAdapter = JSDataHttp.HttpAdapter + * var addAction = JSDataHttp.addAction + * + * var adapter = new HttpAdapter() + * var store = new DataStore() + * + * store.registerAdapter('http', adapter, { default: true }) + * store.defineMapper('school') + * + * // GET /reports/schools/:school_id/teachers + * addAction('getTeacherReports', { + * basePath: 'reports/schools', + * pathname: 'teachers', + * method: 'GET' + * })(store.getMapper('school')) + * + * // /reports/schools/1234/teachers + * store.getMapper('school').getTeacherReports(1234).then(function (response) { + * // ... + * }) + * * @name module:js-data-http.addAction * @method * @param {string} name Name of the new action. @@ -1152,7 +1180,7 @@ exports.addAction = function addAction (name, opts) { } config.method = config.method || 'GET' config.mapper = self.name - utils.deepMixIn(config)(_opts) + utils.deepMixIn(config, _opts) return utils.resolve(config) .then(_opts.request || opts.request) .then(function (config) { return adapter.HTTP(config) }) @@ -1172,6 +1200,36 @@ exports.addAction = function addAction (name, opts) { * Add multiple Http actions to a mapper. See {@link HttpAdapter.addAction} for * action configuration options. * + * @example + * // CommonJS + * var JSData = require('js-data') + * // It is recommended to use DataStore in the browser + * var DataStore = JSData.DataStore + * + * var JSDataHttp = require('js-data-http') + * var HttpAdapter = JSDataHttp.HttpAdapter + * var addActions = JSDataHttp.addActions + * + * var adapter = new HttpAdapter() + * var store = new DataStore() + * + * store.registerAdapter('http', adapter, { default: true }) + * store.defineMapper('school') + * + * addActions({ + * // GET /reports/schools/:school_id/teachers + * getTeacherReports: { + * basePath: 'reports/schools', + * pathname: 'teachers', + * method: 'GET' + * } + * })(store.getMapper('school')) + * + * // /reports/schools/1234/teachers + * store.getMapper('school').getTeacherReports(1234).then(function (response) { + * // ... + * }) + * * @name module:js-data-http.addActions * @method * @param {Object.} opts Object where the key is an action name @@ -1182,7 +1240,7 @@ exports.addAction = function addAction (name, opts) { exports.addActions = function addActions (opts) { opts || (opts = {}) return function (mapper) { - utils.forOwn(mapper, function (value, key) { + utils.forOwn(opts, function (value, key) { exports.addAction(key, value)(mapper) }) return mapper @@ -1211,22 +1269,25 @@ exports.version = '<%= version %>' * of `js-data-http` that does not bundle `axios` is registered in NPM and Bower * as `js-data-fetch`. * - * __Script tag__: - * ```javascript - * window.HttpAdapter - * ``` - * __CommonJS__: - * ```javascript - * var HttpAdapter = require('js-data-http') - * ``` - * __ES6 Modules__: - * ```javascript - * import HttpAdapter from 'js-data-http' - * ``` - * __AMD__: - * ```javascript - * define('myApp', ['js-data-http'], function (HttpAdapter) { ... }) - * ``` + * @example Script tag + * var HttpAdapter = window.JSDataHttp.HttpAdapter + * var adapter = new HttpAdapter() + * + * @example CommonJS + * var HttpAdapter = require('js-data-Http').HttpAdapter + * var adapter = new HttpAdapter() + * + * @example ES2015 Modules + * import {HttpAdapter} from 'js-data-Http' + * const adapter = new HttpAdapter() + * + * @example AMD + * define('myApp', ['js-data-Http'], function (JSDataHttp) { + * var HttpAdapter = JSDataHttp.HttpAdapter + * var adapter = new HttpAdapter() + * + * // ... + * }) * * @module js-data-http */