{"_id":"@allex/io","_rev":"1-cf335dfe278213e93071c11b6284fd62","name":"@allex/io","dist-tags":{"latest":"1.0.4"},"versions":{"1.0.4":{"name":"@allex/io","version":"1.0.4","description":"generic io toolchain both for browser and node","main":"dist/io.min.js","module":"dist/io.esm.js","author":{"name":"Allex Wang","email":"allex.wxn@gmail.com"},"license":"MIT","repository":{"type":"git","url":"git+https://git.analysys.cn/npm/io"},"dependencies":{"axios":"^0.16.2","lodash":"^4.17.4"},"devDependencies":{"@fedor/standard":"latest","babel-core":"^6.25.0","babel-loader":"^7.1.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-istanbul":"^4.1.4","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.5.2","babel-runtime":"^6.26.0","body-parser":"^1.17.2","chai":"^4.1.1","cors":"^2.8.4","express":"^4.15.4","istanbul-instrumenter-loader":"^3.0.0","karma":"^1.7.0","karma-chrome-launcher":"^2.2.0","karma-coverage":"^1.1.1","karma-coverage-istanbul-reporter":"^1.3.0","karma-mocha":"^1.3.0","karma-mocha-reporter":"^2.2.3","karma-sourcemap-loader":"^0.3.7","karma-webpack":"^2.0.4","mocha":"^3.5.0","rollup-plugin-babel":"^3.0.3","rollup-plugin-cleanup":"^2.0.0","rollup-worker":"^1.0.1","sinon":"^3.1.0","webpack":"^3.5.1"},"scripts":{"build":"npm run lint:fix && rollup-bundle --config .config/build.js","prepublish":"npm run build","test:node":"mocha","test:browser":"karma start","lint:fix":"standard --fix","lint":"standard","test":"npm run lint && npm run test:node"},"standard":{"ignore":["test"]},"maintainers":[{"name":"allex","email":"allex.wxn@gmail.com"}],"gitHead":"2cc0d6867870f45186be5d83c6fb301b6e4144f0","_id":"@allex/io@1.0.4","_npmVersion":"6.4.1","_nodeVersion":"10.5.0","_npmUser":{"name":"allex","email":"allex.wxn@gmail.com"},"dist":{"integrity":"sha512-fhM3XtJ+ze/oiNBrCf3JSlo3/B8e1CeVFzFZyEnNbFAgJM5LnhXkL46SBJZxJ+4AcuQO8LptbfCQ0UlWhsDvvA==","shasum":"0e6229ba7b4596e1cbd9b42746e9fbc868a90f72","tarball":"https://registry.npmjs.org/@allex/io/-/io-1.0.4.tgz","fileCount":4,"unpackedSize":49895,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbvbUbCRA9TVsSAnZWagAAe8kP/22P88GtvUO6ZTBwQd/H\nYqMO9DM8LeolQlbGRzseq7eskzjnAzYmi4cjm7F1CsxQ7GT4PdnvkjCyBa0T\nU2KLhh3oDFjX8lmVX0IdbyVSMi5R4F14kXbbVb6oquxTY1FUqoT6l/CWxyVQ\nJ5E0CrigsAXwu7Nm+LW4CWWHImhH3Q2R2vDpGi4idChUJaKTj4TWdOdCPA78\ngV//fFo9xiK6TR1Zx3HmZQ+v612IKojigoQqHoo5sZE1/2l79+WD6KZR1mBz\nVrtxY+YBYgshDG26U0tWI77Va5toHs56YTd6KaG9+HksDHZQ6vpfOkEexCYr\n0+ZYpzzitRh3SJZxK5pSCB+3LnevQliQyHQ6+9bWBQ5rGwlVTwx6acvXxqXm\nHIbd7RcBwzo9eREhHc5CIq9CrwsZiaDM9UiU+LskL3fzB0g6R8yshBOisBzY\nwGj/NhHWXntLxMgnKbZHPw+3z2IWWtDL3BDm3FgUVwcx6ZxiN+pgJc1Ry5In\ntKh7owhRSpqx9k5hLwRqTG1iNI7eD1Qj9Ua/i8mNtU+B2dTR/QDE2cYD0dCo\na9nMyhasMlozDg2Gs6u0ro1P8uif8KgFVHcbzIEiTR8j7KMnmQxaiixSLFCP\n+MuTqBRhXUFbOPG2k9V31mvkg+QpcvO2Yl8xJTPXgogcpHcVvf7B6vFOCmnf\nV15X\r\n=B4Uj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCnMzEniZAQMTKOPllmh3+ZmmcbYcMf8XD+P6e5Sdw6mAIhAMvAE7reGRlCpwjPD/3oaz/KXR0y8R0OG1OFjW5KQCoW"}]},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/io_1.0.4_1539159322978_0.8964466989673086"},"_hasShrinkwrap":false}},"time":{"created":"2018-10-10T08:15:22.810Z","1.0.4":"2018-10-10T08:15:23.090Z","modified":"2022-04-04T13:32:15.927Z"},"maintainers":[{"name":"allex","email":"allex.wxn@gmail.com"}],"description":"generic io toolchain both for browser and node","repository":{"type":"git","url":"git+https://git.analysys.cn/npm/io"},"author":{"name":"Allex Wang","email":"allex.wxn@gmail.com"},"license":"MIT","readme":"# @allex/io\n\nPromise based HTTP client for the browser and node.js wrapper axios and add jsonp support\n\n## Installing\n\nUsing npm:\n\n```bash\n$ npm install @allex/io\n```\n\n## Test\n```bash\n//test in browser with karma\n$ npm run test\n//test in node with mocha\n$ npm run node-test\n```\n\n## Build\n```bash\n$ npm run build\n```\n\n## Example\n\nPerforming a request\n\n```js\nio[method](url,data,success,fail,config)\nio.get(\n  // request url\n  '/user',\n  // optional request query data or request data\n  {ID: 12345},\n  //handle business success\n  function (data) {\n    console.log(data);\n  },\n  //handle business fail when code is not false value or server error\n  function (error) {\n    console.log(error)\n  },\n  //extra config  or axios config\n  {\n    // use application/json with modern api\n    emulateJSON:false\n  })\n  //handle success in promise\n  .then(function (data) {\n    console.log(data);\n  })\n  //handle error in promise\n  .catch(function (error) {\n    console.log(error);\n    //error.$ is origin error throw by axios\n    console.log(error.$);\n  });\n```\n## response\nresponse data is formatted as\n```js\n{\n  code:0,\n  data:\"data from server\"\n  message:\"message from server\"\n}\n```\nresponse error is formatted as\n```js\n{\n  code:\"error code\",\n  data:\"error data from server\",\n  message:\"error message from server\",\n  $:axios throw error\n}\n```\n\n## config\nsee <https://github.com/mzabriskie/axios#request-config>\n```js\n{\n    // use application/json with modern api\n    emulateJSON:false\n}\n```\n\n## axios\n\n```\n//the axios instance is in io.fetch and origin axios is in io.axios\n//if you want to use interceptors\n// request interceptor\nio.interceptors.request.use(function (config) {\n    // Do something before request is sent\n    return config;\n  }, function (error) {\n    // Do something with request error\n    return Promise.reject(error);\n  });\n\n// response interceptor\nio.interceptors.response.use(function (response) {\n    // Do something with response data\n    return response;\n  }, function (error) {\n    // Do something with response error\n    return Promise.reject(error);\n  });\n\n```\n## instance\ncreate instance with config\n```js\nconst instance = io.create({\n  baseURL:\"http://www.analysys.cn\",\n  emulateJSON:false\n})\n```\n## defaults\nset default config in all instance\n```js\nio.config.emulateJSON = false\n```\n\nfor more detail see <http://git.analysys.cn/npm/io/tree/master/test>\n","readmeFilename":"README.md"}