@stackfactor/client-api 1.2.17 → 1.2.19

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.
@@ -1 +1 @@
1
- {"version":3,"file":"axiosClient.d.ts","sourceRoot":"","sources":["../../../src/lib/axiosClient.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,UAAU,EAAiB,MAAM,OAAO,CAAC;AAsBzD,eAAO,MAAM,MAAM,+BAGjB,CAAC;AAwDH,eAAO,MAAM,iBAAiB,6EAC8C,CAAC;AAsB7E;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,UAAU,KAAG,MA8BjD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,OAAO,UAAU,KAAG,MAIhD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC9B,OAAO,UAAU,KAChB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAKnC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAC5B,qBAAqB,OAAO,EAC5B,OAAO,UAAU,KAChB,OAMF,CAAC"}
1
+ {"version":3,"file":"axiosClient.d.ts","sourceRoot":"","sources":["../../../src/lib/axiosClient.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,UAAU,EAAiB,MAAM,OAAO,CAAC;AAuBzD,eAAO,MAAM,MAAM,+BAGjB,CAAC;AAgEH,eAAO,MAAM,iBAAiB,6EAC8C,CAAC;AA4D7E;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,UAAU,KAAG,MAejD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,OAAO,UAAU,KAAG,MAIhD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC9B,OAAO,UAAU,KAChB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAKnC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAC5B,qBAAqB,OAAO,EAC5B,OAAO,UAAU,KAChB,OAMF,CAAC"}
@@ -39,6 +39,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.shouldReturnError = exports.getErrorInformation = exports.getErrorType = exports.errorToString = exports.FORBIDDEN_MESSAGE = exports.client = void 0;
40
40
  const axios_1 = __importDefault(require("axios"));
41
41
  const constants_js_1 = require("./constants.js");
42
+ const socketError_js_1 = require("./socketError.js");
42
43
  const utils = __importStar(require("./utils.js"));
43
44
  const baseUrl = utils.getBaseUrl();
44
45
  exports.client = axios_1.default.create({
@@ -62,6 +63,22 @@ const REDACTED_FIELDS = [
62
63
  //Long values (a pasted document, a base64 blob) would bury the message they are meant
63
64
  //to illustrate.
64
65
  const MAX_VALUE_LENGTH = 60;
66
+ /**
67
+ * The rejected value as it should appear in a message: null when there is nothing
68
+ * worth showing, cut short when it would bury the message it illustrates.
69
+ */
70
+ const displayValue = (value) => {
71
+ if (value === null || value === undefined) {
72
+ return null;
73
+ }
74
+ const text = typeof value === "object" ? JSON.stringify(value) : String(value);
75
+ if (text.length === 0) {
76
+ return null;
77
+ }
78
+ return text.length > MAX_VALUE_LENGTH
79
+ ? `${text.slice(0, MAX_VALUE_LENGTH)}…`
80
+ : text;
81
+ };
65
82
  /**
66
83
  * Renders one validation error as a sentence: the server's message, then the field it
67
84
  * is about and the value that was rejected.
@@ -78,20 +95,9 @@ const validationErrorToString = (item) => {
78
95
  return message;
79
96
  }
80
97
  const redacted = REDACTED_FIELDS.indexOf(field.toLowerCase()) >= 0;
81
- let value = null;
82
- if (!redacted && item.value !== null && item.value !== undefined) {
83
- value =
84
- typeof item.value === "object"
85
- ? JSON.stringify(item.value)
86
- : String(item.value);
87
- if (value.length === 0) {
88
- value = null;
89
- }
90
- else if (value.length > MAX_VALUE_LENGTH) {
91
- value = `${value.slice(0, MAX_VALUE_LENGTH)}…`;
92
- }
93
- }
94
- return `${message} (${field}${value === null ? "" : `: "${value}"`})`;
98
+ const value = redacted ? null : displayValue(item.value);
99
+ const subject = value === null ? field : `${field}: "${value}"`;
100
+ return `${message} (${subject})`;
95
101
  };
96
102
  //What a signed-in user reads when the server refuses them (403). A validator's own
97
103
  //refusal is "Unauthorized request" on the authorization header: the same words for
@@ -103,8 +109,16 @@ const isAuthorizationError = (item) => (item.path ?? item.param) === "authorizat
103
109
  /**
104
110
  * True for a 403 that says nothing better than the generic refusal: only a
105
111
  * validator's authorization errors, or no message the server wrote itself.
112
+ * A socket event's refusal arrives as the backend's { code, message, details }
113
+ * payload instead: its validators' refusals carry their errors as details,
114
+ * under the same generic message, while a message the server wrote itself has
115
+ * none.
106
116
  */
107
117
  const isGenericRefusal = (error) => {
118
+ const payload = error;
119
+ if ((0, socketError_js_1.isSocketError)(payload)) {
120
+ return (payload.code === constants_js_1.RESPONSE_TYPE.FORBIDDEN && Array.isArray(payload.details));
121
+ }
108
122
  if (error?.response?.status !== constants_js_1.RESPONSE_TYPE.FORBIDDEN) {
109
123
  return false;
110
124
  }
@@ -115,6 +129,32 @@ const isGenericRefusal = (error) => {
115
129
  }
116
130
  return !responseData?.error;
117
131
  };
132
+ //What a failure reads as when nothing more specific can be said about it
133
+ const UNKNOWN_ERROR = "Unknown error";
134
+ /**
135
+ * The message a server response carries, most specific first: the validation
136
+ * errors, the server's own message, then whatever else the response offers.
137
+ * @param {AxiosResponse} response
138
+ * @returns {string}
139
+ */
140
+ const responseToString = (response) => {
141
+ const responseData = response.data;
142
+ if (Array.isArray(responseData.errors)) {
143
+ return responseData.errors
144
+ .map((item) => validationErrorToString(item))
145
+ .join("; ");
146
+ }
147
+ if (responseData.error) {
148
+ return responseData.error;
149
+ }
150
+ if (responseData.errors) {
151
+ return JSON.stringify(responseData.errors);
152
+ }
153
+ if (response.statusText) {
154
+ return response.statusText.toString();
155
+ }
156
+ return responseData.toString();
157
+ };
118
158
  /**
119
159
  * Returns the error as a string. A permission refusal (403) reads as
120
160
  * FORBIDDEN_MESSAGE unless the server wrote a message of its own for it.
@@ -126,37 +166,16 @@ const errorToString = (error) => {
126
166
  return exports.FORBIDDEN_MESSAGE;
127
167
  }
128
168
  try {
129
- if (error != null) {
130
- if (error.response?.data) {
131
- const responseData = error.response.data;
132
- if (Array.isArray(responseData.errors)) {
133
- return responseData.errors
134
- .map((item) => validationErrorToString(item))
135
- .join("; ");
136
- }
137
- else if (responseData.error) {
138
- return responseData.error;
139
- }
140
- else if (responseData.errors) {
141
- return JSON.stringify(responseData.errors);
142
- }
143
- else if (error.response.statusText) {
144
- return error.response.statusText.toString();
145
- }
146
- else {
147
- return responseData.toString();
148
- }
149
- }
150
- else {
151
- return error.message ? error.message : "Unknown error";
152
- }
169
+ if (error == null) {
170
+ return UNKNOWN_ERROR;
153
171
  }
154
- else {
155
- return "Unknown error";
172
+ if (error.response?.data) {
173
+ return responseToString(error.response);
156
174
  }
175
+ return error.message || UNKNOWN_ERROR;
157
176
  }
158
177
  catch {
159
- return "Unknown error";
178
+ return UNKNOWN_ERROR;
160
179
  }
161
180
  };
162
181
  exports.errorToString = errorToString;
@@ -1 +1 @@
1
- {"version":3,"file":"axiosClient.js","sourceRoot":"","sources":["../../../src/lib/axiosClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"axiosClient.js","sourceRoot":"","sources":["../../../src/lib/axiosClient.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"axiosClient.d.ts","sourceRoot":"","sources":["../../../src/lib/axiosClient.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,UAAU,EAAiB,MAAM,OAAO,CAAC;AAsBzD,eAAO,MAAM,MAAM,+BAGjB,CAAC;AAwDH,eAAO,MAAM,iBAAiB,6EAC8C,CAAC;AAsB7E;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,UAAU,KAAG,MA8BjD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,OAAO,UAAU,KAAG,MAIhD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC9B,OAAO,UAAU,KAChB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAKnC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAC5B,qBAAqB,OAAO,EAC5B,OAAO,UAAU,KAChB,OAMF,CAAC"}
1
+ {"version":3,"file":"axiosClient.d.ts","sourceRoot":"","sources":["../../../src/lib/axiosClient.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,UAAU,EAAiB,MAAM,OAAO,CAAC;AAuBzD,eAAO,MAAM,MAAM,+BAGjB,CAAC;AAgEH,eAAO,MAAM,iBAAiB,6EAC8C,CAAC;AA4D7E;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,UAAU,KAAG,MAejD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,OAAO,UAAU,KAAG,MAIhD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC9B,OAAO,UAAU,KAChB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAKnC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAC5B,qBAAqB,OAAO,EAC5B,OAAO,UAAU,KAChB,OAMF,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import axios from "axios";
2
2
  import { RESPONSE_TYPE } from "./constants.js";
3
+ import { isSocketError } from "./socketError.js";
3
4
  import * as utils from "./utils.js";
4
5
  const baseUrl = utils.getBaseUrl();
5
6
  export const client = axios.create({
@@ -23,6 +24,22 @@ const REDACTED_FIELDS = [
23
24
  //Long values (a pasted document, a base64 blob) would bury the message they are meant
24
25
  //to illustrate.
25
26
  const MAX_VALUE_LENGTH = 60;
27
+ /**
28
+ * The rejected value as it should appear in a message: null when there is nothing
29
+ * worth showing, cut short when it would bury the message it illustrates.
30
+ */
31
+ const displayValue = (value) => {
32
+ if (value === null || value === undefined) {
33
+ return null;
34
+ }
35
+ const text = typeof value === "object" ? JSON.stringify(value) : String(value);
36
+ if (text.length === 0) {
37
+ return null;
38
+ }
39
+ return text.length > MAX_VALUE_LENGTH
40
+ ? `${text.slice(0, MAX_VALUE_LENGTH)}…`
41
+ : text;
42
+ };
26
43
  /**
27
44
  * Renders one validation error as a sentence: the server's message, then the field it
28
45
  * is about and the value that was rejected.
@@ -39,20 +56,9 @@ const validationErrorToString = (item) => {
39
56
  return message;
40
57
  }
41
58
  const redacted = REDACTED_FIELDS.indexOf(field.toLowerCase()) >= 0;
42
- let value = null;
43
- if (!redacted && item.value !== null && item.value !== undefined) {
44
- value =
45
- typeof item.value === "object"
46
- ? JSON.stringify(item.value)
47
- : String(item.value);
48
- if (value.length === 0) {
49
- value = null;
50
- }
51
- else if (value.length > MAX_VALUE_LENGTH) {
52
- value = `${value.slice(0, MAX_VALUE_LENGTH)}…`;
53
- }
54
- }
55
- return `${message} (${field}${value === null ? "" : `: "${value}"`})`;
59
+ const value = redacted ? null : displayValue(item.value);
60
+ const subject = value === null ? field : `${field}: "${value}"`;
61
+ return `${message} (${subject})`;
56
62
  };
57
63
  //What a signed-in user reads when the server refuses them (403). A validator's own
58
64
  //refusal is "Unauthorized request" on the authorization header: the same words for
@@ -64,8 +70,16 @@ const isAuthorizationError = (item) => (item.path ?? item.param) === "authorizat
64
70
  /**
65
71
  * True for a 403 that says nothing better than the generic refusal: only a
66
72
  * validator's authorization errors, or no message the server wrote itself.
73
+ * A socket event's refusal arrives as the backend's { code, message, details }
74
+ * payload instead: its validators' refusals carry their errors as details,
75
+ * under the same generic message, while a message the server wrote itself has
76
+ * none.
67
77
  */
68
78
  const isGenericRefusal = (error) => {
79
+ const payload = error;
80
+ if (isSocketError(payload)) {
81
+ return (payload.code === RESPONSE_TYPE.FORBIDDEN && Array.isArray(payload.details));
82
+ }
69
83
  if (error?.response?.status !== RESPONSE_TYPE.FORBIDDEN) {
70
84
  return false;
71
85
  }
@@ -76,6 +90,32 @@ const isGenericRefusal = (error) => {
76
90
  }
77
91
  return !responseData?.error;
78
92
  };
93
+ //What a failure reads as when nothing more specific can be said about it
94
+ const UNKNOWN_ERROR = "Unknown error";
95
+ /**
96
+ * The message a server response carries, most specific first: the validation
97
+ * errors, the server's own message, then whatever else the response offers.
98
+ * @param {AxiosResponse} response
99
+ * @returns {string}
100
+ */
101
+ const responseToString = (response) => {
102
+ const responseData = response.data;
103
+ if (Array.isArray(responseData.errors)) {
104
+ return responseData.errors
105
+ .map((item) => validationErrorToString(item))
106
+ .join("; ");
107
+ }
108
+ if (responseData.error) {
109
+ return responseData.error;
110
+ }
111
+ if (responseData.errors) {
112
+ return JSON.stringify(responseData.errors);
113
+ }
114
+ if (response.statusText) {
115
+ return response.statusText.toString();
116
+ }
117
+ return responseData.toString();
118
+ };
79
119
  /**
80
120
  * Returns the error as a string. A permission refusal (403) reads as
81
121
  * FORBIDDEN_MESSAGE unless the server wrote a message of its own for it.
@@ -87,37 +127,16 @@ export const errorToString = (error) => {
87
127
  return FORBIDDEN_MESSAGE;
88
128
  }
89
129
  try {
90
- if (error != null) {
91
- if (error.response?.data) {
92
- const responseData = error.response.data;
93
- if (Array.isArray(responseData.errors)) {
94
- return responseData.errors
95
- .map((item) => validationErrorToString(item))
96
- .join("; ");
97
- }
98
- else if (responseData.error) {
99
- return responseData.error;
100
- }
101
- else if (responseData.errors) {
102
- return JSON.stringify(responseData.errors);
103
- }
104
- else if (error.response.statusText) {
105
- return error.response.statusText.toString();
106
- }
107
- else {
108
- return responseData.toString();
109
- }
110
- }
111
- else {
112
- return error.message ? error.message : "Unknown error";
113
- }
130
+ if (error == null) {
131
+ return UNKNOWN_ERROR;
114
132
  }
115
- else {
116
- return "Unknown error";
133
+ if (error.response?.data) {
134
+ return responseToString(error.response);
117
135
  }
136
+ return error.message || UNKNOWN_ERROR;
118
137
  }
119
138
  catch {
120
- return "Unknown error";
139
+ return UNKNOWN_ERROR;
121
140
  }
122
141
  };
123
142
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"axiosClient.js","sourceRoot":"","sources":["../../../src/lib/axiosClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"axiosClient.js","sourceRoot":"","sources":["../../../src/lib/axiosClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AAkBpC,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;AAEnC,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IACjC,OAAO,EAAE,OAAO;IAChB,eAAe,EAAE,IAAI;CACtB,CAAC,CAAC;AAEH,mFAAmF;AACnF,mFAAmF;AACnF,wCAAwC;AACxC,MAAM,eAAe,GAAG;IACtB,UAAU;IACV,aAAa;IACb,iBAAiB;IACjB,OAAO;IACP,QAAQ;IACR,eAAe;IACf,QAAQ;IACR,aAAa;IACb,cAAc;CACf,CAAC;AAEF,sFAAsF;AACtF,gBAAgB;AAChB,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAE5B;;;GAGG;AACH,MAAM,YAAY,GAAG,CAAC,KAAc,EAAiB,EAAE;IACrD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,IAAI,GACR,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACpE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,GAAG,gBAAgB;QACnC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,GAAG;QACvC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,uBAAuB,GAAG,CAAC,IAAmB,EAAU,EAAE;IAC9D,oFAAoF;IACpF,sEAAsE;IACtE,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,IAAI,eAAe,CAAC;IAC5C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC;IACnE,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,KAAK,GAAG,CAAC;IAChE,OAAO,GAAG,OAAO,KAAK,OAAO,GAAG,CAAC;AACnC,CAAC,CAAC;AAEF,mFAAmF;AACnF,mFAAmF;AACnF,iFAAiF;AACjF,wDAAwD;AACxD,MAAM,CAAC,MAAM,iBAAiB,GAC5B,0EAA0E,CAAC;AAE7E,2EAA2E;AAC3E,MAAM,oBAAoB,GAAG,CAAC,IAAmB,EAAW,EAAE,CAC5D,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,eAAe,CAAC;AAEhD;;;;;;;GAOG;AACH,MAAM,gBAAgB,GAAG,CAAC,KAAiB,EAAW,EAAE;IACtD,MAAM,OAAO,GAAY,KAAK,CAAC;IAC/B,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,CACL,OAAO,CAAC,IAAI,KAAK,aAAa,CAAC,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAC3E,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,aAAa,CAAC,SAAS,EAAE,CAAC;QACxD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAuC,CAAC;IAC7E,MAAM,MAAM,GAAG,YAAY,EAAE,MAAM,CAAC;IACpC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC;AAC9B,CAAC,CAAC;AAEF,yEAAyE;AACzE,MAAM,aAAa,GAAG,eAAe,CAAC;AAEtC;;;;;GAKG;AACH,MAAM,gBAAgB,GAAG,CAAC,QAAuB,EAAU,EAAE;IAC3D,MAAM,YAAY,GAAG,QAAQ,CAAC,IAA2B,CAAC;IAC1D,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;QACvC,OAAO,YAAY,CAAC,MAAM;aACvB,GAAG,CAAC,CAAC,IAAmB,EAAE,EAAE,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;aAC3D,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IACD,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;QACvB,OAAO,YAAY,CAAC,KAAK,CAAC;IAC5B,CAAC;IACD,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QACxB,OAAO,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;IACxC,CAAC;IACD,OAAO,YAAY,CAAC,QAAQ,EAAE,CAAC;AACjC,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAiB,EAAU,EAAE;IACzD,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IACD,IAAI,CAAC;QACH,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,OAAO,aAAa,CAAC;QACvB,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;YACzB,OAAO,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,KAAK,CAAC,OAAO,IAAI,aAAa,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,aAAa,CAAC;IACvB,CAAC;AACH,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAiB,EAAU,EAAE;IACxD,IAAI,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC/B,CAAC;;QAAM,OAAO,aAAa,CAAC,mBAAmB,CAAC;AAClD,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,KAAiB,EACoB,EAAE;IACvC,OAAO;QACL,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC;QAC3B,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC;KAC9B,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,mBAA4B,EAC5B,KAAiB,EACR,EAAE;IACX,IAAI,YAAY,CAAC,KAAK,CAAC,KAAK,aAAa,CAAC,YAAY,EAAE,CAAC;QACvD,OAAO,mBAAmB,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stackfactor/client-api",
3
- "version": "1.2.17",
3
+ "version": "1.2.19",
4
4
  "description": "Node.js library for the StackFactor API",
5
5
  "publishConfig": {
6
6
  "access": "public"