@datocms/rest-client-utils 0.1.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/LICENSE.md +21 -0
- package/README.md +1 -0
- package/dist/cjs/ApiError.js +138 -0
- package/dist/cjs/ApiError.js.map +1 -0
- package/dist/cjs/CancelablePromise.js +53 -0
- package/dist/cjs/CancelablePromise.js.map +1 -0
- package/dist/cjs/deserialize.js +57 -0
- package/dist/cjs/deserialize.js.map +1 -0
- package/dist/cjs/index.js +26 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/internalTypes.js +3 -0
- package/dist/cjs/internalTypes.js.map +1 -0
- package/dist/cjs/pollJobResult.js +75 -0
- package/dist/cjs/pollJobResult.js.map +1 -0
- package/dist/cjs/rawPageIterator.js +152 -0
- package/dist/cjs/rawPageIterator.js.map +1 -0
- package/dist/cjs/request.js +283 -0
- package/dist/cjs/request.js.map +1 -0
- package/dist/cjs/serialize.js +142 -0
- package/dist/cjs/serialize.js.map +1 -0
- package/dist/cjs/toId.js +8 -0
- package/dist/cjs/toId.js.map +1 -0
- package/dist/cjs/wait.js +10 -0
- package/dist/cjs/wait.js.map +1 -0
- package/dist/esm/ApiError.d.ts +34 -0
- package/dist/esm/ApiError.js +135 -0
- package/dist/esm/ApiError.js.map +1 -0
- package/dist/esm/CancelablePromise.d.ts +7 -0
- package/dist/esm/CancelablePromise.js +49 -0
- package/dist/esm/CancelablePromise.js.map +1 -0
- package/dist/esm/deserialize.d.ts +10 -0
- package/dist/esm/deserialize.js +52 -0
- package/dist/esm/deserialize.js.map +1 -0
- package/dist/esm/index.d.ts +9 -0
- package/dist/esm/index.js +11 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/internalTypes.d.ts +8 -0
- package/dist/esm/internalTypes.js +2 -0
- package/dist/esm/internalTypes.js.map +1 -0
- package/dist/esm/pollJobResult.d.ts +2 -0
- package/dist/esm/pollJobResult.js +71 -0
- package/dist/esm/pollJobResult.js.map +1 -0
- package/dist/esm/rawPageIterator.d.ts +19 -0
- package/dist/esm/rawPageIterator.js +148 -0
- package/dist/esm/rawPageIterator.js.map +1 -0
- package/dist/esm/request.d.ts +28 -0
- package/dist/esm/request.js +276 -0
- package/dist/esm/request.js.map +1 -0
- package/dist/esm/serialize.d.ts +22 -0
- package/dist/esm/serialize.js +138 -0
- package/dist/esm/serialize.js.map +1 -0
- package/dist/esm/toId.d.ts +3 -0
- package/dist/esm/toId.js +4 -0
- package/dist/esm/toId.js.map +1 -0
- package/dist/esm/wait.d.ts +1 -0
- package/dist/esm/wait.js +6 -0
- package/dist/esm/wait.js.map +1 -0
- package/dist/types/ApiError.d.ts +34 -0
- package/dist/types/CancelablePromise.d.ts +7 -0
- package/dist/types/deserialize.d.ts +10 -0
- package/dist/types/index.d.ts +9 -0
- package/dist/types/internalTypes.d.ts +8 -0
- package/dist/types/pollJobResult.d.ts +2 -0
- package/dist/types/rawPageIterator.d.ts +19 -0
- package/dist/types/request.d.ts +28 -0
- package/dist/types/serialize.d.ts +22 -0
- package/dist/types/toId.d.ts +3 -0
- package/dist/types/wait.d.ts +1 -0
- package/package.json +44 -0
- package/src/ApiError.ts +167 -0
- package/src/CancelablePromise.ts +41 -0
- package/src/deserialize.ts +52 -0
- package/src/index.ts +11 -0
- package/src/internalTypes.ts +8 -0
- package/src/pollJobResult.ts +24 -0
- package/src/rawPageIterator.ts +66 -0
- package/src/request.ts +279 -0
- package/src/serialize.ts +115 -0
- package/src/toId.ts +3 -0
- package/src/wait.ts +5 -0
package/LICENSE.md
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) [year] [fullname]
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# `@datocms/rest-client-utils`
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.ApiError = void 0;
|
|
19
|
+
function isErrorBody(body) {
|
|
20
|
+
if (typeof body !== 'object' || body === null || !('data' in body)) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
var bodyWithData = body;
|
|
24
|
+
if (!Array.isArray(bodyWithData.data)) {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
var bodyWithDataList = bodyWithData;
|
|
28
|
+
if (bodyWithDataList.data.length === 0) {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
var firstEl = bodyWithDataList.data[0];
|
|
32
|
+
if (typeof firstEl !== 'object' ||
|
|
33
|
+
firstEl === null ||
|
|
34
|
+
!('id' in firstEl) ||
|
|
35
|
+
!('type' in firstEl) ||
|
|
36
|
+
!('attributes' in firstEl) ||
|
|
37
|
+
firstEl.type !== 'api_error') {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
var humanMessageForCode = {
|
|
43
|
+
BATCH_DATA_VALIDATION_IN_PROGRESS: "The schema of this model changed, we're re-running validations over every record in background. Please retry with this operation in a few seconds!",
|
|
44
|
+
INSUFFICIENT_PERMISSIONS: "Your role does not permit this action",
|
|
45
|
+
MAINTENANCE_MODE: "The project is currently in maintenance mode!",
|
|
46
|
+
DELETE_RESTRICTION: "Sorry, but you cannot delete this resource, as it's currently used/referenced elsewhere!",
|
|
47
|
+
INVALID_CREDENTIALS: "Credentials are incorrect!",
|
|
48
|
+
INVALID_EMAIL: "Email address is incorrect!",
|
|
49
|
+
INVALID_FORMAT: "The format of the parameters passed is incorrect, take a look at the details of the error to know what's wrong!",
|
|
50
|
+
ITEM_LOCKED: "The operation cannot be completed as some other user is currently editing this record!",
|
|
51
|
+
LINKED_FROM_PUBLISHED_ITEMS: "Couldn't unpublish the record, as some published records are linked to it!",
|
|
52
|
+
PLAN_UPGRADE_REQUIRED: "Cannot proceed, please upgrade plan!",
|
|
53
|
+
PUBLISHED_CHILDREN: "Couldn't unpublish the record, some children records are still published!",
|
|
54
|
+
REQUIRED_2FA_SETUP: "This project requires every user to turn on 2-factor authentication! Please go to your Dashboard and activate it! (https://dashboard.datocms.com/account/setup-2fa)",
|
|
55
|
+
REQUIRED_BY_ASSOCIATION: "Cannot delete the record, as it's required by other records:",
|
|
56
|
+
STALE_ITEM_VERSION: "Someone else made a change while you were editing this record, please refresh the page!",
|
|
57
|
+
TITLE_ALREADY_PRESENT: "There can only be one Title field per model",
|
|
58
|
+
UNPUBLISHED_LINK: "Couldn't publish the record, as it links some unpublished records!",
|
|
59
|
+
UNPUBLISHED_PARENT: "Couldn't publish the record, as the parent record is not published!",
|
|
60
|
+
UPLOAD_IS_CURRENTLY_IN_USE: "Couldn't delete this asset, as it's currently used by some records!",
|
|
61
|
+
UPLOAD_NOT_PASSING_FIELD_VALIDATIONS: "Couldn't update this asset since some records are failing to pass the validations!",
|
|
62
|
+
};
|
|
63
|
+
var humanMessageForPlanUpgradeLimit = {
|
|
64
|
+
build_triggers: "You've reached the maximum number of build triggers your plan allows",
|
|
65
|
+
sandbox_environments: "You've reached the maximum number of environments your plan allows",
|
|
66
|
+
item_types: "You've reached the maximum number of models your plan allows to create",
|
|
67
|
+
items: "You've reached the maximum number of records your plan allows to create",
|
|
68
|
+
locales: "You've reached the maximum number of locales your plan allows",
|
|
69
|
+
mux_encoding_seconds: "You've reached the maximum video encoding limits of your plan",
|
|
70
|
+
otp: "Two-factor authentication cannot be on the current plan",
|
|
71
|
+
plugins: "You've reached the maximum number of plugins your plan allows",
|
|
72
|
+
roles: "You've reached the maximum number of roles your plan allows to create",
|
|
73
|
+
uploadable_bytes: "You've reached the file storage limits of your plan",
|
|
74
|
+
users: "You've reached the maximum number of collaborators your plan allows to invite to the project",
|
|
75
|
+
access_tokens: "You've reached the maximum number of API tokens your plan allows to create",
|
|
76
|
+
};
|
|
77
|
+
var ApiError = /** @class */ (function (_super) {
|
|
78
|
+
__extends(ApiError, _super);
|
|
79
|
+
function ApiError(initObject) {
|
|
80
|
+
var _newTarget = this.constructor;
|
|
81
|
+
var _this = _super.call(this, 'API Error!') || this;
|
|
82
|
+
Object.setPrototypeOf(_this, _newTarget.prototype);
|
|
83
|
+
if ('captureStackTrace' in Error) {
|
|
84
|
+
Error.captureStackTrace(_this, ApiError);
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
_this.stack = new Error().stack;
|
|
88
|
+
}
|
|
89
|
+
_this.request = initObject.request;
|
|
90
|
+
_this.response = initObject.response;
|
|
91
|
+
_this.preCallStack = initObject.preCallStack;
|
|
92
|
+
var message = "".concat(initObject.request.method, " ").concat(initObject.request.url, ": ").concat(_this.response.status, " ").concat(_this.response.statusText);
|
|
93
|
+
if (_this.errors.length > 0) {
|
|
94
|
+
message += "\n\n".concat(JSON.stringify(_this.errors, null, 2));
|
|
95
|
+
}
|
|
96
|
+
_this.message = message;
|
|
97
|
+
if (_this.preCallStack) {
|
|
98
|
+
_this.stack += "\nCaused By:\n".concat(_this.preCallStack);
|
|
99
|
+
}
|
|
100
|
+
return _this;
|
|
101
|
+
}
|
|
102
|
+
Object.defineProperty(ApiError.prototype, "errors", {
|
|
103
|
+
get: function () {
|
|
104
|
+
if (!isErrorBody(this.response.body)) {
|
|
105
|
+
return [];
|
|
106
|
+
}
|
|
107
|
+
return this.response.body.data;
|
|
108
|
+
},
|
|
109
|
+
enumerable: false,
|
|
110
|
+
configurable: true
|
|
111
|
+
});
|
|
112
|
+
ApiError.prototype.findErrorWithCode = function (codeOrCodes) {
|
|
113
|
+
var codes = Array.isArray(codeOrCodes) ? codeOrCodes : [codeOrCodes];
|
|
114
|
+
return this.errors.find(function (error) { return codes.includes(error.attributes.code); });
|
|
115
|
+
};
|
|
116
|
+
Object.defineProperty(ApiError.prototype, "humanMessage", {
|
|
117
|
+
get: function () {
|
|
118
|
+
var _this = this;
|
|
119
|
+
var planUpgradeError = this.findErrorWithCode('PLAN_UPGRADE_REQUIRED');
|
|
120
|
+
if (planUpgradeError) {
|
|
121
|
+
var limit = planUpgradeError.attributes.details.limit;
|
|
122
|
+
return "".concat(humanMessageForPlanUpgradeLimit[limit], ". Please head over to your account dashboard (https://dashboard.datocms.com/) to upgrade the plan or, if no publicly available plan suits your needs, contact our Sales team (https://www.datocms.com/contact) to get a custom quote!");
|
|
123
|
+
}
|
|
124
|
+
var errors = Object.keys(humanMessageForCode)
|
|
125
|
+
.filter(function (code) { return _this.findErrorWithCode(code); })
|
|
126
|
+
.map(function (code) { return humanMessageForCode[code]; });
|
|
127
|
+
if (errors.length === 0) {
|
|
128
|
+
return null;
|
|
129
|
+
}
|
|
130
|
+
return errors.join('\n');
|
|
131
|
+
},
|
|
132
|
+
enumerable: false,
|
|
133
|
+
configurable: true
|
|
134
|
+
});
|
|
135
|
+
return ApiError;
|
|
136
|
+
}(Error));
|
|
137
|
+
exports.ApiError = ApiError;
|
|
138
|
+
//# sourceMappingURL=ApiError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ApiError.js","sourceRoot":"","sources":["../../src/ApiError.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.makeCancelablePromise = exports.CanceledPromiseError = void 0;
|
|
19
|
+
var CanceledPromiseError = /** @class */ (function (_super) {
|
|
20
|
+
__extends(CanceledPromiseError, _super);
|
|
21
|
+
function CanceledPromiseError() {
|
|
22
|
+
var _newTarget = this.constructor;
|
|
23
|
+
var _this = _super.call(this, 'Promise canceled!') || this;
|
|
24
|
+
Object.setPrototypeOf(_this, _newTarget.prototype);
|
|
25
|
+
return _this;
|
|
26
|
+
}
|
|
27
|
+
return CanceledPromiseError;
|
|
28
|
+
}(Error));
|
|
29
|
+
exports.CanceledPromiseError = CanceledPromiseError;
|
|
30
|
+
function makeCancelablePromise(promiseOrAsyncFn, onCancel) {
|
|
31
|
+
var cancel = null;
|
|
32
|
+
var cancelable = new Promise(function (resolve, reject) {
|
|
33
|
+
cancel = function () {
|
|
34
|
+
try {
|
|
35
|
+
onCancel();
|
|
36
|
+
reject(new CanceledPromiseError());
|
|
37
|
+
}
|
|
38
|
+
catch (e) {
|
|
39
|
+
reject(e);
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
var promise = typeof promiseOrAsyncFn === 'function'
|
|
43
|
+
? promiseOrAsyncFn()
|
|
44
|
+
: promiseOrAsyncFn;
|
|
45
|
+
promise.then(resolve, reject);
|
|
46
|
+
});
|
|
47
|
+
if (cancel) {
|
|
48
|
+
cancelable.cancel = cancel;
|
|
49
|
+
}
|
|
50
|
+
return cancelable;
|
|
51
|
+
}
|
|
52
|
+
exports.makeCancelablePromise = makeCancelablePromise;
|
|
53
|
+
//# sourceMappingURL=CancelablePromise.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CancelablePromise.js","sourceRoot":"","sources":["../../src/CancelablePromise.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA;IAA0C,wCAAK;IAC7C;;QAAA,YACE,kBAAM,mBAAmB,CAAC,SAE3B;QADC,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,WAAW,SAAS,CAAC,CAAC;;IACpD,CAAC;IACH,2BAAC;AAAD,CAAC,AALD,CAA0C,KAAK,GAK9C;AALY,oDAAoB;AAWjC,SAAgB,qBAAqB,CACnC,gBAAiD,EACjD,QAAoB;IAEpB,IAAI,MAAM,GAAwB,IAAI,CAAC;IAEvC,IAAM,UAAU,GAAyB,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;QACnE,MAAM,GAAG;YACP,IAAI;gBACF,QAAQ,EAAE,CAAC;gBACX,MAAM,CAAC,IAAI,oBAAoB,EAAE,CAAC,CAAC;aACpC;YAAC,OAAO,CAAC,EAAE;gBACV,MAAM,CAAC,CAAC,CAAC,CAAC;aACX;QACH,CAAC,CAAC;QAEF,IAAM,OAAO,GACX,OAAO,gBAAgB,KAAK,UAAU;YACpC,CAAC,CAAC,gBAAgB,EAAE;YACpB,CAAC,CAAC,gBAAgB,CAAC;QAEvB,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,IAAI,MAAM,EAAE;QACV,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC;KAC5B;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AA7BD,sDA6BC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
14
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
15
|
+
if (!m) return o;
|
|
16
|
+
var i = m.call(o), r, ar = [], e;
|
|
17
|
+
try {
|
|
18
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
19
|
+
}
|
|
20
|
+
catch (error) { e = { error: error }; }
|
|
21
|
+
finally {
|
|
22
|
+
try {
|
|
23
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
24
|
+
}
|
|
25
|
+
finally { if (e) throw e.error; }
|
|
26
|
+
}
|
|
27
|
+
return ar;
|
|
28
|
+
};
|
|
29
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
+
exports.deserializeResponseBody = exports.deserializeJsonEntity = void 0;
|
|
31
|
+
function hasData(thing) {
|
|
32
|
+
return typeof thing === 'object' && !!thing && 'data' in thing;
|
|
33
|
+
}
|
|
34
|
+
function deserializeJsonEntity(_a) {
|
|
35
|
+
var id = _a.id, type = _a.type, attributes = _a.attributes, relationships = _a.relationships, meta = _a.meta;
|
|
36
|
+
return __assign(__assign(__assign(__assign(__assign({}, (id ? { id: id } : {})), (type ? { type: type } : {})), (attributes || {})), (relationships
|
|
37
|
+
? Object.fromEntries(Object.entries(relationships).map(function (_a) {
|
|
38
|
+
var _b = __read(_a, 2), rel = _b[0], value = _b[1];
|
|
39
|
+
return [
|
|
40
|
+
rel,
|
|
41
|
+
value === null || value === void 0 ? void 0 : value.data,
|
|
42
|
+
];
|
|
43
|
+
}))
|
|
44
|
+
: {})), (meta ? { meta: meta } : {}));
|
|
45
|
+
}
|
|
46
|
+
exports.deserializeJsonEntity = deserializeJsonEntity;
|
|
47
|
+
function deserializeResponseBody(body) {
|
|
48
|
+
if (!hasData(body)) {
|
|
49
|
+
throw new Error('Invalid body!');
|
|
50
|
+
}
|
|
51
|
+
if (Array.isArray(body.data)) {
|
|
52
|
+
return body.data.map(deserializeJsonEntity);
|
|
53
|
+
}
|
|
54
|
+
return deserializeJsonEntity(body.data);
|
|
55
|
+
}
|
|
56
|
+
exports.deserializeResponseBody = deserializeResponseBody;
|
|
57
|
+
//# sourceMappingURL=deserialize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deserialize.js","sourceRoot":"","sources":["../../src/deserialize.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,SAAS,OAAO,CAAC,KAAc;IAC7B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,IAAI,MAAM,IAAI,KAAK,CAAC;AACjE,CAAC;AAED,SAAgB,qBAAqB,CAAI,EAMzB;QALd,EAAE,QAAA,EACF,IAAI,UAAA,EACJ,UAAU,gBAAA,EACV,aAAa,mBAAA,EACb,IAAI,UAAA;IAEJ,OAAO,iDACF,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,IAAA,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAClB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,MAAA,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GACtB,CAAC,UAAU,IAAI,EAAE,CAAC,GAClB,CAAC,aAAa;QACf,CAAC,CAAC,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,UAAC,EAAY;gBAAZ,KAAA,aAAY,EAAX,GAAG,QAAA,EAAE,KAAK,QAAA;YAAM,OAAA;gBAClD,GAAG;gBACH,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI;aACZ;QAHmD,CAGnD,CAAC,CACH;QACH,CAAC,CAAC,EAAE,CAAC,GACJ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,MAAA,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACrB,CAAC;AACT,CAAC;AArBD,sDAqBC;AAED,SAAgB,uBAAuB,CAAI,IAAa;IACtD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAClB,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;KAClC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAiB,CAAC;KAC7D;IAED,OAAO,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAiB,CAAC;AAC1D,CAAC;AAVD,0DAUC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./ApiError"), exports);
|
|
18
|
+
__exportStar(require("./deserialize"), exports);
|
|
19
|
+
__exportStar(require("./pollJobResult"), exports);
|
|
20
|
+
__exportStar(require("./rawPageIterator"), exports);
|
|
21
|
+
__exportStar(require("./request"), exports);
|
|
22
|
+
__exportStar(require("./serialize"), exports);
|
|
23
|
+
__exportStar(require("./CancelablePromise"), exports);
|
|
24
|
+
__exportStar(require("./toId"), exports);
|
|
25
|
+
__exportStar(require("./wait"), exports);
|
|
26
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;AAEb,6CAA2B;AAC3B,gDAA8B;AAC9B,kDAAgC;AAChC,oDAAkC;AAClC,4CAA0B;AAC1B,8CAA4B;AAC5B,sDAAoC;AACpC,yCAAuB;AACvB,yCAAuB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internalTypes.js","sourceRoot":"","sources":["../../src/internalTypes.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (_) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.pollJobResult = void 0;
|
|
40
|
+
var ApiError_1 = require("./ApiError");
|
|
41
|
+
var wait_1 = require("./wait");
|
|
42
|
+
function pollJobResult(fetcher) {
|
|
43
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
44
|
+
var jobResult, retryCount, e_1;
|
|
45
|
+
return __generator(this, function (_a) {
|
|
46
|
+
switch (_a.label) {
|
|
47
|
+
case 0:
|
|
48
|
+
retryCount = 0;
|
|
49
|
+
_a.label = 1;
|
|
50
|
+
case 1:
|
|
51
|
+
_a.trys.push([1, 4, , 5]);
|
|
52
|
+
retryCount += 1;
|
|
53
|
+
return [4 /*yield*/, (0, wait_1.wait)(retryCount * 1000)];
|
|
54
|
+
case 2:
|
|
55
|
+
_a.sent();
|
|
56
|
+
return [4 /*yield*/, fetcher()];
|
|
57
|
+
case 3:
|
|
58
|
+
jobResult = _a.sent();
|
|
59
|
+
return [3 /*break*/, 5];
|
|
60
|
+
case 4:
|
|
61
|
+
e_1 = _a.sent();
|
|
62
|
+
if (!(e_1 instanceof ApiError_1.ApiError) || e_1.response.status !== 404) {
|
|
63
|
+
throw e_1;
|
|
64
|
+
}
|
|
65
|
+
return [3 /*break*/, 5];
|
|
66
|
+
case 5:
|
|
67
|
+
if (!jobResult) return [3 /*break*/, 1];
|
|
68
|
+
_a.label = 6;
|
|
69
|
+
case 6: return [2 /*return*/, jobResult];
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
exports.pollJobResult = pollJobResult;
|
|
75
|
+
//# sourceMappingURL=pollJobResult.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pollJobResult.js","sourceRoot":"","sources":["../../src/pollJobResult.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAsC;AAEtC,+BAA8B;AAE9B,SAAsB,aAAa,CACjC,OAAiC;;;;;;oBAG7B,UAAU,GAAG,CAAC,CAAC;;;;oBAIf,UAAU,IAAI,CAAC,CAAC;oBAChB,qBAAM,IAAA,WAAI,EAAC,UAAU,GAAG,IAAI,CAAC,EAAA;;oBAA7B,SAA6B,CAAC;oBAClB,qBAAM,OAAO,EAAE,EAAA;;oBAA3B,SAAS,GAAG,SAAe,CAAC;;;;oBAE5B,IAAI,CAAC,CAAC,GAAC,YAAY,mBAAQ,CAAC,IAAI,GAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;wBACzD,MAAM,GAAC,CAAC;qBACT;;;wBAEI,CAAC,SAAS;;wBAEnB,sBAAO,SAAS,EAAC;;;;CAClB;AAnBD,sCAmBC"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
3
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
4
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
5
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
6
|
+
function step(op) {
|
|
7
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
8
|
+
while (_) try {
|
|
9
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
10
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
11
|
+
switch (op[0]) {
|
|
12
|
+
case 0: case 1: t = op; break;
|
|
13
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
14
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
15
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
16
|
+
default:
|
|
17
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
18
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
19
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
20
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
21
|
+
if (t[2]) _.ops.pop();
|
|
22
|
+
_.trys.pop(); continue;
|
|
23
|
+
}
|
|
24
|
+
op = body.call(thisArg, _);
|
|
25
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
26
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
|
|
30
|
+
var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
|
|
31
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
32
|
+
var g = generator.apply(thisArg, _arguments || []), i, q = [];
|
|
33
|
+
return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
|
|
34
|
+
function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
|
|
35
|
+
function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
|
|
36
|
+
function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
|
|
37
|
+
function fulfill(value) { resume("next", value); }
|
|
38
|
+
function reject(value) { resume("throw", value); }
|
|
39
|
+
function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
|
|
40
|
+
};
|
|
41
|
+
var __values = (this && this.__values) || function(o) {
|
|
42
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
43
|
+
if (m) return m.call(o);
|
|
44
|
+
if (o && typeof o.length === "number") return {
|
|
45
|
+
next: function () {
|
|
46
|
+
if (o && i >= o.length) o = void 0;
|
|
47
|
+
return { value: o && o[i++], done: !o };
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
51
|
+
};
|
|
52
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
53
|
+
exports.rawPageIterator = void 0;
|
|
54
|
+
var async_scheduler_1 = require("async-scheduler");
|
|
55
|
+
function rawPageIterator(pagination, callPerformer, iteratorOptions) {
|
|
56
|
+
return __asyncGenerator(this, arguments, function rawPageIterator_1() {
|
|
57
|
+
var perPage, concurrency, firstResponse, _a, _b, item, e_1_1, totalCount, limiter, promises, _loop_1, offset, response, _c, _d, item, e_2_1;
|
|
58
|
+
var e_1, _e, e_2, _f;
|
|
59
|
+
return __generator(this, function (_g) {
|
|
60
|
+
switch (_g.label) {
|
|
61
|
+
case 0:
|
|
62
|
+
perPage = (iteratorOptions === null || iteratorOptions === void 0 ? void 0 : iteratorOptions.perPage) || pagination.defaultLimit;
|
|
63
|
+
if (perPage > pagination.maxLimit) {
|
|
64
|
+
throw new Error("perPage option cannot exceed maximum value of ".concat(pagination.maxLimit));
|
|
65
|
+
}
|
|
66
|
+
concurrency = (iteratorOptions === null || iteratorOptions === void 0 ? void 0 : iteratorOptions.concurrency) || 1;
|
|
67
|
+
if (concurrency > 10) {
|
|
68
|
+
throw new Error("concurrency option cannot exceed maximum value of 10");
|
|
69
|
+
}
|
|
70
|
+
return [4 /*yield*/, __await(callPerformer({ limit: perPage, offset: 0 }))];
|
|
71
|
+
case 1:
|
|
72
|
+
firstResponse = _g.sent();
|
|
73
|
+
_g.label = 2;
|
|
74
|
+
case 2:
|
|
75
|
+
_g.trys.push([2, 8, 9, 10]);
|
|
76
|
+
_a = __values(firstResponse.data), _b = _a.next();
|
|
77
|
+
_g.label = 3;
|
|
78
|
+
case 3:
|
|
79
|
+
if (!!_b.done) return [3 /*break*/, 7];
|
|
80
|
+
item = _b.value;
|
|
81
|
+
return [4 /*yield*/, __await(item)];
|
|
82
|
+
case 4: return [4 /*yield*/, _g.sent()];
|
|
83
|
+
case 5:
|
|
84
|
+
_g.sent();
|
|
85
|
+
_g.label = 6;
|
|
86
|
+
case 6:
|
|
87
|
+
_b = _a.next();
|
|
88
|
+
return [3 /*break*/, 3];
|
|
89
|
+
case 7: return [3 /*break*/, 10];
|
|
90
|
+
case 8:
|
|
91
|
+
e_1_1 = _g.sent();
|
|
92
|
+
e_1 = { error: e_1_1 };
|
|
93
|
+
return [3 /*break*/, 10];
|
|
94
|
+
case 9:
|
|
95
|
+
try {
|
|
96
|
+
if (_b && !_b.done && (_e = _a.return)) _e.call(_a);
|
|
97
|
+
}
|
|
98
|
+
finally { if (e_1) throw e_1.error; }
|
|
99
|
+
return [7 /*endfinally*/];
|
|
100
|
+
case 10:
|
|
101
|
+
totalCount = firstResponse.meta.total_count;
|
|
102
|
+
limiter = new async_scheduler_1.Scheduler(concurrency);
|
|
103
|
+
promises = [];
|
|
104
|
+
_loop_1 = function (offset) {
|
|
105
|
+
promises.push(limiter.enqueue(function () {
|
|
106
|
+
return callPerformer({ limit: perPage, offset: offset });
|
|
107
|
+
}));
|
|
108
|
+
};
|
|
109
|
+
for (offset = perPage; offset < totalCount; offset += perPage) {
|
|
110
|
+
_loop_1(offset);
|
|
111
|
+
}
|
|
112
|
+
_g.label = 11;
|
|
113
|
+
case 11:
|
|
114
|
+
if (!(promises.length > 0)) return [3 /*break*/, 22];
|
|
115
|
+
return [4 /*yield*/, __await(promises.shift())];
|
|
116
|
+
case 12:
|
|
117
|
+
response = _g.sent();
|
|
118
|
+
_g.label = 13;
|
|
119
|
+
case 13:
|
|
120
|
+
_g.trys.push([13, 19, 20, 21]);
|
|
121
|
+
_c = (e_2 = void 0, __values(response.data)), _d = _c.next();
|
|
122
|
+
_g.label = 14;
|
|
123
|
+
case 14:
|
|
124
|
+
if (!!_d.done) return [3 /*break*/, 18];
|
|
125
|
+
item = _d.value;
|
|
126
|
+
return [4 /*yield*/, __await(item)];
|
|
127
|
+
case 15: return [4 /*yield*/, _g.sent()];
|
|
128
|
+
case 16:
|
|
129
|
+
_g.sent();
|
|
130
|
+
_g.label = 17;
|
|
131
|
+
case 17:
|
|
132
|
+
_d = _c.next();
|
|
133
|
+
return [3 /*break*/, 14];
|
|
134
|
+
case 18: return [3 /*break*/, 21];
|
|
135
|
+
case 19:
|
|
136
|
+
e_2_1 = _g.sent();
|
|
137
|
+
e_2 = { error: e_2_1 };
|
|
138
|
+
return [3 /*break*/, 21];
|
|
139
|
+
case 20:
|
|
140
|
+
try {
|
|
141
|
+
if (_d && !_d.done && (_f = _c.return)) _f.call(_c);
|
|
142
|
+
}
|
|
143
|
+
finally { if (e_2) throw e_2.error; }
|
|
144
|
+
return [7 /*endfinally*/];
|
|
145
|
+
case 21: return [3 /*break*/, 11];
|
|
146
|
+
case 22: return [2 /*return*/];
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
exports.rawPageIterator = rawPageIterator;
|
|
152
|
+
//# sourceMappingURL=rawPageIterator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rawPageIterator.js","sourceRoot":"","sources":["../../src/rawPageIterator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAA4C;AAiB5C,SAAuB,eAAe,CACpC,UAA6B,EAC7B,aAG6B,EAC7B,eAAiC;;;;;;;oBAE3B,OAAO,GAAG,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,OAAO,KAAI,UAAU,CAAC,YAAY,CAAC;oBAEpE,IAAI,OAAO,GAAG,UAAU,CAAC,QAAQ,EAAE;wBACjC,MAAM,IAAI,KAAK,CACb,wDAAiD,UAAU,CAAC,QAAQ,CAAE,CACvE,CAAC;qBACH;oBAEK,WAAW,GAAG,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,WAAW,KAAI,CAAC,CAAC;oBAEtD,IAAI,WAAW,GAAG,EAAE,EAAE;wBACpB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;qBACzE;oBAEqB,6BAAM,aAAa,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,GAAA;;oBAAlE,aAAa,GAAG,SAAkD;;;;oBAErD,KAAA,SAAA,aAAa,CAAC,IAAI,CAAA;;;;oBAA1B,IAAI;iDACP,IAAI;wBAAV,gCAAU;;oBAAV,SAAU,CAAC;;;;;;;;;;;;;;;;;oBAGP,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC;oBAE5C,OAAO,GAAG,IAAI,2BAAS,CAAC,WAAW,CAAC,CAAC;oBACrC,QAAQ,GAA8B,EAAE,CAAC;wCAEtC,MAAM;wBACb,QAAQ,CAAC,IAAI,CACX,OAAO,CAAC,OAAO,CAAuB;4BACpC,OAAA,aAAa,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,QAAA,EAAE,CAAC;wBAAzC,CAAyC,CAC1C,CACF,CAAC;;oBALJ,KAAS,MAAM,GAAG,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE,MAAM,IAAI,OAAO;gCAAxD,MAAM;qBAMd;;;yBAEM,CAAA,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAA;oBAEP,6BAAM,QAAQ,CAAC,KAAK,EAAG,GAAA;;oBAAlC,QAAQ,GAAG,SAAuB;;;;oBACrB,oBAAA,SAAA,QAAQ,CAAC,IAAI,CAAA,CAAA;;;;oBAArB,IAAI;iDACP,IAAI;yBAAV,gCAAU;;oBAAV,SAAU,CAAC;;;;;;;;;;;;;;;;;;;;;CAGhB;AAhDD,0CAgDC"}
|