particle-api-js 9.1.1 → 9.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.circleci/config.yml +79 -0
- package/.nvmrc +1 -0
- package/CHANGELOG.md +9 -0
- package/README.md +90 -2
- package/RELEASE.md +8 -10
- package/dist/particle.min.js +3 -3
- package/dist/particle.min.js.map +1 -1
- package/docs/api.md +102 -102
- package/lib/Agent.js +6 -1
- package/lib/Agent.js.map +1 -1
- package/lib/Client.js +2 -2
- package/lib/Client.js.map +1 -1
- package/lib/Particle.js +8 -0
- package/lib/Particle.js.map +1 -1
- package/package.json +12 -6
- package/test/Agent.spec.js +23 -1
- package/test/Client.spec.js +2 -2
- package/test/EventStream-e2e-node.js +1 -0
- package/test/Particle.spec.js +15 -0
- package/.travis.yml +0 -34
- package/travis_tests.sh +0 -11
package/lib/Agent.js
CHANGED
|
@@ -69,10 +69,15 @@ var Agent = function () {
|
|
|
69
69
|
function Agent(baseUrl) {
|
|
70
70
|
(0, _classCallCheck3.default)(this, Agent);
|
|
71
71
|
|
|
72
|
-
this.
|
|
72
|
+
this.setBaseUrl(baseUrl);
|
|
73
73
|
}
|
|
74
74
|
|
|
75
75
|
(0, _createClass3.default)(Agent, [{
|
|
76
|
+
key: 'setBaseUrl',
|
|
77
|
+
value: function setBaseUrl(baseUrl) {
|
|
78
|
+
this.prefix = (0, _superagentPrefix2.default)(baseUrl);
|
|
79
|
+
}
|
|
80
|
+
}, {
|
|
76
81
|
key: 'get',
|
|
77
82
|
value: function get(_ref) {
|
|
78
83
|
var uri = _ref.uri,
|
package/lib/Agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/Agent.js"],"names":["Agent","baseUrl","prefix","uri","auth","headers","query","context","request","method","data","undefined","form","files","raw","requestFiles","_sanitizeFiles","_request","req","_buildRequest","_promiseResponse","fulfill","reject","_sendRequest","end","error","res","body","url","statusCode","status","errorDescription","shortErrorDescription","error_description","reason","Error","makerequest","use","_authorizationHeader","_applyContext","set","name","file","options","filepath","path","isForBrowser","attach","value","field","type","send","getXHR","tool","_addToolContext","project","_addProjectContext","_toolIdent","components","component","_nameAtVersion","version","_buildSemicolonSeparatedProperties","obj","primaryProperty","prop","hasOwnProperty","username","password","Authorization","forEach","k","i"],"mappings":"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","file":"Agent.js","sourcesContent":["/*\n ******************************************************************************\n Copyright (c) 2016 Particle Industries, Inc. All rights reserved.\n\n This program is free software; you can redistribute it and/or\n modify it under the terms of the GNU Lesser General Public\n License as published by the Free Software Foundation, either\n version 3 of the License, or (at your option) any later version.\n\n This program is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n Lesser General Public License for more details.\n\n You should have received a copy of the GNU Lesser General Public\n License along with this program; if not, see <http://www.gnu.org/licenses/>.\n ******************************************************************************\n */\n\nimport request from 'superagent';\nimport prefix from 'superagent-prefix';\n\nexport default class Agent {\n\tconstructor(baseUrl){\n\t\tthis.prefix = prefix(baseUrl);\n\t}\n\n\tget({ uri, auth, headers, query, context }){\n\t\treturn this.request({ uri, method: 'get', auth, headers, query, context });\n\t}\n\n\thead({ uri, auth, headers, query, context }){\n\t\treturn this.request({ uri, method: 'head', auth, headers, query, context });\n\t}\n\n\tpost({ uri, headers, data, auth, context }){\n\t\treturn this.request({ uri, method: 'post', auth, headers, data, context });\n\t}\n\n\tput({ uri, auth, headers, data, context }){\n\t\treturn this.request({ uri, method: 'put', auth, headers, data, context });\n\t}\n\n\tdelete({ uri, auth, headers, data, context }){\n\t\treturn this.request({ uri, method: 'delete', auth, headers, data, context });\n\t}\n\n\n\t/**\n\t *\n\t * @param {String} uri The URI to request\n\t * @param {String} method The method used to request the URI, should be in uppercase.\n\t * @param {Object} headers Key/Value pairs like `{ 'X-FOO': 'foo', X-BAR: 'bar' }` to send as headers.\n\t * @param {String} data Arbitrary data to send as the body.\n\t * @param {Object} auth Authorization\n\t * @param {String} query Query parameters\n\t * @param {Object} form Form fields\n\t * @param {Object} files array of file names and file content\n\t * @parma {Object} context the invocation context, describing the tool and project.\n\t * @return {Promise} A promise. fulfilled with {body, statusCode}, rejected with { statusCode, errorDescription, error, body }\n\t */\n\trequest({\n\t\turi,\n\t\tmethod,\n\t\theaders = undefined,\n\t\tdata = undefined,\n\t\tauth,\n\t\tquery = undefined,\n\t\tform = undefined,\n\t\tfiles = undefined,\n\t\tcontext = undefined,\n\t\traw = false\n\t}){\n\t\tconst requestFiles = this._sanitizeFiles(files);\n\t\treturn this._request({ uri, method, headers, data, auth, query, form, context, files: requestFiles, raw });\n\t}\n\n\t/**\n\t *\n\t * @param {String} uri The URI to request\n\t * @param {String} method The method used to request the URI, should be in uppercase.\n\t * @param {Object} headers Key/Value pairs like `{ 'X-FOO': 'foo', X-BAR: 'bar' }` to send as headers.\n\t * @param {String} data Arbitrary data to send as the body.\n\t * @param {Object} auth Authorization\n\t * @param {String} query Query parameters\n\t * @param {Object} form Form fields\n\t * @param {Object} files array of file names and file content\n\t * @param {Object} context the invocation context\n\t * @return {Promise} A promise. fulfilled with {body, statusCode}, rejected with { statusCode, errorDescription, error, body }\n\t */\n\t_request({ uri, method, headers, data, auth, query, form, files, context, raw }){\n\t\tconst req = this._buildRequest({ uri, method, headers, data, auth, query, form, context, files });\n\n\t\tif (raw){\n\t\t\treturn req;\n\t\t}\n\t\treturn this._promiseResponse(req);\n\t}\n\n\t/**\n\t * Promises to send the request and retreive the response.\n\t * @param {Request} req The request to send\n\t * @returns {Promise} The promise to send the request and retrieve the response.\n\t * @private\n\t */\n\t_promiseResponse(req){\n\t\treturn new Promise((fulfill, reject) => this._sendRequest(req, fulfill, reject));\n\t}\n\n\t/**\n\t * Sends the given request, calling the fulfill or reject methods for success/failure.\n\t * @param {object} request The request to send\n\t * @param {function} fulfill Called on success with the response\n\t * @param {function} reject Called on failure with the failure reason.\n\t * @private\n\t * @returns {undefined} Nothing\n\t */\n\t_sendRequest(request, fulfill, reject){\n\t\trequest.end((error, res) => {\n\t\t\tconst body = res && res.body;\n\t\t\tif (error){\n\t\t\t\tconst uri = request.url;\n\t\t\t\tconst statusCode = error.status;\n\t\t\t\tlet errorDescription = `${statusCode ? 'HTTP error ' + statusCode : 'Network error'} from ${uri}`;\n\t\t\t\tlet shortErrorDescription;\n\t\t\t\tif (body && body.error_description){\n\t\t\t\t\terrorDescription += ' - ' + body.error_description;\n\t\t\t\t\tshortErrorDescription = body.error_description;\n\t\t\t\t}\n\t\t\t\tconst reason = new Error(errorDescription);\n\t\t\t\tObject.assign(reason, { statusCode, errorDescription, shortErrorDescription, error, body });\n\t\t\t\treject(reason);\n\t\t\t} else {\n\t\t\t\tfulfill({\n\t\t\t\t\tbody: body,\n\t\t\t\t\tstatusCode: res.statusCode\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\t_buildRequest({ uri, method, headers, data, auth, query, form, files, context, makerequest = request }){\n\t\tconst req = makerequest(method, uri);\n\t\tif (this.prefix){\n\t\t\treq.use(this.prefix);\n\t\t}\n\t\tthis._authorizationHeader(req, auth);\n\t\tif (context){\n\t\t\tthis._applyContext(req, context);\n\t\t}\n\t\tif (query){\n\t\t\treq.query(query);\n\t\t}\n\t\tif (headers){\n\t\t\treq.set(headers);\n\t\t}\n\t\tif (files){\n\t\t\tfor (let [name, file] of Object.entries(files)){\n\t\t\t\t// API for Form Data is different in Node and in browser\n\t\t\t\tlet options = {\n\t\t\t\t\tfilepath: file.path\n\t\t\t\t};\n\t\t\t\tif (this.isForBrowser(makerequest)){\n\t\t\t\t\toptions = file.path;\n\t\t\t\t}\n\t\t\t\treq.attach(name, file.data, options);\n\t\t\t}\n\t\t\tif (form){\n\t\t\t\tfor (let [name, value] of Object.entries(form)){\n\t\t\t\t\treq.field(name, value);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (form){\n\t\t\treq.type('form');\n\t\t\treq.send(form);\n\t\t} else if (data){\n\t\t\treq.send(data);\n\t\t}\n\t\treturn req;\n\t}\n\n\tisForBrowser(makerequest = request){\n\t\t// superagent only has the getXHR method in the browser version\n\t\treturn !!makerequest.getXHR;\n\t}\n\n\t_applyContext(req, context){\n\t\tif (context.tool){\n\t\t\tthis._addToolContext(req, context.tool);\n\t\t}\n\t\tif (context.project){\n\t\t\tthis._addProjectContext(req, context.project);\n\t\t}\n\t}\n\n\t_addToolContext(req, tool){\n\t\tlet value = '';\n\t\tif (tool.name){\n\t\t\tvalue += this._toolIdent(tool);\n\t\t\tif (tool.components){\n\t\t\t\tfor (let component of tool.components){\n\t\t\t\t\tvalue += ', '+this._toolIdent(component);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (value){\n\t\t\treq.set('X-Particle-Tool', value);\n\t\t}\n\t}\n\n\t_toolIdent(tool){\n\t\treturn this._nameAtVersion(tool.name, tool.version);\n\t}\n\n\t_nameAtVersion(name, version){\n\t\tlet value = '';\n\t\tif (name){\n\t\t\tvalue += name;\n\t\t\tif (version){\n\t\t\t\tvalue += '@'+version;\n\t\t\t}\n\t\t}\n\t\treturn value;\n\t}\n\n\t_addProjectContext(req, project){\n\t\tlet value = this._buildSemicolonSeparatedProperties(project, 'name');\n\t\tif (value){\n\t\t\treq.set('X-Particle-Project', value);\n\t\t}\n\t}\n\n\t/**\n\t * Creates a string like primaryPropertyValue; name=value; name1=value\n\t * from the properties of an object.\n\t * @param {object} obj The object to create the string from\n\t * @param {string} primaryProperty The name of the primary property which is the default value and must be defined.\n\t * @private\n\t * @return {string} The formatted string representing the object properties and the default property.\n\t */\n\t_buildSemicolonSeparatedProperties(obj, primaryProperty){\n\t\tlet value = '';\n\t\tif (obj[primaryProperty]){\n\t\t\tvalue += obj[primaryProperty];\n\t\t\tfor (let prop in obj){\n\t\t\t\tif (prop!==primaryProperty && obj.hasOwnProperty(prop)){\n\t\t\t\t\tvalue += '; '+prop+'='+obj[prop];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn value;\n\t}\n\n\t/**\n\t * Adds an authorization header.\n\t * @param {Request} req The request to add the authorization header to.\n\t * @param {object|string} auth The authorization. Either a string authorization bearer token,\n\t * or a username/password object.\n\t * @returns {Request} req The original request.\n\t */\n\t_authorizationHeader(req, auth){\n\t\tif (auth){\n\t\t\tif (auth.username !== undefined){\n\t\t\t\treq.auth(auth.username, auth.password);\n\t\t\t} else {\n\t\t\t\treq.set({ Authorization: `Bearer ${auth}` });\n\t\t\t}\n\t\t}\n\t\treturn req;\n\t}\n\n\t/**\n\t *\n\t * @param {Array} files converts the file names to file, file1, file2.\n\t * @returns {object} the renamed files.\n\t */\n\t_sanitizeFiles(files){\n\t\tlet requestFiles;\n\t\tif (files){\n\t\t\trequestFiles = {};\n\t\t\tObject.keys(files).forEach((k, i) => {\n\t\t\t\tconst name = i ? `file${i + 1}` : 'file';\n\t\t\t\trequestFiles[name] = {\n\t\t\t\t\tdata: files[k],\n\t\t\t\t\tpath: k\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\t\treturn requestFiles;\n\t}\n}\n\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/Agent.js"],"names":["Agent","baseUrl","setBaseUrl","prefix","uri","auth","headers","query","context","request","method","data","undefined","form","files","raw","requestFiles","_sanitizeFiles","_request","req","_buildRequest","_promiseResponse","fulfill","reject","_sendRequest","end","error","res","body","url","statusCode","status","errorDescription","shortErrorDescription","error_description","reason","Error","makerequest","use","_authorizationHeader","_applyContext","set","name","file","options","filepath","path","isForBrowser","attach","value","field","type","send","getXHR","tool","_addToolContext","project","_addProjectContext","_toolIdent","components","component","_nameAtVersion","version","_buildSemicolonSeparatedProperties","obj","primaryProperty","prop","hasOwnProperty","username","password","Authorization","forEach","k","i"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA;;;;AACA;;;;;;AApBA;;;;;;;;;;;;;;;;;;;IAsBqBA,K;AACpB,gBAAYC,OAAZ,EAAoB;AAAA;;AACnB,OAAKC,UAAL,CAAgBD,OAAhB;AACA;;;;6BAEUA,O,EAAS;AACnB,QAAKE,MAAL,GAAc,gCAAOF,OAAP,CAAd;AACA;;;4BAE0C;AAAA,OAArCG,GAAqC,QAArCA,GAAqC;AAAA,OAAhCC,IAAgC,QAAhCA,IAAgC;AAAA,OAA1BC,OAA0B,QAA1BA,OAA0B;AAAA,OAAjBC,KAAiB,QAAjBA,KAAiB;AAAA,OAAVC,OAAU,QAAVA,OAAU;;AAC1C,UAAO,KAAKC,OAAL,CAAa,EAAEL,QAAF,EAAOM,QAAQ,KAAf,EAAsBL,UAAtB,EAA4BC,gBAA5B,EAAqCC,YAArC,EAA4CC,gBAA5C,EAAb,CAAP;AACA;;;8BAE2C;AAAA,OAArCJ,GAAqC,SAArCA,GAAqC;AAAA,OAAhCC,IAAgC,SAAhCA,IAAgC;AAAA,OAA1BC,OAA0B,SAA1BA,OAA0B;AAAA,OAAjBC,KAAiB,SAAjBA,KAAiB;AAAA,OAAVC,OAAU,SAAVA,OAAU;;AAC3C,UAAO,KAAKC,OAAL,CAAa,EAAEL,QAAF,EAAOM,QAAQ,MAAf,EAAuBL,UAAvB,EAA6BC,gBAA7B,EAAsCC,YAAtC,EAA6CC,gBAA7C,EAAb,CAAP;AACA;;;8BAE0C;AAAA,OAApCJ,GAAoC,SAApCA,GAAoC;AAAA,OAA/BE,OAA+B,SAA/BA,OAA+B;AAAA,OAAtBK,IAAsB,SAAtBA,IAAsB;AAAA,OAAhBN,IAAgB,SAAhBA,IAAgB;AAAA,OAAVG,OAAU,SAAVA,OAAU;;AAC1C,UAAO,KAAKC,OAAL,CAAa,EAAEL,QAAF,EAAOM,QAAQ,MAAf,EAAuBL,UAAvB,EAA6BC,gBAA7B,EAAsCK,UAAtC,EAA4CH,gBAA5C,EAAb,CAAP;AACA;;;6BAEyC;AAAA,OAApCJ,GAAoC,SAApCA,GAAoC;AAAA,OAA/BC,IAA+B,SAA/BA,IAA+B;AAAA,OAAzBC,OAAyB,SAAzBA,OAAyB;AAAA,OAAhBK,IAAgB,SAAhBA,IAAgB;AAAA,OAAVH,OAAU,SAAVA,OAAU;;AACzC,UAAO,KAAKC,OAAL,CAAa,EAAEL,QAAF,EAAOM,QAAQ,KAAf,EAAsBL,UAAtB,EAA4BC,gBAA5B,EAAqCK,UAArC,EAA2CH,gBAA3C,EAAb,CAAP;AACA;;;iCAE4C;AAAA,OAApCJ,GAAoC,SAApCA,GAAoC;AAAA,OAA/BC,IAA+B,SAA/BA,IAA+B;AAAA,OAAzBC,OAAyB,SAAzBA,OAAyB;AAAA,OAAhBK,IAAgB,SAAhBA,IAAgB;AAAA,OAAVH,OAAU,SAAVA,OAAU;;AAC5C,UAAO,KAAKC,OAAL,CAAa,EAAEL,QAAF,EAAOM,QAAQ,QAAf,EAAyBL,UAAzB,EAA+BC,gBAA/B,EAAwCK,UAAxC,EAA8CH,gBAA9C,EAAb,CAAP;AACA;;AAGD;;;;;;;;;;;;;;;;iCAwBE;AAAA,OAVDJ,GAUC,SAVDA,GAUC;AAAA,OATDM,MASC,SATDA,MASC;AAAA,6BARDJ,OAQC;AAAA,OARDA,OAQC,iCARSM,SAQT;AAAA,0BAPDD,IAOC;AAAA,OAPDA,IAOC,8BAPMC,SAON;AAAA,OANDP,IAMC,SANDA,IAMC;AAAA,2BALDE,KAKC;AAAA,OALDA,KAKC,+BALOK,SAKP;AAAA,0BAJDC,IAIC;AAAA,OAJDA,IAIC,8BAJMD,SAIN;AAAA,2BAHDE,KAGC;AAAA,OAHDA,KAGC,+BAHOF,SAGP;AAAA,6BAFDJ,OAEC;AAAA,OAFDA,OAEC,iCAFSI,SAET;AAAA,yBADDG,GACC;AAAA,OADDA,GACC,6BADK,KACL;;AACD,OAAMC,eAAe,KAAKC,cAAL,CAAoBH,KAApB,CAArB;AACA,UAAO,KAAKI,QAAL,CAAc,EAAEd,QAAF,EAAOM,cAAP,EAAeJ,gBAAf,EAAwBK,UAAxB,EAA8BN,UAA9B,EAAoCE,YAApC,EAA2CM,UAA3C,EAAiDL,gBAAjD,EAA0DM,OAAOE,YAAjE,EAA+ED,QAA/E,EAAd,CAAP;AACA;;AAED;;;;;;;;;;;;;;;;kCAagF;AAAA,OAArEX,GAAqE,SAArEA,GAAqE;AAAA,OAAhEM,MAAgE,SAAhEA,MAAgE;AAAA,OAAxDJ,OAAwD,SAAxDA,OAAwD;AAAA,OAA/CK,IAA+C,SAA/CA,IAA+C;AAAA,OAAzCN,IAAyC,SAAzCA,IAAyC;AAAA,OAAnCE,KAAmC,SAAnCA,KAAmC;AAAA,OAA5BM,IAA4B,SAA5BA,IAA4B;AAAA,OAAtBC,KAAsB,SAAtBA,KAAsB;AAAA,OAAfN,OAAe,SAAfA,OAAe;AAAA,OAANO,GAAM,SAANA,GAAM;;AAC/E,OAAMI,MAAM,KAAKC,aAAL,CAAmB,EAAEhB,QAAF,EAAOM,cAAP,EAAeJ,gBAAf,EAAwBK,UAAxB,EAA8BN,UAA9B,EAAoCE,YAApC,EAA2CM,UAA3C,EAAiDL,gBAAjD,EAA0DM,YAA1D,EAAnB,CAAZ;;AAEA,OAAIC,GAAJ,EAAQ;AACP,WAAOI,GAAP;AACA;AACD,UAAO,KAAKE,gBAAL,CAAsBF,GAAtB,CAAP;AACA;;AAED;;;;;;;;;mCAMiBA,G,EAAI;AAAA;;AACpB,UAAO,sBAAY,UAACG,OAAD,EAAUC,MAAV;AAAA,WAAqB,MAAKC,YAAL,CAAkBL,GAAlB,EAAuBG,OAAvB,EAAgCC,MAAhC,CAArB;AAAA,IAAZ,CAAP;AACA;;AAED;;;;;;;;;;;+BAQad,O,EAASa,O,EAASC,M,EAAO;AACrCd,WAAQgB,GAAR,CAAY,UAACC,KAAD,EAAQC,GAAR,EAAgB;AAC3B,QAAMC,OAAOD,OAAOA,IAAIC,IAAxB;AACA,QAAIF,KAAJ,EAAU;AACT,SAAMtB,MAAMK,QAAQoB,GAApB;AACA,SAAMC,aAAaJ,MAAMK,MAAzB;AACA,SAAIC,oBAAsBF,aAAa,gBAAgBA,UAA7B,GAA0C,eAAhE,eAAwF1B,GAA5F;AACA,SAAI6B,8BAAJ;AACA,SAAIL,QAAQA,KAAKM,iBAAjB,EAAmC;AAClCF,0BAAoB,QAAQJ,KAAKM,iBAAjC;AACAD,8BAAwBL,KAAKM,iBAA7B;AACA;AACD,SAAMC,SAAS,IAAIC,KAAJ,CAAUJ,gBAAV,CAAf;AACA,2BAAcG,MAAd,EAAsB,EAAEL,sBAAF,EAAcE,kCAAd,EAAgCC,4CAAhC,EAAuDP,YAAvD,EAA8DE,UAA9D,EAAtB;AACAL,YAAOY,MAAP;AACA,KAZD,MAYO;AACNb,aAAQ;AACPM,YAAMA,IADC;AAEPE,kBAAYH,IAAIG;AAFT,MAAR;AAIA;AACD,IApBD;AAqBA;;;uCAEsG;AAAA,OAAvF1B,GAAuF,SAAvFA,GAAuF;AAAA,OAAlFM,MAAkF,SAAlFA,MAAkF;AAAA,OAA1EJ,OAA0E,SAA1EA,OAA0E;AAAA,OAAjEK,IAAiE,SAAjEA,IAAiE;AAAA,OAA3DN,IAA2D,SAA3DA,IAA2D;AAAA,OAArDE,KAAqD,SAArDA,KAAqD;AAAA,OAA9CM,IAA8C,SAA9CA,IAA8C;AAAA,OAAxCC,KAAwC,SAAxCA,KAAwC;AAAA,OAAjCN,OAAiC,SAAjCA,OAAiC;AAAA,iCAAxB6B,WAAwB;AAAA,OAAxBA,WAAwB;;AACtG,OAAMlB,MAAMkB,YAAY3B,MAAZ,EAAoBN,GAApB,CAAZ;AACA,OAAI,KAAKD,MAAT,EAAgB;AACfgB,QAAImB,GAAJ,CAAQ,KAAKnC,MAAb;AACA;AACD,QAAKoC,oBAAL,CAA0BpB,GAA1B,EAA+Bd,IAA/B;AACA,OAAIG,OAAJ,EAAY;AACX,SAAKgC,aAAL,CAAmBrB,GAAnB,EAAwBX,OAAxB;AACA;AACD,OAAID,KAAJ,EAAU;AACTY,QAAIZ,KAAJ,CAAUA,KAAV;AACA;AACD,OAAID,OAAJ,EAAY;AACXa,QAAIsB,GAAJ,CAAQnC,OAAR;AACA;AACD,OAAIQ,KAAJ,EAAU;AAAA;AAAA;AAAA;;AAAA;AACT,qDAAyB,uBAAeA,KAAf,CAAzB,4GAA+C;AAAA;AAAA,UAArC4B,IAAqC;AAAA,UAA/BC,IAA+B;;AAC9C;AACA,UAAIC,UAAU;AACbC,iBAAUF,KAAKG;AADF,OAAd;AAGA,UAAI,KAAKC,YAAL,CAAkBV,WAAlB,CAAJ,EAAmC;AAClCO,iBAAUD,KAAKG,IAAf;AACA;AACD3B,UAAI6B,MAAJ,CAAWN,IAAX,EAAiBC,KAAKhC,IAAtB,EAA4BiC,OAA5B;AACA;AAVQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAWT,QAAI/B,IAAJ,EAAS;AAAA;AAAA;AAAA;;AAAA;AACR,uDAA0B,uBAAeA,IAAf,CAA1B,iHAA+C;AAAA;AAAA,WAArC6B,IAAqC;AAAA,WAA/BO,KAA+B;;AAC9C9B,WAAI+B,KAAJ,CAAUR,IAAV,EAAgBO,KAAhB;AACA;AAHO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIR;AACD,IAhBD,MAgBO,IAAIpC,IAAJ,EAAS;AACfM,QAAIgC,IAAJ,CAAS,MAAT;AACAhC,QAAIiC,IAAJ,CAASvC,IAAT;AACA,IAHM,MAGA,IAAIF,IAAJ,EAAS;AACfQ,QAAIiC,IAAJ,CAASzC,IAAT;AACA;AACD,UAAOQ,GAAP;AACA;;;iCAEkC;AAAA,OAAtBkB,WAAsB;;AAClC;AACA,UAAO,CAAC,CAACA,YAAYgB,MAArB;AACA;;;gCAEalC,G,EAAKX,O,EAAQ;AAC1B,OAAIA,QAAQ8C,IAAZ,EAAiB;AAChB,SAAKC,eAAL,CAAqBpC,GAArB,EAA0BX,QAAQ8C,IAAlC;AACA;AACD,OAAI9C,QAAQgD,OAAZ,EAAoB;AACnB,SAAKC,kBAAL,CAAwBtC,GAAxB,EAA6BX,QAAQgD,OAArC;AACA;AACD;;;kCAEerC,G,EAAKmC,I,EAAK;AACzB,OAAIL,QAAQ,EAAZ;AACA,OAAIK,KAAKZ,IAAT,EAAc;AACbO,aAAS,KAAKS,UAAL,CAAgBJ,IAAhB,CAAT;AACA,QAAIA,KAAKK,UAAT,EAAoB;AAAA;AAAA;AAAA;;AAAA;AACnB,uDAAsBL,KAAKK,UAA3B,iHAAsC;AAAA,WAA7BC,SAA6B;;AACrCX,gBAAS,OAAK,KAAKS,UAAL,CAAgBE,SAAhB,CAAd;AACA;AAHkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAInB;AACD;AACD,OAAIX,KAAJ,EAAU;AACT9B,QAAIsB,GAAJ,CAAQ,iBAAR,EAA2BQ,KAA3B;AACA;AACD;;;6BAEUK,I,EAAK;AACf,UAAO,KAAKO,cAAL,CAAoBP,KAAKZ,IAAzB,EAA+BY,KAAKQ,OAApC,CAAP;AACA;;;iCAEcpB,I,EAAMoB,O,EAAQ;AAC5B,OAAIb,QAAQ,EAAZ;AACA,OAAIP,IAAJ,EAAS;AACRO,aAASP,IAAT;AACA,QAAIoB,OAAJ,EAAY;AACXb,cAAS,MAAIa,OAAb;AACA;AACD;AACD,UAAOb,KAAP;AACA;;;qCAEkB9B,G,EAAKqC,O,EAAQ;AAC/B,OAAIP,QAAQ,KAAKc,kCAAL,CAAwCP,OAAxC,EAAiD,MAAjD,CAAZ;AACA,OAAIP,KAAJ,EAAU;AACT9B,QAAIsB,GAAJ,CAAQ,oBAAR,EAA8BQ,KAA9B;AACA;AACD;;AAED;;;;;;;;;;;qDAQmCe,G,EAAKC,e,EAAgB;AACvD,OAAIhB,QAAQ,EAAZ;AACA,OAAIe,IAAIC,eAAJ,CAAJ,EAAyB;AACxBhB,aAASe,IAAIC,eAAJ,CAAT;AACA,SAAK,IAAIC,IAAT,IAAiBF,GAAjB,EAAqB;AACpB,SAAIE,SAAOD,eAAP,IAA0BD,IAAIG,cAAJ,CAAmBD,IAAnB,CAA9B,EAAuD;AACtDjB,eAAS,OAAKiB,IAAL,GAAU,GAAV,GAAcF,IAAIE,IAAJ,CAAvB;AACA;AACD;AACD;AACD,UAAOjB,KAAP;AACA;;AAED;;;;;;;;;;uCAOqB9B,G,EAAKd,I,EAAK;AAC9B,OAAIA,IAAJ,EAAS;AACR,QAAIA,KAAK+D,QAAL,KAAkBxD,SAAtB,EAAgC;AAC/BO,SAAId,IAAJ,CAASA,KAAK+D,QAAd,EAAwB/D,KAAKgE,QAA7B;AACA,KAFD,MAEO;AACNlD,SAAIsB,GAAJ,CAAQ,EAAE6B,2BAAyBjE,IAA3B,EAAR;AACA;AACD;AACD,UAAOc,GAAP;AACA;;AAED;;;;;;;;iCAKeL,K,EAAM;AACpB,OAAIE,qBAAJ;AACA,OAAIF,KAAJ,EAAU;AACTE,mBAAe,EAAf;AACA,wBAAYF,KAAZ,EAAmByD,OAAnB,CAA2B,UAACC,CAAD,EAAIC,CAAJ,EAAU;AACpC,SAAM/B,OAAO+B,cAAWA,IAAI,CAAf,IAAqB,MAAlC;AACAzD,kBAAa0B,IAAb,IAAqB;AACpB/B,YAAMG,MAAM0D,CAAN,CADc;AAEpB1B,YAAM0B;AAFc,MAArB;AAIA,KAND;AAOA;AACD,UAAOxD,YAAP;AACA;;;;;kBA/QmBhB,K","file":"Agent.js","sourcesContent":["/*\n ******************************************************************************\n Copyright (c) 2016 Particle Industries, Inc. All rights reserved.\n\n This program is free software; you can redistribute it and/or\n modify it under the terms of the GNU Lesser General Public\n License as published by the Free Software Foundation, either\n version 3 of the License, or (at your option) any later version.\n\n This program is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n Lesser General Public License for more details.\n\n You should have received a copy of the GNU Lesser General Public\n License along with this program; if not, see <http://www.gnu.org/licenses/>.\n ******************************************************************************\n */\n\nimport request from 'superagent';\nimport prefix from 'superagent-prefix';\n\nexport default class Agent {\n\tconstructor(baseUrl){\n\t\tthis.setBaseUrl(baseUrl);\n\t}\n\n\tsetBaseUrl(baseUrl) {\n\t\tthis.prefix = prefix(baseUrl);\n\t}\n\n\tget({ uri, auth, headers, query, context }){\n\t\treturn this.request({ uri, method: 'get', auth, headers, query, context });\n\t}\n\n\thead({ uri, auth, headers, query, context }){\n\t\treturn this.request({ uri, method: 'head', auth, headers, query, context });\n\t}\n\n\tpost({ uri, headers, data, auth, context }){\n\t\treturn this.request({ uri, method: 'post', auth, headers, data, context });\n\t}\n\n\tput({ uri, auth, headers, data, context }){\n\t\treturn this.request({ uri, method: 'put', auth, headers, data, context });\n\t}\n\n\tdelete({ uri, auth, headers, data, context }){\n\t\treturn this.request({ uri, method: 'delete', auth, headers, data, context });\n\t}\n\n\n\t/**\n\t *\n\t * @param {String} uri The URI to request\n\t * @param {String} method The method used to request the URI, should be in uppercase.\n\t * @param {Object} headers Key/Value pairs like `{ 'X-FOO': 'foo', X-BAR: 'bar' }` to send as headers.\n\t * @param {String} data Arbitrary data to send as the body.\n\t * @param {Object} auth Authorization\n\t * @param {String} query Query parameters\n\t * @param {Object} form Form fields\n\t * @param {Object} files array of file names and file content\n\t * @parma {Object} context the invocation context, describing the tool and project.\n\t * @return {Promise} A promise. fulfilled with {body, statusCode}, rejected with { statusCode, errorDescription, error, body }\n\t */\n\trequest({\n\t\turi,\n\t\tmethod,\n\t\theaders = undefined,\n\t\tdata = undefined,\n\t\tauth,\n\t\tquery = undefined,\n\t\tform = undefined,\n\t\tfiles = undefined,\n\t\tcontext = undefined,\n\t\traw = false\n\t}){\n\t\tconst requestFiles = this._sanitizeFiles(files);\n\t\treturn this._request({ uri, method, headers, data, auth, query, form, context, files: requestFiles, raw });\n\t}\n\n\t/**\n\t *\n\t * @param {String} uri The URI to request\n\t * @param {String} method The method used to request the URI, should be in uppercase.\n\t * @param {Object} headers Key/Value pairs like `{ 'X-FOO': 'foo', X-BAR: 'bar' }` to send as headers.\n\t * @param {String} data Arbitrary data to send as the body.\n\t * @param {Object} auth Authorization\n\t * @param {String} query Query parameters\n\t * @param {Object} form Form fields\n\t * @param {Object} files array of file names and file content\n\t * @param {Object} context the invocation context\n\t * @return {Promise} A promise. fulfilled with {body, statusCode}, rejected with { statusCode, errorDescription, error, body }\n\t */\n\t_request({ uri, method, headers, data, auth, query, form, files, context, raw }){\n\t\tconst req = this._buildRequest({ uri, method, headers, data, auth, query, form, context, files });\n\n\t\tif (raw){\n\t\t\treturn req;\n\t\t}\n\t\treturn this._promiseResponse(req);\n\t}\n\n\t/**\n\t * Promises to send the request and retreive the response.\n\t * @param {Request} req The request to send\n\t * @returns {Promise} The promise to send the request and retrieve the response.\n\t * @private\n\t */\n\t_promiseResponse(req){\n\t\treturn new Promise((fulfill, reject) => this._sendRequest(req, fulfill, reject));\n\t}\n\n\t/**\n\t * Sends the given request, calling the fulfill or reject methods for success/failure.\n\t * @param {object} request The request to send\n\t * @param {function} fulfill Called on success with the response\n\t * @param {function} reject Called on failure with the failure reason.\n\t * @private\n\t * @returns {undefined} Nothing\n\t */\n\t_sendRequest(request, fulfill, reject){\n\t\trequest.end((error, res) => {\n\t\t\tconst body = res && res.body;\n\t\t\tif (error){\n\t\t\t\tconst uri = request.url;\n\t\t\t\tconst statusCode = error.status;\n\t\t\t\tlet errorDescription = `${statusCode ? 'HTTP error ' + statusCode : 'Network error'} from ${uri}`;\n\t\t\t\tlet shortErrorDescription;\n\t\t\t\tif (body && body.error_description){\n\t\t\t\t\terrorDescription += ' - ' + body.error_description;\n\t\t\t\t\tshortErrorDescription = body.error_description;\n\t\t\t\t}\n\t\t\t\tconst reason = new Error(errorDescription);\n\t\t\t\tObject.assign(reason, { statusCode, errorDescription, shortErrorDescription, error, body });\n\t\t\t\treject(reason);\n\t\t\t} else {\n\t\t\t\tfulfill({\n\t\t\t\t\tbody: body,\n\t\t\t\t\tstatusCode: res.statusCode\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\t_buildRequest({ uri, method, headers, data, auth, query, form, files, context, makerequest = request }){\n\t\tconst req = makerequest(method, uri);\n\t\tif (this.prefix){\n\t\t\treq.use(this.prefix);\n\t\t}\n\t\tthis._authorizationHeader(req, auth);\n\t\tif (context){\n\t\t\tthis._applyContext(req, context);\n\t\t}\n\t\tif (query){\n\t\t\treq.query(query);\n\t\t}\n\t\tif (headers){\n\t\t\treq.set(headers);\n\t\t}\n\t\tif (files){\n\t\t\tfor (let [name, file] of Object.entries(files)){\n\t\t\t\t// API for Form Data is different in Node and in browser\n\t\t\t\tlet options = {\n\t\t\t\t\tfilepath: file.path\n\t\t\t\t};\n\t\t\t\tif (this.isForBrowser(makerequest)){\n\t\t\t\t\toptions = file.path;\n\t\t\t\t}\n\t\t\t\treq.attach(name, file.data, options);\n\t\t\t}\n\t\t\tif (form){\n\t\t\t\tfor (let [name, value] of Object.entries(form)){\n\t\t\t\t\treq.field(name, value);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (form){\n\t\t\treq.type('form');\n\t\t\treq.send(form);\n\t\t} else if (data){\n\t\t\treq.send(data);\n\t\t}\n\t\treturn req;\n\t}\n\n\tisForBrowser(makerequest = request){\n\t\t// superagent only has the getXHR method in the browser version\n\t\treturn !!makerequest.getXHR;\n\t}\n\n\t_applyContext(req, context){\n\t\tif (context.tool){\n\t\t\tthis._addToolContext(req, context.tool);\n\t\t}\n\t\tif (context.project){\n\t\t\tthis._addProjectContext(req, context.project);\n\t\t}\n\t}\n\n\t_addToolContext(req, tool){\n\t\tlet value = '';\n\t\tif (tool.name){\n\t\t\tvalue += this._toolIdent(tool);\n\t\t\tif (tool.components){\n\t\t\t\tfor (let component of tool.components){\n\t\t\t\t\tvalue += ', '+this._toolIdent(component);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (value){\n\t\t\treq.set('X-Particle-Tool', value);\n\t\t}\n\t}\n\n\t_toolIdent(tool){\n\t\treturn this._nameAtVersion(tool.name, tool.version);\n\t}\n\n\t_nameAtVersion(name, version){\n\t\tlet value = '';\n\t\tif (name){\n\t\t\tvalue += name;\n\t\t\tif (version){\n\t\t\t\tvalue += '@'+version;\n\t\t\t}\n\t\t}\n\t\treturn value;\n\t}\n\n\t_addProjectContext(req, project){\n\t\tlet value = this._buildSemicolonSeparatedProperties(project, 'name');\n\t\tif (value){\n\t\t\treq.set('X-Particle-Project', value);\n\t\t}\n\t}\n\n\t/**\n\t * Creates a string like primaryPropertyValue; name=value; name1=value\n\t * from the properties of an object.\n\t * @param {object} obj The object to create the string from\n\t * @param {string} primaryProperty The name of the primary property which is the default value and must be defined.\n\t * @private\n\t * @return {string} The formatted string representing the object properties and the default property.\n\t */\n\t_buildSemicolonSeparatedProperties(obj, primaryProperty){\n\t\tlet value = '';\n\t\tif (obj[primaryProperty]){\n\t\t\tvalue += obj[primaryProperty];\n\t\t\tfor (let prop in obj){\n\t\t\t\tif (prop!==primaryProperty && obj.hasOwnProperty(prop)){\n\t\t\t\t\tvalue += '; '+prop+'='+obj[prop];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn value;\n\t}\n\n\t/**\n\t * Adds an authorization header.\n\t * @param {Request} req The request to add the authorization header to.\n\t * @param {object|string} auth The authorization. Either a string authorization bearer token,\n\t * or a username/password object.\n\t * @returns {Request} req The original request.\n\t */\n\t_authorizationHeader(req, auth){\n\t\tif (auth){\n\t\t\tif (auth.username !== undefined){\n\t\t\t\treq.auth(auth.username, auth.password);\n\t\t\t} else {\n\t\t\t\treq.set({ Authorization: `Bearer ${auth}` });\n\t\t\t}\n\t\t}\n\t\treturn req;\n\t}\n\n\t/**\n\t *\n\t * @param {Array} files converts the file names to file, file1, file2.\n\t * @returns {object} the renamed files.\n\t */\n\t_sanitizeFiles(files){\n\t\tlet requestFiles;\n\t\tif (files){\n\t\t\trequestFiles = {};\n\t\t\tObject.keys(files).forEach((k, i) => {\n\t\t\t\tconst name = i ? `file${i + 1}` : 'file';\n\t\t\t\trequestFiles[name] = {\n\t\t\t\t\tdata: files[k],\n\t\t\t\t\tpath: k\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\t\treturn requestFiles;\n\t}\n}\n\n"]}
|
package/lib/Client.js
CHANGED
|
@@ -181,8 +181,8 @@ var Client = function () {
|
|
|
181
181
|
}
|
|
182
182
|
}, {
|
|
183
183
|
key: 'downloadFile',
|
|
184
|
-
value: function downloadFile(
|
|
185
|
-
return this.api.downloadFile({
|
|
184
|
+
value: function downloadFile(uri) {
|
|
185
|
+
return this.api.downloadFile({ uri: uri });
|
|
186
186
|
}
|
|
187
187
|
|
|
188
188
|
/**
|
package/lib/Client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/Client.js"],"names":["Client","auth","api","Boolean","query","listLibraries","then","libraries","payload","body","data","map","l","name","getLibrary","library","getLibraryVersions","archive","contributeLibrary","_throwError","error","publishLibrary","force","deleteLibrary","errors","errorMessages","e","message","join","Error","
|
|
1
|
+
{"version":3,"sources":["../src/Client.js"],"names":["Client","auth","api","Boolean","query","listLibraries","then","libraries","payload","body","data","map","l","name","getLibrary","library","getLibraryVersions","archive","contributeLibrary","_throwError","error","publishLibrary","force","deleteLibrary","errors","errorMessages","e","message","join","Error","uri","downloadFile","files","platformId","targetVersion","compileCode","signal","deviceId","signalDevice","listDevices","listBuildTargets","onlyFeatured","targets","target","platforms","platform","push","version","prerelease","prereleases","indexOf","firmware_vendor","full","context","trackingIdentity"],"mappings":"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","file":"Client.js","sourcesContent":["import Particle from './Particle';\nimport Library from './Library';\n\n\nexport default class Client {\n\tconstructor({ auth, api = new Particle() }){\n\t\tObject.assign(this, { auth, api });\n\t}\n\n\tready(){\n\t\treturn Boolean(this.auth);\n\t}\n\n\t/**\n\t * Get firmware library objects\n\t * @param {Object} query The query parameters for libraries. See Particle.listLibraries\n\t * @returns {Promise} A promise\n\t */\n\tlibraries(query = {}){\n\t\treturn this.api.listLibraries(Object.assign({}, query, { auth: this.auth }))\n\t\t\t.then(payload => {\n\t\t\t\tconst libraries = payload.body.data || [];\n\t\t\t\treturn libraries.map(l => new Library(this, l));\n\t\t\t});\n\t}\n\n\t/**\n\t * Get one firmware library object\n\t * @param {String} name Name of the library to fetch\n\t * @param {Object} query The query parameters for libraries. See Particle.getLibrary\n\t * @returns {Promise} A promise\n\t */\n\tlibrary(name, query = {}){\n\t\treturn this.api.getLibrary(Object.assign({}, query, { name, auth: this.auth }))\n\t\t\t.then(payload => {\n\t\t\t\tconst library = payload.body.data || {};\n\t\t\t\treturn new Library(this, library);\n\t\t\t});\n\t}\n\n\t/**\n\t * Get list of library versions\n\t * @param {String} name Name of the library to fetch\n\t * @param {Object} query The query parameters for versions. See Particle.getLibraryVersions\n\t * @returns {Promise} A promise\n\t */\n\tlibraryVersions(name, query = {}){\n\t\treturn this.api.getLibraryVersions(Object.assign({}, query, { name, auth: this.auth }))\n\t\t\t.then(payload => {\n\t\t\t\tconst libraries = payload.body.data || [];\n\t\t\t\treturn libraries.map(l => new Library(this, l));\n\t\t\t});\n\t}\n\n\t/**\n\t * Contribute a new library version\n\t * @param {Buffer} archive The compressed archive with the library source\n\t * @returns {Promise} A promise\n\t */\n\tcontributeLibrary(archive){\n\t\treturn this.api.contributeLibrary({ archive, auth: this.auth })\n\t\t\t.then(payload => {\n\t\t\t\tconst library = payload.body.data || {};\n\t\t\t\treturn new Library(this, library);\n\t\t\t}, error => {\n\t\t\t\tthis._throwError(error);\n\t\t\t});\n\t}\n\n\t/**\n\t * Make the the most recent private library version public\n\t * @param {string} name The name of the library to publish\n\t * @return {Promise} To publish the library\n\t */\n\tpublishLibrary(name){\n\t\treturn this.api.publishLibrary({ name, auth: this.auth })\n\t\t\t.then(payload => {\n\t\t\t\tconst library = payload.body.data || {};\n\t\t\t\treturn new Library(this, library);\n\t\t\t}, error => {\n\t\t\t\tthis._throwError(error);\n\t\t\t});\n\t}\n\n\t/**\n\t * Delete an entire published library\n\t * @param {String} $0.name Name of the library to delete\n\t * @param {String} $0.force Key to force deleting a public library\n\t * @returns {Promise} A promise\n\t */\n\tdeleteLibrary({ name, force }){\n\t\treturn this.api.deleteLibrary({ name, force, auth: this.auth })\n\t\t\t.then(() => true, error => this._throwError(error));\n\t}\n\n\t_throwError(error){\n\t\tif (error.body && error.body.errors){\n\t\t\tconst errorMessages = error.body.errors.map((e) => e.message).join('\\n');\n\t\t\tthrow new Error(errorMessages);\n\t\t}\n\t\tthrow error;\n\t}\n\n\tdownloadFile(uri){\n\t\treturn this.api.downloadFile({ uri });\n\t}\n\n\t/**\n\t * @param {Object} files Object containing files to be compiled\n\t * @param {Number} platformId Platform id number of the device you are compiling for\n\t * @param {String} targetVersion System firmware version to compile against\n\t * @returns {Promise} A promise\n\t * @deprecated Will be removed in 6.5\n\t */\n\tcompileCode(files, platformId, targetVersion){\n\t\treturn this.api.compileCode({ files, platformId, targetVersion, auth: this.auth });\n\t}\n\n\t/**\n\t * @param {String} $0.deviceId Device ID or Name\n\t * @param {Boolean} $0.signal Signal on or off\n\t * @returns {Promise} A promise\n\t * @deprecated Will be removed in 6.5\n\t */\n\tsignalDevice({ signal, deviceId }){\n\t\treturn this.api.signalDevice({ signal, deviceId, auth: this.auth });\n\t}\n\n\t/**\n\t * @returns {Promise} A promise\n\t * @deprecated Will be removed in 6.5\n\t */\n\tlistDevices(){\n\t\treturn this.api.listDevices({ auth: this.auth });\n\t}\n\n\t/**\n\t * @returns {Promise} A promise\n\t * @deprecated Will be removed in 6.5\n\t */\n\tlistBuildTargets(){\n\t\treturn this.api.listBuildTargets({ onlyFeatured: true, auth: this.auth })\n\t\t\t.then(payload => {\n\t\t\t\tlet targets = [];\n\t\t\t\tfor (let target of payload.body.targets){\n\t\t\t\t\tfor (let platform of target.platforms){\n\t\t\t\t\t\ttargets.push({\n\t\t\t\t\t\t\tversion: target.version,\n\t\t\t\t\t\t\tplatform: platform,\n\t\t\t\t\t\t\tprerelease: target.prereleases.indexOf(platform) > -1,\n\t\t\t\t\t\t\tfirmware_vendor: target.firmware_vendor\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn targets;\n\t\t\t}, () => {});\n\t}\n\n\ttrackingIdentity({ full=false, context }={}){\n\t\treturn this.api.trackingIdentity({ full, context, auth: this.auth })\n\t\t\t.then(payload => {\n\t\t\t\treturn payload.body;\n\t\t\t});\n\t}\n}\n"]}
|
package/lib/Particle.js
CHANGED
|
@@ -3187,6 +3187,14 @@ var Particle = function () {
|
|
|
3187
3187
|
|
|
3188
3188
|
return new _Client2.default((0, _assign2.default)({ api: this }, options));
|
|
3189
3189
|
}
|
|
3190
|
+
|
|
3191
|
+
// Internal method used to target Particle's APIs other than the default
|
|
3192
|
+
|
|
3193
|
+
}, {
|
|
3194
|
+
key: 'setBaseUrl',
|
|
3195
|
+
value: function setBaseUrl(baseUrl) {
|
|
3196
|
+
this.agent.setBaseUrl(baseUrl);
|
|
3197
|
+
}
|
|
3190
3198
|
}]);
|
|
3191
3199
|
return Particle;
|
|
3192
3200
|
}();
|