txtai 6.2.0 → 6.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/dist/api.js CHANGED
@@ -28,12 +28,15 @@ var API = /*#__PURE__*/function () {
28
28
  /**
29
29
  * Creates an API instance.
30
30
  *
31
- * @param url base url
31
+ * @param url api url
32
+ * @param token api token
32
33
  */
33
- function API(url) {
34
+ function API(url, token) {
34
35
  (0, _classCallCheck2["default"])(this, API);
35
- // Base url
36
- this.url = url;
36
+ // API url
37
+ this.url = url ? url : process.env.TXTAI_API_URL; // API token
38
+
39
+ this.token = token ? token : process.env.TXTAI_API_TOKEN;
37
40
  }
38
41
  /**
39
42
  * Executes a get request.
@@ -62,7 +65,9 @@ var API = /*#__PURE__*/function () {
62
65
 
63
66
 
64
67
  _context.next = 4;
65
- return fetch(url);
68
+ return fetch(url, {
69
+ headers: this.headers()
70
+ });
66
71
 
67
72
  case 4:
68
73
  res = _context.sent;
@@ -112,46 +117,48 @@ var API = /*#__PURE__*/function () {
112
117
  key: "post",
113
118
  value: function () {
114
119
  var _post = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(method, params) {
115
- var url, res;
120
+ var url, defaults, res;
116
121
  return _regenerator["default"].wrap(function _callee2$(_context2) {
117
122
  while (1) {
118
123
  switch (_context2.prev = _context2.next) {
119
124
  case 0:
120
125
  // Build URL
121
- url = "".concat(this.url, "/").concat(method); // Execute remote call
126
+ url = "".concat(this.url, "/").concat(method); // Default headers
127
+
128
+ defaults = {
129
+ "Content-Type": "application/json"
130
+ }; // Execute remote call
122
131
 
123
- _context2.next = 3;
132
+ _context2.next = 4;
124
133
  return fetch(url, {
125
134
  method: "post",
126
135
  body: JSON.stringify(params),
127
- headers: {
128
- "content-type": "application/json"
129
- }
136
+ headers: this.headers(defaults)
130
137
  });
131
138
 
132
- case 3:
139
+ case 4:
133
140
  res = _context2.sent;
134
141
 
135
142
  if (!res.ok) {
136
- _context2.next = 10;
143
+ _context2.next = 11;
137
144
  break;
138
145
  }
139
146
 
140
- _context2.next = 7;
147
+ _context2.next = 8;
141
148
  return res.json();
142
149
 
143
- case 7:
150
+ case 8:
144
151
  _context2.t0 = _context2.sent;
145
- _context2.next = 11;
152
+ _context2.next = 12;
146
153
  break;
147
154
 
148
- case 10:
155
+ case 11:
149
156
  _context2.t0 = Promise.reject("".concat(res.status, " ").concat(res.statusText));
150
157
 
151
- case 11:
158
+ case 12:
152
159
  return _context2.abrupt("return", _context2.t0);
153
160
 
154
- case 12:
161
+ case 13:
155
162
  case "end":
156
163
  return _context2.stop();
157
164
  }
@@ -165,6 +172,24 @@ var API = /*#__PURE__*/function () {
165
172
 
166
173
  return post;
167
174
  }()
175
+ /**
176
+ * Creates default HTTP headers.
177
+ *
178
+ * @param base base headers
179
+ * @return headers
180
+ */
181
+
182
+ }, {
183
+ key: "headers",
184
+ value: function headers(base) {
185
+ var headers = base ? base : {};
186
+
187
+ if (this.token) {
188
+ headers["Authorization"] = "Bearer " + this.token;
189
+ }
190
+
191
+ return headers;
192
+ }
168
193
  }]);
169
194
  return API;
170
195
  }();
package/dist/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/api.js"],"names":["API","url","method","params","URLSearchParams","fetch","res","ok","json","Promise","reject","status","statusText","body","JSON","stringify","headers"],"mappings":";;;;;;;;;;;;;;;;;AACA;;AACA;;AAFA;;AAIA;AACA;AACA;IACMA,G;AACF;AACJ;AACA;AACA;AACA;AACI,eAAYC,GAAZ,EAAiB;AAAA;AACb;AACA,SAAKA,GAAL,GAAWA,GAAX;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;;;;;;+FACI,iBAAUC,MAAV,EAAkBC,MAAlB;AAAA;AAAA;AAAA;AAAA;AAAA;AACI;AACIF,gBAAAA,GAFR,aAEiB,KAAKA,GAFtB,cAE6BC,MAF7B;;AAGI,oBAAIC,MAAJ,EAAY;AACRF,kBAAAA,GAAG,eAAQ,IAAIG,eAAJ,CAAoBD,MAApB,CAAR,CAAH;AACH,iBALL,CAOI;;;AAPJ;AAAA,uBAQoBE,KAAK,CAACJ,GAAD,CARzB;;AAAA;AAQQK,gBAAAA,GARR;;AAAA,qBAWWA,GAAG,CAACC,EAXf;AAAA;AAAA;AAAA;;AAAA;AAAA,uBAW0BD,GAAG,CAACE,IAAJ,EAX1B;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA,8BAWuCC,OAAO,CAACC,MAAR,WAAkBJ,GAAG,CAACK,MAAtB,cAAgCL,GAAG,CAACM,UAApC,EAXvC;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;AAcA;AACJ;AACA;AACA;AACA;AACA;AACA;;;;;gGACI,kBAAWV,MAAX,EAAmBC,MAAnB;AAAA;AAAA;AAAA;AAAA;AAAA;AACI;AACIF,gBAAAA,GAFR,aAEiB,KAAKA,GAFtB,cAE6BC,MAF7B,GAII;;AAJJ;AAAA,uBAKoBG,KAAK,CAACJ,GAAD,EAAM;AAACC,kBAAAA,MAAM,EAAE,MAAT;AACCW,kBAAAA,IAAI,EAAEC,IAAI,CAACC,SAAL,CAAeZ,MAAf,CADP;AAECa,kBAAAA,OAAO,EAAE;AAAC,oCAAgB;AAAjB;AAFV,iBAAN,CALzB;;AAAA;AAKQV,gBAAAA,GALR;;AAAA,qBAUWA,GAAG,CAACC,EAVf;AAAA;AAAA;AAAA;;AAAA;AAAA,uBAU0BD,GAAG,CAACE,IAAJ,EAV1B;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA,+BAUuCC,OAAO,CAACC,MAAR,WAAkBJ,GAAG,CAACK,MAAtB,cAAgCL,GAAG,CAACM,UAApC,EAVvC;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;;eAcWZ,G","sourcesContent":["// Backwards compatibility\nimport \"core-js/features/promise\";\nimport \"isomorphic-fetch\";\n\n/**\n * Base class for interfacing with a remote txtai service via REST API calls. \n */\nclass API {\n /**\n * Creates an API instance.\n * \n * @param url base url\n */\n constructor(url) {\n // Base url\n this.url = url;\n }\n\n /**\n * Executes a get request.\n * \n * @param method api method\n * @param params query parameters\n * @return response\n */\n async get(method, params) {\n // Build URL\n let url = `${this.url}/${method}`;\n if (params) {\n url += `?${new URLSearchParams(params)}`;\n }\n\n // Execute remote call\n let res = await fetch(url);\n\n // Validate response and return JSON \n return res.ok ? await res.json() : Promise.reject(`${res.status} ${res.statusText}`);\n }\n\n /**\n * Executes a post request.\n * \n * @param method api method\n * @param params post parameters\n * @return response\n */\n async post(method, params) {\n // Build URL\n let url = `${this.url}/${method}`;\n\n // Execute remote call\n let res = await fetch(url, {method: \"post\",\n body: JSON.stringify(params),\n headers: {\"content-type\": \"application/json\"}});\n\n // Validate response and return JSON \n return res.ok ? await res.json() : Promise.reject(`${res.status} ${res.statusText}`);\n }\n}\n\nexport default API;\n"],"file":"api.js"}
1
+ {"version":3,"sources":["../src/api.js"],"names":["API","url","token","process","env","TXTAI_API_URL","TXTAI_API_TOKEN","method","params","URLSearchParams","fetch","headers","res","ok","json","Promise","reject","status","statusText","defaults","body","JSON","stringify","base"],"mappings":";;;;;;;;;;;;;;;;;AACA;;AACA;;AAFA;;AAIA;AACA;AACA;IACMA,G;AACF;AACJ;AACA;AACA;AACA;AACA;AACI,eAAYC,GAAZ,EAAiBC,KAAjB,EAAwB;AAAA;AACpB;AACA,SAAKD,GAAL,GAAWA,GAAG,GAAGA,GAAH,GAASE,OAAO,CAACC,GAAR,CAAYC,aAAnC,CAFoB,CAIpB;;AACA,SAAKH,KAAL,GAAaA,KAAK,GAAGA,KAAH,GAAWC,OAAO,CAACC,GAAR,CAAYE,eAAzC;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;;;;;;+FACI,iBAAUC,MAAV,EAAkBC,MAAlB;AAAA;AAAA;AAAA;AAAA;AAAA;AACI;AACIP,gBAAAA,GAFR,aAEiB,KAAKA,GAFtB,cAE6BM,MAF7B;;AAGI,oBAAIC,MAAJ,EAAY;AACRP,kBAAAA,GAAG,eAAQ,IAAIQ,eAAJ,CAAoBD,MAApB,CAAR,CAAH;AACH,iBALL,CAOI;;;AAPJ;AAAA,uBAQoBE,KAAK,CAACT,GAAD,EAAM;AAACU,kBAAAA,OAAO,EAAE,KAAKA,OAAL;AAAV,iBAAN,CARzB;;AAAA;AAQQC,gBAAAA,GARR;;AAAA,qBAWWA,GAAG,CAACC,EAXf;AAAA;AAAA;AAAA;;AAAA;AAAA,uBAW0BD,GAAG,CAACE,IAAJ,EAX1B;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA,8BAWuCC,OAAO,CAACC,MAAR,WAAkBJ,GAAG,CAACK,MAAtB,cAAgCL,GAAG,CAACM,UAApC,EAXvC;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;AAcA;AACJ;AACA;AACA;AACA;AACA;AACA;;;;;gGACI,kBAAWX,MAAX,EAAmBC,MAAnB;AAAA;AAAA;AAAA;AAAA;AAAA;AACI;AACIP,gBAAAA,GAFR,aAEiB,KAAKA,GAFtB,cAE6BM,MAF7B,GAII;;AACIY,gBAAAA,QALR,GAKmB;AAAC,kCAAgB;AAAjB,iBALnB,EAOI;;AAPJ;AAAA,uBAQoBT,KAAK,CAACT,GAAD,EAAM;AAACM,kBAAAA,MAAM,EAAE,MAAT;AACCa,kBAAAA,IAAI,EAAEC,IAAI,CAACC,SAAL,CAAed,MAAf,CADP;AAECG,kBAAAA,OAAO,EAAE,KAAKA,OAAL,CAAaQ,QAAb;AAFV,iBAAN,CARzB;;AAAA;AAQQP,gBAAAA,GARR;;AAAA,qBAaWA,GAAG,CAACC,EAbf;AAAA;AAAA;AAAA;;AAAA;AAAA,uBAa0BD,GAAG,CAACE,IAAJ,EAb1B;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA,+BAauCC,OAAO,CAACC,MAAR,WAAkBJ,GAAG,CAACK,MAAtB,cAAgCL,GAAG,CAACM,UAApC,EAbvC;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;AAgBA;AACJ;AACA;AACA;AACA;AACA;;;;WACI,iBAAQK,IAAR,EAAc;AACV,UAAIZ,OAAO,GAAGY,IAAI,GAAGA,IAAH,GAAU,EAA5B;;AACA,UAAI,KAAKrB,KAAT,EAAgB;AACZS,QAAAA,OAAO,CAAC,eAAD,CAAP,GAA2B,YAAY,KAAKT,KAA5C;AACH;;AAED,aAAOS,OAAP;AACH;;;;;eAGUX,G","sourcesContent":["// Backwards compatibility\nimport \"core-js/features/promise\";\nimport \"isomorphic-fetch\";\n\n/**\n * Base class for interfacing with a remote txtai service via REST API calls. \n */\nclass API {\n /**\n * Creates an API instance.\n * \n * @param url api url\n * @param token api token\n */\n constructor(url, token) {\n // API url\n this.url = url ? url : process.env.TXTAI_API_URL\n\n // API token\n this.token = token ? token : process.env.TXTAI_API_TOKEN\n }\n\n /**\n * Executes a get request.\n * \n * @param method api method\n * @param params query parameters\n * @return response\n */\n async get(method, params) {\n // Build URL\n let url = `${this.url}/${method}`;\n if (params) {\n url += `?${new URLSearchParams(params)}`;\n }\n\n // Execute remote call\n let res = await fetch(url, {headers: this.headers()});\n\n // Validate response and return JSON \n return res.ok ? await res.json() : Promise.reject(`${res.status} ${res.statusText}`);\n }\n\n /**\n * Executes a post request.\n * \n * @param method api method\n * @param params post parameters\n * @return response\n */\n async post(method, params) {\n // Build URL\n let url = `${this.url}/${method}`;\n\n // Default headers\n let defaults = {\"Content-Type\": \"application/json\"};\n\n // Execute remote call\n let res = await fetch(url, {method: \"post\",\n body: JSON.stringify(params),\n headers: this.headers(defaults)});\n\n // Validate response and return JSON \n return res.ok ? await res.json() : Promise.reject(`${res.status} ${res.statusText}`);\n }\n\n /**\n * Creates default HTTP headers.\n *\n * @param base base headers\n * @return headers\n */\n headers(base) {\n let headers = base ? base : {};\n if (this.token) {\n headers[\"Authorization\"] = \"Bearer \" + this.token;\n }\n\n return headers\n }\n}\n\nexport default API;\n"],"file":"api.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "txtai",
3
- "version": "6.2.0",
3
+ "version": "6.3.0",
4
4
  "author": "NeuML",
5
5
  "description": "JavaScript client for txtai",
6
6
  "license": "Apache-2.0",