necessary 14.4.1 → 15.0.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/README.md CHANGED
@@ -110,7 +110,7 @@ Note that the `uri` argument must include a leading forward slash `/` since the
110
110
  * The `post()` function behaves almost identically to the `get()` function, with the following differences.
111
111
 
112
112
  It sends a `POST` rather than a `GET` request.
113
- There is an additional `content` argument that comes before the `callabck` argument and after the `headers` argument, which is again optional.
113
+ There is an additional `content` argument that comes before the `headers` argument, which is again optional.
114
114
  If the `headers` argument does not have a `content-type` property then one will be provided with the value of `application/json`.
115
115
  If the `content-type` property of the `headers` argument is set to `application/json` then the `content` argument is assumed to be a plain old JavaScript object and is stringified as JSON.
116
116
 
package/lib/constants.js CHANGED
@@ -27,9 +27,15 @@ _export(exports, {
27
27
  get ERROR () {
28
28
  return ERROR;
29
29
  },
30
+ get FUNCTION () {
31
+ return FUNCTION;
32
+ },
30
33
  get NUMBER () {
31
34
  return NUMBER;
32
35
  },
36
+ get OBJECT () {
37
+ return OBJECT;
38
+ },
33
39
  get PACKAGE_JSON () {
34
40
  return PACKAGE_JSON;
35
41
  },
@@ -44,11 +50,13 @@ var ZERO = "0";
44
50
  var DATA = "data";
45
51
  var ERROR = "error";
46
52
  var STRING = "string";
53
+ var OBJECT = "object";
47
54
  var NUMBER = "number";
48
55
  var BOOLEAN = "boolean";
49
56
  var DEFAULT = "default";
57
+ var FUNCTION = "function";
50
58
  var ENVIRONMENT = "ENVIRONMENT";
51
59
  var EMPTY_STRING = "";
52
60
  var PACKAGE_JSON = "package.json";
53
61
 
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdGFudHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBaRVJPID0gXCIwXCI7XG5leHBvcnQgY29uc3QgREFUQSA9IFwiZGF0YVwiO1xuZXhwb3J0IGNvbnN0IEVSUk9SID0gXCJlcnJvclwiO1xuZXhwb3J0IGNvbnN0IFNUUklORyA9IFwic3RyaW5nXCI7XG5leHBvcnQgY29uc3QgTlVNQkVSID0gXCJudW1iZXJcIjtcbmV4cG9ydCBjb25zdCBCT09MRUFOID0gXCJib29sZWFuXCI7XG5leHBvcnQgY29uc3QgREVGQVVMVCA9IFwiZGVmYXVsdFwiO1xuZXhwb3J0IGNvbnN0IEVOVklST05NRU5UID0gXCJFTlZJUk9OTUVOVFwiO1xuZXhwb3J0IGNvbnN0IEVNUFRZX1NUUklORyA9IFwiXCI7XG5leHBvcnQgY29uc3QgUEFDS0FHRV9KU09OID0gXCJwYWNrYWdlLmpzb25cIjtcbiJdLCJuYW1lcyI6WyJCT09MRUFOIiwiREFUQSIsIkRFRkFVTFQiLCJFTVBUWV9TVFJJTkciLCJFTlZJUk9OTUVOVCIsIkVSUk9SIiwiTlVNQkVSIiwiUEFDS0FHRV9KU09OIiwiU1RSSU5HIiwiWkVSTyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBT2FBO2VBQUFBOztRQUpBQztlQUFBQTs7UUFLQUM7ZUFBQUE7O1FBRUFDO2VBQUFBOztRQURBQztlQUFBQTs7UUFMQUM7ZUFBQUE7O1FBRUFDO2VBQUFBOztRQUtBQztlQUFBQTs7UUFOQUM7ZUFBQUE7O1FBSEFDO2VBQUFBOzs7QUFBTixJQUFNQSxPQUFPO0FBQ2IsSUFBTVIsT0FBTztBQUNiLElBQU1JLFFBQVE7QUFDZCxJQUFNRyxTQUFTO0FBQ2YsSUFBTUYsU0FBUztBQUNmLElBQU1OLFVBQVU7QUFDaEIsSUFBTUUsVUFBVTtBQUNoQixJQUFNRSxjQUFjO0FBQ3BCLElBQU1ELGVBQWU7QUFDckIsSUFBTUksZUFBZSJ9
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdGFudHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBaRVJPID0gXCIwXCI7XG5leHBvcnQgY29uc3QgREFUQSA9IFwiZGF0YVwiO1xuZXhwb3J0IGNvbnN0IEVSUk9SID0gXCJlcnJvclwiO1xuZXhwb3J0IGNvbnN0IFNUUklORyA9IFwic3RyaW5nXCI7XG5leHBvcnQgY29uc3QgT0JKRUNUID0gXCJvYmplY3RcIjtcbmV4cG9ydCBjb25zdCBOVU1CRVIgPSBcIm51bWJlclwiO1xuZXhwb3J0IGNvbnN0IEJPT0xFQU4gPSBcImJvb2xlYW5cIjtcbmV4cG9ydCBjb25zdCBERUZBVUxUID0gXCJkZWZhdWx0XCI7XG5leHBvcnQgY29uc3QgRlVOQ1RJT04gPSBcImZ1bmN0aW9uXCI7XG5leHBvcnQgY29uc3QgRU5WSVJPTk1FTlQgPSBcIkVOVklST05NRU5UXCI7XG5leHBvcnQgY29uc3QgRU1QVFlfU1RSSU5HID0gXCJcIjtcbmV4cG9ydCBjb25zdCBQQUNLQUdFX0pTT04gPSBcInBhY2thZ2UuanNvblwiO1xuIl0sIm5hbWVzIjpbIkJPT0xFQU4iLCJEQVRBIiwiREVGQVVMVCIsIkVNUFRZX1NUUklORyIsIkVOVklST05NRU5UIiwiRVJST1IiLCJGVU5DVElPTiIsIk5VTUJFUiIsIk9CSkVDVCIsIlBBQ0tBR0VfSlNPTiIsIlNUUklORyIsIlpFUk8iXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQVFhQTtlQUFBQTs7UUFMQUM7ZUFBQUE7O1FBTUFDO2VBQUFBOztRQUdBQztlQUFBQTs7UUFEQUM7ZUFBQUE7O1FBUEFDO2VBQUFBOztRQU1BQztlQUFBQTs7UUFIQUM7ZUFBQUE7O1FBREFDO2VBQUFBOztRQU9BQztlQUFBQTs7UUFSQUM7ZUFBQUE7O1FBSEFDO2VBQUFBOzs7QUFBTixJQUFNQSxPQUFPO0FBQ2IsSUFBTVYsT0FBTztBQUNiLElBQU1JLFFBQVE7QUFDZCxJQUFNSyxTQUFTO0FBQ2YsSUFBTUYsU0FBUztBQUNmLElBQU1ELFNBQVM7QUFDZixJQUFNUCxVQUFVO0FBQ2hCLElBQU1FLFVBQVU7QUFDaEIsSUFBTUksV0FBVztBQUNqQixJQUFNRixjQUFjO0FBQ3BCLElBQU1ELGVBQWU7QUFDckIsSUFBTU0sZUFBZSJ9
@@ -22,36 +22,65 @@ _export(exports, {
22
22
  return request;
23
23
  }
24
24
  });
25
+ var _constants = require("../constants");
25
26
  var _methods = require("../methods");
26
27
  var _contentTypes = require("../contentTypes");
27
28
  var _headers = require("../headers");
28
29
  var _http = require("../utilities/http");
29
- function get(host, uri, query, headers, callback) {
30
- if (callback === undefined) {
30
+ function _type_of(obj) {
31
+ "@swc/helpers - typeof";
32
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
33
+ }
34
+ function get(host, uri, query, headers, responseType, callback) {
35
+ if ((typeof headers === "undefined" ? "undefined" : _type_of(headers)) === _constants.FUNCTION) {
31
36
  callback = headers; ///
37
+ responseType = null;
32
38
  headers = {};
33
39
  }
40
+ if ((typeof responseType === "undefined" ? "undefined" : _type_of(responseType)) === _constants.FUNCTION) {
41
+ callback = responseType; ///
42
+ if ((typeof headers === "undefined" ? "undefined" : _type_of(headers)) === _constants.STRING) {
43
+ responseType = headers; ///
44
+ headers = {};
45
+ } else {
46
+ responseType = null;
47
+ }
48
+ }
34
49
  var method = _methods.GET_METHOD, accept = _contentTypes.APPLICATION_JSON_CONTENT_TYPE, content = null;
35
50
  underwriteAcceptHeader(headers, accept);
36
- request(host, uri, query, method, headers, content, callback);
51
+ request(host, uri, query, method, content, headers, responseType, callback);
37
52
  }
38
- function post(host, uri, query, headers, content, callback) {
39
- if (callback === undefined) {
40
- callback = content;
41
- content = headers;
53
+ function post(host, uri, query, content, headers, responseType, callback) {
54
+ if ((typeof headers === "undefined" ? "undefined" : _type_of(headers)) === _constants.FUNCTION) {
55
+ callback = headers; ///
56
+ responseType = null;
42
57
  headers = {};
43
58
  }
59
+ if ((typeof responseType === "undefined" ? "undefined" : _type_of(responseType)) === _constants.FUNCTION) {
60
+ callback = responseType; ///
61
+ if ((typeof headers === "undefined" ? "undefined" : _type_of(headers)) === _constants.STRING) {
62
+ responseType = headers; ///
63
+ headers = {};
64
+ } else {
65
+ responseType = null;
66
+ }
67
+ }
44
68
  var method = _methods.POST_METHOD, accept = _contentTypes.APPLICATION_JSON_CONTENT_TYPE, contentType = _contentTypes.APPLICATION_JSON_CONTENT_TYPE;
45
69
  underwriteAcceptHeader(headers, accept);
46
70
  underwriteContentTypeHeader(headers, contentType);
47
- request(host, uri, query, method, headers, content, callback);
71
+ request(host, uri, query, method, content, headers, responseType, callback);
48
72
  }
49
- function request(host, uri, query, method, headers, content, callback) {
73
+ function request(host, uri, query, method, content, headers, responseType, callback) {
50
74
  var url = (0, _http.urlFromHostURIAndQuery)(host, uri, query), accept = headers[_headers.ACCEPT_HEADER] || null, contentType = headers[_headers.CONTENT_TYPE_HEADER] || null, xmlHttpRequest = new XMLHttpRequest();
51
75
  if (contentType === _contentTypes.APPLICATION_JSON_CONTENT_TYPE) {
52
76
  var json = content, jsonString = JSON.stringify(json);
53
77
  content = jsonString; ///
54
78
  }
79
+ if (responseType !== null) {
80
+ Object.assign(xmlHttpRequest, {
81
+ responseType: responseType
82
+ });
83
+ }
55
84
  xmlHttpRequest.onreadystatechange = function() {
56
85
  var readyState = xmlHttpRequest.readyState, status = xmlHttpRequest.status, response = xmlHttpRequest.response, statusCode = status;
57
86
  if (readyState == 4) {
@@ -90,4 +119,4 @@ function underwriteContentTypeHeader(headers, contentTYpe) {
90
119
  (0, _http.underwrite)(headers, name, value);
91
120
  }
92
121
 
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYWpheC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgR0VUX01FVEhPRCwgUE9TVF9NRVRIT0QgfSBmcm9tIFwiLi4vbWV0aG9kc1wiO1xuaW1wb3J0IHsgQVBQTElDQVRJT05fSlNPTl9DT05URU5UX1RZUEUgfSBmcm9tIFwiLi4vY29udGVudFR5cGVzXCI7XG5pbXBvcnQgeyBBQ0NFUFRfSEVBREVSLCBDT05URU5UX1RZUEVfSEVBREVSIH0gZnJvbSBcIi4uL2hlYWRlcnNcIjtcbmltcG9ydCB7IHVuZGVyd3JpdGUsIHVybEZyb21Ib3N0VVJJQW5kUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2h0dHBcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldChob3N0LCB1cmksIHF1ZXJ5LCBoZWFkZXJzLCBjYWxsYmFjaykge1xuICBpZiAoY2FsbGJhY2sgPT09IHVuZGVmaW5lZCkge1xuICAgIGNhbGxiYWNrID0gaGVhZGVyczsgLy8vXG4gICAgaGVhZGVycyA9IHt9O1xuICB9XG5cbiAgY29uc3QgbWV0aG9kID0gR0VUX01FVEhPRCxcbiAgICAgICAgYWNjZXB0ID0gQVBQTElDQVRJT05fSlNPTl9DT05URU5UX1RZUEUsXG4gICAgICAgIGNvbnRlbnQgPSBudWxsO1xuXG4gIHVuZGVyd3JpdGVBY2NlcHRIZWFkZXIoaGVhZGVycywgYWNjZXB0KTtcblxuICByZXF1ZXN0KGhvc3QsIHVyaSwgcXVlcnksIG1ldGhvZCwgaGVhZGVycywgY29udGVudCwgY2FsbGJhY2spO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcG9zdChob3N0LCB1cmksIHF1ZXJ5LCBoZWFkZXJzLCBjb250ZW50LCBjYWxsYmFjaykge1xuICBpZiAoY2FsbGJhY2sgPT09IHVuZGVmaW5lZCkge1xuICAgIGNhbGxiYWNrID0gY29udGVudDtcbiAgICBjb250ZW50ID0gaGVhZGVycztcbiAgICBoZWFkZXJzID0ge307XG4gIH1cblxuICBjb25zdCBtZXRob2QgPSBQT1NUX01FVEhPRCxcbiAgICAgICAgYWNjZXB0ID0gQVBQTElDQVRJT05fSlNPTl9DT05URU5UX1RZUEUsXG4gICAgICAgIGNvbnRlbnRUeXBlID0gQVBQTElDQVRJT05fSlNPTl9DT05URU5UX1RZUEU7XG5cbiAgdW5kZXJ3cml0ZUFjY2VwdEhlYWRlcihoZWFkZXJzLCBhY2NlcHQpO1xuXG4gIHVuZGVyd3JpdGVDb250ZW50VHlwZUhlYWRlcihoZWFkZXJzLCBjb250ZW50VHlwZSk7XG5cbiAgcmVxdWVzdChob3N0LCB1cmksIHF1ZXJ5LCBtZXRob2QsIGhlYWRlcnMsIGNvbnRlbnQsIGNhbGxiYWNrKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlcXVlc3QoaG9zdCwgdXJpLCBxdWVyeSwgbWV0aG9kLCBoZWFkZXJzLCBjb250ZW50LCBjYWxsYmFjaykge1xuICBjb25zdCB1cmwgPSB1cmxGcm9tSG9zdFVSSUFuZFF1ZXJ5KGhvc3QsIHVyaSwgcXVlcnkpLFxuICAgICAgICBhY2NlcHQgPSBoZWFkZXJzW0FDQ0VQVF9IRUFERVJdIHx8IG51bGwsXG4gICAgICAgIGNvbnRlbnRUeXBlID0gaGVhZGVyc1tDT05URU5UX1RZUEVfSEVBREVSXSB8fCBudWxsLFxuICAgICAgICB4bWxIdHRwUmVxdWVzdCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xuXG4gIGlmIChjb250ZW50VHlwZSA9PT0gQVBQTElDQVRJT05fSlNPTl9DT05URU5UX1RZUEUpIHtcbiAgICBjb25zdCBqc29uID0gY29udGVudCwgIC8vL1xuICAgICAgICAgIGpzb25TdHJpbmcgPSBKU09OLnN0cmluZ2lmeShqc29uKTtcblxuICAgIGNvbnRlbnQgPSBqc29uU3RyaW5nOyAgLy8vXG4gIH1cblxuICB4bWxIdHRwUmVxdWVzdC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSAoKSA9PiB7XG4gICAgY29uc3QgeyByZWFkeVN0YXRlLCBzdGF0dXMsIHJlc3BvbnNlIH0gPSB4bWxIdHRwUmVxdWVzdCxcbiAgICAgICAgICBzdGF0dXNDb2RlID0gc3RhdHVzO1xuXG4gICAgaWYgKHJlYWR5U3RhdGUgPT0gNCkge1xuICAgICAgbGV0IGNvbnRlbnQgPSByZXNwb25zZTtcblxuICAgICAgaWYgKGFjY2VwdCA9PT0gQVBQTElDQVRJT05fSlNPTl9DT05URU5UX1RZUEUpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBqc29uU3RyaW5nID0gY29udGVudCwgIC8vL1xuICAgICAgICAgICAgICAgIGpzb24gPSBKU09OLnBhcnNlKGpzb25TdHJpbmcpO1xuXG4gICAgICAgICAgY29udGVudCA9IGpzb247ICAvLy9cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICBjb250ZW50ID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjYWxsYmFjayhjb250ZW50LCBzdGF0dXNDb2RlKTtcbiAgICB9XG4gIH07XG5cbiAgeG1sSHR0cFJlcXVlc3Qub3BlbihtZXRob2QsIHVybCk7XG5cbiAgaWYgKGFjY2VwdCAhPT0gbnVsbCkge1xuICAgIHhtbEh0dHBSZXF1ZXN0LnNldFJlcXVlc3RIZWFkZXIoQUNDRVBUX0hFQURFUiwgYWNjZXB0KTtcbiAgfVxuXG4gIGlmIChjb250ZW50VHlwZSAhPT0gbnVsbCkge1xuICAgIHhtbEh0dHBSZXF1ZXN0LnNldFJlcXVlc3RIZWFkZXIoQ09OVEVOVF9UWVBFX0hFQURFUiwgY29udGVudFR5cGUpO1xuICB9XG5cbiAgKGNvbnRlbnQgIT09IG51bGwpID9cbiAgICB4bWxIdHRwUmVxdWVzdC5zZW5kKGNvbnRlbnQpIDpcbiAgICAgIHhtbEh0dHBSZXF1ZXN0LnNlbmQoKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBnZXQsXG4gIHBvc3QsXG4gIHJlcXVlc3Rcbn1cblxuZnVuY3Rpb24gdW5kZXJ3cml0ZUFjY2VwdEhlYWRlcihoZWFkZXJzLCBhY2NlcHQpIHtcbiAgY29uc3QgbmFtZSA9IEFDQ0VQVF9IRUFERVIsICAvLy9cbiAgICAgICAgdmFsdWUgPSBhY2NlcHQ7IC8vL1xuXG4gIHVuZGVyd3JpdGUoaGVhZGVycywgbmFtZSwgdmFsdWUpO1xufVxuXG5mdW5jdGlvbiB1bmRlcndyaXRlQ29udGVudFR5cGVIZWFkZXIoaGVhZGVycywgY29udGVudFRZcGUpIHtcbiAgY29uc3QgbmFtZSA9IENPTlRFTlRfVFlQRV9IRUFERVIsICAvLy9cbiAgICAgICAgdmFsdWUgPSBjb250ZW50VFlwZTsgLy8vXG5cbiAgdW5kZXJ3cml0ZShoZWFkZXJzLCBuYW1lLCB2YWx1ZSk7XG59XG4iXSwibmFtZXMiOlsiZ2V0IiwicG9zdCIsInJlcXVlc3QiLCJob3N0IiwidXJpIiwicXVlcnkiLCJoZWFkZXJzIiwiY2FsbGJhY2siLCJ1bmRlZmluZWQiLCJtZXRob2QiLCJHRVRfTUVUSE9EIiwiYWNjZXB0IiwiQVBQTElDQVRJT05fSlNPTl9DT05URU5UX1RZUEUiLCJjb250ZW50IiwidW5kZXJ3cml0ZUFjY2VwdEhlYWRlciIsIlBPU1RfTUVUSE9EIiwiY29udGVudFR5cGUiLCJ1bmRlcndyaXRlQ29udGVudFR5cGVIZWFkZXIiLCJ1cmwiLCJ1cmxGcm9tSG9zdFVSSUFuZFF1ZXJ5IiwiQUNDRVBUX0hFQURFUiIsIkNPTlRFTlRfVFlQRV9IRUFERVIiLCJ4bWxIdHRwUmVxdWVzdCIsIlhNTEh0dHBSZXF1ZXN0IiwianNvbiIsImpzb25TdHJpbmciLCJKU09OIiwic3RyaW5naWZ5Iiwib25yZWFkeXN0YXRlY2hhbmdlIiwicmVhZHlTdGF0ZSIsInN0YXR1cyIsInJlc3BvbnNlIiwic3RhdHVzQ29kZSIsInBhcnNlIiwiZXJyb3IiLCJvcGVuIiwic2V0UmVxdWVzdEhlYWRlciIsInNlbmQiLCJuYW1lIiwidmFsdWUiLCJ1bmRlcndyaXRlIiwiY29udGVudFRZcGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQTBGQTtlQUFBOztRQW5GZ0JBO2VBQUFBOztRQWVBQztlQUFBQTs7UUFrQkFDO2VBQUFBOzs7dUJBdEN3Qjs0QkFDTTt1QkFD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
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYWpheC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgU1RSSU5HLCBGVU5DVElPTiB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IEdFVF9NRVRIT0QsIFBPU1RfTUVUSE9EIH0gZnJvbSBcIi4uL21ldGhvZHNcIjtcbmltcG9ydCB7IEFQUExJQ0FUSU9OX0pTT05fQ09OVEVOVF9UWVBFIH0gZnJvbSBcIi4uL2NvbnRlbnRUeXBlc1wiO1xuaW1wb3J0IHsgQUNDRVBUX0hFQURFUiwgQ09OVEVOVF9UWVBFX0hFQURFUiB9IGZyb20gXCIuLi9oZWFkZXJzXCI7XG5pbXBvcnQgeyB1bmRlcndyaXRlLCB1cmxGcm9tSG9zdFVSSUFuZFF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9odHRwXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXQoaG9zdCwgdXJpLCBxdWVyeSwgaGVhZGVycywgcmVzcG9uc2VUeXBlLCBjYWxsYmFjaykge1xuICBpZiAodHlwZW9mIGhlYWRlcnMgPT09IEZVTkNUSU9OKSB7XG4gICAgY2FsbGJhY2sgPSBoZWFkZXJzOyAvLy9cblxuICAgIHJlc3BvbnNlVHlwZSA9IG51bGw7XG5cbiAgICBoZWFkZXJzID0ge307XG4gIH1cblxuICBpZiAodHlwZW9mIHJlc3BvbnNlVHlwZSA9PT0gRlVOQ1RJT04pIHtcbiAgICBjYWxsYmFjayA9IHJlc3BvbnNlVHlwZTsgIC8vL1xuXG4gICAgaWYgKHR5cGVvZiBoZWFkZXJzID09PSBTVFJJTkcpIHtcbiAgICAgIHJlc3BvbnNlVHlwZSA9IGhlYWRlcnM7IC8vL1xuXG4gICAgICBoZWFkZXJzID0ge307XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3BvbnNlVHlwZSA9IG51bGxcbiAgICB9XG4gIH1cblxuICBjb25zdCBtZXRob2QgPSBHRVRfTUVUSE9ELFxuICAgICAgICBhY2NlcHQgPSBBUFBMSUNBVElPTl9KU09OX0NPTlRFTlRfVFlQRSxcbiAgICAgICAgY29udGVudCA9IG51bGw7XG5cbiAgdW5kZXJ3cml0ZUFjY2VwdEhlYWRlcihoZWFkZXJzLCBhY2NlcHQpO1xuXG4gIHJlcXVlc3QoaG9zdCwgdXJpLCBxdWVyeSwgbWV0aG9kLCBjb250ZW50LCBoZWFkZXJzLCByZXNwb25zZVR5cGUsIGNhbGxiYWNrKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBvc3QoaG9zdCwgdXJpLCBxdWVyeSwgY29udGVudCwgaGVhZGVycywgcmVzcG9uc2VUeXBlLCBjYWxsYmFjaykge1xuICBpZiAodHlwZW9mIGhlYWRlcnMgPT09IEZVTkNUSU9OKSB7XG4gICAgY2FsbGJhY2sgPSBoZWFkZXJzOyAvLy9cblxuICAgIHJlc3BvbnNlVHlwZSA9IG51bGw7XG5cbiAgICBoZWFkZXJzID0ge307XG4gIH1cblxuICBpZiAodHlwZW9mIHJlc3BvbnNlVHlwZSA9PT0gRlVOQ1RJT04pIHtcbiAgICBjYWxsYmFjayA9IHJlc3BvbnNlVHlwZTsgIC8vL1xuXG4gICAgaWYgKHR5cGVvZiBoZWFkZXJzID09PSBTVFJJTkcpIHtcbiAgICAgIHJlc3BvbnNlVHlwZSA9IGhlYWRlcnM7IC8vL1xuXG4gICAgICBoZWFkZXJzID0ge307XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3BvbnNlVHlwZSA9IG51bGxcbiAgICB9XG4gIH1cblxuICBjb25zdCBtZXRob2QgPSBQT1NUX01FVEhPRCxcbiAgICAgICAgYWNjZXB0ID0gQVBQTElDQVRJT05fSlNPTl9DT05URU5UX1RZUEUsXG4gICAgICAgIGNvbnRlbnRUeXBlID0gQVBQTElDQVRJT05fSlNPTl9DT05URU5UX1RZUEU7XG5cbiAgdW5kZXJ3cml0ZUFjY2VwdEhlYWRlcihoZWFkZXJzLCBhY2NlcHQpO1xuXG4gIHVuZGVyd3JpdGVDb250ZW50VHlwZUhlYWRlcihoZWFkZXJzLCBjb250ZW50VHlwZSk7XG5cbiAgcmVxdWVzdChob3N0LCB1cmksIHF1ZXJ5LCBtZXRob2QsIGNvbnRlbnQsIGhlYWRlcnMsIHJlc3BvbnNlVHlwZSwgY2FsbGJhY2spO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVxdWVzdChob3N0LCB1cmksIHF1ZXJ5LCBtZXRob2QsIGNvbnRlbnQsIGhlYWRlcnMsIHJlc3BvbnNlVHlwZSwgY2FsbGJhY2spIHtcbiAgY29uc3QgdXJsID0gdXJsRnJvbUhvc3RVUklBbmRRdWVyeShob3N0LCB1cmksIHF1ZXJ5KSxcbiAgICAgICAgYWNjZXB0ID0gaGVhZGVyc1tBQ0NFUFRfSEVBREVSXSB8fCBudWxsLFxuICAgICAgICBjb250ZW50VHlwZSA9IGhlYWRlcnNbQ09OVEVOVF9UWVBFX0hFQURFUl0gfHwgbnVsbCxcbiAgICAgICAgeG1sSHR0cFJlcXVlc3QgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcblxuICBpZiAoY29udGVudFR5cGUgPT09IEFQUExJQ0FUSU9OX0pTT05fQ09OVEVOVF9UWVBFKSB7XG4gICAgY29uc3QganNvbiA9IGNvbnRlbnQsICAvLy9cbiAgICAgICAgICBqc29uU3RyaW5nID0gSlNPTi5zdHJpbmdpZnkoanNvbik7XG5cbiAgICBjb250ZW50ID0ganNvblN0cmluZzsgIC8vL1xuICB9XG5cbiAgaWYgKHJlc3BvbnNlVHlwZSAhPT0gbnVsbCkge1xuICAgIE9iamVjdC5hc3NpZ24oeG1sSHR0cFJlcXVlc3QsIHtcbiAgICAgIHJlc3BvbnNlVHlwZVxuICAgIH0pO1xuICB9XG5cbiAgeG1sSHR0cFJlcXVlc3Qub25yZWFkeXN0YXRlY2hhbmdlID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgcmVhZHlTdGF0ZSwgc3RhdHVzLCByZXNwb25zZSB9ID0geG1sSHR0cFJlcXVlc3QsXG4gICAgICAgICAgc3RhdHVzQ29kZSA9IHN0YXR1cztcblxuICAgIGlmIChyZWFkeVN0YXRlID09IDQpIHtcbiAgICAgIGxldCBjb250ZW50ID0gcmVzcG9uc2U7XG5cbiAgICAgIGlmIChhY2NlcHQgPT09IEFQUExJQ0FUSU9OX0pTT05fQ09OVEVOVF9UWVBFKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QganNvblN0cmluZyA9IGNvbnRlbnQsICAvLy9cbiAgICAgICAgICAgICAgICBqc29uID0gSlNPTi5wYXJzZShqc29uU3RyaW5nKTtcblxuICAgICAgICAgIGNvbnRlbnQgPSBqc29uOyAgLy8vXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgY29udGVudCA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY2FsbGJhY2soY29udGVudCwgc3RhdHVzQ29kZSk7XG4gICAgfVxuICB9O1xuXG4gIHhtbEh0dHBSZXF1ZXN0Lm9wZW4obWV0aG9kLCB1cmwpO1xuXG4gIGlmIChhY2NlcHQgIT09IG51bGwpIHtcbiAgICB4bWxIdHRwUmVxdWVzdC5zZXRSZXF1ZXN0SGVhZGVyKEFDQ0VQVF9IRUFERVIsIGFjY2VwdCk7XG4gIH1cblxuICBpZiAoY29udGVudFR5cGUgIT09IG51bGwpIHtcbiAgICB4bWxIdHRwUmVxdWVzdC5zZXRSZXF1ZXN0SGVhZGVyKENPTlRFTlRfVFlQRV9IRUFERVIsIGNvbnRlbnRUeXBlKTtcbiAgfVxuXG4gIChjb250ZW50ICE9PSBudWxsKSA/XG4gICAgeG1sSHR0cFJlcXVlc3Quc2VuZChjb250ZW50KSA6XG4gICAgICB4bWxIdHRwUmVxdWVzdC5zZW5kKCk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgZ2V0LFxuICBwb3N0LFxuICByZXF1ZXN0XG59XG5cbmZ1bmN0aW9uIHVuZGVyd3JpdGVBY2NlcHRIZWFkZXIoaGVhZGVycywgYWNjZXB0KSB7XG4gIGNvbnN0IG5hbWUgPSBBQ0NFUFRfSEVBREVSLCAgLy8vXG4gICAgICAgIHZhbHVlID0gYWNjZXB0OyAvLy9cblxuICB1bmRlcndyaXRlKGhlYWRlcnMsIG5hbWUsIHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gdW5kZXJ3cml0ZUNvbnRlbnRUeXBlSGVhZGVyKGhlYWRlcnMsIGNvbnRlbnRUWXBlKSB7XG4gIGNvbnN0IG5hbWUgPSBDT05URU5UX1RZUEVfSEVBREVSLCAgLy8vXG4gICAgICAgIHZhbHVlID0gY29udGVudFRZcGU7IC8vL1xuXG4gIHVuZGVyd3JpdGUoaGVhZGVycywgbmFtZSwgdmFsdWUpO1xufVxuIl0sIm5hbWVzIjpbImdldCIsInBvc3QiLCJyZXF1ZXN0IiwiaG9zdCIsInVyaSIsInF1ZXJ5IiwiaGVhZGVycyIsInJlc3BvbnNlVHlwZSIsImNhbGxiYWNrIiwiRlVOQ1RJT04iLCJTVFJJTkciLCJtZXRob2QiLCJHRVRfTUVUSE9EIiwiYWNjZXB0IiwiQVBQTElDQVRJT05fSlNPTl9DT05URU5UX1RZUEUiLCJjb250ZW50IiwidW5kZXJ3cml0ZUFjY2VwdEhlYWRlciIsIlBPU1RfTUVUSE9EIiwiY29udGVudFR5cGUiLCJ1bmRlcndyaXRlQ29udGVudFR5cGVIZWFkZXIiLCJ1cmwiLCJ1cmxGcm9tSG9zdFVSSUFuZFF1ZXJ5IiwiQUNDRVBUX0hFQURFUiIsIkNPTlRFTlRfVFlQRV9IRUFERVIiLCJ4bWxIdHRwUmVxdWVzdCIsIlhNTEh0dHBSZXF1ZXN0IiwianNvbiIsImpzb25TdHJpbmciLCJKU09OIiwic3RyaW5naWZ5IiwiT2JqZWN0IiwiYXNzaWduIiwib25yZWFkeXN0YXRlY2hhbmdlIiwicmVhZHlTdGF0ZSIsInN0YXR1cyIsInJlc3BvbnNlIiwic3RhdHVzQ29kZSIsInBhcnNlIiwiZXJyb3IiLCJvcGVuIiwic2V0UmVxdWVzdEhlYWRlciIsInNlbmQiLCJuYW1lIiwidmFsdWUiLCJ1bmRlcndyaXRlIiwiY29udGVudFRZcGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQThIQTtlQUFBOztRQXRIZ0JBO2VBQUFBOztRQThCQUM7ZUFBQUE7O1FBZ0NBQztlQUFBQTs7O3lCQXBFaUI7dUJBQ087NEJBQ007dUJBQ0s7b0JBQ0E7Ozs7O0FBRTVDLFNBQVNGLElBQUlHLElBQUksRUFBRUMsR0FBRyxFQUFFQyxLQUFLLEVBQUVDLE9BQU8sRUFBRUMsWUFBWSxFQUFFQyxRQUFRO0lBQ25FLElBQUksQ0FBQSxPQUFPRix3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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "necessary",
3
3
  "author": "James Smith",
4
- "version": "14.4.1",
4
+ "version": "15.0.0",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/necessary",
7
7
  "description": "A collection of utility functions.",
package/src/constants.js CHANGED
@@ -4,9 +4,11 @@ export const ZERO = "0";
4
4
  export const DATA = "data";
5
5
  export const ERROR = "error";
6
6
  export const STRING = "string";
7
+ export const OBJECT = "object";
7
8
  export const NUMBER = "number";
8
9
  export const BOOLEAN = "boolean";
9
10
  export const DEFAULT = "default";
11
+ export const FUNCTION = "function";
10
12
  export const ENVIRONMENT = "ENVIRONMENT";
11
13
  export const EMPTY_STRING = "";
12
14
  export const PACKAGE_JSON = "package.json";
@@ -1,32 +1,62 @@
1
1
  "use strict";
2
2
 
3
+ import { STRING, FUNCTION } from "../constants";
3
4
  import { GET_METHOD, POST_METHOD } from "../methods";
4
5
  import { APPLICATION_JSON_CONTENT_TYPE } from "../contentTypes";
5
6
  import { ACCEPT_HEADER, CONTENT_TYPE_HEADER } from "../headers";
6
7
  import { underwrite, urlFromHostURIAndQuery } from "../utilities/http";
7
8
 
8
- export function get(host, uri, query, headers, callback) {
9
- if (callback === undefined) {
9
+ export function get(host, uri, query, headers, responseType, callback) {
10
+ if (typeof headers === FUNCTION) {
10
11
  callback = headers; ///
12
+
13
+ responseType = null;
14
+
11
15
  headers = {};
12
16
  }
13
17
 
18
+ if (typeof responseType === FUNCTION) {
19
+ callback = responseType; ///
20
+
21
+ if (typeof headers === STRING) {
22
+ responseType = headers; ///
23
+
24
+ headers = {};
25
+ } else {
26
+ responseType = null
27
+ }
28
+ }
29
+
14
30
  const method = GET_METHOD,
15
31
  accept = APPLICATION_JSON_CONTENT_TYPE,
16
32
  content = null;
17
33
 
18
34
  underwriteAcceptHeader(headers, accept);
19
35
 
20
- request(host, uri, query, method, headers, content, callback);
36
+ request(host, uri, query, method, content, headers, responseType, callback);
21
37
  }
22
38
 
23
- export function post(host, uri, query, headers, content, callback) {
24
- if (callback === undefined) {
25
- callback = content;
26
- content = headers;
39
+ export function post(host, uri, query, content, headers, responseType, callback) {
40
+ if (typeof headers === FUNCTION) {
41
+ callback = headers; ///
42
+
43
+ responseType = null;
44
+
27
45
  headers = {};
28
46
  }
29
47
 
48
+ if (typeof responseType === FUNCTION) {
49
+ callback = responseType; ///
50
+
51
+ if (typeof headers === STRING) {
52
+ responseType = headers; ///
53
+
54
+ headers = {};
55
+ } else {
56
+ responseType = null
57
+ }
58
+ }
59
+
30
60
  const method = POST_METHOD,
31
61
  accept = APPLICATION_JSON_CONTENT_TYPE,
32
62
  contentType = APPLICATION_JSON_CONTENT_TYPE;
@@ -35,10 +65,10 @@ export function post(host, uri, query, headers, content, callback) {
35
65
 
36
66
  underwriteContentTypeHeader(headers, contentType);
37
67
 
38
- request(host, uri, query, method, headers, content, callback);
68
+ request(host, uri, query, method, content, headers, responseType, callback);
39
69
  }
40
70
 
41
- export function request(host, uri, query, method, headers, content, callback) {
71
+ export function request(host, uri, query, method, content, headers, responseType, callback) {
42
72
  const url = urlFromHostURIAndQuery(host, uri, query),
43
73
  accept = headers[ACCEPT_HEADER] || null,
44
74
  contentType = headers[CONTENT_TYPE_HEADER] || null,
@@ -51,6 +81,12 @@ export function request(host, uri, query, method, headers, content, callback) {
51
81
  content = jsonString; ///
52
82
  }
53
83
 
84
+ if (responseType !== null) {
85
+ Object.assign(xmlHttpRequest, {
86
+ responseType
87
+ });
88
+ }
89
+
54
90
  xmlHttpRequest.onreadystatechange = () => {
55
91
  const { readyState, status, response } = xmlHttpRequest,
56
92
  statusCode = status;