bx-rest 1.0.0 → 1.2.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/CHANGELOG.md +53 -0
- package/README.en.md +25 -22
- package/README.md +25 -22
- package/esm2022/functions/errors.mjs +64 -8
- package/esm2022/services/http/HttpBX.mjs +28 -2
- package/esm2022/services/http/sessionKey.mjs +5 -5
- package/esm2022/services/navvy/extends/navvy-pag-base.mjs +12 -3
- package/esm2022/settings.mjs +15 -3
- package/esm2022/typification/rest/batch/batchRequestParam.mjs +1 -1
- package/esm2022/typification/rest/support/param.mjs +1 -1
- package/esm2022/typification/rest/task/access/getaccess.mjs +1 -1
- package/esm2022/typification/rest/task/commentitem/commentitem.mjs +1 -1
- package/esm2022/typification/rest/tasks/task.mjs +1 -1
- package/fesm2022/bx-rest.mjs +117 -15
- package/fesm2022/bx-rest.mjs.map +1 -1
- package/functions/errors.d.ts +46 -6
- package/map/tasks/task.d.ts +1 -3
- package/package.json +2 -1
- package/services/http/HttpBX.d.ts +2 -1
- package/services/navvy/extends/navvy-pag-base.d.ts +7 -4
- package/settings.d.ts +7 -0
- package/typification/rest/batch/batchRequestParam.d.ts +3 -9
- package/typification/rest/support/param.d.ts +0 -2
- package/typification/rest/task/access/getaccess.d.ts +1 -3
- package/typification/rest/task/commentitem/commentitem.d.ts +1 -3
- package/typification/rest/tasks/task.d.ts +5 -9
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { catchError, map } from 'rxjs/operators';
|
|
2
2
|
import { BXRestMapResult, instanceOfiBXRestAnswerSuccess } from '../../../functions/mapResult';
|
|
3
3
|
import { HttpBXServices } from '../../http/HttpBX';
|
|
4
|
-
import { BXRestApiError } from '../../../functions/errors';
|
|
4
|
+
import { BXRestApiError, bxRestApiErrorFromHttp, parseBXRestErrorBody } from '../../../functions/errors';
|
|
5
5
|
export class NavvyPagBase {
|
|
6
6
|
constructor(url, param, map = undefined, restApi = false) {
|
|
7
7
|
this.url = url;
|
|
@@ -31,9 +31,11 @@ export class NavvyPagBase {
|
|
|
31
31
|
: v));
|
|
32
32
|
}
|
|
33
33
|
mapAndError(request, options) {
|
|
34
|
+
const method = this.http.getNameMethod(this.url);
|
|
34
35
|
return request.pipe(map(v => {
|
|
35
36
|
if (options?.throwOnApiError && v && !instanceOfiBXRestAnswerSuccess(v)) {
|
|
36
|
-
|
|
37
|
+
const parsed = parseBXRestErrorBody(v);
|
|
38
|
+
throw new BXRestApiError(parsed ? parsed.error : v.error, parsed ? parsed.error_description : v.error_description, { method });
|
|
37
39
|
}
|
|
38
40
|
return BXRestMapResult(v);
|
|
39
41
|
}), catchError((err) => {
|
|
@@ -41,8 +43,15 @@ export class NavvyPagBase {
|
|
|
41
43
|
if (err instanceof BXRestApiError) {
|
|
42
44
|
throw err;
|
|
43
45
|
}
|
|
46
|
+
// Большинство ошибок Bitrix приходит со статусом не 2xx, и axios
|
|
47
|
+
// отклоняет такой ответ — достаём из него код и описание ошибки,
|
|
48
|
+
// а не отдаём безликое "AxiosError: Request failed with status code 400".
|
|
49
|
+
const apiError = bxRestApiErrorFromHttp(err, method);
|
|
50
|
+
if (apiError) {
|
|
51
|
+
throw apiError;
|
|
52
|
+
}
|
|
44
53
|
throw new Error((err.error) ? err.error : err);
|
|
45
54
|
}));
|
|
46
55
|
}
|
|
47
56
|
}
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2dnktcGFnLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9zZXJ2aWNlcy9uYXZ2eS9leHRlbmRzL25hdnZ5LXBhZy1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDaEQsT0FBTyxFQUFFLGVBQWUsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQzlGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUVsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLHNCQUFzQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFpQnhHLE1BQU0sT0FBZ0IsWUFBWTtJQUtoQyxZQUNZLEdBQWEsRUFDYixLQUFRLEVBQ1IsTUFBNEQsU0FBUyxFQUNyRSxVQUFVLEtBQUs7UUFIZixRQUFHLEdBQUgsR0FBRyxDQUFVO1FBQ2IsVUFBSyxHQUFMLEtBQUssQ0FBRztRQUNSLFFBQUcsR0FBSCxHQUFHLENBQWtFO1FBQ3JFLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFOM0IsYUFBUSxHQUFHLEVBQUUsQ0FBQSxDQUFDLDhCQUE4QjtRQVExQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksY0FBYyxFQUFFLENBQUE7SUFDbEMsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDOUQsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLEVBQUU7YUFDckIsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNOLElBQUksQ0FBQyxJQUFJLDhCQUE4QixDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDdkQsb0RBQW9EO2dCQUNwRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFXLENBQTBCLENBQUE7Z0JBQy9ELE9BQU8sRUFBRSxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUMsTUFBTSxFQUFFLE1BQU0sRUFBQyxFQUEwQyxDQUFBO1lBQzlFLENBQUM7WUFDRCxPQUFPLENBQXFELENBQUE7UUFDOUQsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtJQUNMLENBQUM7SUFFRCxHQUFHLENBQUMsT0FBMEI7UUFDNUIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQ3RELEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDdEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ2IsQ0FBQyxDQUFDLENBQUMsQ0FDSixDQUMrQyxDQUFBO0lBQ3BELENBQUM7SUFFRCxXQUFXLENBQ1QsT0FBaUQsRUFDakQsT0FBMEI7UUFFMUIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ2hELE9BQU8sT0FBTyxDQUFDLElBQUksQ0FDakIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ04sSUFBSSxPQUFPLEVBQUUsZUFBZSxJQUFJLENBQUMsSUFBSSxDQUFDLDhCQUE4QixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3hFLE1BQU0sTUFBTSxHQUFHLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFBO2dCQUN0QyxNQUFNLElBQUksY0FBYyxDQUN0QixNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQy9CLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLEVBQ3ZELEVBQUUsTUFBTSxFQUFFLENBQ1gsQ0FBQTtZQUNILENBQUM7WUFDRCxPQUFPLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUMzQixDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUN0QixPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBQ2xCLElBQUksR0FBRyxZQUFZLGNBQWMsRUFBRSxDQUFDO2dCQUNsQyxNQUFNLEdBQUcsQ0FBQTtZQUNYLENBQUM7WUFDRCxpRUFBaUU7WUFDakUsaUVBQWlFO1lBQ2pFLDBFQUEwRTtZQUMxRSxNQUFNLFFBQVEsR0FBRyxzQkFBc0IsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUE7WUFDcEQsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDYixNQUFNLFFBQVEsQ0FBQTtZQUNoQixDQUFDO1lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDaEQsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtJQUNILENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQgeyBpQlhSZXN0QW5zd2VyIH0gZnJvbSAnLi4vLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvYmFzZS9hbnN3ZXInXHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xyXG5pbXBvcnQgeyBCWFJlc3RNYXBSZXN1bHQsIGluc3RhbmNlT2ZpQlhSZXN0QW5zd2VyU3VjY2VzcyB9IGZyb20gJy4uLy4uLy4uL2Z1bmN0aW9ucy9tYXBSZXN1bHQnXHJcbmltcG9ydCB7IEh0dHBCWFNlcnZpY2VzIH0gZnJvbSAnLi4vLi4vaHR0cC9IdHRwQlgnXHJcbmltcG9ydCB7IFJldHVyblR5cGVOYXZ2eSB9IGZyb20gJy4uL25hdnZ5LXN1cHBvcnQnXHJcbmltcG9ydCB7IEJYUmVzdEFwaUVycm9yLCBieFJlc3RBcGlFcnJvckZyb21IdHRwLCBwYXJzZUJYUmVzdEVycm9yQm9keSB9IGZyb20gJy4uLy4uLy4uL2Z1bmN0aW9ucy9lcnJvcnMnXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEJYUmVzdFJlc09wdGlvbnMge1xyXG4gIC8qKlxyXG4gICAqIFdoZW4gYHRydWVgLCBhIEJpdHJpeC1sZXZlbCBBUEkgZXJyb3IgdGhhdCBjb21lcyBpbiB0aGUgYm9keSBvZiBhIDJ4eFxyXG4gICAqIHJlc3BvbnNlIG1ha2VzIHRoZSBgT2JzZXJ2YWJsZWAgcmV0dXJuZWQgYnkgYC5yZXMoKWAgZXJyb3Igb3V0IHdpdGggYVxyXG4gICAqIGBCWFJlc3RBcGlFcnJvcmAgaW5zdGVhZCBvZiByZXNvbHZpbmcgd2l0aCBgdW5kZWZpbmVkYC5cclxuICAgKlxyXG4gICAqIEVycm9ycyB0aGF0IEJpdHJpeCBzZW5kcyB3aXRoIGEgbm9uLTJ4eCBIVFRQIHN0YXR1cyAobW9zdCBvZiB0aGVtLCBlLmcuXHJcbiAgICogYGV4cGlyZWRfdG9rZW5gLCBgSU5TVUZGSUNJRU5UX1NDT1BFYCkgZmFpbCB3aXRoIGBCWFJlc3RBcGlFcnJvcmBcclxuICAgKiByZWdhcmRsZXNzIG9mIHRoaXMgb3B0aW9uLlxyXG4gICAqXHJcbiAgICogRGVmYXVsdDogYGZhbHNlYCAocHJlc2VydmVzIHRoZSBoaXN0b3JpY2FsIGAucmVzKClgIGJlaGF2aW91cikuXHJcbiAgICovXHJcbiAgdGhyb3dPbkFwaUVycm9yPzogYm9vbGVhblxyXG59XHJcblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTmF2dnlQYWdCYXNlPFQsIFIsIFA+IHtcclxuXHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGh0dHA6IEh0dHBCWFNlcnZpY2VzXHJcbiAgcGFnZVNpemUgPSA1MCAvLyDRgdGC0LDQvdC00LDRgNGC0L3Ri9C5INGA0LDQt9C80LXRgCDRgdGC0YDQsNC90LjRhtGLXHJcblxyXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCB1cmw6IHN0cmluZ1tdLFxyXG4gICAgcHJvdGVjdGVkIHBhcmFtOiBQLFxyXG4gICAgcHJvdGVjdGVkIG1hcDogKChwYXJhbTogVHwgdW5kZWZpbmVkKSA9PiBSIHwgdW5kZWZpbmVkKSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCxcclxuICAgIHByb3RlY3RlZCByZXN0QXBpID0gZmFsc2VcclxuICApIHtcclxuICAgIHRoaXMuaHR0cCA9IG5ldyBIdHRwQlhTZXJ2aWNlcygpXHJcbiAgfVxyXG5cclxuICByZXNWYW5pbGxhKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFQ+KHRoaXMudXJsLCB0aGlzLnBhcmFtLCB0aGlzLnJlc3RBcGkpXHJcbiAgfVxyXG5cclxuICBtYXBGb3JWYW5pbGxhKCk6IE9ic2VydmFibGU8aUJYUmVzdEFuc3dlcjxSZXR1cm5UeXBlTmF2dnk8VCwgUj4+IHwgdW5kZWZpbmVkPiB7XHJcbiAgICByZXR1cm4gdGhpcy5yZXNWYW5pbGxhKClcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKHYgPT4ge1xyXG4gICAgICAgICAgaWYgKHYgJiYgaW5zdGFuY2VPZmlCWFJlc3RBbnN3ZXJTdWNjZXNzKHYpICYmIHRoaXMubWFwKSB7XHJcbiAgICAgICAgICAgIC8vINCf0YDQuNC80LXQvdGP0LXQvCB0aGlzLm1hcCDQuCDRj9Cy0L3QviDQv9GA0LjQstC+0LTQuNC8INGC0LjQvyDRgNC10LfRg9C70YzRgtCw0YLQsFxyXG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSB0aGlzLm1hcCh2LnJlc3VsdCBhcyBUKSBhcyBSZXR1cm5UeXBlTmF2dnk8VCwgUj5cclxuICAgICAgICAgICAgcmV0dXJuIHsgLi4udiwgLi4ue3Jlc3VsdDogcmVzdWx0fSB9IGFzIGlCWFJlc3RBbnN3ZXI8UmV0dXJuVHlwZU5hdnZ5PFQsIFI+PlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIHYgYXMgaUJYUmVzdEFuc3dlcjxSZXR1cm5UeXBlTmF2dnk8VCwgUj4+IHwgdW5kZWZpbmVkXHJcbiAgICAgICAgfSlcclxuICAgICAgKVxyXG4gIH1cclxuXHJcbiAgcmVzKG9wdGlvbnM/OiBCWFJlc3RSZXNPcHRpb25zKSB7XHJcbiAgICByZXR1cm4gdGhpcy5tYXBBbmRFcnJvcih0aGlzLnJlc1ZhbmlsbGEoKSwgb3B0aW9ucykucGlwZShcclxuICAgICAgbWFwKHYgPT4gKHYgJiYgdGhpcy5tYXApXHJcbiAgICAgICAgPyB0aGlzLm1hcCh2KVxyXG4gICAgICAgIDogdlxyXG4gICAgICApXHJcbiAgICApIGFzIE9ic2VydmFibGU8UmV0dXJuVHlwZU5hdnZ5PFQsIFI+IHwgdW5kZWZpbmVkPlxyXG4gIH1cclxuXHJcbiAgbWFwQW5kRXJyb3I8VD4oXHJcbiAgICByZXF1ZXN0OiBPYnNlcnZhYmxlPGlCWFJlc3RBbnN3ZXI8VD4gfCB1bmRlZmluZWQ+LFxyXG4gICAgb3B0aW9ucz86IEJYUmVzdFJlc09wdGlvbnNcclxuICApIHtcclxuICAgIGNvbnN0IG1ldGhvZCA9IHRoaXMuaHR0cC5nZXROYW1lTWV0aG9kKHRoaXMudXJsKVxyXG4gICAgcmV0dXJuIHJlcXVlc3QucGlwZShcclxuICAgICAgbWFwKHYgPT4ge1xyXG4gICAgICAgIGlmIChvcHRpb25zPy50aHJvd09uQXBpRXJyb3IgJiYgdiAmJiAhaW5zdGFuY2VPZmlCWFJlc3RBbnN3ZXJTdWNjZXNzKHYpKSB7XHJcbiAgICAgICAgICBjb25zdCBwYXJzZWQgPSBwYXJzZUJYUmVzdEVycm9yQm9keSh2KVxyXG4gICAgICAgICAgdGhyb3cgbmV3IEJYUmVzdEFwaUVycm9yKFxyXG4gICAgICAgICAgICBwYXJzZWQgPyBwYXJzZWQuZXJyb3IgOiB2LmVycm9yLFxyXG4gICAgICAgICAgICBwYXJzZWQgPyBwYXJzZWQuZXJyb3JfZGVzY3JpcHRpb24gOiB2LmVycm9yX2Rlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICB7IG1ldGhvZCB9XHJcbiAgICAgICAgICApXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBCWFJlc3RNYXBSZXN1bHQodilcclxuICAgICAgfSksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnIpXHJcbiAgICAgICAgaWYgKGVyciBpbnN0YW5jZW9mIEJYUmVzdEFwaUVycm9yKSB7XHJcbiAgICAgICAgICB0aHJvdyBlcnJcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8g0JHQvtC70YzRiNC40L3RgdGC0LLQviDQvtGI0LjQsdC+0LogQml0cml4INC/0YDQuNGF0L7QtNC40YIg0YHQviDRgdGC0LDRgtGD0YHQvtC8INC90LUgMnh4LCDQuCBheGlvc1xyXG4gICAgICAgIC8vINC+0YLQutC70L7QvdGP0LXRgiDRgtCw0LrQvtC5INC+0YLQstC10YIg4oCUINC00L7RgdGC0LDRkdC8INC40Lcg0L3QtdCz0L4g0LrQvtC0INC4INC+0L/QuNGB0LDQvdC40LUg0L7RiNC40LHQutC4LFxyXG4gICAgICAgIC8vINCwINC90LUg0L7RgtC00LDRkdC8INCx0LXQt9C70LjQutC+0LUgXCJBeGlvc0Vycm9yOiBSZXF1ZXN0IGZhaWxlZCB3aXRoIHN0YXR1cyBjb2RlIDQwMFwiLlxyXG4gICAgICAgIGNvbnN0IGFwaUVycm9yID0gYnhSZXN0QXBpRXJyb3JGcm9tSHR0cChlcnIsIG1ldGhvZClcclxuICAgICAgICBpZiAoYXBpRXJyb3IpIHtcclxuICAgICAgICAgIHRocm93IGFwaUVycm9yXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcigoZXJyLmVycm9yKSA/IGVyci5lcnJvciA6IGVycilcclxuICAgICAgfSlcclxuICAgIClcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
package/esm2022/settings.mjs
CHANGED
|
@@ -10,7 +10,7 @@ export const DEFAULT_BX_REST_SETTINGS = {
|
|
|
10
10
|
}
|
|
11
11
|
};
|
|
12
12
|
export const BXRestSettings = {
|
|
13
|
-
|
|
13
|
+
value: {
|
|
14
14
|
auth: {
|
|
15
15
|
source: 'cookies',
|
|
16
16
|
key: 'auth',
|
|
@@ -21,8 +21,20 @@ export const BXRestSettings = {
|
|
|
21
21
|
additional_part: 'rest',
|
|
22
22
|
},
|
|
23
23
|
},
|
|
24
|
+
/**
|
|
25
|
+
* @deprecated Переименовано в `BXRestSettings.value` — имя `date` не
|
|
26
|
+
* отражало содержимое (настройки auth/urls, а не дату) и сбивало с толку
|
|
27
|
+
* в публичном API. Геттер/сеттер оставлен только для обратной совместимости
|
|
28
|
+
* с кодом, написанным против API до 1.0.
|
|
29
|
+
*/
|
|
30
|
+
get date() {
|
|
31
|
+
return this.value;
|
|
32
|
+
},
|
|
33
|
+
set date(newValue) {
|
|
34
|
+
this.value = newValue;
|
|
35
|
+
},
|
|
24
36
|
update(newSettings) {
|
|
25
|
-
this.
|
|
37
|
+
this.value = { ...this.value, ...newSettings };
|
|
26
38
|
},
|
|
27
39
|
};
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9zZXR0aW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBb0I7SUFDdkQsSUFBSSxFQUFFO1FBQ0osTUFBTSxFQUFFLFNBQVM7UUFDakIsR0FBRyxFQUFFLE1BQU07S0FDWjtJQUNELElBQUksRUFBRTtRQUNKLE1BQU0sRUFBRSxjQUFjO1FBQ3RCLEdBQUcsRUFBRSxFQUFFO1FBQ1AsZUFBZSxFQUFFLE1BQU07S0FDeEI7Q0FDRixDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzVCLEtBQUssRUFBRTtRQUNMLElBQUksRUFBRTtZQUNKLE1BQU0sRUFBRSxTQUFTO1lBQ2pCLEdBQUcsRUFBRSxNQUFNO1NBQ1o7UUFDRCxJQUFJLEVBQUU7WUFDSixNQUFNLEVBQUUsY0FBYztZQUN0QixHQUFHLEVBQUUsRUFBRTtZQUNQLGVBQWUsRUFBRSxNQUFNO1NBQ3hCO0tBQ2lCO0lBRXBCOzs7OztPQUtHO0lBQ0gsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFBO0lBQ25CLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxRQUF5QjtRQUNoQyxJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQTtJQUN2QixDQUFDO0lBRUQsTUFBTSxDQUFDLFdBQXFDO1FBQzFDLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxXQUFXLEVBQUUsQ0FBQTtJQUNoRCxDQUFDO0NBQ0YsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlCWFJlc3RTZXR0aW5ncyB9IGZyb20gJy4vdHlwaWZpY2F0aW9uL3NldHRpbmdzJ1xyXG5cclxuZXhwb3J0IGNvbnN0IERFRkFVTFRfQlhfUkVTVF9TRVRUSU5HUzogaUJYUmVzdFNldHRpbmdzID0ge1xyXG4gIGF1dGg6IHtcclxuICAgIHNvdXJjZTogJ2Nvb2tpZXMnLFxyXG4gICAga2V5OiAnYXV0aCdcclxuICB9LFxyXG4gIHVybHM6IHtcclxuICAgIHNvdXJjZTogJ2xvY2FsU3RvcmFnZScsXHJcbiAgICBrZXk6ICcnLFxyXG4gICAgYWRkaXRpb25hbF9wYXJ0OiAncmVzdCdcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBCWFJlc3RTZXR0aW5ncyA9IHtcclxuICB2YWx1ZToge1xyXG4gICAgYXV0aDoge1xyXG4gICAgICBzb3VyY2U6ICdjb29raWVzJyxcclxuICAgICAga2V5OiAnYXV0aCcsXHJcbiAgICB9LFxyXG4gICAgdXJsczoge1xyXG4gICAgICBzb3VyY2U6ICdsb2NhbFN0b3JhZ2UnLFxyXG4gICAgICBrZXk6ICcnLFxyXG4gICAgICBhZGRpdGlvbmFsX3BhcnQ6ICdyZXN0JyxcclxuICAgIH0sXHJcbiAgfSBhcyBpQlhSZXN0U2V0dGluZ3MsXHJcblxyXG4gIC8qKlxyXG4gICAqIEBkZXByZWNhdGVkINCf0LXRgNC10LjQvNC10L3QvtCy0LDQvdC+INCyIGBCWFJlc3RTZXR0aW5ncy52YWx1ZWAg4oCUINC40LzRjyBgZGF0ZWAg0L3QtVxyXG4gICAqINC+0YLRgNCw0LbQsNC70L4g0YHQvtC00LXRgNC20LjQvNC+0LUgKNC90LDRgdGC0YDQvtC50LrQuCBhdXRoL3VybHMsINCwINC90LUg0LTQsNGC0YMpINC4INGB0LHQuNCy0LDQu9C+INGBINGC0L7Qu9C60YNcclxuICAgKiDQsiDQv9GD0LHQu9C40YfQvdC+0LwgQVBJLiDQk9C10YLRgtC10YAv0YHQtdGC0YLQtdGAINC+0YHRgtCw0LLQu9C10L0g0YLQvtC70YzQutC+INC00LvRjyDQvtCx0YDQsNGC0L3QvtC5INGB0L7QstC80LXRgdGC0LjQvNC+0YHRgtC4XHJcbiAgICog0YEg0LrQvtC00L7QvCwg0L3QsNC/0LjRgdCw0L3QvdGL0Lwg0L/RgNC+0YLQuNCyIEFQSSDQtNC+IDEuMC5cclxuICAgKi9cclxuICBnZXQgZGF0ZSgpOiBpQlhSZXN0U2V0dGluZ3Mge1xyXG4gICAgcmV0dXJuIHRoaXMudmFsdWVcclxuICB9LFxyXG4gIHNldCBkYXRlKG5ld1ZhbHVlOiBpQlhSZXN0U2V0dGluZ3MpIHtcclxuICAgIHRoaXMudmFsdWUgPSBuZXdWYWx1ZVxyXG4gIH0sXHJcblxyXG4gIHVwZGF0ZShuZXdTZXR0aW5nczogUGFydGlhbDxpQlhSZXN0U2V0dGluZ3M+KTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0geyAuLi50aGlzLnZhbHVlLCAuLi5uZXdTZXR0aW5ncyB9XHJcbiAgfSxcclxufSJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmF0Y2hSZXF1ZXN0UGFyYW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy90eXBpZmljYXRpb24vcmVzdC9iYXRjaC9iYXRjaFJlcXVlc3RQYXJhbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaUJYUmVzdEFuc3dlciB9IGZyb20gJy4uL2Jhc2UvYW5zd2VyJ1xyXG5cclxuZXhwb3J0IHR5cGUga2V5QmF0Y2ggPSBzdHJpbmcgfCBudW1iZXJcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgaUJhdGNoUmVxdWVzdFBhcmFtIDxUPntcclxuICAgIG5hbWU6IHN0cmluZyxcclxuICAgIHBhcmFtOiBUXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIGlCYXRjaFJlcXVlc3RQYXJhbUh0dHAgPSBSZWNvcmQ8a2V5QmF0Y2gsIHN0cmluZz47XHJcblxyXG5leHBvcnQgdHlwZSBpQmF0Y2hSZXF1ZXN0UGFyYW1BcnI8VD4gPSBSZWNvcmQ8a2V5QmF0Y2gsIGlCYXRjaFJlcXVlc3RQYXJhbSA8VD4+O1xyXG5cclxuZXhwb3J0IHR5cGUgaUJhdGNoUmVxdWVzdEFuc3dlcjxUPiA9IGlCWFJlc3RBbnN3ZXI8aUJYUmVzdEFuc3dlcjxSZWNvcmQ8a2V5QmF0Y2gsIFQ+Pj5cclxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy90eXBpZmljYXRpb24vcmVzdC9zdXBwb3J0L3BhcmFtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RCYXNlUGFyYW0ge1xyXG4gICAgc3RhcnQ/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy90eXBpZmljYXRpb24vcmVzdC9zdXBwb3J0L3BhcmFtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RCYXNlUGFyYW0ge1xyXG4gICAgc3RhcnQ/OiBudW1iZXJcclxufVxyXG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0YWNjZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvdHlwaWZpY2F0aW9uL3Jlc3QvdGFzay9hY2Nlc3MvZ2V0YWNjZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RQYXJhbVRhc2tHZXRBY2Nlc3Mge1xyXG4gIGlkOiBudW1iZXJcclxuICAvKipcclxuICAgKiDQp9C10Lgg0L/RgNCw0LLQsCDRh9C10LrQsNGC0YwsINC/0L4g0YMg0LzQvtC70YfQsNC90LjRjiDRh9C10LrQsNGO0YLRgdGPINGC0L7Qs9C+INC60YLQviDQt9Cw0L/RgNCw0YjQuNCy0LDQtdGCXHJcbiAgICovXHJcbiAgdXNlcnM/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0YWNjZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvdHlwaWZpY2F0aW9uL3Jlc3QvdGFzay9hY2Nlc3MvZ2V0YWNjZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RQYXJhbVRhc2tHZXRBY2Nlc3Mge1xyXG4gIGlkOiBudW1iZXJcclxuICAvKipcclxuICAgKiDQp9C10Lgg0L/RgNCw0LLQsCDRh9C10LrQsNGC0YwsINC/0L4g0YMg0LzQvtC70YfQsNC90LjRjiDRh9C10LrQsNGO0YLRgdGPINGC0L7Qs9C+INC60YLQviDQt9Cw0L/RgNCw0YjQuNCy0LDQtdGCXHJcbiAgICovXHJcbiAgdXNlcnM/OiBudW1iZXJbXVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RUYXNrR2V0QWNjZXNzIHtcclxuICBhbGxvd2VkQWN0aW9uczogUmVjb3JkPG51bWJlciwgaUJYUmVzdFRhc2tHZXRBY2Nlc3NJdGVtPlxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RUYXNrR2V0QWNjZXNzSXRlbSB7XHJcbiAgQUNDRVBUOiBib29sZWFuLFxyXG4gIERFQ0xJTkU6IGJvb2xlYW4sXHJcbiAgQ09NUExFVEU6IGJvb2xlYW4sXHJcbiAgQVBQUk9WRTogYm9vbGVhbixcclxuICBESVNBUFBST1ZFOiBib29sZWFuLFxyXG4gIFNUQVJUOiBib29sZWFuLFxyXG4gIFBBVVNFOiBib29sZWFuLFxyXG4gIERFTEVHQVRFOiBib29sZWFuLFxyXG4gIFJFTU9WRTogYm9vbGVhbixcclxuICBFRElUOiBib29sZWFuLFxyXG4gIERFRkVSOiBib29sZWFuLFxyXG4gIFJFTkVXOiBib29sZWFuLFxyXG4gIENSRUFURTogYm9vbGVhbixcclxuICBDSEFOR0VfREVBRExJTkU6IGJvb2xlYW4sXHJcbiAgQ0hFQ0tMSVNUX0FERF9JVEVNUzogYm9vbGVhbixcclxuICBBRERfRkFWT1JJVEU6IHRydWUsXHJcbiAgREVMRVRFX0ZBVk9SSVRFOiBib29sZWFuLFxyXG4gIFJBVEU6IGJvb2xlYW4sXHJcbiAgJ0VESVQuT1JJR0lOQVRPUic6IGJvb2xlYW4sXHJcbiAgJ0NIRUNLTElTVC5SRU9SREVSJzogYm9vbGVhbixcclxuICAnRUxBUFNFRFRJTUUuQUREJzogYm9vbGVhbixcclxuICAnREFZUExBTi5USU1FUi5UT0dHTEUnOiBib29sZWFuLFxyXG4gICdFRElULlBMQU4nOiBib29sZWFuLFxyXG4gICdDSEVDS0xJU1QuQUREJzogYm9vbGVhbixcclxuICAnRkFWT1JJVEUuQUREJzogYm9vbGVhbixcclxuICAnRkFWT1JJVEUuREVMRVRFJzogYm9vbGVhblxyXG59XHJcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudGl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy90eXBpZmljYXRpb24vcmVzdC90YXNrL2NvbW1lbnRpdGVtL2NvbW1lbnRpdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RUYXNrQ29tbWVudCBleHRlbmRzIGlCWFJlc3RUYXNrQ29tbWVudEJhc2Uge1xyXG4gIEFUVEFDSEVEX09CSkVDVFM/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudGl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy90eXBpZmljYXRpb24vcmVzdC90YXNrL2NvbW1lbnRpdGVtL2NvbW1lbnRpdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RUYXNrQ29tbWVudCBleHRlbmRzIGlCWFJlc3RUYXNrQ29tbWVudEJhc2Uge1xyXG4gIEFUVEFDSEVEX09CSkVDVFM/OiBpQ29tbWVudFRhc2tGaWxlW10sXHJcbiAgQVVUSE9SX0lEOiBudW1iZXJcclxuICBJRDogbnVtYmVyXHJcbiAgUE9TVF9EQVRFOiBEYXRlLFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RUYXNrQ29tbWVudEh0bWwgZXh0ZW5kcyBpQlhSZXN0VGFza0NvbW1lbnRCYXNlIHtcclxuICBBVFRBQ0hFRF9PQkpFQ1RTPzogUmVjb3JkPG51bWJlciwgaUNvbW1lbnRUYXNrRmlsZUh0bWw+XHJcbiAgQVVUSE9SX0lEOiBzdHJpbmdcclxuICBJRDogc3RyaW5nXHJcbiAgUE9TVF9EQVRFOiBzdHJpbmdcclxufVxyXG5cclxuaW50ZXJmYWNlIGlCWFJlc3RUYXNrQ29tbWVudEJhc2Uge1xyXG4gIEFVVEhPUl9FTUFJTDogc3RyaW5nXHJcbiAgQVVUSE9SX05BTUU6IHN0cmluZ1xyXG4gIFBPU1RfTUVTU0FHRTogc3RyaW5nLFxyXG4gIFBPU1RfTUVTU0FHRV9IVE1MOiBudWxsIHwgc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgaUNvbW1lbnRUYXNrRmlsZSBleHRlbmRzIGlDb21tZW50VGFza0ZpbGVCYXNlIHtcclxuICBBVFRBQ0hNRU5UX0lEOiBudW1iZXJcclxuICBGSUxFX0lEOiBudW1iZXJcclxuICBTSVpFOiBudW1iZXJcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBpQ29tbWVudFRhc2tGaWxlSHRtbCBleHRlbmRzIGlDb21tZW50VGFza0ZpbGVCYXNlIHtcclxuICBBVFRBQ0hNRU5UX0lEOiBzdHJpbmdcclxuICBGSUxFX0lEOiBzdHJpbmdcclxuICBTSVpFOiBzdHJpbmdcclxufVxyXG5cclxuaW50ZXJmYWNlIGlDb21tZW50VGFza0ZpbGVCYXNlIHtcclxuICBET1dOTE9BRF9VUkw6IHN0cmluZ1xyXG4gIE5BTUU6IHN0cmluZ1xyXG4gIFZJRVdfVVJMOiBzdHJpbmdcclxufVxyXG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3R5cGlmaWNhdGlvbi9yZXN0L3Rhc2tzL3Rhc2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlCWFJlc3RZZXNObyB9IGZyb20gJy4uL2Jhc2UveWVzLW5vJ1xyXG5pbXBvcnQgeyBpQlhSZXN0SHR0cFRhc2tQZW9wbGUsIGlCWFJlc3RUYXNrUGVvcGxlIH0gZnJvbSAnLi9iYXNlL3Blb3BsZSdcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgaUJYUmVzdFRhc2sgZXh0ZW5kcyBpQlhSZXN0QmFzZVRhc2sge1xyXG4gIGlkOiBudW1iZXIsXHJcbiAgcGFyZW50SWQ6IG51bWJlcixcclxuICBwcmlvcml0eTogbnVtYmVyLFxyXG4gIHN0YXR1czogbnVtYmVyLFxyXG4gIG11bHRpdGFzazogYm9vbGVhbixcclxuICBncm91cElkOiBudW1iZXIsXHJcbiAgc3RhZ2VJZDogbnVtYmVyLFxyXG4gIGNyZWF0ZWRCeTogbnVtYmVyLFxyXG4gIGNyZWF0ZWREYXRlOiBEYXRlLFxyXG4gIHJlc3BvbnNpYmxlSWQ6IG51bWJlcixcclxuICBjaGFuZ2VkQnk6IG51bWJlcixcclxuICBjaGFuZ2VkRGF0ZTogRGF0ZSxcclxuICBzdGF0dXNDaGFuZ2VkQnk6IG51bWJlcixcclxuICBzdGF0dXNDaGFuZ2VkRGF0ZTogRGF0ZSxcclxuICBjbG9zZWRCeTogbnVtYmVyLFxyXG4gIGNsb3NlZERhdGU6IERhdGUgfCBudWxsLFxyXG4gIGRhdGVTdGFydDogRGF0ZSxcclxuICBkZWFkbGluZTogRGF0ZSxcclxuICBzdGFydERhdGVQbGFuOiBEYXRlLFxyXG4gIGVuZERhdGVQbGFuOiBEYXRlLFxyXG4gIGZvcnVtVG9waWNJZDogbnVtYmVyLFxyXG4gIGZvcnVtSWQ6IG51bWJlcixcclxuICB2aWV3ZWREYXRlOiBEYXRlLFxyXG4gIHNvcnRpbmc6IG51bWJlcixcclxuICBkdXJhdGlvblBsYW46IG51bWJlcixcclxuICBkZXNjcmlwdGlvbkluQmJjb2RlOiBib29sZWFuLFxyXG4gIGFjY29tcGxpY2VzOiBudW1iZXJbXSxcclxuICBzdWJTdGF0dXM6IG51bWJlcixcclxuICBjcmVhdG9yOiBpQlhSZXN0VGFza1Blb3BsZSxcclxuICByZXNwb25zaWJsZTogaUJYUmVzdFRhc2tQZW9wbGUsXHJcbiAgYWNjb21wbGljZXNEYXRhOiBpQlhSZXN0VGFza1Blb3BsZVtdLFxyXG4gIGFsbG93VGltZVRyYWNraW5nOiBib29sZWFuXHJcbiAgdGFnczogaUJYUmVzdFRhc2tUYWdbXVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RIdHRwVGFzayBleHRlbmRzIGlCWFJlc3RCYXNlVGFzayB7XHJcbiAgaWQ6IHN0cmluZyxcclxuICBwYXJlbnRJZDogc3RyaW5nXHJcbiAgcHJpb3JpdHk6IHN0cmluZ1xyXG4gIHN0YXR1czogc3RyaW5nXHJcbiAgbXVsdGl0YXNrOiBpQlhSZXN0WWVzTm8sXHJcbiAgZ3JvdXBJZDogc3RyaW5nXHJcbiAgZ3JvdXA6IGlCWFJlc3RIdHRwVGFza0dyb3VwSHR0cFxyXG4gIHN0YWdlSWQ6IHN0cmluZ1xyXG4gIGNyZWF0ZWRCeTogc3RyaW5nXHJcbiAgY3JlYXRlZERhdGU6IHN0cmluZ1xyXG4gIHJlc3BvbnNpYmxlSWQ6IHN0cmluZ1xyXG4gIGNoYW5nZWRCeTogc3RyaW5nXHJcbiAgY2hhbmdlZERhdGU6IHN0cmluZ1xyXG4gIHN0YXR1c0NoYW5nZWRCeTogc3RyaW5nXHJcbiAgc3RhdHVzQ2hhbmdlZERhdGU6IHN0cmluZ1xyXG4gIGNsb3NlZEJ5OiBzdHJpbmdcclxuICBjbG9zZWREYXRlOiBzdHJpbmcgfCBudWxsXHJcbiAgZGF0ZVN0YXJ0OiBzdHJpbmdcclxuICBkZWFkbGluZTogc3RyaW5nXHJcbiAgc3RhcnREYXRlUGxhbjogc3RyaW5nXHJcbiAgZW5kRGF0ZVBsYW46IHN0cmluZ1xyXG4gIGZvcnVtVG9waWNJZDogc3RyaW5nXHJcbiAgZm9ydW1JZDogc3RyaW5nXHJcbiAgdmlld2VkRGF0ZTogc3RyaW5nXHJcbiAgc29ydGluZzogc3RyaW5nXHJcbiAgZHVyYXRpb25QbGFuOiBzdHJpbmdcclxuICBkZXNjcmlwdGlvbkluQmJjb2RlOiBpQlhSZXN0WWVzTm9cclxuICBhY2NvbXBsaWNlczogc3RyaW5nW11cclxuICBzdWJTdGF0dXM6IHN0cmluZ1xyXG4gIGFkZGl0aW9uYWxEYXRhOiBhbnlbXSAvLyBUT0RPOiDRgNCw0LfQvtCx0YDQsNGC0YzRgdGPINC/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3R5cGlmaWNhdGlvbi9yZXN0L3Rhc2tzL3Rhc2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlCWFJlc3RZZXNObyB9IGZyb20gJy4uL2Jhc2UveWVzLW5vJ1xyXG5pbXBvcnQgeyBpQlhSZXN0SHR0cFRhc2tQZW9wbGUsIGlCWFJlc3RUYXNrUGVvcGxlIH0gZnJvbSAnLi9iYXNlL3Blb3BsZSdcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgaUJYUmVzdFRhc2sgZXh0ZW5kcyBpQlhSZXN0QmFzZVRhc2sge1xyXG4gIGlkOiBudW1iZXIsXHJcbiAgcGFyZW50SWQ6IG51bWJlcixcclxuICBwcmlvcml0eTogbnVtYmVyLFxyXG4gIHN0YXR1czogbnVtYmVyLFxyXG4gIG11bHRpdGFzazogYm9vbGVhbixcclxuICBncm91cElkOiBudW1iZXIsXHJcbiAgc3RhZ2VJZDogbnVtYmVyLFxyXG4gIGNyZWF0ZWRCeTogbnVtYmVyLFxyXG4gIGNyZWF0ZWREYXRlOiBEYXRlLFxyXG4gIHJlc3BvbnNpYmxlSWQ6IG51bWJlcixcclxuICBjaGFuZ2VkQnk6IG51bWJlcixcclxuICBjaGFuZ2VkRGF0ZTogRGF0ZSxcclxuICBzdGF0dXNDaGFuZ2VkQnk6IG51bWJlcixcclxuICBzdGF0dXNDaGFuZ2VkRGF0ZTogRGF0ZSxcclxuICBjbG9zZWRCeTogbnVtYmVyLFxyXG4gIGNsb3NlZERhdGU6IERhdGUgfCBudWxsLFxyXG4gIGRhdGVTdGFydDogRGF0ZSxcclxuICBkZWFkbGluZTogRGF0ZSxcclxuICBzdGFydERhdGVQbGFuOiBEYXRlLFxyXG4gIGVuZERhdGVQbGFuOiBEYXRlLFxyXG4gIGZvcnVtVG9waWNJZDogbnVtYmVyLFxyXG4gIGZvcnVtSWQ6IG51bWJlcixcclxuICB2aWV3ZWREYXRlOiBEYXRlLFxyXG4gIHNvcnRpbmc6IG51bWJlcixcclxuICBkdXJhdGlvblBsYW46IG51bWJlcixcclxuICBkZXNjcmlwdGlvbkluQmJjb2RlOiBib29sZWFuLFxyXG4gIGFjY29tcGxpY2VzOiBudW1iZXJbXSxcclxuICBzdWJTdGF0dXM6IG51bWJlcixcclxuICBjcmVhdG9yOiBpQlhSZXN0VGFza1Blb3BsZSxcclxuICByZXNwb25zaWJsZTogaUJYUmVzdFRhc2tQZW9wbGUsXHJcbiAgYWNjb21wbGljZXNEYXRhOiBpQlhSZXN0VGFza1Blb3BsZVtdLFxyXG4gIGFsbG93VGltZVRyYWNraW5nOiBib29sZWFuXHJcbiAgdGFnczogaUJYUmVzdFRhc2tUYWdbXVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RIdHRwVGFzayBleHRlbmRzIGlCWFJlc3RCYXNlVGFzayB7XHJcbiAgaWQ6IHN0cmluZyxcclxuICBwYXJlbnRJZDogc3RyaW5nXHJcbiAgcHJpb3JpdHk6IHN0cmluZ1xyXG4gIHN0YXR1czogc3RyaW5nXHJcbiAgbXVsdGl0YXNrOiBpQlhSZXN0WWVzTm8sXHJcbiAgZ3JvdXBJZDogc3RyaW5nXHJcbiAgZ3JvdXA6IGlCWFJlc3RIdHRwVGFza0dyb3VwSHR0cFxyXG4gIHN0YWdlSWQ6IHN0cmluZ1xyXG4gIGNyZWF0ZWRCeTogc3RyaW5nXHJcbiAgY3JlYXRlZERhdGU6IHN0cmluZ1xyXG4gIHJlc3BvbnNpYmxlSWQ6IHN0cmluZ1xyXG4gIGNoYW5nZWRCeTogc3RyaW5nXHJcbiAgY2hhbmdlZERhdGU6IHN0cmluZ1xyXG4gIHN0YXR1c0NoYW5nZWRCeTogc3RyaW5nXHJcbiAgc3RhdHVzQ2hhbmdlZERhdGU6IHN0cmluZ1xyXG4gIGNsb3NlZEJ5OiBzdHJpbmdcclxuICBjbG9zZWREYXRlOiBzdHJpbmcgfCBudWxsXHJcbiAgZGF0ZVN0YXJ0OiBzdHJpbmdcclxuICBkZWFkbGluZTogc3RyaW5nXHJcbiAgc3RhcnREYXRlUGxhbjogc3RyaW5nXHJcbiAgZW5kRGF0ZVBsYW46IHN0cmluZ1xyXG4gIGZvcnVtVG9waWNJZDogc3RyaW5nXHJcbiAgZm9ydW1JZDogc3RyaW5nXHJcbiAgdmlld2VkRGF0ZTogc3RyaW5nXHJcbiAgc29ydGluZzogc3RyaW5nXHJcbiAgZHVyYXRpb25QbGFuOiBzdHJpbmdcclxuICBkZXNjcmlwdGlvbkluQmJjb2RlOiBpQlhSZXN0WWVzTm9cclxuICBhY2NvbXBsaWNlczogc3RyaW5nW11cclxuICBzdWJTdGF0dXM6IHN0cmluZ1xyXG4gIGFkZGl0aW9uYWxEYXRhOiBhbnlbXSAvLyBUT0RPOiDRgNCw0LfQvtCx0YDQsNGC0YzRgdGPINC/0L7Qt9C20LVcclxuICBjcmVhdG9yOiBpQlhSZXN0SHR0cFRhc2tQZW9wbGVcclxuICByZXNwb25zaWJsZTogaUJYUmVzdEh0dHBUYXNrUGVvcGxlXHJcbiAgYWNjb21wbGljZXNEYXRhOiBSZWNvcmQ8bnVtYmVyLCBpQlhSZXN0SHR0cFRhc2tQZW9wbGU+XHJcbiAgYWxsb3dUaW1lVHJhY2tpbmc6IGlCWFJlc3RZZXNObyxcclxuICB0YWdzOiBpQlhSZXN0VGFza0h0dHBUYWdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBpQlhSZXN0VGFza1RhZyB7XHJcbiAgaWQ6IG51bWJlcixcclxuICB0aXRsZTogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIGlCWFJlc3RUYXNrSHR0cFRhZyA9IFJlY29yZDxzdHJpbmcsIHtcclxuICAgIGlkOiBzdHJpbmcsXHJcbiAgICB0aXRsZTogc3RyaW5nXHJcbiAgfT47XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RIdHRwVGFza0dyb3VwSHR0cCB7XHJcbiAgaWQ6IHN0cmluZ1xyXG4gIG5hbWU6IHN0cmluZ1xyXG4gIG9wZW5lZDogYm9vbGVhblxyXG4gIG1lbWJlcnNDb3VudDogbnVtYmVyXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgaUJYUmVzdEJhc2VUYXNrIHtcclxuICB0aXRsZTogc3RyaW5nLFxyXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmcsXHJcbiAgbWFyazogc3RyaW5nLFxyXG4gIG5vdFZpZXdlZDogc3RyaW5nLFxyXG4gIHJlcGxpY2F0ZTogc3RyaW5nLFxyXG4gIGd1aWQ6IHN0cmluZyxcclxuICB4bWxJZDogc3RyaW5nLFxyXG4gIGNvbW1lbnRzQ291bnQ6IHN0cmluZyxcclxuICB0YXNrQ29udHJvbDogc3RyaW5nLFxyXG4gIGFkZEluUmVwb3J0OiBzdHJpbmcsXHJcbiAgZm9ya2VkQnlUZW1wbGF0ZUlkOiBzdHJpbmcsXHJcbiAgdGltZUVzdGltYXRlOiBzdHJpbmcsXHJcbiAgdGltZVNwZW50SW5Mb2dzOiBzdHJpbmcsXHJcbiAgbWF0Y2hXb3JrVGltZTogc3RyaW5nLFxyXG4gIHNpdGVJZDogc3RyaW5nLFxyXG4gIHN1Ym9yZGluYXRlOiBzdHJpbmcsXHJcbiAgZmF2b3JpdGU6IHN0cmluZyxcclxuICBleGNoYW5nZU1vZGlmaWVkOiBzdHJpbmcsXHJcbiAgZXhjaGFuZ2VJZDogc3RyaW5nLFxyXG4gIG91dGxvb2tWZXJzaW9uOiBzdHJpbmcsXHJcbiAgZHVyYXRpb25GYWN0OiBzdHJpbmcgfCBudWxsLFxyXG4gIGR1cmF0aW9uVHlwZTogc3RyaW5nLFxyXG4gIHVmQ3JtVGFzazogbnVtYmVyW10sXHJcbiAgdWZUYXNrV2ViZGF2RmlsZXM6IG51bWJlcltdLFxyXG4gIHVmTWFpbE1lc3NhZ2U6IHN0cmluZyxcclxuICBhdWRpdG9yczogbnVtYmVyW10sXHJcbiAgbmV3Q29tbWVudHNDb3VudDogbnVtYmVyXHJcbn1cclxuXHJcblxyXG4iXX0=
|
package/fesm2022/bx-rest.mjs
CHANGED
|
@@ -20,7 +20,7 @@ const DEFAULT_BX_REST_SETTINGS = {
|
|
|
20
20
|
}
|
|
21
21
|
};
|
|
22
22
|
const BXRestSettings = {
|
|
23
|
-
|
|
23
|
+
value: {
|
|
24
24
|
auth: {
|
|
25
25
|
source: 'cookies',
|
|
26
26
|
key: 'auth',
|
|
@@ -31,8 +31,20 @@ const BXRestSettings = {
|
|
|
31
31
|
additional_part: 'rest',
|
|
32
32
|
},
|
|
33
33
|
},
|
|
34
|
+
/**
|
|
35
|
+
* @deprecated Переименовано в `BXRestSettings.value` — имя `date` не
|
|
36
|
+
* отражало содержимое (настройки auth/urls, а не дату) и сбивало с толку
|
|
37
|
+
* в публичном API. Геттер/сеттер оставлен только для обратной совместимости
|
|
38
|
+
* с кодом, написанным против API до 1.0.
|
|
39
|
+
*/
|
|
40
|
+
get date() {
|
|
41
|
+
return this.value;
|
|
42
|
+
},
|
|
43
|
+
set date(newValue) {
|
|
44
|
+
this.value = newValue;
|
|
45
|
+
},
|
|
34
46
|
update(newSettings) {
|
|
35
|
-
this.
|
|
47
|
+
this.value = { ...this.value, ...newSettings };
|
|
36
48
|
},
|
|
37
49
|
};
|
|
38
50
|
|
|
@@ -515,13 +527,13 @@ class SessionKeyError extends Error {
|
|
|
515
527
|
}
|
|
516
528
|
class SessionKeyServices {
|
|
517
529
|
// Геттер, а не поле с одноразовым снимком: BXRestSettings.update() создаёт
|
|
518
|
-
// НОВЫЙ объект (this.
|
|
519
|
-
// поэтому `= BXRestSettings.
|
|
530
|
+
// НОВЫЙ объект (this.value = {...this.value, ...}), а не мутирует старый —
|
|
531
|
+
// поэтому `= BXRestSettings.value` в виде обычного поля навсегда
|
|
520
532
|
// "заморозил" бы то, что было на момент создания SessionKeyServices.
|
|
521
|
-
// Геттер вместо этого читает актуальный BXRestSettings.
|
|
533
|
+
// Геттер вместо этого читает актуальный BXRestSettings.value при каждом
|
|
522
534
|
// обращении.
|
|
523
535
|
get BX_REST_SETTINGS() {
|
|
524
|
-
return BXRestSettings.
|
|
536
|
+
return BXRestSettings.value;
|
|
525
537
|
}
|
|
526
538
|
constructor() {
|
|
527
539
|
this.authHave = false;
|
|
@@ -913,7 +925,7 @@ function serializeBitrixParams(params) {
|
|
|
913
925
|
|
|
914
926
|
class HttpBXServices extends HttpServices {
|
|
915
927
|
/**
|
|
916
|
-
*
|
|
928
|
+
* Не считайте этот метод образцом/финальным API.
|
|
917
929
|
* TODO: Удалить данный метод после реализации его в разделе Navvy
|
|
918
930
|
* @param param
|
|
919
931
|
*/
|
|
@@ -1012,6 +1024,32 @@ class HttpBXServices extends HttpServices {
|
|
|
1012
1024
|
}));
|
|
1013
1025
|
});
|
|
1014
1026
|
}
|
|
1027
|
+
httpGet(url, params = {}) {
|
|
1028
|
+
// Та же причина, что и у httpPost выше: откладываем чтение BXRestSettings
|
|
1029
|
+
// до подписки, чтобы `get()` вёл себя так же "лениво", как и `post()`
|
|
1030
|
+
// (симметрия, которой не было до этого — GET резолвил настройки в момент
|
|
1031
|
+
// вызова, а не в момент subscribe()).
|
|
1032
|
+
return defer(() => {
|
|
1033
|
+
const paramsClone = clone(params);
|
|
1034
|
+
const auth = this.session.getAuthParams();
|
|
1035
|
+
const checkIsOn = this.session.getCheckAuthParamsIsOn();
|
|
1036
|
+
if (checkIsOn) {
|
|
1037
|
+
if (!auth) {
|
|
1038
|
+
return throwError(() => this.session.getAuthError('get'));
|
|
1039
|
+
}
|
|
1040
|
+
paramsClone[this.session.getKeyAuth()] = auth;
|
|
1041
|
+
}
|
|
1042
|
+
return this.session.getBaseUrl().pipe(switchMap((baseUrl) => {
|
|
1043
|
+
if (!baseUrl) {
|
|
1044
|
+
return throwError(() => this.session.getBaseUrlError('get'));
|
|
1045
|
+
}
|
|
1046
|
+
const fullUrl = prepareBaseAddress(baseUrl) + url;
|
|
1047
|
+
const queryString = new URLSearchParams(paramsClone).toString();
|
|
1048
|
+
const finalUrl = `${fullUrl}?${queryString}`;
|
|
1049
|
+
return from(this.axiosInstance.get(finalUrl).then((response) => response.data));
|
|
1050
|
+
}));
|
|
1051
|
+
});
|
|
1052
|
+
}
|
|
1015
1053
|
serializeBitrixParams(params) {
|
|
1016
1054
|
return serializeBitrixParams(params);
|
|
1017
1055
|
}
|
|
@@ -1021,21 +1059,76 @@ class HttpBXServices extends HttpServices {
|
|
|
1021
1059
|
}
|
|
1022
1060
|
|
|
1023
1061
|
/**
|
|
1024
|
-
*
|
|
1025
|
-
* Bitrix REST call resolves as a Bitrix-level API error, e.g.
|
|
1026
|
-
* `INSUFFICIENT_SCOPE` or `expired_token`.
|
|
1062
|
+
* A Bitrix-level API error, e.g. `INSUFFICIENT_SCOPE` or `expired_token`.
|
|
1027
1063
|
*
|
|
1028
|
-
*
|
|
1029
|
-
*
|
|
1064
|
+
* `.res()` fails with it whenever the portal answers with a Bitrix error and
|
|
1065
|
+
* a non-2xx HTTP status — which is how Bitrix sends most of its errors. When
|
|
1066
|
+
* the error comes in the body of a 2xx response, `.res()` resolves as
|
|
1067
|
+
* `undefined` by default and fails with it only with
|
|
1068
|
+
* `{ throwOnApiError: true }` — see the "Error handling" section of the README.
|
|
1030
1069
|
*/
|
|
1031
1070
|
class BXRestApiError extends Error {
|
|
1032
|
-
constructor(error, error_description) {
|
|
1033
|
-
super(error_description || error || 'Bitrix API error');
|
|
1071
|
+
constructor(error, error_description, details) {
|
|
1072
|
+
super(error_description || error || 'Bitrix API error', details?.cause !== undefined ? { cause: details.cause } : undefined);
|
|
1034
1073
|
this.error = error;
|
|
1035
1074
|
this.error_description = error_description;
|
|
1036
1075
|
this.name = 'BXRestApiError';
|
|
1076
|
+
this.status = details?.status;
|
|
1077
|
+
this.method = details?.method;
|
|
1037
1078
|
}
|
|
1038
1079
|
}
|
|
1080
|
+
/**
|
|
1081
|
+
* Recognises a Bitrix error body: REST v2 `{ error, error_description }` and
|
|
1082
|
+
* REST v3 `{ error: { code, message } }`. Returns `undefined` for anything
|
|
1083
|
+
* else — a success payload, an HTML page from a proxy, an empty body.
|
|
1084
|
+
*
|
|
1085
|
+
* An empty `error` still counts: Bitrix answers e.g. `crm.deal.get` for a
|
|
1086
|
+
* missing ID with `{ error: '', error_description: 'Not found' }`.
|
|
1087
|
+
*/
|
|
1088
|
+
function parseBXRestErrorBody(body) {
|
|
1089
|
+
if (!body || typeof body !== 'object' || !('error' in body)) {
|
|
1090
|
+
return undefined;
|
|
1091
|
+
}
|
|
1092
|
+
const { error, error_description } = body;
|
|
1093
|
+
if (typeof error === 'string') {
|
|
1094
|
+
return {
|
|
1095
|
+
error,
|
|
1096
|
+
error_description: typeof error_description === 'string' ? error_description : undefined
|
|
1097
|
+
};
|
|
1098
|
+
}
|
|
1099
|
+
if (error && typeof error === 'object' && 'code' in error) {
|
|
1100
|
+
const { code, message } = error;
|
|
1101
|
+
return {
|
|
1102
|
+
error: String(code),
|
|
1103
|
+
error_description: typeof message === 'string' ? message : undefined
|
|
1104
|
+
};
|
|
1105
|
+
}
|
|
1106
|
+
return undefined;
|
|
1107
|
+
}
|
|
1108
|
+
/**
|
|
1109
|
+
* Turns an HTTP failure into a `BXRestApiError` when the portal answered with
|
|
1110
|
+
* a Bitrix error body. Bitrix sends most errors with a non-2xx status
|
|
1111
|
+
* (401 `expired_token`, 404 `ERROR_METHOD_NOT_FOUND`, 503
|
|
1112
|
+
* `QUERY_LIMIT_EXCEEDED`, 400 "Not found" from `crm.*.get`, ...), and axios
|
|
1113
|
+
* rejects on those.
|
|
1114
|
+
*
|
|
1115
|
+
* Returns `undefined` for network errors and for responses that are not a
|
|
1116
|
+
* Bitrix error body, so the caller can keep its own handling for them.
|
|
1117
|
+
*/
|
|
1118
|
+
function bxRestApiErrorFromHttp(err, method) {
|
|
1119
|
+
if (!axios.isAxiosError(err) || !err.response) {
|
|
1120
|
+
return undefined;
|
|
1121
|
+
}
|
|
1122
|
+
const parsed = parseBXRestErrorBody(err.response.data);
|
|
1123
|
+
if (!parsed) {
|
|
1124
|
+
return undefined;
|
|
1125
|
+
}
|
|
1126
|
+
return new BXRestApiError(parsed.error, parsed.error_description, {
|
|
1127
|
+
status: err.response.status,
|
|
1128
|
+
method,
|
|
1129
|
+
cause: err
|
|
1130
|
+
});
|
|
1131
|
+
}
|
|
1039
1132
|
|
|
1040
1133
|
class NavvyPagBase {
|
|
1041
1134
|
constructor(url, param, map = undefined, restApi = false) {
|
|
@@ -1066,9 +1159,11 @@ class NavvyPagBase {
|
|
|
1066
1159
|
: v));
|
|
1067
1160
|
}
|
|
1068
1161
|
mapAndError(request, options) {
|
|
1162
|
+
const method = this.http.getNameMethod(this.url);
|
|
1069
1163
|
return request.pipe(map(v => {
|
|
1070
1164
|
if (options?.throwOnApiError && v && !instanceOfiBXRestAnswerSuccess(v)) {
|
|
1071
|
-
|
|
1165
|
+
const parsed = parseBXRestErrorBody(v);
|
|
1166
|
+
throw new BXRestApiError(parsed ? parsed.error : v.error, parsed ? parsed.error_description : v.error_description, { method });
|
|
1072
1167
|
}
|
|
1073
1168
|
return BXRestMapResult(v);
|
|
1074
1169
|
}), catchError((err) => {
|
|
@@ -1076,6 +1171,13 @@ class NavvyPagBase {
|
|
|
1076
1171
|
if (err instanceof BXRestApiError) {
|
|
1077
1172
|
throw err;
|
|
1078
1173
|
}
|
|
1174
|
+
// Большинство ошибок Bitrix приходит со статусом не 2xx, и axios
|
|
1175
|
+
// отклоняет такой ответ — достаём из него код и описание ошибки,
|
|
1176
|
+
// а не отдаём безликое "AxiosError: Request failed with status code 400".
|
|
1177
|
+
const apiError = bxRestApiErrorFromHttp(err, method);
|
|
1178
|
+
if (apiError) {
|
|
1179
|
+
throw apiError;
|
|
1180
|
+
}
|
|
1079
1181
|
throw new Error((err.error) ? err.error : err);
|
|
1080
1182
|
}));
|
|
1081
1183
|
}
|